Gruss aus Berlin! Vorhaben ----------------------------------------------------- Aus einem mobilen Drucker (CANON BJC-50) ein mobiles Gerät für automatisierte spektrale Farbmessungen (Patch-Matrix) mithilfe von Gretag MacBeth Spectrolino (Spectrophotometer), das auf den Druckkopfschlitten platziert wird. Spectrolino kommuniziert via RS232 (RxD,TxD), der Drucker bzw. das zukünftige Einzuggerät soll ebenfalls über RS232 kommunizieren können, vorzugsweise beide über einen Port. CANON BJC-50 > http://piese-imprimanta.ro/pdfs/1249_Canon%20BJC-5... Spectrolino > http://www.xrite.com/documents/literature/gmb/en/2... Obwohl ich bereits ein XY-Messtischbesitze, möchte ich ein Zweitgerät, das mobil, leise und "endlos" die Farbcharts scannt. Für High-End Farbprofile (Reproduktion, HDR-Fotograpfie, Art-Print) benötigt man ab 4096 Farbmessungen aufwärts. Mit dem XY-Tisch ist es einfach zu unbequem, da auf die maximale Fläche von 31x24cm mit einer Patch-Grösse von min. 6mm höchstens 1750 Farbfelder passen und mitnehmen kann man das Ding auch nicht. Funktionen ----------------------------------------------------- Manuelle Funktion: Position via mini Joystik (L,R,U,D, CENTER als enter) definieren - erstes Farbfeld, 2 Farbfeld, letztes Feld in der 2en Reihe, anhand dieser Positionswerte wird via Software eine Positionsmatrix für den Scan errechnet Nach jeder Farbfeld-Reihe fährt Schlitten mit dem Messgerät in die Home Position und misst White Point (Keramikbaustein) und fährt weiter zum ersten Feld der nächsten Reihe (Papiereinzug-Motor>nächste vertikale Koordinate). Softwaregesteuert: via RS232 Kommandos an Spetrophotometer senden und Daten empfangen, zuvor errechnete Positionskoordinaten an das Einzugsgerät senden Problem ----------------------------------------------------- Da ich momentan eher eine Niete bin, was die Microcontroller-Welt angeht, und durch viele Recherchen schlauer, aber doch nicht schlau genug geworden bin, die fundamentale Frage ist: welchen Controller für 2 Schrittmotoren, der möglichst kompakt ist (wegen dem Einbau in den Drucker) und via RS232 kommunizieren kann, zusätzlich per manuelle Steuerung (L,R,U,D und Enter) am Gerät selbst reagiert? Habe mir vieles angeschaut: Trinamic, Nanotec, Allegro, Atmel, Conrad* etc. - für einen Neueinsteiger ist ne Qual einfach das Richtige zu finden. Ist es möglich ohne Eval-Boards so etwas auf die Beine zu stellen? Ich würde möglichst auf die externe Gerätschaften (Controller unit in der Box, die nebenan steht) vezichten wollen. Von der Idee her gefällt mir RN-Schritmotorsteuerung (Commandointerpreter), aber nur das. Die alten 297,298 auf dem Mamutboard mit überdimenionalem Kühlkörper ist nicht gerade fortschrittlich (Okay, ist eher für Roboter gedacht...) Was ich weiss ----------------------------------------------------- Motorentyp: (siehe Anhang) bi-polar, 6 Pins (werden nur 4 verwendet, allerdings je nach Motor unterschiedlich kombiniert). Wieviel Volt die brauchen kann ich nicht sagen (Recherche ergab nichts), was ich aber weiss, dass IC (Mitsubishi M54676P) 500mA verträgt. Ich habe die Motoren kurz an 2 Mignon angeschlossen (1+5, 3+4 beim Carriage Motor und 2+5 und 3+4 beim Paperfeed, die zucken bzw. drehen sich. Wie Motoren funktionieren weiss ich, das ist nicht das Problem. Die Originalteile vom Board kann ich sicher nicht verwenden, oder? Ich poste mal die Infos trotzdem MITSUBISHI M54676P > http://www.psychosystems.de/MIKROCONTROLLER/M54676P.pdf M54676P SCHEMA (CARRIAGE MOTOR DRIVER) > http://www.psychosystems.de/MIKROCONTROLLER/M54676p.png ULN2003(G) SCHEMA > http://www.psychosystems.de/MIKROCONTROLLER/ULN2003.png So wie ich das sehe brauche ich kein High-End controller/driver, da die Steuerung sehr linear ist und der Ablauf nicht parallel. Da ich ziemlich schnell lerne, aber momentan nicht weiss womit ich das Fundament legen soll brauche ich einen Denkanstoss. Die Anfängertutorials will ich gleich übergehen und mich mit dem aktuellen Thema ausseinandersetzen. Programmieren kann ich in vielen Sprachen.
Hmm, du hast den Drucker schon auseinandergebaut. Sonst hätte ich gesagt: Nutze den Drucker und lass ihn was drucken damit er die ganze Seite abfährt, ohne Farbe. Dabei lese deinen an Stelle der Patronen im Druckkopf montierten Sensor, und lass die Software bestimmen, wo er gerade ist. Das Muster des abtastens ist ja bekannt, und wann er am Rand ist und wann über der Seite auch, es wird da schon genug markante Sensoreindrücke geben. Nichts mit Joystick und hin und her, sondern ein mal in einem Rutsch und die Software kann ja wohl rausfinden, wo Farbfelder waren. Meinjanur.
MaWin schrieb: > Hmm, du hast den Drucker schon auseinandergebaut. Ja, schon, ich habe aber noch 2 davon... > Sonst hätte ich gesagt: Nutze den Drucker und lass ihn was drucken damit > er die ganze Seite abfährt, ohne Farbe. > Dabei lese deinen an Stelle der Patronen im Druckkopf montierten Sensor, > und lass die Software bestimmen, wo er gerade ist. Ne ne ne... so wird es nicht funktionieren ;-) Meine Schuld, habe nicht detailiert beschrieben... Spectrophotometer will ich nicht auseinanderbauen, denn das Gerät nutze ich ja auch als Stand-Alone. Scannen in der Druckergeschwindigkeit wird nicht funktionieren, da Scanvorgang beim Normalpapier und Tageslichtemulation 1 Sek. für 1 Farbfeld braucht. Es ist ein präzises Gerät, das das Spektrum zwischen 380 mm - 730 mm, CIE oder XYZ Farbkoordinaten zurück sendet. Die von X-Rite EyeOne etc. sind schnell und arbeiten mit frequenzieller Messung, dafür sind die Werte ziemlich ungenau, da das Prinzip auf Average (also Runden) basiert. Das Spectrolino ist 3 mal genauer als die aktuellen Modelle, dafür langsam. > Nichts mit Joystick und hin und her, sondern ein mal in einem Rutsch und > die Software kann ja wohl rausfinden, wo Farbfelder waren. Joystick ist nur für die Errechnung der Abstände (vertikal und horizontal in Schritten), so wie auf dem XY-Tisch oder bei Schneideplottern, 3 oder 4-Punkt-Kalibrierung, damit das Gerät später auf die Koordinaten fahren kann.
Du weißt, das es für diesen Drucker einen Scankopf gibt? IS-12 heißt das Teil. Der Drucker wird damit zum Einzugsscanner, der komplett über die vorhandene parallele oder USB-Schnittstelle gesteuert wird. Vielleicht kannst Du den Drucker so besser steuern, wenn er denkt, daß der Scankopf drin ist. fchk
Frank K. schrieb: > Du weißt, das es für diesen Drucker einen Scankopf gibt? IS-12 heißt das > Teil. Der Drucker wird damit zum Einzugsscanner, der komplett über die > vorhandene parallele oder USB-Schnittstelle gesteuert wird. > > Vielleicht kannst Du den Drucker so besser steuern, wenn er denkt, daß > der Scankopf drin ist. Spectrophotometer ist kein Scanner, Leute! ;-) Das Gerät hat einen spektralen Sensor drin. Das eigentliche Gerät funktioniert so: entweder manuell (Tastendruck am Gerät) oder via RS232 startet man Messung, der Kopf soll sich auf der Vorlage befinden, egal ob Papier, Textil etc. Im Gerät selbst ist eine Linse, dahinter befindet sich der Sensor, um die Linse herum ist eine Lampe (die Vorlage wird damit beleuchtet), der Sensor misst spektral die Farbe der Vorlage und schickt die Werte an den Host. So viel zu den Prozedur und der Funktionalität des Gerätes. Guckt das Video für besseres Verständnis an: http://www.youtube.com/watch?v=SvOERJXFLro Das Gerät, in diesem Fall im Video, wird auf den XY-Tisch eingesteckt. Habe ich, will aber Einzug! Die eigentliche Frage war: womit realisiere ich mein Vorhaben am besten, welchen Controller/welche Steuerung eignet sich bei diesen Voraussetzungen am besten? Es sollte möglichst kompakt sein, sprich in den Drucker passen und nicht als das exterene Modul rumliegen.
Wie laut der XY-Tisch im Progress ist könnt ihr mal hier hören. http://www.youtube.com/watch?v=sXaF-rRKHeI&feature=related Arbeiten am PC während das Ding läuft ist auf Dauer einfach unzumutbar. Bei 4 Blätter A4 Farbchart dauert dies ne Weile und man muss die Blätter nach jedem Scan des Blattes wechseln. Ich will einfach die Prozedur einfacher/leiser gestalten.
Die Drucker Elektronik kann man kaum verwenden, die wird zu schnell sein (vor allem beim Druckkopf) und die Ansteurung ist auch nicht ganz einfach. Mit etwas Glück könnte man das Netzteil weiterverwenden. Die Aufgabe das ganze selbt zu steuern ist aber auch nicht so schwierig. Da sollte schon ein realtiv kleiner µC reichen, z.B. ein Atmel Mega88 könnte schon reichen. Als Reserve könnte man ggf. etwas mehr Platz vorsehen. Man könnte die Steuerung ggf. auch weitgehen einem PC über die LPT schnittstelle überlassen. Ich vermute mal das ohnehin ein Notebook geplant ist, um die Daten aufzuzeichnen. Das reine Aufzeichnen der Daten könnte ein µC mit z.B. ein SD-Karte auch noch erledigen. Es sollte auch gehen die Daten auf eine RS232 verbindung zusammenzufassen. Zumindest wenn die Baudrate nicht so hoch ist, brauchtman dazu nichtmal einen µC mit einer 2 ten UART. Wenn es nicht so sehr auf Geschwindigkeit und nicht so sehr auf Stromsparen ankommt, ist auch die Steuerung von schrittmotoren nicht kompliziert. Für 500 mA, oder auch etwas weniger, damit die Motoren nicht so heiß werden sollte ein einfacher Treiber IC wie L293D für einen Motor reichen. Den Strom kann man ggf. einfach über Widerstände in Reihe zum Motor einstellen. Ich weiss, das ist nicht mehr modern, aber dafür schön einfach, und vor 20 Jahren hat es auch gut funktioniert. Es ist möglich so etwas ohne ein extas EVAL Board zu erstellen. Die Aufgabe ist aber auch nicht so ganz einfach, man sollte sich vorher schon ein bischen in die µC Programmierung einarbeiten. Dafür ist dann so ein fertiges Board schon eine Hilfe.
Die Links oben funzen nicht, hier die Korrektur: CANON BJC-50 > http://piese-imprimanta.ro/pdfs/1249_Canon%20BJC-50%20Service%20Manual.pdf Spectrolino > http://www.xrite.com/documents/literature/gmb/en/200_spectrolino_manual_en.pdf
Abend Ulrich! Ulrich schrieb: > Die Drucker Elektronik kann man kaum verwenden, die wird zu schnell sein > (vor allem beim Druckkopf) und die Ansteurung ist auch nicht ganz > einfach. > Mit etwas Glück könnte man das Netzteil weiterverwenden. Das Netzteil habe ich vor weiter zu nutzen, stimmt. > Die Aufgabe das ganze selbt zu steuern ist aber auch nicht so schwierig. > Da sollte schon ein realtiv kleiner µC reichen, z.B. ein Atmel Mega88 > könnte schon reichen. Als Reserve könnte man ggf. etwas mehr Platz > vorsehen. Man könnte die Steuerung ggf. auch weitgehen einem PC über > die LPT schnittstelle überlassen. Ich vermute mal das ohnehin ein > Notebook geplant ist, um die Daten aufzuzeichnen. Das reine Aufzeichnen > der Daten könnte ein µC mit z.B. ein SD-Karte auch noch erledigen. Es > sollte auch gehen die Daten auf eine RS232 verbindung zusammenzufassen. > Zumindest wenn die Baudrate nicht so hoch ist, brauchtman dazu nichtmal > einen µC mit einer 2 ten UART. Notiert. (Atmel Mega88) LPT will ich ungerne nutzen, da es dann 2 gemischte Ports sind. Soll einhetlich bleiben, also RS232 > Wenn es nicht so sehr auf Geschwindigkeit und nicht so sehr auf > Stromsparen ankommt, ist auch die Steuerung von schrittmotoren nicht > kompliziert. Für 500 mA, oder auch etwas weniger, damit die Motoren > nicht so heiß werden sollte ein einfacher Treiber IC wie L293D für einen > Motor reichen. Den Strom kann man ggf. einfach über Widerstände in Reihe > zum Motor einstellen. Ich weiss, das ist nicht mehr modern, aber dafür > schön einfach, und vor 20 Jahren hat es auch gut funktioniert. Ja, genau. Keine Kraftmotoren, keine komplizierte, schnelle Fahrten. Braucht man für den 293er eigentlich Kühlkörper? Ich habe es so vertanden, je höher die A-Zahl desto mehr Kühlung man braucht. 297/298 soll bei ungeregeltem Strom über 2A verbrennen, habe ich irgendwo aufgeschnappt. > Es ist möglich so etwas ohne ein extas EVAL Board zu erstellen. Die > Aufgabe ist aber auch nicht so ganz einfach, man sollte sich vorher > schon ein bischen in die µC Programmierung einarbeiten. Dafür ist dann > so ein fertiges Board schon eine Hilfe. Ja, so dachte ich mir auch. Für die Entwicklung braucht man schon EVAL, da es quasi ein Prototyp ist und kein Endergebnis.
Ein bischen Kühlung wäre vielleicht nicht schlecht, wenn der L293 500 mA auf beiden Kanälen Treiben soll. Im Prinzip sollte es auch noch gerade ohne gehen. Der Treiber im Original ist ja auch nicht stärker, sondern eher etwas kleiner. Es gibt auch noch andere Treiber, der L293 ist ziehmlich billig, gut zu bekommen und sollte noch reichen. So ein Eval board braucht man nicht unbedingt, aber es hilft sehr. Es hift einfach wenn man für ersten Versuche eine funktionierende Hardware hat. Es sind sonst doch ziehmlich viele neue Dinge auf einmal. Bei den Eval Boards ist teils gleich ein µC mit Bootloader mit dabei. Ohne den bräuchte man dann noch einen kleine Hardware (Programmer), um das Programm zu übertragen. Später kommt man ohnehin nicht wirklich drum rum, sonst hat man nur den einen µC vom Board. Der Drucker ist schon relativ kleine. Da wird man es vermutlich schon selber was zusammenlöten müssen. Ganz viel an Hardware sollte da ja nicht gebraucht werden: Die beiden Treiber, der µC mit Quarz, Spannunsgregler, ein Pegelumsetzer für die RS232 und dann Tasten/Joystick und ggf. ein paar LEDs. Für die Kommunikation wäre schon interessant wie schnell die Daten vom Spektrometer kommen.
> Der Drucker ist schon relativ kleine. Da wird man es vermutlich schon > selber was zusammenlöten müssen. Ganz viel an Hardware sollte da ja > nicht gebraucht werden: Die beiden Treiber, der µC mit Quarz, > Spannunsgregler, ein Pegelumsetzer für die RS232 und dann > Tasten/Joystick und ggf. ein paar LEDs. Ja, der ist ziemlich klein und wiegt kaum. Die Mechanik ist wirklich sehr kompakt und allgemein das Innenleben sehr rein vom Konzept. Ich war mir zuerst unsicher wegen dem Papiereinzug, da ich ursprünglich den Epson Stylus Color im Auge hatte (war mir doch zu klobig), aber der Canon ist dank "made in japan" so überraschend präzise. Ja, selber löten, anders wird kaum gehen, denke ich mal. Die Platine werde ich übrigens aus flexiblem Material gestalten, die Kupferbahne werde ich wahrscheinlich aus dem Kupferblatt (0.15 mm dick) mit dem Schneideplotter auschneiden. Ein wenig unkonventionell, aber habe schon gesehen wie es gemacht wird - funktioniert einwandfrei. > Für die Kommunikation wäre schon interessant wie schnell die Daten vom > Spektrometer kommen. Also im Stand-Alone-Betrieb ist die Kommunikation schnell (max. 57600 baud), jede Messung, je nach Typ (spektral, Lab, XYZ etc) , "wiegt" auch nicht viel. Wird in ASCII übermittelt, besteht aus Errorcode im header und den Werten so in etwa (SPECTRUM (nm380-730 in 10 nm Schritten) > "34 <CR> 0.0464 0.0493 0.0524 0.0574 0.0604 0.0606 0.0599 0.0582 0.0566 0.0558 0.0546 0.0541 0.0532 0.0518 0.0505 0.0495 0.0488 0.0468 0.0440 0.0431 0.0446 0.0474 0.0492 0.0498 0.0507 0.0522 0.0547 0.0579 0.0608 0.0628 0.0653 0.0714 0.0814 0.0942 0.1087 0.1255" *34 ist die erfolgreiche Messung == no errors oder meinst Du, MAX232 "schluckt" die Bandbreite?
Für den MAX232 sollten die 57 kBaud noch kein Problem sein. Da gäbe es auch schnellere, wenn es sein muß. Beim µC hat man da eventuell ein Problem. Per hardware UART sind auch 57 kBaud drin, aber oft ist davon nur ein Kanal vorhanden. Für eine Software UART sind 57 kBaud dagegen schon ziehmlich viel, vor allem zum Empfangen - senden sollte noch gehen. Es gibt aber auch µCs mit 2 Hardware UARTs. So wie ich dsa sehe braucht man wohl die Vernindungen PC<-> µC und µC <-> Spektrometer Also im Prinzip 2 UART verbindungen. Die Daten von Spektrometer werden an den PC weitergeleitet und ggf. die Position angehängt. So klein, das man keine normale Platine mehr unterbringt, sollte nicht nötig sein. Der µC ist als SMD Version wirklich klein. Bei den Treibern braucht man wegen der Kühlung schon etwas Größe, oder man nimmt einen der weniger Abwärme produziert.
Ulrich schrieb: > Für den MAX232 sollten die 57 kBaud noch kein Problem sein. Da gäbe es > auch schnellere, wenn es sein muß. Beim µC hat man da eventuell ein > Problem. Per hardware UART sind auch 57 kBaud drin, aber oft ist davon > nur ein Kanal vorhanden. Für eine Software UART sind 57 kBaud dagegen > schon ziehmlich viel, vor allem zum Empfangen - senden sollte noch > gehen. Es gibt aber auch µCs mit 2 Hardware UARTs. du meinst sicherlich den MAX238? der hat 4/4 kann man nicht, theoretisch gesprochen, auch 2 von MAX232 nehmen oder wäre das unsinnig? > ...oder man nimmt einen > der weniger Abwärme produziert. welcher wäre dann in dem Fall?
Der max232 sollte schon reichen, der hat 2 Treiber und 2 Empfänger. Oder werden noch Handshakeleitungen gebraucht ? Treiber mit weniger Abwärme wären z.B.: L6201, L6219. Das problem beim L293 und anderen Bipolaren Treibern ist der relativ hohe Spannungsverlust am high side Transistor. Es ist ohnehin noch zu klären, welche Spannung man bracht und zur verfügung hat. Wenn die Motoren nicht so schnell laufen müssen, wäre eventuell eine niedriegere Spannung als in der Schaltung im Drucker besser. Ist das Netzteil bei dem Drucker extern ?
Ulrich schrieb: > Der max232 sollte schon reichen, der hat 2 Treiber und 2 Empfänger. Oder > werden noch Handshakeleitungen gebraucht ? Handshake ist zwar möglich, muss aber nicht sein > Treiber mit weniger Abwärme wären z.B.: L6201, L6219. > Das problem beim L293 und anderen Bipolaren Treibern ist der relativ > hohe Spannungsverlust am high side Transistor. > Es ist ohnehin noch zu klären, welche Spannung man bracht und zur > verfügung hat. Wenn die Motoren nicht so schnell laufen müssen, wäre > eventuell eine niedriegere Spannung als in der Schaltung im Drucker > besser. > > Ist das Netzteil bei dem Drucker extern ? Ja, extern... moment, muss schauen... 13V 1.8A Scheint mir zu viel zu sein... entweder muss ich auf das andere ausweichen oder den Strom durch Regler "ausbügeln" Spectrolino braucht 10-24V / max. 4 Watt - Originalnetzteil von Gretag hat 15V 0.8A
SMD LED's vertragen beispielsweise nur Strom: 20mA Spannung: 2,0V da muss ich mich noch mal mit dem Thema auseinandersetzen Widerstände, gerade jetzt am Anfang, ist für mich noch unerforschtes Gebiet, aber ich bin voller Hoffnung ;)
Bei den LEDs ist das kein Problem. Die muß man ohnehin mit einem Vorwiderstand anschließen. Da die LEDs von µC mit wohl 5 V angesprochen werden, wird da ein Widerstand von z.B. 470 Ohm passen. Das gibt dann etwa 6 mA pro LED, das sollte reichen. Bei der Frage stellt sich aber Frage, ob das ganze nicht etwas zu viel für den Anfang ist. Der µC und max232 werden wohl 5 V von einem kleinen Regler brauchen, ist ja auch nicht viel Strom. Der Interesante Teil sind die Schrittmotoren. Die werden vermutlich etwa 500-800 mA gebrauchen. Die Spannung geht nach dem Widerstand der Spulen und ggf. dem extra Widerstand den man dazu spendiert. Beim L6219 geht es wie beim IC aus dem Drucker auch ohne. Ob und wieviel Widerstand man dazu nehemn sollte, hängt von der gewünschten Geschwindigkeit ab.
Tja...muss ich testen. Interessant ist, dass der Motor, der für Papiertransport zuständig ist an 2 ULN2003 angeschlossen ist (deswegen auch 5 Leitungen, 70 Ohm ) ( http://piese-imprimanta.ro/pdfs/1249_Canon%20BJC-50%20Service%20Manual.pdf) Seite 174, 5-34 es handelt sich anscheinend um solche Schaltung http://fred.unis.no/StampII3Mx/Default.htm ich bin gerade etwas irritiert - kann es evtl. doch sein, dass die motoren unipolar sind (wegen 6 pins)? auf dem Gehäuse der Motoren stehen zwar Kennungen, aber ich fand nichts im Web, vermute interne Bezeichnungen... blöd ist, dass im Service Manual nichts näheres dazu steht, die Manuals von Epson dagegen sind sehr detailiert... Papiereinzug > QH4-4206 B0420 Schlitten > QH4-4207 B0221
Mit dem ULN2003 als Treiber wird das dann wohl ein unipolarer Motor sein, und dazu auch nichtmal so besonders leistungsstark. Bei 70 Ohm und maximal 14 V kommt man ja maximal auf 200 mA. Praktisch wohl noch etwas wenger. Unipolar sind auch mindestens 5 Leitungen nötig. Das paßt also. Der andere Motor ist wohl bipolar, und mit einem besseren Treiber IC. So kriegt man mehr Kraft und Geschwindigkeit aus der gleichen größe Motor. Die größere Geschwindigkeit wird hier wohl nicht gebraucht. Die Bipolare Ansteuerung wird man aber vermutlich beibehalten müssen, schon wegen der Kraft.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.