Forum: Mikrocontroller und Digitale Elektronik atmega8 zu hohe Kapazität eingebaut


von Sam (Gast)


Lesenswert?

Hallo zusammen!

Habe die ATMega8 Schaltung von

http://www.mikrocontroller.net/articles/AVR-Tutorial:_Equipment

nachgebaut und bei PIN1 (PC6 Reset) anstatt 47nF 100nF eingebaut. Stellt 
das ein Problem dar? Warum ist für diesen Port eine andere Kapazität 
notwendig?

Vielen Dank für Antworten und Gruss,
Sam

von holger (Gast)


Lesenswert?

>anstatt 47nF 100nF eingebaut. Stellt
>das ein Problem dar?

Wenn dein ISP Prommer damit klar kommt: No Problem.

von Stone (Gast)


Lesenswert?

Nö, ist ok.
Ist kein anderer Port. Dabei geht es nur darum eine Verzögerung zu 
erreichen wenn du die Versorgungsspannung anschaltest. Kann man auch 
ganz weglassen den Kondensator.

Gruß Matthias

von Sam (Gast)


Lesenswert?

holger schrieb:
>>anstatt 47nF 100nF eingebaut. Stellt
>>das ein Problem dar?
>
> Wenn dein ISP Prommer damit klar kommt: No Problem.

Cool, die raschen Antworten!

Hat die grössere Kapazität eine höhere Stromspitze zur Folge?

von Erwin (Gast)


Lesenswert?

100 nF (der gleiche C-Typ, wie der von U+ nach Gnd) kommt
bei mir auch dahin. Ob der RESET nun 2, 5, 10, oder 20 ms
dauert, ist doch fast immer sch...egal.

Die STK500 hat damit auch kein Problem.

von Karl H. (kbuchegg)


Lesenswert?

Sam schrieb:
> holger schrieb:
>>>anstatt 47nF 100nF eingebaut. Stellt
>>>das ein Problem dar?
>>
>> Wenn dein ISP Prommer damit klar kommt: No Problem.
>
> Cool, die raschen Antworten!
>
> Hat die grössere Kapazität eine höhere Stromspitze zur Folge?

Nö.
es hat zur Folge, dass im Normalfall die Spannung am Reset Pin langsam 
ansteigt. Langsamer Ansteigen bedeutet aber auch, dass der Schwellwert 
langsamer erreicht wird -> der µC wird nach dem Anlegen der 
Versorgungsspannung ein wenig länger im Reset gehalten.

Das 'blöde' daran ist nur: der Programmer versucht den µC erst mal beim 
Neuprogrammieren in den Reset zu schicken, indem er den Pin auf Low 
zieht. Das dauert dann  natürlich auch ein wenig länger als normal. Wenn 
der Programmer es eilig hat, dann kann diese Verzögerung dann auch schon 
zu lang sein und der Programmer meldet, dass er keinen Kontakt mit dem 
µC kriegt.

von Thomas E. (thomase)


Lesenswert?

Stone schrieb:
> Nö, ist ok.
> Ist kein anderer Port. Dabei geht es nur darum eine Verzögerung zu
> erreichen wenn du die Versorgungsspannung anschaltest. Kann man auch
> ganz weglassen den Kondensator.

OK ist es und weglassen kann man ihn auch. Aber zur Verzögerung dient er 
nicht. Das ist Controllersteinzeit. Dazu ist der Kondensator auch viel 
zu klein. Sowas kann der AVR mit anderen Mitteln besser.

Der Kondensator dient mit dem Widerstand als Tiefpass, um Störungen 
wegzufiltern, die er sich im Betrieb einfangen kann.

mfg.

: Bearbeitet durch User
von Sam (Gast)


Lesenswert?

Thomas Eckmann schrieb:

> OK ist es und weglassen kann man ihn auch. Aber zur Verzögerung dient er
> nicht. Das ist Controllersteinzeit. Dazu ist der Kondensator auch viel
> zu klein. Sowas kann der AVR mit anderen Mitteln besser.
>
> Der Kondensator dient mit dem Widerstand als Tiefpass, um Störungen
> wegzufiltern, die er sich im Betrieb einfangen kann.
>
> mfg.

Ok. Danke für die guten Antworten!

Dann ist es nicht mehr ein so guter Tiefpass?

Gruss, Sam

von Guest (Gast)


Lesenswert?

Sam schrieb:
> Dann ist es nicht mehr ein so guter Tiefpass?

Nein, sogar ein besserer :-)

von Thomas (kosmos)


Lesenswert?

um den µC länger im Reset zu halten bräuchte man da schon ein paar µF. 
Der Widerstand ist dazu da das die Resetleitung zuverläßig runtergezogen 
werden kann sonst verursacht man wenn der Progger die Leitung 
runterzieht einen Kurzschluß und killt evtl. den Progger(dessen 
Transistor) wenn er keine Strombegrenzung hat. Der Kondensator kann 
kurze negativ Impulse abfangen so das es zu keinem unerwünschten Reset 
kommt.

Atmel empfiehlt einmal >4,7kOhm (bei STK500) und dann ließt man in 
anderen Unterlagen auch wiedermal >10kOhm gerade bei debugWire wird 
darauf hingewiesen, denke da handelt es sich um die kleinen Progger wie 
den Dragon oder AVRISP Mouse die eine nicht so starke Auslegung haben.

Im DOC1619 wird noch von 4,7nF Kerko gesprochen im DOC2521 heißt es nur 
das einer empfohlen wird außer bei debugWire hier darf keiner rein.

Ich verwende dort immer die üblichen 100nF Kerkos.

von Karl H. (kbuchegg)


Lesenswert?

Thomas O. schrieb:
> um den µC länger im Reset zu halten bräuchte man da schon ein paar µF.

Dann rechne doch mal.

Ein RC-Glied aus 10k und 100nF hat eine Zeitkonstante von 1ms.
Genug Zeit für einen Spannungsregler sich zu stabilisieren bzw. für 
einen Schwingkreis sich ein zu schwingen. Genau das war auch eine der 
Absichten in aelteren CPU Schaltungen, wenn man keinen Reset Controller 
hatte. 10k und 47n (100n) war eine absolut uebliche Beschaltung.

Auch wenn das an sich bei AVR nicht notwendig ist, weil man in den Fußes 
eine Verzögerung einstellen kann, das ist genau das was passiert.
Das man den C verbaut um Stoerspitzen zu filtern ist schon OK, aber 
einen Programm er kümmert das nicht, wenn er Reset zieht.

> Der Widerstand ist dazu da das die Resetleitung zuverläßig runtergezogen
> werden kann sonst verursacht man wenn der Progger die Leitung
> runterzieht einen Kurzschluss

Niemand sagt, dass die Alternative darin besteht, den Pin direkt mit Vcc 
zu verbinden.

Atmel hat dem Pin schon einen Pullup spendiert. Mit rund 30k ist der 
allerdings ein wenig gross geraten.

: Bearbeitet durch User
von Karl H. (kbuchegg)


Lesenswert?

Thomas O. schrieb:
>, denke da handelt es sich um die kleinen Progger wie
> den Dragon oder AVRISP Mouse die eine nicht so starke Auslegung haben.

Auch hier wieder:
Rechne doch mal nach, über wieviel Strom wir hier reden. Was soll denn 
das für ein Ausgangs transistor sein, der es nicht schafft, gegen einen 
4k7 Pullup zu arbeiten?

von Rolf Magnus (Gast)


Lesenswert?

Thomas O. schrieb:
> Atmel empfiehlt einmal >4,7kOhm (bei STK500) und dann ließt man in
> anderen Unterlagen auch wiedermal >10kOhm gerade bei debugWire wird
> darauf hingewiesen, denke da handelt es sich um die kleinen Progger wie
> den Dragon oder AVRISP Mouse die eine nicht so starke Auslegung haben.

Das hat nichts mit Auslegung zu tun, sondern damit, daß bei DebugWire 
die gesamte Datenübertragung über den RESET-Pin erfolgt. Deshalb sind da 
natürlich die Anforderung etwas anders, als wenn der Programmer ihn 
einfach nur dauerhaft auf low ziehen muß.

von Thomas (kosmos)


Lesenswert?

Ich habe schon Schaltungen gesehen ohne Pullup am Reset direkt an VCC 
und auch genug Fragen zu geschrotteten Programmern die die Resetleitung 
nicht mehr runterziehen konnten.

Ich zitiere einfach mal die Schriften des Herstellers
The reset line has an internal pull-up resistor, but if the environment 
is noisy it can be insufficient and reset can therefore occur 
sporadically. Refer to datasheet for value of pull-up resistor on 
specific devices.
Alleine deswegen kommt er bei mir generell in die Schaltung

This pull-up resistor makes sure that reset does not go low unintended.
The pull-up resistor can in theory be of any size, but if the AVR should 
be
programmed from e.g. STK500/AVRISP the pull-up should not be so strong 
that the programmer cannot activate RESET by draw the RESET line low. 
The recommended pull-up resistor is 4.7kOhm or larger when using STK500 
for programming. For debugWIRE to function properly, the pull-up must 
not be smaller than 10kOhm.

1mSek Verzögerung ist jetzt aber kaum der Rede wert wenn man schon 
64mSek per Fuses verzögern kann. Außerdem bin ich der Meinung das auch 
die sehr früheren AVRs ala 8515/8535 das schon über die Fuses konnten. 
Kann ich leider im AVR Studio nicht mehr nachprüfen.

bei 4,7kOhm sind knapp etwas über 1mA zu treiben. Mir fällt da auch kein 
Transistor ein der das nicht schaffen sollte aber wieso ist die 
Empfehlung von Atmel dann so hoch und nicht 1kOhm?

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.