How to make a voltage controlled adjustable resistor?

I need it for simulating PT100, PT500, PT1000 RTDs, and thermistors in a temperature range of 0-200 °C. What I want to do is for example: enter 50 °C using a microcontroller, and through the DAC output, it generates me a specific voltage, which I can use to adjust a resistor. I have to connect it as a two-terminal to devices, and it has to behave like the temperature is 50 °C.

• I think this is not the right way to go for thermistor calibration. You can get close to the correct operation by calculations, the rest should be done using reference temperatures (standards). Mar 30, 2016 at 7:36

This is presented as an incomplete answer.

Most Pt100 circuits work by feeding a constant, known, current in the order of 1 mA through the sensor and by measuring the voltage developed across its terminals to either calculate or look up the temperature. By replacing the Pt sensor with a calibrated resistor we can easily simulate the 0°C condition. Any temperatures higher than zero can be simulated by pushing additional current from an external source through the resistor.

simulate this circuit – Schematic created using CircuitLab

Figure 1. Pt100 / 500 / 1000 simulator.

If the sensor current is known and is exactly the same on every device to be tested the circuit of Figure 1 might go some way to providing a solution. For example, assuming 1 mA from the Pt100 source and SW1 closed and "resistances" of 100 Ω at 0°C and 119.25 Ω at 40°C (based on 0.385 Ω/K, which I have not checked):

• Voltages required across R1 will be 100 mV and 119.25 mV respectively.
• Setting DAC voltage to 100 mV should result in the op-amp contributing nothing as the voltage drop from the Pt100 current source will provide the required voltage drop and the op-amp input terminals will have equal voltage and will be "happy".
• Setting the DAC voltage to 119.25 mV will cause the op-amp output voltage to increase, driving additional current through R1 and causing its voltage to rise unitl then non-inverting input is also at 119.25 mV. This should result in a 50°C reading on the instrument under test.

"Ah," I hear you cry, "but we don't know the source current!"

Well then we'll have to measure it.

simulate this circuit

Figure 2. Pt100 / 500 / 1000 simulator with sensor current measurement.

By reducing the DAC output to zero the op-amp output will go to zero. D1 prevents the op-amp from loading R1. By reading the resultant voltage across R1 we can calculate the current and scale the DAC output to suit. D1 should be low reverse leakage type.

Note that the circuit must be floating and not have any other connections to the device under test. Reverse connection protection is advised: a diode from op-amp output to V+ and another from GND should do the trick.

Several design challenges remain:

• Adequate resolution on the DAC output. This may be possible by using the full DAC output range and using a further op-amp circuit to amplify (gain < 1) and offset the control signal.
• Adequate resolution on the ADC input. As above but remove offset and scale up.
• Thanks! This solution is working with thermistors as well, if the device uses the same technique for measurement, right? Mar 31, 2016 at 18:27
• It should do. One thing I forgot to mention is that if you want to go to negative temperatures you need to choose lower value resistors than the standard 100, 500 and 1000 Ω values. Let me know if this works for you. Mar 31, 2016 at 19:01

A "digital potentiometer" may help you. Its input is digital, generally I2C, so you can drive it directly with the microprocessor. You can find them in stores like Digikey, Mouser and so on...

If you are looking for an analog solution, then you could use use a MOSFET in triode operating region, or a voltage controlled current source. But this solutions may take more design time, specially if you want to connect them as a two-terminal device, which I interpret from your question .

I presume you will want some level of accuracy.

For the PT100 simulator, I suggest a high quality low tempco 110 ohm resistor. Now put a digital pot, or a voltage controlled FET, in series with a padding resistor, across the resistor to bring its value down to the 100 ohm region.

By suitable choice of padding resistor and digipot/FET resistances, this allows you to use effective resolutions for the pot that you wouldn't otherwise be able to use. It also means that the drift in the adjustable element is 'diluted' by the good quality fixed resistor.

In addition to the other fine ideas, you could use a voltage controlled oscillator to produce a clock of variable frequency, and then use switched capacitor techniques to produce an effective resistor that varies with clock frequency.

Voltage controllerd resistor is called transistor. But why voltage controlled? There are SPI controlled resistors, more accurate and nice.

• I don`t think that a bipolar transistor can be used as a voltage controlled resistor - hower, a FET can! But note that the voltage across this resistor (must be grounded!) must not exceed some hundreds of millivolts (due to a certain degree of non-linearity).
– LvW
Mar 29, 2016 at 18:00
• Bipolar may either, depending on circuit. He probably has pull up, so current will be directly translated to voltage, same as resistance
– user76844
Mar 29, 2016 at 18:03
• Oh, and linearity is not an issue- just have to use lookup table for voltage vs temperature
– user76844
Mar 29, 2016 at 18:04
• I thought about that, but my biggest issue is that: for PT100, 1°C means 0.385 ohm, and i couldn't find a digital potentiometer with that kind of resolution. Mar 29, 2016 at 18:08
• Gregory K. - Definitely. a bipolar transistor cannot be used as a "linear" resistor. Did you ever see such an application?
– LvW
Mar 30, 2016 at 6:52

The practical way to make a high accuracy simulated resistor (other than a few dozen switched resistors) is to assume that there will be a current through the resistor (usually something like 100uA to 1mA for RTDs, but it could be lower or higher), and to assume it's DC (though sometimes it isn't).

Measure the current at a terminal (say into a virtual ground transimpedance amplifier configuration capable of sinking or sourcing the maximum anticipated current), and force the other terminal to a voltage Vout = Imeasured * Rsim. The DAC output has to handle the maximum voltage anticipated across the sensor and the maximum current anticipated.

The calculation could be done digitally- measured with a bipolar ADC and the output delivered via a bipolar DAC, but it's often better to just use a 4-quadrant (2 used) multiplying DAC for faster response and simplicity. You feed the (bipolar) current measurement into the DAC, along with the digital data for the simulated resistance.

Of course all that is easier said than done, but it's not too difficult for anyone who designs precision instrumentation (unless you want to consider pathological cases where current is very low or very high, or where the energization is AC or switched DC). In the latter case you have to start worrying about the frequency response.

I see several suggestions for digipots and FET's in varying configurations, but no one has mentioned light-dependent-resistors yet. Like the name suggests, LDR's have usably-varying resistance depending on the amount of light that hits them.

I don't have any personal experience with them, except to read well-described schematics - mostly audio gear like compressors and crossfaders - but they might be worth looking into. Potential issues are:

• Uncalibrated accuracy: likely to have a wide tolerance from the manufacturer but consistent behavior of each unit.
• Light leakage if you make your own LED+LDR unit. (They can also be bought.)

Neither problem should be a deal-breaker; like all approaches to all projects, you just have to be aware of the potential issues and account for them.

I'd use a dual ganged motor potentiometer, so I can read back the current position using an ADC and make adjustments by controlling the motor.

Pro:

• easy to build
• easy to calibrate
• fully isolated

Con:

• moving mechanical parts