PCBWay 3rd PCB Design Contest
VOTE NOW!
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
Design 1/4
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
Usability 2/4
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
Creativity 3/4
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
Content 4/4


If you are planning to install an off-grid solar system with a battery bank, you’ll need a Solar Charge Controller. It is a device that is placed between the Solar Panel and the Battery Bank to control the amount of electric energy produced by Solar panels going into the batteries. The main function is to make sure that the battery is properly charged and protected from overcharging.

As the input voltage from the solar panel rises, the charge controller regulates the charge to the batteries preventing any overcharging and disconnect the load when the battery is discharged.


Types of solar charge controllers

There are currently two types of charge controllers commonly used in PV power systems :


1. Pulse Width Modulation (PWM) controller


2. Maximum Power Point Tracking (MPPT) controller


In this tutorial, I will explain to you about the PWM Solar Charge Controller. 


Specification


1.Charge controller as well as energy meter


2. Automatic Battery Voltage Selection (6V/12V)


3. PWM charging algorithm with auto charge set point according to the battery voltage


4.LED indication for the state of charge and load status


5. 20x4 character LCD display for displaying voltages, current, power, energy, and temperature.


6.Lightning protection


7.Reverse current flow protection


8.Short Circuit and Overload protection


9. Temperature Compensation for Charging


10. USB port for Charging Gadgets



Build Instruction


Instructables : https://www.instructables.com/id/ARDUINO-PWM-SOLAR-CHARGE-CONTROLLER-V-202/


My Website: https://www.opengreenenergy.com/post/arduino-pwm-solar-charge-controller-v-2-02


How the Circuit Works ?


Note : Red Line - Power and Yellow Line - Control Signal



The heart of the charge controller is an Arduino Nano board. The Arduino senses the solar panel and battery voltages by using two voltage divider circuits. According to these voltage levels, it decides how to charge the battery and control the load.


Note : In the above picture, there is typographical error in power and control signal. The red line is for power and yellow line is for control signal.


The whole schematic is divided into the following circuits:


1. Power Distribution Circuit:


The power from the battery ( B+ & B- ) is step down to 5V by the X1 ( MP2307) buck converter. The output from the buck converter is distributed to

1. Arduino Board

2. LEDs for indication

3. LCD display

4. USB port to charge gadgets.


2. Input Sensors:


The solar panel and battery voltages are sensed by using two voltage divider circuits consisting of resistors R1-R2 & R3- R4. C1 and C2 are filter capacitors to filter out the unwanted noise signals. The output from the voltage dividers is connected to Arduino analog pins A0 and A1 respectively.

The solar panel and battery currents are sensed by using two ACS712 modules. The output from the current sensors is connected to Arduino analog pin A3 and A2 respectively.

The battery temperature is measured by using a DS18B20 temperature sensor. R16 (4.7K ) is a pull-up resistor. The output of the temperature sensor is connected to Arduino Digital pin D12.


3. Control Circuits:


The control circuits are basically formed by two p-MOSFETs Q1 and Q2. The MOSFET Q1 is used to send the charging pulse to the battery and MOSFET Q2 is used to drive the load. Two MOSFET driver circuits are consist of two transistors T1 and T2 with pull-up resistors R6 and R8. The base current of the transistors is controlled by resistors R5 and R7.


4. Protections Circuits:


The input over voltage from the solar panel side is protected by using a TVS diode D1. The reverse current from the battery to the solar panel is protected by a Schottky diode D2. The over current is protected by a fuse F1.


5. LED Indication:


LED1, LED2, and LED3 are used to indicate solar, battery and load status respectively. Resistors R9 to R15 are current limiting resistors.


7. LCD Display:


An I2C LCD display is used to display various parameters.


8. USB Charging:


The USB socket is hooked up to 5V output from the Buck Converter.


9. System Reset:


SW1 is a push button to reset the Arduino.


Mar 25,2020
1,018 viewsReport item
  • Comments(5)
  • Likes(5)
You can only upload 1 files in total. Each file cannot exceed 2MB. Supports JPG, JPEG, GIF, PNG, BMP
    View More
    VOTING 2 votes
    • Engineer from UNITED STATES OF AMERICA
      • 10
        design
      • 10
        usability
      • 10
        creativity
      • 10
        content
      10.00
    • Engineer from
      • 10
        design
      • 10
        usability
      • 10
        creativity
      • 8
        content
      9.50
    View More