mikrocontroller.net

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


Autor: Verwirrter Anfänger (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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:
Grad    I1    I2
0°      0     1
22.5°   1/3   1
45°     2/3   2/3
67.5°   1     1/3
90°     1     0
112.5°  1     -1/3
135°    2/3   -2/3
157.5°  1/3   -1
180°    0     -1
202.5°  -1/3  -1
225°    -2/3  -2/3
247.5°  -1    -1/3
270°    -1    0
292.5°  -1    1/3
315°    -2/3  2/3
337.5°  -1/3  1

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

Ciao,
VA

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Verwirrter Anfänger (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: BVR (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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).

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.