Instructables
Picture of ARDUINO SOLAR CHARGE CONTROLLER (Version-1)
Presentation1.jpg
534398599d29c92a1d000022.jpg
536998d1f92ea14de2000012.jpg
534397e09d29c92a1d000020.jpg

In my previous instructables I described the details of energy monitoring of a off grid solar system.I have also won the 123D circuits competition for that.You can see this ARDUINO ENERGY METER.

Finally I post my new version charge controller.The new version has automatic battery voltage selection for 6/12 v .Automatically charge set point according to the battery.No need to change any hardware as well as software for 6V or a 12 V system.Solar panel up to 100w/12v can be used.You can see it by clicking the following link.

ARDUINO SOLAR CHARGE CONTROLLER ( Version 2.0)

Please vote for my new project.This project entered in to 3 competitions.Your vote is very important for me.Your vote may help to win a 3D printer.So that I can make my project better and better.Thanks in advance.

In solar power system, charge controller is the heart of the system which was designed to protect the rechargeable battery .In this instructables I will explain the PWM charge controller.

In India most of the people are living in rural area where national grid transmission line is not reached till now.The existing electric grids are not capable of supplying the electricity need to those poor people.So renewable energy sources ( photo voltaic panels and wind-generators) are the best option I think. I know better about the pain of village life as I am also from that area.So I designed this DIY solar charge controller to help others as well as for my home.You can't believe, my home made solar lighting system helps a lot during the recent Cyclone Phailin.

Solar power have the advantage of being less maintenance and pollution free but their main drawbacks is high fabrication cost, low energy conversion efficiency. Since solar panels still have relatively low conversion efficiency, the overall system cost can be reduced using a efficient solar charge controller which can extract the maximum possible power from the panel .

What is a Charge Controller ?

A solar charge controller regulates the voltage and current coming from your solar panels which is placed between a solar panel and a battery .It is used to maintain the proper charging voltage on the batteries. As the input voltage from the solar panel rises, the charge controller regulates the charge to the batteries preventing any over charging.

Types of Charge controller :

1.ON OFF

2. PWM

3. MPPT

The most basic charge controller(ON/OFF type) simply monitors the battery voltage and opens the circuit, stopping the charging, when the battery voltage rises to a certain level.

Among the 3 charge controllers MPPT have highest efficiency but it is costly and need complex circuits and algorithm.As a beginner hobbyist like me I think PWM charge controller is best for us which is treated as the first significant advance in solar battery charging.

What is PWM:

Pulse Width Modulation (PWM) is the most effective means to achieve constant voltage battery charging by adjusting the duty ratio of the switches ( MOSFET ). In PWM charge controller, the current from the solar panel tapers according to the battery’s condition and recharging needs. When a battery voltage reaches the regulation set point, the PWM algorithm slowly reduces the charging current to avoid heating and gassing of the battery, yet the charging continues to return the maximum amount of energy to the battery in the shortest time.

Advantages of PWM charge controller :

1. Higher charging efficiency

2. Longer battery life

3. Reduce battery over heating

4. Minimizes stress on the battery

5. Ability to desulfate a battery.

This charge controller can be used for :

1. Charging the batteries used in solar home system

2. Solar lantern in rural area

3. Cell phone charging

I think I have described a lot about the background of the charge controller.let starts to make the controller.

Like my earlier instructables I used ARDUINO as the micro controller which include on-chip PWM and ADC.

 
Remove these adsRemove these ads by Signing Up
1-40 of 207Next »

Hey could you help me with solar micro inverter means what could be the steps to make the project?

If you use LED display in place of LCD the life of the product may be good is my opinion.

K.Lakshmi Varaprasad

deba168 (author)  Lakshmi Varaprasad23 days ago

Thanks for suggestion.I will try to implement it.

ChứcN3 months ago

HI! Could you help me for my solar system, i use 12V 5A battery, 20W solar panel. I use your schematic is ok?

Thanks in advance!

deba168 (author)  ChứcN1 month ago
deba168 (author)  ChứcN3 months ago

My pleasure ..

You have to modify both in code as well as hardware..

Go through the comments I have explained for 12V system.

eric_s_lopez5 months ago

I enjoed very much your instructable. It looks not as hard to try for someone without electronics background. I am trying to build one for a 60 watt panel powering a 12 Volt marine deep cycle battery. What will be the values of the resistors for the voltage dividers? I will appreciate very much your reponse. The panel generates about 24V in open circuit.

Best regards from Guatemala.

deba168 (author)  eric_s_lopez1 month ago

Hello friend.You can see my new design for your system.

http://www.instructables.com/id/ARDUINO-SOLAR-CHARGE-CONTROLLER-Version-20/

deba168 (author)  eric_s_lopez5 months ago

Thank you ...

I feel most of the people have 12v system because I got so many mails and comments regarding the voltage divider resistor value (for 12V system).So I write this comments for all who have 12 V system.

Voltage divider for solar panel :

Input voltage: 21V to 25V (no load)
R1: 15k ohm or 150k
R2: 2.5k ohm or 25k

Output: 3.571 which is less than 5V

Voltage divider for battery :

Input voltage: nearly 14 to 15V ( for a fully charged battery)

R1: 15k ohm or 150k
R2: 4.7k ohm or 47k
Output voltage: 3.579

I suggest to use 150/25 or 150/47 combination as power loss (I2R loss) in this case is less, but you will still get the same output from the divider.You can also choose any other value near to it.

thanks for the thorough answer, I guess the zener diode must be changed too, perhaps to a 24v value?

deba168 (author)  eric_s_lopez5 months ago

Ya you are right.

mr.deba, if the eric_s_lopez solar panel output get drop voltage under 24V, such as 17 V..because sun light decrease..how you solve it??can i use LM317 for solve it???

jurgemeyer1 month ago

How about if im using a 12v 7.2Ah Battery, and Solar Panel 15W Voc 21.6V what i change in the hardware?

deba168 (author)  jurgemeyer1 month ago

Now you can see my new design.It is suitable for you.

http://www.instructables.com/id/ARDUINO-SOLAR-CHARGE-CONTROLLER-Version-20/

deba168 (author)  jurgemeyer1 month ago

Please follow the old comments

sir can you make a pcb layout in eagle?

deba168 (author)  jurgemeyer1 month ago

I am also interested to make the PCB but I have not much experience on making PCB.If any one in this community make ,please share it.

may i see a another picture of your board?

deba168 (author)  jurgemeyer1 month ago

Which board you are talking ??

the charge controller board not the arduino

deba168 (author)  jurgemeyer1 month ago

I posted all the pics.No additional pics.

why i can't see a capacitor on your video? tia

deba168 (author)  jurgemeyer1 month ago

Voltage divider for solar panel :

Input voltage: 21V to 25V (no load)
R1: 15k ohm or 150k
R2: 2.5k ohm or 25k

Output: 3.571 which is less than 5V

Voltage divider for battery :

Input voltage: nearly 14 to 15V ( for a fully charged battery)

R1: 15k ohm or 150k
R2: 4.7k ohm or 47k
Output voltage: 3.579

I suggest to use 150/25 or 150/47 combination as power loss (I2R loss) in this case is less, but you will still get the same output from the divider.You can also choose any other value near to it.

Other than voltage dividers the other parts are now suitable for me?

deba168 (author)  jurgemeyer1 month ago

Yah other parts are suitable for you.

thanks i post a picture tomorrow.

Hi sir,,

my solar panel readings are : Voc between (15 to 20 voltage) & Isc (1 to 2 A). and i want to charge 12V battery .

so can i use your software for this readings , Please told me if i need any changes.

please give me full calculation . Please reply me on my email: m.f93@hotmail.com & and i need your contact number for help..

Thank you ...

deba168 (author)  mohammadkhan1 month ago

You can see my new charge controller.I think it will works for you.

http://www.instructables.com/id/ARDUINO-SOLAR-CHARGE-CONTROLLER-Version-20/

deba168 (author)  mohammadkhan1 month ago

My software not work for this.Wait for few days more.I will post the updated version of my controller which is suitable for you.

rajdeeps1 month ago

Hello Deba, congratulations for your success!!!!!

while going through the code, i made some observations (just trying to execute the code on paper - no practical done)

as per code, "if solar voltage is less than 3V and battery voltage is greater than 6.2V, the load will turn ON" - this logic is fine

and "when battery voltage is less than 6.2V or solar voltage is more than 6 volt, than the load will turn OFF" - i see challenge in this logic

assuming its night time - solar voltage is less than 3 volts, Battery voltage more or equal to 6.2V and the load is ON

- the moment battery voltage reduces to 6.19V, the load will turn OFF, battery voltage will increase to 6.2V again and the load will turn ON again.

this will continue for a handsome amount of time and we will see a continuous load ON and OFF situation.

can you please check this.

regards

Raj

deba168 (author)  rajdeeps1 month ago

when battery voltage is less than 6.2V => Battery is not charged

Solar voltage is more than 6 volt => day time

I want to turn on the load only when the battery is healthy and there is no sunlight(night).

You are right the transition period is a problem.This can be eliminate by using a timer.The timer count the time for which the battery voltage is low(<6.2V).When the battery voltage is low for 5mins then only load will turn off.But I am not expert in programming.If you can do this.Modify my code and post it here.So that any one can take the advantage.

4-tech1 month ago

Nice project/work Debu ,

I want to know how much runtime u get when circuit is on load. How much time it takes to charge the battery. I am developing the same project. So i want to know whats the runtime and wattage rating of your circuit when turned on

regards,

Pratik .R. Bhagat

deba168 (author) 1 month ago

I am now upgrading my charge controller.The new version has automatic battery voltage selection for 6/12 v .Automatically charge setpoint according to the battery.No need to change any hardware as well as software for 6V or a 12 V system.Solar panel up to 100w/12v can be used.

I will post the details soon.Thanks to all for your support and motivation for this .

That is going to be great. Thanks.

I have breadboarded the PWM solar battery charger controller and it is functioning. Once I get it into an enclosure I will post a picture of the completed unit. I placed D1 as called for in the schematic. Then I read in the comments about moving it between Q1 and the battery. I am
going to move the it (D1) between Q1 and battery as suggested and see what
change that will make. Thanks deba168 for designing the system and posting such a very good Instructable.

Charged_amount.jpg

wow.whenever you complete post the pics.

Adjust the brightness of lcd by adjusting the backlight resistance.So that it looks good.

raveltan244 months ago

sir can you indicate what is the number of pwm? cause my aceduino has pwm1, pwm3, pwm5,pwm7,pwm9.

deba168 used pin 6 (timer 0) for generating the PWM signal.

ASCAS made it!3 months ago

Thank for the project! I finally finished my small scale solar conversion project. I removed the LCD to conserve electricity.

________________

BTW, congrats on the home-automation contest! :D

a.jpgb.jpgc.jpgd.jpg

Using the quick connect speaker jacks was a good idea. I used that on my 7805 5v reg power supply too! Good work!

1-40 of 207Next »