Forum: Mikrocontroller und Digitale Elektronik ATmega32 - Problem mit Versorgungsspannung // ISP


von Marco (Gast)


Lesenswert?

Moin moin,

ich bin seit kurzem erst "aktiv" in der Mikrocontroller-Welt und habe 
natürlich auch schon diverse Probleme gehabt. Die meisten konnte ich 
lösen, doch nun stehe ich vor einem Problem, was ich nirgends im 
Internet finden konnte...

Am Anfang baut man sich ja erstmal einfache Sachen, also habe ich mir 
eine 8x20 LED-Matrix zusammengelötet - funktioniert auch wunderbar. Ich 
habe vor den Chip einen Spannungskonstanter (78S05 - 5V/2A) gesetzt, 
damit ich mir um die Spannung keine Sorgen machen muss.

Nun hat lt. Bedienungsanleitung mein Chip eine Betriebsspannung bis max 
5,5V, jedoch "dreht er total durch", sobald ich über 4,3V komme (habe 
das mit meinem Labor-NT ausprobiert). Wenn ich über 5V komme, 
funktioniert er gar nicht mehr sondern macht nur ein paar LEDs an und 
das wars. Das Phänomen lässt sich schwer beschreiben, deswegen habe ich 
mal ein kleines Video gemacht:
http://www.vlsm.de/muell/RMOV0039.AVI

Das spannende dabei: Wenn der ISP angesteckt ist, resettet sich der 
Controller (im Video auch zu sehen - wenn der Pfeil kommt hat er nen 
Reset gemacht) und läuft dann OHNE PROBLEME!


Zusammengefasst besteht mein Problem also darin, dass mein Controller 
Mist macht, wenn die Spannung über 4,3V kommt - mit angestecktem ISP 
jedoch macht er absolut keine Schwierigkeiten bei höheren Spannungen.


Noch ein bisschen Hintergrund: Wir benutzen 2 ISR's, einmal Counter0, 
der bis zu einem Wert x läuft und dann den Interrupt schmeißt; genauso 
wie der Counter1.
ISR1 ist zuständig um die LEDs anzuknipsen, ISR2 shiftet durch das 8x20 
Array und kümmert sich um den Daten-Nachschub. Der Chip läuft auf 8 MHz, 
alle Ports werden als Ausgang benutzt.
[Quellcode kann ich zur Verfügung stellen falls nötig].


Hat jemand schonmal dieses Phänomen gehabt? Wenn ja, lässt es sich 
beseitigen?


Bin über jeden Tipp dankbar! :)


Viele Grüße,

Marco

von Peter Z. (hangloose)


Lesenswert?

Hallo,

hast Du einen externen Reset Widerstand? Wenn nicht mach mal einen
4,7k oder einen 10k dran.

Hast Du Brown out in den Fuses vielleicht aktiviert?
Wenn ja deaktivier mal Brown out bei den Fuses.
...

von Thomas (kosmos)


Lesenswert?

Würde mich wundern wenns am Brown out liegt da dieser ja nur bei 
Unterspannung eingreift. Vielleicht ist dein regelbares Netzteil nicht 
ganz in Ordnung und schwingt wodurch es zur Unterspannung kommt aber 
wenn da ein Elko  in de Schaltung ist dürfte sich das nicht bemerkbar 
machen.

Hast du am Ausgang des Spannungsreglers auch einen kleinen Elko rein 
gemacht so ca. 10-20µF viele Spannungsregler brauchen das die sie sonst 
schwingen.

Das Angeschlossene ISP Kabel fungiert wie eine Antenne, deshalb einen 
Pullup auf den Reset legen 4,7-10 kOhm ist die Empfehlung von Atmel.

ich verwende immer eine kleine Spule 100µH kurz vor VCC des AVR so kommt 
er nicht mal durch eine Zündspule in der Nähe außer tritt.

Wenn ihr aber mit Interrupts arbeitet könnte es sein das ihr den 
Interrrouptvektor verkehrt oder nicht vollständig geschriebene habt und 
dadurch die falsche IR-Routine angesprungen wird. Mal mit dem Simulator 
durch testen deswegen den Interruptvektor auch vollständig ausfüllen 
damit man sieht wo es hin springt. Unbenutzte Interrupts sollten gleich 
ein reti bekommen. Und wenn eine reti am Ende der Routine vergessen wird 
starten das Programm früher oder später unerwartet vom Anfang. Das kann 
mal alles wunderbahr im Simulator testen

jmp Reset
jmp EXT_INT0
reti ;jmp EXT_INT1
jmp TIM2_COMP
.....
.....
.....

von Gast (Gast)


Lesenswert?

Hallo,

evtl. fehlen am 78S05 100nF (davor, dahinter), 10µF am Ausgang des 
Reglers und ganz wichtig: 100nF direkt am Mega32 zwischen VCC und GND.
Hatte so ein Phänonem mal mit einem Tiny13, 100nF Kondensator eingesetzt 
-
dann gings.

von Marco S. (einfallslos)


Lesenswert?

Moin zusammen,

der fehlende Kondensator war des Rätsels Lösung - vielen Dank für die 
Hinweise!

Ich habe leider nicht die "empfohlenen" Kondensatoren parat gehabt, also 
sitzt jetzt direkt hinter dem 78S05 ein 100µF und direkt am IC noch ein 
10nF - man weiß ja nie ;-). Funktioniert auf jeden Fall wunderbar.

Den Tipp mit dem Pullup am Reset habe ich noch nicht umgesetzt, werde es 
aber im Hinterkopf behalten - falls es mal wieder Probleme gibt.


Vielen Dank nochmal für die schnellen Antworten!

von Thomas (kosmos)


Lesenswert?

mach unbedingt noch eine Diode mit niedriger Fluspannng vom 
Reglerausgang zum Reglereingang, wenn du nämlich beim Ausschalten die 
Spannung vor dem Regler abfällt dann entlädt sich dein 100µF Elko 
rückwärts durch den Regler was ihn beschädigen kann. Ich mache diese 
Diode bei jeder Schaltung rein. Wenn du dann man die Passenden Bauteile 
parat hat, so als pi mal Daumenregel 1000µF pro Ampere vor den Regler, 
der Regler ist schnell genug und braucht dahinter keinen großen Elko 
hier reichen wie gesagt die 10-20µF wenn Sie denn überhaupt benötigt 
werden, kommt auf den Regler an.

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.