Dieses (nicht mehr einzigartige) Gerät ermöglicht den Anschluss eines USB-Druckers an ein Parallelport. LPTzUSB (Namensänderung wegen Androhung einer Markenrechtsklage) kann direkt oder mit einem Verlängerungskabel am Druckerport des Rechners verwendet werden (hat einen 25pol. SubD-Stecker). Auf der anderen Seite wird das zugehörige USB-Kabel mit dem flachen USB-A-Stecker eingesteckt. Am Drucker sollte die quadratische USB-B-Buchse vorhanden sein.
Der eingesetzte Host-Controller unterstützt USB Full-Speed (12 Mbit/s) und Low-Speed (1,5 Mbit/s), nicht jedoch High-Speed (480 Mbit/s).
Je nach Situation kann der Einsatz eines Steckernetzteils notwendig werden! Ob die Firmware auch USB-Hubs unterstützt ist mangels Test nicht aussagbar. Es wird nicht empfohlen und erscheint auch unsinnig.
net use lpt1 \\rechnername\freigabename
“
aufs Parallelport legen.
Wegen des sehr geringen Datendurchsatzes (ca. 30 kByte/s) des unten aufgeführten Modells ist eine Nachfolgeversion mit PIC32MX420, AT32UC3B0128 oder LM3S5632 in Vorbereitung. Diese Lösungen sind obendrein billiger.
Weil dieser Konverter den beim Bastler sehr gebräuchlichen Mikrocontroller-Chip ATmega16 sowie einen „bidirektionalen“ USB-Host/Device-Controller enthält, lässt sich damit alles mögliche programmieren.
Vielleicht braucht ja jemand auch einen Konverter von
GPIB (IEEE488) auf USB.
Also dass sich der USB-Drucker als ein GPIB-Drucker ausgibt.
Kein USB-GPIB-Konverter der herkömmlichen Art.
Diese sind USB-Devices und können nicht direkt einen Drucker ansteuern,
sondern brauchen dazu einen PC und ein geeignetes Capture-Programm.
Solche USB-GPIB-Konverter bilden GPIB als TMC ab.
Dieser Aufbau geht von einer professionell hergestellten Leiterplatte aus und erfordert feinfühligen Umgang mit dem Lötkolben. Die Produktionsdaten liegen im Eagle-Format vor. Zur Minimierung des (automatisierten) Bestückungsaufwandes wird einseitig bestückt.
Die Schaltung ist so ausgelegt, dass man nur einen SubD-Programmieradapter braucht, um die Firmware einzuspielen. Es wird kein gesonderter ISP- oder gar JTAG-Anschluss benötigt.
Der Programmieradapter ist nicht kompatibel mit dem für USB2LPT Low-Speed, erfüllt aber den gleichen Zweck.
Stück | Bauteil | Bestell-Bezeichnung | EVP [€] | Lieferant |
---|---|---|---|---|
1 | USB-Host/Device-Controller SL811HST-AC | 428-1464-ND | 6,74+ | DigiKey |
1 | Spannungsregler TPS76133 | 296-11010-1-ND | 0,89+ | |
1 | Längsregler 5 V | µA78L05 | 0,12 | Reichelt |
1 | Mikrocontroller ATmega16 TQFP-Gehäuse | ATMEGA 16-16 TQ | 2,55 | |
1 | Quarz 12000 kHz | 12,0000-HC49U-S | 0,23 | |
1 | SubD-Stecker 25pol. | D-SUB ST 25 | 0,10 | |
1 | LED rot + LED grün | LED 3mm rt | 0,05 | |
1 | LED 3mm gn | 0,05 | ||
1 | USB-Buchse Typ A | USB AW | 0,20 | |
1 | Hohlbuchse | HEBW 21 | 0,26 | |
2 | „Fußvolk“ | PCC2233CT-ND | 0,156+ | DigiKey |
2 | X7R-G0603 100n | 0,05 | Reichelt | |
2 | NPO-G0603 22p | 0,05 | ||
2 | rad 47/16 | 0,04 | ||
1 | BAT 54C | 0,07 | ||
1 | 1N4148SMD | 0,04 | ||
1 | PFRA 010 | 0,46 | ||
2 | SMD-0805 2k2 | 0,08 | ||
1 | BCN16 22k | 0,02 | ||
1 | BCN16 22 | 0,02 | ||
1 | Selbstbaugehäuse | COM 938 | 0,30 | |
1 | USB-Kabel | AK 672/2-2,0 | 0,60 | |
1 | Leiterplatte | ul-11.brd | 5,00 | h#s |
Zunächst werden die SMD-Bauelemente und der Quarz bestückt. Der USB-Host/Device-Controller mit seinem 0,5-mm-Beinabstand erfordert besonders große Sorgfalt.
Wie schon vom USB2LPT bekannt besteht das Problem,
dass es keine
USB-Buchsen für Leiterplatten-
Nachtrag: Vor dem Verlöten der USB-Buchse müssen die seitlichen Kontaktfedern ganz ausgebogen werden! Ansonsten geht der Stecker zu schwer hinein bzw. verformt sich. Alternativ: Bestückung der USB-Buchse mit einem gesteckten Stecker.
Der SubD-Stecker wird in der gewohnten Kantenbestückung angesetzt.
Das Loch für die LEDs sowie Beschriftungs-Etiketten nicht vergessen!
Die Programmierung des ATmega16 erfolgt mit einem speziellen
Parallelport-
Die Konfigurationsbits sind wie im folgenden Bild zu setzen:
- Original
- Es wird fast immer ein Steckernetzteil mit geregelter Ausgangsspannung 5 V benötigt! Anschluss via Hohlstecker, Außendurchmesser 5,5 mm, Innendurchmesser 2,1 mm. Pluspol innen. Beispielsweise Reichelt SNT1000 für 11,80 € oder SNT3129 für 8,65 € („4,5 V“ benutzen). Die Schaltung ist verpolungsgeschützt, jedoch nicht vor Überspannung!
- Revision 1 (ab 2007)
- Es wird (irgend)ein Steckernetzteil mit mindestens 8 V (ungeregelter) Gleichspannung benötigt! Hohlstecker-Anschluss dito.
Wer mit einer geregelten 5-V-Quelle speisen will (bspw. via Tastaturbuchse vom PC-Netzteil), muss mit der internen Lötbrücke SJ1 den Längsregler totlegen. Dazu Flächen 2-3 verbinden.
- Alle Arten
- Ohne sichtbare Extra-Kabel erfolgt die Speisung von 5 V über Pin25 des SubD-Steckers. Dazu muss im Rechner die Masseverbindung zum Pin25 getrennt – und über eine selbstrückstellende Sicherung (bspw. PFRA 050) an 5 V gelegt werden. Im Hobby-Bereich war diese Modifikation recht verbreitet.
Der Zweck der selbstrückstellenden Sicherung ist, dass man ein normales Parallelport-Gerät anschließen kann, welches die Pins 18-25 kurzschließt, ohne das Netzteil abzuschießen.
Allerdings ist diese Maßnahme ziemlich sinnfrei für Batteriebetrieb; der dann permanent heiße Sicherungskörper würde den Energiespeicher leersaugen.
Für den Betrieb von LPTzUSB wird wärmstens ein RS232-TTL-Konverter empfohlen, mit dem über die serielle Schnittstelle und bspw. HyperTerminal bei 38400 Baud Statusinformationen angezeigt werden:
Übrigens, die Farben werden vom ATmega-Programm generiert! Kein Windows-Programm wurde hier geschrieben.
Die Bytes der angezeigten Deskriptoren haben folgende Bedeutung:
Das Fertiggerät gibt's je nach Bedarf ohne Netzteil, mit normalem Steckernetzteil oder Schaltnetzteil. Hier abgebildet ist's mit Reichelt-Schaltnetzteil.
Ansonsten besteht die Möglichkeit, Druckausgaben in einer Datei aufzufangen und mit dieser Datei an einem USB-fähigen Rechner das Drucken zu vollenden.
Es gibt Ethernet-zu-USB-Konverter günstig zu kaufen (in Routern und DSL-Routern eingebaut), die, falls Ethernet vorhanden, ein solches Gerät überflüssig machen.
Ein solches Gerät zu bauen ist erst seit 1-2 Jahren, mit dem Erscheinen von USB-Hostcontrollern und USB-OTG-Geräten möglich.
Ein vergleichbares, deutlich komfortableres Gerät gibt es bei ipcas GmbH, jenes unterstützt auch Ethernet sowie Speichern (also papierlos) auf USB-Stick, für rund 400 € (2010).
Noch nicht implementiert: Bei zu geringer Spannung blinkt die rote LED, und Sie sollten ein Netzteil (5 V Gleichspannung, geregelt!, ca. 50 mA) anstecken.
Falls Sie ein bus-powered Gerät anschließen (bspw. einen USB-Stick), müssen Sie ein Netzteil verwenden, welches den Strombedarf des angeschlossenen Gerätes deckt. Für die meisten Geräte genügt 100 mA, USB-spezifiziert sind bis zu 500 mA.
Sie können die aktuelle Betriebsspannung im HyperTerminal-Fenster sehen.
Wichtig! Ungeregelte oder zu hoch eingestellte Netzteile
zerstören die Schaltung!
Problem ist in aktueller Revision 1 korrigiert.
Sie können das lästige Steckernetzteil vermeiden mit einer der folgenden Maßnahmen:
Auch alle diese Ansätze benötigen Strom, wobei die erstere noch einigermaßen klein ausfällt.
Heutzutage würde ich das Problem mit einem Raspberry Pi erschlagen. Alles was man noch braucht ist ein Adapter von seinem GPIO zu einem 25-poligen SubD-Stecker — oder was auch immer der Steinzeitcomputer für eine Schnittstelle hat. Um nichts kaputt zu machen mit Pegelkonvertern (74LVC04) und mit einer Fangschaltung (Latch) für die 8-Bit-Paralleldaten bei Strobe (74LVC574). Ungefähr so wie in jenem Schaltplan. Serienwiderstände im unteren kΩ-Bereich dürften genügen, um die GPIO-Anschlüsse zu schützen. Will man Pins sparen, nimmt man ein Parallel-Seriell-Schieberegister (74LVC299), welches sich mit SPI rasend schnell auslesen lässt.
Auf dem Raspberry muss dann nur noch eine Software laufen, die die Parallelport-Daten entgegennimmt, filtert und auf den USB-Drucker ausgibt. Dafür bietet sich die „native“ Programmiersprache Python an.
Auch jedes andere Entwicklungssystem mit USB-Host und genügend GPIOs eignet sich dafür. Allerdings ist das Angebot derweil unüberschaubar geworden, sodass Raspberry Pi oder Banana Pi als verbreitetste Einplatinencomputer am besten geeignet erscheinen.
Steht ein PC zur Verfügung, kann man die Paralleldaten auch über USB einspeisen, über diese einfache Schaltung, die ohne Pegelkonverter auskommt. Filtern und Ausgeben macht dann der PC. Dafür sind auf der o.a. Webseite bereits Lösungen für Windows angegeben.
Die Fangschaltung, die für den FT245R bei manchen Parallelports erforderlich ist, erspart man sich bei Verwendung eines dedizierten Mikrocontrollers, etwa einem ATmega32U4 auf Breakout-Board (alternativ Arduino Leonardo/Micro) oder einem PIC16F1459 auf einem Steckbrett (dieser braucht keinen Quarz!).