Hallo,
das ist mein erster Beitrag und hoffe das mir jemand helfen kann.
Momentan baue ich einen Astronachführung gemäß folgendem Beispiel:
http://fstop138.berrange.com/2014/01/building-an-barn-door-mount-part-1-arduino-stepper-motor-control/
Der Motor soll mir eine M8 Trapzespindel antrieben. Ich brauche weder
einen hohen Drehmoment noch eine hohe Geschwindigkeit. Wichtig für mich
ist ein ruhiger Lauf und geringer Stromverbrauch, da die Lösung portabel
sein soll.
Das ganze wird von 8 AA Batterien mit Strom versorgt also theoretisch
12V ~ 2A.
Ich verwende diesen NoName Schrittmotor:
Nema 17 standard
Step angle 1.8°
3.4 V
1.7 A/Phase
Resistance 2 Ohm
Inductivity 3 mH
4000g/cm torque
Gesteuert wird der Motor von einem Easydriver v4.4 und als Schnitstelle
dient mir ein Arduino Uno Rev3.
Wenn ich den Aufbau in Betrieb nehme vibriert mein Motor nur, am Anfang
hat er sich auch sporadisch gedreht aber reagierte auf keine Befehle.
Mittlerweile dreht er sich nicht mehr. Ich habe leide rmomentan kein
passendes Netzteil da um die Batterien als Fehlerquelle auszuschließen.
Wennich die Spannung der Batterien messe liegen 6 bei 1.4 V und 2 bei
1.2 V, von daher nicht mehr taufrisch.
Die Phasen habe ich mehrfaxch geprüft und diese stimmen. Momentan ist
der easydriver im microstepping modemit 8 Mikorschritten.
Da der easydriver nur 150 bis maximal 750 mA pro Phase ausgeben kann,
ist meine Frage muss ich einen kleineren Motor nehmen, oder meine
Spannungsversorgung mögglicherweise auf einen Bleigelakku mit 12V und
9000 mAh ändern?
Xenotime schrieb:> Da der easydriver nur 150 bis maximal 750 mA pro Phase ausgeben kann,> ist meine Frage muss ich einen kleineren Motor nehmen, oder meine
a) Wenn du erst die Spannungsversorgung angeschlossen hast und danach
den Motor, kannst du Easy wahrscheinlich zum Abschied küßen.
b) Da du den Maximalstrom um das Doppellte überschritten hast,
kannst ihn wahrscheinlich nochmals zum Abschied küßen...
Xenotime schrieb:> Ich brauche weder einen hohen Drehmoment noch eine hohe Geschwindigkeit.
Ob dein Antrieb ein hohes Drehmoment braucht, hängt von der Relation zur
Leistung des Motors ab. Gleiches gilt für die Geschwindigkeit.
Einen solchen Schrittmotor mit AA-Zellen zu betreiben, ist allerdings
kaum möglich. Wenn der vernünftig laufen soll, sollte der Spulenstrom
schon bei mindestens 1A liegen und eine typisch Versorgungsspannung
wären 20V, mit 12V läuft er bei nicht so hoher Drehzahl sicher auch
schon - dazu müßte man im Datenblatt mal einen Blick auf die
Drehmomentkurve werfen.
Marc Vesely schrieb:> b) Da du den Maximalstrom um das Doppellte überschritten hast,> kannst ihn wahrscheinlich nochmals zum Abschied küßen...
Der Maximalstrom wird vom A3967 bestimmt. Da hat der Motor überhaupt
nichts mitzureden. Guck mal ins Datenblatt.
Wenn eine AA Zelle 1.2 V Leerlaufspannung hat, ist sie leer und wird bei
Belastung hochohmig. Damit kann man keinen Hering vom Teller ziehen.
Ich glaube nicht, dass etwas anderes kaputt ist. Deer
Schrittmotortreiber bestimmt, wieviel Strom fliesst, nicht der
Schrittmotor. Der Treiber soll nicht mehr Strom durch den Motor schieben
als dieser verträgt. Es kann allerdings sein dass du einen stärkeren
Treiber brauchst.
Vielen Dank für die Antworten.
Habe mittlerweile ein Problem gefunden:
Ich hatte dirction und step verwechselt. Jetzt läuft der Motor, ruckelt
aber sehr, das Ruckeln ist am geringsten wenn ich ihn nur mit 150mA
betreibe, bei mehr wird es immer ruckeliger bis er stehen bleibt. Wenn
ich den Motor auf Stop setzt, bleibt er stehen, gibt aber ein
hochfreuqentes Pfiepen von sich.
Der Controller wird auch relativ heiß.
Ich habe jetzt ein altes Nokia-Nnetzteil umgelöstet welches 5VDC an 890
MA liefert, damit läuft der Motor wie oben beschrieben. Ich werde mich
mal nach einem vernüftigen 12V Netzteilo morgen umsehen und darauf
basierend meinen Akku wählen. Da ich den Arduino auch mit dem gleihen
Netzteil Vvrsorge bin ich allerdings auf 12V limitiert.
Ich überlege mir auch einen andern Motor zu holen der an 4-7 V ca 0.3
bis 0.6 A pro Spule zieht. Könnte mir das einen ruhigeren Lauf bringen
wenn ich als Versorgung 12V und mindestens 2A einetze? Kann mir da
jemand einen Motor empfehlen?
Ich denke mal dein Treiber ist zu schwach.
Wenn der Motor 1.7 A/Phase will, und der Treiber gerade mal für 9%-41%
davon ausgelegt ist, hast du ein Problem.
Im Zweifel geht auch der Treiber dabei direkt hopps.
Easylife schrieb:> Im Zweifel geht auch der Treiber dabei direkt hopps.
Wie bitte soll der Treiber dabei hopps gehen. Bestimmt nicht durch den
Strom, den er selber festlegt, solange er ausreichend gekühlt ist und
die Referenzspannung für den DAC ok ist. Was meinst du, wozu die
Sense-Widerstände gut sind.
Carsten R. schrieb:> Im Easydriver steckt ein A3967. Der überwacht auch den Strom und> schaltet diesen beim Überschreiten den Strom ab. Darum ruckelt es nur.
Nein.
Schrittmotore springen ruckartig von einer Rastposition zur nächsten.
Bei niedriger Drehzahl ist das halt ein Geruckel. Wenn es
glleichmässiger werden soll, kann man Mikroschrittbetrieb einstellen,
das ergibt entsprechend kleinere Schrittte, dafür mehr pro Umdrehung.
Eventuell kommt auch noch ein Untersetzunsgetriebe in Frage, dann wird
es noch gleichmässiger.
Werner M. schrieb:> Der Maximalstrom wird vom A3967 bestimmt. Da hat der Motor überhaupt> nichts mitzureden. Guck mal ins Datenblatt.
So überzeugt wie du klingst, fange ich an zu glauben, das der A3967
kurzschlußfest ist...
Temperaturschutz und Stromüberlastungschutz sind 2 paar schuhe.
ernst oellers schrieb:> Wenn es> glleichmässiger werden soll, kann man Mikroschrittbetrieb einstellen,Xenotime schrieb:> Momentan ist der easydriver im microstepping modemit 8 Mikorschritten.
Ich weiß, darum heißen die auch Schrittmotor, aber er schrieb:
Xenotime schrieb:> Wenn ich den Aufbau in Betrieb nehme vibriert mein Motor nur,
Er läuft also nicht, springt nicht in die nächste Position. Er setzt nur
zum Sprung an und dann ist der Strom auch schon wieder abgeschaltet,
bevor er in die nächste Position hüpfen kann. Das liegt daran, daß der
Motor mehr Strom aufnehmen will als der Treiber erlaubt.
> das Ruckeln ist am geringsten wenn ich ihn nur mit 150mA betreibe
Solange du einen Schrittmotor nicht belastest, ist das normal. Sei froh,
dass du Mikroschritt hast. Mit den alten Halbschrittsteuerungen war das
noch schlimmer. (Hat schon seine Gründe, warum wir Kupplungen für 20
Euro benutzen.)
Marc Vesely schrieb:> So überzeugt wie du klingst, fange ich an zu glauben, das der A3967> kurzschlußfest ist...> Temperaturschutz und Stromüberlastungschutz sind 2 paar schuhe.
Der A3967 enthält für jede Motorwicklung eine Schaltwandler
Konstantstromquelle, bei der der Sollstrom durch Referenzspannung, Größe
der Sense-Widerstände und Step-Translator festgelegt wird. Die
Motorspule ist dabei die Speicherspule.
Zitat: "The A3967 includes a fixed off-time current regulator ..."
Carsten R. schrieb:> Das liegt daran, daß der> Motor mehr Strom aufnehmen will als der Treiber erlaubt.
Schrittmotoren werden mit modernen Treibern eigentlich immer so
betrieben, dass der Treiber abschaltet, bevor der Strom den auf Grund
des ohmschen Widerstandes möglichen Wert erreicht. IMHO nennt sich das
Chopperbetrieb.
Marc Vesely schrieb:> So überzeugt wie du klingst, fange ich an zu glauben, das der A3967> kurzschlußfest ist...
p.s. Kurzschlussfest ist er nicht. Wenn die Motorspule überbrückt wird,
hat er gut Chancen, ins Jenseits zu entschwinden.
Hier liegt die Grenze des Treibers aber unter der der Motors. Der
Treiber schaltet also ab, bevor die "ohmsche Grenze" erreicht wird.
Offenbar reicht hier dieser Strom aber doch aus um Bewegung in die Sache
zu bringen.
Ist es nicht eher so daß im Chopperbetrieb der Treiber einen
vorgegebenen Stromwert anstrebt, und nicht notwendig speziell den
ohmschen Motorstrom?
Carsten R. schrieb:> Der Treiber schaltet also ab, bevor die "ohmsche Grenze" erreicht wird.
Das tut ein richtig dimensionierter Chopper-Treiber immer, sofern die
Betriebsspannung ausreichend hoch ist. Hier ist der Treiber allerdings
zu schwach, um den Motor mit seinem vollen Strom zu betreiben.
> Ist es nicht eher so daß im Chopperbetrieb der Treiber einen> vorgegebenen Stromwert anstrebt, und nicht notwendig speziell den> ohmschen Motorstrom?
Genau. Der "ohmsche Motorstrom" soll auch gar nicht erreicht werden.
Damit bei hohen Schrittfrequenzen, trotz des durch die
Wicklungsinduktivität gebremsten Stromanstiegs noch ein vernünftiges
Drehmoment (i.e. Strom) erreicht wird, muss der Motor mit einer
erheblich höheren Spannung als der angegebenen Nennspannung betrieben
werden. Ohne Stromregelung würde er bei niedriger Schrittfrequenz dann
durchbrennen oder zumindest gefährlich heiß werden.
@ Werner
Dann meinen das Gleiche, haben nur aneinander vorbei geredet. Der
Treiber begrenzt weit bevor der Motornennstrom erreicht werden kann.
Xenotime schrieb:> Wie gesagt, mittlerweile funktioniert das Programm. Es wirkt aber so als> würde er einige Schritte überspringen und so das Rucklen entstehen.
Das nennt sich "Schrittverlust". Das ist das, was ich in meinem ersten
Post meinte, nur daß es hier wohl nicht immer, sondern nur ab und an
dazu kommt. Ursache ist der zu geringe Strom und damit das zu geringe
Drehmoment. Beides hängt miteinander zusammen.
Xenotime schrieb:> Ich überlege mir auch einen andern Motor zu holen der an 4-7 V ca 0.3> bis 0.6 A pro Spule zieht. Könnte mir das einen ruhigeren Lauf bringen> wenn ich als Versorgung 12V und mindestens 2A einetze? Kann mir da> jemand einen Motor empfehlen?
Das könnte gehen. Ein solcher Motor könnte sein volles Drehmoment
entfalten. Das ist aber relativ zu sehen, also anteilig vom
Nenndrehmoment des jeweiligen Motors zu rechnen. Datenblatt
konsultieren.
Ein anderer Motor mit ansonsten gleichen Daten wie der Aktuelle, aber
mit nur 600 mA Nennstrom, könnte zwar auch sein volles Drehmoment
entfalten, er wäre dadurch aber nicht stärker, weil er insgesamt
schwächer ist. Ich hoffe das war jetzt nicht zu verwinkelt erklärt.
Dank der höheren Nennspanung ist aber die Leistung bei gleichem
Nennstrom und auch sonst vergleichbaren Daten höher. Wenn beide auf die
gleiche Geschwindigkeit ausgelegt sind wird der Motor mit der höheren
Spannung bei gleichem Strom wahrscheinlich mehr Drehmoment haben.
So gesehen sehe ich gute Chancen für deine Wahl mit 4-7 Volt bei 600 mA,
da Dir ja niht viel fehlt. Es läuft ja, er überspringt nur einige
Schritte. Letztlich entscheidet aber Das Datenblatt über das Drehmoment.
Aktuell hast Du von den 4000g/cm torque durch den anteiligen Strom auch
nur eien anteil der 4000g/cm torque. Wenn Du einen Motor findest mit
3000g/cm torque bei 600 mA Nennstrom, dann sollte es gehen.
Als Alternative bliebe noch ein stärkerer Treiber.
> Es wirkt aber so als würde er einige Schritte überspringen>> Ursache ist der zu geringe Strom und damit das zu geringe Drehmoment.
Leider nicht so einfach. Kann auch an zu hohem Drehmoment liegen.
Am besten erst mal dem Schrittmotor im Schraubstock einspannen und mit
den Fingern die Welle abbremsen. Da solltest du einen Punkt finden, an
dem der Motor sauber lauft.
Wenn nicht - Elektrik überprüfen. Wenn es mit der Reibung der Finger
klappt: Mit Drehmoment, Schwungmasse, elastischer Kupplung und
Beschleunigungsrampe so lange experimentieren, bis alles sauber läuft.
Dank der vielen Hilfestellungen und einem Schaltnetzteil mit 2.5A konnte
ich jetzt den Motor ans laufen bringen.
Nun gibt es noch folgende Probleme, der Motor läuft sehr unruhig trotz
8fachen Mikorschritten, also 1600 Schritte für eine volle Umdrehung.
Je höher die Spannung des Netzteils ist desto mehr Schritte verliert der
Motor. Je näher ich mit der Spannung an der Spnnung des Motors bin desto
ruhiger läuft er und verliert weniger Schitte. Der optimale Strom
scheint bei 200-300 mA zu liegen was mich sehr verwundert bei einer
Angabe von 1.6A pro Spule.
Kann es also sein, dass ich ein Timing bzw. Beschleuningungsproblem
habe?
Ich habe mir jetzt einen neuen Motor kommen lassen, der für 4.5V und
600mA ausgelgegt ist und bei 300mA noch ruhig laufen soll.
Da er für 0,6 A bei einer höheren Spannung ausgelegt ist, gehe ich davon
aus, daß er bei bei diesem Strom ein höheres Drehmoment als der aktuelle
Motor hat. Das müßte sich mit dem Datenblatt feststellen lassen. Damit
sollte es gehen.
Xenotime schrieb:> Je höher die Spannung des Netzteils ist desto mehr Schritte verliert der> Motor. Je näher ich mit der Spannung an der Spnnung des Motors bin desto> ruhiger läuft er und verliert weniger Schitte.
Das ist völig normal bei diesem Treiber in dieser Konstellation. Werner
hat den Grund dafür auch schon genannt.
Werner M. schrieb:> Zitat: "The A3967 includes a fixed off-time current regulator ..."
Weiter steht im Datenblatt
"Output current rating may be limited by duty cycle, ambient
temperature, and heat sinking."
Das bedeutet:
Der Strom wird eingeschaltet und steigt an bis zum Erreichen des Limits.
Dann wird er für eine feste Zeit abgestellt. Danach beginnt das Spiel
von vorn.
Die Konsequenz:
Man hat eine on-Zeit und eine Off-Zeit. Die off-Zeit ist fix. Die
on-Zeit wird mit zunehmender Spannung kürzer, da der Strom das Limit
schneller erreicht. Das verkürzt den Dutycycle. Das führt in dieser
Konstellation zu dem scheinbar paradoxen Phänomen, daß die Leistung,
bzw. das Drehmoent sinkt wenn man mehr Spannung gibt. Zudem ist der
Strom in diesem Betriebsmodus dreieckig, was den effektiven Strom
reduziert.
Damit liegt der Strom weit unterhalb der 1,6 A des Motors. Er liegt auch
weit unterhalb der 750 mA des Treibers. Im Mittel liegt er bei
Dreieckigem Strom bei der Hälfte, und bei hoher Spannung kann es durch
den jkeinen dutycycle sogar zum lückenden Betrieb kommen, wo der Strom
in der Off-Zeit auf Null fällt. Dann liegt der Strom im Mittel noch
niedriger.
Das extreme Gegenbeispiel wäre:
Wenn die Spannung gerade so niedrig ist, daß der Maximalstrom gerade
nicht überschritten wird, so kommt es nicht zur "Überstromabschaltung"
und du hast, abgesehen von der Einschaltphase, einen nahezu konstant
hohen Strom im gesammten Puls. Damit hättest du Das maximale Drehmoment
das mit dieser Hardware möglich wäre.
Für den neuen Motor bedeutet dies:
Da der neue Motor für eine höhere Spannung ausgelegt ist, wird der Strom
nicht so schnell steigen und dadurch der Dutycycle bei gleicher Spannung
größer sein. Dadurch steigt der effektive Strom und er kommt näher an
sein Nenndrehmoment heran.
Kurzzeitig wird dieser Treiber den Motor zwar mit 750 mA etwas
übelasten. Das wird allerdings durch die off-Zeiten kompensiert. Ob es
über- oder unterkompensiert wird, hängt von der festen
off-Zeit-Einstellung und der Versorgungsspannug, bzw. aus dem daraus
resultierenden Dutycycle ab.
Aus deiner Aufgabenbeschreibung schließe ich aber, daß der Motor nie
lange am Stück laufen wird sondern immer nur kurz nachpositionieren
wird. Da wird eine solch geringfügige Überlastung bei so kurzen
Betriebszeiten ohnehin kaum ein Problem sein.
Hallo Xenotime,
> Nun gibt es noch folgende Probleme, der Motor läuft sehr unruhig trotz> 8fachen Mikorschritten, also 1600 Schritte für eine volle Umdrehung.> Je höher die Spannung des Netzteils ist desto mehr Schritte verliert der> Motor.
Das ist ungewöhnlich.
> Je näher ich mit der Spannung an der Spnnung des Motors bin desto> ruhiger läuft er und verliert weniger Schitte. Der optimale Strom> scheint bei 200-300 mA zu liegen was mich sehr verwundert bei einer> Angabe von 1.6A pro Spule.
Wie misst du die 200-300mA? Ist das der Strom vom Netzteil zum Treiber,
oder der Motorstrom der sich aus der eingestellten Referenzspannung
ergibt? Hast du die richtig berechnet und eingestellt?
> Kann es also sein, dass ich ein Timing bzw. Beschleuningungsproblem> habe?
Das kann schon sein. Hast du die Möglichkeit, zum Test einen konstanten
Takt vorzugeben, z.B. mit einem Funktionsgenerator?
Mit freundlichen Grüßen
Thorsten Ostermann
Thorsten Ostermann schrieb:> Das ist ungewöhnlich.
Nein, völlig logisch, wenn man das Datenlatt des Controllerchips genau
liest. Den Mechnismus habe ich oben unter
Konsequenz:
beschrieben
Deine Beschreibung ist so allgemein aber nicht richtig. Sonst wäre es
völlig unsinnig, Schrittmotoren mit deutlich höheren Spannungen als
ihren Nennspannungen zu betreiben. Über Mixed-decay sorgt der Treiber
dafür, dass der Strom eben nicht schnell wieder auf Null fällt.
Einen dreieckigen Stromverlauf erhält man normalerweise nur, wenn der
Motor so schnell dreht, dass der Nennstrom nicht mehr erreicht wird und
der Stromregler nicht mehr aktiv werden kann, bevor die Wicklung schon
wieder umgeschaltet wird. Davon ist der OP aber offensichtlich noch weit
entfernt.
Mit freundlichen Grüßen
Thorsten Ostermann
Das hängt davon ab ob die Frequenz hoch genug ist, genauer gesagt, ob
sie zum Motor passt. Hier paßt der Motor nicht zum Treiber. Das hat auch
Einfluß auf das Timing.
Ich stimme Dir zu, normalerweise sollte es ein fast konstanter Strom
sein, der mit einem feinen Dreickstrom/Sägezahn überlagert ist. Meine
Erklärung/Hypothese ist nicht verallgemeinerbar. Aber hier funktioniert
ja was nicht. Das hier sieht mir zu sehr danach aus, daß die Off-zeit
für diese Motor/Spannungskonstellation zu groß ist und damit der
Ripple/Sägezahnanteil relativ groß ist. Der Extremfall wäre ein
lückender Sägezahn. Ganz so schlimm wird so wohl nicht sein.
Mein erster Ansatz wäre die Off-Zeit in Erfahrung zu bringen und den
Strom mit dem Oszi zu betrachten. Im Datenblatt steht zwar etwas zur
Off-Zeit, leider ist mir die Bestückung der Easydrivers 4.4 nicht
bekannt. Ich kenne nur die Bestücken der 4.3 Version. Außerdem würde ich
im Zweifelsfall immer nachmessen wenn etwas nicht stimmt. Man kann es ja
überprüfen.
Für alternative Erklärungen bin ich natürlich offen. Dies ist nur mein
vorrangiger Verdacht.