Another Power Supply in the Wall, ECE342-W23 002-1

This PC controlled DC power supply system will have two output channels ranging from 2-14V at a 1.5A max. With our system one could, for example, power a guitar pedal chain at 9V, or do project testing for another system that requires less than 14V. This system includes a PC Graphic User Interface that will take in the user input an send it to the ATMega 2560 Arduino Microcontroller to handle all the system control. The system includes an LCD screen that displays the active voltage and current output levels from the internal buck power converter. The LCD screen is located on the side of our 3D printed enclosure. From designing this project from scratch, a lot was learned. At first, the large project scale seemed overwhelming, but by breaking it down into 6 blocks with interface definitions the project became much more doable. Additionally, a lot of teamwork was required and information shared regarding the buck converter, building a GUI, using a microcontroller in order to handle the different variables of the system as well as building a 3D printed enclosure.

1 Lifts 

Artifacts

Name Description
Project Summary Download the attached file to read the one page executive project summary.   Download
Project Summary Video Please visit the available link in order to view the project summary video.   Link
3D Printed Enclosure Enclosure is designed to secure PCB as well as contain one input port to power buck converter and a USB type B port to power Arduino. The front side of the enclosure has an LCD screen installed to display voltage and current measurements. LED lights are also installed to the front of the enclosure to warn user that current threshold has been reached. Lastly, two output ports are available for testing.   Download
GUI.py This block of python code is our graphic user interface. Once run, this program will take in the users desired output voltage via a drop down menu. Based on the selection a serial string is sent via usb to the Arduino. Every time the user chooses a new voltage, the program will also send a signal to the Arduino which will update the LCD.   Download
Arduino_Control.ino This block of Arduino code uses the c based .ino language. The Arduino Mega/2560 microcontroller handles all control signals for our system. The serial communication from the PC GUI uses the simple line if (serial.available) to receive and interpret the USB serial data. Based on user input a PWM signal of desired width between 0-5V is sent to the desired channel MosFet driver. Additionally, The output of our DC supply is picked up by a Voltage Sensor and also runs through a Current Sensor. Both of these values are reported back to the Arduino which writes the values to an LCD on the side of the enclosure.   Download