Thermistor Measurements With the NI-9219 and Other C Series Modules

Updated Oct 11, 2018

Reported In

Hardware

  • CompactDAQ Chassis
  • CompactRIO Chassis

Driver

  • NI-DAQmx

Other

  • Thermistors

Issue Details

  • I have a thermistor that I am trying to measure with my CompactDAQ or CompactRIO. What C series options are available to measure thermistors?
  • Can the NI-9219 be used for thermistor measurements?  Is this configuration recommended or officially supported?
  • I'm using the NI-9219 for thermistor measurements and getting a temperature measurement that is slightly off. What could be causing this accuracy issue?

Solution

There are different ways in which you can do Thermistor measurements using C series modules:

 

A) Using the NI-9219

Use case: For medium resistance thermistors (less than 10 kΩ)

 

The NI-9219 can be used for thermistor measurements, although this is not a recommended configuration. The module was not specifically designed for thermistor measurements so there may be limitations affecting measurements accuracy. This is because it was never tested with thermistors and the accuracy hasn't been characterized across the entire possible thermistor range. There are two configurations for measuring a thermistor with the NI-9219:

 

The 2-wire resistance measurement configuration

Setting the NI-9219 to 2-wire 10 kΩ resistance mode will return a resistance measurement that can be scaled to temperature using the thermistor's scaling coefficients.

 

If using this configuration, keep in mind the following limitations: 

  • DAQmx doesn't support thermistor measurements on all channels. On NI-9219 DAQmx supports channels _cjtemp0:3, but not channels ai0:3.
  • The NI-9219 has a 10 kΩ limit for making 2-wire resistance measurements, which is too narrow for many thermistors. This is the first limitation. 
  • 4-wire measurement configuration is also possible but requires more wiring but takes into account the error introduced by the wiring. 
  • The NI-9219 has an unregulated voltage source that excites anywhere from 220µA to 420µA across the thermistor depending on its resistance (the excitation values for resistance mode can be found in NI-9219 Operating Instructions and Specifications). This could potentially affect the accuracy of some thermistors, because the current may cause self-heating errors. Refer to the thermistor datasheet to determine if self-heating will be an issue. 

 

The half-bridge configuration

For more information on how to make thermistor measurements using the half-bridge configuration, please refer to the Measuring Thermistors in a Half-Bridge Configuration with the NI-9219 Tutorial. The 2-wire resistance measurement configuration is easier to assemble than the half-bridge configuration, but it does not take into account measurement accuracy.

 

B) Using an RTD Module

Use case: For small resistance thermistors (less than 4 kΩ)

 

Follow the guide Making an RTD or Thermistor Measurement in LabVIEW to use an RTD module to measure your Thermistor. Please check the Resistance Measurement Range to make sure the card is capable of measuring your sensor's resistance range.

 

 

C) Using a Bridge Module

Use case: For medium resistance thermistors (less than 10 kΩ)

 
Many thermistors have a sensitivity of 3-6% per °C which means that they may vary in resistance by more than ±500% of their nominal value over their full measurement range. This wide range presents a measurement challenge that can be addressed by making a half bridge measurement with a correctly chosen reference resistor and a Strain/Bridge Input Module. For more information on how to make thermistor measurements using the half-bridge configuration, please refer to the Measuring Thermistors in a Half-Bridge Configuration with the NI-9219 Tutorial.

 

 

D) Using a Voltage Input Module

Use case: For large resistance thermistors (10 kΩ and higher)

 

A Voltage Input module can help you measure sensors that operate changing their resistance, such as Thermistors. There are some strategies you can take, depending on the characteristics of the circuit you are designing:

 

  1. You can use an external power supply providing constant current and a voltage input module, so you can process the resistance value from the voltage acquired. With this option, you can use the V = R * I formula to calculate your resistance.
  2. You can use a Current Output C Series module to help you with the constant current flow. Please check in their specification sheet the maximum current they can provide, so you can be sure it will work with your sensor's resistance range.
  3. You can also take readings from a two-wire thermistor as part of a voltage divider. Using a separate known resistance and precision voltage source, you can read the current across the thermistor. Ohm's Law is used to calculate the resistance from the measured current and known voltage drop across the thermistor. Use a voltage divider and a voltage output (either external or using a Voltage Output module). Note that you will need two Voltage input terminals per sensor. You can read more about voltage dividers here in the following sites: External Site: Voltage Dividers - Reading Resistive Sensors, and External Site: Measuring Thermistors.

 

Additional Information

What about the software?

  1. For the NI-9219 you can review the example: Thermistor Measurements with NI-9219 community post
  2. LabVIEW also comes with a thermistor example called, RTD or Thermistor - Continuous Input. You can find this example by opening NI example finder and going to Hardware Input and Output >> DAQmx >> Analog Input >> RTD or Thermistor - Continuous Input. You can then see there are requirements for this example. There are a list of devices that will work with thermistor measurements in LabVIEW. 
    1. For example, a NI 9215 is listed under supported devices. Your thermistor will still need excitation, so you could use a current module like the NI 9265. Using these modules with this example will help you take your thermistor measurements.
  3. You can use the Convert Thermistor Reading VI to convert a thermistor voltage into a temperature.

WAS THIS ARTICLE HELPFUL?

Not Helpful