This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Dear All,
Now I design to measure temperature using ads1248, 4 wires.
But I do not know how to config and calculate it, please help me.
I connect: AIN0, AIN1, AIN2, REFP0
Thanks and best regards
Thinh
Hi Thinh,
Welcome to the forum! Basically you need to set the registers appropriately. You are using AIN0 for the current source, AIN1 for AINP of the ADS1248, AIN2 as AIN1 and using REFP0 as the reference source. Let's look at registers that need changing from the default values:
MUX0 should be 0x0A (Selects the AIN1 as AINP and AIN2 and AINN)
MUX1 should be 0x20 (Turns on the internal reference (needed to operate the IDACs) and uses REF0 as the reference)
IDAC0 should be set to the desired current magnitude
IDAC1 should be set to AIN0. As there are two IDAC sources, either or both can be selected. So this can be set to 0x00 (both), 0x0F or 0xF0.
The magnitude of the current should be set to the value that creates the desired reference voltage value and biases the RTD into the correct common mode range. I would try 1mA which would provide a 2V reference and sets the common mode near mid-supply. This would make IDAC0 equal to 0x06 and IDAC1 equal to 0xF0.
You may also want to change the data rate and the PGA gain settings as needed.
Best regards,
Bob B
Hello Bob,
Thanks for your help.
After config as you suggest, what I need to read and how to caculate the value of RTD?
I will measure voltage at AIN1 and AIN2, it means voltage at RTD, after that i caculate by:
RTD = voltage/1ma. is it right?
BR
Thinh
Hi Thinh,
Yes, you use Ohm's Law where resistance is equal to the voltage divided by the current. From the resistance you have to use a look-up table or polynomial calculation using the Callendar-Van Dusen equations based on the actual RTD being used to determine the temperature.
Best regards,
Bob B
Hi Bob,
Thanks you alots.
I set as you suggest, but I have a problem that: how which vref i using to caculate voltage at AIN1?
When I set MUX1 = 0x30, I using vref = 2.048(as datasheet), it look vary good.
Best regards
Thinh
Hi Thinh,
You can use the internal reference if you wish and are happy with the performance.
Best regards,
Bob B
Hi Bob,
Now It work correctly. Thanks you too much for help.
I have other question: how should I config to read on-chip temperature? how to calculate?
I see that MUX1 need to set, but I not clear what next I have to do.
Best regards
Thinh
Hi Thinh,
Yes, you are correct in that you have to change the lower 3 bits of the MUX1 register to measure the Temperature Diode (011). On page 30 of the ADS1248 datasheet there is a topic under the System Monitor that discusses the Ambient Temperature Monitor. Typically at +25 deg C you will measure 118mV. The voltage reading will change 405uV for each degree change in temperature. For example, if the output you read is 120mV, this is a 2mV increase from 25 deg C. 2mV/405uV is about 4.94 degress change or 29.94 degrees.
Best regards,
Bob B