Liste der Anhänge anzeigen (Anzahl: 2)
Optokoppler am Parallelport
Hi,
ich wollte zwischen dem Parallelport meines Rechners und einer Schrittmotorsteuerung aus Sicherheitsgründen Optokoppler (OK) dazwischen setzen. Ich habe sehr viel gesucht, aber nie so richtig die passenden Antworten gefunden. Die Beispielanwendungen in den Datenblättern sind auch nicht immer sehr aufschlussreich. Daher mal hier mein Beitrag.
Ich habe seit Jahren einen 6N138 rumliegen, aber nie genutzt. Das hat sich jetzt geändert. Ich habe folgende Schaltung aufgebaut:
Bild hier
R1 passt von der Größe. Zu R2 findet man wenig Angaben. Ich habe hier ein 10k-Ohm-Poti reingesetzt und mit den Werten etwas rumgespielt. Der Wert von R2 bestimmt, wieviel Spannung am Signalausgang (X2-1) anliegt. Bei R2=0 (also direkte Verbindung) liegen am Ausgang 5 V an, aber der OK wird dann etwas warm. Ich weiß nicht, wie lange der dann durchhält. Je größer R2, desto geringer die anliegende Spannung und umso geringer muss der Wert für R3 gewählt werden. Liegen am Ausgang 5V an, so muss bei einer Standard 20 mA-LED ein 150 Ohm-Widerstand dran. Bei R2=300 Ohm reicht die Spannung aus, die LED auch ohne Widerstand zu betreiben (ca. 2V). Allerdings gefällt mir die Lösung mit der LED nicht richtig als Anzeige für das Signal. Vielleicht sollte man das Signal nur nutzen, auf einen ULN2803 weiterleiten und LEDs damit anzusteuern. Ohne LED (oder sonstige Last) liegt am Ausgang irgendwie kein definiertes Signal an. Etwas Last sollte also sein.
Pin 7 des 6N138 bleibt normal nicht beschaltet, kann aber laut Aussagen einiger Leute (irgendwo im I-Net) mit einem Widerstand auf Masse gezogen werden. Ich bin mir da nicht sicher. Laut Datenblatt liegt zwischen Pin 5 und 8 sowie zwischen 6 und Masse jeweils noch ein Kondensator mit 100 nF. Hatte ich jetzt nicht, ging aber auch so. Übrigens wird das Eingangssignal invertiert. Also bei einem high-Pegel aus dem Parallelport kommt low hinten aus dem OK raus. Zumindest bei meiner Beispielschaltung.
Mein Ziel ist es, die schnelleren 6N136 zu verwenden. Der Schaltungsaufbau ist ähnlich, nur müssen die Bauteile andere Werte aufweisen. Hier mal eine Beispielschaltung für diesen OK:
Bild hier
R1 ist etwas geringer, da mehr Strom fließen kann. Aber wie groß kann R2 sein? Da hätte ich gern ein paar Tipps. 1 kOhm sollte doch passen. Da habe ich nämlich noch einige Widerstände rumliegen. Die LED habe ich diesmal gleich weggelassen. Was ist mit Pin 7? Kann der so offen bleiben?
Ich will damit keine Lasten schalten, sondern nur das Signal für eine SM-Steuerung liefern. Wie schaut die optimale Schaltung aus?
Tomizz
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
Zitat von
Bumbum
wenn es dir nur um digitale Steuer-Signale geht kannst du als R2 irgend etwas hochohmiges (z.B. 10k Ohm) verwenden. Die LED und die Kondensatoren würde ich weg lassen.
Also: Transistor vom Optokoppler wie gezeichnet mit Emitter auf Masse. Collector ist der Ausgang. Davon noch ein Pull-Up-Widerstand von z.B. 10k Ohm auf +Ub (wohl 5V) der Steuerung.
LED war schon weg, Kondensatoren sind jetzt auch weg. R2 auf 10 kOhm. Ist R2 denn nicht schon der Pull-Up zwischen Kollektor und +Ub? Oder meinst Du mit Ub Pin 7, der im Datenblatt mit Vb bezeichnet wird? Ich habe die Skizze aktualisiert:
Anhang 24447
Zitat:
Zu beachten ist noch dass die Schaltung das Signal invertiert. (Wenn ich jetzt keinen Denkfehler mache) Also aus einer 1 am Parallelport wird eine 0 am Ausgang und umgekehrt.
Weiß ich, aber die Invertierung ist mir egal, da man das in der Software (EMC2) ganz leicht umstellen kann. Von daher kein Problem.
Zitat:
Was noch zu beachten ist: LPT-Ausgänge sind normalerweise nicht belastbar. Das sie wie in deinem Fall eine Optokoppler-LED treiben, die normalerweise so um die 10mA benötigt ist reine Glückssache. Ich würde auf der LPT-Seite die ULN2803 einsetzen. Allerdings benögist du dann noch eine extra Spannungsversorgung vom PC um die LEDs zu versorgen.
Die Belastung der Ausgänge ist nicht so sehr hoch, aber doch ausreichend. Ich habe mir eine Testplatine mit LEDs und Vorwiderständen gebaut, die man direkt an den Parallelport hängt und gleich alle Vorgänge an den Ausgängen beobachten kann. Da zieht jede LED 20 mA. Daher sollten 10 mA kein Problem darstellen.
Zitat:
Zitat von
Besserwessi
Der 6N138 ist für den LPT Port eine recht gute Wahl, weil er auch mit etwa 1 mA auskommt. Für die meisten anderen Optokoppler benötigt man mehr Strom - das geht dann also nicht mit jedem PC so einfach direkt am LPT. Der Treiber in Richtung GND sollte kräftiger sein - man bekommt also auch ohne extra Treiber mehr Strom, wenn die LED gegen z.B. +5 V (von einer extra Quelle) schaltet.
Der geringere Strom des 6N138 wäre ein Argument. Aber der ist bis zu 50 x langsamer als der 136er. Und das ist mir wichtiger. Schließlich soll hierüber auch das Taktsignal für die Schrittmotoren übertragen werden. Noch bin ich nicht so weit, aber wenn ich mal beim Mikroschrittbetrieb angelangt bin, sollte das sehr relevant werden. Der 6N138 bietet dafür ein hohes Gleichstrom-Übertragungsverhältnis (CTR), wenn man sowas braucht.
Vielen Dank erstmal für die Antworten.
Tomizz
Liste der Anhänge anzeigen (Anzahl: 1)
Ich habe nun meine OK (6N136) bekommen und einige Versuche auf einem Steckbrett gemacht. Mit Vorwiderständen an Pin 2 des OK tut sich gar nichts. Also habe ich die weggelassen. Die Ausgangsspannung am Parallelport ist nicht sehr hoch (nicht mal annähernd +5V), und da hat es wunderbar funktioniert. Aber die Spannung könnte von Rechner zu Rechner variieren. Also erstmal mit einem Poti vor Pin 2 (max. 500 Ohm) testen, ab wann der OK schaltet. Mein neues Motherboard lebt jedenfalls noch. Was soll schon passieren. Im schlimmsten Fall dürfte es den OK zerschießen, oder? An der Ausgangsseite habe ich den 10 kOhm-Widerstand gelassen (siehe Anhang). Die Signale aus dem Rechner müssen natürlich invertiert werden. Aber mit EMC2 ist das kein Problem.
Das Notaus-Signal vom Rechner habe ich in meine Sicherheitsschaltung mit eingebunden. Erst wenn F1 am Rechner gedrückt wurde lässt sich die Motorspannung zuschalten. Für dieses Signal werde ich den 6N138 nehmen, den ich noch rumliegen hatte. Da kommt es ja nicht auf die Geschwindigkeit an. Die Widerstandswerte sind im unteren Teil des Anhangs zu finden.
Jetzt werde ich das alles auf einer Streifenrasterplatine zusammenlöten, bevor es an die Hardware der Fräse geht.
Tomizz
Anhang 24573
Liste der Anhänge anzeigen (Anzahl: 1)
Vielen Dank erstmal. Die Lösung mit den Optokopplern ist nicht auf meinem Mist gewachsen, sondern wird immer wieder ins Spiel gebracht, um eine galvanische Trennung des Parallelports zu erzielen. Wenn es bessere Lösungen gibt, will ich mich gern beraten lassen.
Den ULN2803 kenne und habe ich auch, wurde aber irgendwann mal für die Ansteuerung eines unipolaren SM verwendet. Seitdem nicht wieder. Dieser Baustein hat zwar auch eine gewisse Stromaufnahme, aber zugegeben deutlich weniger als meine OK. Die Geschwindigkeiten sind auch o.k. Die Frage ist nun, wie wird das ganze beschaltet.
- Reicht der ULN2803 allein aus, oder soll der ZUSÄTZLICH zu einem OK eingesetzt werden?
- Kommt man ohne eine zusätzliche (als die verwendete 5V-) Spannungsquelle aus?
Ich mache einfach mal den Anfang mit einer Schaltung. Die kann "so aus dem Bauch raus" nicht richtig sein, aber sollte als Diskussionsgrundlage reichen. Hier ist der Masseanschluss des Parallelports noch nicht vorgesehen. Den sollte man doch sicherlich nicht direkt an die Masse des 5V-Netzteiles anbinden. Das Netzteil ist übrigens für die Spannung meiner Steuerungen gedacht. Am Ausgang des Treibers soll also zwischen +5V und 0V für die Eingänge der RN-Stepp297 hin- und hergeschaltet werden.
Anhang 24579
Wenn möglich, dann bitte eine "idiotensichere" Lösung anbieten, die auch ich als Nicht-Elektroniker verstehe. Am besten gleich als Schaltung.
Danke
Tomizz
Liste der Anhänge anzeigen (Anzahl: 1)
Also so etwa?
Anhang 24580
Die extra Spannung vom PC passt zwar nicht in mein Konzept, klingt aber einleuchtend. Ich habe erstmal die 3,3V angezapft. Was ist mit der Masse vom PC-Netzteil? Die wird man wohl kaum mit der Masse vom Parallelport verbinden können, oder?
Tomizz
P.S. Sollte Pin 10 des ULN2803 auch an die + Spannung des PC-Netzteiles oder kann der offen bleiben? Ich habe bisher beide Varianten gefunden.
Liste der Anhänge anzeigen (Anzahl: 1)
Jetzt habe ich alles als Schaltung aufgebaut und mit verschiedenen Einstellungen getestet. Hier ist nun die (hoffentlich) finale Version:
Anhang 24602
Die 220 Ohm für R1 ist die berechnete und auch optimale Variante (für 5V). Größer sollte der aber nicht sein. Ab ca. 240 Ohm ist der Strom offensichtlich so gering, dass keine Signale mehr übertragen werden. Mit 150 Ohm hat es auch funktioniert, aber da ist es vom Stromfluss schon grenzwertig.
Wenn man als Optokoppler den 6N138 nimmt, dann muss R1 größer sein. 5 kOhm sollten es mindestens sein, 10 kOhm funktionieren auch noch. R2 habe ich mit 4,7 kOhm ausgelegt, und das funktioniert auch. Allerdings ist die Geschwindigkeit dieses OK nicht so hoch, wenn man höhere Frequenzen braucht.
Wenn mehrere Signale über den ULN2803 übertragen werden, sollte man darauf achten, dass die Pin-Paare von oben nach unten belegt werden, also erst 1-18, dann 2-17 u.s.w.
Trotz Treiber-IC und OK muss das Signal (z. B. per Software) dennoch invertiert werden. Der IC hat offensichtlich keine "Negierungswirkung" wie der OK. Wer nicht so einfach invertieren kann, der könnte beispielsweise nach dem OK einen IC4049 dranhängen. Sollte funktionieren.
Insgesamt war diese Geschichte hier eine etwas schwere Geburt, aber es hat sich hoffentlich gelohnt. An alle Beteiligten also herzlichen Dank.
Tomizz
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
Zitat von
Der Einsteiger
Noch zwei Fragen : Habt ihr die Schaltung jetzt schon ein wenig getestet ??
Wenn ihr die Schaltung für eine cnc verwendet ,braucht ihr nicht auch Eingangssignale zum Pc (wie realisiert ihr die?? )??
1. Ja. Funktioniert bis jetzt bestens. Ich habe aber noch nicht sehr viel damit gemacht. Bei Bedarf kann mal mein Schaltungsbeispiel reinstellen.
2. Eingangssignale braucht man nicht unbedingt, damit es zumindest für ganz einfache Aufbauten funktioniert. Ich selbst bastle noch an der Steuerung herum. Werde mich demnächst an die Fräsen-Hardware heranwagen. Und spätestens da kommt die Frage nach End- oder Positionsschaltern. Und da hat man dann auch Eingangssignale für den PC. Die würde ich auch mit Optokopplern einbinden. Wahrscheinlich in umgekehrter Reihenfolge wie in der Schaltung oben. Z. B. wie hier (Vorschlag, Diskussionsgrundlage):
Anhang 24849
Den Parallelport sollte man auf jeden Fall schützen. Ob diese Schaltung reicht, weiß ich erstmal nicht. R3 und R4 habe ich zur Strombegrenzung einfach eingezeichnet. Da können dann die richtigen Experten vielleicht was sagen. Ich würde das auf einem Steckbrett testen, ob überhaupt Signale im PC ankommen. S1 (als Beispiel für einen End- / Positionsschalter) sollte ein Öffner sein (wie bei Notaus), um nicht bei Kabelbruch oder defekten Kontaktstellen die Maschine zu zerschießen.
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
Zitat von
Der Einsteiger
Eine letzte Frage habe ich noch : Was für ein Netzteil schließt an der PC-Seite an ?? Könnte man die 5V dafür auch vom Seriell Port beziehen,oder ist der zu schwach ??
Nimm einfach einen Stecker vom PC-Netzteil (wie im Bild). Von denen hängen meist mehrere ungenutzt rum. Schwarz sind die Massekabel, rot ist +5V und gelb ist +12V. Die Leistung reicht auf jeden Fall aus. Bei meinem PC liegt die Spannung knapp über 5V. Ich habe die benötigten Kabel mit den Messingschuhen aus dem Stecker umständlich rausgezogen und zum Testen an eine Lüsterklemme geschraubt. Von da aus ein Kabel nach außen geführt. Kabel abschneiden und dann irgendwie über ein weiteres Kabel nach außen ziehen geht natürlich auch.
Anhang 24850
Die Spannung am Parallelport ist vom Rechner abhängig (und damit ziemlich undefiniert). Bei meinem Rechner liegt die so bei ca. 3V und dürfte schnell einbrechen, wenn man eine Last dranhängt. Als Spannungsversorgung also ungeeignet.
Eine Idee von mir war noch, einen Massepin des Parallelports umzufunktionieren für die +5V, um die Spannung vom PC über das PP-Kabel zur Steuerung zu schicken (ja, ich weiß, Spannungen schickt man nicht, die liegen an). Dazu müsste man am Mainboard einen Pin (z. B. die 25) abklemmen und die +5V vom Netzteil in Richtung CNC-Steuerung schicken. Man muss dann aber auch seine Steuerung anpassen und auch wirklich nichts anderes dranhängen. Man hat also seinen eigenen Standard geschaffen. Man braucht dadurch kein Kabel extra, hat aber auch etwas Fummelei und vielleicht viel Ärger, wenn man vergisst, dass da noch zusätzlich Spannung draufliegt. Nur so 'ne Idee.
Liste der Anhänge anzeigen (Anzahl: 1)
Das müsste dann also so aussehen:
Anhang 24871
Beispiel 2 ist die einfache Variante, wenn wirklich nur ein (mechanischer) Schalter dransitzt. R5 sollte ausreichend dimensioniert sein. Auf jeden Fall diesen Widerstand nicht weglassen und die 5V direkt auf den Porteingang legen. Dann ist Schaden am Port oder am gesamten PC vorprogrammiert.
In Beispiel 1 ist zwar auch bloß ein Schalter enthalten, könnte aber auch irgendwas anderes elektronisches sein. Ist also nur symbolisch. Daher die Absicherung mit dem Optokoppler. Je nachdem, wie man seine Schaltung aufbaut. FRAGE: Sollte man am Eingang des OK (Pin 2) noch einen Pull-down-Widerstand anbringen?
Wenn die Schalter als Öffner ausgelegt sind, könnte eine Invertierung des Signals in Beispiel 1 notwendig sein. Zumindest im Beispiel 1. Im Beispiel 2 sollte es passen.