Electronics > Projects, Designs, and Technical Stuff

Selecting cheap resistors for a precision voltage divider

(1/4) > >>

HendriXML:
In this thread below I've explored component combination simulators: trying different combinations to get a desired target value.

That thread was more about user interface implementations of these simulators, but initially they where ment to be used in scripts to get any (replacement) resistor value, with a decent precision of around 1%-%2.

There're simulators for 3 levels of availability:

* Simulating E-Serie values - matching values on a spec level can be bought (easily)
* Simulating resistors on stock - matching values on a spec level, that are available
* Simulating measured resistors - matching values that actually exists
In this thread I'll be using a combination of Simulating resistors on stock and Simulating measured resistors using scripts, specifically to get an precise voltage divider.

The target was set to get an "circumference voltage divider": radius in, circumference / 10 out. Thus a ratio of 2/10 pi which I rounded to 0.628318.

For those who ask themselves why I would want to invest this much effort in this. Scripting around electronics is for me a hobby on itself. I like exploring, measuring and puzzle in this way.

HendriXML:
I choose 2x the resistor configuration 13 (the best performing configuration on precision when using e12 values). And place 2 of those in series.

Another option was to have one part (B) with only 3 resistors. In this way the power dissipation could be a bit more evenly spread.

This is important in the case of self heating. Where the resistance of the same material will relatively change differently when power ratio's are different and power is significant. This is a risk to take into account when combining resistors.

When choosing the resistor values I purposely choose values with significant power consumption at 10V.

Kleinstein:
An important principle in getting a reasonable stable divider from cheap resistors is using multiple equal resistors from the same batch to at least get the approximate value. The fine tuning is than the less critical part.  Using a few more resistors can also help in statistical avering way. So for the 0,628 example one could start with 4 and 7 resistors on each side (give a ratio of 0.636 and thus reasonable close). Even if the cheap reasistors have quite some TC, chances are much of it is correlated and the relatice TC can be considerably better. A similar effect applies to drift, at least as long as the porblem is steady drify and not a chance for sudden total failure.

The idea of using same value resistors also applies to ready made resistor arrays.

HendriXML:
The first simulations where used to get resistor values that:

* Where on stock
* Would dissipate less than 50% of their rated power at 10V
I solved this by calculating the resistance values (replacement A) in case of maximum allowed power, and in case of best power spread (25% x4).

Then repeatedly increasing the replacement values and simulating stock values targetting replacement A and replacement B.
Saving optimal combinations each time the actual power consumption (due to non-optimal ratio's) would be OK. After 5 successes this process would stop.

The best combinations score well on a metric that takes not only precision, but also power ratio's into account.

Provides calculated values - divider
consumes
Provides choosen values - divider
Q_DividerRatioTarget                    : 0,628318
V_DividerMax                            : 10,000 V
Q_DividerResistorPowerRatioMax          : 50,000%
Q_SimRelativeInputAccuracy              : 0,1%
Q_SimRelativeTargetAccuracy             : 0,01%
Provides specified values - divider
P_DividerResistorMax                    : 250,000 mW
ChoosenProcess_ComponentCombinationInfo
intermediate
P_DividerResistorTargetMax              : 125,000 mW
P_DividerReplacementResistorTargetMax   : 500,00 mW
R_DividerTotalTargetMin                 : 125,66 Ω
Iteration 1
P_DividerTotalMax                       : 795,8 mW
P_ReplacementResistorMaxA               : 500,0 mW
P_ReplacementResistorMaxB               : 295,8 mW
Q_ReplacementResistorPowerRatioMaxA     : 25,000%
Q_ReplacementResistorPowerRatioMaxB     : 42,26%
R_ReplacementResistorTargetA            : 78,96 Ω
R_ReplacementResistorTargetB            : 46,71 Ω
Target A
Non conformity A                        : 5,11
Relative weigth A                       : 24,17%
Relative weigth B                       : 24,17%
Relative weigth C                       : 31,42%
Relative weigth D                       : 20,25%
..
Iteration 11
P_DividerTotalMax                       : 488,5 mW
P_ReplacementResistorMaxA               : 306,96 mW
P_ReplacementResistorMaxB               : 181,6 mW
Q_ReplacementResistorPowerRatioMaxA     : 40,72%
Q_ReplacementResistorPowerRatioMaxB     : 68,84%
R_ReplacementResistorTargetA            : 128,61 Ω
R_ReplacementResistorTargetB            : 76,08 Ω
Target A
Non conformity A                        : 5,489
Relative weigth A                       : 19,11%
Relative weigth B                       : 15,93%
Relative weigth C                       : 29,23%
Relative weigth D                       : 35,72%
Target B
Non conformity B                        : 5,662
Relative weigth A                       : 31,85%
Relative weigth B                       : 5,41%
Relative weigth C                       : 39,69%
Relative weigth D                       : 23,05%
Iteration 12
P_DividerTotalMax                       : 465,3 mW
P_ReplacementResistorMaxA               : 292,34 mW
P_ReplacementResistorMaxB               : 172,9 mW
Q_ReplacementResistorPowerRatioMaxA     : 42,76%
Q_ReplacementResistorPowerRatioMaxB     : 72,28%
R_ReplacementResistorTargetA            : 135,04 Ω
R_ReplacementResistorTargetB            : 79,88 Ω
Target A
Non conformity A                        : 5,453
Relative weigth A                       : 33,44%
Relative weigth B                       : 20,07%
Relative weigth C                       : 26,63%
Relative weigth D                       : 19,86%
Target B
Non conformity B                        : 5,039
Relative weigth A                       : 28,07%
Relative weigth B                       : 22,46%
Relative weigth C                       : 27,28%
Relative weigth D                       : 22,19%
Optimal
Iteration                               : 12
Nonconformity A                         : 5,453
Nonconformity B                         : 5,039
provides
R_R101_Optimal                          : 180 Ω
R_R102_Optimal                          : 300 Ω
R_R103_Optimal                          : 56 Ω
R_R104_Optimal                          : 680 Ω
R_R105_Optimal                          : 120 Ω
R_R106_Optimal                          : 150 Ω
R_R107_Optimal                          : 36 Ω
R_R108_Optimal                          : 360 Ω
Opti_TargetA                            : 135,04 Ω
Opti_TargetB                            : 79,88 Ω
Task "Provides calculated values - divider" was successfully executed (50,75915 s)

HendriXML:

--- Quote from: Kleinstein on May 21, 2022, 12:51:18 pm ---An important principle in getting a reasonable stable divider from cheap resistors is using multiple equal resistors from the same batch to at least get the approximate value. The fine tuning is than the less critical part.  Using a few more resistors can also help in statistical avering way. So for the 0,628 example one could start with 4 and 7 resistors on each side (give a ratio of 0.636 and thus reasonable close). Even if the cheap reasistors have quite some TC, chances are much of it is correlated and the relatice TC can be considerably better. A similar effect applies to drift, at least as long as the porblem is steady drify and not a chance for sudden total failure.

The idea of using same value resistors also applies to ready made resistor arrays.

--- End quote ---
That would be a more practical approach   ;D
Bypassing the "Simulating resistors on stock", the "Simulating measured resistors" fase would still be handy, but I implemented only a maximum of 4 resistors. However fixating 3 resistor values and calculating 4 variable ones, that could get good simulation results as well..
A side note:
One drawback of combing a equal resistors this way could be, that in case parameterizing the schematic calculations it can cause trouble. In this case the ratio is know, in other cases it might be subject to change.
One of the goals of the simulators is to tackle those cases, so that the schematic does not need to structurally change - only its values.