20230501_173814208_iOS

Programmable Decade Resistor: Cost

I didn’t really think about the BOM cost of my programmable decade resistor until I was asked. Then I also wanted to know. It is fairly difficult to put a number to what I paid, since I had a lot of components left from other projects that I could use. This includes not only cheap chip resistors and MLCCs, but also connectors etc. Normally I order from both mouser and digikey, but for some of the industry-standard components, connectors etc I use local distributors. This is why I’ll only give a very rough estimate for the per unit costs including taxes (not including any shipping costs). For some of the parts like the PCBs there is a minimum order quantity that will increase the cost in most DIY scenarios. ...

September 13, 2023 · 2 min · Sebastian
20230407_133244694_iOS-Bearbeitet

Programmable Decade Resistor: Panels

I was asked a few times how I did the front and rear panels, so this is what I’d like to talk about in this blog. There are different ways to achieve a similar result. For me, the easiest and most cost-effective solution was to just design another PCB - I know how KiCAD works and it does everything I need it to do. The basics Depending on the actual use case you can use a regular FR-4 board. For this project, however, I chose an aluminum PCB. Those only have one copper layer and the prototyping service might specify different process parameters for slot width etc. But other than that it is very similar to designing a regular PCB. ...

August 31, 2023 · 4 min · Sebastian
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
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
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
block_diagram

Programmable Decade Resistor: System Design

The block diagram provides an overview of the different circuit groups of each functional block, their internal connections and external interfaces. The Programmable Decade Resistor consists of three main functional blocks: Power supply (Power Supply Board) Programmable decades, control and driver circuits (Mainboard) User Interface (User Interface Board) The power supply board uses an off-the-shelve AC/DC converter to provide a +15V rail. The +15V rail powers the relays on the mainboard as well as a DC/DC converter. A single DC/DC converter generates a +3.3V supply for both the mainboard and the UI board, including the LED display. The power rails are earth-referenced. (Nevertheless, the inputs of the Programmable Decade Resistor are floating thanks to the isolation of the relays.) ...

June 1, 2023 · 1 min · Sebastian