Programmverlust ATmega nach Unwetter

OP #5971215
Lesenswert?

Liebes Forum,

nun zum 2. male funktioniert eine Außenbeschaltung mit einem ATmega32 
nach einem Unwetter nicht mehr. Das Ungewitter beinhaltete Blitz und 
Donner recht nah an meinem Wohnort incl. mit Stromausfall.
Nach Testung meiner Schaltung habe ich festgestellt, dass das Program 
darauf nicht mehr richtig läuft. Der Mega hat nen Bootloader, der über 
goto Bootloaderbereich im Programm angesprungen wird, wenn dieser neu 
beschrieben werden soll. Diese Funktionierte nicht mehr nach dem 
Gewitter, ein reset am Controller startete das Programm auch nicht.
Ok, das Programm muss nun wieder neu geflasht werden..... Hatte dabei 
aber das Bedenken das das Bootloaderprogramm ebenfalls einen "weg" 
bekommen hat. Aber ein neues flashen der Firmware hat alles wieder zum 
Laufen gebracht.

Kann mir jemand erklären wie so etwas passieren kann? Also Unwetter = 
Programm defekt?

Eine Möglichkeit wäre die Spannungsversorgung als Fehlerquelle, klar da 
werde ich sicherlich sowieso ein defizit haben....
Da die Schaltung sowieso überarbeitet werden soll, wie ist die 
Stromversorgung vom ATmega aufzubauen, dass hinreichen Schutz besteht?

Für ratschläge, Links etc. wäre ich dankbar!
Grüße MAT
#5971236
Lesenswert?

Matthias S. schrieb:
> Kann mir jemand erklären wie so etwas passieren kann? Also Unwetter =
> Programm defekt?

War der brownout Reset eingeschaltet? Wenn nein, kann das die Ursache 
sein.

Moderne µC können außerhalb des spezifizierten Spannungsbereichs 
allerlei Blödsinn treiben, auch Flash Zellen löschen oder überschreiben.

Außerdem erzeugt ein Blitz jede Menge EM Störungen. Wenn die Schaltung 
nicht in einem komplett geschlossenen und geerdetem Metallgehäuse 
befand, war sie dafür empfindlich.
Gast #5971239
Lesenswert?

Jim M. schrieb:
> Wenn die Schaltung
> nicht in einem komplett geschlossenen und geerdetem Metallgehäuse
> befand, war sie dafür empfindlich.

Eine Schaltung die sich in einem komplett geschlossenen und
geerdetem Metallgehäuse befindet hat keinen Bezug zur Aussen-
welt und ist damit sowohl funktionslos als auch sinnlos.
OP #5971269
Lesenswert?

Logi Ker schrieb:
> Jim M. schrieb:
>> Wenn die Schaltung
>> nicht in einem komplett geschlossenen und geerdetem Metallgehäuse
>> befand, war sie dafür empfindlich.
>
> Eine Schaltung die sich in einem komplett geschlossenen und
> geerdetem Metallgehäuse befindet hat keinen Bezug zur Aussen-
> welt und ist damit sowohl funktionslos als auch sinnlos.

Ach liebe ich solch Antworten, ohne Leut dieser schreiber wäre die Welt 
doch angenehmer!
Sorry musste mal sein... Denn solch Antworten und Spitzfindigkeiten 
machen das Forum kaputtttttt
OP #5971273
Lesenswert?

Jim M. schrieb:
> Matthias S. schrieb:
>> Kann mir jemand erklären wie so etwas passieren kann? Also Unwetter =
>> Programm defekt?
>
> War der brownout Reset eingeschaltet? Wenn nein, kann das die Ursache
> sein.
>
> Moderne µC können außerhalb des spezifizierten Spannungsbereichs
> allerlei Blödsinn treiben, auch Flash Zellen löschen oder überschreiben.
>

Dank für die Inspiration :)!

Werd ich mal schauen.

> Außerdem erzeugt ein Blitz jede Menge EM Störungen. Wenn die Schaltung
> nicht in einem komplett geschlossenen und geerdetem Metallgehäuse
> befand, war sie dafür empfindlich.

Die Schaltung ist in einem Briefkasten verbaut, nur ist dieser nicht 
geerdet, könnt ich ja ach noch machen....
Gast #5971284
Lesenswert?

> Eine Schaltung die sich in einem komplett geschlossenen und
> geerdetem Metallgehäuse befindet hat keinen Bezug zur Aussen-
> welt und ist damit sowohl funktionslos als auch sinnlos.

Das ist knallharte vulkanische Logik.
#5971299
Lesenswert?

Matthias S. schrieb:
> Jim M. schrieb:
>> Matthias S. schrieb:
>>> Kann mir jemand erklären wie so etwas passieren kann? Also Unwetter =
>>> Programm defekt?
>>
>> War der brownout Reset eingeschaltet? Wenn nein, kann das die Ursache
>> sein.

Ich habe genau das mit einem ATtiny jetzt mehrfach beim Debuggen erlebt: 
bei Ausfall der Stromversorgung OHNE Brownout Reset Zerstörung des 
Programms, MIT Brownout Reset bisher keine Probleme.

Einen Prozessor hatte ich, der nach wenigen Tests, auch mit 
unkontrolliertem Betriebsspannungseinbruch und sicherlich OHNE Brownout 
Reset, völlig defekt war und sich nicht mehr programmieren ließ. Ob das 
Zufall war oder mit den Brownouts zusammenhängt, weiß ich natürlich 
nicht.

> Die Schaltung ist in einem Briefkasten verbaut, nur ist dieser nicht
> geerdet, könnt ich ja ach noch machen....

Das ist dem EMP egal. Es muss ordentlich abgeschirmt sein und 
Überspannungen an den Pins müssen verhindert werden.
Gast #5971357
Lesenswert?

Unter bestimmten Bedingungen (Brownout, EMV, ...) können sich 
Programmzeiger und Registerwerte ungewollt ändern. Wie oft sowas zum 
Problem führt, hängt auch vom Code ab:
Maschinenbefehle ("Store Program Memory" - "SPM") die den Flash 
verändern, sollten nur selten vorkommen und deren Ausführung könnte z.B. 
vom Vorliegen bestimmter Registerwerte abhängig ("BRANCH INSTRUCTIONS") 
gemacht werden. Nur wenn der externe Teil vom Bootloader diese 
"Prüfregisterwerte" überträgt, sollte der Flash-Befehl ausgeführt. 
Leider ist das alles sehr aufwendig.
(Firma: Funkenflug Industries) #5971471
Lesenswert?

Erstmal das Programm auslesen und vergleichen, ob sich irgendwas am 
Flash verändert hat.

Zum zweiten Mal schon? Ich habe für einen Freund eine 
Blitzlicht-Signallampe mit einem LED-Streifen und auf Basis eines ATTiny 
gebaut. Die benutzt er nun schon viele Jahre lang für seinen Weidezaun 
als Kontrolllampe draußen bei Wind und Wetter - da ist noch nie was mit 
gewesen, wurde bestimmt auch schon einige tausend Mal ein- und 
ausgeschaltet, sind auch schon einige heftige Gewitter drübergezogen...

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren