Hybrid Power Supply


With the world’s  energy crisis only getting worse as days go by, the importance of renewable energy sources like solar power is becoming much more prominent. Solar power typically provides direct current (DC) while most commercial power supplies provide alternating current (AC). So, if a house were to be provided with solar power and utilized commercial power whenever the solar power wasn’t enough, then the appliances should be able to work on both AC and DC supplies. Also, typically solar power voltages are substantially lower than commercial AC supplies. So there is quite some diversity in the kind of power being supplied.

Most appliances today including computers, inverter ACs, TVs and even batteries etc., all work based on DC. Typically for these DC based appliances, batteries use an inverter to provide AC (to be compatible with commercial supply) and then the appliance rectifies it back to DC for its use – with energy wasted during these conversions.  So, the requirement would be an universal power supply that can take in any voltage from 40-240V AC or DC and provide any voltage between 40-240V DC, such that it can be used with any appliance to work with any given supply. That is what the hybrid power supply does.

Technically, it is a microcontroller based Buck-Boost network with an input stage bridge rectifier. The schematic is as seen below.


The circuit works by converting AC or DC to DC through the rectifying bridge. Then a linear regulation provides a 5V supply so that the microcontroller can turn on. Once the microcontroller turns on, depending on the position of switch S1, the buck-boost network is controlled. The output voltage is fed back to the microcontroller as a form of closed loop control and depending on the output voltage, the microcontroller accordingly adjusts the Pulse Width Modulation (PWM) signals to the transistors Q1 and Q2. This schematic was initially developed for a mixer grinder operation, hence the use of switch S1.

To make it truly universal, I added a resistor divider network in the input stage to see what the DC input is and a potentiometer for the user to set what output voltage is required. The microcontroller sees the requirement and the supply and accordingly bucks or boosts the input voltage in an open loop way without a feedback as illustrated in the block diagram.

block diagram

Practically, problems arose in the form of huge ripples because the microcontroller’s PWM frequency was just not high enough. So I added a 1Mhz 5V triangular wave oscillator and a low pass filter to the microcontroller’s PWM output to provide a threshold voltage.  When the threshold voltage is given to a comparator along with the triangular wave, it would produce a 1Mhz PWM with the required duty cycle. So, the new schematic became something like this.


Naturally the next step would be to fabricate the circuit with power electronic components – a huge inductor, a couple of high voltage capacitors, high voltage MOSFETs and diodes. The circuit is fabricated on a prototype board.

This slideshow requires JavaScript.

The results of what should happen and what actually happened are summed up in this video with a simulation and the practical output as well.

Actually the buck operation didn’t perform well and so did the boost as well. On inspection, it became apparently clear that although the design was sound and the logic was correct, the execution was not perfect. The imperfect execution was also not because of the fabrication on my part, but due to the stray effects at high frequencies.


For boosting the input from, say, 13.4V to 30.8V which is more than 3 times the input, the ripple in the output becomes very high. So to reduce ripple a high frequency PWM is required. This is why a 1Mhz triangular wave is required to generate such a PWM. 1Mhz is almost at the cusp of radio frequencies which creates stray or non-ideal effects in the components used. This results in the waveform not being completely triangular. There are significant undershoots (below 0V) and overshoots (above 5V) which create undesired PWM generation that tampers with the output. It is because of this, I didn’t risk testing it at the voltages (40-240V) that the circuit is designed to handle. Yes, unlike other projects of mine, this one doesn’t work perfectly but it is a fair performance considering this is my first power electronics project. In any case, by design, it is an innovative solution for a valid problem of powering appliances in ‘intelligent’ houses.



Wireless MPPT through Xbee


MPPT stands for Maximum Power Point Tracking and it is a highly efficient technique used in the solar energy domain. Intuitively, what MPPT does is to literally draw as much power as possible from the solar panel. Power is, by definition in the electrical domain, the product of voltage and current. So, what MPPT or at least the tracking part of MPPT does is to vary the voltage using a converter (usually a buck converter) and look at the corresponding values of current. Then it (it being a microcontroller) calculates their product or power and decides the combination of voltage and current where the power obtained is maximum. Then it operates the circuit at that maximum power point for efficient functioning. MPPT, fundamentally, is an algorithm that runs as a program in a controller to achieve this maximum power state.


This is my implementation of a MPPT system. Even in MPPT, there are many algorithms like incremental conductance etc. However, I used the Perturb & Observe method. Quite simply put, the controller keeps slightly changing the voltage (perturb) and checks if the power increases or decreases (observe). If, power increases it continues to change the voltage in that way until it reaches a peak point which is the maximum power point. In theory, I haven’t changed anything with regard to MPPT, however I added an Xbee module to allow wireless data transfer.

So what this system does, is to get the electrical data about voltage & current and transmit them to any remote computer. This is exceptionally important for day long analysis that can be carried out efficiently only by a computer when it would be impractical to leave a computer under the sun for an entire day. In my implementation, I chose to do the analysis in Matlab but the applications can be diverse. Anyway, the main purpose is the same – transmit data wirelessly to any processor (in a more sheltered place) for analysis and by extension detailed calculations.