Schrittmotor mit L6219 und tiny2313 - Microstepping funktioniert nicht

Gast #2106374
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
Angehängte Dateien:

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