PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : AVR Zustand trotz Spannungseinbruch merken



Mandi Nice
08.08.2008, 14:10
Hallöchen

Ich steuere mit einem ATMega und einem MosFet einen Gleichstrommotor an. Das Ganze ist stromüberwacht damit der Motor bei Überlast abgeschaltet wird.
Im Kurzschlussfall ist diese Überwachung aber zu langsam. Es bricht die Spannung vom Netzteil zu schnell ein. Der uC macht dann einen Reset , fährt wieder hoch und schaltet den Motor wieder ein --- Kurzschluss .... etc

Wie kann ich mir merken, dass der Motor vor dem Spannungseinbruch eingeschaltet war um ihn nach der Spannungswiederkehr nicht wieder einzuschalten !.

Vielen dank für Eure Ideen.

hmg
Mandi

Hubert.G
08.08.2008, 15:18
Du brauchst eine Stromreserve für deinen µC damit er Zeit hat den Zustand im EEPROM zu speichern.
Eine Diode in die Stromversorgung und ein paar große Elko, 20000µ sollten leicht reichen. Wenn der µC dann nach einem Reset wieder hochfährt, muss er das EEPROM abfragen. Wenn die Überlast weg ist, musst du das wieder rücksetzen.

Volker-01
08.08.2008, 15:53
Hallo,

ich würde im allgemeinen den Mikrocontroller mit einer Diode und einem etwas größeren Elko (keine 20000µF, eher 470µ oder ähnlich) puffern. Zudem würde ich die Überstromabschaltung beschleunigen, das der Kurzschlussfall nicht so lange andauert und somit die Versorgung nicht so lange unterbleibt.

Andere Varinte:
Stromversorgung von Motor und Mikrocontroller strickt trennen (2 Netzteile oder Fahrakku und Steuerungsakku.

Gruß, Volker

wkrug
08.08.2008, 17:47
Ein Gold CAP Kondensator mit 0,1F und vorgeschalteter Diode wäre eventuell auch eine Alternative und baut wesentlich kleiner als ein 20000µF Elko.

oberallgeier
08.08.2008, 18:40
Du brauchst eine Stromreserve für deinen µC damit er Zeit hat den Zustand im EEPROM zu speichern. ...
Leider habe ich mich noch nie an den Brown Out Reset herangewagt. Aber blauäugig und unwissend hätte ich jetzt angenommen, dass die Zeit zwischen "brown out detect" und "Spannung unter der Betriebsgrenze des Controllers" reicht, um so eine Notfallsicherung durchzuführen nach dem Muster:
- BOD
- Reset wird angesprungen
- Kontrolle ab Reset Vektor, ob BORF gesetzt ist
- 2 Möglichkeiten:
.....ja, BORF ist gesetzt, dann Daten sichern und ein definiertes Flag dafür setzen. Warten bis alles vorbei ist . . .
.....Nein, BORF nicht gesetzt. Dann ist dies ein "normaler" Power On Reset. Jetzt können die vorher gesicherten Daten zurückgeschrieben und evtl. am vorherigen Stand gestartet werden. Immerhin ist ja BOD-Level "100" bei 4,3 V für einen mega168. Da geht doch noch ein bisschen!?!?

Frage: ist die Zeit nach einem Kurzschluss bis zum endgültigen "Aus" des Controllers ausreichend, um ein paar wenige Daten ins EEPROM zu schreiben?

fhs
08.08.2008, 19:42
Hi,

Frage: ist die Zeit nach einem Kurzschluss bis zum endgültigen "Aus" des Controllers ausreichend, um ein paar wenige Daten ins EEPROM zu schreiben?
das wäre super, geht aber leider mit dem BOD nicht. Der Brownout-Reset hat zwar eine Hysterese bezüglich der Spannung, aber nach Unterschreiten der Schwelle reagiert er sofort. Die einzige Alternative wäre, mittels a. des A/D-Wandlers,
b. des Komparators oder
c. einer externen Schaltung
den Zustand so rechtzeitig zu erkennen, dass ausreichend Zeit bleibt, um Daten zu sichern.

Viele Grüße

Fred