I would like to make a temperature sensor with lcd,unfortunatelly i bought a sensor but it doesnt have a datasheet only the range -40 +130c
Its an ntc temp sensor, at 25c ~2500ohm.
I made a voltage divider circuit to read ohms in analog input(read voltages and calculate resistance)
Other problem is that the sensor is not linear i can measure the resistance at the range of celsius ups.
I would like to make it work 0-100celsius.
My plan is that i make a map.
Problem is that i dont understand how to make .
Any1 could help me with this problem?
The most straight forward approach would be to create an array of 1024 elements since that is the resolution of an arduino A2D and then fill it in with the celsius value for the given voltage. With that, you read the analog pin, look up the value in the array and get the corresponding temperature.
You could also model the relationship with some sort of equation and avoid the large array, but that might be more work depending on how linear/non-linear it is and how much accuracy you desire.
You need to measure the resistance value of your sensor at 3 temperatures, and that will allow you to determine the constants needed. Here is one example of a calculator for the constants.
The sensor is definetly non linear sonetimes 50ohm/celsius sometimes 20 assoon as possible i will check the stwinhart formula!
But if that formula is not good for me can you guys help me how can i make an array or some kind of temp/map
Map?
I think after studying the links,i made the circuit and the code. And its seems to work!
As soon as possible i will make measurements for accurate steinhart readings and equations!
Thanks Guys!
One more question,this average thing doesnt work for me...
can some1 explain how to make an average to make readings more precise?
Thanks!
I made a temp test in water heating with candle 1 cup of water with a temp meter in water.
I got my readings from 23 to 50 celsius my sensor shows 1c difference with temp meter
But above 50C it goes up like 1.4 1,6 celsius
How can i smooth this values?
i found 1 datasheet 45celsius shows 1k ohm i got 1032ohm i think this 32 ohm is the problem,how can i make it more precise?
You are using the simpler Steinhart-Hart formula, with only one coefficient. That won't be as accurate as using the two coefficient formula.
You need to make the reference NTC resistance measurements as accurately as you can, over the entire range that you expect to measure the temperature. You also need to accurately measure the resistance used in the voltage divider with the NTC sensor. Finally, you need to measure the reference temperatures accurately. Consumer grade thermometers are typically accurate to +/- 1 C or worse.
When you are all done, you should not expect accuracy better than about +/- 1 C over the range.
And how can i add one more steinhart equations?
And an other thing i hoked this thing up with a 16,2 lcd
It works but i have got a little bug i would like to print temp: 28 °C
but i cant figure it out my lcd now prints temp: 28,51 °C
how can i remove the ,51? so just shows 27 23 31 etc
blh64:
The most straight forward approach would be to create an array of 1024 elements since that is the resolution of an arduino A2D and then fill it in with the celsius value for the given voltage. With that, you read the analog pin, look up the value in the array and get the corresponding temperature.
You could also model the relationship with some sort of equation and avoid the large array, but that might be more work depending on how linear/non-linear it is and how much accuracy you desire.
Modelling the relationship is probably better than having an array of 1024 int variables on an Uno OP did not mention the model though.
Thank you guys!
Now i only have 1 little bug this is a temp/pressure sensor
Boost :0,00 Bar
Temp 0 °C
sometimes my boost readings goes 0,000 so an other digit what can cause this?