mikrocontroller.net

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


Autor: Aike T. (biertrinker)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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 
;-)

Autor: Wolfgang Birner (logox2)
Datum:

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

Autor: ghost (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
lass mich raten..
die richtung tx1 -> rx2 funktioniert oder?

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Aike T. (biertrinker)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Matt (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Aike T. (biertrinker)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: klodeckel (Gast)
Datum:

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

danke

ts

Autor: Aike T. (biertrinker)
Datum:
Angehängte Dateien:

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

Autor: Aike T. (biertrinker)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Marco S (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Aike T. (biertrinker)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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

Autor: Aike T. (biertrinker)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: David P. (chavotronic)
Datum:
Angehängte Dateien:

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

Autor: Aike T. (biertrinker)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Markus (Gast)
Datum:

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

Autor: David P. (chavotronic)
Datum:

Bewertung
0 lesenswert
nicht 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 :)

Autor: Aike T. (biertrinker)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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_s...

Autor: Markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
PS: Stromaufnahme, ca. 1mA !!!

Autor: David P. (chavotronic)
Datum:

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

Autor: Aike T. (biertrinker)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: David (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hast du mal 220 Ohm für die Dioden Vorwiderstände versucht?

Autor: Aike T. (biertrinker)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: David P. (chavotronic)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
aber direkter Anschluss geht ohne Probleme? Merkwürdige Sache.

Autor: Aike T. (biertrinker)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: adam (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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/L...]]

Autor: Horst (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wofür dient denn der Anschluss X1-1 im Schaltbild des MAX232 ?

Autor: Markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Arg, warum hab ich bloß kein Oszi?

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

Oszi erspart tagelanges suchen und raten...

Autor: Aike T. (biertrinker)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: David P. (chavotronic)
Datum:

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

Autor: Marco S (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Aike T. (biertrinker)
Datum:

Bewertung
0 lesenswert
nicht 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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.