For questions or comments regarding CN0287, please reply to this post.
One of our new designs, requires us to implement RTD & Thermocouple measurement circuit.
We need to get a accuracy of better than "0.2% of FSR" over the operating temperature range of "-20°C to 60°C".
We have looked at CN0287 board & planning to use the same circuit in our board if the required accuracy is met.
The CN0287 specification says that accuracy of 0.5°C. Is this accuracy guaranteed over a specific temperature range?
For our accuracy analysis , we have identified the error introducing components as below :
RTD measurement :
Due to ratio-metric cancellation, change in excitation current & ADC reference voltage cancel out each other.
Thermo-couple measurement :
Please let us know if we have missed out any parameter in our analysis.
Also, it will be helpful if you can share any document related to accuracy analysis done on CN0287.
Looking forward to your response.
Suresha N S
Is there any reference on how the CN0287 demonstration software is using / configuring the AD7193? Specifically, it is not clear how the AD7193 should be configured for the different sensor types. Could someone write a brief description such as:
For 2 wire RTD measurements, the AD7193 will be configured as follows...
For 2 wire thermocouple measurements the AD7193 will be configured as follows....
This information would make the reference design much more useful.
Any help will be greatly appreciated.
We did the CN0287 evaluation software by Labview and I attached the snapshot of default configuration used by Evaluation software for different type of sensor.
All the configuration for different types of thermocouples and RTDs are almost the same except the gain setting which is depend on the output signal scale. The gain were decided by the type of sensor and the temperature range of the application. We prefer to occupy at much of dynamic range as possible by setting the biggest reasonable gain to process the signal.
With best regards,
This circuit has been implemented in a design that is interfaced with a proprietary CPU. Having been given the task of writing the driver, I'm trying to understand how to perform temp measurement with a type K thermocouple. The "Default Configuration.png" is helpful in configuring the devices but I'm not sure how to apply the data read from the ADT7310 and the AD7193 to compute the temperature at the thermocouple end. Can someone walk me through the steps/equations or point me to a tutorial on how to accomplish this?
Any help would be greatly appreciated,
Here is a tutorial on how to compute the thermocouple temperature.
And here is some extra information relating to thermocouples.
Reference Design Spotlight on Thermocouple Temperature Measurement Systems | Analog Devices
I'm trying to change the value of the AD5201 digitial pot on the board, however because the chip select is tied to P3 on the AD7193 I can't properly change the value on the AD5201. What happens is that I write a SPI message to the AD7193 to set the P3 pin, write out to the SPI bus to change the value of the AD5201, and then write back out on the SPI bus to change the P3 pin value, so the old value in the AD5201 is overwritten. Is there some way around this, or do I need to modify the board to pull the chip select off?
In the default implementation of the design, what you are doing is proper and only way to change the value of the AD5201. Because the CS of the AD5201 is tied the AD7193, you need to active the P3 output and then set it low, after which you can send SPI data out to the AD5201. Once completed you'll need to reset the P3 output to tristate mode through the AD7193.
I think the design was done this way because of the isolation channels on the board, and trying to minimize those GPIO connections to the processor.
I wouldn't recommend modifying the board as something might go wrong, and you would lose that digital isolation for sure.
I'm confused because I can't change the P3 output without writing out to the SPI bus, which will overwrite the value that the AD5201 just clocked in. I haven't seen anything in the datasheet which would imply that the AD5201 only clocks in one byte, it looks to me like it will clock in data on every clock change.
I've attached a scope capture, 1 = P3 pin, 2 = AD5201 output, 3 = MOSI. I set the P3 pin, write out a byte to the AD5201, and then write out two bytes to the AD7193 to change the value of P3.
You bring up an interesting point, because how can you bring the AD5201 CS line low, without writing out on the SPI bus to the AD7193 and writing in a new value on the AD5201??
Let me check with our guy who did the software, and we'll get back to you on what he did for this.
It did confuse me when I was working on the circuit but it finally solved with 30% effort and 70% of good luck .
Please see the attached email from my colleague with the same confusion as you do.
Thanks, that makes more sense now at least.
Hello to everyone,
CFTL has been a huge benefit to all of us. I am thankful to Analog Devices and EngineerZone for providing such useful circuits and knowledge. I have designed a system based on CN0287 and have observed an issue which i would like to share with all who have referred CN0287. In case of temperature measurement using "RTD" , CN0287 has employed "Ratiometric Measurement technique in order to curb thermal drift in current sources, which overall minimizes thermal drift impact on temperature measurement to a very less ppm.CN0287 achieves ratiometric through a common resistor "R1-4.02k". So all 4 channels share this resistor and performance is great. But in noisy environment if one RTD sensor picks up noise (electromagnetic interference) then all other channels measurement gets affected. Also in a "Three -wire RTD sensor" , all 4 channels 3rd wire are connected (or shorted) so naturally all 4 channels 2nd wire also get connected to their respective RC filters which further enhances cross-talk. When I placed independent ratiometric resistors for each channel, the crosstalk (in case of noise to a single channel) issue got solved.
I think this issue is causing problems on my CN0287 based system. When more than 1 thermistor probe is attached, I see 60Hz noise on the ADC output (+/- 0.5C). I understand the idea behind independent reference resistors but the implementation isn't clear to me. Wouldn't each separate 4.02K resistor need to be attached to the REFIN2+ input on the AD7193 making the resistors in parallel? This wouldn't work so I must be missing something.
Are there any other approaches to prevent the inactive or unused probes from inducing noise. I guess we could go nuts with cable shielding on the <5ft. thermistor probes but I would greatly prefer a circuit solution.
Any help is greatly appreciated.
The 50/60Hz noise can be filtered out by enable the 50/60 rejection function of AD7193.
Also see my reply to Prateek Jain for the circuit solution.
Any further question, please feel free to propose on engineer zone.
Thank you so much for the guidance. I did have the sync4 filter enabled but the settling time (filter word) was set too small so I guess it wasn't effective. When I increased the filter word to 0x050 and above, the filter completely eliminated the 60Hz noise.
Thank you again,
Hello Prateek Jain
I fully agree your analysis and understanding. Based on the current circuit structure, with shared reference resistor, CN0287 can't immune the noise from other channels which will result in performance degradation. The advantage of this structure is cost effective and channel-to-channel performance consistency, therefore only one channel calibration could used for all the 4 channels at a reasonable accuracy.
So, if using under noisy environment, good shielding is necessary. If the noise is 50~60Hz , then the interegraged 50/60Hz rejection function in AD7193 need to be enabled. The sinc3/sinc4 filter in AD7193 can also do noise suppression to the high frequency niose.
I will recommended the CN0376 "Channel-to-Channel Isolated Temperature Input (Thermocouple/RTD) for PLC/DCS Applications" for the noisy environment application. Alternative way to cut off the noise path from inactive channel is to add a MUX on top of the reference resistor. The rough circuit block is attached for your reference.
Thanks for your support of ADI.
Retrieving data ...