Forum: Mikrocontroller und Digitale Elektronik Komischer Effekt meiner Mega8


von Andy (Gast)


Lesenswert?

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

von Karl heinz B. (kbucheg)


Lesenswert?

Wie seiht denn deine Reset Beschaltung aus?

von Andy (Gast)


Lesenswert?

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

von Karl heinz B. (kbucheg)


Lesenswert?

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.

von Mysterium (Gast)


Lesenswert?

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.

von Peter D. (peda)


Lesenswert?

Bei Quarzbetrieb sollte man immer die längste Resetzeit (65ms) nehmen.

5...20ms Anschwingzeit sind normal.


Peter

von Andy (Gast)


Lesenswert?

@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.

von Mysterium (Gast)


Lesenswert?

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 ;-)

von Andy (Gast)


Lesenswert?

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!

von Stefan M. (Gast)


Lesenswert?

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.

von Andy (Gast)


Angehängte Dateien:

Lesenswert?

@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.

von Stefan M. (Gast)


Lesenswert?

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.

von Andy (Gast)


Lesenswert?

@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?

von unsichtbarer WM-Rahul (Gast)


Lesenswert?

Tausch den Sch...-Kondensator gegen einen mit 47nF, wenn du ihn 
unbedinbgt behalten willst.

von Stefan M. (Gast)


Lesenswert?

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.

von Stefan M. (Gast)


Lesenswert?

und noch eins:

P.P.P.S. doch, der Kondensator stört.

von unsichtbarer WM-Rahul (Gast)


Lesenswert?

Wenn's schee macht!

von Andy (Gast)


Lesenswert?

OK, ich werde eure dringenden Ratschläge beherzigen und das Teil 
rausschmeissen. :-)

Aber mein eigentliches Problem ändert sich dadurch nicht!

von Marvin (Gast)


Lesenswert?

100nF direkt am Mega-8 so nah wie möglich an GND-VCC.

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.