Schrittmotor mitlesen

OP #2052713
Lesenswert?

Hallo,

Plan:
Ansteuerung eines Schrittmotors anzapfen, um die Schrittmotorposition zu 
errechnen.

Hintergrund:
Ich bin gerade dabei einen Epson C84 in einen Flachbettdrucker 
umzubauen.
Dazu muß sich das Transportbrett (aus einem Flachbettscanner) passend 
zum Druckerkopf bewegen. Da die genaue mechanische Kopplung 
wahrscheinlich zu schwierig wird, wollte ich die Signale des 
Schrittmotortreibers zum Schrittmotor abgreifen und über µC an den 
Schrittmotor des Scannerkopfes weiterleiten. Damit könnte ich auch 
krumme Schrittverhältnisse umsetzen.

OK, soweit so gut.
Zum Abtasten habe ich 2x 6N137 parallel zu den Spulen an den 
Schrittmotor gehängt (jeweils ein OK pro Spule). Die Ausgänge der 
Optokoppler hängen am Logik-analyzer.
Das was dann rauskommt (Anhang) verstehe ich nicht :(.
Was mich verwundert ist, dass die Signale sich bei der 
Schrittmotordrehung gegeneinander verschieben.
Ich hätte erwartet, dass bei der Drehung ein Signal immer mal aussetzt 
(wenn die Spule nicht gefeuert wird), dafür ist die andere Spule an. Das 
wechselt dann immer. (Natürlich sehe ich durch die OKs nur eine Seite 
der Halbwelle).

Wo ist mein Denkfehler?
Gibt es eine elegantere Methode, um an die Schrittmotorposition 
heranzukommen?
Angehängte Dateien:
OP #2052739
Lesenswert?

@aa
Das ist klar, die OKs schalten nur im + Teil durch. Aber wenn ich mir 
Diagramme mit Schrittmotor-Signalen ansehe 
(z.b.=http://upload.wikimedia.org/wikipedia/commons/d/dd/Ansteuerung_Schrittmotor.jpg) 
dann bleibt die Position der Signale zueinander fest.

@ubimbo
Die müßte man erstmal haben + mechanisch befestigen usw. Hallsensor zu 
ungenau.
Der Drucker macht scheinbar Mikroschritt. Den möchte ich zumindest 
annähernd rausbekommen.

Stepper ist bipolar. Hängt an einem Allegro A6615SED
OP #2053074
Lesenswert?

Ja, mit dem Gedanken hatte ich auch schon gespielt. Allerdings gibt's 
keine Beschreibung des Interfaces des 6615. Könnte höchstens sein, dass 
der A3992 das gleiche benutzt. Das wären dann 2* 19bit seriell (bis zu 
12 MHz), die man in den µC lesen müßte (mit CPLD/FPGA wollte ich nicht 
unbedingt anfangen ;)).
Gast #2053084
Lesenswert?

der A6615 hat je 2 Clock und Data Eingänge. Schaut wie ein serielles IF 
aus. Da könnte man ja mithorchen, der IC muß ja eine Position gesendet 
bekommen. Mit CLK und DIR wäre das Mitzählen ganz einfach.
Direkt man Motor geht mitzählen meines Wissens  nicht, weil da meist ein 
Choppersignal zur Stromregelung drauf ist.
OP #2053451
Lesenswert?

Ich werde da auch mal den Analyzer ran hängen. Der A6615 hat 2 
Ausgangsstufen und für jede Stufe ein serielles Interface. Wenn es so 
aufgebaut ist wie beim A3992, dann hat sendet der Drucker-Controller DAC 
Werte für die beiden Halbbrücken, die man dann untersuchen muss.
Ich denke aber das Problem wird die Frequenz des CLK sein verbunden mit 
einer krummen Bitzahl (falls wie beim A3992). Das bekommt man dann nicht 
mehr mit einem AVR eingelesen.
OK, werde ich sehen, wenn ich den LA dran hatte (vlt. heute Abend).
Angehängte Dateien:
OP #2056096
Lesenswert?

Falls es jemanden interessiert ;):
Anbei ein paar Ergebnisse.
1 - Als Text, die an den A6615 gesendeten Daten (die immer 
wiederkehrenden 0x200C schon mal rausgeworfen)
2 - LA-Ausgabe, in der man schön die Abfolge der einzelnen Pakete sieht. 
Links wird beschleunigt (immer häufiger Updates der DAC-Werte), nach 
rechts wieder abgebremst, was die Pakete ganz rechts sollen ist mir 
unverständlich.
3 - Versuch, die Paket aufzuschlüsseln
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