Continuing the Quest for Precision..
Continuing the saga of the design of my precision reference voltage…. To bring you up to date, I have designed the microcontroller board (MAX32625PICO), the DAC board (MAX541), the reference board (MAX6325) and the temperature sensor (ADT7422). The reference voltage is fed into a precision amplifier (LTC1250) and its output voltage is tweaked up and down with the DAC as temperature varies to keep the circuit's output constant over temperature.
The problem is, the DAC only tweaks the output voltage up and down by about 10nV and the reference voltage has an initial error of +/-1mV. So I need a ‘course’ output control to sit alongside the ‘fine’ output control offered by the DAC.
Enter the star of the show: the DS1804 non volatile digital potentiometer. Now, I have known about non volatile potentiometers for the last 25 years, but I have never used one and this is what I love about electronics: after 30 years of designing circuits, I am still amazed when I wire up a new bit of technology for the first time and it works. “Wow, this stuff actually works”…
The DS1804 has got debounced push button inputs to allow a 100 step potentiometer to be incremented up or down. It uses a manual version of SPI. There is a Chip Select (CS) pin that, when held low, allows the potentiometer to be changed. The INC pin changes the potentiometer setting, step by step. The U/D pin determines if the potentiometer increments or decrements its value. If the CS pin is taken high when the INC pin is high, the potentiometer value is stored.
Recommended by LinkedIn
Moreover, when the power is cycled, the potentiometer keeps its value (Spoiler Alert Simon: This is what it is meant to do…).
So when I am at the calibration lab, I can tweak out the initial offset using the digital potentiometer, then replace the jumper connection on the CS pin so that the calibration is stored. I will then use the DAC to fine tune the drift over temperature, with the drift characteristics stored in E2 memory connected to the microcontroller.
But before the above, I need to assemble the various subcircuits and leave the reference voltage powered up for 3000 hours to burn in…. See you in 3000 hours…