Two-Channel, Custom Built DC-Power Supply w/ Supporting Python GUI (EJ16) - ECE342-W24

Python
Arduino
Hardware

This DC Power Supply is a system that has two separate output channels and can display ambient temperature, output voltage, and output current information. Each channel is isolated, allowing for a range of voltages between 2 and 14 volts, with a maximum output draw of 1.5 Amps. The system is rated IP43 (protection from objects 1 mm or less and protection against water sprayed from an angle up to 60 degrees). The voltages and currents output will be accurate to within 5% of expected values. The system is power efficient. The system temperatures can be monitored using the serial connection through a custom GUI interface. Throughout this project, our team ran into a couple of struggles. First, we decided at the start to have the system be controlled through SCPI protocol commands. We very quickly realized that with the time we had and the parts that we had ordered, this would not be feasible. Instead, we decided on using Serial commands between the Python GUI and the Arduino. Second, the PCB that we designed to monitor system temperatures didn't end up working as expected. Instead, we used a pre-built module using relatively the same components (LM75A sensor). Finally, we ran into several delivery delays that were out of our control, reducing the amount of time that we had to implement the system. In spite of all of these challenges, and through resiliency and hard work, our team was able to put together a working system. Future improvements to the system include: 1. Optimizing the temperature sensor to monitor the surface temperature of components, rather than simply the ambient temperature 2. Find or develop a more power efficient solution to supply power to the two channels 3. Implementing more sensors, such as current sensing that could act as safety interrupts

1 Lifts 

Artifacts

Name Description
Drok DC Adjustable Buck Converter - Manual (Front) Operational manual for the Buck-Boost convertor used in the system (Front Page)   Download
Drok DC Adjustable Buck Converter - Manual (Back) Operational manual for the Buck-Boost convertor used in the system (Back Page)   Download
LM75A Temperature Sensor - Datasheet Datasheet for the LM75A temperature sensor, used within our system   Download
GitHub Repository for code Repository containing all relevant files, including Python code and Arduino firmware code   Link
Arduino Firmware Code Firmware code running on Arduino Uno. Enables communication between sensor and Python GUI   Download
Python GUI Code Python code that creates and runs the GUI on host machine   Download
LM75A Custom PCB - KiCad Schematic File KiCad schematic file for custom LM75A PCB module   Download
Tkinter Reference Wiki Reference material for Tkinter (python module that creates the windows GUI application)   Link
PySerial Reference Wiki Reference material for PySerial (python module that handles communication between Arduino and GUI using serial bus)   Link
Executive Project Summary Executive Project Summary document for our project   Download
Project Summary Video Project Summary Video containing 'elevator-pitch'-style presentation   Link
Feedback