20230825_135701858_iOS

Programmable Decade Resistor: Components

After being asked about some aspects of the mechanical design and components used a few times, I’d like to address those questions. I have to admit that I’m neither very good at mechanical design, nor do I have a 3d printeror a workshop where I can do metal work myself. That being said, I was still able to design a reasonably professional looking device and bring it to life with the help of modern prototyping services. ...

August 25, 2023 · 2 min · Sebastian
20230813_163612886_iOS

HP 6060B System DC Electronic Load: Adjustment

Currently, the unit’s setpoint accuracy isn’t all that great (readback resolution is limited as well, but shows the offset): Regardless of the range it has an offset of about +20 mA. Sure, for a unit capable of 60 A that seems reasonable, and well within its specs of ±0.1% ±75 mA. But since I’ll use it in the low range (6A) most of the time and likely often even well below 1A that doesn’t seem too great, does it? ...

August 17, 2023 · 7 min · Sebastian
20230813_163640803_iOS

HP 6060B System DC Electronic Load: Teardown, Service

I recently got my hands on a HP 6060B System DC Electronic Load (later also sold as Agilent 6060B). My unit has option 020 installed: Comically large binding posts also on the front panel. This option certainly is not unheard of, but not too common either. Retrofitting is possible, but can be quite some work. Huge binding post also on the front panel thanks to option 020 ...

August 13, 2023 · 6 min · Sebastian
20230714_190831358_iOS

Programmable Decade Resistor: Improved results

After the modification described in the previous post I let the the “adjustment”/calibration procedure run again. Five days later I repeated the calibration (not the adjustment). As before, all measurements are performed with an Agilent 34401A 6.5 digit multimeter. Accuracy of the resistance First up is a diagram that shows the absolute value of the deviation of the measurement value from the setpoint. The tested values are grouped as follows: ...

August 5, 2023 · 7 min · Sebastian
20230721_122849287_iOS

About word clocks...

A bit over a decade ago I built a word clock - one of my first microcontroller projects. The project was fairly expensive: It uses a large stainless steel front panel (ca. 39cm x 39cm, laser cut) and a similar sized PCB. Over the years I had to resolder one or two of the RGB LEDs and replace a failed one, but other than that it’s still working as intended. ...

July 27, 2023 · 3 min · Sebastian
20230716_122355688_iOS

Programmable Decade Resistor: Optimization

I went into this project with the thought that it will be a rather small one. This certainly influenced some decisions I made along the way. Now that the project had evolved into a much larger thing than initially anticipated it’s reasonable to have another look at possible optimizations, albiet the calibration results were already pretty satifactory. The problem with the contact resistances From the start it was clear that the relays’ contact resistances will reduce the accuracy of the programmable decade resistor, especially in the lower two decades. (When using 0.1% resistors, for the third decade and up, the tolerance of the resistors is of the same or a higher magnitude than the contact resistance of the relays. So it’s much less important or even pointless to compensate for the contact resistance in those instances. This is especially true for the highest two decades where the algorithm described in a previous post can effectively eliminate the deviation by adjusting the “hardware setpoint” according to calibration values.) ...

July 20, 2023 · 5 min · Sebastian
20230714_190902745_iOS

Progammable Decade Resistor: Calibration results

In one of the previous I covered in depth, how I use the term “calibration” in the context of the programmable decade resistor and how the calibration procedure works. Today it’s all about the result. Also, I’d like to mention the first post of this series in which I defined a rather loose accuracy goal of ≪±0.5% of value+0.3Ω\ll\pm 0.5\% \textrm{ of value} + 0.3 \Omega. In reality, I expect the device to be much, much better than this. Nevertheless, I will still compare the results to these limits. ...

July 15, 2023 · 7 min · Sebastian
20230617_155717412_iOS

Programmable Decade Resistor: Warm-up curve

Generally, test and measurement equipment needs a certain period of warm-up time to provide low drift. That is also true for the programmable decade. I’m especially interested in the warm-up time with all relays off as well as with many relays on. I chose a value of 100 kΩ100\text{ k}\Omega for the second test. (For simplicity I decided against using latching relays, however that would be a better choice performance-wise as mentioned before. Due to the additional power dissipation in the relay coils the curves will look different.) ...

July 7, 2023 · 3 min · Sebastian
20230617_155356512_iOS

Programmable Decade Resistor: Final Product

In this post I’ll show a few pictures of the programmable decade resistor in its enclosure. Inside the unit Mainboard with some powered relays Rear panel: Optional terminals for channel 2, digital inputs, USB, power and fuse Unit with the case closed ...

June 23, 2023 · 1 min · Sebastian
mainboard_ausschnitt

Programmable Decade Resistor: Mainboard

The mainboard features the main controller paired with an EEPROM, the resistor decades (precision resistors, signal relays) including two temperature sensors, relay drivers and signal conditioning for the two external digital inputs. Main controller The main controller is a STM32G441KBT6 microcontroller (170MHz Cortex M4, 128kB Flash, 32kB RAM). The microcontroller features a USB 2.0 device peripheral. The main controller contains the business logic required to control the relays and provide a user interface. It handles the processing of user user inputs, originating from either the mentioned user interface board, from SCPI messages sent over USB (virtual COM port) or from the external digital inputs. ...

June 14, 2023 · 3 min · Sebastian