Watchdog bei Absturz des Mikrocontrollers

Gast #478955
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?
(Firma: TravelRec.) Persönliche Seite #478959
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.
Gast #478981
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?
#478987
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
Gast #478993
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...)

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.