Thursday, September 10, 2015

Arduino Based MPPT Algorithm Charge Controller for Solar system - updated on 14 sep 2017

What is Mppt( Maximum power point tracking)?

"We use MPPT algorithm to get the maximum available power from the Photovoltaic module under certain conditions"

How MPPT works? Why 150W solar panel does not equal to 150 w?

For example, you bought a new solar panel from the market which can deliver 7 amps current, under charge the setting of a battery is configured to 12 volts: 7 amps times 12 volts = 84w (P=V*I) You lost over 66 watts - but you paid for 150 watts. That 66 watt is not going anywhere, but it,s due to the poor match of the solar output current and battery voltage.


After using MPPT algorithm we can get the Maximum available power


Battery gets is now 12 amps at 12 volts
Output power is equal to p= V*I p=12*12=144w
Now you still have almost 144 watts, and everyone is happy.



Specification of the project


1.This project is Based on MPPT (Maximum power point tracker) algorithm


2. LED indication to show the low mid and high level of charge stat


3. LCD (20x4 character ) display for displaying power,current,voltages etc


4. Lightning /Overvoltage Protection


5. Protection For Reverse power flow


6. Overload & Short Circuit Protection


7. Logging data through WiFi


8.Charge your Cellphone, tablets any gadgets through USB port



Electrical specifications:



1.Rated Voltage= 12V


2.Maximum input current = 5A


3.Load current support up to =10A


4. Input Voltage = Solar panel 12 to 24V


5.power of Solar panel = 50 Watts


PARTS REQUIRED:

  • Resistors ( 3 x 200R ,3 x330R,1 x 1K, 2 x 10K, 2 x 20K, 2x 100k, 1x 470K )
  • TVS diode ( 2x P6KE36CA )
  • Arduino Nano 
  • ( ACS712-5A ) Current Sensor 
  • Buck Converter ( LM2596 )
  • Wifi Module ( ESP8266 )
  • LCD display ( 20x4 I2C )
  • MOSFETs ( 4x IRFZ44N )
  • MOSFET driver ( IR2104 )
  • 3.3V Linear regulator ( AMS 1117 )
  • Transistor ( 2N2222 )
  • Diodes ( 2x IN4148 , 1 x UF4007 )
  • Capacitors ( 4 x 0.1 uF, 3 x 10uF ,1 x100 uF ,1x 220uF)
  • Inductor ( 1x 33uH -5A )
  • LEDs ( Red, Yellow, Green )
  • Fuses ( 5A)
Right Now I am Working on this Hybrid Model ( Updated on 14-sep-2017)
Model of MPPT Algorithm Charge Controller
---------------------------------------------------------------------------------

Model of Arduino Based MPPT Algorithm Charge Controller


ARDUINO BASED MPPT SOLAR CHARGE CONTROLLER

captured some photos during the project 

ARDUINO BASED MPPT SOLAR CHARGE CONTROLLER

ARDUINO BASED MPPT SOLAR CHARGE CONTROLLER
ARDUINO BASED MPPT SOLAR CHARGE CONTROLLER

ARDUINO BASED MPPT SOLAR CHARGE CONTROLLER

ARDUINO BASED MPPT SOLAR CHARGE CONTROLLER
 ARDUINO BASED MPPT SOLAR CHARGE CONTROLLERARDUINO BASED MPPT SOLAR CHARGE CONTROLLER




ARDUINO BASED MPPT SOLAR CHARGE CONTROLLERARDUINO BASED MPPT SOLAR CHARGE CONTROLLER

Download Source Code:
                                                                       


                                                                                                                                                                              """"Download Schematic""""
"Don't forget to install the libraries before uploading the code to Arduino Nano "
If you found any difficulty while making this project so don't hesitate to ask first we are here to help you 24 hours a day and 7 days a week 24/7 thanks 

  97 comments:

  1. Hi, nice project. There are some solar converters that are buck boost . The boost will increase PV low voltage under low luminosity condition. For example if the solar panel is generating 5V, it could be boosted and deliver some battery charging current

    Regards

    ReplyDelete
    Replies
    1. Do you sell the projects ?

      Delete
    2. Do you sell the projects ?

      Delete
    3. Even with the minimum light (i.e. if you cover it with a cloth) the solar panel gives the voltage (i.e. 18V for 12V panel) it designed to deliver. Only the current is almost 0

      Delete
    4. Dear Xyz

      already sold

      its easy you can make your own

      Delete
  2. Problem with boosting voltage because of low light is that there is little to NO power when that happens

    ReplyDelete
  3. Problem with boosting voltage because of low light is that there is little to NO power when that happens

    ReplyDelete
    Replies
    1. then difinitley it,s efficiency will be degrade

      Delete
  4. What would be the pitfalls of trying to run multiples of these in parallel. I'm thinking a system with multiple panels/controllers charging a single battery bank. Much like a system with multiple panels and multiple inverters (like the enphase micro-inverter) running in parallel.

    Thoughts?

    ReplyDelete
    Replies
    1. Visit this link here is the clean explanation
      http://www.mpptsolar.com/en/solar-panels-in-parallel.html

      Delete
  5. Nice project! I can't find IR2104 on my market, It can replace with IR2184 or IR2110 (need to modify schematic??)

    ReplyDelete
    Replies
    1. check out this one in market IRF3205

      Delete
  6. It mean driver mosfet IR2104, on your project

    ReplyDelete
  7. Nice project!
    Can I use another arduino controller like arduino mega2560 instead of arduino Nano?

    ReplyDelete
    Replies
    1. yes you can use by doing small changes in source code

      Delete
  8. Nice project!
    Can I use another arduino controller like arduino mega2560 inesNice project!
    Can I use another arduino controller like arduino mega2560 instead of arfuino Nanoted to arduino Nano?

    ReplyDelete
    Replies
    1. yes you can use but would need some modification in source code

      Delete
  9. MY solar pannel is 100Watt rated vtg:-17.5V & rated current :-5.75amp

    ReplyDelete
    Replies
    1. plz reply if we use this pannel

      Delete
    2. Maximum is 50 to 60 watt for higher watts you need to modify the circuitry by just placing more transistor in parallel ...dont forget the heat sink,...enjoy

      Delete
  10. Hi,
    Is it possible to incorporate an external AC charger in case of insufficient sunlight for several days?

    ReplyDelete
    Replies
    1. Nice Idea but you need a Relay to cut off Ac charge when it,s sufficient sunlight and vice versa

      Delete
    2. Yes indeed..When the panel is producing enough current, AC charger will be disconnect and the solar panel will charge a battery.

      Delete
  11. just transister place in parrallel no other circutiry changes ?

    ReplyDelete
  12. hi.hope you are well.will you please tell me that is it works with boost convertor?will it be efficient system as in low insolation conditions the voltage may be very low.please guide me about this.

    ReplyDelete
  13. hi. i have project i am working on it. it is only about to get the power from solar and then apply MPPT algorithm using Buck. i just want output source with MPPT without battery charging . Is your code helpful for me or i have to apply new code or my case .
    regard

    ReplyDelete
    Replies
    1. no need a change you can use this code

      Delete
  14. Hello wanted to ask what they have for a firmare the ESP8266

    ReplyDelete
  15. LCM1602 is not avalible in market so what we use replace of this one

    ReplyDelete
    Replies
    1. waqas bhai please app apna question sahi bata dae app ka matlab hai k Market main LCD nai mil rahi am i right ???

      Delete
  16. IR2104 mosfet driver is not available please suggest another device

    ReplyDelete
  17. This comment has been removed by the author.

    ReplyDelete
    Replies
    1. Try to fing out 20X4 LCD with module attached you can get this LCD from college road rawalpindi

      Delete
    2. LCD with module is available at "IC MASTER" shop located at college road go there and buy for your self .........other wise you can change the program and connect lcd without module but i would be a little bit difficult.

      Delete
    3. 16x2 lcd is avilible on ic master shop not 20x4

      Delete
  18. Hi
    can I use a fixed inductor that is like resistor in shape instead of the toroid? and what is the effect of doing that?, please

    ReplyDelete
  19. salam.sir we are doing it on atemage8 but we are facing difficulty regarding coding.can u provide it.and secondly we need buck boost or only buck converter.plz explain

    ReplyDelete
  20. NO reply on my comment plz reply.salam.sir we are doing it on atemage8 by using perturb and observe method but we are facing difficulty regarding coding.can u provide it.and secondly we need buck boost or only buck converter.plz explain

    ReplyDelete
  21. i have never used atemage8 if you are using so you must need to update each and every Out/in pins declaration in code .... buck boost is best option otherwise you can use Boost also ..

    ReplyDelete
  22. hi, nice project..
    from the schematic the buck converter connector output pin is connected at 5V arduino pin. is suppose to be connected there or Vin arduino pin?

    ReplyDelete
    Replies
    1. Connect to Vin arduino pin ....You need to do a calibration turn on arduino uno properly using this buck converter ....for this read my article How to Turn on Arduino Using Buck Converter

      Delete
    2. thanks for the clarification. i notice from picture you posted that there is two(2) extra mosfet is being used..can you show the exact circuit.

      Delete
  23. hi I have flashed to esp8266 aswell as included the relevant libraries in ardduino IDE but getting this message espcom_open failed

    ReplyDelete
  24. Good day I connected the circuit as on the schematic, but when I add the battery to the project, it keep on burning the 3rd MOSFET the one connected to pin 5 of the mosfet driver. any idea on what might be the cause please.
    Thank you.

    ReplyDelete
    Replies
    1. Powering the MOSFET driver IR2104 from battery terminal ( 12V ) instead of solar panel ( earlier ).

      If anyone making this controller, make this changes and test it. If you have any test results / suggestions, comments it below.

      Delete
    2. Hello,
      tried that solution, pin 5 MOSFET is getting rly hot over here too.
      But only on low PWM-states like 40% and less.
      The ir2104 timing diagramm shows that on lower pwm-states its mostly on (IN=0).
      When IN = 0, LO = VS => Q3-Gate-Source = 12V.
      That means it shorts Bat + to - via the inductor.
      Am I right with that?

      Delete
  25. Salam, please can you give us your email ?

    ReplyDelete
  26. I want build solar inverter mppt charge controller without battery to run load of 200w please give suggestions and circuit

    ReplyDelete
  27. How can we convert this 12v MPPT charge controller to 24v,36v and 48v?
    I have a local made MPPT solar charge controller attach with 24v solar panels its working very good since 2 years.
    Now i want switch on to 36v / 48v.
    waiting for your reply

    Regards

    ReplyDelete
    Replies
    1. HELLO sir ,

      Please send me your email address . i want to discuss about mppt .


      Delete
  28. how much is the total cost of this project?

    ReplyDelete
  29. how much is the total cost of this project

    ReplyDelete
  30. hi!! nice project... this line be red at mine...: LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); and i take an error Positive was not declared in this scope

    ReplyDelete
  31. Is it possible to do this setup with 6v battery and 0.6w 6v solarpanel 200-300mA?

    Thank you!!!!

    Mosman

    ReplyDelete
  32. brother i sent you an Email please check it out and please reply!!!

    ReplyDelete
  33. Abid Jamal BHai

    it will be greatful if u can provide me the circuit diagram of the mppt tracking ,
    because im making a project on solar panel charging mobile phone like a solar power bank.
    can you please share your circuit and design on pcb diagram with me on this email address
    keshavcoondiah14@gmail.com

    secondly how are u calculating those parameters for values like capacitors and resistors and inductors and all. can u please share this calculation with me bhai

    Thank you in so much in advance

    Yours ,
    Keshav

    ReplyDelete
  34. Hello Sir
    I will like to know which software you use to simulate the schematic diagram of the MPPT charge contoller
    Is it PSIM or PSPICE ???

    Thank you in advance Sir

    ReplyDelete
  35. thank you very much dude .. this is very help me

    ReplyDelete
  36. can i wearing for battery 24 volt in your project ?

    ReplyDelete
  37. Hello,

    Nice project. Very similar to: http://www.instructables.com/id/ARDUINO-SOLAR-CHARGE-CONTROLLER-Version-30/

    His is based on the timnolan tracker: http://web.archive.org/web/20130430163911/http://www.timnolan.com/index.php?page=arduino-ppt-solar-charger

    but the problem with the instructables article that as he said, it is NOT working.

    I want to do a hybrid grid standby installation where if there is enough juice in the batteries the loads are operated from them but if the batt voltage falls below a critical level (night or cloudy) then an AC transformer would kick in to charge the batteries and also power the load right away in an uninterruptable fashion.

    For just switching seamlessly between the grid voltage and battery I could use PicoUPS which can handle load up to 10A.

    Can you please confirm that your design is fully working, it does not overcharge or damage the battery or other problems? If so I will base my design on yours.

    Thank you!

    ReplyDelete
  38. nice project...
    can you please help me to make it my own

    ReplyDelete
  39. Nice Project!! Can I charge 24v batteries with solar panel at 40v-45v aprox?

    ReplyDelete
    Replies
    1. No you cant do that by using this schematic, for this purpose you need to do some changes in schematic and arrangement of solar panel.

      Delete
  40. hello my solar panel specs are 20w,max voltage:17.8v, opencircuit voltage:22 v,max current:1.12 a,short circuit current 1.21 a battery specs: 12.7v and 7.6ah
    ....what are modifications should i make in the circuit...reply asap...thanks in advance

    ReplyDelete
    Replies
    1. No modifications needed just use the same circuitry

      Delete
  41. hello..my solar panel is of 20w and battery is 12v..what are the modification in circuit..reply ASAP.THANKS in advance

    ReplyDelete
  42. Sir I want to work on different algorithms of MPPT. Comparison of three algorithms. should I use Arduino or Simulink?

    ReplyDelete
    Replies
    1. you need to use both

      simulink for simulation purposes

      arduino for hardware purposes

      Delete
  43. Sir i need to know where i can put the transistor in parallel if i using solar panel 100w? thank you sir. i'm waiting for your reply

    ReplyDelete
  44. i am having a 500 watts solar panel what changes i have to do to this circuit to suit my panel? aerokalaiselvan@gmail.com

    ReplyDelete
  45. battery 12v 100Ah

    Pmax = 140 Watt,

    Isc = 8.39 A,

    VOC = 22 V

    What is all the changes to hardware and software?

    ReplyDelete
  46. battery 12v 100Ah

    Pmax = 140 Watt,

    Isc = 8.39 A,

    VOC = 22 V

    What is all the changes to hardware and software?

    ReplyDelete
  47. battery 12v 100Ah

    Pmax = 140 Watt,

    Isc = 8.39 A,

    VOC = 22 V

    What is all the changes to hardware and software?

    ReplyDelete
  48. Greetings Sir
    very nice project
    can we add both buck and boost converters

    ReplyDelete
  49. a more complex details of the project do you have? i want to do a final project on my university and i really need some help,thank you!

    ReplyDelete
    Replies
    1. What do u mean by complex details ?

      everything is available here

      Delete
  50. Greetings Sir
    very nice project
    can boost converter also be used

    ReplyDelete
  51. Can we read the battery voltage correctly on the screen only if the battery is connected without the solar panel in the circuit

    ReplyDelete
    Replies
    1. You can read the battery voltage in both conditions

      Delete
  52. hello sir ,

    I want your project schematic . please send it at my email it is very urgently it is my final year project.
    ismailpakmemon@gmail.com

    ReplyDelete
    Replies
    1. Kindly review this post carefully Project schematic is Available

      Delete
  53. When I examine Deba's design, He said in website mppt charge controller doesnt work. When he connected the controller to battery, mosfets is getting heated. How did you solve the problem ? I need your help

    ReplyDelete
  54. Which MPPT algorithm has been used in this code.

    ReplyDelete
  55. Have you plans to use it with 24V system and more amperes?

    ReplyDelete
  56. Does it work for 80Wp Solar Panel

    ReplyDelete
    Replies
    1. No, for that purpose it will need customization

      Delete
  57. What type of MPPT for this project? Perturb and Observe, Inc.. or ..

    ReplyDelete


Popular Posts

ElectronicsLovers. Powered by Blogger.

Contact Form

Name

Email *

Message *