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?
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?
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.