Forum: Mikrocontroller und Digitale Elektronik AVRs nach einigem Flashen gestorben


von Mikrofun R. (mikrofun)


Lesenswert?

In den letzten Jahren habe ich einige Platinen mit ATmega2560 und 
ATmega128 hergestellt und programmiert, von denen einige nach einigen 10 
Programmierungen nicht mehr ansprechbar waren.

Nun habe ich (als relativer Anfänger) im Laufe der Zeit versucht, einige 
potentielle Fehlerquellen auszuschalten:

- ESD-Erdung des Handgelenks über 1 MOhm - Widerstand an Wasserrohr
- Umstieg auf das AVR ISP mkII Programmiergerät mit AVR Studio
- Einkauf der Prozessoren nur noch bei Reichelt
- Bessere Kontrolle der Spannung des µC beim Flashen
- PortB wird nicht mehr anderweitig genutzt

Dennoch ist mir neulich wieder ein Mega2560 beim Flashen gestorben, der 
auch per externem Takt nicht wiederzubeleben war. Meist gibt es erst 
Verifikationsfehler und später wird der AVR nicht mehr erkannt. Der 
Nachfolger lief einige Wochen gut, und zeigte kürzlich erste Fehler beim 
Flashen (vereinzelt Fusebit-Verifikation fehlgeschlagen). Die 
Übertragungsgeschwindigkeit liegt weit unter 1/4 der Taktfrequenz des 
4MHz-Quarzes. Das Kabel des ISP mkII wird direkt auf die Platine nahe 
dem AVR gesteckt. Der Verifikationsfehler trat auf, als die 
µC-Stromversorgung (vier Akkus) nur noch 4.7 V Spannung hatte.

In der Schaltung wird MISO direkt an den µC geführt. MOSI, SCK und Reset 
laufen über jeweils eine Diode BAT85 an den µC, wo sich zusätzlich 
jeweils ein 10kOhm-Pullup nach VCC befindet.

Eben bin ich darauf gestossen, dass ich keinen richtigen 
Abblock-Kondensator in der Schaltung, sondern nur einen 100 µF-Elko über 
der gesamten Spannungsversorgung habe.

- Reicht ein simpler 100nF Kondensator?
- Wie nahe am AVR muss dieser sein?

- Was mache ich eventuell noch falsch?

von Falk B. (falk)


Lesenswert?

@ Mikrofun R. (mikrofun)

>In der Schaltung wird MISO direkt an den µC geführt. MOSI, SCK und Reset
>laufen über jeweils eine Diode BAT85 an den µC, wo sich zusätzlich
>jeweils ein 10kOhm-Pullup nach VCC befindet.

Wozu das?

>Eben bin ich darauf gestossen, dass ich keinen richtigen
>Abblock-Kondensator in der Schaltung, sondern nur einen 100 µF-Elko über
>der gesamten Spannungsversorgung habe.

Schlecht. Dass der überhaupt stabil läuft ist ein kleines Wunder.

>- Reicht ein simpler 100nF Kondensator?

Eigentlich ja, besser aber ein 100nF pro Vcc/GND Paar.

>- Wie nahe am AVR muss dieser sein?

Kleiner 3cm.

MFG
Falk

von Peter D. (peda)


Lesenswert?

Also ich hab den Eindruck, die AVRs sind unkaputtbar.
Einige meiner AVRs dürften schon viele 100-te Programmierungen hinter 
sich haben.

Ich benutze zwar nicht diese riesen Monster, sondern nur bis max 
ATmega168, aber die sollten ja nicht empfindlicher sein.

Ich programmiere sie einmalig auf dem STK500 und dann in der Schaltung 
per Bootloader.
Mit dem STK500 hatte ich noch nicht einmal Probleme beim Proggen.

Irgendwelche billigst-Programmer ohne eigenen MC habe ich noch nie 
probiert, da ich am Notebook weder LPT noch COM habe.
Ich mache alles über USB-RS232 Konverter.


Peter

von Der Dude (Gast)


Lesenswert?

>Schlecht. Dass der überhaupt stabil läuft ist ein kleines Wunder.

Quatsch. Die laufen ohne 100 nF genauso.

Die 100 nF haben den gleichen Zweck wie eine Beilagscheibe: Das Gewissen 
des Konstrukteurs zu beruhigen.

Da ich auch gern ein ruhiges Gewissen habe, baue ich sie auch immer ein.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Der Dude wrote:

>>Schlecht. Dass der überhaupt stabil läuft ist ein kleines Wunder.

> Quatsch. Die laufen ohne 100 nF genauso.

Manchmal.  Zufällig.

> Die 100 nF haben den gleichen Zweck wie eine Beilagscheibe: Das Gewissen
> des Konstrukteurs zu beruhigen.

Ja.  Under die Erde ist eine Scheibe.

von Felix (Gast)


Lesenswert?

Ist immer ne Frage der Zeit...

von eProfi (Gast)


Lesenswert?

Potentialunterschiede beim Einstecken des Programmiersteckers?
Netzteil mit 2-adriger Zuleitung?

von holger (Gast)


Lesenswert?

>Also ich hab den Eindruck, die AVRs sind unkaputtbar.
>Einige meiner AVRs dürften schon viele 100-te Programmierungen hinter
>sich haben.

Kann ich nur bestätigen. Ich programmiere meine über
LPT (wie rückständig ;). Mehrere Boards von ATMega8 bis
ATMega128. Von denen hat noch keiner aufgegeben.

Diese kleinen 100nF Dinger sind das Salz in der Suppe.
Die müssen ganz dicht an jedes IC. Beim Spannungsregler
auch immer einen davor und dahinter. Ebenfalls so dicht wie
möglich dran.

von Mikrofun R. (mikrofun)


Lesenswert?

@Falk Brunner:
>>In der Schaltung wird MISO direkt an den µC geführt. MOSI, SCK und Reset
>>laufen über jeweils eine Diode BAT85 an den µC, wo sich zusätzlich
>>jeweils ein 10kOhm-Pullup nach VCC befindet.

>Wozu das?

In der Schaltung vom STK200 war es glaube ich auch so. Dies hatte ich am 
Anfang einfach in die eigene Schaltung übernommen. Da die 
Programmierbarkeit erst mal klappte, hatte ich nichts mehr geändert.

Ist daran irgendwas überflüssig oder nicht sinnvoll?

>besser aber ein 100nF pro Vcc/GND Paar.

Am ehesten könnte ich meine Platine jetzt noch mit SMD Kondensatoren 
aufpeppen, zumindest an zwei Seiten des AVR. Bei Reichelt gibt es z. B. 
metallisierte SMD Polyesterkondensatoren 100nF (SMD-1812 100N). Spricht 
etwas dagegen?


@eProfi:
> Potentialunterschiede beim Einstecken des Programmiersteckers?
Die erste Instabilität hatte ich, als ich die Programmierung bei einer 
längeren Bahnfahrt per akkubetriebenem Notebook machen wollte. Der AVR 
wird per Akkupack betrieben. Ist die Masse beim ISP mkII nicht 
durchgeschleift?

> Netzteil mit 2-adriger Zuleitung?
Ein Labornetzgerät nehme ich eher selten. Dieses hätte jedoch eine 
Erdung. Ist also von einer Akkustromversorgung des AVR beim 
Programmieren abzuraten?

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Mikrofun R. wrote:

>>besser aber ein 100nF pro Vcc/GND Paar.
>
> Am ehesten könnte ich meine Platine jetzt noch mit SMD Kondensatoren
> aufpeppen, zumindest an zwei Seiten des AVR. Bei Reichelt gibt es z. B.
> metallisierte SMD Polyesterkondensatoren 100nF (SMD-1812 100N). Spricht
> etwas dagegen?

Keramik-Vielschichtkondensatoren sind kleiner und induktionsärmer.
Gängige Materialbezeichnungen dafür sind sowas wie X7R.  Mir ist
so, als hätte sogar Angelika davon bis 100 nF welche im Angebot
(in der Industrie gibt's die mittlerweile bis 10 µF, immerhin noch
als 1210, glaube ich).

von Hannes L. (hannes)


Lesenswert?

Ich bevorzuge zum Abblocken SMD-Chipkondensatoren (Keramik 100nF 0603 
oder 0805), die sind billig und gut.

Wenn ich mit Akkus (4 Zellen AA) experimentiere, dann habe ich eine 
Glühlampe als Sicherung (Strombegrenzung) in der Plusleitung.

...

von Thomas (Gast)


Lesenswert?

Ja, habe ich gestern noch bestellt bei Reichelt ;-) 100 nF ist das 
Maximum gibt es aber als 0603

von TheMason (Gast)


Lesenswert?

@dude

>Die 100 nF haben den gleichen Zweck wie eine Beilagscheibe: Das Gewissen
>des Konstrukteurs zu beruhigen.

völliger blödsinn.
die 100nF kondis glätten die spannung ebenso wie ein 100uF kondensator. 
nur das durch die kleinere kapazität höherfrequentere (im vergleich zum 
100uF faktor 1000) störungen geglättet werden. wer diese kondensatoren 
weglässt ists selber schuld. man könnte eher (aber eigentlich auch nicht 
wirklich) auf den 100uF verzichten wenn die spannug einigermassen 
stabilisiert ist (stabilisiertes steckernetzteil oder labornetzeil).
und genau die höherfrequenten störungen (können !!) beim programmieren 
eher störungen bzw. fehlprogrammierungen verursachen.
so zumindest meine interpretation zum thema : 100nF - was soll das ?
ich mache die dinger IMMER mit drauf und hab noch nicht einen einzigen 
(ok sind nur ca 20 avrs verbastelt) zerschossen/verputtprogrammiert.
auch bei allen anderen verwendeten ic's. -> man liegt immer auf der 
sicheren seite. spart zeit nerven und avr's :-)

von Spess53 (Gast)


Lesenswert?

Hi

>Also ich hab den Eindruck, die AVRs sind unkaputtbar.

Ich habe eine ganze Weile mit einem STK300 gearbeitet. Der ATMega103 war 
nur für 1000 Progrmmierzyklen spezifiziert. Die habe ich mit Sicherheit 
mehrfach überschritten und das Teil läuft heute noch.

Ich denke, deine Ausfälle sind auf instabile Bedingungen während der 
Programmierung zurückzuführen.

MfG Spess

von Peter D. (peda)


Lesenswert?

Mit einem guten Oszi kann man sich die Wirkung der 100nF Pillen sehr 
schön ansehen.

Ob die VCC glatt wie ein Kinderpopo ist oder eigentlich Wechselspannung 
genannt werden müßte, ist gut zu sehen.

Und im UKW-Radio kann man es auch gut hören, wenn die fehlen.

Ich nehme die 0805, die kann man bequem bei nem DIP-IC zwischen 2 Pins 
pappen.


Peter

von Mikrofun R. (mikrofun)


Lesenswert?

Da ich gerade keine SMD-Kondensatoren zur Hand hatte, habe ich nun 
testweise zwei Tantaltypen eingelötet.

@Peter Dannegger:
>Und im UKW-Radio kann man es auch gut hören, wenn die fehlen.
Heisst das, ich stelle ein Radio neben die Platine und höre mehr oder 
weniger Oberwellen vom Schaltkreis als Störgeräusche?

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Mikrofun R. wrote:

> Heisst das, ich stelle ein Radio neben die Platine und höre mehr oder
> weniger Oberwellen vom Schaltkreis als Störgeräusche?

Ja.  Diese Kondensatoren sind einer wesentlichen Eigenschaft der
CMOS-Technologie geschuldet.  Während CMOS den großen Vorteil hat,
dass statisch jeweils nur ein Transistor leitend ist und somit kein
statischer Stromverbrauch entsteht (außer Leckstrom, also Dioden-
restströmen gegen das Substrat, mit zunehmend kleiner werdenden
Strukturen ein echtes Problem), entsteht im Moment des Umschaltens
eine Stromspitze in der Versorgungsleitung, da die am Ausgang des
Gatters befindliche kapazitive Last umgeladen werden muss.  Wenn
nun viele Gatter zeitgleich umschalten (und das ist bei aller
synchroner Logik nun einmal der Fall), dann summieren sich diese
Stromspitzen.  Da die Zuleitung der Versorgung (außer dem natürlichen
Innenwiderstand der Spannungsquelle) noch eine für schnelle
Schaltvorgänge spürbare Induktivität aufweist, fällt an dieser im
Umschaltmoment eine Spannung ab.  Erstens bricht dadurch die
Versorgungsspannung ein (was die Funktion des ICs gefährden kann),
zweitens wirkt damit die Zuleitung wie eine Antenne.

Bei ideal parallel geführten Zuleitungen heben sich die Felder auf,
aber sowie das nicht mehr der Fall ist, wird ein Teil der Energie
dann abgestrahlt.

von Hannes L. (hannes)


Lesenswert?

> Da ich gerade keine SMD-Kondensatoren zur Hand hatte, habe ich nun
> testweise zwei Tantaltypen eingelötet.

Naja, Tantal ist ziemlich ungeeignet, ist absolut kein Ersatz für 
Vielschicht-Keramik. Schau mal bei CSD, da gibt es die 
Vielschicht-Keramik-Chipkondensatoren in verschiedenen Baugrößen für 
kleines Geld.

Auf den Elko verzichte ich gelegentlich, auf die Keramik-Kondensatoren 
aber nie.

...

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Hannes Lux wrote:
>> Da ich gerade keine SMD-Kondensatoren zur Hand hatte, habe ich nun
>> testweise zwei Tantaltypen eingelötet.
>
> Naja, Tantal ist ziemlich ungeeignet, ist absolut kein Ersatz für
> Vielschicht-Keramik.

Warum?  Zumindest niedrigimpedant sind die doch auch (anders als
Aluminium-Elkos).  Sie können keine zu hohen Stromspitzen ab
(bspw. beim schnellen Umschalten einer Quelle mit niedrigem
Innenwiderstand), aber als Puffer taugen sie eigentlich auch.

Mit dem Aufkommen von Kerkos >= 1 µF scheinen sich die Tantal-Elkos
aber auf dem Rückzug zu befinden, zumal es um die Ta-Ressourcen auf
der Erde wohl nicht so reichlich bestellt ist.

von Fred (Gast)


Lesenswert?

>Also ich hab den Eindruck, die AVRs sind unkaputtbar.

kann ich nur bestätigen

ich hab einen mit unabsichtlich zerschossen IO-Pin's
(beschädigt), der läst sich immernoch nutzen!

Fred

von eProfi (Gast)


Lesenswert?

> Netzteil mit 2-adriger Zuleitung?

Ich dachte auch an das Laptop-Netzteil.
Wenn der Atmel geerdet ist und der Laptop nicht, gibt es beim Einstecken 
immer einen Potentialausgleich. Wenn dieser über eine Signalleitung 
stattfindet, wird diese das weniger toll finden.

Deshalb erde ich immer alles. Falls Masseschleifen ein Problem 
darstellen, über eine Erdungsdrossel oder -Widerstand.

Erst vorgestern hat bei uns ein IXXAT USB-CAN die Grätsche gemacht, weil 
jemand statt der Verwendung eines Trenntrafos  am Oszi die 
Schutzleiterkontakte mit Tesa überklebt hat. Beim Einstecken des 
CAN-Busses hat es den CAN-Treiber erwischt. Trotzdem CAN ja für rauhe 
Umgebung ausgelegt ist. Schade drum.

Batteriebetrieb sollte in Ordnung sein, falls man vorher eine evtuelle 
statische Aufladung ableitet.

von Michael G. (linuxgeek) Benutzerseite


Lesenswert?

Peter Dannegger wrote:
> Also ich hab den Eindruck, die AVRs sind unkaputtbar.
> Einige meiner AVRs dürften schon viele 100-te Programmierungen hinter
> sich haben.

Wuerde ich zustimmen, die sind wirklich sehr robust. Die kann man nur 
mit groben Fehlern wie z.B. Ueberspannung killen. "Nach ein paar mal 
flashen kaputt" hoert sich fuer mich an wie: Falscher Aufbau und/oder 
mit billigem programmer die fuses zerschossen.

von Hannes L. (hannes)


Lesenswert?

Michael G. wrote:

> "Nach ein paar mal
> flashen kaputt" hoert sich fuer mich an wie: Falscher Aufbau und/oder
> mit billigem programmer die fuses zerschossen.

Er schreibt aber:

- Umstieg auf das AVR ISP mkII Programmiergerät mit AVR Studio

...

von Benedikt K. (benedikt)


Lesenswert?

Hannes Lux wrote:

> Er schreibt aber:
>
> - Umstieg auf das AVR ISP mkII Programmiergerät mit AVR Studio

Ich stand schonmal daneben als jemand mit diesem Programmer einen neuen 
ATmega88 zerschossen hat. Einmal konnte er ihn flashen, danach 
nichtmehr.
Mit einem neuen mega88 ging es dann wieder...

von let (Gast)


Lesenswert?

Das Phänomen habe ich mehrfach bei Schaltungen mit einem PIC
beobachtet. Erst geht es wunderbar, dann schlägt Verify fehl
und anschließend wird der Controller nicht mehr erkannt.

Diese Schaltungen wurden dann aber im Betrieb mit eigener Strom-
versorgung programmiert. Ich vermute das es sich um ein
Problem mit dem Massepotential handelt. Wenn GND nicht sauber
verbunden ist (beim Einstecken des Programmiergeräts z. B.)
können unzulässig hohe Spannungen auftreten. 100%-ige galvanische
Trennung ist eher ungewöhnlich.

von Mikrofun R. (mikrofun)


Lesenswert?

Haben hier alle, die keine AVRs zerschossen haben, die Programmierung 
nur bei gemeinsamer Erdung von Computer und µC gemacht?

Kann man bei Batteriebetrieb von AVR oder Notebook den 
Potentialausgleich irgendwie praktisch sinnvoll durchführen? Z. B. erst 
eine Masseverbindung über einen großen Widerstand (z. B. 1 Megaohm) 
herstellen und dann richtig verbinden?

von Peter D. (peda)


Lesenswert?

Mikrofun R. wrote:
> Haben hier alle, die keine AVRs zerschossen haben, die Programmierung
> nur bei gemeinsamer Erdung von Computer und µC gemacht?

Noch nie.

Ich betreibe meine Schaltungen (STK500) oft mit ner Wandwarze aus der 
Conrad-Wühlkiste, die sind 2-polig (ohne Schutzleiter).
Der PC ist geerdet (das Notbook nicht).


Peter

von Simon K. (simon) Benutzerseite


Lesenswert?

Peter Dannegger wrote:
> Mikrofun R. wrote:
>> Haben hier alle, die keine AVRs zerschossen haben, die Programmierung
>> nur bei gemeinsamer Erdung von Computer und µC gemacht?
>
> Noch nie.
>
> Ich betreibe meine Schaltungen (STK500) oft mit ner Wandwarze aus der
> Conrad-Wühlkiste, die sind 2-polig (ohne Schutzleiter).
> Der PC ist geerdet (das Notbook nicht).

Die Erdung wird ja im Falle des STK500 über die RS232 Masseleitung 
hergestellt.

von Falk B. (falk)


Lesenswert?

@ TheMason (Gast)

>die 100nF kondis glätten die spannung ebenso wie ein 100uF kondensator.

Nöö, können sie gar nicht, weil sie 1000mal kleiner sind. Sollen sie 
aber auch gar nicht.

>nur das durch die kleinere kapazität höherfrequentere (im vergleich zum
>100uF faktor 1000) störungen geglättet werden. wer diese kondensatoren

Naja, diese Aussage ist nur indirekt richtig und irritiert mehr als sie 
erklärt.

Kleinere Struktur + bessere Dielektrika -> weniger parasitäre 
Induktivität -> bessere Filterung von Hochfrequenz

>weglässt ists selber schuld. man könnte eher (aber eigentlich auch nicht

genau.

>ich mache die dinger IMMER mit drauf und hab noch nicht einen einzigen

Das ist auch notwendig.

MfG
Falk

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Falk Brunner wrote:

>>die 100nF kondis glätten die spannung ebenso wie ein 100uF kondensator.
>
> Nöö, können sie gar nicht, weil sie 1000mal kleiner sind. Sollen sie
> aber auch gar nicht.

Naja, wenn man es in der Relation zum Thema (CMOS-bedingte Stromspitzen
beim Umschalten) sieht, können sie es.  Für niederfrequente Störanteile
(Netzbrumm etc.) natürlich nicht.

von Michael G. (linuxgeek) Benutzerseite


Lesenswert?

Herr Mikrofon wie isses mal mit nem Schaltplan?

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.