Strom im sleep Modus zu hoch

Gast #2794815
Lesenswert?

hallo,

ich möchter gerne meinen PIC18F schlafen legen um strom zu sparen. die 
Sleep Funktion habe ich bereits entdeckt und ich bin auch der Meinung 
das der Pic auch da rain läuft, allerdings messer ich immer noch einen 
strom von 6,9mA, was deutlich zu hoch ist. Bevor der Pic in den Sleep 
Modus geht, schalte ich in einer Funktion den Timer, Zähler, Serielle 
Schnittstelle ab. Sonst sind an der Batteriespannung keine Verbraucher 
angeschlossen, es muss also am Pic liegen.

Hat jemand eine idee und erfahrung mit sowas?
Gast #2794878
Lesenswert?

muss man den sleep modus initialisieren?

also es handelt sich um einen Pic der zum einen über ein netzteil und 
zum anderen über eine batterie versorgt werden kann, wenn kein netzteil 
vorhanden ist. wird der pic über die batterie versorgt, dann soll er in 
den sleepmodus wechseln und sonst nichts machen außer die RTC am laufen 
zu halten, das wenn man das netzteil wieder einschaltet man die uhrzeit 
nicht neu starten muss. dafür verwende ich die high/low voltage 
detection, um eben zu erkennen wenn das netzteil ausfällt. netzteil hat 
5V, batterie 3,6V.

wird nun die 3,6V erkannt, dann löst der low voltage detection interrupt 
aus, was auch funktioniert, dabei wird dann eine Variable gesetzt. in 
der while(1) Schleife befindet sich nun eine If abfrage bei der geschaut 
wird ob diese Variable gesetzt ist. ist sie gesetzt dann geht das 
Programm in die If bedingung hinein, wobei zunächst die beschriebenen 
komponenten deativiert werden und anschließend die Sleep Funktion 
aufgerufen wird.

if(fSleep)
{
     PowerDown();
     Sleep();
     PowerUp();
}


Der Pic besitzt eigentlich nur Eingänge, dieser Muss nichts ausgeben und 
deswegen hab ich auch keine ausgänge konfiguriert, außer eine Serielle 
Schnittstelle. und ein I2C Bus ist auch noch vorhanden
Gast #2794895
Lesenswert?

Ich kenne mich ja mit PICs nicht aus, aber bei AVRs ist das so, dass 
frei hängende Pins, als Eingänge ohne Pullup gesetzt, die 
Eingangsbeschaltung unnötig viel Strom ziehen lassen. - Ich könnte mir 
vorstellen, dass das bei PICs ähnlich ist.
Gast #2794951
Lesenswert?

er wird geweckt wenn wieder der interrupt auslöst, dass die 
versorgungsspannung wieder höher ist, also wenn das netzteil wieder 
eingeschaltet ist.

so erster fehler entdeckt, jetzt verbraucht er im sleep modus nur noch 
170µA. leider war es ein messfehler, hab ein strommessgerät in reihe 
zwischen batterie und pic versorgung und hatte es auf einen bereich von 
20mA und da werden mir dann 7,2mA angezeigt, wenn ich den messbereich am 
messgerät kleiner mach, also auf 2000µA, dann werden mir die 170µA 
angezeigt.
Gast #2795005
Lesenswert?

hab jetzte alle Ports als Ausgänge, Zähler und Timer deativiert, ADC 
deaktiviert, Serielle Schnittstelle deaktiviert und die Pull up 
deaktiviert. hab aber immer noch einen Stromverbrauch von 73µA, gibt es 
noch weiterer Sparmaßnahmen?
Gast #2795030
Lesenswert?

> so erster fehler entdeckt, jetzt verbraucht er im sleep modus nur noch
> 170µA. leider war es ein messfehler, hab ein strommessgerät in reihe
> zwischen batterie und pic versorgung und hatte es auf einen bereich von
> 20mA und da werden mir dann 7,2mA angezeigt, wenn ich den messbereich am
> messgerät kleiner mach, also auf 2000µA, dann werden mir die 170µA
> angezeigt.

Innenwiderstand Deines Messgerätes zu hoch -> zu hoher Spannungsabfall

http://www.eevblog.com/projects/ucurrent/
http://www.youtube.com/watch?v=i069j6S80OU

Kann man auch leicht selber nachbauen.
Gast #2795430
Lesenswert?

bastler schrieb:
> hab aber immer noch einen Stromverbrauch von 73µA, gibt es
> noch weiterer Sparmaßnahmen?

Ich habe gerade mal nach einem Datenblatt geschaut und einen Blick rein 
geworfen. Wie auch bei AVRs spart es eine Menge Strom, wenn man auf 
Brown-out Erkennung verzichtet. Das hängt (zumindest beim PIC18FXX2) 
wohl auch noch mit der Low-Voltage Erkennung zusammen.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren