electronic projects
At first - two reasons for building special solar charger controller with function "maximum power point tracker" for work with solar panel.
People, who use mobile phone and other devices in outdoor conditions, without power nets (tourists, camping, etc.),often take with problem for charge batteries of this devices. Very popular solution is using solar panels as power source. In summer time this is good solution, but for fully using potential of this panels you need for controller, what can matched load of output solar panel with input of your device. When solar panel work with maximum power point tracker, you can have 25-40% added energy. It's because solar panel have current source output behavioral. For example: solar panel has 6.5v output voltage and 0.15A output current (1W output power). In case direct connection to mobile charge input: as usual battery of phone have 3.6v voltage and this voltage will be on output of solar panel, therefore we will take 3.6Vx0.15A=0.54W from panel. In case of use maximum power point tracker (MPPT), we will have 1W*0.8=0.8W, where 0.8 is efficiency of circuit. In this case we will have 1.5 shorter time of charge (usually cell phones have 800-950 mAh accumulator, because it can be 4 hours instead 6 hours in outdoor conditions, 220mA charger current instead 150mA) or 1.5 smaller solar panel (you can choose for yourself). You must be borne in mind this example is demonstration only, because low level of charge current for start charge phone is 270-300mA (for Nokia), charge controller of phone check it before starting charge. Possibility have bigger current then in direct connection solar panel for start charge process is auxiliary reason too.
Second reason is that fact that sun shines not always. In this situation is good if you have full charged accumulator. And very good situation when you can charge this accumulator by same solar panel. Of course, you need in control of charge of this battery. When I live in camp I use 6V 4Ah SLA accumulator (It's enough for 3-4 times full charge phone). It weight near 0.8-1 kg, because in hiking use this accumulator isn't clever, it's for camp only. Of course, you can use lighter Lithium battery, after change program of controller.
My solution of this problem is using of solar panel with controller, that to be able take maximal power from solar panel, control process of charge of accumulator 6V or 12V (built detection function) and have source current 350mA, max 5.6V for charge of mobile devices.
There is circuit and board design of portable solar charger:
solar charger circuit.pdf
solar charger board.pdf
solar charger parts TOP.pdf
solar charger parts BOTTOM.pdf
program code for charger controller
theory explanation
Design description:
Design have 2 independent bloks:
1. Controller solar panel and charger sla-accumulator (ATmega8).
2. Current source 350mA with limited output voltage 5.6V (MC34063).
Controller include simple buck converter circuit (Q1B, D24,L1), 2 voltage feedback and feedback of peak of current.
Voltage feedback: difference voltage between voltage measure channels (inputs ADC1 and ADC2 of mega8 controller) give information about voltage level of accumulator. Under this info we can make solution about type of accumulator (6/12V) or work without accumulator and level of accumulator charge .
Feedback of peak of current: input ADC0, peak detector D15,R4,C10, current shunt R2. Info about peak of current is needed for maximum power point tracker work. When we have so width of pulse of PWM chopper that we have stay in maximum peak of current position it means that we take maximum power from solar panel. Attention - I tell about max peak of current during PWM period, not for average level of current. Average level of current can be easy filtered from voltage signal of current shunt over simple RC chain, but this isn't useable info for MMPT work.
Current source is almost recommended design from datasheet of MC34063. Only small change in part of connecting output transistor, in this variant will be more efficiency of conversion, because will be drop down voltage on collector-emitter 0.2-0.3V instead 1.3-1.5V in datasheet design.
Solar panel: 18V, 0.11A, 1.9W for normal exposition (1000W/m2), dimension 20x30 cm. I constructed panel from 24 photovoltaic cells of YH40*40-4A/B40-M_1203. There are 3 parallel threads, every 8 series pieces. Thread connected over Schottky diodes 1n5819. Every element have 1n4148 diode in counter-parallel connection. With this feature give better work in condition of partly shadowed (tree branches, grass). I glue these elements to bit of textile, because I can transport this panel coiled in small roll.
Be careful, for 3 season use of the cells have strong degradation. These cells are defective. I will not use this photovoltaic cells in new panels.
Attention! Wrong work device can damage connected mobile phone, because you must carefully check charger before use it. You must know that you make this device for your own risk only. I give you recommendations for check charger device, but I can't give you any warranty. If you don't have enough skills and experience better if you will not make this work.
adjustment tips
few tips for using
In case you have question about this device you can ask it here:
Comments:
Dear sir,
i am a student and i am trying to build this project at home. when i make the sun_chargeV1.3 hex file it is different from your sun_chargeV1.3 hex file. iam using winavr 20090313.
I have another problem.
when i load the file sun_chargeV1.3_eeprom using ponyprog it is not loaded properly.
I am using ATmega8 PDIP(28PIN) instead of ATmega8 TQFP(32 PIN),Is this right to use
ATmega8 PDIP
The tracker is not working properly
Please guide me , I am wating for reply from you.
Thanking you
Regards
Hi, Ranjan!
If you want replace 32pin of PDIP 28pin then you need in new PCB design and patch program (file main.c function "ioinit"). PDIP don't have input AVDC6, that used for temperature measurement.
File eeprom isn't needed for design correct work. Is verification of program in flash memory successful? (programmer circuit check)
Controller performs three functions: find max power point, voltmeter, battery control. Do you have problem with incorrect work of this functions? Do you have general crash of program?
PonyProg have uncomfortable interface for fuse bit setting. These bits are set correctly?
Regards
Hi,
I have replaced TQFP to 28 pin DIP and changed the code to use ADC3 (ADMUX=0x43; //100 0011-> Select ADC3 Temperature sensor ) for Temperature sensor.
What is the fuse bit to be set to burn the hex. I have developed new single sided PCB for this using Express PCB free software, i want to share the same , but not able to attach the file here.
I want use this circuit for Battery with 12V - 10 AH or more capacity, how to do so ?
In your Circuit diagram ADC3 and ADC4 pins has been shorted, why this been shorted ?
As i said earlier i am using ADC3 as temperature sensor, will removing of short between ADC3 and ADC4 can affect working of circuit ? Please suggest.
Also want more clarification on eeprom files ?
In source code you have added below code ? so how to proceed for DIP 28 pin Micro controller ?
uint8_t signOfWrited attribute((section(".eeprom")));
uint16_t e_null_temperature attribute((section(".eeprom")));
Regards,
Raghu
Hi,
For battery 12v 10Ah you will have h=12V*10Ah/2W=60 hours time of charge. Maybe it need more powerful device. You can use this design as example for device up to 10-15w. Of course, PCB must be adapted for this power. For higher power need other solutions.
Pins ADC3 and ADC4 shorted, because bias current for diode, that used as sensor, flows through the internal pull-up resistors. Resistors have 70-150 kOhm. For double this current pins is paralleled.
EEPROM file is automatic generated by compiler. This file is empty. Don't write this file to EEPROM. I do not see a problem, so I did not edited the makefile.
Logic of temperature measure: after write flash in indoor condition (20-27 Celsium) measure voltage drop on diode and save this value in EEPROM and set variable signOfWrited=0xaa and also write it in EEPROM (function measureNull). Temperature coefficient of silicon p-n transition is 2mV/C. During work compare drop voltage value with value saved in EEPROM. The difference between them makes the difference between the ambient temperature at the time of flash memory writing and the current temperature. Variable e_null_temperature is EEPROM cell name.
At start program processor check variable signOfWrited. In case value is equal 0xaa processor read saved value from EEPROM, in other case start procedure measuring null value.
If you will use device in temperature condition 20-35 C you can comment lines 160,346 and write line 114 deltaTemerature=0; (main.c) It will work without temperature correction.
Fuse bits set to clk=2MHz and BOD=4V. For AVR Studio you choose it in table, for Pony Prog you need check in controller datasheet.
dear sir,
i am a b.tech student and i am making a project on it .so please send diagram and explenation of solar charge controller circuit for portable solar mobile charger as soon……..please…
Dear Pushpendra!
I can not see your email, so I can not send you anything. If you ask a questions here, I will try to answer you.