Forum: Mikrocontroller und Digitale Elektronik Muss man einen Optokopplerpin Low ziehen?


von J.S. (Gast)


Lesenswert?

Hallo zusammen,

Ich plane gerade eine Schaltung bei der ein Atmega 328 einen Optokoppler 
ansteuern soll. Dazu wollte Ich einfach einen Pin an den einen Anschluss 
des Optokopplers anschliessen und den anderen Anschluss des Optokopplers 
and Gnd. Muss Ich jetzt theoretisch und praktisch den Pin des 
Mikrocontrollers mit einem Widerstand auf Und ziehen dass er einen 
definierten Pegel hat wenn ich ihn im Programm ausschalte? Eigentlich 
sollte dass ja nicht nötig sein da der Pin ja keinen Strom mehr liefern 
kann wenn er im Programm ausgeschaltet wird oder?
Entschuldigung für den seltsamen Betreff übrigens, mir ist kein besserer 
Titel eingefallen.

Danke schonmal!

von Rolf M. (rmagnus)


Lesenswert?

J.S. schrieb:
> Hallo zusammen,
>
> Ich plane gerade eine Schaltung bei der ein Atmega 328 einen Optokoppler
> ansteuern soll. Dazu wollte Ich einfach einen Pin an den einen Anschluss
> des Optokopplers anschliessen und den anderen Anschluss des Optokopplers
> and Gnd.

Ein Optokoppler besteht in der Regel aus einer LED und einem 
Fototransistor.

> Muss Ich jetzt theoretisch und praktisch den Pin des Mikrocontrollers mit
> einem Widerstand auf Und ziehen dass er einen definierten Pegel hat wenn
> ich ihn im Programm ausschalte?

Der LED ist das egal. Die leuchtet auch ohne Pull-Down nicht, solange 
keine Spannung anliegt.

Beitrag #5279319 wurde von einem Moderator gelöscht.
von J. S. (Gast)


Lesenswert?

Danke, dann funktioniert das so wie Ich es mir gedacht habe.
Muss man Pins nur auf Low ziehen wenn man sie als Eingang nutzt?

von Falk B. (falk)


Lesenswert?

@J.S. (Gast)

>des Optokopplers anschliessen und den anderen Anschluss des Optokopplers
>and Gnd.

Der Standardfall.

> Muss Ich jetzt theoretisch und praktisch den Pin des
>Mikrocontrollers mit einem Widerstand auf Und ziehen

Sollte wohl GND heißen.

> dass er einen
>definierten Pegel hat wenn ich ihn im Programm ausschalte?

Wozu Widerstand? Die meisten IOs sind Push Pull Ausgänge. Einfach auf 
LOW setzen.

>Eigentlich
>sollte dass ja nicht nötig sein da der Pin ja keinen Strom mehr liefern
>kann wenn er im Programm ausgeschaltet wird oder?

Er wird im Programm aber nicht ausgeschaltet sondern

a) auf LOW gesetzt
b) auf Eingang oder Tristate (hochohmig) gesetzt

b ist ungünsitig, denn dann können im Extremfall Störungen einkoppeln.

von Falk B. (falk)


Lesenswert?

@ Jakob Staudt (kasa)

>Danke, dann funktioniert das so wie Ich es mir gedacht habe.
>Muss man Pins nur auf Low ziehen wenn man sie als Eingang nutzt?

???

von J. S. (Gast)


Lesenswert?

Falk B. schrieb:
> Sollte wohl GND heißen.

Stimmt

Falk B. schrieb:
> ???

Was ist?
Meintest du dass Ich antworte? Ich hatte mich nur nicht angemeldet und 
bin der TO.
Meine Anschlussfrage nachdem das problem geklärt ist war ob man 
Pulldownwiederstände nur an Inputs braucht oder ob man sie auch in 
manchen Fällen an outputs braucht.

von Einer K. (Gast)


Lesenswert?

J.S. schrieb:
> Dazu wollte Ich einfach einen Pin an den einen Anschluss
> des Optokopplers anschliessen und den anderen Anschluss des Optokopplers
> and Gnd.

Natürlich brauchst du da einen Widerstand!
Jede LED an einem µC braucht einen Vorwiderstand.

von A. S. (Gast)


Lesenswert?

Jakob S. schrieb:
> Was ist?
> Meine Anschlussfrage nachdem das problem geklärt ist war ob man
> Pulldownwiederstände nur an Inputs braucht oder ob man sie auch in
> manchen Fällen an outputs braucht.

Einen Eingang zieht man nur dann nach GND, wenn er low sein soll.

Und einen Pullup- oder -down braucht man nur, wenn sonst niemand den 
Eingang treibt, z.B. kein Ausgang.

Bei einem Ausgang wäre ein Pull-irgendwas sinnlos, da er doch einen 
definierten Pegel hat. Anders sieht es aus, wenn es ein Open-Kollektor 
ist oder der Ausgang zeitweise (z.B. beim Startup) kein Ausgang ist.

von Falk B. (falk)


Lesenswert?

@Jakob Staudt (kasa)

>Meine Anschlussfrage nachdem das problem geklärt ist war ob man
>Pulldownwiederstände nur an Inputs braucht oder ob man sie auch in
>manchen Fällen an outputs braucht.

AHHHH, DAS ist eine Frage!

Ja, man braucht auch an Outputs manchmal Pull-Downs oder Pull-Ups. Der 
Klassiker ist eine direkte MOSFET-Ansteuerung. Dort braucht man einen 
externen Pull-Down Widerstand, damit der MOSFET sicher aus ist, wenn der 
Mikrocontroller im Reset ist oder programmiert wird.

von J. S. (Gast)


Lesenswert?

Arduino F. schrieb:
> Jede LED an einem µC braucht einen Vorwiderstand.

Ich meinte keinen Vorwiderstand sondern einen Pulldownwiderstand.

von Wolfgang (Gast)


Lesenswert?

Falk B. schrieb:
>>des Optokopplers anschliessen und den anderen Anschluss des Optokopplers
>>and Gnd.
>
> Der Standardfall.

Wenigstens einen Vorwiderstand für die OC-LED sollte man vorsehen.

Eine Ansteuerung der LED mit dem Low-Side FET der Ausgangsstufe und 
Verschaltung gegen die positive Spannung wird mindestens genauso oft 
verwendet.

von J. S. (Gast)


Lesenswert?

Wolfgang schrieb:
> Wenigstens einen Vorwiderstand für die OC-LED sollte man vorsehen.

Stimmt, den hatte Ich vergessen zu erwähnen da Ich ein fertiges Modul 
benutzen will auf dem der Widerstand schon drauf ist, aber danke fürs 
Erinnern!

Wolfgang schrieb:
> Eine Ansteuerung der LED mit dem Low-Side FET der Ausgangsstufe und
> Verschaltung gegen die positive Spannung wird mindestens genauso oft
> verwendet.

Was heisst das für den Halblaien erklärt? Und genausooft oft wie was? 
Wie

Falk B. schrieb:
> Der Standardfall.

?

von Karl B. (gustav)


Lesenswert?

Hi,
anstelle der LEDs eben den "Steuer-Eingang" des Optokopplers 
verschalten.

http://www.avr-tutorials.com/interfacing/interfacing-leds-avr-microcontroller

ciao
gustav

P.S.:
Pinout des Optokopplers ist bekannt?

: Bearbeitet durch User
von Einer K. (Gast)


Lesenswert?

Jakob S. schrieb:
> Arduino F. schrieb:
>> Jede LED an einem µC braucht einen Vorwiderstand.
>
> Ich meinte keinen Vorwiderstand sondern einen Pulldownwiderstand.


J.S. schrieb:
> Dazu wollte Ich einfach einen Pin an den einen Anschluss
> des Optokopplers anschliessen und den anderen Anschluss des Optokopplers
> and Gnd.


Offensichtlich sagst du Dinge, die du entweder nicht so meinst, oder die 
schädlich sind.
Auch wenn es dich überrascht: Von hier aus, kann ich das nicht 
unterscheiden.

Tut mir leid dich in deiner Ruhe gestört zu haben....
Wird nicht wieder vor kommen.

von J. S. (Gast)


Lesenswert?

Arduino F. schrieb:
> Tut mir leid dich in deiner Ruhe gestört zu haben....
> Wird nicht wieder vor kommen.

Entschuldigung wenn sich das böse oder genervt angehört hat, war nicht 
so gemeint.

Arduino F. schrieb:
> Offensichtlich sagst du Dinge, die du entweder nicht so meinst, oder die
> schädlich sind.

Ja, Ich hatte vergessen den Vorwiderstand zu erwähnen.

Danke an Alle für die Hilfe, Ich werde den Optokoppler jetzt einfach wie 
eine LED mit Vorwiderstand ansteuern.

von Karl B. (gustav)


Lesenswert?

War noch nicht fertig:
Bei Optokopplern gibt es mehrere Sorten, je nach Anwendungszweck.
Rein zufällige I-Net-Suche:


http://www.produktinfo.conrad.com/datenblaetter/150000-174999/154058-da-01-en-Optocoupler_SFH628A_3.pdf


(Ja, ich hab einen 6-Poler. SFH 600-2. Den musste ich erst 
"durchmessen". )

ciao
gustav

: Bearbeitet durch User
von J. S. (Gast)


Lesenswert?

Bei mir ist es ein 4-Poliger der einen Mosfet ansteuern soll, Ich werde 
den OC also wie eine LED anschliessen.

von Wolfgang (Gast)


Lesenswert?

Jakob S. schrieb:
> Wolfgang schrieb:
>> Eine Ansteuerung der LED mit dem Low-Side FET der Ausgangsstufe und
>> Verschaltung gegen die positive Spannung wird mindestens genauso oft
>> verwendet.
>
> Was heisst das für den Halblaien erklärt?

Der Strom kommt von der positiven Versorgungsspannung, fließt durch 
LED/Widerstand und den unteren FET der CMOS-Ausgangsstufe nach Gnd.


Und genausooft oft wie was?
> Wie

Der Strom kommt von der positiven Versorgungsspannung, fließt durch den 
oberen FET der CMOS-Ausgangsstufe und dann über  LED/Widerstand nach 
Gnd.

von Karl B. (gustav)


Lesenswert?

Hi,
"...AVR microcontrollers such as the ATMega8515 only supply a current of 
about 20mA and so we can drive an LED directly from the microcontroller 
port eliminating the resistor. In fact if a resistor is added the 
intensity of the LED will be low..."

AVR-Mikrocontroller wie der ATMega8515 liefern nur einen Strom von ca. 
20mA und so können wir eine LED direkt vom Mikrocontroller-Port treiben, 
wodurch der Widerstand unnötig wird. Wenn ein Widerstand hinzugefügt 
wird, ist die Intensität der LED niedrig ... "

Das Programm muss dann den Schaltzustand definieren durch Setzten von 1 
oder 0
sbi port xyz, 1 ... oder cbi port xyz, 1
oder anders, der Phantasie sind keine Grenzen gesetzt.

ldi temp, 0X00
out port xyz, temp

oder eben
ldi temp, 0x01
out port xyz, temp




ciao
gustav

von HildeK (Gast)


Lesenswert?

Karl B. schrieb:
> "...AVR microcontrollers such as the ATMega8515 only supply a current of
> about 20mA and so we can drive an LED directly from the microcontroller
> port eliminating the resistor. In fact if a resistor is added the
> intensity of the LED will be low..."

Woher hast du das denn? Sicher nicht aus einer Applikationsschrift von 
Atmel!

von Karl B. (gustav)


Angehängte Dateien:

Lesenswert?

HildeK schrieb:
> Karl B. schrieb:
>> "...AVR microcontrollers such as the ATMega8515 only supply a current of
>> about 20mA and so we can drive an LED directly from the microcontroller
>> port eliminating the resistor. In fact if a resistor is added the
>> intensity of the LED will be low..."
>
> Woher hast du das denn? Sicher nicht aus einer Applikationsschrift von
> Atmel!

Beitrag "Re: Muss man einen Optokopplerpin Low ziehen?"

Der Link ist oben schon einmal angegeben worden:

Und für ungläubige Thomasse, der Screenshot noch.

Momang, habe gerade mit dem XP-Rechner wieder 100 Proz ausl.
Aber nur bei Multitasking. Alter PC ist kein D-Zug!)

ciao
gustav

: Bearbeitet durch User
von Brummbär (Gast)


Lesenswert?

Karl B. schrieb:
> Und für ungläubige Thomasse, der Screenshot noch.

Aha! Du suchst dir irgend eine Quelle und glaubt dieser bedingungslos.
Ja, das scheinen viele zu tun. Nur dadurch verbreiten sich "Fake News".

von Karl B. (gustav)


Lesenswert?

OK...

http://www.avrfreaks.net/forum/leds-question?skey=leds%20on%20outp

"...On those devices it is better to drive the LEDs on when driven low, 
since they have better sink than source capabilities...."

Aber, alles hat eine Alternative:

"...So it is best to have the LEDs connected via a resistor to the 
positive supply voltage. (If you want maximum brightness, anyway...)..

Yep.
OK.

Anything you want....

Treibertransistoren wären auch nicht schlecht.
OK.

ciao
gustav

von Manfred (Gast)


Lesenswert?

HildeK schrieb:
> Woher hast du das denn? Sicher nicht aus einer Applikationsschrift von
> Atmel!
Karl B. schrieb:
> Der Link ist oben schon einmal angegeben worden:

Na toll, jedenfalls keine offizielle AVR-Seite.
http://www.avr-tutorials.com/disclaimer

Außerdem ist es Unfug, eine LED (Optokoppler) unbedingt mit 20mA 
betreiben zu wollen. Man kann und darf es, aber wie sieht die Energie- 
und Thermobillanz aus, wenn es mehrere sind - wie weit will und sollte 
man die elektrische Leistung des µC ausreizen?

Ob man nun den Optokoppler gegen Plus schaltet und den µC-Ausgang auf 
low oder den Opto gegen GND und den µC-Out auf high, ist Geschmackssache 
- in jedem Fall gehört da ein Widerstand in Reihe.

von Axel S. (a-za-z0-9)


Lesenswert?

Karl B. schrieb:
> HildeK schrieb:

>> Woher hast du das denn? Sicher nicht aus einer Applikationsschrift von
>> Atmel!
>
> Beitrag "Re: Muss man einen Optokopplerpin Low ziehen?"
> Der Link ist oben schon einmal angegeben worden

Und du hättest dir jetzt einen Zacken aus der Krone gebrochen, den Link 
nochmal hier rein zu kopieren? Aber nicht dabei, einen Link zu einem 
früheren Beitrag zu kopieren?

Ich helfe dir mal: http://www.avr-tutorials.com/

> Und für ungläubige Thomasse, der Screenshot noch.

Man muß nicht besonders ungläubig sein, um Zweifel am Inhalt von 
www.avr-tutorials.com zu haben. Obwohl (bzw. besonders weil) sie auf 
jeder Seite ganz oben behaupten, sie hätten "The Best AVR 
Microcontroller Tutorials on the Web". Auf jeden Fall haben sie schon 
mal kein Impressum und der Disclaimer ist auch dürftig. Wer dahinter 
steht, weiß man nicht. Angesichts der von dir zitierten Ratschläge kann 
ich aber gut verstehen, daß der Autor anonym bleiben will ...

von Joachim B. (jar)


Lesenswert?

Karl B. schrieb:
> Hi,
> "...AVR microcontrollers such as the ATMega8515 only supply a current of
> about 20mA

es gibt auch AVR die 40mA treiben aber das hält nicht jede LED aus und 
ist auch absolut unnötig, man sollte also immer an einen RV denken

lieber TO, schreibe doch nicht immer Optokoppler oder OC, so ein Teil 
hat mindestens 4 Pins, dann benenne den gemeinten Pin und/oder besser 
mache ein Schaltbild!

zurück zur Frage, du kannst unter Beachtung der Ströme und mit RV nach 
low oder nach high ziehen.

: Bearbeitet durch User
von Karl B. (gustav)


Angehängte Dateien:

Lesenswert?

Joachim B. schrieb:
> es gibt auch AVR die 40mA treiben aber das hält nicht jede LED aus und
> ist auch absolut unnötig, man sollte also immer an einen RV denken

Hi,
da steht auch etwas...

https://www.mikrocontroller.net/articles/AVR-Tutorial:_IO-Grundlagen
 bis auf  "...Ausgänge benutzen, wenn mehr Strom benötigt wird..." 
runterscrollen.

Wie nun praktische "Portanschlüsse" aussehen (bei mir) ist aus den 
Bildchen zu entnehmen. (Also, arbeite lieber mit Treiberstufen... noch.)

Manfred schrieb:
> Na toll, jedenfalls keine offizielle AVR-Seite.

Da bin ich jetzt wohl voll drauf reingefallen. Sieht ja ziemlich echt 
aus, ist aber wohl mehr ein Fake?
(Die andere Forenseite aber wohl nicht.)

ciao
gustav

P.S.: Bild für Portausgangsanschluss kommt gleich noch.

Hier der Link:
https://www.mikrocontroller.net/attachment/350055/LCD_Hintergrundbeleuchtung.png


Jetzt kommt es noch darauf an, wie oben schon gesagt, den Vorwiderstand 
zu optimieren. Bei LEDs oder Hintergrundbeleuchtung ist das nicht so 
extrem kritisch, ein Optokoppler sollte aber schon ziemlich genau seiner 
Spezifikation nach beschaltet werden. Da müsste man 'mal ins Datenblatt 
reinschauen, was der an Strom braucht, um "sicher" zu schalten, auf der 
anderen Seite auch nicht vorzeitig altert.

: Bearbeitet durch User
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.