Page 3 of 4 |
Posted: 04:01pm 29 May 2026
Copy link to clipboard |
Peter63 Senior Member

|
|
|
here comes a new run with cooling spray... T1 175 T2 255 T3 5 Test1 =-40.5 Test2 =-39.5625 Test3 =-39.5625 Test4 =-39.375 Test5 =-39.375 Temp =-39.375`C T1 173 T2 255 T3 6 Test1 =-41.5 Test2 =-40.625 Test3 =-40.625 Test4 =-40.4375 Test5 =-40.4375 Temp =-40.4375`C T1 173 T2 255 T3 3 Test1 =-41.5 Test2 =-40.4375 Test3 =-40.4375 Test4 =-40.25 Test5 =-40.25 Temp =-40.25`C T1 174 T2 255 T3 9 Test1 =-41 Test2 =-40.8125 Test3 =-40.8125 Test4 =-40.625 Test5 =-40.625 Temp =-40.625`C T1 175 T2 255 T3 2 Test1 =-40.5 Test2 =-39.375 Test3 =-39.375 Test4 =-39.1875 Test5 =-39.1875 Temp =-39.1875`C T1 176 T2 255 T3 10 Test1 =-40 Test2 =-39.875 Test3 =-39.875 Test4 =-39.6875 Test5 =-39.6875 Temp =-39.6875`C T1 178 T2 255 T3 12 Test1 =-39 Test2 =-39 Test3 =-39 Test4 =-38.8125 Test5 =-38.8125 Temp =-38.8125`C T1 183 T2 255 T3 4 Test1 =-36.5 Test2 =-35.5 Test3 =-35.5 Test4 =-35.3125 Test5 =-35.3125 Temp =-35.3125`C T1 193 T2 255 T3 4 Test1 =-31.5 Test2 =-30.5 Test3 =-30.5 Test4 =-30.3125 Test5 =-30.3125 Temp =-30.3125`C T1 205 T2 255 T3 3 Test1 =-25.5 Test2 =-24.4375 Test3 =-24.4375 Test4 =-24.25 Test5 =-24.25 Temp =-24.25`C T1 215 T2 255 T3 2 Test1 =-20.5 Test2 =-19.375 Test3 =-19.375 Test4 =-19.1875 Test5 =-19.1875 Temp =-19.1875`C T1 224 T2 255 T3 12 Test1 =-16 Test2 =-16 Test3 =-16 Test4 =-15.8125 Test5 =-15.8125 Temp =-15.8125`C T1 232 T2 255 T3 16 Test1 =-12 Test2 =-12.25 Test3 =-12.25 Test4 =-12.0625 Test5 =-12.0625 Temp =-12.0625`C T1 238 T2 255 T3 15 Test1 =-9 Test2 =-9.1875 Test3 =-9.1875 Test4 =-9 Test5 =-9 Temp =-9`C T1 243 T2 255 T3 7 Test1 =-6.5 Test2 =-5.6875 Test3 =-5.6875 Test4 =-5.5 Test5 =-5.5 Temp =-5.5`C T1 247 T2 255 T3 4 Test1 =-4.5 Test2 =-3.5 Test3 =-3.5 Test4 =-3.3125 Test5 =-3.3125 Temp =-3.3125`C T1 251 T2 255 T3 6 Test1 =-2.5 Test2 =-1.625 Test3 =-1.625 Test4 =-1.4375 Test5 =-1.4375 Temp =-1.4375`C T1 254 T2 255 T3 15 Test1 =-1 Test2 =-1.1875 Test3 =-1.1875 Test4 =-1 Test5 =-1 Temp =-1`C T1 255 T2 255 T3 1 Test1 =-0.5 Test2 = 0.6875 Test3 = 0.6875 Test4 = 0.875 Test5 = 0.875 Temp = 0.875`C T1 0 T2 0 T3 12 Test1 = 0 Test2 = 0 Test3 = 0 Test4 = 0.1875 Test5 = 0.1875 Temp = 0.1875`C T1 1 T2 0 T3 2 Test1 = 0.5 Test2 = 0.625 Test3 = 0.625 Test4 = 0.8125 Test5 = 0.8125 Temp = 0.8125`C T1 3 T2 0 T3 3 Test1 = 1.5 Test2 = 1.5625 Test3 = 1.5625 Test4 = 1.75 Test5 = 1.75 Temp = 1.75`C T1 6 T2 0 T3 16 Test1 = 3 Test2 = 2.75 Test3 = 2.75 Test4 = 2.9375 Test5 = 2.9375 Temp = 2.9375`C T1 8 T2 0 T3 13 Test1 = 4 Test2 = 3.9375 Test3 = 3.9375 Test4 = 4.125 Test5 = 4.125 Temp = 4.125`C T1 10 T2 0 T3 11 Test1 = 5 Test2 = 5.0625 Test3 = 5.0625 Test4 = 5.25 Test5 = 5.25 Temp = 5.25`C T1 12 T2 0 T3 11 Test1 = 6 Test2 = 6.0625 Test3 = 6.0625 Test4 = 6.25 Test5 = 6.25 Temp = 6.25`C T1 14 T2 0 T3 14 Test1 = 7 Test2 = 6.875 Test3 = 6.875 Test4 = 7.0625 Test5 = 7.0625 Temp = 7.0625`C T1 15 T2 0 T3 3 Test1 = 7.5 Test2 = 7.5625 Test3 = 7.5625 Test4 = 7.75 Test5 = 7.75 Temp = 7.75`C T1 17 T2 0 T3 7 Test1 = 8.5 Test2 = 8.3125 Test3 = 8.3125 Test4 = 8.5 Test5 = 8.5 Temp = 8.5`C T1 18 T2 0 T3 12 Test1 = 9 Test2 = 9 Test3 = 9 Test4 = 9.1875 Test5 = 9.1875 Temp = 9.1875`C T1 20 T2 0 T3 14 Test1 = 10 Test2 = 9.875 Test3 = 9.875 Test4 = 10.0625 Test5 = 10.0625 Temp = 10.0625`C T1 21 T2 0 T3 6 Test1 = 10.5 Test2 = 10.375 Test3 = 10.375 Test4 = 10.5625 Test5 = 10.5625 Temp = 10.5625`C T1 22 T2 0 T3 12 Test1 = 11 Test2 = 11 Test3 = 11 Test4 = 11.1875 Test5 = 11.1875 Temp = 11.1875`C T1 23 T2 0 T3 5 Test1 = 11.5 Test2 = 11.4375 Test3 = 11.4375 Test4 = 11.625 Test5 = 11.625 Temp = 11.625`C T1 24 T2 0 T3 16 Test1 = 12 Test2 = 11.75 Test3 = 11.75 Test4 = 11.9375 Test5 = 11.9375 Temp = 11.9375`C T1 24 T2 0 T3 11 Test1 = 12 Test2 = 12.0625 Test3 = 12.0625 Test4 = 12.25 Test5 = 12.25 Temp = 12.25`C T1 25 T2 0 T3 7 Test1 = 12.5 Test2 = 12.3125 Test3 = 12.3125 Test4 = 12.5 Test5 = 12.5 Temp = 12.5`C T1 25 T2 0 T3 3 Test1 = 12.5 Test2 = 12.5625 Test3 = 12.5625 Test4 = 12.75 Test5 = 12.75 Temp = 12.75`C T1 26 T2 0 T3 15 Test1 = 13 Test2 = 12.8125 Test3 = 12.8125 Test4 = 13 Test5 = 13 Temp = 13`C T1 26 T2 0 T3 12 Test1 = 13 Test2 = 13 Test3 = 13 Test4 = 13.1875 Test5 = 13.1875 Temp = 13.1875`C T1 26 T2 0 T3 9 Test1 = 13 Test2 = 13.1875 Test3 = 13.1875 Test4 = 13.375 Test5 = 13.375 Temp = 13.375`C T1 27 T2 0 T3 6 Test1 = 13.5 Test2 = 13.375 Test3 = 13.375 Test4 = 13.5625 Test5 = 13.5625 Temp = 13.5625`C T1 27 T2 0 T3 2 Test1 = 13.5 Test2 = 13.625 Test3 = 13.625 Test4 = 13.8125 Test5 = 13.8125 Temp = 13.8125`C T1 28 T2 0 T3 16 Test1 = 14 Test2 = 13.75 Test3 = 13.75 Test4 = 13.9375 Test5 = 13.9375 Temp = 13.9375`C T1 28 T2 0 T3 13 Test1 = 14 Test2 = 13.9375 Test3 = 13.9375 Test4 = 14.125 Test5 = 14.125 Temp = 14.125`C T1 28 T2 0 T3 11 Test1 = 14 Test2 = 14.0625 Test3 = 14.0625 Test4 = 14.25 Test5 = 14.25 Temp = 14.25`C T1 28 T2 0 T3 9 Test1 = 14 Test2 = 14.1875 Test3 = 14.1875 Test4 = 14.375 Test5 = 14.375 Temp = 14.375`C T1 29 T2 0 T3 6 Test1 = 14.5 Test2 = 14.375 Test3 = 14.375 Test4 = 14.5625 Test5 = 14.5625 Temp = 14.5625`C T1 29 T2 0 T3 4 Test1 = 14.5 Test2 = 14.5 Test3 = 14.5 Test4 = 14.6875 Test5 = 14.6875 Temp = 14.6875`C T1 29 T2 0 T3 2 Test1 = 14.5 Test2 = 14.625 Test3 = 14.625 Test4 = 14.8125 Test5 = 14.8125 Temp = 14.8125`C T1 30 T2 0 T3 16 Test1 = 15 Test2 = 14.75 Test3 = 14.75 Test4 = 14.9375 Test5 = 14.9375 Temp = 14.9375`C T1 30 T2 0 T3 13 Test1 = 15 Test2 = 14.9375 Test3 = 14.9375 Test4 = 15.125 Test5 = 15.125 Temp = 15.125`C T1 30 T2 0 T3 12 Test1 = 15 Test2 = 15 Test3 = 15 Test4 = 15.1875 Test5 = 15.1875 Temp = 15.1875`C T1 30 T2 0 T3 10 Test1 = 15 Test2 = 15.125 Test3 = 15.125 Test4 = 15.3125 Test5 = 15.3125 Temp = 15.3125`C T1 31 T2 0 T3 8 Test1 = 15.5 Test2 = 15.25 Test3 = 15.25 Test4 = 15.4375 Test5 = 15.4375 Temp = 15.4375`C T1 31 T2 0 T3 6 Test1 = 15.5 Test2 = 15.375 Test3 = 15.375 Test4 = 15.5625 Test5 = 15.5625 Temp = 15.5625`C T1 31 T2 0 T3 3 Test1 = 15.5 Test2 = 15.5625 Test3 = 15.5625 Test4 = 15.75 Test5 = 15.75 Temp = 15.75`C T1 31 T2 0 T3 2 Test1 = 15.5 Test2 = 15.625 Test3 = 15.625 Test4 = 15.8125 Test5 = 15.8125 Temp = 15.8125`C T1 32 T2 0 T3 10 Test1 = 16 Test2 = 16.125 Test3 = 16.125 Test4 = 16.3125 Test5 = 16.3125 Temp = 16.3125`C T1 34 T2 0 T3 14 Test1 = 17 Test2 = 16.875 Test3 = 16.875 Test4 = 17.0625 Test5 = 17.0625 Temp = 17.0625`C T1 35 T2 0 T3 2 Test1 = 17.5 Test2 = 17.625 Test3 = 17.625 Test4 = 17.8125 Test5 = 17.8125 Temp = 17.8125`C T1 35 T2 0 T3 2 Test1 = 17.5 Test2 = 17.625 Test3 = 17.625 Test4 = 17.8125 Test5 = 17.8125 Temp = 17.8125`C T1 35 T2 0 T3 2 Test1 = 17.5 Test2 = 17.625 Test3 = 17.625 Test4 = 17.8125 Test5 = 17.8125 Temp = 17.8125`C T1 35 T2 0 T3 3 Test1 = 17.5 Test2 = 17.5625 Test3 = 17.5625 Test4 = 17.75 Test5 = 17.75 Temp = 17.75`C T1 35 T2 0 T3 2 Test1 = 17.5 Test2 = 17.625 Test3 = 17.625 Test4 = 17.8125 Test5 = 17.8125 Temp = 17.8125`C T1 35 T2 0 T3 1 Test1 = 17.5 Test2 = 17.6875 Test3 = 17.6875 Test4 = 17.875 Test5 = 17.875 Temp = 17.875`C T1 41 T2 0 T3 3 Test1 = 20.5 Test2 = 20.5625 Test3 = 20.5625 Test4 = 20.75 Test5 = 20.75 Temp = 20.75`C T1 41 T2 0 T3 2 Test1 = 20.5 Test2 = 20.625 Test3 = 20.625 Test4 = 20.8125 Test5 = 20.8125 Temp = 20.8125`C T1 40 T2 0 T3 12 Test1 = 20 Test2 = 20 Test3 = 20 Test4 = 20.1875 Test5 = 20.1875 Temp = 20.1875`C T1 40 T2 0 T3 15 Test1 = 20 Test2 = 19.8125 Test3 = 19.8125 Test4 = 20 Test5 = 20 Temp = 20`C T1 46 T2 0 T3 11 Test1 = 23 Test2 = 23.0625 Test3 = 23.0625 Test4 = 23.25 Test5 = 23.25 Temp = 23.25`C T1 49 T2 0 T3 1 Test1 = 24.5 Test2 = 24.6875 Test3 = 24.6875 Test4 = 24.875 Test5 = 24.875 Temp = 24.875`C T1 47 T2 0 T3 1 Test1 = 23.5 Test2 = 23.6875 Test3 = 23.6875 Test4 = 23.875 Test5 = 23.875 Temp = 23.875`C T1 46 T2 0 T3 13 Test1 = 23 Test2 = 22.9375 Test3 = 22.9375 Test4 = 23.125 Test5 = 23.125 Temp = 23.125`C /Peter63 |
| |
Thanks for the extra testing. It filled all the gaps in the T3 data which I now see goes from 16 to 1 with increasing temperature. And that makes quite a difference. The equation in the datasheet does not appear to be correct. The data you have given me should be enough to simulate a DS18S20 properly and find the correct equation. More to follow. Edit. This gives the most sensible results:- DS18S20t = Str2bin(int16,Chr$(T1)+Chr$(T2))\2 + (16 - T3)/16 -0.9375 'or Value = Str2bin(int16,Chr$(T1)+Chr$(T2))\2 + (16-T3)/16 -0.9375 And also appears to work below zero. Edited 2026-05-30 12:26 by phil99 |
| |
Posted: 01:44am 30 May 2026
Copy link to clipboard |
Peter63 Senior Member

|
|
|
photo of the DS18S20 marking used during test /Peter63 |
| |
The two programs with the updated equation. Function DS18S20(PinNbr As INTEGER) As FLOAT ' derived from DS18x20 test code by TassyJim Local INTEGER T1,T2,T3
OneWire RESET PinNbr ' reset before command OneWire WRITE PinNbr, 8, 2, &hCC, &h44 ' start conversion Pause 750 ' maximum conversion time OneWire RESET PinNbr ' reset before command OneWire WRITE PinNbr, 1, 2, &hCC, &hBE ' command read data OneWire READ PinNbr, 0, 7, T1,T2,T3,T3,T3,T3,T3 'get the data
DS18S20t = Str2bin(int16,Chr$(T1)+Chr$(T2))\2 + (16-T3)/16 -0.9375 'process the data End Function PinNbr = MM.Info(pinno GP7) Dim n = 0 Dim DStemp = DS18S20(PinNbr) 'purge old data and start new conversion
Do 'Main Loop t = timer Print n; DStemp = DS18S20(PinNbr) 'get Temp, if ready If DStemp <> 1000 Then Print Print "Temp =";DStemp;"`C" n = 0 EndIf Do : Loop until Timer - t > 49.9 Inc n,50 Loop
Function DS18S20(PinNbr As INTEGER) As FLOAT ' Adapted from DS18x20 test code by TassyJim Local INTEGER done, T1, T2, T3 DS18S20 = 1000 'standard error code OneWire READ PinNbr, 4, 1, done ' is conversion finished? If done = 0 Then Exit Function ' if not return to program 'Get the data OneWire RESET PinNbr ' reset before command OneWire WRITE PinNbr, 1, 2, &hCC, &hBE ' command read data OneWire READ PinNbr, 0, 7, T1,T2,T3,T3,T3,T3,T3 'get the data
Value = Str2bin(int16,Chr$(T1)+Chr$(T2))\2 + (16-T3)/16 -0.9375 'process the data DS18S20 = Cint(Value * 10) / 10 'round to 1/10ths
'Start conversion, ready for next read OneWire RESET PinNbr ' reset before command OneWire WRITE PinNbr, 8, 2, &hCC, &h44 ' start conversion End Function
End |
| |
|
The COUNT PER °C scratchpad is supposed be always 16 with the DS18S20 but Peter has a DS1820 according to the photo. Are you sure that COUNT PER °C is always 16 with the DS1820?
I don't have either chip to test with.
Jim |
| |
Posted: 03:34am 30 May 2026
Copy link to clipboard |
Peter63 Senior Member

|
|
|
A little test again then with cooling spray, seems to be working fine now. > run 0 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp =-36.7`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp =-36.5`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp =-35.3`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp =-35.2`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp =-35`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp =-35.6`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp =-34.2`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp =-34.9`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp =-34.7`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp =-34.5`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp =-33.4`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp =-33.3`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp =-33.3`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp =-33.3`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp =-33.3`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp =-33.3`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp =-33.2`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp =-33`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp =-33.8`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp =-32.4`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp =-32.5`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp =-30.4`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp =-29`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp =-27.3`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp =-25.4`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp =-24.8`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp =-22.3`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp =-21.8`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp =-19.4`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp =-17.9`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp =-12.1`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp =-5.1`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp = 0.3`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp = 5.2`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp = 9.4`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp = 12.7`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp = 15.3`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp = 16.9`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp = 18.5`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp = 20.5`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp = 21.6`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp = 21.4`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp = 21.9`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp = 23.2`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp = 24.4`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp = 24.7`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp = 24.4`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp = 24`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp = 24.6`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp = 25.9`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp = 25.9`C
|
| |
|
Jim, you are right, as you were writing that I was reading the Dallas DS1820 datasheet and COUNT PER °C varies according to an internal calibration table.
I will incorporate that and ask Peter63 to test again.
The saga continues...
Peter, those results do look more promising. Edited 2026-05-30 13:40 by phil99 |
| |
Posted: 03:38am 30 May 2026
Copy link to clipboard |
Peter63 Senior Member

|
|
|
I thought I had a DS18S20, according to my saved label, but now it doesn't seem to be so. Happy to test further... Edited 2026-05-30 14:01 by Peter63 |
| |
The last byte is COUNT_PER_C (CpC) TEMPERATURE = TEMP_READ – 0.25 + (COUNT_PER_C – COUNT_REMAIN) / COUNT_PER_C Function DS18S20(PinNbr As INTEGER) As FLOAT ' derived from DS18x20 test code by TassyJim Local INTEGER T1,T2,T3,CpC
OneWire RESET PinNbr ' reset before command OneWire WRITE PinNbr, 8, 2, &hCC, &h44 ' start conversion Pause 750 ' maximum conversion time OneWire RESET PinNbr ' reset before command OneWire WRITE PinNbr, 1, 2, &hCC, &hBE ' command read data OneWire READ PinNbr, 0, 8, T1,T2,T3,T3,T3,T3,T3,CpC 'get the data
DS18S20t = Str2bin(int16,Chr$(T1)+Chr$(T2))\2 -0.25 + (CpC-T3)/CpC 'process the data End Function PinNbr = MM.Info(pinno GP7) Dim n = 0 Dim DStemp = DS18S20(PinNbr) 'purge old data and start new conversion
Do 'Main Loop t = timer Print n; DStemp = DS18S20(PinNbr) 'get Temp, if ready If DStemp <> 1000 Then Print Print "Temp =";DStemp;"`C" n = 0 EndIf Do : Loop until Timer - t > 49.9 Inc n,50 Loop
Function DS18S20(PinNbr As INTEGER) As FLOAT ' Adapted from DS18x20 test code by TassyJim Local INTEGER done, T1, T2, T3, CpC DS18S20 = 1000 'standard error code OneWire READ PinNbr, 4, 1, done ' is conversion finished? If done = 0 Then Exit Function ' if not return to program 'Get the data OneWire RESET PinNbr ' reset before command OneWire WRITE PinNbr, 1, 2, &hCC, &hBE ' command read data OneWire READ PinNbr, 0, 8, T1,T2,T3,T3,T3,T3,T3,CpC 'get the data
Value = Str2bin(int16,Chr$(T1)+Chr$(T2))\2 -0.25 + (CpC-T3)/CpC 'process the data DS18S20 = Cint(Value * 10) / 10 'round to 1/10ths
'Start conversion, ready for next read OneWire RESET PinNbr ' reset before command OneWire WRITE PinNbr, 8, 2, &hCC, &h44 ' start conversion End Function End Edit. Corrected a few typos in code above. If you are already using it please copy it again. Edited 2026-05-30 14:13 by phil99 |
| |
Posted: 04:19am 30 May 2026
Copy link to clipboard |
Peter63 Senior Member

|
|
|
new test... > run 0 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp =-32.8`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp =-32.6`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp =-32.3`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp =-33.1`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp =-32.9`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp =-31.7`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp =-31.6`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp =-31.4`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp =-31.3`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp =-32.3`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp =-32.2`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp =-32.2`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp =-32.1`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp =-32.1`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp =-32`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp =-30.8`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp =-30.3`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp =-30.2`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp =-27.3`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp =-25.9`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp =-22.3`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp =-20.9`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp =-17.8`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp =-16.8`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp =-15.1`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp =-12.5`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp =-11.9`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp =-9.4`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp =-8.9`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp =-6.4`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp =-6.1`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp =-3.8`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp =-2.4`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp =-1.3`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp =-0.3`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp = 0.5`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp = 0.1`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp = 0.8`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp = 1.4`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp = 1.9`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp = 2.4`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp = 2.9`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp = 3.7`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp = 4.3`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp = 4.8`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp = 5.5`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp = 6.6`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp = 7.4`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp = 8.4`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp = 10.1`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp = 11.8`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp = 14.5`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp = 15.3`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp = 15.4`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp = 17.3`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp = 18.9`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp = 19.9`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp = 19.9`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp = 19.7`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp = 19.5`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp = 19.8`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp = 20.8`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp = 22`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp = 22.8`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp = 22.6`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp = 22.4`C 50 100 150 200 250 300 350 400 450 500 550 600 650 Temp = 22.1`C |
| |
|
Can you alter the program to also print out CpC for each temperature. IT will be interesting to see if it does remain at 16 over the full range. If it does change, you definitely do have DS1820, not DS18S20
Jim |
| |
This addition should do it. OneWire READ PinNbr, 0, 8, T1,T2,T3,T3,T3,T3,T3,CpC 'get the data Print "T1=";T1,"T2=";T2,"T3=";T3,"CpC=";CpC,, Value = Str2bin(int16,Chr$(T1)+Chr$(T2))\2 -0.25 + (CpC-T3)/CpC 'process the data And note, there were typos in my last post that have been corrected. Edited 2026-05-30 14:36 by phil99 |
| |
Posted: 04:37am 30 May 2026
Copy link to clipboard |
Peter63 Senior Member

|
|
|
> run CpC = 16 0 50 100 150 200 250 300 350 400 450 500 550 600 650 CpC = 16 Temp =-25.3`C 50 100 150 200 250 300 350 400 450 500 550 600 650 CpC = 16 Temp =-25.4`C 50 100 150 200 250 300 350 400 450 500 550 600 650 CpC = 16 Temp =-25.4`C 50 100 150 200 250 300 350 400 450 500 550 600 650 CpC = 16 Temp =-26.3`C 50 100 150 200 250 300 350 400 450 500 550 600 650 CpC = 16 Temp =-26.1`C 50 100 150 200 250 300 350 400 450 500 550 600 650 CpC = 16 Temp =-25.8`C 50 100 150 200 250 300 350 400 450 500 550 600 650 CpC = 16 Temp =-24.4`C 50 100 150 200 250 300 350 400 450 500 550 600 650 CpC = 16 Temp =-23.4`C 50 100 150 200 250 300 350 400 450 500 550 600 650 CpC = 16 Temp =-21.3`C 50 100 150 200 250 300 350 400 450 500 550 600 650 CpC = 16 Temp =-19.3`C 50 100 150 200 250 300 350 400 450 500 550 600 650 CpC = 16 Temp =-14.1`C 50 100 150 200 250 300 350 400 450 500 550 600 650 CpC = 16 Temp =-6.4`C 50 100 150 200 250 300 350 400 450 500 550 600 650 CpC = 16 Temp =-2.9`C 50 100 150 200 250 300 350 400 450 500 550 600 650 CpC = 16 Temp = 1.3`C 50 100 150 200 250 300 350 400 450 500 550 600 650 CpC = 16 Temp = 6.1`C 50 100 150 200 250 300 350 400 450 500 550 600 650 CpC = 16 Temp = 11.8`C 50 100 150 200 250 300 350 400 450 500 550 600 650 CpC = 16 Temp = 15.2`C 50 100 150 200 250 300 350 400 450 500 550 600 650 CpC = 16 Temp = 18.3`C 50 100 150 200 250 300 350 400 450 500 550 600 650 CpC = 16 Temp = 19.6`C 50 100 150 200 250 300 350 400 450 500 550 600 650 CpC = 16 Temp = 20.3`C |
| |
Posted: 04:45am 30 May 2026
Copy link to clipboard |
Peter63 Senior Member

|
|
|
new test T-value... and CpC 50 100 150 200 250 300 350 400 450 500 550 600 650 T1= 204 T2= 255 T3= 16 CpC= 16 Temp =-26.3`C 50 100 150 200 250 300 350 400 450 500 550 600 650 T1= 204 T2= 255 T3= 16 CpC= 16 Temp =-26.3`C 50 100 150 200 250 300 350 400 450 500 550 600 650 T1= 204 T2= 255 T3= 11 CpC= 16 Temp =-25.9`C 50 100 150 200 250 300 350 400 450 500 550 600 650 T1= 206 T2= 255 T3= 12 CpC= 16 Temp =-25`C 50 100 150 200 250 300 350 400 450 500 550 600 650 T1= 210 T2= 255 T3= 14 CpC= 16 Temp =-23.1`C 50 100 150 200 250 300 350 400 450 500 550 600 650 T1= 214 T2= 255 T3= 9 CpC= 16 Temp =-20.8`C 50 100 150 200 250 300 350 400 450 500 550 600 650 T1= 219 T2= 255 T3= 8 CpC= 16 Temp =-17.8`C 50 100 150 200 250 300 350 400 450 500 550 600 650 T1= 223 T2= 255 T3= 8 CpC= 16 Temp =-15.8`C 50 100 150 200 250 300 350 400 450 500 550 600 650 T1= 226 T2= 255 T3= 10 CpC= 16 Temp =-14.9`C 50 100 150 200 250 300 350 400 450 500 550 600 650 T1= 230 T2= 255 T3= 13 CpC= 16 Temp =-13.1`C 50 100 150 200 250 300 350 400 450 500 550 600 650 T1= 237 T2= 255 T3= 5 CpC= 16 Temp =-8.6`C 50 100 150 200 250 300 350 400 450 500 550 600 650 T1= 246 T2= 255 T3= 10 CpC= 16 Temp =-4.9`C 50 100 150 200 250 300 350 400 450 500 550 600 650 T1= 250 T2= 255 T3= 10 CpC= 16 Temp =-2.9`C 50 100 150 200 250 300 350 400 450 500 550 600 650 T1= 253 T2= 255 T3= 7 CpC= 16 Temp =-0.7`C 50 100 150 200 250 300 350 400 450 500 550 600 650 T1= 1 T2= 0 T3= 6 CpC= 16 Temp = 0.4`C 50 100 150 200 250 300 350 400 450 500 550 600 650 T1= 4 T2= 0 T3= 16 CpC= 16 Temp = 1.8`C 50 100 150 200 250 300 350 400 450 500 550 600 650 T1= 7 T2= 0 T3= 8 CpC= 16 Temp = 3.3`C 50 100 150 200 250 300 350 400 450 500 550 600 650 T1= 13 T2= 0 T3= 4 CpC= 16 Temp = 6.5`C 50 100 150 200 250 300 350 400 450 500 550 600 650 T1= 19 T2= 0 T3= 3 CpC= 16 Temp = 9.6`C 50 100 150 200 250 300 350 400 450 500 550 600 650 T1= 26 T2= 0 T3= 16 CpC= 16 Temp = 12.8`C 50 100 150 200 250 300 350 400 450 500 550 600 650 T1= 29 T2= 0 T3= 8 CpC= 16 Temp = 14.3`C 50 100 150 200 250 300 350 400 450 500 550 600 650 T1= 35 T2= 0 T3= 8 CpC= 16 Temp = 17.3`C 50 100 150 200 250 300 350 400 450 500 550 600 650 T1= 37 T2= 0 T3= 2 CpC= 16 Temp = 18.6`C 50 100 150 200 250 300 350 400 450 500 550 600 650 T1= 40 T2= 0 T3= 9 CpC= 16 Temp = 20.2`C 50 100 150 200 250 300 350 400 450 500 550 600 650 T1= 42 T2= 0 T3= 12 CpC= 16 Temp = 21`C 50 100 150 200 250 300 350 400 450 500 550 600 650 T1= 42 T2= 0 T3= 11 CpC= 16 Temp = 21.1`C 50 100 150 200 250 300 350 400 450 500 550 600 650 T1= 42 T2= 0 T3= 13 CpC= 16 Temp = 20.9`C 50 100 150 200 250 300 350 400 450 500 550 600 650 T1= 42 T2= 0 T3= 16 CpC= 16 Temp = 20.8`C |
| |
|
CpC staying on 16 is what I would expect for a DS18S20, not DS1820. The rate of change of temp. is so high it is hard to tell what the decimal part is doing. To check that ideally we need a very slow change over about 2°C, while displaying T3 to get as much fine detail as possible. |
| |
Posted: 04:56am 30 May 2026
Copy link to clipboard |
Peter63 Senior Member

|
|
|
Could it be DS18S20 that I have, but maybe they are mislabeled? |
| |
Posted: 04:59am 30 May 2026
Copy link to clipboard |
Peter63 Senior Member

|
|
|
new test... Temp = 23.4`C 50 100 150 200 250 300 350 400 450 500 550 600 650 T1= 47 T2= 0 T3= 6 CpC= 16 Temp = 23.4`C 50 100 150 200 250 300 350 400 450 500 550 600 650 T1= 47 T2= 0 T3= 5 CpC= 16 Temp = 23.4`C 50 100 150 200 250 300 350 400 450 500 550 600 650 T1= 47 T2= 0 T3= 5 CpC= 16 Temp = 23.4`C 50 100 150 200 250 300 350 400 450 500 550 600 650 T1= 47 T2= 0 T3= 4 CpC= 16 Temp = 23.5`C 50 100 150 200 250 300 350 400 450 500 550 600 650 T1= 47 T2= 0 T3= 2 CpC= 16 Temp = 23.6`C 50 100 150 200 250 300 350 400 450 500 550 600 650 T1= 47 T2= 0 T3= 2 CpC= 16 Temp = 23.6`C 50 100 150 200 250 300 350 400 450 500 550 600 650 T1= 47 T2= 0 T3= 1 CpC= 16 Temp = 23.7`C 50 100 150 200 250 300 350 400 450 500 550 600 650 T1= 48 T2= 0 T3= 16 CpC= 16 Temp = 23.8`C 50 100 150 200 250 300 350 400 450 500 550 600 650 T1= 48 T2= 0 T3= 16 CpC= 16 Temp = 23.8`C 50 100 150 200 250 300 350 400 450 500 550 600 650 T1= 48 T2= 0 T3= 16 CpC= 16 Temp = 23.8`C 50 100 150 200 250 300 350 400 450 500 550 600 650 T1= 47 T2= 0 T3= 1 CpC= 16 Temp = 23.7`C 50 100 150 200 250 300 350 400 450 500 550 600 650 T1= 48 T2= 0 T3= 16 CpC= 16 Temp = 23.8`C 50 100 150 200 250 300 350 400 450 500 550 600 650 T1= 48 T2= 0 T3= 16 CpC= 16 Temp = 23.8`C 50 100 150 200 250 300 350 400 450 500 550 600 650 T1= 48 T2= 0 T3= 16 CpC= 16 Temp = 23.8`C 50 100 150 200 250 300 350 400 450 500 550 600 650 T1= 48 T2= 0 T3= 15 CpC= 16 Temp = 23.8`C 50 100 150 200 250 300 350 400 450 500 550 600 650 T1= 48 T2= 0 T3= 15 CpC= 16 Temp = 23.8`C 50 100 150 200 250 300 350 400 450 500 550 600 650 T1= 48 T2= 0 T3= 15 CpC= 16 Temp = 23.8`C 50 100 150 200 250 300 350 400 450 500 550 600 650 T1= 48 T2= 0 T3= 14 CpC= 16 Temp = 23.9`C 50 100 150 200 250 300 350 400 450 500 550 600 650 T1= 48 T2= 0 T3= 13 CpC= 16 Temp = 23.9`C 50 100 150 200 250 300 350 400 450 500 550 600 650 T1= 48 T2= 0 T3= 11 CpC= 16 Temp = 24.1`C 50 100 150 200 250 300 350 400 450 500 550 600 650 T1= 48 T2= 0 T3= 9 CpC= 16 Temp = 24.2`C 50 100 150 200 250 300 350 400 450 500 550 600 650 T1= 49 T2= 0 T3= 7 CpC= 16 Temp = 24.3`C 50 100 150 200 250 300 350 400 450 500 550 600 650 T1= 49 T2= 0 T3= 4 CpC= 16 Temp = 24.5`C 50 100 150 200 250 300 350 400 450 500 550 600 650 T1= 49 T2= 0 T3= 3 CpC= 16 Temp = 24.6`C 50 100 150 200 250 300 350 400 450 500 550 600 650 T1= 49 T2= 0 T3= 1 CpC= 16 Temp = 24.7`C 50 100 150 200 250 300 350 400 450 500 550 600 650 T1= 50 T2= 0 T3= 16 CpC= 16 Temp = 24.8`C 50 100 150 200 250 300 350 400 450 500 550 600 650 T1= 50 T2= 0 T3= 15 CpC= 16 Temp = 24.8`C 50 100 150 200 250 300 350 400 450 500 550 600 650 T1= 50 T2= 0 T3= 13 CpC= 16 Temp = 24.9`C 50 100 150 200 250 300 350 400 450 500 550 600 650 T1= 50 T2= 0 T3= 13 CpC= 16 Temp = 24.9`C 50 100 150 200 250 300 350 400 450 500 550 600 650 T1= 50 T2= 0 T3= 12 CpC= 16 Temp = 25`C 50 100 150 200 250 300 350 400 450 500 550 600 650 T1= 50 T2= 0 T3= 11 CpC= 16 Temp = 25.1`C 50 100 150 200 250 300 350 400 450 500 550 600 650 T1= 50 T2= 0 T3= 10 CpC= 16 Temp = 25.1`C 50 100 150 200 250 300 350 400 450 500 550 600 650 T1= 50 T2= 0 T3= 9 CpC= 16 Temp = 25.2`C 50 100 150 200 250 300 350 400 450 500 550 600 650 T1= 51 T2= 0 T3= 8 CpC= 16 Temp = 25.3`C 50 100 150 200 250 300 350 400 450 500 550 600 650 T1= 51 T2= 0 T3= 6 CpC= 16 Temp = 25.4`C 50 100 150 200 250 300 350 400 450 500 550 600 650 T1= 51 T2= 0 T3= 5 CpC= 16 Temp = 25.4`C 50 100 150 200 250 300 350 400 450 500 550 600 650 T1= 51 T2= 0 T3= 4 CpC= 16 Temp = 25.5`C 50 100 150 200 250 300 350 400 450 500 550 600 650 T1= 51 T2= 0 T3= 2 CpC= 16 Temp = 25.6`C 50 100 150 200 250 300 350 400 450 500 550 600 650 T1= 51 T2= 0 T3= 1 CpC= 16 Temp = 25.7`C 50 100 150 200 250 300 350 400 450 500 550 600 650 T1= 52 T2= 0 T3= 16 CpC= 16 Temp = 25.8`C 50 100 150 200 250 300 350 400 450 500 550 600 650 T1= 52 T2= 0 T3= 15 CpC= 16 Temp = 25.8`C 50 100 150 200 250 300 350 400 450 500 550 600 650 T1= 52 T2= 0 T3= 15 CpC= 16 Temp = 25.8`C 50 100 150 200 250 300 350 400 450 500 550 600 650 T1= 52 T2= 0 T3= 14 CpC= 16 Temp = 25.9`C 50 100 150 200 250 300 350 400 450 500 550 600 650 T1= 52 T2= 0 T3= 13 CpC= 16 Temp = 25.9`C 50 100 150 200 250 300 350 400 450 500 550 600 650 T1= 52 T2= 0 T3= 13 CpC= 16 Temp = 25.9`C 50 100 150 200 250 300 350 400 450 500 550 600 650 T1= 52 T2= 0 T3= 13 CpC= 16 Temp = 25.9`C 50 100 150 200 250 300 350 400 450 500 550 600 650 T1= 52 T2= 0 T3= 13 CpC= 16 Temp = 25.9`C 50 100 150 200 250 300 350 400 450 500 550 600 650 T1= 52 T2= 0 T3= 13 CpC= 16 Temp = 25.9`C 50 100 150 200 250 300 350 400 450 500 550 600 650 T1= 52 T2= 0 T3= 13 CpC= 16 Temp = 25.9`C 50 100 150 200 250 300 350 400 450 500 550 600 650 T1= 52 T2= 0 T3= 13 CpC= 16 Temp = 25.9`C 50 100 150 200 250 300 350 400 450 500 550 600 650 T1= 52 T2= 0 T3= 13 CpC= 16 Temp = 25.9`C 50 100 150 200 250 300 350 400 450 500 550 600 650 T1= 52 T2= 0 T3= 13 CpC= 16 Temp = 25.9`C 50 100 150 200 250 300 350 400 450 500 550 600 650 T1= 52 T2= 0 T3= 14 CpC= 16 Temp = 25.9`C 50 100 150 200 250 300 350 400 450 500 550 600 650 T1= 52 T2= 0 T3= 15 CpC= 16 Temp = 25.8`C 50 100 150 200 250 300 350 400 450 500 550 600 650 T1= 52 T2= 0 T3= 16 CpC= 16 |
| |
Thanks to Googles AI,I found another datasheet that suggests that the DS18S20 uses the same die as the DS1820 so has the same markings "DS1820" That's bloody helpful! I never trust the BS that Googles AI spits out but it might be right this time. Jim |
| |
Posted: 05:19am 30 May 2026
Copy link to clipboard |
Peter63 Senior Member

|
|
|
Feels like it would be so Dallas Maxim, the variant is also TO-92 which I have.
/Peter63 |
| |
|
Ok your data looks good. Ideally when T1 is an even number the Temp. should be above xx.7 and below xy.3 and when T1 is an odd number the Temp. should be between xx.3 and xx.7, and that appears to be what you are getting.
So I think you now have a working Function that can cater for both DS18S20 and DS1820. Edited 2026-05-30 15:30 by phil99 |
| |
Page 3 of 4 |