Improve error in cheap "resistance substitution box" - Page 1
Forum section: electronics / projects

author: bsas
author_rank: Regular Contributor
timestamp: February 26, 2018, 07:42:39 pm
content: Hi,So, I am thinking about, as my first "noob" project, I want to build some passive "substitution box" to use on future prototyping (draw the PCB, print it, populate it, etc). The first obvious one will be the obvious "Seven Decade Substitution Box".Obviously I can just buy a bunch of cheap ones from eBay, but, I was wondering. One of the main "features" of expensive boxes is the precision. For example, all cheap ones are around 1% or more on error, but fancy ones like the IET are far more precise, and obviously one of the reasons is because they use more expensive, more precise resistors.But, I was wondering... if instead of populating the board with a bunch of 1ohm, 10ohm, etc resistors, why not use 2x2ohms, 2x20ohms, etc? If I am not mistaken, when you use 2x parallel resistors you can get a smaller error on the final resistance, am I right?So, if I just use cheap "1/8W 1% METAL FILM RESISTOR" in parallel to get a more precise resistance, and add those parallel resistors in series in the whole switch, isn't that a cheaper way to get a more precise (and maybe more wattage tolerant) circuit.Am I just being too naive or dumb on that idea?Thanks!

author: BNElecEng
author_rank: Regular Contributor
timestamp: February 26, 2018, 07:58:30 pm
content: The principal is sound. Have you run the numbers to see how many you would need? If I remember correctly, if you parallel two 1% resistors, you end up with a 0.7% resistor. I'm not sure but I think you divide the tolerance by the square root of the number of parallel resistors. The same applies for putting resistors in series, but you multiply instead of divide.This assumes a normal distribution of resistance values during manufacturing.I'm working on a similar project but I'm hand selecting through hole resistors from packs instead. Mainly because I want a compact and precise substitution box.You could try a mix of both solutions and pick the smd resistors before you solder them.

author: The Soulman
author_rank: Super Contributor
timestamp: February 26, 2018, 08:04:55 pm
content: By paralleling two resistors, accuracy on average should increase however there isn't any guarantee.If you have a good multi-meter you can check the resistors yourself before soldering them, get a bunch of cheap ones and use the best.Or if you need/want lower values you can look on ebay for cheap (old) decade boxes by general radio, these are big but often cheaper and longer lasting than any diy attempt.

author: bsas
author_rank: Regular Contributor
timestamp: February 26, 2018, 08:06:46 pm
content: Quote from: The Soulman on February 26, 2018, 08:04:55 pmI know, but I don't want to buy, I want to build (and learn)

author: DaJMasta
author_rank: Super Contributor
timestamp: February 26, 2018, 10:00:41 pm
content: Yes, as mentioned, the average accuracy goes up, but the absolute tolerances remain the same. Think of it like the bell curve of rolling two dice vs. one. The mean roll of a single dice is 3.5 and the mean roll of two is 7, but because more combinations make 7 and the surrounding couple numbers, you end up with a much heavier weight towards the average, even though you can still just roll two ones or two sixes.You're definitely going to end up with more accuracy if you test and cherry pick your resistors to be right on spec, but paralleling two (or more) without measuring each one, will make most of the steps a bit less swingy and will give you more current handling capability than just picking unchecked single resistors (provided your switches are up to it). And speaking of switches, they may be the most important part of the whole thing. Getting something that stays clean and repeatable over its lifetime while holding up to wear and tear and handling the current you've designed for is important.How many decades are you going for? What's the lowest/highest range? There are some special considerations if you're doing a very low range or a very high one.Could also be worth picking resistors with lower temperature coefficients or lower current noise for some extra quality. For example, your run of the mill thick film resistor will vary more in resistance with respect to temperature and will contribute more to current noise than a moderately higher priced thin film resistor. Now you don't have to go for 0.1% metal foil resistors or anything, but you can probably get a full set of thin films that will work better in some situations for only a couple bucks extra. Since they are temperature sensitive, getting a box to keep the whole thing can also reduce drift in resistance while you use it.All relatively minor changes to the overall performance, but part of what you get from the high end boxes is that all of that is figured out and parts are selected and assembled for those considerations.

author: barry14
author_rank: Regular Contributor
timestamp: February 26, 2018, 10:14:00 pm
content: Paralleling resistors does not improve the accuracy of the combination. For example, if you have a 100 1% resistor then the tolerance is just that, 1%. If you parallel 2 200 ohm 1% resistors, you will also wind up with a 100 ohm 1% resistor. If you use 1% resistors, you will never get a resistor with an accuracy better than 1% no matter how you combine them. Just think about it. If you parallel 100 10,000 ohm 1% resistors, do you really believe you will get a 100 ohm 0.1% resistor? You can improve the standard deviation of the result by the square root of the number of resistors paralleled but the basic accuracy cannot be improved.

author: pigrew
author_rank: Frequent Contributor
timestamp: February 26, 2018, 10:56:24 pm
content: It depends of if the values of the particular resistors you choose are correlated. For example, if you get your resistors from one particular manufacturing run, they may have been running a bit high that one day, so maybe they were all 0.5% to 0.7% high. In this case, they would not average back down to the nominal value.If the resistances were non-correlated with a mean of the nominal value, it would work to average the resistors together.However, it's more reasonable for you to tweak the values by first adding a first resistor, measuring it, and then adding a second resistor to adjust the first one's value. For low resistances, first use a resistor a bit above the nominal value, and then add a much larger value in parallel to tune the value. For large values, you'd want to use a value slightly lower than nominal, and then add a second resistor in series.But, this amount of work likely costs more time than just buying tighter resistance resistors. Also, once you get to the point you're wanting 0.1% resistors, you also will (as already mentioned) want to select for low temperature coefficient parts.Another point to think about is the zero-resistance of your project, i.e. the device resistance when all of the decades are adjusted to zero, and the repeatability of your switches. Finally, what frequency signal are you planning to be using? Do you need to think about parasitic inductance or capacitance?

author: TheUnnamedNewbie
author_rank: Super Contributor
timestamp: February 27, 2018, 01:29:45 pm
content: Quote from: barry14 on February 26, 2018, 10:14:00 pmYet this is done all the time in on-chip situations, for passives and actives. In that case, it is the area, but that just comes down to the same concept. If what you are saying is true, it should also not work for on-chip applications, whereas it does.The most important thing is that one must assume that the errors are uncorrelated. In that case, doing the math will show you it does get better. One 100 ohm, 1% resistor could read 99 ohm, the other 101 ohm. The error on the parallel combination of the two will be very small (49.995 Ohm, or 0.005%). Of course this is a ideal case, but this is likely to happen - in order to have a 49.5 ohm resistor, which would be 1%, both resistors would need to be 99 ohm - in other words both would have to be on the extreme side of one range, which is clearly unlikely. (this is very handwavy but should get the idea across).

author: frog_jr
author_rank: Newbie
timestamp: February 27, 2018, 03:11:05 pm
content: QuoteUnlikely, yes.It is "unlikely" that a specific resistor would be at the edge of the tolerance, but it is possible.It is even more unlikely that multiple resistors would be at the same edge of the tolerance, but it is still possible and since it is possible, the tolerance is still 1%.

author: DaJMasta
author_rank: Super Contributor
timestamp: February 27, 2018, 04:35:52 pm
content: I'd just sort of like to reiterate a point I made in my above post... the tolerance of two resistors in parallel is the same - they can have the same full range variation, but the statistical distribution of how far the pair deviates from the specified value decreases significantly.Your worst case scenario is the same giving you the same overall tolerance, but your resistor pairs are more likely to be closer to the specified value.So if tolerance is important and you're making a thousand products, your yield of products within tolerance will be significantly higher with two resistors in parallel, but the tolerance of the parts in question does not change. It's just less likely with two in parallel that their combined resistance to be at the extremes of tolerance.

author: cellularmitosis
author_rank: Unknown
timestamp: February 27, 2018, 07:13:12 pm
content: Hey bsas,A while ago I was trying to make a DIY instrumentation amp, and I needed to find the four most closely matched resistors out of a pile (actually, I was trying to find the best two pairs). I wrote a python script to do this.Given this set of resistors:Code:99.7099.9899.7699.45100.2599.4599.2099.5699.4399.8699.8399.7799.6299.53100.1199.2999.58this is what it spits out:Code:$ python best-four-of-n.py resistors.txtBest result:Pair 1: r17/r4 (99.58/99.45), ratio: 1.00130718954Pair 2: r8/r9 (99.56/99.43), ratio: 1.00130745248These pairs form ratios which are mis-matched by 0.000026%If you know a bit of python, you could use this as a starting point and write a script which finds the closest 10 resistors out of a pile of 20 or 30.

author: cellularmitosis
author_rank: Unknown
timestamp: February 27, 2018, 07:22:37 pm
content: Hmm, actually, now that I think about it, solving the problem of "find the 10 closest resistors in a pile" is even easier to solve.Measure a pile of resistors, sort the measurements, then create a moving window of 10 values and scan over the list of values. Try each window of 10 and see which set has the least "variance". The simple way to do that is to subtract the value 1 from value 10.

author: TheUnnamedNewbie
author_rank: Super Contributor
timestamp: February 28, 2018, 08:02:20 am
content: Quote from: DaJMasta on February 27, 2018, 04:35:52 pmI think this sums it up quite well. I feel like both sides (the side that says it does get better and the side that says it doesn't) were arguing the same thing but just looking at it from a different viewpoint.