Strom im sleep Modus zu hoch

Gast #2794815
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
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
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 #2794923
> und ein I2C Bus ist auch noch vorhanden

I2C-Bus  -->  Pullup-Widerstände, die brauchen ziemlich viel (mit 
weniger läuft aber u.U. der I2C-Bus nicht mehr sauber)
Gast #2794951
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
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
> 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
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.
Gast #2796336
also der PIC zieht immer noch 71µA. ist das noch normal oder was kann 
ich noch machen?

also die 71µA verbraucht er im Sleep Mode, zumindest zeigt mir das mein 
Multimeter an.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 14 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.