
This is an NXP KTY81/110 PTC thermistor connected to a 3-meter cable, 2 × 0.5 mm². It changes resistance positively as the temperature increases. It's a nice, inexpensive solution when you need to detect fairly low or high temperatures and don't need something super precise. It operates from -67 to +302 °F (-55 to +150 °C). Run this from your microcontroller system to check remote temperatures where your main system can't handle the temperatures, or where there simply isn't room for your whole system in the test area (or access to the system would be problematic). If the area to be tested is closer or farther away than three meters, you can get a 1-meter or a 5-meter version. When you connect this thermistor in series with a 3300Ω resistor to +3.3V DC, you can measure temperature on a microcontroller's analog input pin. The following values have been read: Temp. (°C) | Resistance (Ω) | Measured Voltage | -55 | 490 | 0.42665 | -50 | 515 | 0.44548 | -40 | 567 | 0.48386 | -30 | 624 | 0.52477 | -20 | 684 | 0.56657 | -10 | 747 | 0.60912 | 0 | 815 | 0.65358 | +10 | 886 | 0.69847 | +20 | 961 | 0.74426 | +25 | 1000 | 0.76744 | +30 | 1040 | 0.79078 | +40 | 1122 | 0.83731 | +50 | 1209 | 0.88483 | +60 | 1299 | 0.93209 | +70 | 1392 | 0.97903 | +80 | 1490 | 1.02651 | +90 | 1591 | 1.07346 | +100 | 1696 | 1.12026 | +110 | 1805 | 1.16680 | +120 | 1915 | 1.21179 | +125 | 1970 | 1.23359 | +130 | 2023 | 1.25416 | +140 | 2124 | 1.29226 | +150 | 2211 | 1.32395 | The following is MMBASIC demo code that runs on a DuinoMite board with the sensor connected to Pin 1 and with a 3300Ω resistor in series. It displays the average of 1000 readings (to four decimal places), then repeats. 5 OPTION BASE 0 10 DATA -55,0.42665,-50,0.44548,-40,0.48386,-30,0.52477,-20,0.56657,-10,0.60912,0,0.65358,+10,0.69847 20 DATA +20,0.74426,+25,0.76744,+30,0.79078,+40,0.83731,+50,0.88483,+60,0.93209,+70,0.97903,+80,1.02651 30 DATA +90,1.07346,+100,1.12026,+110,1.16680,+120,1.21179,+125,1.23359,+130,1.25416,+140,1.29226,+150,1.32395 40 DIM T(23),V(23) 50 FOR I = 0 TO 23: READ T(I): READ V(I): NEXT I 60 SETPIN 1,1 70 NRD = 1000 'number of times to read 100 'read temperature 110 VOL = 0 120 FOR I = 1 TO NRD: VOL = VOL + PIN(1): NEXT I: VOL = VOL / NRD 130 IF VOL < V(0) OR VOL > V(23) THEN 180 140 I = 0 150 DO 160 IF VOL > V(I) THEN I = I + 1 ELSE GOTO 200 170 UNTIL (I=23) 180 PRINT "ALARM – TEMPERATURE OUTSIDE -55+150C" 200 TEMP = T(I)-(V(I)-VOL)*(T(I)-T(I-1))/(V(I)-V(I-1)) 210 PRINT "TEMPERATURE IS:"; TEMP 220 GOTO 100 See the NXP KTY81 Page to download a datasheet and additional documentation.
|