- 12V Akku mit 280 Ah bauen         
Ergebnis 1 bis 7 von 7

Thema: Nachlauf bei NEMA-Schrittmotor

  1. #1
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    18.03.2018
    Beiträge
    2.650

    Nachlauf bei NEMA-Schrittmotor

    Anzeige

    Praxistest und DIY Projekte
    in Blog verschoben.
    Geändert von Moppi (14.12.2020 um 15:50 Uhr)

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von Rabenauge
    Registriert seit
    13.10.2007
    Ort
    Osterzgebirge
    Alter
    55
    Beiträge
    2.207
    Das ein Schrittmotor das von dir beschriebene Verhalten hat, kann ich mir nicht vorstellen.
    Wenn mein 3D-Drucker sich nicht rühren soll, dann rührt sich da auch nix.

    Ich tippe eher auf etwas ähnliches wie ein Prell-Problem der Lichtschranke.
    Beispielsweise, weil die Enoderscheibe etwas Spiel auf der Achse hat, oder aber es keinen klar abgegrenzten Bereich (hell oder dunkel) gibt.
    Versuch mal den Motor im Stillstand zu halten (Treiber auf Stop, damit der Motor auch wirklich hält) und dann wackle mal an der Encoderscheibe.
    Das hatte ich selbst auch schonmal-deutlich mehr Signale, als es hätten sein dürfen.
    Das kann auch durch ungünstige Reflexionen kommen.
    Grüssle, Sly
    ..dem Inschenör ist nix zu schwör..

  3. #3
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    18.03.2018
    Beiträge
    2.650
    Ja das stimmt wohl. Daran hatte ich auch gedacht. Allerdings fiel mir nichts ein, wie man das kompensieren könnte. Außer per Software. Da war ich mir nicht sicher, ob ich das damit verschlimmbessere. Das ist aber etwas, was ich zumindest noch einbauen kann. Dann müsste ich nicht direkt auf eine Änderung am Eingang reagieren, sondern warten, bis mindestens zwei aufeinanderfolgende Zustände identisch sind.

    Das könnte schnell gemacht sein. Danke deshalb für Deine Rückmeldung!

    Gruß
    Geändert von Moppi (14.12.2020 um 16:08 Uhr)

  4. #4
    Erfahrener Benutzer Robotik Einstein Avatar von Rabenauge
    Registriert seit
    13.10.2007
    Ort
    Osterzgebirge
    Alter
    55
    Beiträge
    2.207
    Das kannst du ziemlich weit treiben: entprellen wäre die eine Sache (halt so lange alles ignorieren wie "kann ja gar nich sein").
    Wenn du deine Drehzahlen kennst, kannst du ja ungefähr (eigentlich sogar ziemlich genau) ausrechnen, wie lange ein gültiger Impuls mindestens dauern muss.
    Dann kannst du ausserdem noch ein Sieb basteln, wo du "kann nich sein, weil sich gar nichts dreht" berücksichtigst.
    Grüssle, Sly
    ..dem Inschenör ist nix zu schwör..

  5. #5
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    18.03.2018
    Beiträge
    2.650
    Ich hatte die Abfrage der Lichtschranke so eingebunden, dass ein Wechsel nur erkannt wird, wenn der Motor einen Schritt gemacht hat. Dadurch war das eigentlich quasi entprellt
    Bloß dieser Nachlauf des Motors, so wie ich das wahrgenommen habe, war keiner. Aber deswegen, um das herauszufinden, habe ich den Code zur Lichtschranke so eingebaut, dass der die immer abfragt und auf einen Wechsel reagiert. Ich habe da nicht mehr an evtl. "Wackeln" gedacht und infolge jetzt dann auch diesen "Nachlauf" falsch bestätigt bekommen. Diese Wechsel ins Negative, die ich jetzt feststellen kann, sind dann da gewesen. Das heißt aber, dass eben genau das passiert, was Du gedacht hast. Bloß ich habe nicht mehr dran gedacht. Das sehe ich jetzt. Zwei Abfragen hintereinander genügen, ist alles stabil. Jetzt geht nichts mehr ins Minus, also kein Nachlauf am Motor. Das was, gerade bei Kurvenfahrten, wie ein Nachlauf aussieht, hat offenbar einen anderen Grund. Nämlich dreht sich ein Motor rückwärts und einer vorwärts. Das Phänomen dabei ist, wenn das Chassis das Stützrad nicht zieht, sondern schiebt, dies mit mehr Kraftaufwand verbunden ist. Wie habe ich das raus gefunden: Ich habe da einen Timeout, wann eine 100stel Umdrehung geschafft sein muss. Beim Fahren in Richtung Stützrad hat der oft gegriffen und dann blieben die Motoren stehen. Ich habe den Timeout rauf gesetzt, dann fährt er auch in Richtung Stützrad einwandfrei. Aber was bedeutet das für diesen "Nachlauf" eines Motors? Je nach Richtung ist das mal der eine Motor und dann der andere? Und warum hat der Motor, der schneller Richtung Fahrtrichtung läuft, weniger Schritte benötigt, als der andere Motor? - Weil der andere Motor rückwärts dreht (Richtung Stützrad) und damit offenbar gegen einen größeren Widerstand. Somit hat der Motor, der langsamer vorwärts kommt, für dieselbe Strecke, mehr Schritte benötigt, als der andere, der einfacher (leichter) vorwärts kommt. Damit ist der schnellere (auch mit weniger Schritten) eher am Zielpunkt und das Chassis verdreht sich, ist also nach einer 180°-Wende etwas über die 180° drüber raus. - Das ist bis jetzt meine schlüssigste Erklärung.

    Ja, das musste ich erst mal verstehen, da habe ich viel ausprobiert und beobachtet. Glück hatte ich nun, weil ich aus allen verfügbaren Daten mir mal das eine und dann das andere beim Fahren raus ziehen konnte. Mal die Zähler für die 100stel, mal die Zähler für die Einzelschritte der Stepper, mal beides zusammen. Auch die berechneten Schritte für ein 100stel usw. Wie ich es gerade brauchte. Wenngleich man schon an so viele Dinge denkt, wenn man ein Programm schreibt, denkt man doch nicht immer an alles. Zumal, wenn das Neuland ist. So lernt man immer was dazu. Beim nächsten Mal weiß man, worauf es an kommt.


    MfG
    Geändert von Moppi (14.12.2020 um 23:22 Uhr)

  6. #6
    Erfahrener Benutzer Robotik Einstein Avatar von Rabenauge
    Registriert seit
    13.10.2007
    Ort
    Osterzgebirge
    Alter
    55
    Beiträge
    2.207
    Ich frag mich gerade, ob du es dir nicht selbst unnötig kompliziert machst....

    Du hast Stepper- du _weisst_ also, wie weit die gedreht werden (du gibst ihnen doch die Schritte vor)....warum also überhaupt noch ne Lichtschranke?
    Wenn die Stepper ausreichend dimensioniert sind (die drehen das, was ihnen aufgetragen wird, auch sicher, ohne Schrittverluste) brauchst du das doch gar nicht?
    Grüssle, Sly
    ..dem Inschenör ist nix zu schwör..

  7. #7
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    18.03.2018
    Beiträge
    2.650
    Guten Morgen!

    Ich habe jetzt gestern noch mal geschaut, wie weit die einzelnen Räder drehen, wann welches Rad stehen bleibt. Ich hatte auch die Radabstände sehr genau genau vermessen, jedenfalls gebe ich mir größte Mühe, wenn ich so was messe. Ich meine auf einen Millimeter kommt es ja dabei auch nicht unbedingt an, auf einen Halben bestimmt nicht - weil am Ende der Rechnung steht ein Vielfaches eines 100stel des Radumfangs, das sind ~2,5 mm? Ich hatte schon immer mit den Radgrößen experimentiert, bin damit aber zu keinem Ergebnis gelangt. Na ja, ich habe mir dann noch mal den Radabstand vorgenommen. Ich weiß nicht genau, wo der Auflagepunkt am Rad genau ist: innen, außen oder mittig? Kurzerhand habe ich dann jetzt den Radabstand in Millimeterschritten verkürzt, um zu sehen, welche Auswirkung das nun hat. Ich hätte nicht gedacht, dass es überhaupt eine hat, hat es aber. Am Ende kam ich bei 121 mm Abstand zur Mitte raus. Gemessen und eingestellt hatte ich mal 123 mm. Mit diesem Abstand wird die Strecke bei der Drehung berechnet. Und tatsächlich: fast einhundertprozentig 180° getroffen, bei einer Kehrtwende. Die Abweichung liegt jetzt noch beim einem halben Millimeter etwa, wenn man es ganz genau nimmt. Nach ein paar Runden fährt das Chassis aber nun praktisch immer noch gerade und verzieht nicht mehr so deutlich.

    Wenn die Stepper ausreichend dimensioniert sind (die drehen das, was ihnen aufgetragen wird, auch sicher, ohne Schrittverluste) brauchst du das doch gar nicht?
    Anfangs hatte ich normale DC-Motoren. Dann habe ich Schrittmotoren genommen, weil die besser kontrollierbar sind, in vielerlei Hinsicht. Aber die Steuerung des Chassis sollte möglichst identisch bleiben. Also unabhängig davon ob ich einen Schrittmotor einsetze oder nicht. Somit kann ich später den Schrittmotorantrieb durch Motoren mit Getriebe ersetzen. Theoretisch sollte ein Schrittmotor keine Schrittverluste haben, auftreten kann es aber. Mit den Lichtschranken stelle ich die Bewegung fest, also auch, ob sich ein Rad überhaupt dreht. Und um keine Annahme treffen zu müssen, welche Strecke ein Rad zurückgelegt hat, kann ich das damit auch messen.
    Die Größe des Motors, und damit das Gewicht, spielt eine Rolle. Daher stelle ich nicht die Frage, ob der Motor so viel Drehmoment aufbringt, dass er aus dem Stand ein Gewicht von (hier bspw.) 5kg in wenigen Millisekunden oder gar nur Mikrosekunden von 0 auf 100% beschleunigen kann. Sondern ich stelle die Frage, ob der Motor bei kontinuierlichem Schrittantrieb die Kraft aufbringt, diese 5kg überhaupt anzuschieben und verlässlich zu bewegen. Allerdings benötigt der Motor dann u.U. mehr Schritte pro gefahrene Teilstrecke.
    Geändert von Moppi (16.12.2020 um 14:55 Uhr)

Ähnliche Themen

  1. Nema 17 an L283d
    Von Ralph Eckardt im Forum Elektronik
    Antworten: 27
    Letzter Beitrag: 15.03.2020, 19:15
  2. Arduino soll Schrittmotor NEMA 17 ansteuern; Driver: DRV8825
    Von VolkerPI im Forum Arduino -Plattform
    Antworten: 31
    Letzter Beitrag: 02.12.2018, 13:36
  3. Antworten: 2
    Letzter Beitrag: 03.04.2016, 22:01
  4. [ERLEDIGT] Arduino Uno und GRBL Nema 17 Schrittmotor ansteuern
    Von Sigma1990 im Forum Motoren
    Antworten: 2
    Letzter Beitrag: 12.01.2016, 15:01
  5. Antworten: 6
    Letzter Beitrag: 06.01.2013, 16:41

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Labornetzteil AliExpress