AD8495 breakout thermocouple amp P/N 1778

Breakout boards, sensors, other Adafruit kits, etc.

Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.
grants2
 
Posts: 1
Joined: Tue Mar 25, 2014 12:03 pm

AD8495 breakout thermocouple amp P/N 1778

Post by grants2 »

Is a schematic available? Can the board components tolerate a 10v supply so the range goes to 1750 deg C? If not what should be changed?
The 8495 is ok to 36v supply.

User avatar
adafruit_support_rick
 
Posts: 35092
Joined: Tue Mar 15, 2011 11:42 am

Re: AD8495 breakout thermocouple amp P/N 1778

Post by adafruit_support_rick »

The product page lists the voltage range for the board as 3-18V, so you should be OK

User avatar
C_schroeder
 
Posts: 1
Joined: Tue Jun 10, 2014 5:46 pm

Re: AD8495 breakout thermocouple amp P/N 1778

Post by C_schroeder »

The eagle schematics and brd files would be super useful as I would like to integrate it into a larger design.

User avatar
adafruit2
 
Posts: 22148
Joined: Fri Mar 11, 2005 7:36 pm

Re: AD8495 breakout thermocouple amp P/N 1778

Post by adafruit2 »


Creo
 
Posts: 4
Joined: Wed Jul 16, 2014 5:27 pm

Re: AD8495 breakout thermocouple amp P/N 1778

Post by Creo »

Is a data sheet for this breakout available? I am confused regarding the voltage I am getting out of the breakout board....it does not match the table from the application notes for the AD8495 http://www.analog.com/static/imported-f ... N-1087.PDF
According to the application notes, with a junction temperature of 60 degrees, the AD8495 should output 301mV....based off the equation posted on your site, 60 degrees equates to 1.55V ?
The voltage I measure coming out of the breakout board seems to be amplified by a factor of 10?
btw, I think the equation posted on site is incorrect in that ((1.5-1.25) / .005) = 50...not 60.

Please help!

PS I am powering with 5V from arduino Mega.

User avatar
adafruit_support_rick
 
Posts: 35092
Joined: Tue Mar 15, 2011 11:42 am

Re: AD8495 breakout thermocouple amp P/N 1778

Post by adafruit_support_rick »

Creo wrote:According to the application notes, with a junction temperature of 60 degrees, the AD8495 should output 301mV....based off the equation posted on your site, 60 degrees equates to 1.55V ?
That's because of the Vref factor of 1.25, which is subtracted from the 1.55 to get 0.300.
We add the Vref to the signal so that the module can measure negative temperatures.
Creo wrote:btw, I think the equation posted on site is incorrect in that ((1.5-1.25) / .005) = 50...not 60.
Good catch - I'll notify the website people

User avatar
adafruit2
 
Posts: 22148
Joined: Fri Mar 11, 2005 7:36 pm

Re: AD8495 breakout thermocouple amp P/N 1778

Post by adafruit2 »

MATH! fixed!

Creo
 
Posts: 4
Joined: Wed Jul 16, 2014 5:27 pm

Re: AD8495 breakout thermocouple amp P/N 1778

Post by Creo »

adafruit_support_rick wrote: We add the Vref to the signal so that the module can measure negative temperatures.
Ah...the missing piece haha. Now the output I am getting makes sense and I think I figured out how to modify Marlin so I can use with my printer.


Thanks!

Creo
 
Posts: 4
Joined: Wed Jul 16, 2014 5:27 pm

Re: AD8495 breakout thermocouple amp P/N 1778

Post by Creo »

This post is just FYI for anyone that may need.....

The equation, Temperature = (Vout - 1.25) / 0.005 isn't directly useable with analogread() and Arduino Mega....unless I am missing something. You will have to first convert the ADC value back to the voltage seen by controller pin.
This does work though...int rawADC = analogRead(3); //stores ADC output of read voltage
float Vin = ( 5.0 * rawADC ) / 1024.0; // converts and stores ADC value to voltage seen by Atmel pin
float Vout = Vin - 1.25; //remove added Vref to get actual temp voltage from AD8495
float celsius = Vout / .005; //converts to temperature in celsius

temp conversion equation in one step.... float celsius = (((5.0 * rawADC) / 1024) - 1.25) /.005;

This equation will not work in Marlin though due to oversampling. Here is equation I used in Marlin to get it to work:
return (((((raw * 5.0) / 1024.0) / .005) / OVERSAMPLENR) * TEMP_SENSOR_AD8495_GAIN) + TEMP_SENSOR_AD8495_OFFSET;
Also set TEMP_SENSOR_AD8495_OFFSET to -250. 250 is equal to the 1.25 volts being added by breakout.

User avatar
marteke
 
Posts: 10
Joined: Wed Jul 09, 2014 10:00 am

Re: AD8495 breakout thermocouple amp P/N 1778

Post by marteke »

telaad8495.jpg
telaad8495.jpg (251.12 KiB) Viewed 2737 times
hello
how can I stop the oscillation of ad8495?
which equation to use 3.3V?

thank you

User avatar
adafruit_support_rick
 
Posts: 35092
Joined: Tue Mar 15, 2011 11:42 am

Re: AD8495 breakout thermocouple amp P/N 1778

Post by adafruit_support_rick »

As you can see from the A4 raw readings, you're at the limit of precision of the ADC. Try using a 3.3V external reference - the 3.3V reference is a little more stable.
Connect a jumper from 3.3V to AREF. Add this line to setup()

Code: Select all

  analogReference(EXTERNAL);
Change the voltage conversion to multiply by 3.3V:

Code: Select all

double Vin=(3.3 * A4);

User avatar
marteke
 
Posts: 10
Joined: Wed Jul 09, 2014 10:00 am

Re: AD8495 breakout thermocouple amp P/N 1778

Post by marteke »

I talk about AD8495, just to know!

thanks for the tip, but it´s the same!
now a have other problem, a big one!
here water boils at 98C, my sensor measures 104C, but in ice it measures -4C. as you see is not linear error! in 160C up 180C the error is about 10C plus.

I'm using a power supply 6V with good stability.
foto 2.JPG
foto 2.JPG (566.39 KiB) Viewed 2719 times
foto 1.JPG
foto 1.JPG (705.64 KiB) Viewed 2719 times
foto 4.JPG
foto 4.JPG (498.42 KiB) Viewed 2719 times
abouve, there is a part of code.

//-------------mostra termometro esquerdo-------------
if (inicio==0 || vai==0 || ok==0){
if (millis() - lastTick >= 1000) {
lastTick = millis();

float Vin=(5.0*analogRead(4))/1023.0; //___Read AD8495 in A4
float Vout=Vin-1.25;
t = Vout/.0045;
tft.fillRect(15,15,114,46,WHITE);
tft.textTransparent(RA8875_BLACK);
tft.textSetCursor(20,30); //PRINTE TEMPERATUTA
tft.print(t); //PRINT TEMPERATURAsor
Serial.print(Vin);
Serial.print(Vout);
Serial.println(t);
}
}
//-------------mostra termometro direito -------------
if (iniciod==0 || vaid==0 || okd==0){
if (millis() - lastTickd >= 1000) {
lastTickd = millis();

float Vin=(5.0*analogRead(0))/1023.0; // Read AD8495 in A0
float Vout=Vin-1.25;
td = Vout/.0045;
tft.fillRect(355,15,114,48,WHITE); // CAIXA TEMPERATURA REAL 2
tft.textTransparent(RA8875_BLACK);
tft.textSetCursor(359,30); //PRINTE TEMPERATUT
tft.print(td); //PRINT TEMPERATURAsor
}
}


if you have any suggestions, I would like to know.
thanks

User avatar
adafruit_support_bill
 
Posts: 88096
Joined: Sat Feb 07, 2009 10:11 am

Re: AD8495 breakout thermocouple amp P/N 1778

Post by adafruit_support_bill »

here water boils at 98C, my sensor measures 104C, but in ice it measures -4C. as you see is not linear error!
You can't determine linearity with only 2 measurement points.
in 160C up 180C the error is about 10C plus.
Plotted out, that actually looks quite linear.
Capture.PNG
Capture.PNG (5.48 KiB) Viewed 2712 times
The problem here is the slope. But that is the objective of a 2-point calibration. You need to adjust the slope and offset in your conversion.

User avatar
marteke
 
Posts: 10
Joined: Wed Jul 09, 2014 10:00 am

Re: AD8495 breakout thermocouple amp P/N 1778

Post by marteke »

ok thanks, I wll try it

User avatar
gabella
 
Posts: 1
Joined: Mon May 05, 2014 11:25 am

Re: AD8495 breakout thermocouple amp P/N 1778

Post by gabella »

Depending on my power source to the K-type breakout board, it can show large oscillations. Below is the best I can get. Click to see both histograms.
tempsWithBatteries1323.png
tempsWithBatteries1323.png (70.64 KiB) Viewed 2468 times
I have now tried four power supplies to power the breakout board, batteries, a 24Vdc switching P/S with a 5V voltage regulator, and two other switching supplies (bricks) one 32Vdc and the other 24Vdc. The power bricks show especially poor noise performance.

I do see 40kHz (approximately) noise on my power system and I have tried filtering that out, but in the end, having clean grounds, a filtered AC power strip, and using rechargeable batteries on the K-type breakout board gives me the above good behavior. Note the histograms on the left.

Below is about where I started, this is before the batteries but after adding the AC filter and the good grounds. Click on it to see the whole thing and pay attention to the lower histogram...I see for a nominal 22.55 deg C the min can be 16 and the max 27 deg C. The other temperature is on a heated block. Click to see the lower histogram.
tempsWithAdjRegulator.png
tempsWithAdjRegulator.png (64.16 KiB) Viewed 2468 times
Any advice is appreciated, know that I sprinkled large and small ferrites around the system, some RC filtering on the power system, and foil and ferrites on the stepper motor power lines that seem the most egregious source of noise (though now they are unferrited and unshielded and I do as well as the top pix; that fix did not make the top any better).

I just came across the Eagle drawing URL in this forum. Thanks. I will look for caps across the chip power and other such "good practices." Still I cannot be alone in seeing this? Maybe I expect too much. We have a fancy National Instruments module that is full of electronics and it sees a "noise" of less than +/- 0.05 deg C (C-module NI-9211).

FYI, I am working with an 16 bit ADC system with +/- 2V, so a resolution of about 0.06 mV which I actually see when I connect a battery to my ADC.

The top figure is workable for my thermal control needs, but I would like not to have batteries inside my instrument.

Thanks, bill e.g.

Locked
Please be positive and constructive with your questions and comments.

Return to “Other Products from Adafruit”