This Intelligent Solar Controller Maximizes Power Collection and Communicates via Wi-Fi
By utilizing maximum power point tracking, an efficiency of 98% can be achieved while allowing users to view telemetry over Wi-Fi and BLE.
What is MPPT and why is it important?
A common issue with solar panels is that the sun doesn't always shine, and when it does, it moves across the sky throughout the day. This means a classical "dumb" circuit will not be able to produce nearly as much power compared to one that is able to vary its output in accordance with the sun's position. Maximum power point tracking (MPPT) is a technique that uses algorithms to intelligently adjust the current and voltage for a variable power source, such as a solar panel. Angelo (who goes by ASCAS on Instructables) was able to design and build a fully-custom MPPT solar charge controller device in order to extract the maximum power from his solar panel array.
Some specifications
Angelo was able to create a small MPPT charge controller that is able to accept input at up to 80V and 30A, and an output of 50V at 30A. The circuit contains several 2.6m-ohm N-Channel MOSFETs that comprise a synchronous buck converter topology. Additionally, either a 16-bit or 12-bit I2C analog to digital converter can be used to measure the incoming voltage and send it to the onboard ESP32 module. From here, the ESP32 controls the voltage and current intelligently, as well as output ample amounts of telemetry over Wi-Fi or Bluetooth Low Energy for reading with a smartphone.
Reducing the voltage efficiently
Converting 80V down to 50V with a common buck regulator, or even worse a linear regulator, would be extremely inefficient and lead to far too much excess energy being given off as heat. A solution is to use a synchronous buck converter design that removes the typical transistor/MOSFET and diode pair with a pair of MOSFETs that get switched at precise times with a PWM signal that is generated and adjusted by a microcontroller. Angelo has a very thorough explanation for how this works in his write-up.
Measuring power
Incoming voltage from the solar panels is measured by taking a couple of voltage dividers and running the output through a set of filters to an external 12-bit ADS1015 analog-to-digital converter IC.
Current is measured with the bidirectional ACS712 IC that has a max current rating of 30A.
Designing the circuitry
With the power measurements figured out, Angelo added on a backflow current control unit that prevents current from flowing the wrong direction, a temperature sensor for measuring how hot the components get, and a couple line buck regulators that provide small amounts of relatively low-voltage current for other components. His PCB even has a dedicated USB port through which the ESP32 can be easily programmed.
Telemetry
The final step in this MPPT project was getting the data read by the ESP32 to go across the air to a smartphone app. Angelo's code utilizes the Blynk library that handles passing information both over Wi-Fi and BLE to a nicely designed virtual dashboard. Overall, this device was able to achieve a peak efficiency of 98%, which is extremely impressive compared to other, pricier solutions.
IoT, web, and embedded systems enthusiast. Contact me for product reviews or custom project requests.