CREATIVE SOLAR CHARGE CONTROLLER v8.0
INTRODUCTION:
Creative Solar Charge Controller is an Electronic device which controls battery charging & load.It is attached between solar panel of 12 or 24 volt & battery of 12 or 24 volt .It has 3 ports, one for battery , one for panel & one for load. It can handle max current of 30A .Two mosfets for 10A and six for 30A.PROJECT VIDEO:
* SPECIFICATIONS:
*) 30A MAX current (Optional # of Mosfets for <30A current)
*) 12/24 volt operation
*) Dual mode , STEP & PWM
*) Multiple Charging option 14v, 14.5v & Over Charging mode.
*) Over Heating Protection , Temperature sensor
*) 16x2 LCD Display
*) Cooling fan with Stand By mode.
*) Voltage, Current & Temperature Display.
*) LEDs Display.
*) Buzzer as operation indicator.
*) Non-Volatile Configuration through Buttons (EEPROM).
*) 12/24 volt operation
*) Dual mode , STEP & PWM
*) Multiple Charging option 14v, 14.5v & Over Charging mode.
*) Over Heating Protection , Temperature sensor
*) 16x2 LCD Display
*) Cooling fan with Stand By mode.
*) Voltage, Current & Temperature Display.
*) LEDs Display.
*) Buzzer as operation indicator.
*) Non-Volatile Configuration through Buttons (EEPROM).
PROJECT DETAILS:
MEMBERS:
- SHAMSHAIR KHAN
- MUBASHIR AHMED
- HAFIZ M.DAWOOD
- TAIMOOR ALI
- SYED HILAL
- ABDUL WAHAB
- M.FAIZAN MAZHAR
DATE / TIME:
12th NOV 2016
SATURDAY
9:00AM TO 3:00PM
INSTITUTE:
ARMY PUBLIC COLLEGE OF MANAGEMENT
& SCIENCES (APCOMS)
RAWALPINDI , PAKISTAN.
CONTENT:
- VOLT/CURRENT/TEMPERATURE
- CIRCUIT DIAGRAM
- POWER SUPPLY
- BATTERY
- SOLAR PANEL
- SWITCHING MOSFETS
- LED INDICATORS
- BUTTONS & EEPROM
- MICRO CONTROLLER
- LCD DISPLAY
- FAN
- TROUBLESHOOTING
- PROTEUS LAYOUT
- BURNING HEX TO AVR
- DOWNLOADS
- REFERENCES
1)VOLTAGE MEASUREMENT:
SCC can measure volts up to 40 volts .A simple voltage divider converts volt in to a range within 5volts because microcontroller cannot measure voltage greater than 5 volts.Zener of 5.1 volt is attached in reverse bias with ADC pin for over voltage protection i.e the voltage of ADC pin do not rise above 5 volts.
CODE:
**********************************
//volts calculation
//volts calculation
int analog_val2=analogRead(A2); // battery volts
temp2 = (analog_val2 * 5.0)/1024.0;
vin2 = temp2/(r6/(r5+r6));
lcd.setCursor(2,0);
lcd.print(vin2);
***********************************
b)CURRENT MEASUREMENT:
I have used 2 springs of least resistance , I forgot the guage of wire which I used you can use any small wire with least resistance.
CODE:
*************************************
//current calculations
cc1 =analogRead(pin); //charging amps
cc2 = cc1*0.12 ;
cc3 =analogRead(pin2); //battery to load
cc4 = cc3*0.12 ;
*************************************
cc3 is analog value beween 0 to 1023 for 0v to 5v.When we passed current of 3.6A , ADC gave value of 30 so we found 0.12 as factor by:
3.6/30 = 0.12
c) TEMPERATURE : (LM35)
LM35 gives out put voltage of 0.25V when temperature is 25 degree centigrade.LM35 should be attached with charging mosfets with alfi or anything adhesive.Code is copied from LM35 tutorial REFERENCE{1}
CODE:
*************************************
//temperature calculations
tvalue = analogRead(tpin);
float mv = (tvalue/1023.0)*5000;
int cel = mv/10;
*************************************
2)CIRCUIT DIAGRAM:
Click to Zoom
3)POWER SUPPLY:
Microcontroller runs on 5V provided by 7805 regulator IC .Input and output filter capacitors are added. DC fan runs on 12v so an additional 7812 is added in circuit. If your system is 12v then you can skip this IC by shorting input and output of 7812.|CSCC takes power from battery, if you will not connect battery CSCC will not turn on i.e Battery is must for CSCC to operate.Current consumed by CSCC is less than 100mA so no heatsink is required for 7805 IC.
4) BATTERY:
You can use any battery but charging & load current should not rise above 30 Amperes. Apply extra solder on high current pads and traces. We have used car battery of 45Ah.
5) SOLAR PANEL:
- NOTE:
Panel should have polarity diodes in series . Most solar panels have buildin diodes ,But panel which we used had no diodes so we connected two 3A diodes in series with output of panel.
6) SWITCHING MOSFETS:
We used IRF3205 power mosfet , For 10A connect 2 Mosfets on charging side and 2 on load side , for 30A, 6 mosfets on charging side & 6 on load side.No of mosfets depend on current requirement.
We attached optocouplers for driving mosfets with isolation.Any N-Channel Mosfets can be used while taking care of max volt and current rating.
7) LED INDICATORS:
- POWER LED:
Indicates power on/off of the microcontroller connected with output of 7805 IC.
- SOLAR LED:
Connected with gate of charging mosfets . Displays whether charging mosfets are on or off. Simply Charging on/off LED. This LED glows dim in PWM mode showing dutycycle .
- LOAD LED:
Connected with the gate of LOAD mosfets . Displays whether Load is on/off.
- FULL LED:
Glows when battery reaches to battery full voltages . In XM at 14v & 28v , in YM at 14.5v & 29v in STEP Mode .In PWM Mode blinks at battery full voltages written before.
- LOW LED:
Glows when battery voltage drop to 10V or 20V . It blinks between 10v to 10.5v & continuously turns on <10v. Indicates Battery Low.
- INFO LED:
Indicates input i.e when any button is pressed it blinks along with beep.
8) BUTTONS:
HV for 24 Volts system .
Battery low volts = 20v
Battery full volts = 28v , 29v
Battery low volts = 20v
Battery full volts = 28v , 29v
LV for 12 Volts system
Battery low volts = 10v
Battery full volts = 14v , 14.5v
Battery low volts = 10v
Battery full volts = 14v , 14.5v
- XM / YM / OC:
These are battery full volt settings
XM = 14 volts (for new battery)
YM = 14.5 volts (for old battery)
OC = Over Charging (for too low battery)
Some times when battery gets too low and we need to charge it from market . We specially added this mode so a low battery can be charged without going to market.It will overcharge battery , so take care do not charge battery too much in this mode. Turn off this mode when battery
XM = 14 volts (for new battery)
YM = 14.5 volts (for old battery)
OC = Over Charging (for too low battery)
Some times when battery gets too low and we need to charge it from market . We specially added this mode so a low battery can be charged without going to market.It will overcharge battery , so take care do not charge battery too much in this mode. Turn off this mode when battery
NOTE:
OC mode is not for DRY BATTERY , It can blast a dry battery through overcharging.Use only for LEAD ACID BATTERY.
- PWM / STP :
STP or step mode is simple switch .When voltage reaches at 14v in XM full led turns on and mosfets stop charging , just like a switch.when voltage go below 12v CSCC again starts charging.
PWM or pulse width modulation mode is a common mode in which most solar charge controllers work . In PWM mode when voltage reaches at battery full volts say in XM at 14v pulse width start decreasing with a value of -1.when voltage go below 14v , pulse width again starts increasing with increment of +1. PWM keeps voltage almost constant at 14v in XM by increment & decrement .This type of charging is called FLOAT charging.FULL LED blinks when there is decrement -1 of pulse width.
PWM or pulse width modulation mode is a common mode in which most solar charge controllers work . In PWM mode when voltage reaches at battery full volts say in XM at 14v pulse width start decreasing with a value of -1.when voltage go below 14v , pulse width again starts increasing with increment of +1. PWM keeps voltage almost constant at 14v in XM by increment & decrement .This type of charging is called FLOAT charging.FULL LED blinks when there is decrement -1 of pulse width.
- RESET:
It resets microcontroller i.e the program starts again , just like you turn off & then turn on again. Used if microcontroller hang or you want to see startup again.
1st three buttons change value of address in EEPROM . We used EEPROM to make settings permanent so they do not change even after power on/off.
- EEPROM:
1st three buttons change value of address in EEPROM . We used EEPROM to make settings permanent so they do not change even after power on/off.9) MICRO-CONTROLLER & CRYSTAL:
ATmega8 = 8KB
ATmega168 = 16KB
ATmega328 = 32KB
If you want to use ATmega168 or 328 then code should be recompiled with name of microcontroller. HEX file which we are providing only works on ATmega8.
Frequency of Crystal is 16Mhz.
Frequency of Crystal is 16Mhz.
10) LCD DISPLAY :
LCD has a size of 16 x 2 .On first line LCD display voltage of battery, then charging current & discharging current. On 2nd line it display PWM or STP mode , then XM/YM/OC modes then FL/FH FL for Fan Low or Fan off & FH for Fan High or Fan off.
11) FAN :
We used 12v DC brushless fan which has a current rating of 0.48A so a NPN transistor D313 is used to drive fan. If your system is 24v then take output from 7812 added in circuit , also provide heatsink. When temperature rise above 40 degree centigrade fan turns on and turns off when temperature goes below 25 degree. Try to adjust fan on top of mosfets.
12) TROUBLESHOOTING:
Sometimes microcontroller hangs on surge current or voltages or when load is connected , this is only issue with this project but every problem has a solution , we added two capacitors of 400v 10uF , one on the output of load and one on input of solar panel. Always connect battery first then solar panel & donot remove battery when solar panel is connected. First disconnect solar panel and then battery. If microcontroller hang simply press reset button . If you will connect battery in reverse , CSCC will not turn on due to reverse polarity protection.
13) PROTEUS LAYOUT:
14) BURNING HEX TO AVR :
Method is as follow:
- Download hex file connect programmer we used USBasp v2011 programmer which I made earlier , tutorial is present in projects tab.
- connect MOSI, MISO, SCK,RESET, VCC & GND pins of programmer with Microcontroller pins .Connect 16Mhz crystal with pin 9 & 10 .
- Set fuse bits as shown below.
- Hfuse = FF Lfuse= D9
- Burn hex file and place it on PCB and you are done.
15) DOWNLOADS :
Extract Zip after downloading.
Download Pakage contains :
Download Pakage contains :
- Hex file for ATmega8
- Proteus Layout Files
- FREE CODE
Password : w w w. c r e a t i v e e a g l e.b l o g s p o t.c o m (without space)
Request: Password is only for your revision , not for bothering, there is no space between password. If you find any problem in downloading or making this project feel free to ask in comments or direct text me on facebook CLICK HERE
Request: Password is only for your revision , not for bothering, there is no space between password. If you find any problem in downloading or making this project feel free to ask in comments or direct text me on facebook CLICK HERE
16)REFERENCES:
{1} http://www.instructables.com/id/ARDUINO-TEMPERATURE-SENSOR-LM35/
0 Reviews:
Write A Review