Go Down

Topic: DAC's output voltage managment on Arduino Due (Read 2644 times) previous topic - next topic

David_ZI

experiment No1, I connected the thermopile V+ and V- to Agilent RMS multimeter respectively. The Resistors(aka heaters) of the sensor connected to Due digital Pins. When giving small amounts of voltage to    heaters the multimeters measured feedback from thermopile. I measured several 0,01 -1,3 mvolts depending on the heater voltage.

experiment No2. I connected the Thermopile V+ to a Due analog pin and V-to Due GND. Using analog Read in function i tried to read the same reading as multimeter did. Guess what? while giving same amount of voltage to heaters the Thermopile feedback was still 0.0000, till the point where i have increased the heaters voltage with some 2%. Then I saw that data in serial, but it was too unstable, like 5.000 , then it gets 0.0000, then again , 3.000, unstable readings. Anyway, I decided to convert those ranalog readings to milivolts, to compare them with multimeter readings, so I did the following:

Tp(V)= analog reading * (3.3/4095); to get Tp in Volts??? but the reading does not coinside with multimeter value, its to low. Am i doing something wrong here?

at the moment i have ambient temperature, c.a.25°C, but for future its gonna be something -30 up to +300°C range


programm is not Ready...

weird_dave

It looks like Maxim will allow free samples of the part you suggested ;)
I'm not really surprised the Due failed to give a good result, you're probably just reading noise, a reading of 5 equates to 4mV, which is higher than you got with the meter, I wouldn't expect that to be the case unless it was noise.
What were the figures you got using the Tp(V) maths?

I'd probably go for the Maxim part at this point, it looks like you can set the device to 'custom' and read the raw data out which you can then convert to temperature.

David_ZI

#17
Nov 16, 2017, 10:00 am Last Edit: Nov 16, 2017, 10:10 am by David_ZI
Hi wierd_dave

so I've attached the Tp(V) maths figures as reqeusted. Also one figure is the actual raw data from (adc). One can see the noise level. The Graph represents the both measurements on same scale (Volts), the Agilent multimeter, and the Due SAM MCU. I have also atached the PWM voltage curve measured directly on pin, just to have an idea how much analogWrite() argument represents in voltage. The data calculation took a while coz I did a lot of calculations ot make sure the data is resonable. By the way, i used the analogReadresolution(12)-(16) to increase the default-10 :o  , but it looks like the Due did not change the resolution, even tho i added this in my code, it kept reading from 0-1023. Any ideas on that=? :smiley-confuse:

programm is not Ready...

weird_dave

I had written a long reply, hit post button only to find it had logged me out and I lost the post :(
Suffice to say, I think you're going to need an interface IC of some sort if you want repeatable and reliable results.
Have you changed the maths? if the raw values are only going up to 1023, only 0.82 volts are possible (1023*3.3/4095).

Go Up