Hallo, ich habe an einer 12V Spannung einen negativen 5V-Regler, der auf die Masse der 12V bezogen 7V als Masse und 12V als Plus hat. An diesem Regler hängt ein uC, der seriell an einen anderen uC Daten übertragen soll. Doch der andere uC hat einen positiven Regler und somit die echte Masse der 12V Spannungsquelle und eine Betriebsspannung von 3,3V (der 2. uC fehlt im Schaltbild). Wie kann ich am einfachsten die beiden uC seriell verbinden, ohne dass es wegen der unterschiedlichen Potenziale anfängt zu brutzeln? Ich habe es bereits per Optokoppler 4N28 versucht, aber es kommt nur Datenmüll an, ein Oszi ist leider nicht vorhanden. Ohne diese Spannungsunterschiede im Direkttest an derselben Versorgung angeschlossen, klappt die Übertragung zwischen beiden uC einwandfrei. Woran liegt das, dass die Übertragung per Optokoppler nicht richtig funktioniert? Sind die Widerstände nicht passend (ich hatte auch schon 100k zu 33k probiert)? Oder ist was anderes falsch? Die Übertragung soll mit 9600bps laufen, habe auch schon mal 2400 probiert, leider selbes Müll-Ergebnis. Jemand eine Idee? Vielen Dank.
:
Bearbeitet durch User
Andreas F. schrieb: > Woran liegt das, dass die Übertragung per Optokoppler nicht richtig > funktioniert? die Schaltung sieht absolut komisch aus. Versuchs mal mit folgendem: Sendeseitig: Vorwiderstand + LED des Optokopplers Empfängerseitig: Spannungsteiler aus Widerstand+ Transistor des Optokopplers. Anschließend das Signal invertieren
Danke, ich verstehe aber leider nicht, was Du meinst. Genau das macht die Schaltung durch den Optokoppler und den Spannungsteiler doch eigentlich im Moment, bis auf die Invertierung. Durch den negativen Regler ist es recht kompliziert zu verstehen, am besten man denkt sich den negativen Regler einfach von einer oberen 12V Linie um 5V nach unten versetzt und weitere 7V darunter die Masse. Dann wirds klarer.
:
Bearbeitet durch User
Andreas F. schrieb: > Woran liegt das, dass die Übertragung per Optokoppler nicht > richtig funktioniert? Der Optokoppler (genauer: die Empfangsseite des Optokopplers) ist falsch angeschlossen. Es ist i.d.R. sinnfrei, die Empfangsseite aus derselben Versorgung zu speisen wie die Sendeseite - man nimmt ja einen Optokoppler, um die Potenziale zu TRENNEN . > Sind die Widerstände nicht passend (ich hatte auch schon > 100k zu 33k probiert)? R30 ist mMn sinnfrei --> weglassen. R29 darf nicht zu +12V gehen, sondern muss an die 3.3V angeschlossen werden. Der Emitter kommt auf Masse (GND) - ja, auf die richtige, echte Masse! Die (invertierten) Empfangsdaten werden am Kollektor (gegen Masse) abgenommen.
Hallo, > Andreas F. schrieb: > Ich habe es bereits per Optokoppler 4N28 versucht, aber es kommt nur > Datenmüll an, ein Oszi ist leider nicht vorhanden. der Spannungteilen R30/R29 sollte so passen, um von 12V auf ca. 3V-Pegel zu kommen. Allerdings sind R29 und R30 recht groß. Das wird für höhere Datenraten nicht funktionieren. Aber bei 2,4kBaud sollte es gehen. Prüfe doch zumindest statisch, ob der Pegel korrekt kommt. Also an PB0 = Low -> J2 = low und PB0=high -> J1 = high (ca.3V) Kontrolliere auch, ob am Ausgang PB0 = High auch ein ordentlicher Highpegel anliegt (mind. über 4V). Dann sollte über R24 ca. 5mA fließen. Der Optokoppler hat ein garantiertes CTR von 10%. Also kann auf der Senderseite nur ein Strom von ca. 0,5mA sicher getrieben werden. Das bedeutet aber, das der Summenwiderstand R29+R30 mind. ca. 24kOhm sein sollte. Das ist dann womöglich auch das Problem. Mache R24 kleiner, so dass bei PB0=high ca. 10mA über die Sende-LDE fließt. Ich weiß jetzt aber nicht, ob der Attiny diesen Strom als High-Pegel auch treiben kann (Datasheet). Manche uC haben Probleme mit höheren Stromen, besonders bei High. Dann schaltet man die Sende-LED beser mit Low-Pegel. Gruß Öletronika > Spannungsunterschiede im Direkttest an derselben Versorgung > angeschlossen, klappt die Übertragung zwischen beiden uC einwandfrei. > > Woran liegt das, dass die Übertragung per Optokoppler nicht richtig > funktioniert? Sind die Widerstände nicht passend (ich hatte auch schon > 100k zu 33k probiert)? Oder ist was anderes falsch? Die Übertragung soll > mit 9600bps laufen, habe auch schon mal 2400 probiert, leider selbes > Müll-Ergebnis.
Danke, aber ich will die Potenziale ja nicht trennen, sondern bloß den 7V Offset loswerden und die Pegel anpassen. R30 gehört zum Spannungsteiler, damit ich am Opto-Ausgang auf 3,3V runterkomme. Die 3,3V sind dort nämlich nicht vorhanden, die Daten gehen zuerst über 10m Kabel zum Empfangs-uC. In dieser Schaltung sind die Daten aber gar nicht invertiert, oder seh ich das falsch?
Danke, Öletronika. Die Pegel passen jeweils am Attiny und auch am Optokoppler, wenn ich einfach low und high anlege. Dann ist wohl die Geschwindigkeit zu hoch? Wie sollten denn R29 und 30 gewählt weden? R24 soll möglichst groß sein wegen Batteriebetrieb.
Andreas F. schrieb: > Danke, aber ich will die Potenziale ja nicht trennen, > sondern bloß den 7V Offset loswerden und die Pegel > anpassen. Genau das ist mit einer Potenzialtrennung sehr einfach möglich. > R30 gehört zum Spannungsteiler, damit ich am Opto-Ausgang > auf 3,3V runterkomme. Ja, das habe ich mittlerweile verstanden. > Die 3,3V sind dort nämlich nicht vorhanden, Man darf den Optokoppler auch am empfangenden µC anordnen. Dort werden die 3.3V ja wohl vorhanden sein. > die Daten gehen zuerst über 10m Kabel zum Empfangs-uC. Ein Grund mehr, sendeseitig mit einem PNP-Transistor als Treiber zu senden (Stromschnittstelle) und empfangsseitig einen Optokoppler zu verwenden. > In dieser Schaltung sind die Daten aber gar nicht > invertiert, oder seh ich das falsch? In Deiner Schaltung sind sie nicht invertiert; das ist richtig.
Und den OC nach Masse schalten lassen. Dann paßt die Polarität. Pullup verwenden.
Öletronika, vielen Dank. Das war der entscheidende Hinweis. Mit R24 = 390 und dem Spannungsteiler R29/R30 = 4,7k/1,5k klappt es mit 9600bps. So reicht mir das und ist vom Stromverbrauch in Ordnung.
:
Bearbeitet durch User
> Andreas F. schrieb: > R24 soll möglichst groß sein wegen Batteriebetrieb. Hallo, Dann solltest du einen Optokopler aussuchen, der einen deutlich höheren CTR-Wert (CTR = Currend Tranfer Ratio) hat, so dass er schon mit kleinem Strom sicher durchschaltet. Damit kann man dann stromsparender Arbeiten. > Mit R24 = 390 und dem Spannungsteiler > R29/R30 = 4,7k/1,5k klappt es mit 9600bps. Die Beschaltung mag jetzt funktionieren, aber wirklich zuverlässig ist das nicht. Auf der Empfängerseite fließen ca. 1,5mA, was gut ist für höhere Datenraten. Wie in dem anderen Antwortposting geschrieben, wäre es bei einer längeren Leitung vorteilhaft, den Optokoppler am Empfänger zu plazieren und die Sende-LED über die Leitung anzusteuern, weil diese viel niederohmiger ist. Mit langen Leitungen auf der Empfängerseite mußt du die Kabelkapazität mit der hochomigeren Beschaltung umladen. Bei einem garantieren CTR-Wert von 10% (laut Datenblatt) müßte auf der Sendeseite ca. 14mA getrieben werden. Mit R24 = 390 Ohm werden aber weniger als 10mA in die Sende-LED fließen. Das es trotzdem geht, wird wohl daran liegen, das der CTR-Wert doch etwas höher liegt. Aber wundere dich nicht, wenn es z.B. bei unterschielichen Temp. nicht richtig funktioniert. Gruß Öletronika
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.