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?
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.
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?
wie schnell schaltest du denn um? vieleicht etwas langsamer schalten, damit die Spulen leer werden.
> 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
>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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.