I am building a circuit with two AD8495 thermocouple amplifiers. I chose them because they are simple to get and quite cheap - there's basically no other reason. Now I need to create an interface between the amplifiers and a microcontroller (AVR). The AVR's ADC has 10 bits resolution, and I'd like to use as much of that as I can.
The temperature I am expecting at the thermocouples is up to 300°C. As the AD8495 gives 5mV/°C, the maximum output should be somewhere around 1.4V. I could supply a suitable reference voltage to the ADC to resolve that range, but when the AD8495 has no thermocouple connected (or something else goes wrong), the signal will rise to 5V (supply voltage), which would be too much for the ADC with a low reference voltage.
I see two basic options:
I can clamp the signal to the reference voltage (or some "compatible" voltage using a resistor and a Z diode:
This is simple and cheap, but I think I might mess up the whole measurement with this.
I can also use an OpAmp to amplify the AD8495's output to the full 5V range:
Connected with these options are two equivalent problems:
- I have never build a clamping circuit with a Z diode,
- I have never used an OpAmp before. I picked the TS912 because it's a rail-to-rail, single supply type (and I can easily get it)
While I know how the ideal devices are supposed to work, I also know that the real devices will mess with my measurement a lot.
I would like to achive +/- 5°C accuracy at 280°C. I have not yet done calculations on that, but given the ADC, reference, and AD8495 accuracies, this might be a bit too optimistic. I am aware of that.
Edit 1: The AVR has an internal 2.56V reference which I could use. Unfortunately, it is not very precise (2.4 ... 2.8 V) and I'm not sure how much current it can sink or source. So even if the ADC channels have internal clamping diodes (which would have to clamp to Aref), I need some extra protection or conditioning. Using an external reference will not really solve that problem either.
Edit 2: This is my solution, more or less:
The two AD8495 outputs are connected to an ADC (MCP3426), which has an internal 2.048V reference. That is much more accurate than the AVR's internal reference and tolerates the AD8495's 5V output when no thermocouple is connected. I've added screw terminals for the thermocouples and a 0.1" header. All pin holes are on a 0.1" grid. Layout and routing was quite easy:
There are two short SCL and SDA traces on the bottom side, everything else is ground. I've made the thermocouple traces (left) a bit wider for lower thermal resistance.