Uart und Optokoppler - eine richtung geht, die andere nicht

OP #975806
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 
;-)
Angehängte Dateien:
Gast #975842
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.
OP #976076
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
OP #977497
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
Gast #977544
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.
OP #977648
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
#977716
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 :)
OP #977821
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
OP #979330
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.
OP #979343
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.
Gast #979358
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.
OP #979373
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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren