Forum: Mikrocontroller und Digitale Elektronik AVR power on Reset zu kurz?


von Peter M. (hames)


Lesenswert?

Hallo,

ich habe hier einen Atmega328P in einer Schaltung verbaut, die beim 
Einschalten relativ viel Strom Zieht (Kondensatoren um Hubmagneten 
abzupuffern). Leider startet er dadurch anscheinend nicht richtig.
Erst nach einem kurzen Verbinden der Resetleitung mit Ground bootet er.

Ich habe die Reset Leitung über 1uF an Ground und über einen Widerstand 
an VCC angeschlossen. Ich habe für diesen schon 100k bis 1M ausprobiert, 
um die Ladezeit zu erhöhen, aber es nützt nichts.

Brown Out Detection ist auch auf 4,7V und die Startverzögerung auf +65ms 
gestellt.

Habt ihr noch eine Idee wie man das lösen kann? Ein RC Timer ist da ja 
anscheinend zu unzuverlässig. Einen extra IC zum Verzögern würde ich 
ungerne einbauen, da die Platine schon fertig ist.

von Karl H. (kbuchegg)


Lesenswert?

> Ich habe die Reset Leitung über 1uF an Ground und über einen
> Widerstand an VCC angeschlossen. Ich habe für diesen schon
> 100k bis 1M ausprobiert

1µF * 100k = 0.1 Sekunden

geh halt auf 10µF, dann hast du schon 1 Sekunde.

> (Kondensatoren um Hubmagneten abzupuffern)

Und was hast du dem µC an Kondensatoren spendiert?

: Bearbeitet durch User
von Sudo (Gast)


Lesenswert?

Watchdog? Sonst schau mal ob du die Versorgungsspannung entkoppeln 
kannst.

von Peter M. (hames)


Lesenswert?

Tatsächlich, ein 4,7uF Kondensator mit 100k funktioniert.
Es bringt also nichts sich auf die Zeitkonstantenformel zu verlassen und 
einfach den Widerstand zu verändern.

Würde der Watchdog denn schon funktionieren wenn der uC noch garnicht 
gebootet hat?

von Karl H. (kbuchegg)


Lesenswert?

peter müööer schrieb:
> Tatsächlich, ein 4,7uF Kondensator mit 100k funktioniert.
> Es bringt also nichts sich auf die Zeitkonstantenformel zu verlassen und
> einfach den Widerstand zu verändern.

Mit dem Widerstand höher zu gehen, bringt deshalb nicht viel, weil der 
AVR selber einen Widerstand eingebaut hat (Größenordnung 30k). D.h. du 
hast du eine Parallelschaltung 2-er Widerstände, wobei dein externer 
Widerstand nicht wirksam wird, weil der interne den Gesamtwert im 
wesentlichen bestimmt (wie das eben bei Parallelschaltung von 
Widerständen so ist).

Eine Parallelschaltung von 30k und 100k hat im wesentlichen den gleichen 
Wert, wie eine Parallelschaltung von 30k und 1M. Rechne das einfach mal 
durch. Bei Parallelschaltungen ist immer der kleiner der beiden 
Widerstände derjenige, der die Größenordnung festnagelt, in der sich der 
Gesamtwiderstand bewegt.

In der Wasseranalogie.
Wenn du zu einem 30 Zentimeter Abflussrohr noch einen Strohhalm parallel 
verlegst, dann wird der Strohhalm sich nicht nenneswert auf die 
transportierbare Wassermenge auswirken.
Abflussrohr = kleiner Widerstand
Strohhalm = großer Widerstand

: Bearbeitet durch User
von Falk B. (falk)


Lesenswert?

@ peter müööer (hames)

>Brown Out Detection ist auch auf 4,7V und die Startverzögerung auf +65ms
>gestellt.

Ist sie auch aktiviert? Das ist nämlich bei einigen AVRs eine extra 
Fuse.
Wenn der Brown Out Detektor aktiv ist, braucht man auch keine 
zusätzliche Resetbeschaltung.

von Peter M. (hames)


Lesenswert?

@Falk
Ich habe die Fusewerte mit dem online Fuse calculator bestimmt, ich 
denke schon dass sie dann aktiviert ist.

@kbuchegg
An den internen Widerstand hatte ich natürlich überhaupt nicht mehr 
gedacht.
Dann macht das ganze ja Sinn.

Vielen Dank für die Hilfe.

von m.n. (Gast)


Lesenswert?

peter müööer schrieb:
> Ich habe die Fusewerte mit dem online Fuse calculator bestimmt, ich
> denke schon dass sie dann aktiviert ist.

Das glaube ich eher nicht.
Dann würde der POR nämlich ohne weitere äußere Schaltung funktionieren.

von stefanus (Gast)


Lesenswert?

Wenn der interne Reset zu kurz ist, beschate ich ihn immer mit 10µF und 
47k Ohm.

von Bla (Gast)


Lesenswert?

Wie mag wohl das Layout aussehen...

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.