Forum: Mikrocontroller und Digitale Elektronik Uart und Optokoppler - eine richtung geht, die andere nicht


von Aike T. (biertrinker)


Angehängte Dateien:

Lesenswert?

Hallo,

ich habe diese Schaltung hier zum Testen aufgebaut. Ich will damit einen 
den Uart entkoppeln.
An einer Seite hängt ein Atmega8 auf der anderen ein Max232.
Die Richtung Max->µC funktioniert, die µC->Max leider nicht. Im Moment 
kann ich leider nicht erkennen, woran das liegt.
Kann mir da einer weiterhelfen?

viele Grüße

Aike

PS: Das der PC817 vielleicht bei hohen Baudraten funktioniert ist mir 
klar, ist aber kein Problem für mich, mir würden 300baud schon reichen 
;-)

von Wolfgang B. (logox2)


Lesenswert?

Hast du auf TX2 negative Spannungen? So wird die Leuchtdiode des unteren 
Optpkop. sonst nie leuchten.

von ghost (Gast)


Lesenswert?

lass mich raten..
die richtung tx1 -> rx2 funktioniert oder?

von Falk B. (falk)


Lesenswert?

@Aike Terjung (biertrinker)

>Dateianhang: uart_opto.png (2,7 KB, 1 Downloads)

Die LED von OK2 ist verpolt. Man kann in Eagle Bauteile auch spiegeln, 
sehr paraktisch. Meist besser als drehen.

MFG
Falk

von Aike T. (biertrinker)


Lesenswert?

Nein, das ist es leider nicht, da habe ich mich nur gerade verzeichnet. 
Habe den Spaß auf einem Steckbrett aufgebaut und da habe ich es richtig 
gemacht.
Auch getestet und mal die richtungen getauscht, also mal µC an RX1 und 
TX1 und mal den Max an RX1 und TX1.

von Matt (Gast)


Lesenswert?

Lt. Datenblatt ist beim PC817 ein I_F von 20mA bei einer U_F von 1,2V 
typisch. Wenn Du mit einer VCC von 5V arbeitest, fließen bei 1K 
Vorwiderstand gerade noch 3,8mA. Gut möglich, dass ein OK dabei noch 
(zuverlässig?) funktioniert, der andere aber nicht mehr. Lass mal etwas 
mehr Strom durch die LEDs fließen.

von Aike T. (biertrinker)


Lesenswert?

Hallo nochmal,

habe die beiden Optokoppler mal gegeneinander getauscht, das ändert nix 
am Ergebnis, es ist immer nur die strecke µC->Max232 gestört, nicht 
anders herrum. Auch habe ich die Vorwiederstände verkleinert auf 220Ohm, 
jetzt fließen 16 mA, verhalten ändert sich dadurch nicht.
Ich habe leider keine Idee mehr im Moment.

viele Grüße

Aike

von klodeckel (Gast)


Lesenswert?

Wenn Du Dich das erste Mal verzeichnet hast, dann poste doch bitte 
nochmal die tatsächliche Schaltung.

danke

ts

von Aike T. (biertrinker)


Angehängte Dateien:

Lesenswert?

Ich dachte das wäre dann klar, nun denn, hier ist der korrigierte plan.

von Aike T. (biertrinker)


Lesenswert?

Hallo mal wieder,

ich habe jetzt um dabei weiter zu kommen erstmal den Pull-Down 
wiederstand auf 4,7k reduziert - bringt keine Besserung.
Dann habe ich den Optokoppler ein der Richtung µC -> Max232 durch einen 
BC547 ersetzt. Dann funktioniert die Kommunikation.
Optokoppler wieder rein - wieder nix.

Was könnte das denn noch sein?

Es bleibt eigentlich nur der Schluss übrig, das der Max232 die von mir 
erzeugten Signale nicht akzeptiert, der mega8 aber schon.

viele Grüße

Aike

von Marco S (Gast)


Lesenswert?

Hallo erstmal.

Mit den 220 Ohm Vorwiderstand stellt sich ein Strom von ungefähr 17 mA 
in der Diode ein. Mit einem minimalen CTR von 50% sind das 8.5 mA 
Kollektorstrom. D. h. bei 5 V ergibt sich ein Lastwiderstand von 588 
Ohm. Mit 10 kOhm habe ich selbst schon die Erfahrung gesammelt, dass das 
Signal total verschmiert ist. Irgendwo habe ich mal gelesen, dass einige 
Entwickler den Strom hochsetzen, um die einfachste aller 
Optokopplerschaltungen zu optimieren.

von holger (Gast)


Lesenswert?

>Ich dachte das wäre dann klar, nun denn, hier ist der korrigierte plan.

Jetzt könnte immer noch der MAX232 falsch angeschlossen sein.

von Aike T. (biertrinker)


Angehängte Dateien:

Lesenswert?

Hm, den habe ich auf einer kleinen Platine mit nem Haufen Kondensatoren 
und 4 Schraubklemmen. Irgendwann mal nach Datenblatt aufgebaut, 
funktionierte bisher immer. Mit dem Transistor statt Optokoppler ja 
auch.
Irgendwas falsch?

vielen Dank

Aike

von Aike T. (biertrinker)


Lesenswert?

@Marco Du meinst den Pull-Down verkleinern? Hatte ich schon probiert, 
einmal mit 4,7k und einmal mit 1k, das hat leider nix gebracht.

von David P. (chavotronic)


Angehängte Dateien:

Lesenswert?

Ich glaube RX ist nicht ganz sauber.
So wie im Anhang müsste es klappen, hab es kurz aufgezeichnet.

von Aike T. (biertrinker)


Lesenswert?

Was du aufgezeichnet hast ist ja genau invertiert. Das bedeutet ja auch, 
das wenn der normalzustand Low ist, dann leuchten die Leds in den 
Optokopplern dauerhaft, wenn nix übertragen wird.
Ich will ein Gerät was ohne Unterbrechnung 24/7 am Netz hängt damit 
ausstatten, daher wäre anders herrum natürlich besser. Sowohl vom 
Stromverbrauch als auch von der Lebensdauer her.
Naja, macht nix, ich werde das auf jeden Fall mal so ausprobieren, 
warscheinlich aber erst am Sonntag, komm vorher nicht mehr zum basteln.

viele Grüße

Aike

von Markus (Gast)


Lesenswert?

Der Optokoppler 6N137 ist einer mit Logik-Ausgang und kann auch größere 
Frequenzen. Der wäre sicher besser geeignet.

von David P. (chavotronic)


Lesenswert?

Aike Terjung wrote:
> Was du aufgezeichnet hast ist ja genau invertiert.

Nö das Signal wird ja 2x invertiert, bei ner 0 leuchtet die LED und der 
Transistor schaltet auf 0, und umgekehrt.

>normalzustand Low ist, dann leuchten die Leds in den
>Optokopplern dauerhaft, wenn nix übertragen wird.

Wenn nix übertragen wird, liegt der TX Port auf 1 d.h. 5V
und dann..leuchtet die LED nicht.
Im Gegensatz zu deiner Schaltung ;)
Also weniger Bier trinken bevor man meckert :)

von Aike T. (biertrinker)


Lesenswert?

David P. wrote:

> Nö das Signal wird ja 2x invertiert, bei ner 0 leuchtet die LED und der
> Transistor schaltet auf 0, und umgekehrt.

Das meinte ich eigentlich nicht, ich meinte das deine Schaltung genau 
anders herrum arbeitet. Also nicht das das als Ergebnis ein invertiertes 
Signal ergibt.

>>normalzustand Low ist, dann leuchten die Leds in den
>>Optokopplern dauerhaft, wenn nix übertragen wird.
>
> Wenn nix übertragen wird, liegt der TX Port auf 1 d.h. 5V
> und dann..leuchtet die LED nicht.
> Im Gegensatz zu deiner Schaltung ;)
> Also weniger Bier trinken bevor man meckert :)

Ok, dann habe ich einen Denkfehler, ich habe gedacht wenn nicht gesendet 
wird ist TX auf LOW Pegel. Ich wollte auch garnicht meckern! Dann hast 
du natürlich recht und meine Schaltung ist unsinn. Gut gut, dann 
probiere ich am Sonntag das mal aus, ob das an meinem Problem was 
ändert.

@Marcus: Ja, der 6N137 wäre eigentlich super geeignet, aber ich habe 
einen einfach zu beschaffenden OK gesucht der nicht so groß ist, also 
nur 4 Pins hat, weil ich extrem wenig Platz habe. Das Tempo ist mir da 
eigentlich egal.

nun denn, erstmal vielen Dank, ich melde mich wenn ich Ergebnisse habe!

Aike

von Markus (Gast)


Lesenswert?

Ja dann nimm doch den ADUM1201 von Analog Device, ein Klasse Teil!!!

- 2 Kanäle schon drin
- SO8
- 3,3V und 5V Kompatibel
- gibts bei Farnell

http://www.analog.com/static/imported-files/data_sheets/ADuM1200_1201.pdf

von Markus (Gast)


Lesenswert?

PS: Stromaufnahme, ca. 1mA !!!

von David P. (chavotronic)


Lesenswert?

Es gibt übrigens von Tracopower DC/DC Wandler wg. der galvanischen 
Trennung der beiden Versorgungsspannungen

von Aike T. (biertrinker)


Lesenswert?

Nabend,

erstmal danke für alle Alternativtipps. Im moment wäre es mir aber 
wichtiger das mit dem PC817 zu schaffen.
Ich habe jetzt auf den Alternativvorschlag von David umgebaut, leider 
gleiches Ergebnis.
Arg, warum hab ich bloß kein Oszi?

von David (Gast)


Lesenswert?

hast du mal 220 Ohm für die Dioden Vorwiderstände versucht?

von Aike T. (biertrinker)


Lesenswert?

Ja, schon probiert, leider auch keine Besserung.
Was kann ich denn da bloß noch versuchen? Anderen Max232 kaufen? 
Vielleicht bekomme ich einen von nem anderen Hersteller.

von David P. (chavotronic)


Lesenswert?

aber direkter Anschluss geht ohne Probleme? Merkwürdige Sache.

von Aike T. (biertrinker)


Lesenswert?

Ja, es wird sogar noch seltsamer. Ich habe jetzt mal hinter den OK einen 
weiteren AVR gehängt. Auf dem Läuft ein Programm das einfach nur weiter 
kopiert. Also alles was auf RXD rein kommt wird direkt über TXD wieder 
raus gehauen.
Habe dann den Ausgang von OK an RXD von neuen AVR gehängt und TXD dann 
auf den Max232. Also quasi einfach als Relay.
Dann funktionert die Komunikation wieder. Es liegt also definitiv am Max 
bzw. an der Signalquallität.
Ich denke ich muss mir noch nen 2. Max232 besorgen, dann kann ich mir 
zumindest ein Osziloskop mit dem ADC aufbauen. Vielleicht kann ich damit 
einen Unterschied ausmachen.

von adam (Gast)


Lesenswert?

Ich finde die Trennung mit Optokoppler bei einem Multimeter ist 
vorbildlich. Man kann aus der Rs232 die Versorungsspannung gewinnen und 
braucht kein zusätzliches Netzgerät. Es ist nur notwendig, die RTS und 
DTR- Leitung zu setzen.
Schaltung:
[[http://schulen.eduhi.at/htlbraunau/lehrer/ploetz/Labbsp/upmetex/metex.pdf]]

von Horst (Gast)


Lesenswert?

Wofür dient denn der Anschluss X1-1 im Schaltbild des MAX232 ?

von Markus (Gast)


Lesenswert?

> Arg, warum hab ich bloß kein Oszi?

Günstige gibts hier:
http://shop.ebay.de/merchant/tek4you_eu_W0QQ_nkwZQQ_armrsZ1QQ_fromZQQ_mdoZ

Oszi erspart tagelanges suchen und raten...

von Aike T. (biertrinker)


Lesenswert?

X1-1 ist VCC, also +5V. Habe den max232 ja als eingenes Modul auf einer 
kleinen Platine um den bei versuchsaufbauten so einsetzen zu können.

@Adam: Interessante Variante, dann kann ich mir den Pegelwandler sparen. 
Allerdings kann ich dann kein normales Terminal-Programm mehr nehmen, 
DTR und DTS müssen dann ja passend gesetzt werden. Das macht mir neue 
Probleme.
Aber wirklich interessant.

von David P. (chavotronic)


Lesenswert?

>Wofür dient denn der Anschluss X1-1 im Schaltbild des MAX232
Hat der Max etwa eine inegrierte Brennstoffzelle? ;)

von Marco S (Gast)


Lesenswert?

Mach doch mal die Schaltung statisch. D.h. der uC gibt eine 1 aus. So 
kannst du die eingeschwungenen Spannungspegel überprüfen und mit den 
Daten im Datenblatt vergleichen. Ein DMM wirste ja wohl haben.

von Aike T. (biertrinker)


Lesenswert?

Habe noch was in diese Richtung gemessen. Fogende Ergebnisse sind dabei 
raus gekommen:

Gemessen habe ich erst die TTL-Pegel, die schienen aber erst unkritisch.
Dann habe ich mal den Strom auf er RX Leitung des Max gemessen wenn der 
Mega8 direkt angeschlossen ist: 73mA. Das ist doch verdammt viel, oder?
Am Optokoppler sind es nur knapp 4mA, wie es bei einem 1k Pullup auch 
etwa sein sollten.
Das der High-Pegel dann auf 0,8V absinkt brauche ich wohl nicht mehr 
erwähnen, oder?
Da werde ich wohl den Max232 Teil nochmal ganz genau unter die Lupe 
nehmen müssen.
So viel Stromaufnahme kann ja eigentlich nicht normal sein.

nun denn, morgen seh ich weiter,

vielen dank für Heute

Aike

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
Noch kein Account? Hier anmelden.