Don't start with the filter setting
The symptom is temperature values from a Productivity2000 (P2000) NTC input module that wander at the 0.1 °C level, with each channel behaving differently. The reported setup used 10 kΩ thermistors running around 20 °C. The wander showed up at , , and 61 ms filter settings. A 4-channel Productivity1000 (P1000) NTC module looked steadier on the same kind of test.
Three quick fixes usually get tried first. None of them solves the problem:
- Lengthen the module filter. The trend gets quieter, but the control loop now sees a delayed temperature. On a PID input, that lag costs more than the noise did.
- Swap in a new P2000 module. AutomationDirect states that both the P1000 and P2000 NTC module designs multiplex their inputs. A new module of the same design has the same front end. If the cause is wiring or multiplexer settling, a spare changes nothing.
- Move everything to P1000 NTC modules. You lose half the channels per module (4 instead of 8). AutomationDirect's own testing found no difference between the two modules. Rebuilding a panel on one bench observation is premature.
Get it running first, then fix it properly. If a loop is hunting on the noisy value tonight, widen the loop deadband or turn off derivative action for now. Then work through the checks below in order. Each check tells you which one comes next.
Check 1: Measure the size and rhythm of the wander
Trend the raw engineering value from the module, not a display rounded to one decimal. Log at least a few minutes at a fixed filter setting. Record two numbers:
- Amplitude: peak-to-peak change in °C, and how many display steps that equals.
- Pattern: random, periodic, or stepping between two values.
| Reading | What it means | Next |
|---|---|---|
| Flips between two adjacent 0.1 °C values, steady otherwise | Quantization. The true value sits on a boundary between two steps. This is not a fault. | Add a deadband or averaging in logic (Check 6). Stop troubleshooting hardware. |
| Random spread of several 0.1 °C steps | Electrical noise, or the sensor genuinely moving | Check 2 |
| Regular period (seconds or faster) | Coupled interference, or a multiplexer or scan artifact | Check 2, then Check 4 |
| Steady but offset between channels in the same location | Curve mismatch, or channel-dependent error | Check 3, then Check 5 |
Put the 0.1 °C number in context. For a 10 kΩ NTC with an assumed B-value of 3950 K, sensitivity near 20 °C (293 K) is:
α = −B / T² ≈ −3950 / 293² ≈ −4.6 %/K
So 0.1 °C is roughly a 0.46 % change in sensor resistance. The module has to resolve that across a divider and a multiplexed ADC while also covering −40 to 150 °C. That is a modest signal. A single-step flicker is expected behavior, not a defect. Read the actual B-value from your thermistor datasheet and substitute it.
Check 2: Replace the thermistor with a fixed precision resistor
This check separates the measurement chain from the process. A fixed resistor has no thermal mass and no process heat, so any wander it shows comes from the wiring or the module.
- Look up the thermistor resistance at your operating temperature in the manufacturer's R/T table. For a 10 kΩ-at-25 °C part at 20 °C, it is above 10 kΩ.
- Fit a low-tempco metal-film resistor close to that value, directly at the module terminals.
- Trend the channel at the same filter setting you used in Check 1.
- Move the same resistor to the far end of the field cable, at the sensor location, and trend again.
| Result | Meaning | Next |
|---|---|---|
| Steady at the terminals and at the cable end | The module and cable are clean. The process or sensor mounting is moving. | Check sensor thermal coupling, air drafts, and coolant contact. The fix is mechanical. |
| Steady at the terminals, noisy at the cable end | The cable is picking up interference | Check 4 |
| Noisy at the terminals | Noise is inside the module or on its supply and ground reference | Check 3, then Check 4 (grounding and unused channels) |
Check 3: Walk one reference across every channel
Complaints that channels "don't agree" come in two kinds. One channel may be bad while others are fine. Or all channels may drift apart even with identical sensors in the same spot. The fixed resistor separates the two.
- Leave all field sensors connected.
- Put the reference resistor on channel 1 and log for a fixed period.
- Move it to each channel in turn and log for the same period.
- Repeat with the other channels open, and again with them loaded with resistors of the same value.
This test matters because of how a multiplexed front end works. Both module designs multiplex inputs. A field teardown of one P2000 NTC module found a single 6-channel ADC serving 8 inputs, so some inputs must share converter inputs through extra switching.
Each time the multiplexer switches, the ADC's sampling capacitor has to charge through the source impedance, which here is the thermistor plus the reference network. At the 10 kΩ level, incomplete settling leaves a small residue of the previous channel's voltage. The result is that one channel's reading depends slightly on its neighbor:
- If the neighbor is an open input sitting at full scale, the residue is largest.
- If the neighbor's temperature is moving, the residue moves too, and it looks like oscillation.
| Result | Meaning |
|---|---|
| Reference reads the same on every channel, whatever the neighbors do | Channel hardware is matched. Look at sensors and curve (Check 5). |
| Reading shifts when neighbors are open vs loaded | Inter-channel settling or crosstalk. Terminate unused channels (Check 4) and group sensors so adjacent channels read similar values. |
| One channel is always worse than the rest | Channel-specific fault. Stop here, document it, and send it to AutomationDirect tech support. |
Check 4: Clean up wiring, shields, and unused inputs
Thermistor signals are high-impedance and low-level. They pick up capacitively coupled noise from nearby switching cables. Work through this list with the panel de-energized where required:
- Cable type: twisted pair, shielded, one pair per sensor. Replace any run that shares a multi-core cable with digital outputs or solenoid returns.
- Shield termination: ground the shield at one end only, at the panel. A shield grounded at both ends carries ground-loop current straight into the signal pair.
- Routing: separate the thermistor runs from drive output cables, contactor coils, and heater power. Cross power cables at right angles.
- Unused channels: never leave them open. Fit a resistor near the working-sensor value so an unused input does not push a full-scale reading into the next channel (see Check 3).
- Module supply and reference: confirm the base power supply is not shared with inductive loads that dump transients into the common.
Re-run Check 2 at the cable end after each change. Changing everything at once hides which fix worked.
Check 5: Confirm one sensor type per module and a matching curve
The NTC type setting on these modules applies to every channel on the module. You cannot mix a 10K and a 3K thermistor on the same module. The thermocouple module is different: it allows the type to be set per channel.
If a 3K sensor was landed on a module configured for 10K, that channel will read wrong at every temperature. It looks exactly like "inconsistent channel to channel."
Two more fixed limits affect accuracy:
- Fixed range: −40 to 150 °C. You cannot narrow the span to gain resolution around 20 °C.
- Fixed coefficients: you cannot enter sensor coefficients, and the module does not report raw sensor resistance. The module only applies its built-in curve.
A thermistor with the same 25 °C resistance but a different B-value from the built-in curve reads correctly near 25 °C. The error grows as you move away from 25 °C. Mixed sensor lots or brands then disagree even when every channel is healthy.
| Finding | Action |
|---|---|
| Mixed 10K and 3K sensors on one module | Regroup the sensors so each module carries a single type |
| Sensor curve differs from the module's built-in curve | Match sensors to the curve the module supports, or apply a per-channel offset in logic from a reference-point check at the operating temperature |
| Offset correction is not enough across the working range | Move those points to a measurement that allows coefficient setup, such as a thermistor transmitter into an analog input |
A per-channel offset only corrects near the temperature where you took it. If the process swings widely, check at two points and see whether the error changes before trusting a single offset.
Check 6: Trade module filter against control lag, then filter in logic
The module filter works: the plots at 4, 16, and 61 ms show the wander shrinking as the filter lengthens. The cost is delay, and that delay lands inside the control loop.
Decide based on the process time constant, not on how the trend looks.
- Estimate the process thermal time constant from a step test: apply a heater or cooler step and time how long the temperature takes to reach about 63 % of its final change.
- If the longest module filter is a small fraction of that time constant, the lag does not matter. Use the longer filter and move on.
- If the loop needs a fast response, keep the module filter short. Smooth the value in logic, where you control exactly how much lag you add.
- Remove or heavily filter PID derivative action on this input. Derivative amplifies step-to-step flicker.
- Add a display and alarm deadband of at least one quantization step so HMIs and alarms do not chatter.
A generic first-order filter and deadband look like this. Adapt it to the math instructions in your programming software.
Pick Tau from the step test, well below the process time constant. Run the filter in a fixed-interval task, not a free-running scan. If the scan time varies, the effective time constant varies with it.
Check 7: Bench-test the P1000 and P2000 modules side by side
The field report and the manufacturer disagree. The field report found the 4-channel P1000 NTC module steadier regardless of filter setting. AutomationDirect's lab testing showed no difference between the two. Settle it with an A/B test that removes every other variable:
- Use the same reference resistors on both modules, at the terminals, with no field wiring.
- Match the NTC type, filter setting, and logging interval on both.
- Load unused channels identically, all terminated.
- Log both at the same time for the same duration. Record peak-to-peak and standard deviation per channel.
| Result | Decision |
|---|---|
| Both modules are equally steady on resistors | The field problem is wiring, sensors, or neighboring-channel loading. Go back to Checks 3–5. |
| P2000 is noisier on resistors with identical setup | You have a reproducible module difference. Package the plots for tech support (final section). |
| P1000 is steadier, and 4 channels per module covers the job | A valid workaround for small point counts. Budget for twice as many modules on 8-point jobs. |
Choose the controller before a MicroLogix 1500 rebuild
NTC noise often surfaces during a platform change. A common case is replacing an end-of-support MicroLogix 1500 with lower-cost hardware. Choose the platform on application fit first. Environment comes second, but no controller family fixes that.
Coolant splash, wet air, and mud from dirty hands will kill any PLC. That is a job for the enclosure, its seals, and maintenance practice. The PLC choice does not solve it.
| Option | Where it fits | Watch-outs |
|---|---|---|
| CLICK | Lowest price; simplest to learn; fewer features, which suits simple machines; free software; comments stored in the PLC; small footprint for tight panels. Field estimate: hardware under 40 % of the equivalent Allen-Bradley cost. | No project migration path to the Productivity family |
| Productivity1000 | Same price range as CLICK with more features; free Productivity Suite software | NTC module has 4 channels |
| Productivity2000 / Productivity3000 | Larger systems. Productivity Suite converts a project between P1000, P2000, and P3000. | Some field failures reported on P2000 units; keep a spare on the shelf |
| BRX (Do-more Designer) | Physically similar to a MicroLogix 1500; free software; recent revisions add Logix-style timer bits, which eases conversion; Stage programming available for sequential code | Confirm environmental suitability for your site with AutomationDirect |
| MicroLogix 1400 | Easiest upgrade from ML1500 logic; stays with existing software and spares | Uses different I/O cards and supports fewer add-on modules than the 1500 |
| CompactLogix | Can reuse the existing I/O cards | Logic conversion ranges from easy to painful; software costs more |
Engineering and conversion hours usually outweigh a few hundred dollars of hardware difference. That time is spent once and reused across copies of the same system. Where a site already owns Allen-Bradley software, has an installed base, and sees low failure rates, staying on MicroLogix 1100 or 1400 is a defensible choice.
Apply the fix and prove it held
For the usual outcome (quantization flicker plus wiring pickup or open-channel crosstalk), apply the fix in this order:
- Regroup sensors so each module carries a single NTC type.
- Terminate every unused channel with a resistor near the working-sensor value.
- Re-terminate shields at the panel end only, and re-route thermistor pairs away from power and switching cables.
- Set the module filter to the longest value the loop tolerates, based on the step-test time constant.
- Add the logic filter and deadband from Check 6. Remove or filter PID derivative on these inputs.
- Apply per-channel offsets only after a reference-point check, and record them in the program comments.
Then verify:
- Log all channels for at least one full process cycle at operating temperature.
- Confirm peak-to-peak on the raw value is no more than one step on channels holding a steady temperature.
- Place two sensors in the same location and confirm they agree within your process tolerance.
- Step the setpoint and confirm the loop settles without the hunting you saw before the fix.
- Keep the before and after trends with the panel documents.
Stop here and escalate if a fixed resistor at the terminals still wanders by more than one step, or if one channel stays worse than its neighbors. Send AutomationDirect tech support the following:
- The NTC type in use.
- The temperature where the wander occurs.
- The filter speed.
- A precise description of what "oscillate" means: amplitude and period.
- Which channels disagree, and how.
- Trend plots at each filter setting you tested.
FAQ
Can I mix 10K and 3K thermistors on one Productivity NTC module?
No. The NTC type setting applies to every channel on the module, so a 3K sensor on a module set for 10K reads wrong at all temperatures. Put each thermistor type on its own module. The thermocouple module is the one that allows per-channel type selection.
Does a longer filter setting fix P2000 NTC reading oscillation?
It reduces the visible wander, as trends at 4, 16, and 61 ms show. It also delays the value the control loop sees. Choose the longest filter that stays well below the process thermal time constant, and handle the rest with a logic filter and deadband.
Does AutomationDirect tech support need specific data for an NTC noise case?
Yes. Provide the NTC type, the operating temperature, the filter speed, a precise definition of the oscillation (amplitude and period), and details of which channels disagree, plus trend plots at each filter setting. If a fixed precision resistor at the module terminals still wanders, stop field troubleshooting and open a case with that package.