Forum: Mikrocontroller und Digitale Elektronik Schrittmotor "stromlos" halten


von Jörg R (Gast)


Lesenswert?

Hallo in die Runde,

ich nutzte einen Stepper gesteuert vom TMC2208 an Arduino Nano. (nutze 
TMCStepper-Lib) https://github.com/teemuatlut/TMCStepper

Ansteuerung funktioniert prinzipiell. Frage ist aber, was mache ich, 
wenn ich in der finalen Position bin und den Motor festhalten will.
- wird er dauerhaft bestromt (ohne Schrittimpulse) ergibt das mit der 
Zeit eine kleine Heizung
- wäre es nicht sinnvoll, einfach die Wicklungen kurzzuschließen um 
damit den Motor zu blocken.

Wie macht Ihr das bzw. hat vielleicht jemand für mich einen Tip, wie 
ich's mit dem Treiber-IC umsetzten kann?

Danke scheeeen!

Jo

von Dussel (Gast)


Lesenswert?

Jörg R schrieb:
> - wäre es nicht sinnvoll, einfach die Wicklungen kurzzuschließen um
> damit den Motor zu blocken.
Wenn die supraleitend sind, ja. ;-)

Jörg R schrieb:
> Wie macht Ihr das bzw. hat vielleicht jemand für mich einen Tip, wie
> ich's mit dem Treiber-IC umsetzten kann?
Man könnte die Auslenkung messen, und dann gegensteuern. Ich glaube aber 
nicht, dass das ein einfacher Schrittmotortreiber kann.
Ohne jetzt zu viel erfahrung zu haben, ist dauerhaft bestromen die 
einzige einfache Lösung. Eine mechanische Bremse ginge natürlich auch, 
ist aber wieder mehr Aufwand.

von Roland E. (roland0815)


Lesenswert?

Mechanische Bremse. Wird bestromt um zu lösen.

von Jörg R (Gast)


Lesenswert?

uuuuh, langsam!

Ich wollte nicht die Grenzen der Physik angehen sondern best practice 
erfragen - würde schon reichen :-) Nobelpreis-Bemühungen kommen erst 
später

Simpel gefragt: wir würde ein 0815 Treiber IC (á la A4998) verwendet, 
wenn der Motor stehen bleiben soll. Wirklich "nur" bestromt? Laut Dussel 
JA?!
Die Frage bezieht sich wirklich nur auf die Ansteuerung, nichts 
mechanisches oder extra Positionssensoren

von Teo D. (teoderix)


Lesenswert?

Ja die werden dann normalerweise weiter bestromt. Ohne ist das 
Haltemoment viel geringer und man kann auch nur an einer 
Vollschrittposition anhalten.

von Patrick L. (Firma: S-C-I DATA GbR) (pali64)


Lesenswert?

Man könnte in die Leitungen zum Stepper ein RC Glied einbauen, so könnte 
man den Strom etwas reduzieren, Das "C" Sorgt dann während der "Fahrt" 
das der Schritt-puls doch volle Leistung hat, und das "R" sorgt im Stand 
dann für eine Reduktion des fließendem Strom.

Kleiner Vorteil noch, die ganze Sache wird noch etwas "leiser" bei der 
Fahrt ;-)

von Tany (Gast)


Lesenswert?

Jörg R schrieb:
> ergibt das mit der Zeit eine kleine Heizung
Strom im Stillstand auf ca. 30-50% des Nennstrom reduzieren.

von Johannes S. (Gast)


Lesenswert?

es wird darauf ankommen wie der Treiber angeschlossen ist. Bei der 
einfachen Variante mit Dir/Step kommt es auf den Enable Eingang an, da 
bleibt der Treiber bestromt solange er enabled ist.
Die TMC22xx sind aufwändiger, die haben über eine serielle Kommunikation 
massig Einstellmöglichkeiten. Das ist alles in dieser Lib eingebaut, es 
ist nur Mühselig sich durch die Doxygen Doku zu hangeln. Ich würde eher 
mit dem Datenblatt zum Treiber anfangen und sehen wie man den Haltestrom 
einstellen kann, dann in der Lib die entsprechende Methode suchen.

von michael_ (Gast)


Lesenswert?

Tany schrieb:
> Jörg R schrieb:
>> ergibt das mit der Zeit eine kleine Heizung
> Strom im Stillstand auf ca. 30-50% des Nennstrom reduzieren.

Macht jeder halbwegs moderne Chip.

von Max M. (Gast)


Lesenswert?

Jörg R schrieb:
> - wäre es nicht sinnvoll, einfach die Wicklungen kurzzuschließen um
> damit den Motor zu blocken.

Wie viele Schrittverluste kannst Du denn akzeptieren wenn die Last den 
Motor aus der Position drückt?
Erst in der Bewegung wird eine Gegenkraft erzeugt, denn ein Generator 
mit Drehzahl Null hat eben auch Leistung Null.
Und wie genau darf es dann noch sein, wenn Du aus der nun falschen 
Position neu bestromst, der Motor in die nächte akzeptable 
Schrittposition springt und von da aus mit falscher Position 
weiterfährt?
Sind die Anforderungen nur gering genug geht das sicher.

Verwende einfach einen modernen Controller (z.B. von Trinamic). Die 
kennen auch Stromabsenung im Stillstand.

Wenn es Dir darum geht wirklich nur das an Strom zu verbraten was zum 
anfahren / halten einer Position benötigt wird, kommst Du um Servomotore 
nicht herum.

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


Lesenswert?

Hallo Patrick,

Patrick L. schrieb:
> Man könnte in die Leitungen zum Stepper ein RC Glied einbauen, so könnte
> man den Strom etwas reduzieren, Das "C" Sorgt dann während der "Fahrt"
> das der Schritt-puls doch volle Leistung hat, und das "R" sorgt im Stand
> dann für eine Reduktion des fließendem Strom.
>
> Kleiner Vorteil noch, die ganze Sache wird noch etwas "leiser" bei der
> Fahrt ;-)

So hat man das in den 1970'ern gemacht, als Motor-Treiber mit 
Stromregelung noch teuer waren. Wir sind inzwischen 50 Jahre weiter...

Mit freundlichen Grüßen
Thorsten Ostermann

von Patrick L. (Firma: S-C-I DATA GbR) (pali64)


Lesenswert?

Thorsten O. schrieb:
> So hat man das in den 1970'ern gemacht, als Motor-Treiber mit
> Stromregelung noch teuer waren. Wir sind inzwischen 50 Jahre weiter...

Bin ich ganz bei dir.
Nur weis ich nicht was der TO hat oder selber Kann.
Deshalb ist das die einfachste Variante, wen man beispielsweise in 
Fertigteil hat, und das nutzen möchte.

Neue Chips unterstützen dann auch Microstepp & Co aber eben da muss man 
mit umgehen können deshalb der 70'er Tipp ;-)

: Bearbeitet durch User
von Wolfgang (Gast)


Lesenswert?

Jörg R schrieb:
> Simpel gefragt: wir würde ein 0815 Treiber IC (á la A4998) verwendet,
> wenn der Motor stehen bleiben soll. Wirklich "nur" bestromt?

Immer diese Schwarz-Weiß-Malerei. Es gibt beim Schrittmotor nicht nur 
bestromt und unbestromt.
Schon bei Verwendung des A4998 lässt sich der Haltestrom absenken. Und 
ein E523.39 kann den Lastwinkel auch noch messen und dann so gesteuert 
werden, dass der Strom nicht höher als erforderlich ist.

von EAF (Gast)


Lesenswert?

Wolfgang schrieb:
> Schon bei Verwendung des A4998 lässt sich der Haltestrom absenken.

Würde das nicht der Herstelle in seinem A4988-Datasheet.pdf vermerken?
Und wenn es darin steht, würdest du mir evtl die Stelle zeigen, denn ich 
habe sie bisher noch nicht gefunden.

von Wolfgang (Gast)


Lesenswert?

EAF schrieb:
> Wolfgang schrieb:
>> Schon bei Verwendung des A4998 lässt sich der Haltestrom absenken.
>
> Würde das nicht der Herstelle in seinem A4988-Datasheet.pdf vermerken?

Man muss nur richtig lesen.
Wenn man über Ref (Pin17) ein z.B. per PWM erzeugtes Analogsignal 
einspeist, kann man darüber beim A4988 den Strom steuern, also z.B. auch 
den Haltestrom absenken. Normalerweise muss der Strom nach dem Anhalten 
sowieso noch kurz gehalten werden, um die Rotationsenergie abzubauen. 
Erst dann darf er abgesenkt werden.

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


Lesenswert?

Hallo Patrick,

Patrick L. schrieb:
> Bin ich ganz bei dir.
> Nur weis ich nicht was der TO hat oder selber Kann.
> Deshalb ist das die einfachste Variante, wen man beispielsweise in
> Fertigteil hat, und das nutzen möchte.
>
> Neue Chips unterstützen dann auch Microstepp & Co aber eben da muss man
> mit umgehen können deshalb der 70'er Tipp ;-)

Stromabsenkung kann man auch schon mit den betagten L297/L298 
realisieren. Das geht grundsätzlich mit jedem Treiber der Stromregelung 
macht. L/R-Betrieb will man sich heute nicht mehr antun. Wenn man keinen 
Treiber da hat der Stromregelung kann, kauft man besser einen statt 4 
Lastwiderstände. ;)

Mit freundlichen Grüßen
Thorsten Ostermann

von Martin (Gast)


Lesenswert?

Der TMC2208 hat einen PDN_UART Eingang. Der scheint standardmäßig über 
ein pull-down auf GND gezogen zu sein. Dann ist laut datasheet S. 7 
folgendes Feature aktiv:

1.6 Automatic Standstill Power Down
An automatic current reduction drastically reduces application power 
dissipation and cooling requirements. Per default, the stand still 
current reduction is enabled by pulling PDN_UART input to GND. It 
reduces standstill power dissipation to less than 33% by going to 
slightly more than half of the run current.

von Noch ein Kommentar (Gast)


Lesenswert?

> So hat man das in den 1970'ern gemacht

Habe den Eindruck, nicht nur die Widerstände, sondern Schrittmotore 
allgemein sind aus der Mode gekommen.

Die findet man nur mehr in Hobby-3D-Druckern. Alles andere arbeitet mit 
Servomotoren.

von EAF (Gast)


Lesenswert?

Wolfgang schrieb:
> Man muss nur richtig lesen.
> Wenn man über Ref (Pin17) ein z.B. per PWM erzeugtes Analogsignal
> einspeist, kann man darüber beim A4988 den Strom steuern, also z.B. auch
> den Haltestrom absenken

Alles klar!
Der Hersteller hat also keine Stromreduzierung eingebaut.
Und wenn man die typischen Handelsüblichen A4998 Platinchen 
unmodifiziert  verwendet, dann wird das auch keiner.

von Tany (Gast)


Lesenswert?

Wolfgang schrieb:
> Man muss nur richtig lesen.
Lesen kannst du, verstanden hast du NICHT!
> Wenn man über Ref (Pin17) ein z.B. per PWM erzeugtes Analogsignal

Was soll hier PWM? Man legt an REF eine U1 für Normalbetrieb und U2 für 
Haltebetrieb, zu einfach für dich?
> Normalerweise muss der Strom nach dem Anhalten
> sowieso noch kurz gehalten werden, um die Rotationsenergie abzubauen.
> Erst dann darf er abgesenkt werden.
Was soll der Quatsch auch noch?
Man senkt den Strom nicht unmittelbar nach dem letzten Schritt, sondern 
nach einer gewissen Zeit.

von Wolfgang (Gast)


Lesenswert?

Tany schrieb:
> Wolfgang schrieb:
>> Man muss nur richtig lesen.
> Lesen kannst du, verstanden hast du NICHT!
>> Wenn man über Ref (Pin17) ein z.B. per PWM erzeugtes Analogsignal
>
> Was soll hier PWM? Man legt an REF eine U1 für Normalbetrieb und U2 für
> Haltebetrieb, zu einfach für dich?
Hast du schon mal davon gehört, das viele µCs keinen DAC besitzen, aber 
leicht per PWM und Tiefpassfilter eine Analogspannung erzeugen können 
...
Deshalb schrieb ich "z.B.". Die Steuerspannung kann selbstverständlich 
auch anders erzeugt werden.

>> Normalerweise muss der Strom nach dem Anhalten
>> sowieso noch kurz gehalten werden, um die Rotationsenergie abzubauen.
>> Erst dann darf er abgesenkt werden.
> Was soll der Quatsch auch noch?
> Man senkt den Strom nicht unmittelbar nach dem letzten Schritt, sondern
> nach einer gewissen Zeit.
Genau das schrieb ich. Sobald sämtliche Rotationsenergie abgebaut ist, 
d.h. sobald das Ding sicher steht, kann man den Strom reduzieren. Oder 
wie lange willst du noch warten?

von michael_ (Gast)


Lesenswert?

Noch ein Kommentar schrieb:
>> So hat man das in den 1970'ern gemacht
>
> Habe den Eindruck, nicht nur die Widerstände, sondern Schrittmotore
> allgemein sind aus der Mode gekommen.
>
> Die findet man nur mehr in Hobby-3D-Druckern. Alles andere arbeitet mit
> Servomotoren.

Ach?
Willst du die Massenware wie Drucker, Scanner, usw. mit Servos 
ausrüsten?
Falscher Dampfer!

von Johannes S. (Gast)


Lesenswert?

michael_ schrieb:
> Willst du die Massenware wie Drucker, Scanner, usw. mit Servos
> ausrüsten?

die meisten Drucker haben keine SM, sondern einfache DC Motoren und 
optische Encoder.

Aber warum nicht mal die Frage des TO beantworten? Er schreibt, er hat 
einen TMC2208, und bekommt als Tipp er soll was von Trinamic benutzen. 
Usw.

von michael_ (Gast)


Lesenswert?

Jörg R schrieb:
> Hallo in die Runde,
>
> ich nutzte einen Stepper gesteuert vom TMC2208 an Arduino Nano.

Wird vermutlich schon gemacht.
An PIN-14.

von Egon D. (Gast)


Lesenswert?

Johannes S. schrieb:

> die meisten Drucker haben keine SM, sondern einfache
> DC Motoren und optische Encoder.

...für den Druckkopf.

Beim Papiervorschub habe ich in der Regel Schrittmotoren
gesehen; häufig so flache Dingen mit 48 Schritten oder so.


> Aber warum nicht mal die Frage des TO beantworten? Er
> schreibt, er hat einen TMC2208, und bekommt als Tipp er
> soll was von Trinamic benutzen. Usw.

Ist doch normal.
Inzwischen ist die ganze Woche lang Freitag.
Nicht mehr "ewiger September", sondern "ewiger Freitag"...

von michael_ (Gast)


Lesenswert?

Johannes S. schrieb:
> michael_ schrieb:
>> Willst du die Massenware wie Drucker, Scanner, usw. mit Servos
>> ausrüsten?
>
> die meisten Drucker haben keine SM, sondern einfache DC Motoren und
> optische Encoder.

Nur für den Schlitten.
Da sind aber noch mehr drin.
In Laser sowieso. Solltest mal paar schlachten.

von Johannes S. (Gast)


Lesenswert?

michael_ schrieb:
> Solltest mal paar schlachten.

habe ich, auch für den Papiervorschub, da sind dann runde 
Strichcodescheiben drin, in Epson und Canon.
Den letzten SM habe ich in einem Compucorp Typenraddrucker gesehen, Bj. 
198x.

Und die TMC2208 gab es da auch noch nicht.

von Georg (Gast)


Lesenswert?

Auch ein Servomotor "hält" nicht die Position ohne Energiezufuhr - 
ergibt sich aus dem Encodersignal eine Lageabweichung, steuert die 
Lageregelung gegen, dafür wird selbstverständlich elektrische Energie 
gebraucht.

Selbsthalten ohne Energie geht nur mechanisch, bei manchen Getriebearten 
wie Schneckenantrieb oder Gewindespindel oder eben mit Bremse. Aber 
Achtung, gute Gewindespindeln haben eine so guten Wirkungsgrad dass sie 
nicht selbsthaltend sind, man kann dann etwa das Werkstück einfach mit 
der Hand wegschieben, wenn der Antrieb ausgeschaltet ist.

Wie weit man beim Schrittmotor den Strom im Stillstand absenken kann 
hängt natürlich davon ab welche Kräfte einwirken können.

Georg

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


Lesenswert?

Ein Hybrid-Schrittmotor hat im Gegensatz zum DC-Motor immerhin ein 
gewisses Rastmoment. Verstärken kann man das bei Bedarf durch 
kurzschließen der Wicklungen (nach Abschalten des Treibers!). Über die 
Dioden im Treiber (intrinsische Dioden in den MOSFETS) speist der Motor 
aber auch so in die Versorgung zurück und wird damit stärker gebremst 
als bei offenen Anschlüssen.

Was es die Stromabsenkung angeht: Zur Erzeugung der analogen 
Referenzspannungen benötigt man weder DAC noch PWM. Die zwei Pegel kann 
man auch über schaltbare Spannungsteiler realisieren.

Mit freundlichen Grüßen
Thorsten Ostermann

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


Lesenswert?

Hallo Namenloser,

Noch ein Kommentar schrieb:
>> So hat man das in den 1970'ern gemacht
>
> Habe den Eindruck, nicht nur die Widerstände, sondern Schrittmotore
> allgemein sind aus der Mode gekommen.
>
> Die findet man nur mehr in Hobby-3D-Druckern. Alles andere arbeitet mit
> Servomotoren.

Und ich habe den Eindruck, dass ein persönlicher Eindruck noch keine 
Statistik ist. ;)

Jeder größere SPS-Hersteller hat inzwischen Lösungen für Schrittmotoren 
im Programm. Firmen wie Beckhoff bieten z.B. Feldbusklemmen für SM mit 
und ohne Encoder, aber auch für Kleinspannungs-Servos an. Außerdem sind 
Schrittmotoren mit Closed-Loop Betrieb inzwischen stark im kommen. Damit 
verhält sich ein Schrittmotor wie ein Servo, und dank der hohen 
Polpaarzahl kann man in vielen Anwendungen auf ein Getriebe verzichten.

Mit freundlichen Grüßen
Thorsten Ostermann

von m.n. (Gast)


Lesenswert?

Thorsten O. schrieb:
> Was es die Stromabsenkung angeht: Zur Erzeugung der analogen
> Referenzspannungen benötigt man weder DAC noch PWM. Die zwei Pegel kann
> man auch über schaltbare Spannungsteiler realisieren.

Das ist etwas "statisch" gedacht. In der Praxis ist eine variable 
Referenzspannung nützlich, da man dadurch unterschiedliche Motoren an 
die jeweilige Mechanik anpassen kann, ohne an Potis oder Widerständen zu 
schrauben.
Und auch im Betrieb kann es sinnvoll sein, mit angepaßten Strömen zu 
arbeiten (schnelle Positionierung, vibrationsarme Messungen).

von Tany (Gast)


Lesenswert?

Auf meisten Treiber findet man DIP-Schalter / Jumper
Für spez. Wünsche benutzt man spez. Treiber mit z.B SPI Schnittstelle.
Und denkt daran, nicht jeder ist bereit ext. DAC zu investieren oder 
Software unnötig komplizierter zu machen.

von Johannes S. (Gast)


Lesenswert?

es geht immer noch um den TMC2208, und der hat einen UART und Register 
für IRUN und IHOLD, damit kann der Strom in 1/32 Schritten vom Maximum 
eingestellt werden.

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.