Autor |
|
|
|
BID = 658632
kurtzschluss Gesprächig
Beiträge: 146 Wohnort: 33184
|
|
Hallo liebe Elektronikfreunde,
Da vor kurzem mein Taschenrechner von Casio HR-9
(10-stelliger Druck + Vor- und Nachzeichen = 12-stellig)?
den Dienst Quittierte, dachte ich mir man könnte das Druckwerk mit einem atmega8 zum Rattern bringen
Also das Druckwerk ist ein Epson Model-52,
es enthält einen Motor der nur in eine Richtung drehend sinnvoll arbeitet,
eine Magnetspule und ein Druckrad mit 2x15 Zeichen,
Achja und eine Art mechanischen Dreh-Encoder(?).
Dort liegt an einem(von 4) Kabel +5V an und je nach Stellung kommt an einem oder mehreren Kabeln die 5V wieder an.
Habe mal versuchsweise drei LED angeklemmt um mir ein Bild von der Encoder-Ausgabe zu machen:
G=Grüne LED O=Gelbe LED R=Rote LED S=Sonderzeichen L=LEER
_'= Platzhalter
Code : |
LED: OOO
LED: RGRGRGRGRGRGRGRGRGRGRGRGRGRGRG
'Rad1:L_7_0_8_1_9_2_-_3_,_4_S_5_#_6
Rad2:R_E_S_S_M_+_C_x_-_:_=_S_L_*_%
|
|
Die LED O leuchtet bei jeder 2ten Umdrehung des Druckrades auf.
Die Spule schaltet das Druckrad in 4(?) verschiedene Zustände/Stellungen:
Druck an Position 12 mit Rad 2
Druck an Position 1-11 mit Rad 1
Positionsvorschub (oder wie das Heißt)
Rücklauf auf Position 12, dabei LED R AN
Der Elektrische Anschluß am Mega8 ist vollbracht, nun gehts ans Programmieren und genau da weiß ich nicht weiter
Wollte es mit Bascom machen, da ich damit bisher ganz gut zurecht kam.
Da meine Anschlüße am Mega8 alle belegt sind wollte ich eine evtl zu Druckende Zahl erstmal aus einer Variable oder Konstanten holen, Eingabe per Taster dann später, irgendwie
Aber wie soll ich Beginnen, womit Anfangen?
Ist mein erstes größeres Projekt mit nem uC.
Wäre für Denkanstöße sehr Dankbar
|
|
BID = 659146
ffeichtinger Schreibmaschine
Beiträge: 1050 Wohnort: Traunkirchen im Salzkammergut
|
|
Hallo
Also so ganz kann ich mir das Druckwerk noch nicht vorstellen, ehrlich gesagt. Vielleicht könntest du ein paar Fotos machen.
Du sagst, du hast das Druckwerk bereits an den Mega8 angeschlossen. Bist du denn auch sicher, dass alle Ein und Ausgänge so funktionieren wie du dir das das vorstellst. Zeicg doch mal deine Schaltung.
Versuch doch erst mal den Moter und die Spule mit dem Controller ein und aus zu schalten usw.
Dann musst du versuchen aus dem Encoder eine Information über die Radstellung zu entlocken.
Wenn ich das richtig verstanden habe dann hast du quasi 2 digitale Eingänge, die abwechseln low oder high sind, und der Motor dreht nur in eine Richtung. Es muss also beim Wechels eines Eingangs um 1 weiter gezählt werden.
mfg Fritz
[ Diese Nachricht wurde geändert von: ffeichtinger am 1 Jan 2010 19:56 ] |
|
BID = 659200
perl Ehrenmitglied
Beiträge: 11110,1 Wohnort: Rheinbach
|
Zitat :
| nun gehts ans Programmieren und genau da weiß ich nicht weiter |
Deshalb schaut man sich die Ansteuerung ja auch auf einem Oszilloskop an, bevor man den Originalrechner auseinanderreisst.
Jedenfalls solltest du Magnetspulen oder Thermodruckköpfe nicht einfach einschalten, weil es dann ziemlich schnell rauchen wird.
Es empfiehlt sich sogar den Watchdog des µC zu programmieren, damit die Ansteuerung rechtzeitig abgeschaltet wird, falls das Programm abstürzt.
Solch kleine Druckwerke stammen oft von Seiko/Epson. Vielleicht findest du da ein Datenblatt mit den empfohlenen Ansteuerbedingungen.
|
BID = 659268
kurtzschluss Gesprächig
Beiträge: 146 Wohnort: 33184
|
Zitat :
|
Versuch doch erst mal den Moter und die Spule mit dem Controller ein und aus zu schalten usw.
|
Das klappt schon erfolgreich
Zitat :
|
Dann musst du versuchen aus dem Encoder eine Information über die Radstellung zu entlocken. |
Das funktioniert ja auch, bei mir hängts eben "nur" daran die Spule genau dann zu schalten wenn das Rad in der gewünschten Position ist.
Zitat :
|
Deshalb schaut man sich die Ansteuerung ja auch auf einem Oszilloskop an, bevor man den Originalrechner auseinanderreisst. |
Hmm, der Rechner war aber Kaputt , also ging das nicht
Auf dem Bild wo eine 4 auf dem Motor gemalt ist sieht man das Druckrad in Position 12, Betätige ich die Spule in dieser Position wird entweder an dieser Stelle mit dem unteren Druckrad gedruckt oder die Position um eins nach vor geschoben, dabei geht das obere Druckrad "runter".
|
BID = 659280
kurtzschluss Gesprächig
Beiträge: 146 Wohnort: 33184
|
BC548
+--------------oC
oB-------PortB.2
M+--_ oE---|
^ |--oB K395
M-----------------oC
oE
-----------------------|
Zwischen M+ und M- sitzt eine Diode
Die Spule ist genauso angeschlossen am PortB.3
Der encoder ist am PortC.0-3 ohne weitere Elektronik.
PortC.2 ist dauerhaft auf High geschalten und C.0, C.1 und C.3 warten auf "Input"
PortB.1, B.4 und B.5 sind mit jeweils einer Led verbunden welche auch leuchtet sobald der Encoder "gedreht" wird, also je nach Position des Encoders.
An B.0 ist ein Taster der bei Betätigung PortB.2 auf High schaltet und das ganze in Bewegung versetzt.
PortD ist reserviert für ein LCD.
C.4 und C.5 sind für den I 2C-Bus Reserviert
Wie schon gesagt, mit dieser Schaltung bekomme ich den Motor zum drehen, und der Encoder liefert auch Ergebnisse.
Muss das ganze nur noch Sinvoll auswerten und die Spule im richtigen Augenblich schalten...
|
BID = 659319
ffeichtinger Schreibmaschine
Beiträge: 1050 Wohnort: Traunkirchen im Salzkammergut
|
Hallo
Also vielleicht hab ich da ja auch eine zu primitive Vorstellung von dem Ganzen, aber wie wärs einfach den Motor dann aus zu schalten wenn die gewünschte Stellung erreicht ist und dann die Spule zu betätigen?
Ich weiß jetzt nicht wie schnell das Ding dreht bzw. wie schnell es wieder steht, es könnte auch sein, dass das Rad derweil schon um ein paar Stellungen weiter gelaufen ist???
mfg Fritz
_________________
|
BID = 659341
kurtzschluss Gesprächig
Beiträge: 146 Wohnort: 33184
|
Zitat :
|
Vielleicht hab ich da ja auch eine zu primitive Vorstellung von dem Ganzen, aber wie wärs einfach den Motor dann aus zu schalten wenn die gewünschte Stellung erreicht ist und dann die Spule zu betätigen?
|
Der Motor muß ja laufen damit das Ding druckt.
Die Spule schiebt über einen Umlenkmechanismus einen Hebel vor ein Zahnrad, je nachdem wie lang das Zahnrad "blockiert" ist wird der Druckvorgang ausgelöst, die Position vorgeschoben oder in Neutralstellung gefahren. Dreht der Motor ohne das man mit der Spule eingreift, wird nur das Druckrad gedreht.
Zitat :
|
Ich weiß jetzt nicht wie schnell das Ding dreht bzw. wie schnell es wieder steht, es könnte auch sein, dass das Rad derweil schon um ein paar Stellungen weiter gelaufen ist??? |
Ja das dreht sich ziemlich schnell, die LED scheinen dauerhaft zu leuchten, dreh ich manuell dann kann man sehr shön sehen wann die LED an und aus gehen.
Hab schon versucht mit PWM den Motor zu verlangsamen, aber dann hat er nicht mehr genug Kraft.
|
BID = 659343
ffeichtinger Schreibmaschine
Beiträge: 1050 Wohnort: Traunkirchen im Salzkammergut
|
Zitat :
|
Die Spule schiebt über einen Umlenkmechanismus einen Hebel vor ein Zahnrad, je nachdem wie lang das Zahnrad "blockiert" ist wird der Druckvorgang ausgelöst, die Position vorgeschoben oder in Neutralstellung gefahren. Dreht der Motor ohne das man mit der Spule eingreift, wird nur das Druckrad gedreht. |
Das hört sich ja ganz schön russisch an. Da wärs wohl einfacher einen Laserdrucker neu an zu steuern.
mfg Fritz
_________________
|
BID = 659444
kurtzschluss Gesprächig
Beiträge: 146 Wohnort: 33184
|
Hmm, Russisch nicht, ist doch made in Hong Kong
Hab hier was gefunden:
GOOGLE-CAHED-SITE
Hört sich ja schonmal gut an, ist zwar über das model 42, sollte wohl aber Baugleich mit dem model 50 sein, laut Fotos.
Warte nun noch das ich die Daten bei Rapidshare mal bekomme
|