1. Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.
    Dismiss Notice

solar battery charger

Discussion in 'Electronic Projects Design/Ideas/Reviews' started by abouabdelmajid, Sep 19, 2017.

  1. abouabdelmajid

    abouabdelmajid New Member

    Joined:
    Aug 20, 2017
    Messages:
    10
    Likes:
    0
    Hi everyone

    So this is a circuit of a charge regulator for solar panels. the aim is to charge the battery with 14V then 13V after a moment before its totaly charged. To do so we will need the PWM of arduino to open the MOSFET when the voltae of solar pannel is higer then the battery's then when its opposite arduino shut down the mosfet. the zener diode is here to limit the voltage to 15V.

    so what do you think ? is there something to correct ?

    2017-09-19_225g122.jpg
     
  2. ronsimpson

    ronsimpson Well-Known Member Most Helpful Member

    Joined:
    Apr 17, 2007
    Messages:
    7,373
    Likes:
    974
    Location:
    Loveland, CO USA
    ONLINE
    Q1 does not work like that.
    D1 subtracts 15 volts form the panel. Result is a 2 volts.
    If the battery is dead then the Arduino will not start and turn on Q1.

    What panel are you using?
    Is the 17 volt MPP or max voltage?
     
  3. audioguru

    audioguru Well-Known Member Most Helpful Member

    Joined:
    Mar 16, 2004
    Messages:
    32,589
    Likes:
    951
    Location:
    Canada, of course!
    ONLINE
    The N-channel Mosfet Q1 is connected as a follower. Then its gate must be 10V higher than its source. The gate must be about +24.6V which is impossible Arduino.
    The 15V/17mA zener diode D1 will blow up with charging current. But since its voltage is 15V then the battery will get only about 1.3V and it will not charge.
     
  4. dave

    Dave New Member

    Joined:
    Jan 12, 1997
    Messages:
    -
    Likes:
    0


     
  5. abouabdelmajid

    abouabdelmajid New Member

    Joined:
    Aug 20, 2017
    Messages:
    10
    Likes:
    0

    17 V is the maximum voltage.
    i thought that the zener diode is here to limit the voltage at 15v not subtracting no ?
    can anybody please please please correct it for me ?
     
  6. ronsimpson

    ronsimpson Well-Known Member Most Helpful Member

    Joined:
    Apr 17, 2007
    Messages:
    7,373
    Likes:
    974
    Location:
    Loveland, CO USA
    ONLINE
    You could use a relay to open and close the connection to the solar panel. No not need to use a PWM pin. Can use any output pin.
    Remove the Zener.
    When the battery is charging the solar voltage is 0.7 volts larger than the battery voltage. (relay closed)
    upload_2017-9-19_17-18-33.png
     
    • Like Like x 1
  7. ronsimpson

    ronsimpson Well-Known Member Most Helpful Member

    Joined:
    Apr 17, 2007
    Messages:
    7,373
    Likes:
    974
    Location:
    Loveland, CO USA
    ONLINE
    If you put the Zener from + to - on the solar panel it will limit the voltage. (not a good idea)
     
  8. abouabdelmajid

    abouabdelmajid New Member

    Joined:
    Aug 20, 2017
    Messages:
    10
    Likes:
    0
    ok mr ronsimpson i ll try what u have just prosed me and thank you so much for your help
     
  9. MikeMl

    MikeMl Well-Known Member Most Helpful Member

    Joined:
    Mar 17, 2009
    Messages:
    11,139
    Likes:
    566
    Location:
    AZ 86334
    The easiest way of charging a 12V Lead-Acid Battery from a 17 to 21Vopen-circuit solar panel is to use a low-impedance switch (FET or Relay) that is fully-on or fully-off. Close the switch when the battery voltage drops (due to load or self-discharge) below ~13.5V, and open the switch when the battery voltage climbs above ~14.4V. You don't need a Zener in the path between the panel and the battery.

    This means the Arduino needs to measure the battery voltage directly on the downstream side of the switch. The Arduino can turn the switch on/off. However, you really don't need an Arduino. I have built several chargers like this using just a 555 (used as a window comparitor) and a TL431 voltage reference (Cost ~ $2).

    Since the solar panel behaves like a constant-current source while its terminal voltage is between ~10V and it's open-circuit Voltage, the battery charging current is whatever the panel will deliver based on the solar flux landing on it. Current limiting is intrinsic in the panel.

    As long as the rated output current of the panel (in full sun) is less than the maximum allowed charging current for the battery, then nothing else need be done... While the switch is on, the panel voltage is only a few mV higher than the battery voltage, so the power dissipation in the switch is minimal. (No heatsink required). When the switch is off, the panel voltage will rise to its open-circuit value.

    I have been doing this for years in several battery chargers and battery maintainers. Most commercial solar battery charge regulators do it this way. My ham station is powered with a 240W panel feeding a 200Ah 12V battery bank. The charge regulator is based on this scheme.

    Is your battery a flooded battery, or sealed AGM type? That affects the cut-in and cut-out voltages a bit. The cut-in and cut-out voltages should be compensated for ambient temperature, too.
     
    Last edited: Sep 19, 2017
    • Like Like x 1
  10. SPDCHK

    SPDCHK Member

    Joined:
    May 26, 2006
    Messages:
    446
    Likes:
    17
    Location:
    South Africa

    Attached Files:

    • Like Like x 1
  11. MikeMl

    MikeMl Well-Known Member Most Helpful Member

    Joined:
    Mar 17, 2009
    Messages:
    11,139
    Likes:
    566
    Location:
    AZ 86334
    SPDCHK:

    What useful purpose do the Schottky diodes D6, D8, D9 serve? (hint, they do nothing, generate heat, and then they need the stupid cooling fan).

    What useful purpose does controlling Q4 with 500Hz PWM serve? (hint, what difference is there if Q4 gets turned on 500 times a second or twice per hour? Does the battery care? Does the panel care?)
     
    Last edited: Sep 20, 2017
  12. granddad

    granddad Active Member

    Joined:
    Jan 18, 2015
    Messages:
    762
    Likes:
    76
    Location:
    Worcestershire UK
    My solar controller build from stuff taken / modified from the web... has charge / discharge current measurement , a work in progress ..... solar01.jpg
     
    • Like Like x 1
  13. audioguru

    audioguru Well-Known Member Most Helpful Member

    Joined:
    Mar 16, 2004
    Messages:
    32,589
    Likes:
    951
    Location:
    Canada, of course!
    ONLINE
    The first circuit in this thread does not work because it is missing the charge pump parts that develop the high voltage drive to the gate of the N-channel Mosfet.
     
  14. abouabdelmajid

    abouabdelmajid New Member

    Joined:
    Aug 20, 2017
    Messages:
    10
    Likes:
    0
    i would like to thank every person who tried to help me think you so much

    those are informations about my solar pannel

    pv.jpg

    i am using a 12V 7.2AH AGM battery

    the diode is here to avoid the curent reverse

    i decide to use the mosfet because it doesnt consume current power to be controled not like the relay. the way i am puting the MOSFET seems correct for me because it works in my software simulation and with a limit of 5V arduino pin it can close and open the mosfet

    i am using an arduino not just to use the PMW but because i am intending to control other devices which doesn't participate in the charge controler system this why i am just showin the charge controler system

    the arduino senses the both voltage of battery and the PV at the same time
    if the battery is deep discharged arduino closes the mosfet when PV delivers more then 14.4V
    if the battery is in the float stage arduino closes the mosfet when PV delivers more then 13.5V
    if its night arduino

    i just deleted the zener and moved the diode D2. how about this now ? is there some mistakes to correct ?

    img.jpg
     
  15. MikeMl

    MikeMl Well-Known Member Most Helpful Member

    Joined:
    Mar 17, 2009
    Messages:
    11,139
    Likes:
    566
    Location:
    AZ 86334
    What problem is solved by diode D2?

    You do not have a 17V panel; you have a panel which is 21.2V if it is in bright sun, and no current is being drawn from it. Under load, the panel voltage can be anything between 0V (if short-circuited), equal to the battery voltage (if connected direct to the battery through zero Ohms), or higher than the battery voltage if there is a series impedance (like D2).

    The Arduino is a bad choice for this controller. It draws > 50 ma from the battery just to measure the panel voltage to see if it is time to turn on the switch? Horribly inefficient.
     
    Last edited: Sep 20, 2017
  16. ronsimpson

    ronsimpson Well-Known Member Most Helpful Member

    Joined:
    Apr 17, 2007
    Messages:
    7,373
    Likes:
    974
    Location:
    Loveland, CO USA
    ONLINE
    I changed the MOSFET to "P", 10A, 30V type.
    Added a mps2n2222a transistor.
    The step down needs to be PWM type to save power. This will help with the 50mA the Arduino needs. (current = 1/2)
    upload_2017-9-20_18-57-55.png
     
    • Like Like x 1
  17. audioguru

    audioguru Well-Known Member Most Helpful Member

    Joined:
    Mar 16, 2004
    Messages:
    32,589
    Likes:
    951
    Location:
    Canada, of course!
    ONLINE
    Your circuit is missing the charge pump parts (in the circuits you copied) that boost the PWM voltage from the Arduino to the gate of the Mosfet to about +25V so that the Mosfet can turn on.
    Or you can use a P-channel Mosfet that is not a follower as shown in posts #11 and #15.
     
    • Like Like x 1
  18. granddad

    granddad Active Member

    Joined:
    Jan 18, 2015
    Messages:
    762
    Likes:
    76
    Location:
    Worcestershire UK
    Accidental reverse connection of the PV panel.... possibly better placed before the voltage sense ?
    Not got arduino experience, but my PIC24FV setup takes about 30mA ,, has RTCC module, port expander and LCD with a second backpack PIC16F1827 and some LEDs. 12 bit AD reading mVolts has been a challenge answer .. use bandgap voltage x 4 (4.096v ) read 128 times take off high / low and average ...seems to work... No sun today :(


    nosun.jpg
     
    Last edited: Sep 21, 2017
    • Like Like x 2

Share This Page