I recently realized that I was spending time and money rebuilding 5.0 and 3.3 volt dc power supplies for prototypes a lot. Thinking about this for a few days, I designed and built a new fixed power supply with 2 channels (5.0 and 3.3 volts dc). As is typical for me, I didn't capture all the pictures I wish that I had. However, I do have quite a few, and two videos.
Here are the pictures I have of cutting the front face plate:
Some of the parts laid out, with the cutting template on the face plate.
Up close of the template on the face plate.
About to drill channel 1's on / off switch hole in the face plate.
Test fitting components into the face plate.
Shot of my new drill press that I used to cut the face plate.
The face plate with almost all of the holes (final version has mode button).
After fitting most of the components, and drilling and filling the case with the power supply components, I took a video. I remembered I didn't have pictures of building the modular power supply channels.
Today, I was able to finish this up (including the code on the Arduino nano) and make it usable. Here are the pictures I have of the final unit.
The back of the unit shows the fuse and power button.
The back of the unit with the fuse installed and power button turned on.
The front of the unit.
The normal mode of the unit.
The summation mode of the unit.
The maximum mode of the unit.
The unit with both channels powered on.
Lastly, I took a video to demo the features I built into the power supply.
Here is the list of interesting / cool things I did while building / programming this power supply.
I averaged the samples in order to lower the effect of noise on the readings.
I over-sampled the channels to taking the 10-bit ADC up to a 12-bit ADC for more accuracy.
I used a hardware debounce circuit for the button, so the firmware didn't waste time on that.
I designed the firmware to run continuously, so it samples as fast as possible.
I minimized the amount of ram I used down to 38% of the available 2048 bytes of ram.
Optimized the display driver, which allows refreshing the LCD without clearing it's ram.
Well, until next time. Now, back to the previous research project I was working on.