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...
> da in der Tabelle eben nix davon steht..
Nein, der Pullup ist ins Bild 15 gemalt,
in der Tabelle steht dann nur noch der passende Wert.
Also bei mir sieht die Resetbeschaltung so aus. Hat auch noch nie Probleme gemacht.
>> 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). ...
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.