Hallo allerseits, Ich habe gerade wieder ein für mich unerklärliches Phänomen am Laufen. Und zwar habe ich einen ATMega8 mit Bascom programmiert und in meine Schaltung eingebaut. Funktioniert alles. Dann habe ich einen zweiten Mega8 hergenommen, die LOck- und Fusebits gleich wie beim ersten gesetzt und das haargenau gleiche Programm draufprogrammiert und auch in die gleiche Schaltung eingebaut. Funktioniert NICHT! Und jetzt kommts: Wenn ich einen Hardware-Reset (Pin1 an GND) mache, rennt das Programm einwandfrei. Schalte ich jedoch die Stromversorgung aus und dann wieder ein, funktioniert das Programm wieder nicht. Was ist da los? Es kann ja eigentlich kein Software-Problem sein, weil ja manche Atmels funktionieren. Kann mir jemand weiter helfen? Vielen Dank! mfg Andy
Die sieht folgendermaßen aus: --- VCC | | | | | | 10kOhm | |____Pin1 | | --- --- 47pF | | --- GND Diese Beschaltung verwende ich schon immer und hat immer funktioniert. Warum sollte sie es jetzt nicht mehr tun? THX.. Andy
Tausch mal den 47pF gegen einen 47nF aus.
Die 47 pF sind sowieso sinnlos, da zu klein.
> Warum sollte sie es jetzt nicht mehr tun?
Weil dein 2-ter Mega8 anscheinend nach einem
Spannung-ein nicht lang genug im Reset gehalten
wird.
Vielleicht "kommt" die Betriebsspannung nicht schnell genug und dieses Exemplar kommt damit nicht klar. Ich hatte ein ähnliches Phänomen: bei einem PIC16F84 schwingt der externe Quarz nicht richtig, bei fünf anderen überhaupt kein Problem.
Bei Quarzbetrieb sollte man immer die längste Resetzeit (65ms) nehmen. 5...20ms Anschwingzeit sind normal. Peter
@Peter: Ich verwende den internen 4MHz Oszillator. @Karl Heinz: Ich habe nun den Kondensator getauscht. Nun bin ich aber auf noch etwas draufgekommen: Und zwar steuere ich mit diesem AVR ein digitales Poti über SPI an. Ich habe im Programm eingebaut, dass nach dem Einschalten/Reseten alle LEDs ausgeschaltet werden. Das funktioniert komischerweise noch. Nur kann ich dann den Wert des Potis nicht mehr ändern, was aber mit dem anderen AVR problemlos funktioniert. Also, das ist sehr komisch.
Wie schwingt denn so ein Quarz eigendlich? Ich dachte immer entweder auf Resonanz oder eben vielfachen davon. Bei meinem PIC ist das ganz lustig: erst schwingt er sehr schnell und läuft dann langsam runter (die LEDs blinken immer langsamer) und irgendwann wieder ganz schnell usw...... (bei dieser Anwendung ein "netter" Effekt ;-)
Hallo, Was mir nun noch aufgefallen ist: In der Schaltung habe ich einen LM7805 zur Erzeugung der 5V eingebaut. Wenn ich diesen auf der 5V-Seite kurz kurzschließe funktioniert der AVR auch einwandfrei. Was kann da sein. Warum funktioniert das Programm ca. 1 bis 2 Sekunden lang und dann nicht mehr? Irgendwas stimmt da nicht!
Poste Deine komplette Schaltung. Die Reset-Schaltung mit dem Kondensator und Widerstand brauchst Du nicht, der AVR hat sowas intern. Ich kenne das nur noch von Uralt-Mikrocontrollern, die brauchten das aber auch. Ansonsten schau mal ins Datenblatt, wie die Reset-Beschaltung erfolgen soll, da steht nix von einer Kapazität. Ein Pullup-Widerstand macht sinn, wenn ein ISP angeschlossen werden soll. mfg, Stefan.
@Stefan: Ja, an das Teil soll ein ISP dran. Die Schaltung mit der Kapazität hab ich aus dem Netz. Anbei ein Auszug der Schaltung, wo der Mega8 drinnen ist. Der zweite Baustein ist ein digitales Poti.
Fällt mir jetzt spontan erstmal nix auf. Außer, daß der ISP auch das digitale Poti ansteuern könnte. Bringt der Programmiervorgang das Ding vielleicht durcheinander? Und laß den Kondensator weg, das Ding braucht der Mega8 nicht. Selbst den Pullup könntest Du weglassen, der ist schon integriert. mfg, Stefan.
@Stefan: Danke für deine Tipps, aber ich programmiere den AVR über mein Testboard. Den ISP hab ich nur für Notfälle eingebaut. Wenn ich aber den Widerstand und den Kondensator drauf lasse, störts nicht, oder?
Tausch den Sch...-Kondensator gegen einen mit 47nF, wenn du ihn unbedinbgt behalten willst.
Andy, tu Dir einen gefallen und schmeiß ihn runter. Ich drücke mich mal netter aus als der unsichtbare. mfg, Stefan. P.S. Wirklich, schmeiß das Ding raus. P.P.S. Der Kondensator ist wirklich, ganz wirklich nutzlos.
OK, ich werde eure dringenden Ratschläge beherzigen und das Teil rausschmeissen. :-) Aber mein eigentliches Problem ändert sich dadurch nicht!
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.