Hab ein TMC2130-Schrittmotortreibermodul und möchte an einer Endlage (der Stepper wird "von außen" verfahren und nicht elektrisch bewegt) vom Treiber ein Haltemoment generieren. Dazu wird abhängig vom Lagesensor-Input mittels SPI das IHOLD-Setting von 0 auf einen Wert x erhöht. Das Problem dabei ist aber nun, dass der Motor dann oft einen kleinen "Sprung" macht, vmtl. hängt er im nächstgelegenen Vollschritt und erzeugt dort das Haltemoment. Meine Frage: Kennt ihr einen Weg, das ganze so zu lösen, dass der Motor in einem Mikrostep-Winkel stehen bleibt und Haltemoment generiert?
Krabat R. schrieb: > Kennt ihr einen Weg, das ganze so zu lösen, dass der Motor > in einem Mikrostep-Winkel stehen bleibt und Haltemoment generiert? Das hört sich so an als wäre deine Halte-Strom-Absenkung zu hoch eingestellt. Mit dem vollen Halte-Strom dürfte das nicht passieren, oder? Erst mit aktiviert der Absenkung (I-Hold)? Wenn es auch mit dem Normalstrom passiert scheint generell dein Storm zu niedrig eingestellt zu sein bzw. der Stepper generell unterdimensioniert zu sein für das Haltemoment das du erwartest. Kap. 1.6 - https://www.trinamic.com/fileadmin/assets/Products/ICs_Documents/TMC220x_TMC2224_datasheet_Rev1.09.pdf
Bei meiner Anwendung ist aber der "umgekehrte" Fall. IRUN ist stets (!) auf 0, da der Motor von einer externen Welle mechanisch bewegt wird und der Treiber ausschließlich im Stillstand Momente erzeugen soll. An definierten via Inkrementalgeber ausgelesenen Positionen wird dann ein Wert >0 für IHOLD gesetzt. Im Diagramm S. 7 im von Dir verlinkten Datenblatt betrifft IHOLDDELAY nur einen fallenden Stromverlauf wenn IRUN > IHOLD ist. Eine Idee wäre vielleicht, abhängig vom via Sensor ausgelesenen Winkel entsprechend viele Mikrosteps zu fahren. Um dem Treiber vorzugaukeln, er würde gerade in einem bestimmten Mikrostep angehalten worden sein. Aber momentan wird nur der nächste Vollschritt angefahren, wenn IHOLD >0 gesetzt wird...
>>Eine Idee wäre vielleicht, abhängig vom via Sensor ausgelesenen Winkel >>entsprechend viele Mikrosteps zu fahren. Um dem Treiber vorzugaukeln, er >>würde gerade in einem bestimmten Mikrostep angehalten worden sein. Korrekt
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.