Forum: Mikrocontroller und Digitale Elektronik UART Optikoppler - Wo ist der Denkfehler


von Basti (Gast)


Lesenswert?

Hallo folgende Schaltung:

+5V --> 330 Ohm --> Optokoppler-LED +
Optokoppler-LED - ---> TX Pin Mega32

Leider scheint das nicht zu laufen, nur warum!?

Laut meiner Überlegung müsste die Katode des Optokopplers wärend der 
Übertragung entweder 5V oder 0V haben. Mein Scope zeigt aber 5V/4,8V an.




$regfile = "m32def.dat"
$crystal = 16000000
$baud = 9600

Config Portd.1 = Output
Do
Print "test"
wait 1
Loop
end

von Ben _. (burning_silicon)


Lesenswert?

optokoppler kommt nicht von optik!

von Magnus M. (magnetus) Benutzerseite


Lesenswert?

Tja.... irgendwo nen Kurzschluss gegen +5V gebaut?

von Rokko der Rabe (Gast)


Lesenswert?

Ben _ schrieb:
> optokoppler kommt nicht von optik!

doch. Und zwar von optotronik. Optik + Elektronik

von "Q" (Gast)


Lesenswert?

Häng mal den Schaltplan mit an oder erklehre die Verdratung genauer mit 
"Optikoppler" ausgang.

von Falk B. (falk)


Lesenswert?

Siehe Optokoppler. Man muss das Ganze NICHTinvertierend beschalten.

von Magnus M. (magnetus) Benutzerseite


Lesenswert?

Falk Brunner schrieb:
> Siehe Optokoppler. Man muss das Ganze NICHTinvertierend beschalten.

Deswegen hat er aber trotzdem noch nen Kurzschluss gebaut ;o)

von Basti (Gast)


Angehängte Dateien:

Lesenswert?

@Magnus: Ja so scheint es.

Ich hab den Vorwiderstand schon gemessen, und die Katode mal abgetrennt. 
Dann stimmt der Pegel am Portpin.
Evtl Den Optokoppler kaputt gemacht?

von Wilhelm F. (Gast)


Lesenswert?

@Basti:

Die Schaltung sieht gesund aus. Hast du den Ausgang am µC als Input oder 
Output geschaltet? Selbst wenn der Optokoppler defekt wäre, ist da immer 
noch der Widerstand 330 Ohm.

von Basti (Gast)


Lesenswert?

Ich hab schon versucht, den Port alsOutput zu definieren.
Ich werd mal den Ausgang toggeln lassen und schauen was passiert

von Basti (Gast)


Lesenswert?

MMHH sehr suspekt.

Ich habe nun folgendes versucht

Config Portd = Output


Do
Portd.0 = 0
Portd.1 = 0
Portd.2 = 0
Waitms 250
Portd.0 = 1
Portd.1 = 1
Portd.2 = 1
Waitms 250
Loop

der einzigste port der toogled it portd.2 obwohl die anderen nicht am 
optokoppler sind. Chip kaputt, oder hab ich irgend ein Fuse übersehen?

von Magnus M. (magnetus) Benutzerseite


Lesenswert?

Basti schrieb:
> der einzigste port der toogled it portd.2 obwohl die anderen nicht am
> optokoppler sind. Chip kaputt, oder hab ich irgend ein Fuse übersehen?

Mach dein Board mal stromlos und miss den Widerstand zwischen VCC und 
PD1. Was zeigt dein Messeisen an?

von Wilhelm F. (Gast)


Lesenswert?

@Basti:

Ich arbeite hier mit uralten SAB80C517A, ein 8051-Derivat von 
Siemens/Infineon, mit der selben Schaltung, wie du sie hast. Die 
Portpins können sogar nur low treiben, und 1 Fanout eines TTL (1,6mA). 
Habe anstatt 330 Ohm da auch 2kOhm dran. Am SFH601 klappt das aber 
vorzüglich. Werden durch den geringen Strom aber auch lahm.

Ist dein µC-Pin im Eimer? Versuch es noch mal mit anderen.

von "Q" (Gast)


Lesenswert?

Schmeis mal den UART aus dem Toggleprogramm, einfach nichts was mit dem 
UART zutun hat in die Togglesoftware schreiben, denn an Portd0 und an 
Portd2 hängt der HW Uart der gleich eingeschaltet wird wenn etwas vom 
UART erwäht wird.(Hatte mal ein ähnliches Problem)

von Basti (Gast)


Lesenswert?

So Uart ist raus, Programm läuft!

Allerdings verstehe ich den Fehler nicht - Löte ich den 330 Ohm 
(Gemessen!) aus, funktioniert der Portpin.. 330 Ohm - da fließt doch 
kein Strom, das sollte den Portpin nicht belasten, oder?

von Basti (Gast)


Lesenswert?

So hab mal 2,7K genommen, da bleibt derPin auch High. Scheint als wäre 
der Controller hinüber, oder?

von Basti (Gast)


Lesenswert?

Der Optokoppler ist nun auch bestätigt. Er Funktioniert tadellos. Hab 
den PortPin abgelegt und auf Masse gelegt. Der Ausgangstransistor 
schaltet dann durch

von Wilhelm F. (Gast)


Lesenswert?

Basti schrieb:

> So hab mal 2,7K genommen, da bleibt derPin auch High. Scheint als wäre
> der Controller hinüber, oder?

Was soll der Pin denn laut Datenblatt treiben können? Welchen Strom bei 
welcher Spannung?

330 Ohm machen nach Abzug des Optokopplers mehr als 10mA. So hohe Ströme 
kenne ich von all meinen µC nicht, weder vom 8051, noch von den LPC2000.

von Ulirch (Gast)


Lesenswert?

Dem Code nach zu urteilen ist das ein Atmel AVR. Die können 20 mA und 
mehr treiben bei 5 V Versorgung. Es sei denn natürlich man vergisst den 
Port auf Ausgang zu schalten. Dann wird nur der intern Pullup aktiviert, 
und der kann nur etwa 0.1 mA.

Je noch Optokoppler sind 9600 Baud schon relativ schnell. Also lieber 
erstmal mit 1200 Baud testen.

von Wilhelm F. (Gast)


Lesenswert?

Ulirch schrieb:

> Die können 20 mA und
> mehr treiben bei 5 V Versorgung.

Das ist ein völliger Irrglaube. Der Pin erreicht bei Belastung nie mehr 
die Betriebsspannungsgrenze. Daher meine Frage.

Mein 8051 schafft auch 20mA. Innerhalb der TTL-Spezifikation aber nur 
1,6mA.

von Ulirch (Gast)


Lesenswert?

Beim AVR (Beispiel Mega8) sind bei 5 V Versorgung und 20 mA noch 
mindestens 4,2 V am Ausgang angegeben. Die low Seite kommt auf 0,7 V. 
Das ist noch deutlich innerhalb der TTL Grenzen. Nur mehr als 40 mA 
sollten es nicht auf Dauer sein. Ab man die tatsächlich erreicht ist 
aber nicht sicher.

von Wilhelm F. (Gast)


Lesenswert?

Ulirch schrieb:

> Beim AVR (Beispiel Mega8) sind bei 5 V Versorgung und 20 mA noch
> mindestens 4,2 V am Ausgang angegeben. Die low Seite kommt auf 0,7 V.
> Das ist noch deutlich innerhalb der TTL Grenzen.

Das sind ja schon mal handfeste Werte, bei denen man ein wenig grob was 
abschätzen kann. Wenn das für den µC von Basti auch gilt, kann er den 
Pin mal checken.

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.