MPPT Charge Controller
Skills: KICAD, PCB Design, Arduino
Spring 2021 - Fall 2021
Objective
Since a circuits course was not offered from my program, I took on this project to gain familiarity with a variety of electrical components and their functions.
Furthermore, I wanted to explore my passion for renewable energy and its common applications. The aim of the project was to construct a maximum power point tracking solar charger that maximizes photovoltaic power.
I captured the project schematic in KICAD and coded the Arduino to change the charge configuration and output load control settings based on supplied PV power and time of day.
Breadboard layout of the charge controller
KICAD schematic
Design Process
The input to the system is through the solar panel, which also includes a fuse and TVS diode to protect against high current. There is also a voltage divider network that scales the voltage down so the 5V limit to the Arduino is not exceeded.
Next, a hall-effect sensor is used to measure the current input, along with a blocking circuit, forcing the current to only flow in one direction (PV panel to charging circuit). To do this, MOSFET transistors and a driver are used to protect the panel from the battery voltage when it is not operational.
There is another MOSFET/driver pair that operates along with an inductor to create a charging network which outputs to the battery to be charged. Another voltage divider network is then used to obtain the voltage of the battery, and supply it to the Arduino for measurement.
To control the load, there is a circuit that controls the output from the battery. The Arduino output pin controls the transistors to allow current flow from the battery to the load when the PV panel is not providing electricity. The voltage regulator circuit, is used to supply the Arduino and LCD display with the rated voltages.
Other components include the LCD display, to show various current and voltage info, LEDs, indicating battery voltage level, and a Wifi module for wireless data logging.