Forum: Mikrocontroller und Digitale Elektronik mega32 zerstört


von Donut (Gast)


Angehängte Dateien:

Lesenswert?

Guten Tag!

Ich bin mittlerweile etwas verwzweifelt. Ich vermute ein relativ 
einfaches Anfänger-Problem, was Mikrocontroller angeht muss ich als 
solchen bezeichnen :)

Ich habe eine Schaltung mit MMC-Karte sowie Anbindung an eine 
RS232-Schnittstelle über UART. Die Schaltung ist in der anhegängten 
Grafik zu sehen. Fehler im Aufbau der Schaltung sind nach dem ca 7. 
Neuaufbau unwahrscheinlich geworden. Der Aufbau erfolgte allerdings 
immer auf dem selben Steckbrett.

Die Schaltung ist vollständig auf einem Steckbrett vorgenommen worden, 
da der uC später "In-Sytem-Programmable" sein soll. Ich programmiere mit 
einem USBasp mit avrdude und WinAVR über ISP. Darüber hinaus verwende 
ich folgende avrdude-Fuse-Einstellungen, welche vom Standard abweichen:
-U lfuse:w:0xef:m -U hfuse:w:0xd9:m
Dafür habe ich einen 16Mhz-Quarz am Controller (siehe Schaltung).

Die Grundsätzliche Funktion der Schaltung ist gegeben. Die Kommunikation 
mit einem Windows-PC lief Problemlos. Ebenfalls ist es mir auch schon 
gelungen, den Inhalt einer Textdatei von der SD-Karte zu lesen und deren 
Inhalt den den Rechner weiterzugeben. Verwendet wurde dafür die 
FAT-Bibliothek von Daniel R. (großen Dank hierfür!) in der Version 0.5.6 
. Es sollte angemerkt werden, dass die veränderte Beschaltung von Cs für 
die MMC auf PB2 in der mmc.h unter "#if defined (_AVR_ATmega32_)" 
geändert wurde. Verwendet wird das Beispielprogramm ohne Schreibzugriff. 
(Es wurde erweitert, jedoch blieben die Komfiguration der IO-Ports 
gleich)

Aber: Ich hatte es nun mehrere Male, dass nach Inbetriebnahme der 
Schaltung (etwa am Morgen eines weiteren Arbeitstages) der 
Mikrocontroller zerstört wird. Dies ist erkennbar an einem Stromfluss 
von 250mA - 300mA (Strombegrenzung 300mA) in der 5V- Versorgung der 
Schaltung.
Nachdem dies einmal aufgetreten ist, ist der uC nicht mehr 
funktionsfähig, es fließen ständig 300mA. Dies ist mit ATMEGA32 und 
ATMEGA32A passiert (was glaube ich hier nicht viel zur Sache tut).
Daraus resultierten bisher 5 defekte uCs. Nachdem einer wieder 
aufgegeben hat, habe ich stets jegliche Beschaltung mit Ausnahme der 
ISP-Programmierschnittstelle, den Quarz sowie Vcc, GND und AVcc 
entfernt. Wurde dann ein neuer uC eingesetzt funktuionierte dieser 
wieder. Er ließ sich dann auch programmieren. Dann habe ich alle Pins 
wieder wie in der Schaltung zu sehen belegt und die Schaltung 
funktionierte im ganzen wieder. Am Tag darauf konnte es dann passieren, 
dass er beim 1. anschalten wieder zerstört wurde.

Ich vermute irgendeinen Fehler in der Schaltung, welcher nur eineen 
Effekt hat, wenn der uC "hochfährt". Ein Fehler im Steckbrett will ich 
nicht ausschließen. Ich werde die Schaltung mit einer selbstgebauten 
Strombegrenzung nochmal auf einem anderen Board aufbauen, um eventuell 
den Fehler zu untersuchen, jedoch entsteht natürlich hier das Problem, 
dass der uC sich dan quasi sofort abschaltet, da die Versorgungsspannung 
einbricht und der Fehler eventuell gar nicht unetersucht werden kann.

hat jemand eine idee?

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Hast du bereits versucht, die angeschlossenen Pins des AVR zu schützen 
oder zu untersuchen, ob dort eine illegale Datenrichtung auftritt?

Das Schützen könntest du mit einem Serienwiderstand pro Pin machen, der 
den Stromfluß im Fehlerfall auf die zulässigen Werte beim AVR begrenzt.

Der Fehlerfall wäre z.B. wenn PB6 (MISO) mal auf Ausgang geschaltet 
wird.
Beitrag "74hc4050 ( o.ä.) darf am Ausgang"

Zum Thema externe Bauteile und ISP am SPI-Bus gibt es auch eine Appnote 
von Atmel. Darin wird auch das Thema Serienwiderstände angesprochen.

Kannst du deine Beobachtungen damit verbinden, ob der ISP Adapter 
und/oder die MMC-Karte eingesteckt ist/sind?

von Donut (Gast)


Angehängte Dateien:

Lesenswert?

vielen dank für die Antwort und sorry für meine Lange Reaktionszeit.

Ich habe das Problem gefunden (nach noch 2x aufbauen und einem weitern 
toten uC): Es war streng genommen nicht mein Fehler. Die Labornetzteile, 
welche ich verwendet habe haben ein sehr schlechtes Einschaltverhalten. 
Jedes mal, wenn ich die Netzteile eingeschaltet habe (also am Anfang 
eines Tages) hats die Controller zerlegt, da eine hohe Überspannung 
auftrat.

Am Oszilloskopbild sieht man Spannungen zwischen 22V und -10V. Ich habe 
es nun so gehandhabt, dass ich vor dem Schalten der Netzgeräte (auch 
Ausschalten) einfach die Leitungen abziehe.

Ich habe deine Tipps trotzdem mal ausprobiert. Jeder verwendete Pin hat 
nun ein Widerstand von 270 Ohm als Schutz (wird ja nur CMOS geschaltet) 
und ich hatte eine Stromquelle zwischengeschaltet.

von H.Joachim S. (crazyhorse)


Lesenswert?

Nenn sie nicht Labornetzteile..., so ein Verhalten gehört sich nicht :-)

Polyfuse und TVS-Diode gehören inzwischen zu meiner Standardbeschaltung.

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.