Where's the error in the following circuit/code ?
Some time ago i got various sensors . One of those was the kty 10-6 (3 pieces). At the beginning i could not find any datasheet or examples about this temperature sensor. So i got an LM35 which was very simple to setup as it is linear. Now after various months i finally found the proper datasheet and the Mathematical equation to get the proper resistor values.
KTY 10-6 (this is the datasheet link)
Circuit
I found out that it is similar to the kty81-210
(Vcc 5+)--+-->2.7k--+-->kty81-110-->(GND)
| |
+->100nF--+-----> ADC0 (Analog Port 0)
As i have no 2.7k Ω resistor i used a 2200 ohm resistor.
the capacitor is 100nf i think: IJ63 is on top of the enclosure.correct?
simulate this circuit – Schematic created using CircuitLab
Code
As this thermistor is not linear and i always wanted to use the proper mathematical formula to calculate the temperature, this is the best solution. Based on what i read in the kty10-6 datasheet i changed some values like the resistor and the beta(a) value. the alpha(b) .00788 seems to be the same in both sensors.
float resistor = 2200; // changed
float temp = analogRead(A5);
float ukty = 5*temp/1023.0;
float a = 0.00001937*1000; // changed
float b = 0.00788*1000;
float c = 1000-resistor*ukty/(5-ukty);
float delta = b * b - 4 * a * c;
float delta1 = sqrt (delta);
float x2 =(-b + delta1)/(2 * a);
float temp1 = x2 + 25 ;
Is the calculation correct?
I ask beacuse even if its really hot these days .. i don't think there are 132-135°Celsius.The formula is for celsius.
Even if i don't use this formula but use other simpler calculations (linear) i always get over 130-140°Celsius
Notes
If i touch the sensor the reading increases… as expected.
I tested on all analog pins.
I use the arduino micro.
I use it with a i2cLCD.
It's usb powered.
Nothing else is connected.
If i measure the resistor on the proto board when everything is turned off i read it as 1200ohm… the cap?
Why do i get 120 to 140 as a temperature value?
Optional
I just closed a post on electronics stack wich describes how to increase the thermistors resolution with resistors.
found it
If someone knows how to change my circuit to read temperatures from -10/-20 to +40/+50 i would be very happy. this would duplicate the resolution. i think in my zone the temperatures will never go lower than -20 or higher than +50 ° Celsius.
I buyed 3 of those, i know they are cheap. I know about the nice DS##### Temp sensor which is perfect for the microcontrollers. But i want to get this one to work also.
Best Answer
We know that analog readings will vary between 0 (=0V) and 1023 (5V).
First step is to convert the reading of the analog value (of voltage) into an actual resistance value.
Suggested new program (haven't tested this so comments/corrections welcome)