Hallo,

ich möchte über 1wire und ds1820 eine temperaturanzeiger für einen wasserspeicher bauen. Angeschlossen an einen Atmega8L ist ein 8*2 LCD ohne Hintergrundbeleuchtung. Da ich die Schaltung für den Batteriebetrieb auslegen möchte soll der Programmablauf so aussehen -> Nach drücken der Reset-Taste (Resetpin) wird der µC und das LCD eingeschaltet. Nun läuft ein Timer der den µC und das LCD nach 30 Sekunden in den Powerdown-Modus schickt. Das klappt auch so weit ganz gut nur hab ich, wie ich finde, eine zu hohe Stromaufnahme und ein Verhalten das ich mir nicht erklären kann?

Zustand 1: Powerdown (LCD nicht abgeschaltet) -> Stromaufnahme: 1,2mA
Zustand 2: Powerdown (LCD per Software abgeschaltet)-> : 1,5mA

Stromaufnahme des LCD nach Abschaltung durch Sotware: 1mA
Stromaufnahme (LCD)ohne Abschaltung (nach powerdown) : 0,7mA

Warum ist der Stromverbrauch bei abgeschaltetem Display höher als bei
eingeschaltetem? Zieht das Display vieleicht über die Datenpins vielleicht noch Strom??? Wie kann ich das Display nach powerdown komplett stromlos schalten?



Gruß Markus
Code:
$regfile = "M8def.dat"
$crystal = 1000000


'+++++++++Display-Config+++++++++++
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Portd.5 , Db5 = Portd.6 , Db6 = Portd.7 , Db7 = Portb.0 , Rs = Portb.6 , E = Portb.7
Config Lcdbus = 4
Cursor Off


'+++++++++config timer+++++++++++++
Config Timer1 = Timer , Prescale = 1024
On Timer1 Zeit

Enable Timer1
Enable Interrupts
Timer1 = 64558

Dim Sekunde As Byte
Sekunde = 15
Dim Minute As Byte

Locate 1 , 1
Lcd "Temp"
Lowerline
Lcd "Ver 0.1"

Waitms 2000

Cls

Locate 1 , 1 : Lcd "O"
Locate 1 , 4 : Lcd Chr(223)                                 '223 = binär 11011111
Locate 1 , 5 : Lcd "M"
Locate 1 , 8 : Lcd Chr(223)                                 '223 = binär 11011111
Locate 2 , 1 : Lcd "U"
Locate 2 , 4 : Lcd Chr(223)                                 '223 = binär 11011111

Do

If Sekunde = 0 Then
Gosub Poweroff
End If

Locate 2 , 6
Lcd Sekunde

Loop
End

Zeit:
 Timer1 = 64558
 decr Sekunde
 Return

Poweroff:

Cls
Lcd "power"
Lowerline
Lcd "down"
Wait 2
Display Off
Powerdown
Return