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