Design Criteria
For a project I'm making I want to measure temperature using a 10 bit ADC on a MCU.
I don't care for absolute accuracy but I would like precision down to around 1/10th of a degree C.
To clarify I'm fine with a bias and gain error and even weak non-linearity , as long as the random error (noise) is low and measurements are consistent between readings of the same temperature.
The sensor will be powered and read once per hour so self heat-up shouldn't be an issue.
I expect that the temperatures I will measure are around 10-40 C. However to have some design headroom I chose to use the range [-40,+100] C as my design criteria when sizing the passives.
Chosen RTD
I chose to do this with a RTD. The particular one I'm looking at has:
- 0C = 100 R
- -50C = ~70 R
- +100C = ~140 R
Circuit
The circuit I have come up with is shown below. It has four major components:
- A 1mA current source to bias the RTD.
- A level shift of the RTD sense.
- A scaling of the RTD sense.
The goal of the level shift and scaling of the sensed RTD value is to scale the range of [-50C, +100C] to [5V, 0V] to get maximal use of the 10 bit ADC on the MCU.
The TEMP_EN is connected to a GPIO pin on the MCU, driven high prior to measuring the output with the ADC. The GPIO pin can drive 20 mA max.
I have chosen 300R and 5K11 resistors for this design as they are used elsewhere in the project and actually form very close to the required ratios for the voltage dividers by a happy coincidence.
A simulation of the circuit can be found here.
I used WxMaxima to calculate the resistor values:
Where:
- Va = sensed voltage after RTD
- Vb = negative input to first op-amp
- Vc = positive input to second op-amp
- Vd = negative input to second op-amp
- A = op-amp gain (assumed ideal later)
I expect 150 C / 2^10 = 0.15 C precision on the measured value.
Question
This is my first time working with Op-Amps after my EE course in Uni which was a long time ago. And my first time building a constant current source. I would very much like input on the design of the current source, will it be good enough? Are there easy modifications I can make to make it better for this application?
Can I expect the circuit to have reasonable noise resistance? The environment is a typical home environment and TEMP_AO is connected via a 30-50cm shielded, otherwise quiet cable to the MCU.
Should I decouple the op-amps? There isn't any switching going on here so I'm unsure if they are needed.
I have the shift before the gain. Should I change the order to do gain first and then shift? Which is better?
Any other considerations I should make?