Forum: Mikrocontroller und Digitale Elektronik Rastmoment Kompensation Schrittmotor


von Michael (Gast)


Lesenswert?

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

von Thorsten O. (Firma: mechapro GmbH) (ostermann) Benutzerseite


Lesenswert?

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/

: Bearbeitet durch User
von MarcVonWindscooting (Gast)


Lesenswert?

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?

von Michael (Gast)


Angehängte Dateien:

Lesenswert?

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

von Uwe (Gast)


Lesenswert?

> 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.

von Kein Name (Gast)


Lesenswert?

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.

von Thorsten O. (Firma: mechapro GmbH) (ostermann) Benutzerseite


Lesenswert?

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

von Thorsten O. (Firma: mechapro GmbH) (ostermann) Benutzerseite


Lesenswert?

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

von MarcVonWindscooting (Gast)


Lesenswert?

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

von Thorsten O. (Firma: mechapro GmbH) (ostermann) Benutzerseite


Lesenswert?

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

von Kein Name (Gast)


Lesenswert?

300-500€ ... klingt eher nach Brushless Servo Motor mit Drehwinkelgeber 
und Steuerung.

von Michael (Gast)


Lesenswert?

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.

von Thorsten O. (Firma: mechapro GmbH) (ostermann) Benutzerseite


Lesenswert?

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

von MarcVonWindscooting (Gast)


Lesenswert?

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...

von Kein Name (Gast)


Lesenswert?

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.

von MarcVonWindscooting (Gast)


Lesenswert?

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.

von Marc P. (marcvonwindscooting)


Lesenswert?

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:)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.