Welche Fehler bei Schrittmotor-Ansteuerung?

OP #7845891
Lesenswert?

Hallo Forum, für ein kleines Zwischenprojekt habe ich mich ausnahmsweise mal mit Schrittmotoren auseinandergesetzt. Es war ein Experiment, insofern ist es nicht weiter tragisch, wenn es nicht funktioniert. Das Ergebnis ist jetzt allerdings doch etwas überraschend und enttäuschend. Als Treiber muss ein L298N herhalten Der Motor ist ein 17 HS 4401 Die Ansteuerung übernimmt ein Arduino micro. Im ersten Anlauf habe ich für die Ansteuerung auf dem Arduino ein simples 4-bit Lauflicht programmiert. Das war langsam, stockte allenthalben und der Motor war kraftlos. Punkt eins und zwei hatte ich erwartet. Gerade als ich mich hinsetzen wollte, um das Timing über Interrupts zu steuern, stieß ich durch Zufall auf die Stepper.h für Arduino. Das Timing der Schritte ist in jedem Fall besser als vorher. Die maximale Geschwindigkeit von 60 U/min ist sehr mager. Der Stromverbrauch ist monströs. Der Kühlkörper am L298 ist am Limit. Und der Motor hat das Drehmoment eines durchschnittlichen Sekundenzeigers einer Armbanduhr. Außerdem sind immer zwei Ausgänge des Adruino gleichzeitig aktiv. Das passt mit meinem bisherigen Verständnis von der Funktion von Schrittmotoren nicht überein. Das die Stepper.h schlecht ist, scheint mir unwahrscheinlich. Die fehlende Kraft im Motor habe ich vermutlich der Wärmeentwicklung am Treiber zu verdanken. Aber wo genau sind die Fehler?

(Firma: Hobbytheoretiker) #7845918
Lesenswert?

Tex A. schrieb:

Aber wo genau sind die Fehler?

Die freche Antwort wäre: Sitzen vor der Tastatur! Die ehrliche Antwort wäre: Das weiß ich nicht.

Viele andere ohne den Schaltplan haben auch nur die Prosa zum rätseln. Gar nicht so selten helfen Bilder des Aufbaus weiter.

Tex A. schrieb:

Außerdem sind immer zwei Ausgänge des Adruino gleichzeitig aktiv. Das passt mit meinem bisherigen Verständnis von der Funktion von Schrittmotoren nicht überein.

Hier steht beschrieben, wie die Ausgänge des L298 reagieren: https://www.strippenstrolch.de/1-2-9-motortreiber-298.html

Daher stellt sich die Frage, ob die EN-Eingänge (Freigabe) auch verwendet werden? Es gab schon öfters im Forum Threads, wo etwas weggelassen wurde und daher nicht richtig funktionierte.

#7845928
Lesenswert?

Tex A. schrieb:

Als Treiber muss ein L298N herhalten

Fehler 1. Uralt. Ohne L297 keine Stromregelung. Kein Mikroschrittbetrieb. Umschaltung Vollschritt zu Halbschritt muss je nach Geschwindigkeit und Resonanz der uC machen.

Der Motor ist ein 17 HS 4401 D

Fehler 2. 40Ncm, was erwartest du da für ein Drehmoment, hoher Wicklungswiderstand, hohe Induktivität was erwartest du da für ein Tempo, 5.7V hoher Spannungsbedarf.

1.5Arms Nennstrom mit einem Treiber der keine Stronregelung beherrscht und nur 2A Spitzenstrom kann.

Tex A. schrieb:

simples 4-bit Lauflicht programmiert.

Fehler 3. Nur Wave-Betrieb.

Tex A. schrieb:

Aber wo genau sind die Fehler

Du kaufst zielgenau das allerbilligszr und bist nicht bereit, dich mit den Grundlagen dessen auseinanderzusetzen.

https://dse-faq.elektronik-kompendium.de/dse-faq.htm#F.10

Besorge dir einen Treiber mit Mikroschritt und Stromregelung mit mindestens 3A wie TB6600 für deine Motoren, besser gleich andere Motoren mit geringerem Strangwiderstand und damit deutlich geringerer Induktivitat und Spannungsbedarf (deiner braucht 5.7Vrms) und eine ausreichende Spannungsquelle von sagen wir 36V (dann reichen (21.55.7)*2 = 34W also 1A pro gleichzeitig laufendem Motor

OP #7845953
Lesenswert?

Michael B. schrieb:

Fehler 1. Uralt. Ohne L297 keine Stromregelung. Kein Mikroschrittbetrieb.

Ist das zwingend erforderlich? Tatsächlich sind mir 200 Schritte mehr als genug

Fehler 2. 40Ncm, was erwartest du da für ein Drehmoment,

Nun, um die 40 Ncm. An der Aufgabe gemessen würden mir sogar die Hälfte reichen.

Fehler 3. Nur Wave-Betrieb.

Ließe sich das etwas genauer erklären? Wenn der Wave-Betrieb das ist, was ich erreiche, wenn ich die vier Eingänge des Treibers einzeln ansteuere, so würde mir das völlig reichen. In diesem Modus erreicht der Motor auch das Drehmoment, dass ich mir erhoffte. Mit den zwei aktiven Eingängen wird er erst schwach. Außerdem ist mir inzwischen aufgefallen, dass er nicht rückwärts läuft, was er aber laut Beispiel und Tutorial tun sollte.

Du kaufst zielgenau das allerbilligszr und bist nicht bereit, dich mit den Grundlagen dessen auseinanderzusetzen.

Das bin ich schon, aber die Fülle der Informationen ist erschlagend und ich habe mich derer bedient, die ich gefunden und einfach reproduzieren konnte. Tatsächlich gibt es sicherlich sehr anspruchsvolle Anwendungen, welche ein qualitativ hochwertigeres Equipment verlangen, aber meine ist vergleichsweise primitiv.

OP #7845959
Lesenswert?

@Michael. Danke für den Tip. Fehler gefunden. Ich habe die Ausgänge fälschlicherweise so programmiert, wie sie im Wave-Betrieb angesteuert werden müssten, aber die Bibliothek und natürlich das Programm sind auf dem Halbschritt Betrieb ausgelegt.

Jetzt geht's. Danke

(Firma: Privat) #7845998
Lesenswert?

von Tex A. schrieb:

Außerdem sind immer zwei Ausgänge des Adruino gleichzeitig aktiv.

Du brauchst zwei Rechteckspannungen wo eine immer 90° phasenverschoben ist. Mit Ausgänge die immer gleichzeitig aktiv sind kann das ja auch nicht funktionieren.

Außerdem ist mir inzwischen aufgefallen, dass er nicht rückwärts läuft,

Die Richtungswechsel entstehen wenn eine Rechteckspannung entweder 90° voreilt oder 90° hinterherhinkt.

#7846014
Lesenswert?

Tex A. schrieb:

die ich gefunden und einfach reproduzieren konnte. Tatsächlich gibt es sicherlich sehr anspruchsvolle Anwendungen, welche ein qualitativ hochwertigeres Equipment verlangen, aber meine ist vergleichsweise primitiv.

Irrweg.

Die 'primitive' Ansteuerung (nur geschaltete Wicklungen ohne Stroregelung) ist am anspruchsvollsten. Man hat mit Resonanzen zu kämpfen, muss geschickt zwischen Vollschritt und Halbschritt wechseln, und das Drehmoment sackt schnell ab.

Ein Mikroschritttreiber mit Stromregelung an hoher Betriebsspannung hingehen macht die Sache einfach. Der Motor dreht damit einfach wie befohlen.

Tex A. schrieb:

Wenn der Wave-Betrieb das ist, was ich erreiche, wenn ich die vier Eingänge des Treibers einzeln ansteuere, so würde mir das völlig reichen.

Offensichtlich ja nicht, denn es läuft ja nicht. Hättest du wenigstens die Grundlagen durchgelesen, wüsstest du das Wave keine Lösung sondern ein Irrtum ist.

#7846030
Lesenswert?

@Michael Das war sehr interessant. Zumal ich hier auch noch einen Schrittmotor rumliegen habe und das mal testen wollte. Bisher hatte ich keinen Bedarf mich damit auseinander zu setzen Aber du hast durch die guten Erklärungen schon mal (jedenfalls für mich) wesentliche Eckpunkte genannt, die man im Vorfeld beachten sollte.

Danke!

#7851689
Lesenswert?

Tex A. schrieb:

Sehe ich das richtig, dass dann aber die Ansteuerung mit der Stepper.h so wie jetzt nicht mehr funktioniert?

Nein, du siehst das nicht richtig.

Die Arduino stepper Library erlaubt unipolare und bipolare (mit step und dir) Schrittmotoren.

Man muss sie natürlich richtig benutzen. Doku lesen !

Klüger wäre von vorne herein accelstepper zu verwenden.

OP #7859904
Lesenswert?

Ich habe mir jetzt doch aus Neugier noch einen DM542T als Treiber beschafft. Zugegeben eine Bereicherung. Ich habe 200 Schritte und den Strom eingestellt. (und natürlich auch ein bisschen mit den Microsteps rumgespielt) Alles funktioniert, nur brauche ich jetzt 800 Schritte für eine Umdrehung. Mit dem L298 waren es 200. Das ist soweit kein Problem. Mich würde nur interessieren warum.

#7860028
Lesenswert?

Tex A. schrieb:

Mich würde nur interessieren warum.

Da sich dein Motor wohl nicht geändert hat, wird irgendeine Software/Hardware/Produktbeschreibung in der Definition der Schrittzahlen neben der allgemein üblichen Festlegung liegen. Pro elektrischer Umdrehung braucht ein Schrittmotor vier Vollschritte. Von der Anzahl der Polpaare hängt es dann ab, wieviele elektrische Umdrehungen pro mechanischer Drehung erfolgen. https://www.nanotec.com/eu/de/knowledge-base/schrittmotor-animation?tx_nanotec_animation%5Binitial%5D=motor_4lead

Guck dir die Signale an den Motorwicklungen an. Dann erfährst du, wer seine Schritte wie zählt.

Tex A. schrieb:

Der Stromverbrauch ist monströs.

Der Stromaufnahme von so einem Motor ist mit aktuellen Treibern wegen der Stromregelung im Stillstand und bei niedriger Schrittfrequenz genau so hoch, wie du ihn einstellst. Der L298 alleine macht keine Stromregelung, d.h. du musst über die Wahl der Betriebsspannung dafür sorgen, dass die Spannung am Motor bei der Nennspannung des Motors bleit. Dein Motor darf daher mit dem L298 alleine nur an 2.6V zzgl. der V_CE_sat betrieben werden.

#7862462
Lesenswert?

Michael B. schrieb:

Du hattest mit Schrittmotoren noch nicht viel zu tun, trotz deiner 80.

Habe zwar in Mengen welche ausgebaut,aber ein Einsatzgebiet außerhalb der Vollschritt Zone war noch nicht nötig.

Man kann doch auch alt werden, ohne ALLES getestet zu haben. .. und möglich Kostenfrei. ;--))

Ein kleines Schrittmotor Model hängt hier noch an der wand. Treiber und Motor aus einen alten Diskettenantrieb ausgebaut. 12V Schrittmotor/ 200 schritte, wird mit 5 V betrieben.

Unten ist eine Lichtschranke zur positionieren angebracht. War ca 1995 ein schönes Übungsobjekt für die Kinder der AG. ;--))

MfG

Ein 80 Jähriger alter Knacker

P.S. Meine Device, Elektronikschrott lebt... und im Vollschritt vorwärts.;-))

Angehängte Dateien:
#7862753
Lesenswert?

Günter L. schrieb:

von Tex A. schrieb:

Außerdem sind immer zwei Ausgänge des Adruino gleichzeitig aktiv.

Du brauchst zwei Rechteckspannungen wo eine immer 90° phasenverschoben ist. Mit Ausgänge die immer gleichzeitig aktiv sind kann das ja auch nicht funktionieren.

Bei Halbschrittbetrieb wäre es völlig normal, dass zwei Wicklungen gleichzeitig aktiv sind. Man sollte sich nur einig sein, was man tut. In der o.g. Simulation von Nanotec kann man sich ansehen, wann in den beiden Betriebsarten welche Spule betromt ist, was daraus für eine Statormagnetisierung folgt und wie der Rotor sich dann einstellt.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren