Forum: Mikrocontroller und Digitale Elektronik Schrittmotor mit L6219 und tiny2313 - Microstepping funktioniert nicht


von Verwirrter Anfänger (Gast)


Angehängte Dateien:

Lesenswert?

Hi,
ich bin endlich dazu gekommen meine Schrittmotorplatine aus:
Beitrag "L6219 Schrittmotor Treiber - Fragen und Feedbackwunsch"
umzusetzten. Jetzt gehts an die Programmierung. Um erstmal viel 
bestehenden Code nutzten zu können, wollte ich einen tiny2313 einsetzen, 
der ein DIR und STEP Eingang hat, und das ganze dann passend für den 
L6219 umsetzt.

Die Beschaltung des 2313 ist recht simple:
STEP an PB0
DIR and PB1
Der Motor an PortD
Der Tiny selbst hat einen 100nF und einen 10uF Kondensator von VCC zu 
GND und den reset pullup. Das ganze ist auf einem Steckbrett aufgebaut.
Als Motor benutze ich den Schlitten aus einem alten DVD Laufwerk

Der Vollschrittmodus funktioniert sehr gut, ist aber etwas grob.
Im Halbschritt modus werden manchmal einzelne Schritte "verschluckt", es 
tut sich also nichts wenn er weitergehen sollte. Ich schätze, dass das 
ca. jeder 4te Schritt ist, ist aber nicht immer gleich.

Im Mikroschritt modus tut sich 2/3 der Zeit nichts und dann ruckt der 
Motor vorwärts. Für den Mikroschritt modus hab ich mir folgende Tabelle 
ausgedacht:
1
Grad    I1    I2
2
0°      0     1
3
22.5°   1/3   1
4
45°     2/3   2/3
5
67.5°   1     1/3
6
90°     1     0
7
112.5°  1     -1/3
8
135°    2/3   -2/3
9
157.5°  1/3   -1
10
180°    0     -1
11
202.5°  -1/3  -1
12
225°    -2/3  -2/3
13
247.5°  -1    -1/3
14
270°    -1    0
15
292.5°  -1    1/3
16
315°    -2/3  2/3
17
337.5°  -1/3  1

Passt das überhaupt?
Ist vielleicht ein anderer Fehler in meinem Code, oder bleibt nur die 
Hardware übrig?

Ciao,
VA

von spess53 (Gast)


Lesenswert?

Hi

>Passt das überhaupt?

Nein. Der 'Mikroschritt modus' hat 6 'Mikroschritte' pro Vollschritt.
Das ergibt folgende Sequenz für 4 Vollschritte:

$0E,$0D,$0B,$09,$19,$29,$31,$21,$11,$01,$03,$05,
$06,$04,$02,$00,$10,$20,$30,$28,$18,$08,$0A,$0C

mit der Codierung:

Bit   5    4    3    2    1    0
     I12  I02  PH2  I11  I01  PH1

MfG Spess

von Verwirrter Anfänger (Gast)


Lesenswert?

Super vielen Dank, dass hat schonmal sehr geholfen. Manchmal stottert 
der motor zwar noch, aber das kann gut an den inzwischen sehr 
abgenutzten Zahnrädern liegen.

Morgen werd ich mir nochmal die Kurve aufzeichnen und das mit deinen 
Werten vergleichen.

Ciao,
VA

von BVR (Gast)


Angehängte Dateien:

Lesenswert?

Der L6219 ist für Mikroschritte sehr ungeeignet. Dennoch anbei die AN266 
von STM für 2 x TEA3717 (== 1 x 6219) Ansteuerung (Seite 4).

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.