Recently, I have undertaken a Solar sun tracker project with the soul purpose of learning in mind. The basic operation of the project is to implement a dual axis solar sun tracker, this is done by using an Arrduino Uno board to operate a mechanical structure, the movement is based on readings from 4 LDR's. This part of the project has been successful.

The part where I'm a bit lost is at the output of the solar cell. The solar cell is rated at 5.5V, 320mA - I am looking to somehow boost the 5.5v to around 14v. I have looked into DC-DC Boost Converters and I have realised that there are various ways to implement them. I first took the route of using the raw components of the circuit with no IC chip, this ultimately failed and I came to the conclusion that I needed to take a different approach. I started to look into the various other methods and came across using a MC34063 chip, this seems quite appealing as I'd be able to calculate the components using the data sheet. The problem I'm facing is that as the DC input is a solar cell, the voltage input of the DC-DC Boost Converter will vary a fair bit. Could I get away with having a Vin of around 3v (+/- 50%) or is this just plain stupid?

Alternatively, I have been looking into creating a boost converter using a microcontroller, this is something I haven't looked into as much but seems promising. In time, I'd like to also attempt to implement the MPPT algorithm and have an inverter circuit on the output, in order to create a 'smart inverter'. But for now I'd like to take things one step at a time. Can anybody offer some guidance on the matter? which route would be the best to go down considering my goals?

Revised Plan;

Block Diagram

MPPT Control Algorithm;

What I can work on from here is to have my readings from the solar panel input into my Arduino UNO - then I can start to have a look at the different readings and how a MPP can be found from these readings. Based on the findings I'll be able to alter the duty cycle of the square wave input and hence, increase Vout of the boost converter. I started to have a look at the various implementation methods of the MPPT algorithm and I've come across the 'Peturb-and-Observe' method. Is this a good place to start?

DC - DC Converter;

I'm still struggling to get my head around the application of the converter types, I understand how both Buck and Boost Converters work but I'm still unsure as to which circuit would be more fitting for my project. Currently, the vision I have is that I would build a Boost Converter circuit with a Vin of approximately 3v and a Vout of 14v. I'm aware that as my application uses a solar panel the input voltage will constantly change, but based on the readings from my solar panel I'll be able to alter the duty cycle so no matter what the input voltage is (within reason) I'll always be able to produce a figure reaching 14v at the output. Is this a viable solution? and how would I begin to calculate my component values, based on the fact that I don't have a definitive Vin.


1 Answer 1


General Info

This has been done many times. First you need to figure out the circuit power flow in a typical solar inverter.

With MPPT, the power drawn from the panel varies based on the panel voltage/current and solar irradiation condition. The energy extracted from the panel then goes to the DC link, which is 14 V in your case. To keep the output voltage constant, the energy has to go somewhere. This is typically done by pushing the energy to the electrical grid.

This requires four control loops:

1) Fast - solar panel current regulation.

2) Fast - controlling the grid current.

3) Medium - controlling the bus voltage.

4) Slow - MPPT.

In a nutshell, the slowest loop (MPPT) hunts for the optimal power point. It then gives command to the solar panel current regulation algorithm, which extracts the energy from the solar panel and pushes it to the DC link.

As you can see, the DC link separates the boost and inverter sections. My answers describes just one out of many competing power electronics and control topologies.

Next, as the DC link climbs, the bus voltage control loop commands higher grid current to maintain the link at predetermined level. Finally, the grid current regulation loop modulates the output switch matrix to follow the current command.

This is fairly complicated.

Simple MPPT - Buck

For you, I recommend to implement a simple buck converter, which regulates the input voltage based on the resistive load.

The buck input is the solar panel. Make sure there is some reasonable capacitance connected across the panel as the buck input current is discontinuous. Solar panels are current sources and work best with continuous current. Next, you can modulate the buck PWM to regulate the voltage ratio between the input (=solar panel voltage) and the output voltages. The output voltage is related to the power extracted from the solar panel.

It might take a while to wrap your head around this concept but it's an easy and safe solution. You can also use the boost topology but make sure there is always some load connected to the output. An intern of mine disconnected the load and boosted 20V panel to almost 200V. No wonder he switched to robotics the year later.

enter image description here

Alternatively, I have been looking into creating a boost converter using a microcontroller

Easy solution: Build a simple buck converter, which you can control using your microcontroller PWM pin. Make sure you can measure the input voltage (solar) and the output voltage (resistive load) as well.

Control can be made simple, at these power levels you don't have to worry about current control. Therefore, you can directly control the PWM duty ratio.

With 0% duty, there is no load and hence the DC link will rise to the open-circuit voltage of the solar panel. Then you can increment the duty ratio -> this will increase the output voltage, which will start loading the solar panel. At some point the power extracted from the panel will decrease with increasing duty ratio. That will indicate your maximum power point.

ADDED - Boost

To boost the solar panel voltage to 14 VDC, one needs to make sure that the DC link stays at 14 VDC. This means that the cap must see zero net charge over time.

If the solar panel output power changes, what system component will make sure that the output voltage is held at 14V? We would need a variable load, which would be automatically controlled by some modulation scheme as it is done in the solar inverter described above.

For you, an easy solution would be to use a 14V power supply connected across the DC link. This will fix the DC link to this value regardless of the solar panel power. Then you could use a boost converter and modulate its duty ratio to change the input/output voltage ratio. Since the output voltage is fixed by the power supply, the solar panel voltage will vary accordingly to the duty ratio. Hence, you have the means of changing the solar panel voltage, which changes its current and power, the product of voltage and current.

However, most power supplies cannot absorb power. To make this scheme work, a large enough load can be connected across the power supply output. Say the load is 10 \$ \Omega \$, which results in ~ 20 W constant load or 1.4 A draw from the power supply.

Now, once the solar panel is connected, the boost converter will start pushing the solar panel current to the power supply and resistor. Since the power supply cannot accept any current, the solar panel current will flow into the resistor, reducing the current drawn from the power supply. By modulating the boost duty ratio you will be able to see at which point the boost circuit produces most power (at MPP). The circuit is shown below.

enter image description here

  • \$\begingroup\$ Good answer. Easiest of all is to ignore power throughput and load PV to a preset voltage - typically about 80% of Voc. Optimum point will depend on fill factor of cells used. LT and others use this "pseudo MPPT" and claim results within 2% of true MPPT point. I've not (yet) tried doing so but if you slightly increase this voltage with increasing delivered current then you track even closer to true MPPT. Using a fixed PV voltage is extremely easy to implement and increasing this voltage with current is harly more complex. \$\endgroup\$
    – Russell McMahon
    Oct 29, 2015 at 3:15
  • \$\begingroup\$ Thanks for your answer, this has been helpful. The only aspect I can't really wrap my head around is the use of a Buck Converter. As far as I'm aware, a buck converter takes a DC voltage input of say 10v, and reduces this voltage to say 5v. Isn't that the opposite of what I'm trying to achieve? Could you perhaps provide a block diagram of some sort just to make things a bit clearer. This is all still a bit new to me! \$\endgroup\$
    – Thaitan
    Oct 29, 2015 at 3:17

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.