TMC Steppertreiber IHOLD-Position

Gast #6864953
Lesenswert?

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?
(Firma: egal) #6865066
Lesenswert?

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
Gast #6865076
Lesenswert?

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...
Gast #6865084
Lesenswert?

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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren