Hallo!
Ich betreibe einen Schrittmotor (1.33A/Phase max. Strom, 4.2mH/Phase,
0.9°Vollschritte, 0.22Nm Haltemoment) mit einem DRV8711
Schrittmotortreiber im 256 Mikroschritt-Betrieb.
Die hohe Anzahl an Mikorschritten ist deshalb notwendig, da der
Schrittmotor sehr fein und vor allem gleichmäßig bewegt werden muss.
Bei den Vollschrittpositionen vom Rotor kommt es jedoch zu einem Ruckeln
(hervorgewrufen durch das Rastmoment vom Motor) vom Motor.
Wie könnte ich dieses Rastmoment kompensieren, sodass eine
gleichmäßigere Bewegung möglich ist.
Danke schon im Voraus für Eure Vorschläge und Ideen.
LG Michael
Hallo Michael!
Du müsstest abhängig von der aktuellen Mikroschritt-Position den
Stromsollwert anpassen. Das führt natürlich den Einsatz eines so hoch
integrierten ICs etwas ad absurdum. Ich frage mich aber, warum du für
einen so kleinen Motor überhaupt ein IC mit externen FETs verwendest,
und nichts voll integriertes? Das wäre doch einfacher und billiger. Z.B.
den A3979 oder ein entsprechendes Pendant von TI.
Ich würde erstmal messen, was der Motor wirklich macht, angefangen bei
den Phasenströmen. Neben dem was am Shunt abfällt wäre auch eine Messung
über eine Strommesszange oder Hallsensoren interessant, um den echten
Strom in der Wicklung zu sehen.
Ich habe schon mit Treibern zu tun gehabt, die Fehler im
Mikroschritt-Muster hatten. Das führt dann zu solchen Rucklern. Es kann
aber auch sein, dass dein Design schlecht ist, und deswegen der Strom in
den Nulldurchgängen nicht schnell genug abgebaut werden kann. Vielleicht
ist also nur der Decay-Mode für den Motor nicht gut eingestellt.
Wenn beim Strom alles unauffällig sein sollte, muss man sich mal die
Bewegung des Rotors mit einem hochauflösenden Geber ansehen. Ich bin
gerade dabei, meinen Testaufbau aus [1] auf einen Geber mit höherer
Auflösung umzubauen, um solche Messungen auch für Mikroschritt machen zu
können.
Mit freundlichen Grüßen
Thorsten Ostermann
[1]
http://www.schrittmotor-blog.de/einschwingverhalten-von-schrittmotoren/
K"onnte man diese Rest-Rastmoment dadurch minimieren, dass man den Strom
an den Motor leicht anpasst?
Also etwas h"oher oder etwas niedriger ansetzt. Vielleicht l"auft er
dann runder.
Tendenziell w"urde ich vermuten, dass der Maximalstrom die beste
Gleichf"ormigkeit erzeugt.
Ausserdem kommt bei einigen ICs das Problem dazu, dass die in der N"ahe
eines Nulldurchgangs gar nicht gescheit regeln k"onnen (kleiner Rsense,
kleiner Strom => ungenau), aber es kommt eben gerade auf den Strom am
Nulldurchgang an, wenn man 1/256 Schrittchen haben will. Vermutlich sind
das alle Treiber mit Stromerfassung.
Ich denke du f"ahrst besser, wenn du einen vollkommen ungeregelten
Treiber verwendest, der stattdessen einen genauen Sinus hinbekommt. Also
einen Frequenzumrichter f"ur Schrittmotoren sozusagen. Zumindest ist das
meine Erfahrung bisher. Und wenn Du das mit einem uC machst, ist der Weg
zu einer Nicht-Sinus-Kurve (angepasst an den Motor) ein sehr kleiner.
Und: ich habe schon Schrittmotoren (aus alten Druckern) gehabt, die
wollten partout gar nicht mit Mikroschritt funktionieren. Der Motor will
schon auf Mikroschritt optimiert sein, oder sollte ich mich da irren?
AD Thorsten:
Ich verwende den DRV8711, weil ich eine sehr feine Winkelauflösung
brauche und der DRV8711 einer von zwei Treibern war, der einen
Mikroschrittbetrieb von 256 Mikroschritten erlaubt.
Ich habe mir den Strom durch die Motorwicklungen bereits mit Hilfe einer
Strommesszange angesehen. Abbildung im Anhang. Auch im Anhang ein Zoom
vom Nulldurchgang. Doch der Nulldurchgang scheint mir nicht das Problem
zu sein, da beim erreichen eines Vollschrittes nicht zwingend der Strom
durch eine der beiden Motorwicklungen Null sein muss - oder verstehe ich
da etwas falsch.
Das Ruckeln tritt immer nach 256 Mikroschritten, also beim errecihen
eines Vollschrittes auf.
MfG
Michael
> Der Motor will schon auf Mikroschritt optimiert sein, oder sollte ich mich> da irren?
Der Schrittmotor muß schon für den Microschrittbetieb gebaut sein um die
Genauigkeit zu erreichen. Funktionieren tut der auch so.
Also Motore für den 256 fach Microschrittbetrieb kosten GELD. So. ca
300-500€ pro Motor sollte man schon rechnen.
Da möchte ich doch noch mal nachfragen. Du machst z.B einen Mikroschritt
pro Sekunde. Nach 255 Mikroschritten ist noch alles OK. Beim nächsten
Schritt macht er einen Sprung?
Hätte eher erwartet, dass sich bei den 10-20 ersten und letzten
Schritten nichts tut. Sobald der Strom höher als das Haltemoment wird,
macht er einen Sprung.
Hallo Uwe!
>> Der Motor will schon auf Mikroschritt optimiert sein, oder sollte ich mich>> da irren?>> Der Schrittmotor muß schon für den Microschrittbetieb gebaut sein um die> Genauigkeit zu erreichen. Funktionieren tut der auch so.> Also Motore für den 256 fach Microschrittbetrieb kosten GELD. So. ca> 300-500€ pro Motor sollte man schon rechnen.
Das halte ich für maßlos übertrieben. Richtig ist allerdings, dass ein
"billiger Heuler" aus China meist ein höheres Rastmoment und größere
Winkelfehler ausweist als ein japanisches Qualitätsprodukt.
Mit freundlichen Grüßen
Thorsten Ostermann
Wenn der Sprung wirklich nach jedem Vollschritt auftritt (also 200* pro
mechanischer Umdrehung), könnte das Rastmoment des Motors schuld sein.
Dann müsste man das Bestromungsmuster anpassen, um das Rastmoment
auszugleichen. Dafür wäre es natürlich hilfreich, vom Hersteller Angaben
über die Größenordnung des Rastmoments zu bekommen.
Üblich sind Werte um die 4-5% vom Nennmoment. Und damit ist sofort klar,
das man bei so feinen Schrittteilungen Probleme bekommen kann. Im
1/16-Schritt tritt das Problem vermutlich nicht auf?
Mit freundlichen Grüßen
Thorsten Ostermann
Mit der Motorspannung bist Du aber arg vorsichtig!?
Etwa 4V Hub der Ausgangsstufe wenn ich die Bilder richtig interpretiere.
Michael schrieb:> zu sein, da beim erreichen eines Vollschrittes nicht zwingend der Strom> durch eine der beiden Motorwicklungen Null sein muss - oder verstehe ich
Die Schrittmotorstr"ome kann man sich einfach als Sinus und Cosinus
vorstellen. Und nach einem Vollschritt - DOCH - da ist der eine oder der
andere Null. Es sei denn, man addiert einfach eine Konstante >
2*Amplitude drauf, dann nicht ;-)
Hast Du mal versucht 'richtige' Sinus/Cosinus-Spannungen- oder Str"ome
anzuwenden und geschaut, ob's immer noch ruckelt. Fr"uher gab's mal
Menschen die sowas mit 'ner Soundkarte und z.B. zwei TDA2030 hinbekommen
haben. Oder gleich mit der Stereoanlage??
Ganz ehrlich, dein Problem kommt mir eher wie ein
Software-Ansteuerungsproblem vor
Du hast scheinbar noch nie mit Schrittmotoren gearbeitet, sonst würdest
du nicht so einen Unsinn von dir geben. Mit einer Soundkarte steuert man
jedenfalls keinen Schrittmotor an, und das Problem mit dem Rastmoment
erledigt sich damit auch nicht.
Im Übrigen ist die Spannung im Nulldurchgang hier Null. Da habe ich
schon ganz andere Sachen gesehen.
Mit freundlichen Grüßen
Thorsten Ostermann
Thorsten Ostermann schrieb:> Du hast scheinbar noch nie mit Schrittmotoren gearbeitet, sonst würdest> du nicht so einen Unsinn von dir geben. Mit einer Soundkarte steuert man> jedenfalls keinen Schrittmotor an, und das Problem mit dem Rastmoment> erledigt sich damit auch nicht.
Dann erzähl doch mal, wie sich der Sinus aus einer Soundkarte von einem
durch eine Treppenfunktion approximierten Sinus aus einem 256-Stufen
Mikroschritttreiber unterscheidet.
Spielst du darauf an, dass bei der Soundkarte nicht der Strom, sondern
die Spannung gesteuert wird? Ich kann mir kaum vorstellen, dass das bei
den 4Vss, die der TO anscheinend verwendet, den großen Unterschied
machen.
Es geht zum einen um die Leistung, die benötigt wird. Die Soundkarte
wird kaum 10-50 Watt zur Verfügung stellen. Da müsste man schon einen
Audio-Verstärker dazwischen hängen. Der Wirkungsgrad wäre unterirdisch.
Die oben gezeigte Spannung stellt sich über den vorgegebenen Sollstrom
automatisch ein. Die Versorgungsspannung der Brücke wird deutlich höher
liegen. Lies dich erstmal in das Thema ein. Stichworte sind H-Brücke,
PWM, Stromregelung.
Mit freundlichen Grüßen
Thorsten Ostermann
In dem gezoomten Bereich sehen wir doch, dass der Motorstrom am
Nulldurchgang heftig unstetig ist und zwar mal locker 50mA von 1500mA
Vollaussteuerung. 50/1500 ist bei mir ganz ordentlich, wenn einer 1/256
Schritt machen will. Liegt ziemlich in der Gr"ossenordnung, nicht wahr?
sin(90/256)*1500mA = (bitte selber rechnen).
Darum der Vorschlag mit dem NF-Verst"arker...
Da kann man Motor-strom und -spannung nicht durcheinander werfen. Bei
höheren Drehzahlen braucht ein Schrittmotor für den selben Strom eine
höhere Spannung. Ist halt eine Spule, kein ohmscher Widerstand.
Kein Name schrieb:> Da kann man Motor-strom und -spannung nicht durcheinander werfen. Bei> höheren Drehzahlen braucht ein Schrittmotor für den selben Strom eine> höhere Spannung. Ist halt eine Spule, kein ohmscher Widerstand.
Doch kann man definitiv, wenn die Drehzahl so niedrig ist, dass er ein
1/256 von einer 1/200 Umdrehung zu sehen glaubt.
Leute ich muss lachen!
Schaut euch mal diese Negativbewertungen an. Lustig nicht?
Tut mir leid, wenn ich versucht habe das Problem zu analysieren und es
gewagt habe die Messung des Fragenden mit der Beobachtung in Einklang zu
bringen.
Daher als Wiedergutmachung:
Der DRV8711 ist die beste Wahl (nimm bloss keinen L6470!!), der
Sense-Widerstand ist sicher perfekt gew"ahlt, genauso wie der Motor, und
das Problem resultiert vermutlich nur aus der aktuellen Wetterlage, die
den Selbstreifeprozess der Schaltung behindert.
Abwarten und gut is!
Ausserdem m"ochte ich mich entschuldigen, dass ich absolut keine Ahnung
habe - es stand nirgendwo im Forum zu lesen dass ich dann nicht trotzdem
meine Meinung lauthals verbreiten darf!?
Bewertung -7 (gar nicht lesenswert:)