Hallo zusammen, ich hatte gestern ein etwas überraschendes Erlebnis: Mein Projekt, eine Wortuhr zu bauen, ist mittlerweile auf einem ganz gut funktionierenden Stand. Beim Testen/Optimieren habe ich versuchshalber einen 1000µF Glättungs-Elko im Betrieb an die Versorgungsspannung gesteckt, dabei ist mein ATmega8 kaputt gegangen. Ich kann mir nicht recht erklären, warum der AVR Bei so einer Aktion kaputtgehen kann. Meiner bescheidenen Meinung nach müsste eigentlich der (beim Einstecken entladene) Kondensator die Versorgungsspannung kurzzeitig runterziehen, bis er auf ein Niveau aufgeladen ist, bei der der AVR wieder arbeitet. Ich kann mir nicht recht vorstellen, wie im AVR Ströme entstehen, die ihn killen konnten. An den Pins habe ich keine großen Lasten angehängt, es sind an allen Pins Widerstände von >=1kOhm angebracht, über die dann mit Transistoren LEDs ein- und ausgeschaltet werden. Als Versorgung habe ich noch ein Netzteil von einem zip-drive (ja, ich weiß, das ist aus dem letzten Jahrtausend...), das 5V / 800mA ausspuckt, das sollte theoretisch keine allzu großen Spannungsspitzen ausspucken, das war ja auch mal für ein elektronisches Gerät hergestellt worden. Kann sich da jemand von euch nen Reim drauf machen? Ich habe nen ATmega8 nachbestellt, ich will den nicht gleich wieder kaputt machen... Grüße und danke schon mal! FoxAlpha
Zwei Möglichkeiten: 1. Die Betriebsspannung steigt jetzt zu langsam an um einen Power-On-Reset auszulösen. 2. Das Netzteil kommt mit der großen kapazitiven Last nicht klar. Frage: Was soll dieser Elko überhaupt an dieser Stelle?
3. Je nach Verdrahtung, Aufbau und Ort, an dem der Kondensator angeschlossen wurde, können auf Grund von Widerstand und Induktivität der Leitungen kurzzeitig erhebliche Spannungsunterschiede innerhalb der Schaltung auftreten. Wenn z.B. der GND des µC durch den Kondensator angehoben wird und ein Eingang, der auch an GND liegt, etwas später, kann dies zur Zerstörung führen. Ähnliche Szenarien kann man sich genauso bei Vcc vorstellen.
Wie hast Du ihn “angesteckt”? Entladen in die laufende Applikation drangehalten. Oder alles ausgeschaltet, eingelötet und dann wieder eingeschaltet?
Christian K. schrieb: > Wie hast Du ihn “angesteckt”? Entladen in die laufende Applikation > drangehalten. Oder alles ausgeschaltet, eingelötet und dann wieder > eingeschaltet? FoxAlpha schrieb: > 1000µF Glättungs-Elko im Betrieb an die Versorgungsspannung gesteckt
Christian K. schrieb: > Wie hast Du ihn “angesteckt”? Entladen in die laufende Applikation > drangehalten. Oder alles ausgeschaltet, eingelötet und dann wieder > eingeschaltet? FoxAlpha schrieb: > Beim Testen/Optimieren habe ich versuchshalber > einen 1000µF Glättungs-Elko im Betrieb an die Versorgungsspannung > gesteckt,
Wer weiß, welche Spannung der Elko hatte. Die Ports waren nicht mit irgendwelchen Kapazitäten verbunden, die sich durch den µC in den Elko entladen haben konnten (so er denn ganz leer war)?
FoxAlpha schrieb: > Beim Testen/Optimieren habe ich versuchshalber > einen 1000µF Glättungs-Elko im Betrieb an die Versorgungsspannung > gesteckt, dabei ist mein ATmega8 kaputt gegangen. Auf welche Spannung war der Elko vorher aufgeladen? Wie hast Du festgestellt, daß der AVR kaputt ist? Kannst Du mit HV-Programming die Signatur lesen und die Fuses ändern? Oder schlägt erst das Verify fehl?
Man kann auch die Flußspannungen der Portdioden vergleichen, um den evt. Kaputten (und die Beschaltung) zu finden.
Detlev T. schrieb: > 1. Die Betriebsspannung steigt jetzt zu langsam an um einen > Power-On-Reset auszulösen. Der ATmega ist kaputt. Der Programmer kann nicht mehr mit ihm kommunizieren, mit und auch ohne den Elko tut der µC einfach nichts mehr. > 2. Das Netzteil kommt mit der großen kapazitiven Last nicht klar. Das Netzteil liefert weiterhin konstant 5,1V Gleichspannung (gemessen), egal, ob mit oder ohne Elko. > Frage: Was soll dieser Elko überhaupt an dieser Stelle? Bei einer Messung des Lichteinfalls mit einer LED (siehe [[https://www.mikrocontroller.net/articles/Lichtsensor_/_Helligkeitssensor#LED]] ) bekomme ich pro Messung mehrere Interrupts am Analogkomparator, was ich darauf zurückführe, dass vermutlich die Referenzspannung=Vcc eine gewisse Welligkeit hat, was dazu führt, dass mehrere fallende Flanken am AC entstehen. Deswegen wollte ich die Versorgungsspannung glätten. Frage zurück: Warum sollte die Versorgungsspannung nicht mit einem Elko geglättet werden? Dietrich L. schrieb: > 3. Je nach Verdrahtung, Aufbau und Ort, an dem der Kondensator > angeschlossen wurde, können auf Grund von Widerstand und Induktivität > der Leitungen kurzzeitig erhebliche Spannungsunterschiede innerhalb der > Schaltung auftreten. > > Wenn z.B. der GND des µC durch den Kondensator angehoben wird und ein > Eingang, der auch an GND liegt, etwas später, kann dies zur Zerstörung > führen. > Ähnliche Szenarien kann man sich genauso bei Vcc vorstellen. Deine Erklärung kann ich nachvollziehen, wobei ich keine Induktivitäten an der Schaltung habe. Die Potenziale sind auf meiner Schaltung recht nah beieinander, daher wundert mich das trotzdem. Einzig das Netzteil ist ein "gutes altes" Trafonetzteil, das in dem Fall vielleicht doch nicht so gut ist... Würde ich eine erneute Zerstörung dadurch verhindern, indem ich den Elko vor Einschalten der Vcc angesteckt (oder eingelötet) habe? Oder wie kann ich das erfolgreich verhindern?
FoxAlpha schrieb: > Würde ich eine erneute Zerstörung dadurch verhindern, indem ich den Elko > vor Einschalten der Vcc angesteckt (oder eingelötet) habe? Oder wie kann > ich das erfolgreich verhindern? Indem du einen so vollkommen überdimensionierten Elko einfach weglässt. Er macht bei den geringen Strömen, die dein uC benötigt, überhaupt keinen Sinn, und er nervt das Netzteil. 1-10uF sind vollkommen ausreichend.
Nochmal zur Spannung beim Einstecken, falls die Frage noch öfter kommt:
> ... der (beim Einstecken entladene) Kondensator ...
--> d. h. 0V
FoxAlpha schrieb: > wobei ich keine Induktivitäten > an der Schaltung habe. Jedes Stück Draht hat eine Induktivität. Es ist also nur die Frage, ob der Draht lang genug bzw. für dem Fall zu lang ist. > Würde ich eine erneute Zerstörung dadurch verhindern, indem ich den Elko > vor Einschalten der Vcc angesteckt (oder eingelötet) habe? Oder wie kann > ich das erfolgreich verhindern? Man kann pauschal sagen: in einer laufenden Schaltung Änderungen vornehmen ist immer ein Risiko. Die sichere Methode ist: - ausschalten - warten, bis alle Kondensatoren leer sind - Änderungen vornehmen; dabei dafür sorgen, dass einzubauende Kondensatoren entladen sind - einschalten.
FoxAlpha schrieb: > Deine Erklärung kann ich nachvollziehen, wobei ich keine Induktivitäten > an der Schaltung habe. Falsch. Du hast IMMER parasitäre Induktivitäten/Kapazitäten/Widerstände. Und so manch lange Zuleitung zu einer (nicht vernünftig abgesicherten) Schaltung hat der Schaltung schon das Leben gekostet. FoxAlpha schrieb: > was > ich darauf zurückführe, dass vermutlich die Referenzspannung=Vcc eine > gewisse Welligkeit hat, was dazu führt, dass mehrere fallende Flanken am > AC entstehen. Wenn die Welligkeit schon SO groß ist, dann solltest du dir ohnehin mal Gedanken machen. Abgesehen davon, empfiehlt Atmel sehr, dass man den Vref-Pin über einen Keramik-Kondensator nach Masse schaltet. Kannst du nicht anderweitig ausschließen, dass der Eingang zu deinem Komparator sauber ist? Ein Bild des Aufbaus wäre wohl ganz hilfreich - meinentwegen auch mit dem defekten uC, damit sehen wir wenigstens, wie es aufgebaut war, als es zu dem Malheur kam.
FoxAlpha schrieb: > Einzig das Netzteil > ist ein "gutes altes" Trafonetzteil, das in dem Fall vielleicht doch > nicht so gut ist... Alte Netzteile mit 50Hz Trafo und 7805-Regler sind so ziemlich das beste, was es gibt. FoxAlpha schrieb: > Der Programmer kann nicht mehr mit ihm > kommunizieren Welcher denn? Kannst Du ihn mal in einen HV-Programmer (z.B. STK500) einstecken? Bist Du sicher, daß Du den Elko vorher auch entladen hast? Vielleicht war er ja Tage vorher mal auf 24V aufgeladen worden.
Peter D. schrieb: > Kannst Du ihn mal in einen HV-Programmer (z.B. STK500) einstecken? ein neuer mega8 dürfte aber billiger sein als ein HV Prommer
Mit dem entladenen Kondensator hast Du für das speisende Netzteil erst einen Kurzschluss erzeugt, dann evt. den Kontakt geprellt. Das passiert eigentlich immer. Der hohe Stromfluß erzeugt dann Überspannungen und zerstört deine digitalen Bauelemente. Wenn Du noch einen Atmel opfern willst, kannst Du das mit einem Speicherskop auf single shot überprüfen.
Induktivitäten sind das IMO nicht, das könnte ein ganz normaler Latchup sein. Auf dieselbe Weise habe ich früher gerne (bis ich es gerlent hatte) mit mal eben schnell 100nF dazuschalten GALs gegrillt, die waren da extrem empfindlich. Latchup kann immer mit zuviel Strom an den IO-Pins passieren. Besonders gerne an extern hängenden Eingangspins... Wenn keine bzw. zuwenig Betriebsspannung da ist, sorgen Eingangspegel mit >Vcc dafür, dass da zuerst die Schutzdioden das gegen Vcc ableiten müssen. Wenn das strommässig nicht reicht, um den Pegel knapp über Vcc zu halten, zündet ein parasitärer (=ungewollter) Tyristor im Chip und schliesst Vcc und GND kurz. Wenn man (oder das Netzteil) das nicht ganz schnell merkt und Versorgungspannung und(!) alle externen Eingänge trennt, verglüht der Chip. Früher waren CMOS-ICs generell sehr latchup-sensitiv, daher kommt die Vorsichtmassnahme "nur im ausgeschalteten Zustand IO-Kabel anschliessen" etc. Ist heute deutlich besser, aber immer noch existent.
FoxAlpha schrieb: > Bei einer Messung des Lichteinfalls mit einer LED (siehe > [[https://www.mikrocontroller.net/articles/Lichtsensor_/_Helligkeitssensor#LED]] > ) bekomme ich pro Messung mehrere Interrupts am Analogkomparator, was > ich darauf zurückführe, dass vermutlich die Referenzspannung=Vcc eine > gewisse Welligkeit hat, was dazu führt, dass mehrere fallende Flanken am > AC entstehen. Egal wie "glatt" du die Referenzspannung hinbügelst, Mehrfachtriggerungen sind bei Komparatoren an der Schaltschwelle normal. Das Licht hat ja auch schon "Rauschen", und die Diode sowieso. Was hier hilft: Komparator mit Hysterese
:
Bearbeitet durch User
Christian K. schrieb: > Wenn Du noch einen Atmel opfern willst, Und wenn nicht dann nimm 'ne LED und 'n Vorwiderstand - 20mA entspräche ja auch umgefähr dem Verbrauch eines µC.
Danke für all die Antworten. Ich nehme für mich mit: - Nicht an Schaltungen im Betrieb rumpfuschen - ein wesentlich kleinerer Elko tut's auch - Mehrfachtrigger können vorkommen. Stört mich nicht unbedingt, so genau wird die Lichtstärke eh nicht gemessen... ;) Antworten auf Fragen: - Der Elko lag eher Jahre rum statt Tage, die Spannung war mit an Sicherheit grenzender Wahrscheinlichkeit entladen. - einen HV-Programmer habe ich nicht. Ich habe ein mySmartUSB light, der kann nicht mal mehr die Signatur lesen. Ich erwarte nicht, dass der µC nochmal zum Leben erweckt werden kann. Er macht schließlich auch keinen Bruchteil vom vorher programmierten Programm... - Der Vref-Pin wird nicht benutzt (werde trotzdem einen Kerko einbauen, schadet sicher nicht). Mit Referenzspannung meinte ich die, die an AIN1 hängt, welche über einen Spannungsteiler mit 2x10kOhm erzeugt wird. An AIN0 hängt die in Sperrrichtung geladene LED, die außer GND beim Entladen über den Photoeffekt keinen anderen Bezug hat. Auf ein Neues... wenn die Bestellung mit neuem ATmega8 ankommt :)
Die statische Spannung vom Netzteil zu messen, wird kaum Aussagekräftig sein. Hier ist die Dynamik gefragt. Mehrere Dinge können einen µC killen: Eine kurzfristig zu hohe Versorgungsspannung oder eine Eingangsversorgung bei fehlender Spannungsversorgung, und andere unerlaubte Betriebszustände. Den zweiten Fall würde ich hier mal ausschließen. Der erste Fall scheint mir plausibel, denn das Netzteil ist ja geregelt und eine kapazitive Last ist für gewöhnlich Gift für die Regelung. Das bringt die Regelung des Netzteils mitunter aus dem Tritt und für einen Augenblick liegt am µC eine viel zu hohe Spannung an. Die Netzteilschaltung schafft es halt nicht, sich da unschädlich wieder einzuregeln bzw. einzuschwingen. Kapazitäten, insbesondere die größeren Werte haben an geregelten Spannungen nix verloren, aber das ist eigentlich ein alter Hut.
FoxAlpha schrieb: > Mit Referenzspannung meinte ich die, die an AIN1 > hängt, welche über einen Spannungsteiler mit 2x10kOhm erzeugt wird. dann häng doch einen Kondensator dorthin (wenn auch keine 1000uF) wenn du die Referenzspannung glätten willst
FoxAlpha schrieb: > Beim Testen/Optimieren habe ich versuchshalber > einen 1000µF Glättungs-Elko im Betrieb an die Versorgungsspannung > gesteckt, dabei ist mein ATmega8 kaputt gegangen. Unwahrscheinlich. Vermutlich ist er nur "deprogrammiert". Kurzzeitig Quasi-Kurzschluss (also zu geringe Versorgungsspannung), gefolgt von viel zu langsam steigender Versorgungsspannung. Da muss ein Controller ja austicken. Mit HV-Programming ist er sehr wahrscheinlich wiederzubeleben. > Ich kann mir nicht recht erklären, warum der AVR Bei so einer Aktion > kaputtgehen kann. Ist er ja sehr wahrscheinlich auch nicht. Näherungsweise überprüfen kannst du das, indem du einfach mal seine Stromaufnahme misst. Vermutlich nur einige µA, d.h.: er ist in Ordnung, ihm fehlt nur der Takt, weil die Fuses einen mehr oder weniger zufälligen Zustand angenommen haben. Mit ein bissel Glück genügt es, einen Takt über XTAL1 einzuspeisen, um ihn wieder über ISP ansprechen zu können. Ansonsten muss es halt HV-Programming sein.
FoxAlpha schrieb: > Bei einer Messung des Lichteinfalls mit einer LED bekomme ich pro Messung > mehrere Interrupts am Analogkomparator, was ich darauf zurückführe, > dass vermutlich die Referenzspannung=Vcc eine gewisse Welligkeit hat, > was dazu führt, dass mehrere fallende Flanken am AC entstehen. > Deswegen wollte ich die Versorgungsspannung glätten. Lass dir diese herfabulierte Kausalkette nochmal durch den Kopf gehen. Und denk drüber nach, dass Licht selber auch Welligkeit haben kann. Z.B. flackern Leuchtstoffröhren mit vorgeschalteter Drossel fröhlich mit 100 Hz vor sich hin. LED-Lampen können auch mit mehreren kHz vor sich hinblinken usw... > Oder wie kann ich das erfolgreich verhindern? Die sicherste Vorgehensweise: weniger vermuten und das eigentliche Problem beheben. Denn das mit dem Elko ist doch nur ein Herumbasteln an irgendwelchen Symptomen. > Bei einer Messung des Lichteinfalls mit einer LED (siehe > [[https://www.mikrocontroller.net/articles/Lichtsensor_/_Helligkeitssensor#LED]] > ) bekomme ich pro Messung mehrere Interrupts am Analogkomparator Ist doch prinzipiell egal. Nur der erste zählt. Danach kannst du den Interrupt deaktivieren, denn du bist mit der Messung fertig. Oder hast du das Messverfahren grundlegend anders als dort im Beispiel mit den 3 Schritten implementiert? > Frage zurück: Warum sollte die Versorgungsspannung nicht mit einem Elko > geglättet werden? Gegenfrage: warum nur 1mF? Wenn schon, dann schließ den Kondensator nicht im Betrieb an. Je nach deiner Verdrahtung kann es da hübsch britzeln. Und die Funken, die dabei entstehen kommen nicht von 5V...
:
Bearbeitet durch Moderator
FoxAlpha schrieb: > Auf ein Neues... wenn die Bestellung mit neuem ATmega8 ankommt :) Eher auf ein Veraltetes. Den veralteten Atmega8 sollte man bei einer solchen Gelegenheit durch einen zeitgemäßen Atmega328 ersetzen.
Karl K. schrieb:
> durch einen zeitgemäßen Atmega328 ersetzen
"Karl" ist nicht zeitgemäß, sollte man durch "Charlie" ersetzen.
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.