bench psu power supply from old atx with arduino and lcd monitor
I have always wanted to have a bench PSU that can easily get the power and I can rely on it when working on various projects.
I would like a PSU that provides 12 v, 5 v and 3.
The 3 v output provides a variable voltage output with an LCD display to display the voltage, which does not look very good. First of all, I have to have a disclaimer: Please be careful when using the supply voltage.
Keep all power disconnected when using power.
I am not responsible for any damage, loss or any adverse effects you may suffer when doing this project.
All images except the PSU pins from Google are taken by myself.
The schematic diagram is mine, and the video is mine.
Now, the whole concept.
There will be multiple outputs on the terminal where you can connect the jumpers and there will also be banana sockets for simple heat exchange for the modular cables we are going to make, or anything you like
The LCD will monitor the voltage and status of the power supply.
There will also be 2 USB outputs powered by a 5 v backup power supply, so there will always be a USB power supply available (
My 5vSB allows up to 2.
5A, so it\'s enough to charge my phone).
There must also be two potentiometer on the front panel in order to adjust the variable voltage module.
The four LEDs will show that each input derailment is working properly and there will be a big power switch at the end.
First of all, I designed a control system based on Arduino Nano v3 for monitoring the LCD to show the voltage and status of the power supply.
The next step is to design the circuit diagram to ensure that all buttons and switches, etc, are in the right position, including the voltage divider used to measure the voltage.
I then designed the housing for the project to make sure everything fits the selected size, then build the housing, mark the location of all the components, install all the components, weld them together, test to run all of this and then the final step.
Another thing that makes this design cool is that I\'m going to make modular power connectors that can be connected to any banana outlet for easy access to various power outputs and connectors. (
Check the material list EXCEL file for the EBAY link! )
Components you need: you can choose an old PC or a brand new ATX power supply! (
According to your request, mine is 450 W. 14-
18 specification Wire, about 3-5m of it (
I used the thick speaker wire I was lying on)
22/24 specification wire (thinner one)
Banana plug Arduino Nano for led and switch speaker terminals (or a variation)
Arduino Nano terminal board 20x4 HD44780 LCD I2C module for LCD 120mm PC fan 12 V DC step-Upper/Lower modules (eBay)
Instant switch tools and materials you need: soldering iron and tin welding of various diameters of heat shrink pipe of wire stripping clamp wire cutting machine, obviously 5mm medium fiber board Wood (
Or wood of your choice)
Small screw hot glue gun! ; )
Dremel 120 for cutting smaller holes/open sandpaper-
If using MDFIt, let\'s say you have a basic understanding of electronics and welding, and have basic experience with Arduino, then 200 of the sand and a finer 400 of the sand black paint density primer.
I will try my best to help you if you have any questions.
I\'m sorry if I missed any steps or if anything is not clear enough! So let\'s begin!
I designed the front, side and back panels of the final product using Microsoft Publisher.
I chose 4x4 speaker terminals and 6 banana posts.
I also added a ground rod for ESD wristband for later use.
The big Angel Eye instant switch allows the PSU to power up and down, with 4 LEDs indicating that each voltage rail is working.
Finally, the LCD displays the voltage and PSU status.
Important: in order to power the atx psu without a motherboard connection, we need to cross the Green Line with the ground wire (black wire)
On the 20/24 pin connector.
The green wire detects if it is possible to power all tracks, so this needs to be connected to the ground in order to power up. Read on. . .
Attached is the schematic file I designed in expressch, as well as the image of the schematic.
Arduino detects changes on the interrupt pin D2 from the instantaneous switch, then sends a high signal to the pin d4 of the activated transistor, connecting the green power cord to the ground on the PSU to power it on.
When the switch is pressed again, the change is detected on the interrupt pin D2, so the pin d4 output is low, disconnect the connection to the ground and turn off the PSU.
Once I finished this, I worked out the whole circuit diagram.
The idea is to collect all the wires of the same color from the output cable and group them together, but place one of the cables of each color separately for additional use, for example, the USB power supply and grounding of Arduino, the most important thing is the input read voltage.
The 5 v backup cable is purple and it will power the Arduino and LCD as well as the USB port, so the monitoring system will still be active even if it turns off the input derailment, and look for input on the interrupt pin (
For boot button)
, You can charge your phone without turning on the entire power supply.
Arduino has analog input pins capable of reading 5 v maximum voltage
Since we have 12 V and possibly more, we will use the voltage divider to allow secure input for Arduino.
See the chart for the values I use-
I was able to get an accurate-0.
All track readings are 05 V.
This is because 10-
Bit resolution of Arduino ADC-
I noticed that the higher the resistor value you are using, the more inaccurate your reading is, so I tried to select the resistor value between the two and gave me the best reading I can get.
Feel free to try different values, but be sure not to enter values above 5 v on any Arduino pin, as this will most likely damage the Arduino!
The voltage divider does what they say.
They split the voltage.
For more information on this, please see this link: Voltage divider tutorial and calculator I use this calculator to help select the correct resistor value.
Since there will be 4 LEDs per track, measure the voltage on each track and then calculate the resistance values required for all 4 LEDs to light up at the same brightness.
I have chosen 10 mA for all the led (
I chose the blue forward voltage of 3 v).
Calculator: LED calculator in my case my power needs me to connect 3. 3v (orange)
I think it\'s Line 3 of the Brown wire.
3 v sensing rail when I use the old PSU.
But the Power won\'t be on until I do that
It will turn on for a second and then power off.
So try to connect the green wire to the ground, if the green wire is not left on the ground, then you may need to go through the brown and orange wires if you have the brown wire.
Otherwise, it should be powered up.
I welded the Orange wire to the brown one.
Also, when the power is on I, there is a gray wire that will output 5 v.
When you connect the green wire to the ground.
This gray wire is connected to the Arduino\'s pin D4, the software detects the input on the pin, and displays \"power on\" if the LCD detects 5 v; if 0 v is detected, \"power off\" is displayed \".
This is how we monitor the status of the PSU.
I have also designed a rotating square block that shows the Arduino is running and the voltage monitoring is being updated.
You will see this in the video.
You may need a load resistor that spans 5 v to keep the power on-
I tried it on me, but as mentioned above, I need to connect the orange and brown wires and the load resistance is not a problem.
If you do need a load resistor, make sure it has a rated voltage of at least 10 W, 10 ohms.
I personally suggest you add it anyway, but I didn\'t add it.
I may add one after completing this structure.
In the third picture, you will see a prototype board with a terminal block --
I use this prototype board to solder the voltage divider resistors onto the terminals and attach them to the terminal blocks so that all different tracks can be connected to the terminals with the common ground of the measurement input.
Unfortunately I don\'t have a picture of this, but there is just a voltage divider resistor on the motherboard.
The wire protrudes from the midpoint of the voltage divider into the respective Arduino pins (
Once you know how to connect everything, upload the code to Arduino, connect everything and give it a test run before you go ahead and build the case.
According to your needs, you can modify the case at will.
I left a space on the base on the left hand side as I wanted to add an LED tester which I haven\'t done yet but I will.
Please note: you need to change some parameters in your code before uploading Arduino code-
See the next step.
The video shows how the control system works;
This is before I do this case.
So, first of all, in order to get an accurate reading, we need to measure the output voltage of the purple 5 v backup cable as this will power the Arduino and LCD.
When we calculate the voltage in the code, we must measure it as accurately as possible to improve the accuracy of the reading.
This can be changed at the top of the code file as shown in the first image.
Secondly, we need to set the voltage divider.
The schematic diagram on this page shows how to connect them to Arduino;
This is an extension of the previous schematic.
The voltage divider does what they say.
They split the voltage.
For more information on this, please see this link: Voltage divider tutorial and calculator I use this calculator to help select the correct resistor value. The 3.
The 3 v line can be connected directly to the 0 0 pin as it should not exceed 5 v in any case, but can sometimes fluctuate to 3.
5 v based on my experience.
When connecting other lines through a voltage divider, you must measure the resistance of each resistor with a multimeter and change their respective values in the code
The value must be entered in Ohm.
So for me, my R2 resistor is 1.
8 k of all divider, somehow, every one in 1.
The 8 k resistor on my multimeter is 1770 ohms
Instead, when I use a 12 k resistor on the R1 resistor at the two variable voltage inputs, one of the 12 k resistors is 11890 ohms and the other is 11920 ohms-
Your mileage may vary.
But it is very important to change their values.
To calculate the actual input voltage from the PSU line, we first calculate the pin voltage as shown below: Analogy (PIN)
The function will give a value between 0 and 1023 because it is 10-bit ADC (
Therefore, the formula we convert it to voltage is: Voltage = (analogRead(PIN)* Vpower)
/1024 where Vpower is a value of 5VSB (5. 22 in my case)
For example, if analogRead (PIN)
If it is 600, then the voltage is (600*5. 22)/1024 = 3.
058VWe then take this voltage and complete the calculation with the following formula: volts = (voltage)/ (R1 / (R2 + R1))
Where the voltage is calculated from approximately, R1 and R2 are the resistor values in OhmsSo. We will have 3 if we continue the above calculation. 058 / (1770 / (4650+1770))= 11. 09V.
This is a measurement that is considered to be a 12 v input, and although this may not reflect 12 v, this is just an example.
We have finished the code modification!
Now you can upload the code to Arduino.
Attachment. ino file -
Just open it with Arduino IDE, edit the value described above and upload it!
First, I cut the side walls of the shell\'s basic structure, and then marked the positions where all terminals and mounting holes need to be cut or drilled.
Also cut the panel of the PSU back panel for power input and cut the cooling fan hole on the left panel.
Make sure you know exactly where the cooling or input/output needs to be cut out of the hole because it will be much more difficult later.
Attached is the Microsoft Publisher file containing my design-
Make changes whenever you need them.
To cut the large area, I drilled a few holes a little larger than my jigsaw blade and cut them out with a wood blade.
The LED baffle hole is simply drilled out and the switch needs a 16mm shovel bit.
Once the assembly holes are cut out, I polish and archive with sandpaper to try to get the perfect fit as much as possible --
The LCD holes are the hardest because the alignment on my puzzle is offset so I have to polish and archive.
After you are satisfied with this, lightly polish all the panels with coarse sandpaper and with fine sandpaper for a smooth finish.
Then you can start painting the panel.
Because mid-fiber board is a big problem in painting, you definitely need mid-fiber board primer.
I applied it to it with a brush, which is why you can see the stripes on the last layer.
Unfortunately you should use the roller to get a smoother finish which I didn\'t have at the time.
The mid-fiber board primer will dry in a few hours and then paint it two layers black or whatever you choose.
I suggest you dry 24 hours before you start the assembly.
After the fan is all dry, screw the fan into the appropriate position as this is difficult to do later.
After that, temporarily place the panel the way you want it to, possibly using tape to fix the panel or clip-
I marked each one to indicate which panels are adjacent to each other, and then when I drill holes for the screws, fix them in the appropriate position with a clip.
You can also use wood glue, or a combination of the two.
It\'s all up to you, but the screws are good enough in my experience.
At this point, you want to screw the side panel and back panel to the bottom, and do not use the top and front panel for the time being.
The front panel still needs to be fitted with components and terminals so we won\'t screw in yet.
However, at this stage you do want to drill the guide holes for the front panel, so once everything is installed, you can screw in without any effort.
I have drilled 3 Guide holes for each side, but you can choose to use the gum or whatever you like.
So I added the terminals first and made sure I could see the welding labels inside the panel and weld the wires from inside.
I then added the LCD and installed it on it and made sure it worked well.
I added switches, LEDs and banana spoons (
I actually added them when the project is close to completion because they take a while to deliver, which is why you can\'t see them in the 1st picture of this step).
I cut off a couple of thicker cables ready to weld to the speaker terminals
These will be welded to the corresponding voltage rail.
For variable voltage regulators, I undid their potentiometer and extended them to the front panel so I could adjust the voltage from the panel.
Make sure you remember their right direction!
At this stage, I welded the resistance of the LEDs and connected the common ground of everything together, so all I need is a ground cable.
I connect the variable voltage modules to their terminals and am ready to connect their power inputs to GND and 12 v.
Arduino terminals need these inputs when reading voltage: 3. 3v (orange), 5v (red), 12v (yellow)
Voltage Regulator 1 and voltage regulator 2.
It also needs ground and 5 v Standby (purple)
Please check the picture to see how I connect the terminals of the voltage reading input.
There is a voltage divider on the bottom strip board and the voltage divider is connected to the corresponding terminal on the Arduino.
So basically, on the strip board under the Arduino patch panel, I welded the voltage divider, and the wire of the voltage divider leads to the Arduino patch panel.
I then added another terminal block to the strip board that connects the power cord from the PSU, making it easy to connect everything.
Add USB ports and connect them to 5VSB and ground or normal 5 v-it\'s up to you!
Also, you have to extend the potentiometer so you can control the variable voltage module from the front panel!
So it\'s almost done now and some testing needs to be done.
I use a voltmeter to confirm that all voltages are displayed as accurately as possible on the LCD screen, as mentioned earlier, it is accurate in the following range0.
Almost everything is 05 v.
I noticed that for the variable voltage module, in 3 v-7v range.
I didn\'t screw it up but I used industrial double sided tape
This is because I need to add the load resistance and extend the 12 v wire for the LED tester module located outside the housing.
Check carefully if all the voltage on the voltmeter is correct and the accuracy on the LCD is acceptable.
Turn it on and off a few times and see how it reacts!
I found a lot of bounce in my instant switch.
The interrupt ignores it.
So in order for it to work properly, I have to press the button hard, if it makes sense, instead of pressing it quickly. .
Your mileage may vary!
Or you can add a hardware to heavy, or a software to heavy --
When I get the chance to update the code to do a software fight back.
I managed to make the modular power cord and so far I have made 3-
There are two breadboards because I use them a lot and the third is the DC bucket plug for various items.
I used a small piece of strip board and welded it to the bread board power cord with 3x2 pins.
The other end of the 2 wires leads to the Banana plug, which will enter the banana socket on the 5 v line of the power supply.
I did two so I could do 3 with one.
3 v or 12 v while there is still a cable available for 5 v power supply.
The DC bucket plug is a ready-made patch plug, so I just stripped the wire off and screwed it to the banana to plug it in. Simples!
The unfinished project you see on the breadboard is what I am doing and you will see it completed in the coming weeks.
Keep an eye on my page! :)
You have successfully built a power supply for Taiwan!
I think maybe I can add something or I can add a new improved version later.
Please leave a comment and let me know what you think I did.
Thank you very much for your feedback.
Also, please take a look at my personal website, where I start blogging about my recent project, and I will slowly add more but definitely add more! My Website -TheBal. co.
UkI is more than happy to help anyone
Please leave a message!
Thank you very much for taking the time to read this manual!