Introduction: Solar Powered LED/Ultracapacitor Arduino Regulated Light

Picture of Solar Powered LED/Ultracapacitor Arduino Regulated Light

This instructable primarily shows how to control the charging voltage from a solar panel to an energy storage device (capacitors in this case).

I showed how to construct the light previously

Step 1:

Picture of

This solar panel can produce up to 18 volts, but my capacitor bank should never receive more than 15 volts.  I want to stop charging at 14 volts--just to be on the safe side.

To accomplish this, I use an Arduino microcontroller which controls a relay.  The relay controls power into the capacitor bank.  Initially, the Arduino is off and the relay is open--no power to the capacitors.  I push a button, which energizes the Arduino and starts its program. (I use the button so that the Arduino is only drawing power while the capacitors are charging--in this situation, I charge for about 10 minutes to get one hour of run time on the light).

The Arduino program keeps the relay energized until the voltage reaches 14 volts.  The voltage divided across the 20K and 220K (schematic says 200K, but the resistor is actually 218K) results in about 1.17 volts going into A0 for 14 volts going into the capacitors. The Arduino releases the relay, which stops capacitor charging and powers down the Arduino.

Step 2:

Picture of

As you can see, the program is rather short.  The "valm>239" is what causes the Arduino to shut off the relay when 14 volts is achieved. 

1.17/5 = x/1024  This is the voltage in on pin A0 compared to the maximum (5 volt max) equals a portion of "1024"--the number generated when 5 volts is present.

Step 3:

Picture of

I used a breadboard and clip jumpers to make this work--but it can be cleaned up for a permanent setup.

In conclusion, to use an Arduino for voltage regulation, the Arduino must receive a DC voltage between zero and five volts on one of its analog input pins.  The voltage between zero and five volts will result in a number between 0 and 1023.  If the voltage you are monitoring is greater than five volts, use a resistor combination to divide the voltage.  Just remember that resistor values are approximate and you will need to measure and calibrate your system.


FireSword (author)2015-05-29

I tried something simpler. For the regulation of the voltage over the supercaps, I used a buck/boost converter. So from my little solar panel I have 0-5V on the other side of the buck/boost I have 2.5V if possible, but never more. I think it can be scaled for your project and avoid the arduino.

Tomdf (author)2012-09-10

Hey, it's the solar panel :)

MikeTheMaker (author)Tomdf2012-09-10

I've got a feeling that you'll see it again:)

meanpc (author)2012-09-08

Those big caps look SWEET in that acrylic case

ezekiel181 (author)2012-09-06

Why the bridge rectifier? Solar panels are a DC output.

MikeTheMaker (author)ezekiel1812012-09-06

I was using a cable which had a bridge rectifier built in (came from a generator--don't want to backfeed the generator).

You are correct, it's not necessary here--but I may shift back to the hand crank generator when I want some exercise :)

About This Instructable




Bio: I am an author and a maker. My current project is Santa's Shop. I'm working on a science fiction type book--more later. @EngineerRigsby
More by MikeTheMaker:Voice Recognition and Speech With Arduino ShieldSanta's Shop 2017, the TrainSnowflake Gear Wreath
Add instructable to: