Close
0%
0%

Programmable Power Resistor

A SCPI programmable power resistor

Similar projects worth following
After building my programmable precision resistor I needed a simple 20 Ohm power resistor capable of dissipating 400W peak power (over a few seconds). Long story short, I ended up with another fun project, recycling much of the code I've written for the programmable precision resistor.

Introduction

For the performance checks of my Agilent 6811B AC Power Source/Analyzer (375VA) I needed a 20 Ohm resistor with a ton of power handling capability. The original plan was to mount 8 wire wound 50W resistors on a heat sink and be done with it. Then I thought: Why not reuse all the code I've already written for the programmable resistor and build a programmable high power resistor that can complement my DC load for AC applications...

Features and preliminary specs

Parameter Value / Description
Resistance range (nominal, Ohm) short circuit, 1.25 to 80 Ohm, open circuit:

0, 1.25, 1.429, 1.538, 1.667, 1.818, 2, 2.143, 2.222, 2.273, 2.308,
2.353, 2.5, 2.727, 2.857, 2.941, 3, 3.077, 3.158, 3.333, 3.448,
3.529, 3.636, 3.750, 4, 4.167, 4.286, 4.444, 4.615, 5, 5.263, 5.455,
5.714, 5.833, 6, 6.5, 6.667, 7.143, 7.333, 7.5, 8, 8.333,
8.571, 9, 9.167, 9.375, 10, 10.667, 10.909, 11.111, 11.667, 12,
12.5, 13.333, 13.636, 14, 15, 15.385, 16.667, 17.143, 17.5, 18.333,
19, 20, 21.667, 22.5, 23.333, 24, 25, 26.667, 27.5, 28.333,
29, 30, 31.667, 32.5, 33.333, 34, 35, 36.667, 40, 42.5,
43.333, 44, 45, 46.667, 50, 55, 60, 65, 70, 80
Setpoint resolution settable to 1 mOhm, selects closest supported resistance value
Short-term setpoint accuracy estimate <= 1% of nominal value + 0.2 Ohm
Display resolution three decimal places (fixed)
Thermal drift
(estimate based on design)
<=50ppm/K
Power/current rating Depends on resistance setting. Limiting values are calculated and displayed.
Up to ~150 W continuous (400W peak) or 6A, whichever is lower
Bandwidth unspecified
Calibration modes - Uncalibrated: Switches are activated according to entered setpoint, display shows setpoint
- Two-wire (2W), Four-wire (4W): The resistance value closest to the entered setpoint is selected
Operating modes Fixed: On trigger, no change
Step: On trigger, step to trigger setpoint value
Up: On trigger, increase setpoint (auto, linearly, 1-2-3-4-5-6-7-8-9, 1-2-5, 1-3)
Down: On trigger, decrease setpoint (linearly, 1-2-3-4-5-6-7-8-9, 1-2-5, 1-3)
List: See list mode
List mode Up to 100 values with individual dwell times
- Start: on trigger; or immediately after mode selection
- Step:
  - Auto: Advance index automatically, solely based on dwell time
  - Trigger: Advance index on each trigger event, ignoring the dwell time
  - Once: Advance index on each trigger event, only after dwell time elapsed
Switching - fast (default)
- break-before-make
Protection Over temperature protection (OTP)
Trigger Source: Bus, Immediate, Manual, Timer
Mode: Continuous, Single
Parameter:
- Delay,
- Holdoff,
- Time (0.01 s .. 10^7 s; Source: Timer)
Command and trigger execution 10ms loops

User interface - 16x2 Dot Matrix display:
- Primary display: Resistance setpoint, (max.) heatsink temp.
- Secondary display:
- limiting values (voltage, current, power)
- trigger state
- uncalibrated resistance value
User presets 0-9 (0 is restored on power-up)
Interface - Input and Sense: 4mm safety banana jacks
- USB (Virtual COM port)
Fans Two temperature controlled 60mm fans (12V, 4500 rpm)
Power supply Switch mode

Typical applications

  • (AC) Power supply tests
  • Audio amplifier tests

Note

All information is provided "as is" without any warranty whatsoever. Although I have compiled the information to the best of my knowledge, there might be errors. You use the information at your own risk.

  • Topology (2)

    Sebastian05/09/2024 at 22:18 0 comments

    In the last post we had a look at a simple topology that allows us to switch between a series and a parallel connection of two resistors:

    Now we nest these structures so that we have four resistors:

    The interesting part here is that two of the four switch states of the outer structure don’t provide any new resistance values: With S1a open and S1b bypassing R1b we’re left with R1a. (Again, this assumes the R1a = R1b.) If S1a is closed and S1b in the upper position, then the total resistance will be 0, exactly like with only R1a. Here I assume ideal switches. The series and parallel connection of both R1a and R1b alone is worth it though.

    Doing that once more and we get eight resistors, barely visible in this picture, but with a similar effect like with the previous nesting.

    With a total of 14 switches there are 2^14 = 16384 switch states. As briefly discussed, many switch states might lead to the same resistance values (actually, by far not only the two examples described above). In fact, as we will see later, much more than half of the switch states result in a short circuit.

    However, states with equal resistances might not be equally suited for the intended application, because in some cases they differ in the power rating we can achieve. But even then, for certain resistance values there might be multiple states with the same resistance and power rating, but with a different number of active switches. This could minimize the contact resistance (but this is not necessarily the case with the dual throw switch) and it might be a good idea to energize as few relays as possible.

    This begs the following three questions:

    • How many and which distinct resistance values can be selected?
    • What power rating can we achieve per resistance value?
    • What is the best switch combination (here: least number of relays energized for the highest power rating) to realize each of the selectable resistance values?

    To answer this I wrote a small python script that calculates these things for us. I’ll assume all resistors are 10 Ω with a 50W power rating. The results are presented in the following table.

    # Resistance Number of Valid
    Switch Combinations
    Maximum Power Energized Switches
    (Ω) (W)
    1 0 9472 nan 4
    2 1.25 1 400 14
    3 1.428571 4 350 13
    4 1.538462 4 325 12
    5 1.666667 18 300 11
    6 1.818182 12 275 11
    7 2 48 250 10
    8 2.142857 4 233.333333 11
    9 2.222222 50 225 9
    10 2.272727 4 220 10
    11 2.307692 4 216.666667 9
    12 2.352941 2 212.5 8
    13 2.5 209 200 7
    14 2.727273 8 183.333333 10
    15 2.857143 60 175 8
    16 2.941176 8 170 9
    17 3 8 166.666667 8
    18 3.076923 4 162.5 7
    19 3.157895 8 158.333333 9
    20 3.333333 384 150 6
    21 3.448276 8 145 8
    22 3.529412 8 141.666667 7
    23 3.636364 4 137.5 6
    24 3.75 28 133.333333 8
    25 4 370 125 5
    26 4.166667 28 120 7
    27 4.285714 28 116.666667 6
    28 4.444444 14 112.5 5
    29 4.615385 8 108.333333 8
    30 5 933 400 6
    31 5.263158 8 95 7
    32 5.454545 8 91.6666667 6
    33 5.714286 4 87.5 5
    34 5.833333 4 262.5 11
    35 6 32 187.5 7
    36 6.5 4 203.125 10
    37 6.666667 356 300 5
    38 7.142857 32 280 6
    39 7.333333 8 229.166667 9
    40 7.5 50 266.666667 5
    41 8 20 250 4
    42 8.333333 28 166.666667 8
    43 8.571429 28 131.25 6
    44 9 28 180 7
    45 9.166667 4 103.125 9
    46 9.375 8 120 7
    47 10 1074 200 3
    48 10.666667 8 120 7
    49 10.909091 4 103.125 5
    50 11.111111 28 180 5
    51 11.666667 28 131.25 6
    52 12 28 166.666667 4
    53 12.5 20 250 6
    54 13.333333 50 266.666667 7
    55 13.636364 8 229.166667 5
    56 14 32 280 6
    57 15 356 300 4
    58 15.384615 4 203.125 4
    59 16.666667 32 187.5 5
    60 17.142857 4 262.5 3
    61 17.5 4 87.5 9
    62 18.333333 8 91.6666667 8
    63 19 8 95 7
    64 20 933 400 2
    65 21.666667 8 108.333333 6
    66 22.5 14 112.5 7
    67 23.333333 28 116.666667 6
    68 24 28 120 5
    69 25 370 125 3
    70 26.666667 28 133.333333 4
    71 27.5 4 137.5 8
    72 28.333333 8 141.666667 7
    73 29 8 145 6
    74 30 384 150 2
    75 31.666667 8 158.333333...
    Read more »

  • Topology (1)

    Sebastian04/18/2024 at 20:15 0 comments

    In this application the focus is on power handling capability, not so much a high resolution (high number of resistance values) or precision. This is why the topology used in the Programmable Precision Resistor is not as suitable for this application as it has been before. Also my ELMA cases are really small (and I mean really small, so thermal considerations will be challenging), so I can’t simply increase the number of power resistors and relays in the process. That’s why I’ll stick to the original plan of using 8 power resistors.

    Three of a total of eight power resistors used in this project

    Instead the idea is to find a topology where I can select different resistance values by either connecting the resistors in series or in parallel. Let’s first have a look at a circuit for only two resistors.


    A simple circuit allowing to switch between a series and parallel connection of two resistors. It requires one single throw and one dual throw switch.

    For this design I assume that both resistors are identical, both in their resistance value R as well as their power rating P. It’s very obvious how this circuit works, but here are the current paths for the different switch states anyway:

    Switch states of the presented topology

    Since the math behind this is really simple, here are the results without any further explanation.

    S0aS0bR0P0I0U0
    002R2P√(P/R)
    2R√(P/R)
    01RP√(P/R)R√(P/R)
    100unlim.unlim.0
    11R/22P2√(P/R)R√(P/R)
    Switch states and the associated electrical parameters

    And now we have our basic building block that we’ll use in the next post of this series.

View all 2 project logs

Enjoy this project?

Share

Discussions

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates