PC-Based Temperature Control with Thermistors: Design Guide

Patricia Callen9 min read
Application NoteOther ManufacturerProcess Control
Licensed PE Working through this on a live machine? A Maine-licensed engineer can take it from here — included with IMD hardware, by the hour for everything else. Book an engineer

Application Overview

The problem: control several refrigerated rooms and an engine room at an unmanned remote site, with the ability to change setpoints and modify the control program over a network link. The candidate architectures are a PC (or single-board computer) running control software against a multi-channel analog input device, or a conventional PLC with analog input cards and an HMI.

For a low-channel-count, slow thermal process with a strong remote-access requirement, a PC-class controller is defensible. The dominant technical arguments are:

  • Cost per channel. A commodity multi-channel DAQ board delivers high channel count and good accuracy at a fraction of the cost of PLC analog input modules for a one-off installation.
  • Remote access. Secure remote sessions, file transfer, logging, and program modification are native to a general-purpose OS. On a PLC these are add-on functions requiring a gateway, VPN appliance, or vendor cloud service.
  • Loop dynamics. Refrigeration and room-temperature loops have time constants in minutes. Scan-time jitter of hundreds of milliseconds on a non-real-time OS is irrelevant to loop stability. This is the key reason the PC choice is safe here and would not be safe on a fast motion or interlock application.
Critical: A general-purpose PC has no deterministic failure behavior. If the cost of a failure is high — product loss in a refrigerated room, or engine-room overtemperature — install an independent electromechanical or electronic thermostat as a backup layer wired directly to the compressor contactor or alarm circuit. It must operate with the PC powered off.

PC vs PLC: Decision Matrix

Criterion PC / SBC PLC
Cost per analog channel (one-off) Low — commodity DAQ boards Higher — vendor analog modules
Secure remote program modification Native (OS remote session, VPN) Requires gateway/VPN or vendor service
Deterministic scan No guarantee on general-purpose OS Yes
Power-fail / brown-out survival Weak unless SBC with solid-state storage Strong
Unattended reboot to running state Must be engineered and tested Inherent
Data logging and trending Native filesystem/database Needs HMI or logging module
Field-replaceable by non-programmer Poor Good

For a permanent, unattended install, prefer a fanless single-board computer with solid-state storage (disk-on-chip / eMMC / industrial SSD), integrated serial and Ethernet, and on-board ADC over a desktop PC. This removes the two dominant PC failure modes at remote sites: rotating media and cooling fans.

Sensor Selection: Thermistor vs RTD vs Thermocouple

The resolution argument in favor of thermistors is often mis-stated. All three sensor types are continuous analog devices; the resolution of the measurement is set by the ADC, the front-end noise floor, and the sensor's sensitivity (output change per degree), not by the sensor having discrete steps. What the thermistor actually provides is the highest sensitivity, which means the least demanding — and therefore cheapest — signal conditioning for a given resolution.

Property NTC Thermistor RTD (Pt100/Pt1000) Thermocouple
Output mechanism Large resistance change, negative coefficient Small, near-linear resistance change Low-level DC voltage (Seebeck)
Sensitivity Highest Moderate Lowest — tens of microvolts per degree
Linearity Strongly non-linear; needs linearization Good; small correction needed Non-linear; needs polynomial or table
Extension wiring Ordinary copper Ordinary copper; lead resistance matters Matched thermocouple/extension wire required
Cold-junction compensation Not required Not required Required
Amplifier requirement Minimal — often direct to ADC Modest gain, precision excitation High-gain, low-offset instrumentation amp
High-temperature capability Limited Wide Widest — survives extremes the others cannot
Relative device cost Lowest Higher Low device, higher conditioning

Recommendation for this application. Refrigerated rooms and an engine room sit inside the comfortable operating band of thermistors. Use NTC thermistors for the room sensors: cheapest devices, cheapest front end, plain copper field wiring, no cold-junction hardware. Reserve thermocouples for any point that may see high-temperature extremes — for example an engine exhaust or compressor discharge — where a thermistor would be destroyed. RTDs are the middle option and are worth the extra cost only where you need better linearity and interchangeability without buying matched thermistors.

Interchangeability caveat: Uncompensated thermistors vary part-to-part. Either buy interchangeable-tolerance parts, buy them with matched signal conditioning, or plan a per-sensor calibration step and store the coefficients in the control software. Platinum RTDs are the better choice if you need to swap a sensor in the field with no recalibration.

Signal Conditioning and Linearization

A thermistor is normally read as one leg of a divider or bridge driven from a stable reference. Two practical constraints:

  1. Limit self-heating. Excitation current dissipates power in the bead and biases the reading warm. Use the smallest excitation that still gives adequate signal-to-noise, or pulse the excitation and sample only during the pulse. Self-heating error is worst in still air — exactly the condition inside a refrigerated room.
  2. Choose the series resistor for the band of interest. Because the resistance-temperature curve is steep and non-linear, a divider optimized for a cold-room band will compress badly at engine-room temperatures. Use different scaling networks, or different sensor part numbers, for the two zones rather than one compromise design.

Linearize in software, not hardware. The Steinhart-Hart form is the standard model for NTC thermistors:

1/T = A + B*ln(R) + C*(ln(R))^3     ; T in kelvin, R in ohms
T_C = (1/(A + B*lnR + C*lnR^3)) - 273.15

Obtain A, B, C from the sensor datasheet or from a three-point calibration (ice bath, ambient reference, and a point near the top of the working band). Store one coefficient set per channel. For RTDs, use the Callendar-Van Dusen relation instead; for thermocouples, use the manufacturer's or standard polynomial plus a cold-junction reading.

Field wiring notes:

  • Run sensor cable as shielded twisted pair, shield grounded at the controller end only.
  • Keep sensor runs out of conduits carrying compressor and fan motor conductors. Thermistor circuits are high-impedance and pick up capacitively coupled noise easily.
  • Apply per-channel low-pass filtering plus software averaging. On a thermal process with minute-scale time constants, several seconds of averaging costs nothing in control performance and buys significant noise rejection.
  • Seal sensor junctions against condensation. Moisture across a high-impedance thermistor circuit reads as a low resistance — that is, a false high temperature on an NTC — which can drive a refrigeration loop into continuous run.

Hardware Architecture and Interface Options

Option Fit Watch out for
Plug-in multi-channel DAQ card High channel count, good accuracy, lowest cost per point Ties you to a chassis with expansion slots; driver support across OS upgrades
USB thermistor interface module Fast to deploy, no chassis modification, vendor logging software included USB enumeration after power cycle; cable length limits; bus-powered noise
SBC with integrated ADC and comms Best for permanent unattended install Channel count may be fixed; verify ADC resolution and reference stability
Serial/Ethernet remote I/O with Modbus Distributed sensors, long runs, isolation from the PC Poll cycle overhead; needs a Modbus master in the control software

If you use a USB interface, verify explicitly that the module re-enumerates and the control application reconnects after a site power cycle with no operator present. Test this by killing site power, not by unplugging the cable.

Control Software, Remote Access, and Fail-Safe Design

Structure the software in three layers so that a fault in one does not take down the others:

  1. Acquisition service: reads raw counts, applies linearization and per-channel calibration, applies range/rate-of-change validity checks, publishes engineering units.
  2. Control service: per-zone on/off control with hysteresis (deadband) or PID for modulating capacity. For compressor-driven refrigeration, enforce a minimum-off timer and a minimum-run timer in software to prevent short-cycling.
  3. Presentation/remote layer: trends, setpoint entry, alarm annunciation, historical log export.

Mandatory behaviors for an unattended remote site:

  • Sensor validity check. Reject readings outside the physically possible resistance window and flag open circuit (infinite R) and short circuit (near-zero R) separately. On invalid input, fall back to a defined safe output state — not the last good value held forever.
  • Watchdog to a hardware output. The control loop must periodically strobe a watchdog. If the strobe stops, a hardware timer drops the enable relay and the backup thermostat takes over.
  • Auto-start on boot. Control services start without an interactive login, and the machine boots unattended after power restoration. Disable automatic OS updates and unattended reboots.
  • Persistent setpoints. Setpoints and calibration coefficients live in a file or database that survives reboot; the application must never come up with compiled-in defaults after a power cut.
  • Remote access hygiene. Terminate remote access on a VPN, not on a port forwarded directly to the control PC. Anything that permits online program modification also permits an attacker to do the same.
  • Independent alarm path. Route high-temperature alarms through a channel that does not depend on the control application being alive — a dialer, cellular alarm module, or an alarm contact driven by the backup thermostat.

Commissioning and Verification

  1. Verify each channel against a reference thermometer at two points spanning the working band; record the error and adjust coefficients.
  2. Measure self-heating: log the channel, then increase excitation duty and confirm the reading does not drift upward.
  3. Open-circuit each sensor at the terminal block and confirm the software raises a sensor fault, not a plausible temperature.
  4. Short each sensor at the terminal block and confirm a distinct fault, not a call for cooling.
  5. Start and stop the largest motor load on site while trending a nearby channel; confirm no step disturbance in the reading. If present, fix shielding and routing.
  6. Kill site power for at least one minute. Confirm the PC boots, services start, setpoints reload, and control resumes with no login.
  7. Stop the control service deliberately and confirm the watchdog drops the enable and the backup thermostat maintains the room.
  8. Force a high-temperature condition and confirm the alarm reaches the remote recipient over the independent path.
  9. Confirm anti-short-cycle timers by forcing rapid setpoint changes and observing compressor commands.

FAQ

Do thermistors really have better resolution than RTDs or thermocouples?

No. All three are continuous analog sensors, so measurement resolution is set by the ADC and the front-end noise floor. Thermistors have the highest sensitivity — the largest output change per degree — so they reach a given resolution with far simpler and cheaper signal conditioning.

Why choose a thermistor over a thermocouple for a cold room?

Thermistors need no cold-junction compensation, no high-gain instrumentation amplifier, and no matched thermocouple extension wire — ordinary copper is fine. The thermocouple's only decisive advantage is that it survives far higher temperature extremes, which a refrigerated room never sees.

How do I linearize a thermistor in software?

Use the Steinhart-Hart equation 1/T = A + B*ln(R) + C*(ln(R))^3 with T in kelvin, then subtract 273.15 for degrees Celsius. Take A, B and C from the datasheet or derive them from a three-point calibration and store one coefficient set per channel.

Is a PC reliable enough to control refrigeration unattended?

Only with engineered safeguards. Use a fanless SBC with solid-state storage, auto-start services, a hardware watchdog, and an independent backup thermostat wired directly to the contactor so cooling continues with the PC powered off.

What causes false high-temperature readings on a thermistor loop?

Moisture or contamination across the high-impedance sensor circuit lowers the measured resistance, which an NTC channel interprets as a higher temperature and can force continuous compressor operation. Seal junctions, use shielded twisted pair grounded at one end, and add short-circuit validity limits in software.

Back to blog