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
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.
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
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 ;-)
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.
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.
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.
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
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 ;-)
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.
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.
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.
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
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.
> 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.
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.
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.
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?
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!
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.
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"...
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.
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.
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
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
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
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).
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.
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.