Adding resistance to low-voltage current.

Hi,

I have a low current in a 3d-printer (temperature probe), that needs resistance added to it in steps of 3,6 ohm. Is there a way to do this electronically with the Arduino, without requiring physical switches? The maximum added resistance would be 36 ohm (10 steps). This could be a little lower if necessary, the most important range is between 0 and 4 steps....

Thanks in advance for the advice!

Maybe look at digital potentiometers?

But I don't know what it means to add resistance to a current, so I'm not sure if that's a good answer.

If you have 10 spare analog pins, connect ten 3.6Ω resistors in series and to the pins as follows:

[size=0.8em]
Probe—●—3.6Ω—●—3.6Ω—●—3.6Ω—●—3.6Ω—●—3.6Ω—●—3.6Ω—●—3.6Ω—●—3.6Ω—●—3.6Ω—●—3.6Ω—●
       A0       A1       A2       A3       A4       A5       A6       A7       A8       A9      A10[/size]

Configure all pins as input (high Z).
Configure the required pin as output (write LOW as required).
To change step, reconfigure previously selected pin as input and choose another to configure as output.
(untested)

dlloyd:
If you have 10 spare I/O pins, connect ten 3.6Ω resistors in series and to the pins as follows:

[size=0.9em]

TempProbe—●—3.6Ω—●—3.6Ω—●—3.6Ω—●—3.6Ω—●—3.6Ω—●—3.6Ω—●—3.6Ω—●—3.6Ω—●—3.6Ω—●
          D2       D3       D4       D5       D6       D7       D8       D9       D10      D11[/size]




Configure all pins as input (high Z).
Configure the required pin as output (write HIGH or LOW as required).
To change step, reconfigure previously selected pin as input and choose another to configure as output.
**(untested)**

...obviously.

Geez...2AM here and beat by 2 min ... anyways, re-configuring analog inputs should work.

EDIT: Note to webmaster - fix the button from automatically inserting extra line returns, which accumulate for each edit (unless you like wasting all the extra screen space and people's time).

dlloyd:
Geez...2AM here and beat by 2 min ... anyways, re-configuring analog inputs should work.

EDIT: Note to webmaster - fix the button from automatically inserting extra line returns, which accumulate for each edit (unless you like wasting all the extra screen space and people's time).

Regardless of whether the pins are set as inputs, outputs or burned out, that circuit won't work.

dlloyd:
EDIT: Note to webmaster - fix the button from automatically inserting extra line returns, which accumulate for each edit (unless you like wasting all the extra screen space and people’s time).

By the way, for the

 effect, I simply use the TT (typewriter text) button.

It works quite nicely. And if you use bold is works great to show 1 or two lines of code

[b]fread (buffer, sizeof (char), fsize, fp);[/b]

like that.

Regardless of whether the pins are set as inputs, outputs or burned out, that circuit won’t work.

You didn’t elaborate why it won’t work.

To elaborate why it should work, the OP mentioned it’s a low current probe. Checking the web, many types used for 3d-printers are 100K. In the circuit shown, one pin is used as a “virtual ground” by configuring it as an output and setting it low. The pin “above” it is set as input and is used to read the probe’s voltage. Resistance is added or removed from the circuit by stepping up or down pins with the virtual ground.

Alternately, the digital output pin could be used to power the probe … it could be stepped in the same fashion for an inverted response to temperature. (untested).

Circuit showing A5 configured as OUTPUT and driven LOW:

By the way, for the

 effect, I simply use the TT (typewriter text) button.

For long lines of mono-spaced text, The Tt feature is too big - creating undesired line wraps, which of course, don’t always show up in preview)

Hi, I think we should wait until the OP gets back, its not clear what the sensor is, how much current, why the need to add resistance.
We have a translation problem here and some simple clear questions and explanations are the only way we can help.

If the resistance has to be added to change the overall temperature control, then the OP is probably not very conversant in temp control and that the arduino can do it for him/her if we know the full picture.

I look at the post time on the OP's first message and not expect a reply for at least 18 to 24hours, unless I know the OP's country.

Tom...... :slight_smile:

Hi all,

I need to modify (increase) the resistance of a thermistor by a few ohms. The range is about 3->32, ohms.

Is there a way / hardware hack to make an Arduino do this?

If not, is there some kind of digital pot that works with the Arduino and has such a low range?

Thanks in advance for your comments and suggestions!

M

Haha, still at it. Have read your previous posts.

I would use four resistors and a 4-relay board.
Imagine four resistors in series, with each resistor having it's own relay contact across.
Resistor values are 3.6ohms, 7.2ohms, 14.4ohms, 28.8ohms.
By switching one or more relays, you can have any resistor value you want, in 3.6ohm steps, from 0-54ohm.
Leo..

stormychel:
I need to modify (increase) the resistance of a thermistor by a few ohms. The range is about 3->32, ohms.

Why?

Some digital pot go as low as 64 ohms.

I don't remember the manufacturer but Mr Google could help !

dlloyd:
You didn't elaborate why it won't work.

Shouldn't need to.

You specified nine steps of 3.6Ω, connected to Arduino pins.

You appear to have forgotten that the functional internal resistance of an Arduino pin is itself greater than the sum of those nine resistors.

In case the OP doesn't explain why he wants to do what he is asking about, then I have the answer:

A popular make of 3D printers have a fixed nozzle temperature, that is set to the optimum temperature for use with the machine manufacturer's own ABS filament. However if you want to use a generic (and much cheaper) source of filament, then that is better processed at a lower temperature.

Because there is no way to adjust the nozzle temperature in the supplied software, then users have come up with a work-around.

By adding extra resistance in series with the PT100 Platinum Resistance Thermometer, it is possible to fool the machine into thinking that the nozzle is hotter than it really is, thus allowing the required reduction in temperature.

Each added 3.6Ω represents a reduction of 10° from the normal 270°C operating temperature.

First of all, I think we would need to know if "adding" resistance means sticking them inline between two components, or between a component and ground / supply / other reference.

Either way, if the resistance is in the order of 3.6Ω, then the answer is probably a relay, though it may just be possible to use logic level (discrete) power FETs.

I've had one of these printers for 3 years now, and am still considering doing a modification.

Most users seem to cut one particular conductor in a ribbon cable, and add the resistance there, but without seeing a schematic, I can't say whether this point is grounded/supply voltage or what.

This topic is the most popular at this forum.

As an electronic engineer for nearly 40 years, I would just use a rotary or thumbwheel switch to select the extra resistance

Wawa:
http://forum.arduino.cc/index.php?topic=294422.msg2056130#msg2056130

Lots of Replies but no OP participation.

Firstly you only need 4 resistors of value 3.6, 7.2, 14.4 and 28.8 ohms (OK, you’ll
need a pair of resistors to approximate each value well). 4 MOSFETs as switches
across each resistor may then be feasible - however you first need to see what voltages
are present on the sensor leads - hopefully they are near ground so an n-channel
FET can be used as a floating switch. MOSFETs with on-resistance < 0.05 ohm are
plentiful, but you’ll need logic-level ones.

If the sensor voltages aren’t near ground (say in the 0V to 1V range) then this
probably isn’t viable…