Variable digital resistor

Thread Starter

bradfernandez

Joined May 28, 2019
15
Hello everybody,
I have run into an issue that I have been unable to figure out on my own with only the internet as my partner. So I thought I would give All About Circuits a try. I would like to simulate a PT100 RTD output. Which for us comes down to basically needing to be able to control a resistance via a micro-controller from zero to 100ohm. So far I have tried a physical pot to verify I could control a pt100 amplifier in the way I thought it worked. And that did work well. Next I tried an optoisolator which also worked fairly well. Gave me good control and a decent resolution. But they are not very consistent from sensor to sensor. So not exactly ideal for outputting an accurate temp from device to device without a lot of calibration. Next i'm thinking of using a quad digital 1k potentiometer in a 4 way parallel configuration. That only gets me down to 250 ohms of adjustment in 256 steps. This would probably work decently well but still doesn't give me the best resolution. I have read about a resistor network and digital switches\relays possibly working but I'm not sure what combination would work for this. Any other ideas how I can solve this are very welcome. Any input would be greatly appreciated. Please let me know if I am even logically close to being correct about how i'm approaching this. Thanks everyone! Brad
 

drc_567

Joined Dec 29, 2008
1,156
... another idea, something that may or may not work out.
There is a class of potentiometers that are designed for dynamic performance. They generally have better precision and linearity than ordinary potentiometers, and are made to withstand repeated motion and changing. So in order to utilize one of these for your application, you could attach a stepper motor to the control shaft, then use a micro-controller to increment or decrement by a given number of motor steps.
An example part is linked here, however you may want to search for one with a lower total resistance ... maybe 500 Ω full scale, if you can find one.
https://www.alliedelec.com/product/...V0quWCh1BEwauEAQYBSABEgIQpfD_BwE&gclsrc=aw.ds
 

OBW0549

Joined Mar 2, 2015
3,566
There are a couple of things you need to consider regarding digital pots:

First, ALL digital pots have limitations on the voltages that can be applied to the potentiometer terminals (i.e., the two ends and the wiper), and for most of them these voltages absolutely MUST lie within the supply voltage range-- usually between 0 volts and 5 volts. Applying any voltage outside that range will result in malfunction and/or possible destruction of the device. Your application circuit must satisfy that requirement.

Second, all digipots have a wiper series resistance that cannot be eliminated. When used in a potentiometric fashion this is not normally a problem; but if the digipot is used as a rheostat the wiper series resistance can be a significant contributor to the total resistance. Beware the wiper series resistance.

And third, in many digital pots the resistance is VERY temperature-sensitive. Again, when used in a potentiometric fashion this may not present any problem, but when acting as a rheostat the resistance temperature coefficient can cause big errors if the temperature is changing. Choose a digipot with low resistance tempco.
 
Here is a circuit from the LM13700 data sheet that may work. It has a control voltage that sets the resistance value, I would use a digital potentiometer to set the control voltage. You will have to check the circuit to determine if the resistance range can be set low enough.


upload_2019-6-11_16-1-24.png
 

crutschow

Joined Mar 14, 2008
34,284
Here is a circuit from the LM13700 data sheet that may work. It has a control voltage that sets the resistance value, I would use a digital potentiometer to set the control voltage.
The voltage DAC output from a micro should also work to generate an accurate voltage.

Can the circuit simulated resistance be referenced to ground if required for the TS's purpose?
 
The voltage DAC output from a micro should also work to generate an accurate voltage.

Can the circuit simulated resistance be referenced to ground if required for the TS's purpose?
A DAC would be a great solution.
Since the circuit uses +- 15 volt supplies I believe one side can be referenced to ground with no problem.
 

danadak

Joined Mar 10, 2018
4,057
Something like this -

upload_2019-6-12_8-10-5.png


Cypress PSOC, one chip, low cost board ($10), component catalog attached ( a component is
an onchip resource).

https://www.cypress.com/documentati...oc-5lp-prototyping-kit-onboard-programmer-and



With onboard processor could easily build a transform table, use least squares
function fit, power curve, to generate a linear V to Ohms converter.

Note design shows RTD emulated grounded, depending on common mode environment
could also be done floating, further environmentals needed to determine this.


Regards, Dana.
 

Attachments

Last edited:

Thread Starter

bradfernandez

Joined May 28, 2019
15
The voltage DAC output from a micro should also work to generate an accurate voltage.

Can the circuit simulated resistance be referenced to ground if required for the TS's purpose?
No the resistor needs to be floating. I need a Terminal A and a Wiper. Also just a reminder the PT100 sensors use a vary low voltage. I am measuring around .25 volts. I don't think a DAC directly is going to give me a usable resolution.(Though I could be wrong.)
 

Thread Starter

bradfernandez

Joined May 28, 2019
15
Unless you absolutely need to use the same power source as the RTD circuit, the resistor simulation could use different voltages.
I don't need the same power as the RTD circuit. I just currently have only 5 volts from my micro. I would like to avoid building an additional power supply if at all possible. But if not possible I may have to bite a bullet and add in one.
 
I've thought of another way to create the resistor and I am in the process of simulating it in LTSpice. Unfortunately I'm not at home and do not have access to show a schematic. I'll get it out tonight when I get home.
It would require a negative voltage but the current and voltage requirements are low. You could use a charge pump inverter to create the negative supply. They are cheap and easy to use. Here is a good example: https://www.analog.com/en/products/ltc1983.html#product-overview
 

OBW0549

Joined Mar 2, 2015
3,566
I would like to simulate a PT100 RTD output. Which for us comes down to basically needing to be able to control a resistance via a micro-controller from zero to 100ohm.
Why 0 to 100Ω? Even as low as -100°C, the resistance of a 100Ω RTD drops only to 60Ω; do you really need to go lower than that? Also, if your upper resistance limit is 100Ω, that only takes you as high as 0°C. Is that only as high as you need to go? It would be helpful to know what temperature range you need to simulate, rather than simply picking arbitrary resistance values.

It would also be helpful to know what this is for, and how it will be used. Is it to be part of some sort of test apparatus to verify the operation of Pt100 interface circuits? Or to simulate the operation of a temperature sensor in a temperature control loop? It isn't clear what you're trying to do.

It's also unclear why the concern about resolution; do you really need to vary the simulated Pt100 resistance in very small steps? Or would a few discrete values suffice?

I have read about a resistor network and digital switches\relays possibly working but I'm not sure what combination would work for this.
For testing the RTD signal conditioning circuits I've designed, I use a very simple setup for calibration and test: a 100.00Ω 0.01% precision resistor to represent 0°C, and for 100°C I add a parallel combination of 50.00Ω, 250.0Ω and 500.0Ω (all 0.01%) in series with that, yielding 138.5Ω. A toggle switch with low-resistance contacts selects either the 100Ω resistor or the entire string.

I've never needed anything more complex than that.

It would really help if we knew more about what you're trying to achieve; implemented the way you've described, you've got a VERY difficult design challenge if you're trying to get good accuracy.
 

Thread Starter

bradfernandez

Joined May 28, 2019
15
Could I do this with a DAC and a resistor divider. I just tested that and while i'm in the wrong temp range if I change some resistors around I should be able to get it to the correct range.
 

Thread Starter

bradfernandez

Joined May 28, 2019
15
Why 0 to 100Ω? Even as low as -100°C, the resistance of a 100Ω RTD drops only to 60Ω; do you really need to go lower than that? Also, if your upper resistance limit is 100Ω, that only takes you as high as 0°C. Is that only as high as you need to go? It would be helpful to know what temperature range you need to simulate, rather than simply picking arbitrary resistance values.

It would also be helpful to know what this is for, and how it will be used. Is it to be part of some sort of test apparatus to verify the operation of Pt100 interface circuits? Or to simulate the operation of a temperature sensor in a temperature control loop? It isn't clear what you're trying to do.

It's also unclear why the concern about resolution; do you really need to vary the simulated Pt100 resistance in very small steps? Or would a few discrete values suffice?


For the RTD signal conditioning circuits I've designed, I use a very simple setup for calibration and test: a 100.00Ω 0.01% precision resistor to represent 0°C, and for 100°C I add a parallel combination of 50.00Ω, 250.0Ω and 500.0Ω (all 0.01%) in series with that, yielding 138.5Ω. A toggle switch with low-resistance contacts selects either the 100Ω resistor or the entire string.

I've never needed anything more complex than that.

It would really help if we knew more about what you're trying to achieve; implemented the you've described, you've got a VERY difficult design challenge if you're trying to get good accuracy.
Firstly thank you very much for taking the time to answer this beginners questions. So basically we have a sensor system that is controlled by a wifi microcontroller the particle photon. In some cases our customers only have one port into there tanks that is currently filled with a PT100 temp sensor. What I would like to do is remove the PT100 and replace it with our sensor. To prevent the customer from losing said temp sensor from there control panel I would like to output a "PT100" signal so that there control system can still see a temp. We only need positive temps from around 30 - 100 degrees, So we can have a base of 100 ohms and just adjust the upper 100 ohms.Because this is going into a control system I would like a reasonable resolution so that the customer doesn't suddenly only see big steps in there control system.
 

Janis59

Joined Aug 21, 2017
1,834
RE: Brad - isnt this a case where better to "take bigger hammer". Just Octopart shows the plenty of 16 bit ADC, many 24 bit ADC and few even 32 bit ADC. Well half of em are able to give a serial data straight to Your Arduino or whatsever a 8 bit portions or any else. The operational never will give anything hear even the 10 bits, just inaccuracies there are sure too big except a 100 USD wunderwaffles. ADC are nowadays relatively cheap, sure beyound a 10 USD and maybe even under 3...4 USD.
 

OBW0549

Joined Mar 2, 2015
3,566
Firstly thank you very much for taking the time to answer this beginners questions. So basically we have a sensor system that is controlled by a wifi microcontroller the particle photon. In some cases our customers only have one port into there tanks that is currently filled with a PT100 temp sensor. What I would like to do is remove the PT100 and replace it with our sensor. To prevent the customer from losing said temp sensor from there control panel I would like to output a "PT100" signal so that there control system can still see a temp. We only need positive temps from around 30 - 100 degrees, So we can have a base of 100 ohms and just adjust the upper 100 ohms.Because this is going into a control system I would like a reasonable resolution so that the customer doesn't suddenly only see big steps in there control system.
In that case, I think the best approach is the one suggested by @Kjeldgaard in post #9, which is the circuit posted here.
 
Top