Pidi, das ist so ziemlihc das gleiche wie vorher, ausser das der obere Wert jetzt ca 36.33 anzeigt, bei 19°C.
Druckbare Version
Pidi, das ist so ziemlihc das gleiche wie vorher, ausser das der obere Wert jetzt ca 36.33 anzeigt, bei 19°C.
Hallo JeyBee,
ich habe da noch einen kleinen Fehler in der Rechnung. Das sollte jetzt funktionieren.
$regfile "m48def.dat"
$crystal = 8000000
Config Pinc.4 = Input
Portc.4 = 0
Config Portb = Output
Config Portd = Output
Config Lcdpin = Pin , Db4 = Portd.6 , Db5 = Portd.5 , Db6 = Portb.7 , Db7 = Portb.6 , E = Portd.7 , Rs = Portb.0
Config Lcd = 16 * 2
Config Adc = Single , Prescaler = Auto
Config Portc.0 = Input
Dim W As Word
Dim Z1 As Single
Dim Temp As Single
Do
Portb.1 = 1
W = Getadc(2)
Z1 = W
Z1 = Z1 - 786
Temp = Z1 * 0.189
Temp = Temp + 25
Cls
Locate 1 . 1
Lcd Temp
Locate 2 . 1
Lcd W
Waitms 300
Loop
Danke Pidi.
Aber es hat sich apsulut nichts geändert: Temp = 34.44, W=736 bei 20.5°C
Lustig ist auch, dass die werte bei jeder Aktualisierung sehr stark schwanken. Bei W kann das biss zu 10! sein.
Hallo JeyBee,
hast Du jetzt die Version mit folgender Rechenoperation verwendet?
Z1 = W
Z1 = Z1 - 786
Temp = Z1 * 0.189
Temp = Temp + 25
Oder hast Du noch die falsche drin?
mfg
Pidi
Nein, das ist genau die!
Hallo JeyBee,
der unterschied ist folgender:
alte Version: Z1 = 786 - Z1
neue Version Z1 = Z1 - 786
Da muß sich was ändern!
lg
Pidi
Wie gesagt, das habe ich dabei.
Temperatur = 23°C
Lcd wert1 = 19.14
lcd wert2 = ca. 756
Hallo, wenn du mein Programm geladen hast dann solltest du bei 25°C einen wert am pin von 1.33V haben bei 25°C richtig. (wenn ich richtig gerechnet habe)
Diese 1,33V multiplizierst du mit 18,9 und schon hast du als Anzeige 25°C.
(also wert am pin *18,9)
Dann sollte das stimmen.
@Neutro: Das gibt dann abe rbei Umess = 9.12V und bei Wertampin = 0.48 (Wertampin stimmt ja)
Langsam mache ich mir ernsthafte Sorgen...
Hallo JeyBee,
na das sieht jetzt schon gar nicht mehr so schlecht aus.
Die Werte den mein Code ausgibt sind doch schon in der Nähe der echten Temperatur. Die Abweichung kommt wohl von der ungenauen Ermittlung der Werte die Du eben experimentell ermittelt hast. Du mußt den Temperaturfühlern mehr Zeit geben um die korrekten Werte anzuzeigen.
Um das Springen des Wertes W zu unterdrücken, versuche mal folgendes. Schalte einen Keramikkondensator (100nF) vom Analogeingang des AVR nach Masse. Du kannst auch mehrere Messungen vornehmen und einen Durchschnittswert bilden.
mfg
Pidi