Forum: Mikrocontroller und Digitale Elektronik Watchdog bei Absturz des Mikrocontrollers


von Toto (Gast)


Lesenswert?

Tag,

ich steuere mit meinem AVR eine H-Brücke per PWM an und darüber einen 
Motor. Dabei entsteht beim schnellen Umschalten zwischen Vor- und 
Rückwärtslauf ein extrem hoher Strom, der mir die Betriebsspannung 
soweit runterzieht, dass der Mikrocontroller "abstürzt".

Nun zu meinem Problem bzw. meiner Frage:

Wenn der Mikrocontroller nun nach dem Absturz wieder mit der benötigten 
Spannung versorgt wird, läuft die Software aber nicht Ordnungsgemäß 
weiter. Woran liegt das? Eventuell am gelöschten RAM, da nun die 
Variableninhalte nicht mehr stimmen?

Kann ich da irgendetwas mit dem Watchdog bewirken. Der Watchdog löst ja 
einen  Reset aus, sobald das Programm ne gewisse Zeit hängt. Aber auch 
bei nem Absturz?

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Brown-Out hilft hier: bei Unterschreitung der minimal tauglichen 
Controller-Spannung wird ein definierter Reset ausgelöst. Versuche 
außerdem mal, beim schnellen Umschalten eine Totzeit zwischen beiden 
Steuersignalen einzufügen, damit es eben nicht zu dem hohen Stromfluß 
kommt. Oder der Motor wird mittels gegensätzlicher PWM erstmal 
vorsichtig abgebremst, bevor in Gegenrichtung Schmackes gegeben wird.

von Toto (Gast)


Lesenswert?

Danke für den Tip. Brown-Out könnte helfen, schon oft gehört aber auch 
schnell wieder vergessen;-)

Wenn ich das dem Datenblatt richtig entnehme, muss ich das Brown-Out 
über die Fuses einstellen. Gibt es da nicht auch noch irgendeinen Befehl 
im Programm, den ich ausführen muss?

Wo genau wird das Programmm nach dem Reset wieder ausgeführt? Da wo es 
unterbrochen worden ist?

von chris (Gast)


Lesenswert?

wie schnell schaltest du denn um?
vieleicht etwas langsamer schalten, damit die Spulen leer werden.

von Martin K. (maart)


Lesenswert?

> Wo genau wird das Programmm nach dem Reset wieder ausgeführt? Da wo es
> unterbrochen worden ist?

Dann wäre es ja kein Reset ;-) Das Programm wird ab dort ausgeführt, wo 
der Reset-Vektor seine Speicheradresse hat. (Beim PIC währe das 
Speicherstelle 0).
Edit: Ich würde den Motor erst mal abbgremsen, d.h. den oberen Teil der 
H-Brücke öffnen und nur den unteren Teil schließen (oder genau 
umgekehrt). Du mußt naürlich prüfen, ob deine H-Brücke den Stromstoß 
auch gefahrlos aushält.
Gruß, Martin

von klugscheissender Rahul, manchmal auch fies (Gast)


Lesenswert?

>Wo genau wird das Programmm nach dem Reset wieder ausgeführt? Da wo es
>unterbrochen worden ist?

BOD ist ein durch Unterspannung erzwungener Reset.
Der startet ganz vorne...

("System Control and Reset" im Datenblatt...)

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.