www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Watchdog bei Absturz des Mikrocontrollers


Autor: Toto (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Toto (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: chris (Gast)
Datum:

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

Autor: Martin Kreiner (maart)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: klugscheissender Rahul, manchmal auch fies (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.