Ich habe mir eine Uhr mit dem PIC18F45k22 gebaut. Damit die Zeit bei einem Stromausfall nicht verloren geht habe ich eine CR2030 Batterie eingebaut. Um Strom zu sparen geht der PIC in den Sleep-Modus wenn die Stromversorgung von Netzteil ausfällt (RB5=0). Ich habe gemessen dass aus der Batterie im Sleep 30µA fliesen. Ich versorge nur den PIC mit der Batterie, der Rest der Schaltung (LED-Anzeige) ist mit einer Diode (SK13) abgetrennt. Der PIC hat einen Uhrenquarz am Secondary Oscillator für den Timer1. Die CPU lauft mit dem internen Oszillator auf 250kHz. Der PIC wird jede sekunde vom Timer1 geweckt. Bevor der PIC schlafen geht werden alle Ausgänge auf 0 gesetzt. Wäre es sinnvoll sie als Eingänge zu konfigurieren? Weiß jemand wie ich den Stromverbrauch des PIC reduzieren könnte? Im Datenblatt des PICs steht:
1 | Extreme Low-Power Management with nanoWatt XLP: |
2 | • Sleep mode: 20 nA, typical |
3 | • Watchdog Timer: 300 nA, typical |
4 | • Timer1 Oscillator: 800 nA @ 32 kHz |
5 | • Peripheral Module Disable |
Die Config des PIS sieht so aus:
1 | #pragma config FOSC = INTIO67, PLLCFG = OFF, PRICLKEN = OFF //FOSC = Internal oscillator block
|
2 | #pragma config PWRTEN = OFF, BOREN=NOSLP, BORV = 220
|
3 | #pragma config WDTEN = OFF
|
4 | #pragma config CCP2MX = PORTB3 // CCP2 Input/Output is multiplexed with RB3
|