problem mam nie lada - za chwile mam utopic w wylewanym betonie ogrzewanie oraz czujnik temperatury.... Chcialem uzyc DS18B20, bo mam ich pudelko... a tu nagle zonk. W regulatorze ktory byl kiedystam zmontowany - pomiar chodzi do ~ 47 stC. Wiec myslalem ze cos jest walniete, zrobilem na szybko soft testowy w bascomie i hardware.
ds18B20, zasilany z +5v wraz z reszta elektroniki (nie parasite-power, choc na parasite ten sam objaw jest), na 1m kabla koncentryk "mikrofonowy". Dla pewnosci po conwert daje 1sekunde delaya pomiar zdaje sie dzialac, calkie ladnie mierzy ale tylko do ~47 stC, dokladnie do odczytu 02FFh z scratchpada. gdy powinno byc juz 0300h - przeskakuje na FFFFh i tak trzyma do momentu wystygniecia ponizej tej wartosci i dalej mierzy. Moze blad jest w sofcie? Czy mam liczyc ze mam 20szt ds18b20 z takim samym errorem ?
$regfile = "89s8252.dat" $crystal = 24000000 ' 24MHz $baud = 9800 ' rs232 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = P2.4 , Db5 = P2.3 , Db6 = P2.2 , Db7 = P2.1 , E = P2.5 , Rs = P2.6 Dim T1 As Single Dim T22 As Byte Dim T33 As Byte Config 1wire = P1.5 ' 1 wire Cls Mierz: 1wreset 1wwrite &HCC ' skip rom 1wwrite &H44 ' conwert Wait 1 ' czas na pomiar temp. 1wreset 1wwrite &HCC ' skip rom 1wwrite &HBE ' read scratchpad T22 = 1wread() ' read LSB Cls Upperline Lcdhex T22 ; " "; T33 = 1wread() ' read MSB
Lcdhex T33 ; " "; Lowerline T1 = Makeint(t22 , T33) T1 = T1 / 16 Lcd T1 Waitms 250 Goto Mierz