DRAFT: This module has unpublished changes.


Solar energy is an alternative and renewable power source, and has been proposed by many as a great source of energy. Conversion of solar energy into electrical power is a complex process, partly due to the fact that changing weather conditions greatly impact the performance of solar panels. Output power depends on input power from the sun, and DC-DC buck circuits can often introduce inefficiencies and losses in the conversion process. Maintaining optimal, constant power delivery of solar power energy requires careful monitoring and adjustment of voltages and current to a load. 


From a macroscopic point of view, our project will take the varying power that from the solar panel and output a constant voltage of 13.2V at constant power. Maximum Power Point Tracking, MPPT, will be used to determine the maximum amount of power with the given sunlight conditions. The DC-DC conversion will be incorporated as a synchronous converter, using switching MOSFETs in conjunction with a Schottky Diode to minimize inefficiencies and losses during conversion. An Arduino microcontroller will be monitoring current and voltage sensors at the output of the synchronous DC-DC converter to ensure the delivery of 40W at 12V. Voltage and current sensors will be tied to a control system with feedback, creating an error signal to vary the duty cycle of the PWM signal to the MOSFETs. 



Methodology & Design Approach:


MPPT : DC-DC boost converter used to regulate and maximize solar panel output power.

DC-DC Buck : Synchronous buck converter controlled by PWM from the Arduino UNO to

P-MOS and N-MOS transistor-switches needed to control inductor and capacitor charge and discharge to stabilize the desired output voltage.

Charge Controller: Output-voltage based MOSFET switches used to control the charging state between solar power, battery power, and battery charging. MOSFET switch states controlled via Arduino UNO digital output pins.

Feedback Control : Creates voltage feedback error signal to determine PWM duty cycle necessary to achieve desired DC-DC buck output voltage.



Maximum Power Point Tracking (MPPT):



•Uses DC-DC voltage boost converter to optimize power delivery to load at varying input voltage conditions
•Varies solar panel output voltage and current (P = I * V) to find ideal ratio to charge battery more efficiently



•MPPT senses the input voltage and current from the solar panel.
•Power is then calculated and is compared to previous power values.
•If the power at the present moment is larger than the previous values of output power, then keep the current output voltage and current values as the output, and repeat algorithm
DC-DC Synchronous Buck Converter:

-Receives variable voltage input from solar panel, outputs constant DC voltage.
-“Synchronous” : N-MOS implemented to provide decreased power loss than Schottky diode.
- PWM applied to gates of MOSFET switches so that only one MOSFET is conducting at a time to regulate flow of power to inductor and output capacitor.
-Rapid charging & discharging of the inductor and capacitor, plus filtering, results in a near DC output voltage with Vavg equal to our desired voltage of 13.2V.

Charge Controller:

The current flow is determined via the battery voltage read at the output. The following is the state table describing the switching states:


Voltage Feedback Control:

The voltage feedback control loop is software implemented in the Arduino Uno:

•Buck output voltage is read in and converted to bits.
•It is then compared to the desired output voltage value and an error signal  (the difference) is created.
•The error signal is mapped (0:1023 -> 0:255) to a PWM duty cycle (0-100%)
•The new PWM duty cycle is fed to the gates of the MOSFETs to either increase or decrease the flow of power from the solar panel.
Pulse Width Modulation:
DRAFT: This module has unpublished changes.
User-uploaded Content

Yellow: PWM Signal to the P Channel MOSFET

Blue: PWM Signal to the N Channel MOSFET

DRAFT: This module has unpublished changes.

The oscilloscope screenshots above illustrate different duty cycles at the gates of the MOSFETs for differing values of the desired buck output voltage. The higher duty cycles translate to longer durations of MOSFET conduction.





The Matlab plot above compares the buck converter output to desired output voltages at varying input values. An input voltage of 20 V provides near ideal results.


The project test setup is shown above. The input of 20V to the buck converter produced a DC output voltage of 13.52 V. Compared to a desired output voltage of 13.2 V, a percent error of 2.42% was achieved. 





Overall, with an output error of 2.42% it can be concluded that the results from the system were fairly acceptable. By using a Low Pass Filter at the output of the DC-DC Buck Converter any unnecessary frequencies that contributed to any noise and other inefficiencies were diminished.  By using the MPPT at the input of the system, faster charge times can be seen as a result of maximizing the output power of the solar panel during peak hours and diminished battery voltage levels.  However, for a more ideal power station capable of outputting the desired 40W, a larger solar panel is required as well as faster switching speeds from a the microcontroller.


DRAFT: This module has unpublished changes.