www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik kann man mit einem avr drucker ansteuern?


Autor: raoul4 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo,
wie schon im betreff beschrieben würde es mich mal interessieren, einen
drucker mit einem avr anzusteuern. ich habe bei mir noch einen alten
drucker stehen (lexmark cjp 1000), der nur darauf wartet etw. zu tun.
ich hab schon bei google geschaut, aber nichts brauchbares gefunden.
vielleicht könnt ihr mir ja helfen???



mfg raoul4

Autor: Bjoern (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
mhh also soweit ich weiß kann man bei den alten druckern noch ASCII
Zeichen direckt an die Datenleitungen hängen also Pin 2 bis 9 aber wie
genau die kommunikation funktioniert weiß ich leider auch nicht.

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hab ne Anleitung, ist allerdings für nen 8051, aber das ganze ist
alles andere als einfach:
Ob der Drucker die Daten empfangen hat, lässt sich nur durch einen
kurzen Impuls auf einer Leitung + den Pegel einer anderen Leitung
erkennen.
Für die ersten Versuche kann man es einfacher machen:
Daten an Pin 2-9, für jedes Byte Pin 1 kurz auf High. Nach jedem Byte
etwa 1ms Pause.

Autor: ICEbAIR (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mich würde das thema auch interessieren. Wäre es möglich, daß du mir die
anleitung per mail zuschickst oder sie hier online stellst?

Gruß
 René

Autor: fksystems (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ein Lexmark tausend ist aber kein alter drucker!

natürlich kann man einen drucker ganz einfach per ascii-zeichensatz
ansteuern. aber dann muß es natürlich auch ein wirklich alter drucker
sein.

aber es wäre mal interessant, ob es zu so welchen neuen druckern schon
projekte gibt.

denn ansonsten müßtest du über den drucker-treiber das
drucker-protokoll analysieren und dies dann nochmal in den
microcontroller einprogrammieren - und das kann natürlich dauern.

Autor: ulrich strobel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
es gibt aber teilweisse immer noch endlosdrucker die mit parralelem
druckerkabel funktionieren. frag doch einfach einmal bei einem
druckerhersteller nach ob die sowas haben; oder ob sie dir das
protokoll veröffentlichen; musste aber vielleicht etwas in die
trickkiste greifen.

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Zur Ansteuerung benötigt man die Datenleitungen, Busy und Ack\ und
Strobe\.
Das Senden eines Bytes:
Daten anlegen, Strobe\ kurz auf Low takten (>1us).
Beim Strobe Impuls setzt der Drucker die Busy Leitung auf High. Nun
wartet man bis Busy auf Low geht.
Hat der Drucker das Byte erfolgreich verarbeitet (oder im Puffer
gespeichert), geht Ack\ für etwa 4us auf Low.

Am besten verwendet man einen Interrupt, um die Ack\ Leitung zu
überprüfen:
Daten anlegen, Strobe\ takten, dann Interrupt (High->Low Flanke)
aktivieren. Der uC kann nun andere Aufgaben erledigen. Kommt der
Interrupt, überprüfen ob Busy Low ist. Wenn ja, dann nächstes Byte
senden, wenn nein, dann max. 1ms warten, wenn immer noch High ->
Drucker offline, Papier leer oder sonstiger Fehler.

Ich würde mal behaupten, dass alle Parallelportdrucker (außer Laser
???) normale ASCII Zeichen direkt drucken.

Autor: raoul4 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
vielen dank für euere antworten!

mfg raoul4

Autor: Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Welche Schnittstelle hat der Drucker denn?
Sofern nur USB vorhanden ist, wird es etwas anstrengender.
Bei Vorhandensein einer parallelen (Centronics-)Schnittstelle ist es
nur eine Frage des Timings. Prinzipiell müsste jeder Drucker den
ASCII-Zeichensatz verstehen, da sämtliche Steuerbefehle von diesem
abgeleitet sind. Früher waren in den Handbüchern zu den Druckern meist
auch Protokolle und Timing-Diagramme angeben. Das bezweifle ich bei
einem Lexmark. Es könnte höchstens sein, dass er entweder Epson-, HP-
oder was auch immer kompatibel ist.
Zu HP und Epson gibt es Unterlagen.
Im Normalfall ist es so, dass man die Daten an die Datenleitungen legt,
/Strobe für eine gewisse Zeit auf log. Null zieht und der Drucker die
Daten übernimmt. Je nach Druckereinstellung wird das Zeichen (sofern
druckbar) sofort gedruckt, oder erst wenn der Speicher voll ist.
---> Stimme also Benedikt zu.
Laserdrucker machen das meistens auch so, warten aber auch gerne auf
ein FormFeed (ASCII-Steuerzeichen).

Wofür man an einem µC einen Drucker betreiben will verstehe ich jetzt
zwar nicht ganz, aber vielleicht liegt das an diesen Betriebssytemen,
die keinen direkten Port-Zugriff mehr ermöglichen, so wie es zu
DOS-Zeiten möglich war.

Gruß Rahul

Autor: Chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

sobald der Drucker nach Eingabe des Dos-Befehls
TYPE Dateiname > LPT1
sinnvolle Zeichen von sich gibt, müßte er für dieses Vorhaben geeignet
sein. Das klappt mit HP-Lasern auch.

Gruß

Autor: Marko B. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es gibt sogar Drucker mit serieller Schnittstelle (für ältere Macs).
Einfach an den UART hängen, einfacher gehts wohl nicht mehr. Wenn der
Drucker dann noch Postscript kann, dann kannst du damit extrem komplexe
Sachen anstellen (z.B. aufwendige Diagramme ausdrucken, wobei der
Drucker dann die Datenaufbereitung übernehmen kann).

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.