Hallo,
könnt ihr bitte ein Auge auf meine Grundschaltung für den ATmega16
werfen?
Ich glaub da steckt irgendwo ein Fehler, beim Reset. Den µC kann ich
problemlos lesen und schreiben. Der Reset reagiert aber nicht und wenn
ich den Strom ausschalte und wieder einschalte, schein das programm weg
zu sein ...
Danke vorab!
Deine Resetbeschaltung ist murks ...
was soll denn D1 C3 bewirken? ... langsames anlaufen?¿
raus mit dem Murks, brauchts nicht.
R3-R4-Spannungsteiler 100k zu 1k will mir auch nicht einläuchten.
Nimm einfach nen 10k von Reset nach +5V und dann Dein Taster von Reset
zu GND und den ISP Reset auch einfach an Reset AVR abnehmen und fertig
Hallo,
ich würd mal tippen das die Reset Beschaltung ein Power-On Reset sein
soll und die Diode als Freilaufdiode dient. Allerdings denk ich das der
100k Widerstand etwas zu groß ist und der Reset deswegen nach dem Aus
und Einschalten immer auf Low hängt. Am besten du realisierst den Reset
mal mit nem 10k oder 1k Widerstand, wie schon gesagt.
Was ich allerdings an deiner Schaltung auch nicht ganz verstehe sind die
ganzen Kondensatoren und der R1, bei den 100nF Kondensatoren sollte
einer reichen in der nähe vom VCC und GND Anschluss.
Fhutdhb Ufzjjuz wrote:
> Deine Resetbeschaltung ist murks ...> was soll denn D1 C3 bewirken? ... langsames anlaufen?¿> raus mit dem Murks, brauchts nicht.
ist aber nach Atmel Application Note 042 ;c)
> was soll denn D1 C3 bewirken?
C3 wird über R3 langsam geladen (Zeitkonstante 1uF*100k = 0,1sec).
Wenn die Versorgungsspannung ausfällt, wird C3 über D1 schnell entladen,
damit der uC das nächste Mal am Reset-Pin sofort LOW sieht.
> R3-R4-Spannungsteiler 100k zu 1k will mir auch nicht einläuchten.
Das ist kein Spannungsteiler :-/
R4 ist einfach ein Vorwiderstand zum Reset-Pin.
> Der Reset reagiert aber nicht
Wie sollte der denn reagieren?
Wenn du den uC lesen und schreiben kannst, funktioniert der Reset, denn
diese Leitung ist über den ISP-Stecker zum Programmieren nötig.
> und wenn ich den Strom ausschalte> und wieder einschalte, schein das programm weg zu sein
Läuft es nicht los?
Läuft es auch nicht los, wenn du den Programmer absteckst?
Was sagt ein Verify?
In der AppNote 042 steht z.B.:
1
recommended pull-up resistor is 4.7kOhm ...
Die 100k wären mir zu hochohmig.
Insbesondere, wenn der Programmer eingesteckt ist...
Mach da mal die bereits angesprochenen 10k rein.
Lothar Miller wrote:
>> In der AppNote 042 steht z.B.:>
1
recommended pull-up resistor is 4.7kOhm ...
> Die 100k wären mir zu hochohmig.> Insbesondere, wenn der Programmer eingesteckt ist...> Mach da mal die bereits angesprochenen 10k rein.
im Datenblatt zum m16 steht für "Reset Pull-up Resistor" was von 30..85k
wobei ich u.a. ein RNcontrol-Board habe, in dem ebenfalls 100k verbaut
sind, und sowohl mit einem m32 als auch einem m644P gibt es keine
Probleme beim Proggen...
> im Datenblatt zum m16 steht für "Reset Pull-up Resistor" was von 30..85k
Da steht aber auch was von intern :-o
In den AppNote 042 ist die externe Reset-Beschaltung beschrieben.
Es reicht eigentlich aus, den Reset-Pin gar nicht zu beschalten. Aber
unbeschaltete Pins sehen irgendwie so störempfindlich aus.
> gibt es keine Probleme beim Proggen
Ja, kommt wohl auch etwas auf den verwendenten Programmer an...
Lothar Miller wrote:
> Da steht aber auch was von intern :-o
na ja, da in der Tabelle eben nix davon steht, dass das der interne
Reset-R ist, bin ich davon ausgegangen, dass das der empfohlene Wert für
den äußeren R sein soll...wieder was gelernt...
>> was soll denn D1 C3 bewirken?> C3 wird über R3 langsam geladen (Zeitkonstante 1uF*100k = 0,1sec).> Wenn die Versorgungsspannung ausfällt, wird C3 über D1 schnell entladen,> damit der uC das nächste Mal am Reset-Pin sofort LOW sieht.
Hmm. Würde dadurch nicht das Argument, dass man durch den Kondi den
Reset-Pin unempfindlich gegenüber kurzen Spikes macht, völlig ad
absurdum geführt?
Als ich D1 in der Schaltung gesehen habe, dachte ich, das wäre mal
wieder eine verhunzte Clamp Diode. Wobei ich von dieser Clamp Diode eh
nicht überzeugt bin. Atmel muss sie empfehlen, da Atmel vom allgmeinen
Fall ausgehen muss. Wenn ich aber sowieso nur 5V in der kompletten
Schaltung habe, dann kann per Def. keine 12V am Reset-Pin auftauchen. Wo
sollen die den her kommen? Also ist die Clamp Diode zur Absicherung
gegen unbefugtes Betreten des HV-Modus sinnlos, da er mangels
Voraussetzungen ja sowieso nie eintreten kann.
Diese Reset-Beschaltung kommt noch aus den alten 8051er Zeiten (ja, auch
das hat Atmel mal gemacht), also ein uC ohne diesen Spike-Filter und
ausgeklügelten Reset-Circuit und ohne Brown-Out....
Die Absicht ist, dass bei kurzen Einbrüchen der Spannungsversorgung
nicht nur so evtl. u.U. ein undefinierter Reset ausgelöst wird. Sondern
dass bei Schwächen in der Spannungsversorgung der uC definiert
zurückgesetzt wird. Denn es wäre doch unschön, wenn durch einen
Spannungseinbruch zwar die Zähler ausser Takt geraten, der Reset sich
aber unberührt zeigt.
In aktuellen uC gibt es für solche Sachen den Brown-Out und Co. Ich
beschalte den Reset-Pin beim AVR auch nur über einen 10k Widerstand
gegen Vcc.
Diese Schaltung war bei den alten Classic-AVRs eine Notlösung (ein
billiger Ersatz für einen Resetchip) für das fehlende BOD und ist bei
aktuellen AVRs kontraproduktiv.
Auch ich beschalte Reset nur mit einem PullUp (3,9k..10k).
...
Eine eigene Frage?
Dieser Thread ist über 17 Jahre alt.
Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.