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!
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.
@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.
@ 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?
???
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.
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.
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.
@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.
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.
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.
?
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.
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.
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.
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
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!
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
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".
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
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.
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 ...
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.
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.