Arduino NTC temperature sensor measuring

This project shows how to measure temperature by Arduino and NTC Thermistor sensor


Hardware need:
1. Arduino Pro Mini https://amzn.to/3adqve0
2. Voltage regulator 5VDC https://amzn.to/3chLQ7B
3. NTC Thermistor sensor https://amzn.to/398xW5Q










Step 1. Understand NTC Thermistor sensor
As in Wikipedia, NTC Thermistor sensor will change resistance reversly acording to temperature (temperature increase, resistance decrease and vice versa)
In this project, we take a NTC sensor from an old air-conditioner.
How to find characteristic of the sensor? Easy, just put it in ice-water -> record resistance, our case is 10kOhm. Next, put it in boiling water -> record resistance, our case is 1kOhm

Step 2. Make a circuit with Arduino

NTC sensor is R1 in the circuit, voltage will feed to Analog input A0 -> by measuring voltage at A0, we can calculate temperature at NTC R1

Voltage reference AREF (Vref) is connected to VCC -> this will help the circuit measuring more stable (measuring result not depend on Vref, but only R1 NTC sensor)
Let's see detail, votage at A0 is:
Voltage mesured by Arduino code:

Because Vref is Vcc, so ADCreading is depended only on R1 NTC sensor

Step 3. Code works for Arduino

unsigned int ADCValue;
double temp;

void setup() {
  analogReference(EXTERNAL);
  Serial.begin(9600);
}

void loop() {
  ADCValue = analogRead(0);
  temp = 0.00007*ADCValue*ADCValue-0.1849*ADCValue+103.02;
  
  //Serial.print(ADCValue); //un-comment for calibration
  //Serial.print("---"); //un-comment for calibration
  Serial.print(temp);
  Serial.println();
  delay(500);
}


Step 4. Calibration (scale temperature)
Resistance of NTC sensor is 2-order curve with temperature, so we need to know at least 3 points (resistance, temperature) for calibration

To get those 3 points for this project, put NTC sensor to ice-water, boiling water, and to normal environment
Record ADCValue via COM screen along with temperature value record by another Thermo-meter.
I use thermocouple SATO PC-9255

Input recorded value to excel, make 2-order curve

Then, input value to Arduino code -> final temperature is shown exactly as Thermo-meter
void loop() {
  ADCValue = analogRead(0);
  temp = 0.00007*ADCValue*ADCValue-0.1849*ADCValue+103.02;

Step 5. Communicate with Visual Studio C++
Following video will show how to make Visual Studio program to show value from Arduino


6 comments:

  1. I really like reading your blog and waiting for your next update. I appreciate all the work you put into this site. Thanks for sharing this post.

    Circular Chart Recorder

    ReplyDelete
  2. Thanks for the blog loaded with so many information. Stopping by your blog helped me to get what I was looking for. climate chambers

    ReplyDelete
  3. These days, should you have written many different styles of essay assignments, you understand that you've a specific essay writing process you'll want to follow. this link

    ReplyDelete
  4. Just one finger is expected to introduce them. CAREL Malaysia

    ReplyDelete
  5. Weather information is a passionate hobby for some, a necessity for others, and simply a curiosity for still others. Home wireless weather stations are great for studying weather no matter which group you fall into. Barrackpore

    ReplyDelete