Does this project spark your interest?

Become a member to follow this project and don't miss any updates

Solar Energy Generator

A solar energy system up to 500W in power for use with lithium batteries.

Similar projects worth following

This project was created on 07/20/2014 and last updated 2 months ago.

This platform is designed to be used as a power supply for systems that do not have access to grid power or for taking systems that are normally grid connected off of the grid. Currently it is in a development stage, and circuit blocks have been constructed separately for to make development and testing more manageable.

Some Target applications include:
- LED street lights and security lights
- Weather and sensor stations
- Radio relays and mesh network nodes
- Security cameras and sensors
- Power for sailboats and cabins

General Features:
- Supports panels in series or parallel combinations up to 500W.
- Compact size of 120x120x45mm.
- Dual phase converter allows for currents up to 16A, input FETs and internal rails tolerate input voltages up to 50V.
- Maximum Power point tracking across all temperature and insolation conditions maximizes energy output.

Link to the full System Design Document can be found here:

The solar energy generator has a buck boost topology DC-DC converter that can either step up or step down the output voltage from the input voltage, which allows the system to operate at the panels peak efficiency known as the maximum power point. The maximum power point is tracked using a current and voltage sensor by periodically changing the input to output voltage relationship of the DC-DC converter and measuring the corresponding changes in output power the sensors. In addition to implementing Maximum Power Point Tracking, the buck boost topology allows the battery operating voltage range to be either higher, lower, or both relative to the panel input voltage depending on the solar panels used. When configured properly it can be used to harness the energy of panels up to 500W in capacity. Batteries capacities can be anywhere from 100 watt hours to a few kilo-watt hours in capacity, and the initial target battery chemistry is lithium iron phosphate due to its high cycle life and increased safety over traditional lithium cells. Other chemistries such as lead acid will also be supported in the future. The generator is composed of the following circuit blocks: a two phase buck boost DC-DC converter, a battery current sensor, a load current sensor, a battery voltage sensor, gate drivers for the converter, a C2000 micro controller, 12V, 5V, 3.3V and 1.8V rails, and a load switch.

A load switch is critical to protecting the battery from over discharge and short circuit. The load switch opens and disconnects the load if either of these conditions should occur. Currently, this portion of the system is not fully defined and may be implemented either with relays or MOSFETs as the switch. Each of the two load switches should be able to handle at least 10A, and more may potentially be added externally.

A Texas Instruments C2000 TMS320F28035 has been selected for the final design of the project, but in the prototyping stage a TMS320F28027 is being used as it is available in a pre made "launchpad" platform from TI, which includes the necessary debugging and programming interface as well as 5V and 3.3V supplies. The C2000 microcontroller was selected because it has many features designed for digital power applications, and configuring it to drive the buck boost converter is not only easy, but powerful, allowing multiple converters to be driven in a phase relationship, and allowing for fast shut down of the converter stage in the event of a dangerous transient event. In the final single-PCB solution, a buck converter will be connected to both the panel input and the battery via a diode or, which will source power from the higher of the two voltages. This 5V rail will then supply power for a 12V rail (boost) for the FET gate drivers and the 3.3V and 1.8V rails for the micro, sensor circuits, display, and various other circuits.

Finally, the converter will include a simple character display, buttons and an encoder wheel to configures various system settings such as battery float voltage, power limiting, a load shutdown timer, display system power output, and allow for future information and configuration features. I selected an OLED display from Adafruit for its high contrast and bold appearance.

In the current stage of development the separate sensor boards, power stage board and the C2000 development board are all connected to each other in a manner very similar to the configuration of the final completed PCB. Some features are not currently available such as the load switches and the supply rails. Much of the last two months of development has been teaching myself to code for the C2000 platforms. The next stages of development will include finalizing the proof of concept with separate interconnected PCBs, finishing work on the final PCB, measuring the performance of the prototype with instruments and searching for possible improvements, and creating in depth documentation of the project. 

Link to the full System Design Document can be...

Read more »

  • 1 × TI TMS320F28035 Microprocessors, Microcontrollers, DSPs / Microcontrollers (MCUs)
  • 2 × Coilcraft VER2923 Inductors, Chokes, Coils and Magnetics / Fixed Inductors, Chokes and Coils
  • 4 × IRF IRS21867 Low and High Side Gate Driver IC
  • 3 × Allegro ACS722 Hall Effect Current Sensor
  • 2 × TI OPA2317 Precision, Low Offset Op-Amp, for Voltage Sensing
  • 2 × Omron G5LE PCB Power Relay
  • 1 × TI TPS54360 Buck Regulator IC, for 5V Rail
  • 1 × TI LMR62014 Boos Regulator IC, for 12V Rail
  • 2 × TI TPS62260 Buck Regulator for 1.8V and 3.3V Rail
  • 1 × TI ULN2003 Darlington Transistor array, for relay coil drive

See all components

Project logs
  • More Coding Progress

    2 months ago • 0 comments

    I have been getting a good sense of how I am going to write the firmware for this project, with three basic timer loops that run high priority/frequency, medium priority and low priority tasks. Examples of higher priority tasks will be ADC sampling, power computation, MPPT and voltage regulation algorithms, and some examples of lower priority tasks would be updating the display and responding to button pushes, changing the state of the charging algorithm, and turning on and off loads. The next big tasks will be to write a voltage regulation algorithm and potentially integrate it into the MPPT algorithm, as well as getting a battery charge algorithm to begin testing with.

    On the hardware front I have started to compile a long list of upgrades and changes to make to the next board revision, and I hope to get working on the next board once I prove out the current hardware.

  • I Blinked an LED today

    3 months ago • 0 comments

    Which Personally, I consider a significant accomplishment. It has been awhile since I wrestled with configuring the compiler for a specific device and It took some doing to get my projects working with the new device. I am more of a hardware person, can you tell?

  • Communication Success!

    3 months ago • 0 comments

    After fixing some pullup/pull down and properly connecting the JTAG programming wires, I have successfull gotten code composer to talk to this new micro, so the next step be to port my code over to the new micro (Now the C2000 TMS320F28035, Previously the TMS320F28027 for the prototype). I will probably start with a blinking LED "hello world" and then start trying to get the micro to read from the sensors and switch the FETs.

View all 15 project logs


Tachyon wrote 6 months ago point
This looks awesome and I can't wait for it to reach completion. I'll be following along eagerly.

One comment/ request. Given the example use cases as well as my personal experience, I'd like to request support for NiFe batteries as they are THE most bullet proof, long lasting( in the usable lifetime sense) battery chemistry around.

Are you sure? [yes] / [no]

matt venn wrote 6 months ago point
Hey well done for getting to the finals!
I'm interested in the dc/dc topology. Do the fets work as diodes too? I suppose that must be more efficient. I've always used a driver before - is the TI device you're using specially adapted for this?

Are you sure? [yes] / [no]

Nathaniel VerLee wrote 6 months ago point
Eh the Fets will sort of behave as diodes - will get to that in a moment. This is a "Buck-Boost" topology, a term which actually, confusingly, can refer to two different topologies, one of which results in a negative output voltage, and the other which is basically a traditional buck on one side of the inductor and a boost on the other side. My system is using the latter. Only one of the two (The buck or the boost) is actually working at a time, depending on if the battery voltage is lower or higher than the panel voltage. I have been developing my software with just the buck phase running - the boost basically sits there and runs at 99% duty cycle, with the high side FET on almost all the time. The only reason to shut that high side FET on the boost is to replenish the capacitor that drives that high side FET - this is known as a "bootstrap gate drive". That being said, the TI micro can respond really quickly to a negative current flowing back into the panel, so that high side boost FET is able to block backflow current into the panel when the micro is configured to do so. This is important because the high side buck FET WONT BLOCK BACKFLOW - there is a body diode that would allow current to flow from the battery to the panel if the panel voltage was really low. Hope that give you some insight, and yes, this TI micro is really meant for digital power control and has a lot of features to support it. Unfortunately it also draws a lot of power itself, like a whole 0.25W. Hope they make a less power hungry version of it someday.

Are you sure? [yes] / [no]

Nathaniel VerLee wrote 6 months ago point
* I said only reason to shut high side FET on, meant off.

Are you sure? [yes] / [no]

matt venn wrote 6 months ago point
thanks for that!

Are you sure? [yes] / [no]

Narasing wrote 6 months ago point
Fantastic work Nathaniel! All the best and hope you win grand prize.Would you please the budget required to undertake something like this?

Are you sure? [yes] / [no]

Nathaniel VerLee wrote 6 months ago point
Thank you Narasing! cost is one of the aspects of the project I have not yet seriously focused on. if I were to name a price for the populated board itself I would guess around $100-200. the batteries and panel also contribute a lot to the cost of the total system. you could easily spend $500-700 on the whole deal. I am hoping to take a look at cost reduction of the board itself in the distant future, but panel and battery prices are out of my control :)

Are you sure? [yes] / [no]

Nathaniel VerLee wrote 7 months ago point
Thank you Bobnova! And thanks to all my other followers! I have been selected as a semi finalist, very exciting! Can't wait to post more details as this project moves forward.

Are you sure? [yes] / [no]

Bobnova wrote 8 months ago point
This looks amazing. I want one.

Are you sure? [yes] / [no]

Similar projects