Ich möchte einen Schrittmotor (Minebea-Matsushita 17PM-K403-02VS) mit
dem L6219 ansteuern. Der Vollschritt funktioniert, auch wenn die
Strombegrenzung laut Messung am Sense-Widerstand nicht oder nur
teilweise zu greifen scheint (siehe Foto, dort ist Io auf 1/3*Imax
eingestellt mit Imax=500mA, Rs=1Ohm).
Auch der Mikroschritt funktioniert mit der Sequenz aus diesem Beitrag:
Beitrag "Re: Schrittmotor mit L6219 und tiny2313 - Microstepping funktioniert nicht"
Der Motor läuft mit Mikroschritt ein wenig unrund (1-2 stärkere Schritte
und 4 schwache oder so), aber er läuft im Kreis und wenn die Schritte
gezählt werden, kommt man mit 1200 auch einmal um 360° (Moto hat 1,8°
Vollschritte).
Aber der Halbschritt macht einfach Probleme: Ein Dauerlauf ist nicht
möglich, die Welle ruckelt hin und her, macht manchmal 3-4 Schritte in
eine Richtung, dann gehts wieder rückwärts :( Ich habe mir die
Feldvektoren schon zigmal aufgezeichnet und nach Fehlern gesucht, auch
eine Änderung der Strombegrenzung hilft nichts - wobei ich ja eh nicht
weiß, ob die funktioniert (s. oben). Beim schrittweisen Debuggen ist es
gleich, manche Schritte werden sogar ausgelassen.
Für den Halbschritt habe ich die Sequenz aus dem Datenblatt des L6219
implementiert:
1 | 0x37
|
2 | 0x36
|
3 | 0x1E
|
4 | 0x16
|
5 | 0x17
|
6 | 0x12
|
7 | 0x1A
|
8 | 0x32
|
ACHTUNG: Meine Belegung ist die folgende:
Bit: 7 6 5 4 3 2 1 0
Fkt: x x Ph2 I12 I02 Ph1 I11 I01
Hat jemand eine Idee? Meine Schritte kommen im Abstand vom Bereich
1-100ms.