Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

IR Thermopile Temperature Sensor

Status
Not open for further replies.
:) alright. I will hook it up now and post result. Thanks FvM.

---------- Post added at 18:10 ---------- Previous post was at 16:35 ----------

hi FvM
I got them hook up and using this code to embeded to my arduino
unsigned long now;
unsigned long lastSample;
unsigned int sampleSize;
unsigned int highCount;
unsigned long lastOutput;
float temperature;
float hcf, ssf;

int sensorPin = 2;

void setup()
{
Serial.begin(9600);
Serial.println("HELLO!");
pinMode(sensorPin, INPUT);
digitalWrite(sensorPin, LOW);
lastSample = 0;
sampleSize = 0;
highCount = 0;
lastOutput = 0;
temperature = 0;
}

void loop()
{
now = micros();
if (now - lastOutput > 500000) {
hcf = highCount;
ssf = sampleSize;
temperature = ((hcf / ssf) -0.32)/0.0047;// convert step to temperature
Serial.print(highCount);
Serial.print(" / ");
Serial.print(sampleSize);
Serial.print(" temp: ");
Serial.println(temperature);
lastOutput = now;
sampleSize = 0;
highCount = 0;
}
if (now - lastSample > 100) {
sampleSize++;
highCount = highCount + digitalRead(sensorPin);
lastSample = now;
} else {
delayMicroseconds(10);
}
}

the temperature come out, but keep jump insanely like other diagrams, it even reduce voltage when I move my hand over. I use the fesnel lens and tube to lead IR rays but doesn't help.
temperature I got from thermistor is 1.817 V and doesn't change no matter I do with hot or cold items.
the output of thermopile .7 some thing V. it does change to .9 when I move my hand over.
I still dont know what I do wrong. Do you have any idea?
 

the temperature come out, but keep jump insanely like other diagrams, it even reduce voltage when I move my hand over. I use the fesnel lens and tube to lead IR rays but doesn't help.
I can't imagine the waveforms from your description.
the output of thermopile .7 some thing V. it does change to .9 when I move my hand over.
Measured at which circuit node?
 

hi FvM,
I finally got the value come out with thermopile is .220 something increase to .6 something if I move my hand over and to 0 V if put like a ice temperature over it.
thermistor I got stable out .2030 it does increase or decrease a bit like .2120 when hand over.
I used the same second circuit which based on your help and value but with different values.

Right now Im stuck with this. How could I put this to ADC MCP3002 http://www.datasheetcatalog.org/datasheet/microchip/20044b.pdf ? I try to put both analog outputs from thermopile and thermistor to channel 0 and channel 1. and try to convert the tempertuare with the same code that I put above. However the value come out way off. Could you give me some comments. I really appreciate it. Thanks!
 

If you want to measure negative temperatures (related to the thermopile), you'll need to increase the amplifier input bias voltage.

I don't understand, how you want to interface the ADC. You have been previously talking about an ATmega provessor and now an arduino. But I don't see code to read in data through SPI interface in the listing.
 
If you want to measure negative temperatures (related to the thermopile), you'll need to increase the amplifier input bias voltage.
sorry for being such a slow one, how would u suggest me do so?

I don't understand, how you want to interface the ADC. You have been previously talking about an ATmega provessor and now an arduino. But I don't see code to read in data through SPI interface in the listing.

basically the ATmega is belong to the arduino(my arduino using Atmega328), I'm just using it for easy connect for now. I'd planned to use atmega cause it had ADC function in it.

However I use the MCP3002 ADC first to convert to digital instead of converting with the ATmega. Someone told me long ago that if I connect both thermopile and thermistor(compensated voltage) in to channel 0 and channel 1 of the ADC, it would combine them and convert to digital signal. And that signal would convert to temperature using duty cycle equation. isn't it a correct way.
 

how would u suggest me do so?
I mean, that the 10k/470 ohm voltage divider should be changed to increase the voltage. Only if you want to measure negative temperature differences
basically the ATmega is belong to the arduino(my arduino using Atmega328)
I see. I didn't know the arduino design details
However I use the MCP3002 ADC first to convert to digital instead of converting with the ATmega. Someone told me long ago that if I connect both thermopile and thermistor(compensated voltage) in to channel 0 and channel 1 of the ADC, it would combine them and convert to digital signal. And that signal would convert to temperature using duty cycle equation. isn't it a correct way.
MCP3002 has a SPI interface and should be interfaced using the dedicated ATmega SPI pins and respective library functions. I don't know what you mean with duty cycle equation in this regard.

I guess, someone suggested to use the MCP3002 in differential mode. But this would only work, if the thermistor and thermopile signal would be scaled to the same temperature sensitivity before. The more general way is to read in both measurements separately and combine them arithmetically. This gives also room to consider the non-linear thermistor characteristic.
 

Hello kuro_ng,
I'm new to this forum
I would like to ask you about:
The output rage (for example if the temperature vary from -10 to 200° what will be the output in Volts)
Is this circuit giving a linear response
What is the relationship between thermistance and resistance
Thanks for your help
zfauto@hotmail.com
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top