« Close

Datasheets and User Guides

App Notes

Software & Driver

 

12.0 200uA and 10uA

Overview

The T7 has 2 fixed current source terminals useful for measuring resistance (thermistors, RTDs, resistors).  The 10UA terminal provides about 10 µA and the 200UA terminal provides about 200 µA, but the actual values should be read from the calibration constants, or better yet measured in real-time using a fixed shunt resistor.

Using the equation V=IR, with a known current and voltage, it is possible to calculate the resistance of the item in question.  Figure 12-1 shows a simple setup measuring 1 resistor.

The factory value of each current source is noted during calibration and stored with the calibration constants on the device.  These can be viewed using the Kipling software, or read programmatically.  Note that these are fixed constants stored during calibration, not some sort of real-time readings.

Register Listing

Constant Current Sources
Name Start Address Type Access
CURRENT_SOURCE_200UA_CAL_VALUE 1902 FLOAT32 R
CURRENT_SOURCE_10UA_CAL_VALUE 1900 FLOAT32 R
CURRENT_SOURCE_200UA_CAL_VALUE
- Address: 1902
Fixed current source value in Amps for the 200UA terminal. This value is stored during factory calibration, it is not a current reading. Using the equation V=IR, with a known current and voltage, it is possible to calculate resistance of RTDs.
  • Data type: FLOAT32  (type index = 3)
  • Read-only
CURRENT_SOURCE_10UA_CAL_VALUE
- Address: 1900
Fixed current source value in Amps for the 10UA terminal. This value is stored during factory calibration, it is not a current reading. Using the equation V=IR, with a known current and voltage, it is possible to calculate resistance of RTDs.
  • Data type: FLOAT32  (type index = 3)
  • Read-only

For example:  To read the factory value of the 200uA current source, perform a read of Modbus address 1902, and the result would be in the form of a floating point number, e.g. 0.000197456 amps.

Some Examples

Multiple resistances can be measured by putting them in series and measuring the voltage across each.  Some applications might need to use differential inputs to measure the voltage across each resistor, but for many applications it works just as well to measure the single-ended voltage at the top of each resistor and subtract in software.


                            Figure 12-1                                                  Figure 12-2

Figure 12-1 shows a simple setup measuring 1 resistor. If R1=3k, the voltage at AIN0 will be 0.6 volts.

Figure 12-2 shows a setup to measure 3 resistors using single-ended analog inputs.  If R1=R2=R3=3k, the voltages at AIN0/AIN1/AIN2 will be 1.8/1.2/0.6 volts.  That means AIN0 and AIN1 would be measured with the +/-10 volt range, while AIN2 could be measured with the +/-1 volt range.  This points out a potential advantage to differential measurements, as the differential voltage across R1 and R2 could be measured with the +/-1 volt range, providing better resolution.

 


                            Figure 12-3                                                  Figure 12-4

Figure 12-3 shows a setup to measure 2 resistors using differential analog inputs.  AIN3 is wasted in this case, as it is connected to ground, so a differential measurement of AIN2-AIN3 is the same as a single-ended measurement of AIN2.  That leads to Figure 12-4, which shows R1 and R2 measured differentially and R3 measured single-ended.

 

More Details

The current sources can drive about 3 volts max, thus limiting the maximum load resistance to about 300 kΩ (10UA) and 15 kΩ (200UA).  Keep in mind that high source resistance could cause settling issues for analog inputs.

For some applications the accuracy and temperature coefficient of the current sources is sufficient, but for improvement a fixed resistor can be used as one of the resistors in the figures above.  The Y1453-100 and Y1453-1.0K from Digikey have excellent accuracy and very low tempco.  By measuring the voltage across one of these you can calculate the actual current at any time.

The current sources are not particularly fast in reacting to load changes.  This can show up as noise when rapidly sampling multiple channels using the same current source.  Improve behavior by adding a 1uF ceramic capacitor from the current source to GND and/or increasing settling time.

Figures 12-5 and 12-6 show the typical current source output variation over temperature.  Both sources typically have low temperature coefficients at or near 25C.  Beyond 25C, the temperature coefficient variation may need to be accounted for, depending on application requirements.

 

Figure 12-5.  Typical temperature coefficient values over operating temperature range .

Figure 12-6.  Typical current source deviation from 25C output over operating temperature range [1]. 

 

Example - PT100 or PT1000 RTD

Assume that R1 in Figure 12-1 is a PT100 RTD.  A PT100 RTD is 100 ohms at 0 degC.  The response of an RTD is nonlinear, but the linear slope 0.384 ohms/degC works well from about -40 to +150 degC.  That leads to the following expression:

R = (0.384 * DegC) + 100

... which can be rearranged to:

DegC = (2.604 * R) - 260.4

We are determining R by measuring the voltage that results from a known current passed through R, that is R = V/I, so we can say:

DegC = (2.604 * V/I) - 260.4

This tells us that the slope is 2.604/I and the offset is -260.4.  To determine I, you can just use 0.0002 amps, or use the factory calibration value read from CURRENT_SOURCE_200UA_CAL_VALUE, or use a precision fixed resistor as mentioned above to measure I in real time.  Assume we read the factory calibration value as 0.000200 amps, and thus use a constant slope of 2.604/0.0002 = 13020.  We can now use the AIN-EF feature to apply this slope and offset:

AIN0_EF_INDEX = 1                // feature index for type K thermocouple
AIN0_EF_CONFIG_D = 13020.0       // slope
AIN0_EF_CONFIG_E = -260.4         // offset

Now reads of AIN0_EF_READ_A will return (13020.0 * volts) - 260.4.

Note that you can come up with your own slope & offset for your temperature region of interest.  For example, we made this Google Spreadsheet and decided that Slope=2.720 (degC/ohm) and Offset=-277.5 works best for the region of 100 to 300 degC.

Note that a PT1000 simply has 10x the response of a PT100 (~3.84 ohms/degC).  The offset still works out to -260.4, but the slope is 0.260.