Hallo,
Ich habe ein kleines Problem mit meiner LPT-Karte.
Der LPT-Port hat ja mehrere Ausgänge und Eingänge, die sich alle separat
schalten lassen. Ich will mit einem Ausgang über einen Optokoppler ein
Relais schalten. Ich bin davon ausgegangen, dass der Strom vom LPT-Port
ausreicht, um den Optokoppler zu schalten, der dann wiederrum das Relais
schaltet (Wieso ich nicht über einen Treiber wie den ULN gegangen bin?
Das wüsste ich auch gerne, aber die Platine ist jetzt eben fertig.).
Benutze ich Pin 2 (oder einen anderen beliebigen Pin des Datenports)
funktioniert das auch gut, nur eben nicht mehr, wenn ich Pin 17 des
Kontrollports nehme (oder einen beliebigen anderen Pin des
Kontrollports). Hat jemand eine Idee was hier faul ist? Ich messe beim
schalten von Pin 17 eine Spannung von 5V, also die ist auch vorhanden,
aber anscheinend reicht der Strom nicht aus? Dann habe ich einen kleinen
Versuch gestartet: Eine einfache LED soll geschaltet werden. Ergebnis:
Sie leuchtet, aber gaaaaaanz schwach. Ist meine LPT-Karte nicht zu
gebrauchen? Wer kann eine empfehlen?
Danke fürs durchlesen und antworten :-)
Paul
Das ist normal. Der Drucker-Port liefert lediglich CMOS Pegel und ist
sehr hochohmig. Reicht kaum für eine LED. Da hilft auch eine andere LPT
Karte nix. Du musst erst mal verstärken, eine externe Spannung brauchst
du sowieso. ULN2803 oder ähnliches reicht meistens aus als
Relais-Treiber.
Wie kann ich das Signal denn verstärken (ULN 2803?)? Es kann sein, dass
diese Verstärkung auch schnell sein muss (da schnell relativ ist: damit
sollte ein 1kHz PWM-Signal geschaltet werden können, das geht dann
allerdings nicht über Relais...), ich finde aber nichts über
Schaltgeschwindigkeit im ULN 2803 Datenblatt?!
Wenn ich den Parallelport vom Mainboard benutze, funktioniert es
übrigens so wie ich es eigentlich gedacht hatte. Also da funktionieren
die Kontrollports auch so wie es sein sollte... (ich gehe jetzt einfach
mal davon aus, dass es so sein sollte ^^)
Das erklärt doch nicht, warum es bei den Daten-Leitungen "besser" geht
als bei den Steuerleitungen.
Habe mal recherchiert:
The Centronics interface is an 8-bit [parallel] unidirectional bus. The
Parallel port [Centronics] interface cable used a 36-pin connector on
the Printer side, and a 25-pin D-Sub connector on the Host [PC] side.
The D-Sub connector pinout used on the computer is listed on the PC
Parallel Port page. There is no defined standard for the Centronics
interface, timing varied between printers from different manufacturers,
as drivers, receivers and termination differed. The maximum possible
transfer rate is 150kbps, but typical values were 10kbps. The electrical
interface used TTL logic levels. The data lines used 74LS374 ICs, while
the control lines used 7405 ICs. Resistor pull-ups for the open
collector lines were 4.7k ohm to +5 volts, but could be any value
because there was no specification.
Also früher waren beim alten standard Par-Port die Datenleitungen
kräftige 74LS374er und aus unerfindlichen Gründen (vielleicht sollte mal
ein BUS gamecht werden mit mehreren Sendern) waren die CTL Output
Leitungen Pull-Downs mit 7405 Open Collector.
Daraus ergibt sich die Frage: Optokoppler wie angeschlossen. An den CTL
Ports könntest Du von +5V runter ziehen, nicht aber den Opto gegen Masse
"versorgen". Die Daten-Leitungen haben eine Totem-Pole und können auch
"Strom bei 5V liefern".
Also: Wie angeschlossen?
Vielleicht sollte man noch hinzufügen das LPT Ports inzwischen
hochintegriert irgendwo in einem Chip drinnen mit dabei sind und somit
nicht unbedingt mehr sich so verhalten wie früher, als das alles diskret
aufgebaut war.
Deswegen hat Christian R. recht wenn er sagt das die sicherste Annahme,
die ist, dass die Ausgänge hochohmig sind. Dann gehts auf jeden Fall
eher als umgekehrt...
Der Anschluss ist wie im Anhang... der einzige Unterschied ist, dass der
Widerstand da eigentlich ein Netzwerkwiderstand ist. Sonst identisch...
Wie sieht denn so eine Verstärkung aus? Kann man den ULN-Treiberbaustein
dafür benutzen? Für welche Geschwindigkeiten ist der geeignet?
Am CTL Port würde ich eher mit Opto-Pull Down von +5V arbeiten, aber die
+5V hast Du ja nicht am Centronics Port.
Du willst ja lieber Signal->R->>OPTO>>->GND auswerten.
Besser wäre +5v----> Opto --R---> Signal
Den Wiederstand nicht vergessen. Ist schon ok mit 200-300 Ohm oder so in
der Gegend. Genau ausrechnen!
Das Problem ist, dass viele allgemeine frühere Schnittstellen eher so
gebaut sind, das sie "Current Drainen" also ein High auf Low ziehen
können, als das sie ihren eigenen kostbaren Strom nach aussen geben. Die
Datenleitungen, immer vorrausgesetzt sie sind so wie früher, können aber
beides: Hochziehen und Runterziehen, und auch Tri-State wenn mein
Gedächtnis sich nicht täuscht. Dein PC hat da am Mainboard vielleicht
auch was abweichendes und schon geht's. Anderes Problem: Für solche
Anwendungen muss man auch wissen ob die LPT Schnittstelle als Normal,
EPP oder ECP konfiguriert, dass kam später noch erschwerden hinzu. Das
solltest Du dann aber selber recherchieren.
Wenn Du also unbedingt +5V brauchen solltest, die am Centronics Stecker
nicht vorhanden sind, kannst Du ja auch gleich Verstärken mit einem
ULN.... oder was auch immer. Sowas wie es auch früher im Drucker auf der
Gegenseite eingebaut war, evtl. mit einem ordentlichen Pull Up auch
noch, sofern du weiter mit einer CTL Leitung arbeiten willst.
Alles nur meine Meinung, aber Du bist ja schon recht weit. Du findest
eine Lösung. Statt einem ULN, evtl. ein einziger Transistor 2N3904 und
eine +5V Quelle?
Die 5V sind nicht das Problem, die sind auf der Platine, auf der die
Optokoppler sind, vorhanden.
Also schlägst du eher so eine Schaltung wie im Anhang vor?
Das doofe ist... die Platine ist schon fertig gelötet und bestückt...
Materialkosten liegen bei knapp 80-100€, was das ganze natürlich echt
ärgerlich macht, wenn ich sie nicht benutzen kann...
Ein einzelner Transistor kommt eher nicht in Frage, weil das zu viel
Platz braucht (6 Transistoren + Freilaufdioden <--> ein ULN 2803)...
Diese Einstellung mit SPP/EPP/ECP kam mir auch schon in den Sinn, aber
bei der Karte habe ich bisher keine Einstellungsmöglichkeit gefunden...
Ich hätte noch eine physikalische Frage...
Die technische Stromrichtung ist zwar von + nach -, aber die
physikalische von minus nach plus, in diesem Fall von Masse nach +5V. Es
wäre doch eher logisch, dass genau diese Richtung nicht funktioniert?
Ich beziehe das jetzt auf den Satz "Das Problem ist, dass viele
allgemeine frühere Schnittstellen eher so
gebaut sind, das sie "Current Drainen" also ein High auf Low ziehen
können, als das sie ihren eigenen kostbaren Strom nach aussen geben."
Der Strom wird doch genau dann vom PC kommen, wenn ich mit dem Pin den
Optokoppler wie im Anhang auf Masse ziehe?
Ich hab da ein allgemeines Verständnisproblem, wenn es um sowas wie VCC,
VDD, VSS, VEE, GND, GROUND und was weiß ich nicht alles geht ^^... man
findet irgendwie wenige Seiten (ich habe keine gefunden, wo ich das
verstanden habe), wo das gut beschrieben ist.
Danke für eure Hilfe bis hier hin :-)!
Deine Zeichnung ist gut so. Ich habe also trotz aller sprachlichen
Ungenauigkeiten rübergebracht was ich meinte.
Gemeint ist durchweg technische Stromrichtung. Plus will Stom nach Minus
schicken. Der Treiber im Centronics Port schaltet gegen Masse (-) besser
als gegen (+).
Der Vorteil ist: Du könntest auch aus 24V kommen, sofern der
Port-Treiber das kann und der Strom innerhalb des erlaubten bleibt.
Bei einem Schalter nach (+) ist (meistens) die Spannung gegen die er
Schaltet fest verdrahtet im Portbaustein (5V, selten mehr).
Ich dachte Du willst nur ein einzige Leitung anzapfen? Pro Leitung
brauchst Du einen 2N3904 als "Verstärker". Basis an das Signal mittels
kleinem R (ca. 1kOhm oder weniger). Emitter an Masse. Kollektor zieht
OptoKoppler von +V gegen Masse (über 220 Ohm, nicht vergessen).
Bei acht Leitungen und mehr? ULN...
Vielleicht machst Du einen Adapter für den/die Sockel des Optokopplers
und setzt was "schlaueres" drauf?
Ich habe nur eine Leitung hier als Beispiel verwendet ja, aber am Ende
sollen es mehr sein...
Letztendlich werden 2 LPT-Ports benutzt. Da der Datenport gut
funktioniert und der Statusport auch keine Probleme aufweist, bleiben
nur noch die 4*2 Pins vom Steuerport, die nicht funktionieren. Das sind
genau 8 Pins, die nicht funktionieren. Damit werden 6 Relais gesteuert
und ein PWM-Signal (für eine Frässpindel), bestehend aus der Richtung
und dem eigentlichen PWM-Signal.
Zur Zeit überlege ich, ob ich es nicht doch anders machen will. Aber da
überlege ich erstmal noch weiter...
Kann ich davon ausgehen, dass so eine Darlington-Schaltung, wie sie beim
ULN verwendet wird, schnell genug ist für (ich schätze jetzt mal) ein
100 kHz Signal?
Nein, das ist nicht das was ich will :-).
Das Interface was ich baue, ist für den Betrieb mit Servos gedacht,
nicht für Schrittmotoren. Die Technik dahin ist jetzt etwas zu lang zu
erklären und hat hier nicht viel verloren, da es mir hier primär um den
LPT-Port geht :-). Trotzdem danke ich dir für deinen Hinweis :-).
Außerdem werden die Optokoppler auf dieser Platine genauso angesteuert
wie ich es habe, also würde es auch nicht funktionieren, sobald der
LPT-Steuerport nicht genug Strom liefert / es sich um CMOS-Ausgänge
handelt / ich nicht gerade den LPT-Gott anbete ;-).
Ok, aber mir ging es nicht direkt um die Schaltung, sondern um den
Optokoppler-Typ 6N137, der hat laut Datenblatt: "Low Input Current
Required: 5mA Maximal". Ich weiss ja nicht, welche Du verbaut hast. Eine
normale rote LED benötigt ja so ca. 20mA. Bei mir funzt die nachgebaute
Schaltung nämlich.
Hmm... vielleicht habe ich ein anderes Datenblatt, oder ich lese an der
falschen Stelle ^^:
Input Current, Low Level : 0 250 μA
Input Current, High Level : *6.3 15 mA
* 6.3 mA is a guard banded value which allows for at least 20 % CTR
degradation. Initial input current threshold value is 5.0 mA or less
Ich benutze den HCPL 2630, also quasi den selben nur 2-fach...
Die Schaltung funktioniert bei mir ja auch, wenn ich den LPT-Port vom
Mainboard nehme, nur eben nicht mehr, wenn ich den Port von der
PCI-Karte nehme (überlesen?).
1. Bezug: Datenblatt von Texas Instruments
2. LPT: NetMos PCI ECP Parallel Port Karte (Meldung im Geräte-Manager)
Ich habe mal geschaut, Fairchild z.B gibt als IFH=15mA für den Emitter
(LED) an. Ist scheinbar nicht egal, von welchem Hersteller der OK kommt.
Meine sind von TI.
Wie ich heute herausgefunden habe, handelt es sich bei den Ausgängen
meiner LPT-Karte tatsächlich um Open-Collector ausgänge. Ich werde dann
wohl auch ohne eine Verstärkung auskommen, muss dann aber die Schaltung
so umbauen, dass der Optokoppler bei einem Ausgang von 0V am Pin
"schaltet". Also so wie in meiner zweiten geposteten Schaltung.
Falls jemand das selbe Problem hat: Die Information über den
Open-Collector-Ausgang habe ich (abgesehen von dem Hinweis hier) von
einer CNC-Seite, um genau zu sein aus dem deutschsprachigen Teil des
Mach3-Forums. Es ist eine Karte mit dem MCS9815 Chipsatz von Moschip.