Störende Pullups während Reset

#3992932
Lesenswert?

Hallo, ich habe mal eine Frage bezüglich der Pullupwiderstände die ja 
aktiv sind wenn der AVR (ATM16) im Reset gehalten wird.

Ich habe vor, an einem Ausgang einen Optokoppler dranzuhängen der 
wiederum einen FET ansteuert, da der FET den Transistor des Optokoppler 
ja kaum belastet habe ich etwas bedenken das der Optokoppler während 
eines Resets aufgrund des Pullupstroms schon durchsteuert.

Ist meine Befürchtung begründet? Wenn ja wie könnte man das auf einfache 
Weise verhindern?

Pullup durch Pulldown (Spannungsteiler) soweit belasten das die 
Spannnung gegen Null geht oder einfach den Widerstand für die 
Optokoppler LED weiter erhöhen.

Auf den Schaltplan habe ich jetzt mal verzichtet.
ATMega16 mit 5V VCC
LED im Optokoppler 1,2V/20mA
5-1,2=3,8V benötigter Spannungsabfall
3,8 / 0,02A = 190 Ohm

ich werde 220 Ohm verbauen
Angehängte Dateien:
(Firma: matzetronics) #3992940
Lesenswert?

Thomas O. schrieb:
> Hallo, ich habe mal eine Frage bezüglich der Pullupwiderstände die ja
> aktiv sind wenn der AVR (ATM16) im Reset gehalten wird.

Sie sind aber während Reset gar nicht aktiv.
Zitat aus dem Datenblatt Mega16 (06/08 Seite 50)
> The port pins are tri-stated when a reset condition becomes
> active, even if no clocks are running.
Gast #3992985
Lesenswert?

Thomas O. schrieb:

> Hallo, ich habe mal eine Frage bezüglich der Pullupwiderstände die ja
> aktiv sind wenn der AVR (ATM16) im Reset gehalten wird.

Nein, das werden sie nicht. Wenn Reset, dann IO-Pins hochohmig. Das 
steht im Datenblatt, man muß es nur mal lesen...

> Ich habe vor, an einem Ausgang einen Optokoppler dranzuhängen der
> wiederum einen FET ansteuert

Dann brauchst du bezüglich des Reset überhaupt nix unternehmen. Einfach 
nur den passenden Widerstand, um den Strom durch die LED im normalen 
Betrieb zu begrenzen, genügt völlig.

Etwas anders sieht das bei direkter Ansteuerung eines FET aus. Da ist 
dann ein Pulldown nötig. Aber nicht etwa, um den Strom eines Pullup 
abzuleiten, sondern um den bei hochohmigem Ausgang sonst floatenden 
Pegel auf ein wohldefiniertes Niveau zu bringen.

Dasselbe ist aber auch "hinter" einem Optokoppler nötig. Je nachdem, ob 
der invertierend oder nichtinvertierend benutzt wird, ist für die 
Ansteuerung eines FET immer ein Widerstand nach VCC bzw. GND nötig, um 
immer für einen definierten Pegel im Fall "LED dunkel" zu sorgen. Dann 
ist nämlich der Transistor im Optokoppler auch hochohmig und somit ohne 
Widerstand der Pegel undefiniert.
#3992998
Lesenswert?

ich verwende die Fuses mit der 64 mSek Verzögerung und da dauert es dann 
etwas bis ich im Programm PUD setzen kann.

LED zw. VDD und Portpin: Mich stört dieses invertierte Verhalten. Gerade 
wenn man nach längerer Zeit wieder einen Quelltext hernimmt, möchte ich 
mit einer 1 einen aktiven Aktor erkennen/darstellen ohne erstmal groß zu 
schauen wie rum war das angeklemmt.
Angehängte Dateien:
#3993015
Lesenswert?

Thomas O. schrieb:
> ich verwende die Fuses mit der 64 mSek Verzögerung und da dauert
> es dann
> etwas bis ich im Programm PUD setzen kann.
http://www.atmel.com/Images/doc2466.pdf
-  Seite 67:
Die Pullups sind nach dem Reset sowieso aus, die PORTx und DDRx Register 
sind nach dem Reset beide 0x00.
- Seite 50:
>> The port pins are tri-stated when a reset condition becomes
>> active, even if no clocks are running.
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
           Also auch schon bevor der Oszillator überhaupt startet.

Das hat Atmel auch verstanden, dass es blöd wäre, wenn die IOs nach dem 
Reset aktivierte Pullups hätten.

> LED zw. VDD und Portpin: Mich stört dieses invertierte Verhalten. Gerade
> wenn man nach längerer Zeit wieder einen Quelltext hernimmt, möchte ich
> mit einer 1 einen aktiven Aktor erkennen/darstellen ohne erstmal groß zu
> schauen wie rum war das angeklemmt.
Dafür sind Kommentare da.

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