How to wire given resistors to yield a total resistance?

In summary: return 0def para(a,b): return a*b/(a+b)def find(r,sol): global count l = len(r) if l <= 1: count = count + 1 if abs(r[0] - 206.421) < error: print (sol) return 1 else:
  • #1
Stank95
2
0
Essentially I have been given five resistors of strength 180 kΩ, 220 kΩ, 270 kΩ, 330 kΩ, and 390 kΩ and have been told to devise a way to wire these to produce a total resistance of exactly 206.421 kΩ. I have been working on this simply using a guess and check method and have had no luck. Hopefully someone could explain an actual method that I could use, and or provide the set up required. Any and all help is appreciated. Thanks
 
Physics news on Phys.org
  • #2
You might have to end up doing a process of elimination by putting them all in parallel first, then get equivalent resistance and so on.
 
  • #3
I've determined so far that there are no resistors in series on their own, however there have to be some in series within a parallel branch. There is also only one parallel branch within a another parallel. I'm fairly certain I have the wiring correct, but there are literally thousands of combinations of where to put the resistors. That is the main problem.
 
  • #4
I'd probably come up with a bunch of possible topologies and write a computer program to try each possible resistor at each possible location.
 
  • #5
I don't see what's wrong with guess and check, and I don't see that there are thousands of possibilities. Just be methodical:

All parallel: 51 ohms, too small.
1 in series, 4 in parallel: 252-449 ohms, too big.
2+ in series, 3 in parallel: even bigger.
A group of 2 in parallel in series with a group of 3 in parallel: 206.55-251.19, too big.

And so on.
 
  • #6
There are thousands of possibilities. Specifically there are at least:
[tex]\sum _{n=1}^5 \frac{5!}{(5-n)!}2^{n-1}=3165[/tex]
possibilities
 
Last edited:
  • #7
There may be over 3000 possibilities for wiring the resistors, but many can be eliminated by looking at the values of the individual resistors versus the desired equivalent resistance.

As Vanadium 50 has pointed out, all resistors in series and all resistors in parallel have equivalent resistances which are too large and too small. Therefore, it stands to reason that a combination of at least two sets of resistors wired in parallel and then wired in series would give the desired equivalent resistance.
 
  • #8
I can't see a way to get the fractional part with just two resistors. Nearest I got with a spreadsheet was 116.471 (= 330//180).

Edit: Nearest I can get quickly is 206.471 using 180//180 + 330//180 but I guess that's not allowed :-)
 
Last edited:
  • #9
Using the python program below the closest I can get is 206.4177

Output is:

['+', 180, 220, 400, '//', 270, 400, 161.1940, '+', 390, 161.1940, 551.1940, '//', 330, 551.1940, 206.4177]

so 180 and 220 in series, the result parallel with 270, the result of that in series with 390
and the result of that parallel with 330 to get 206.4177

The find function takes a list of resistors of length n, and considers all the ways to make a list of resistors of length n-1 from it, by combining 2 of them, or just dropping 1 resistor.
eventually you get a list of length 1, and you can compare the only member of the list with the target.
If you put in error = 0.0005, you get no solution, and 14400 lists of length 1 are considered.

Code:
resistors  = [180,220,270,330,390]

error = 0.005

count = 0

def para(a,b): return a*b/(a+b)

def find(r,sol):

    global count

    l = len(r)
    
    if l <= 1:

        count = count + 1
    
        if abs(r[0] - 206.421) < error:

            print (sol)
            return 1
        else:
            return 0
    else: 

        for i in range(0,l): 
            if find(r[0:i] + r[i+1:l],sol): return 1

        for i in range(0,l-1):
            for j in range(i+1,l):

                if find(r[0:i] + r[i+1:j] + r[j+1:l] + [ r[i] + r[j] ] ,sol + ['+'] + [r[i]]+[r[j]]+[ r[i] + r[j] ] ):
                    return 1
                if find(r[0:i] + r[i+1:j] + r[j+1:l] + [para(r[i],r[j])], sol + ["//"] + [r[i]]+[r[j]]+[ para(r[i],r[j]) ]): 
                    return 1

        return 0find (resistors,[])
print (count)

There are still 30 different bridge networks where no resistances are parallel or in series to try.
 
  • #10
All the bridge networks have resistance > 239 ohm, so there are no solutions.

If you add 470 ohm, you get (180+470)//(220+390)//(270+300)) = 206.4108 ohm
 
  • #11
Stank95 said:
Essentially I have been given five resistors of strength 180 kΩ, 220 kΩ, 270 kΩ, 330 kΩ, and 390 kΩ and have been told to devise a way to wire these to produce a total resistance of exactly 206.421 kΩ. I have been working on this simply using a guess and check method and have had no luck. Hopefully someone could explain an actual method that I could use, and or provide the set up required. Any and all help is appreciated. Thanks
Seriously, it can't be done.

The best resistors are typically accurate to 1% (about 2 to 4 kΩ, for the ones you are given). Yet you are to produce a final resistance accurate to 0.001 kΩ! I'd be very much surprised if you could measure these resistors to better than 0.1 kΩ, but do correct me if I'm wrong.

If you really need a 206 kΩ resistor, then just get a 200 kΩ resistor, measure it, then get 1 or 2 smaller resistors to make up the remaining difference and put them in series.

Who gave you this task? It makes no sense and serves no useful purpose that I can see.
 
  • #12
We used to have a table on the lab wall to help us with this. You never needed more than two resistors - if you took the tolerances into account. :wink:
 
  • #13
"exactly" to 3 decimal places is pretty tough.
 
  • #14
It appears to be a homework assignment, assuming perfect resistors.
 
  • #15
RocketSci5KN said:
It appears to be a homework assignment, assuming perfect resistors.

Yes. A Maths homework and not much use for learning Electronics. Accuracy and tolerances are what Engineering's all about
 
  • #16
I tried a number of topologies including an unbalanced wheatstone bridge. So far, it looks like Willem2's solution is the closest. The next closest solution from the ones I tried came to 206.471 ohms.
 

FAQ: How to wire given resistors to yield a total resistance?

1. How do I calculate the total resistance when wiring resistors in series?

To calculate the total resistance in a series circuit, simply add the individual resistances together. This is because in a series circuit, the current flows through each resistor one after the other, creating a cumulative effect on the overall resistance.

2. What is the formula for calculating the total resistance in a parallel circuit?

The formula for calculating the total resistance in a parallel circuit is 1/Rt = 1/R1 + 1/R2 + 1/R3 + ... + 1/Rn. This means that the reciprocal of the total resistance is equal to the sum of the reciprocals of each individual resistance.

3. How do I determine the correct wattage for my resistors?

The wattage of a resistor indicates its power handling capacity. To determine the correct wattage, you need to know the maximum current that will flow through the resistor and use the formula P = I^2 * R, where P is power in watts, I is current in amps, and R is resistance in ohms.

4. Can I replace a single resistor with multiple resistors to achieve the same total resistance?

Yes, you can replace a single resistor with multiple resistors in series or parallel to achieve the same total resistance. This is known as a "resistor network" and can be useful when you do not have a single resistor with the desired resistance value.

5. What happens if I wire resistors with different resistance values together?

If you wire resistors with different resistance values together, the total resistance will be less than the value of the smallest resistor. This is because the current will take the path of least resistance, bypassing the larger resistors and resulting in a lower overall resistance.

Back
Top