Forum: Mikrocontroller und Digitale Elektronik Schrittmotor mitlesen


von Thomas H. (flaretom)


Angehängte Dateien:

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?

von aa (Gast)


Lesenswert?

du hast keine binären signale am schrittmotor, sondern trinäre +/-/0

von Lehrmann M. (ubimbo)


Lesenswert?

Thomas Horn schrieb:
> Gibt es eine elegantere Methode, um an die Schrittmotorposition
> heranzukommen?

optische Drehgeber an Achse, Hallsensor ...

von Floh (Gast)


Lesenswert?

Thomas Horn schrieb:
> Gibt es eine elegantere Methode, um an die Schrittmotorposition
> heranzukommen?

Was ist es denn für ein Schrittmotor? bipolar (4/6 Adern) oder unipolar 
(5/6 Adern)?

von Thomas H. (flaretom)


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

von hans (Gast)


Lesenswert?

Bist du dir sicher, dass die Bilder die Schritte zeigen?

Ich lese 10 us/Div

Das ist wohl ehr vom Chopper.

hans

von Thomas H. (flaretom)


Lesenswert?

@Hans
Jetzt wo Du's sagst. Die Frequenz liegt bei ca 150kHz. das kann ja kein 
Schritt sein.
Also noch 'nen Tiefpass drüber und nochmal messen.

von hans (Gast)


Lesenswert?

Schau doch die Signale am A6615 direkt an.

Belegung hast du ja ;)

Beitrag "datenblat vom a6615sed"

hans

von Thomas H. (flaretom)


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 ;)).

von woko (Gast)


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.

von Thomas H. (flaretom)


Angehängte Dateien:

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).

von Thomas H. (flaretom)


Angehängte Dateien:

Lesenswert?

LA an serieller Schnittstelle des A6615SED.
Es werden 2*16bit übertragen und durch STB Impuls übernommen. Das erste 
Wort ist scheinbar immer 0x200c, das andere wechselt. Wenn ich die Daten 
exportiert bekomme, versuche ich sie mal zu dekodieren.

von Thomas H. (flaretom)


Angehängte Dateien:

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

von Thorsten O. (Firma: mechapro GmbH) (ostermann) Benutzerseite


Lesenswert?

Hallo Thomas!

Darf ich fragen, was du da für einen Logic-Analyzer im Einsatz hast? Das 
Teil würde mir auch gefallen...

Mit freundlichen Grüßen
Thorsten Ostermann

von Thomas H. (flaretom)


Lesenswert?

Das ist ein DigiView DV-3400 (www.Tech-tools.com). Ich bin auch ganz 
zufrieden damit :).

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.