Wednesday, July 25, 2012

48 Volts 60 Ampere Solar Charge Controller

Hello Everyone.......

An update to our work in Rnd Labs. A solar charge regulator or controller (as you wish), which is based on the PWM Mode built using a PIC Microcontroller. We shall see block by block explanation of the whole unit.




Here is the schematic for the whole unit:


Here is a file to download in case it is not viewable on your screen: Click Here

Let me first attack the Micro-controller based ADC and PWM units as this is the main unit which does one half of the work.

For the ADC, we are exclusively using the PIC 16F88 as it has a built in ADC converter and also its quite small in size with 18 pins. We have already covered the ADC in this post here: Follow Here

Now coming to the PWM, the PIC16F88 does have a built in PWM, but here we have to re-alter the PWM in a different way which has been explained below.


The following is some simple algorithm with pseudo-code at some places to help better understand the flow:-
; Simple 2-Stage algorithm

; Determine the hex values for 53Volts and 60 Volts
; R1 equ   53h
; R2 equ    60h

; Please note these R1, R2 values are due to scaling
; In the present case scaling is 100:5
; Determine the present Battery Voltage Say R3

10; If R3 < R1 Call Dump routine
20; If R3 >R1; If 'False go to 10”; Call PWM Routine

; Dump Routine;
; BSF Rb4; (Rb4 is the Driving output and it is set High;
; Call Delay 2sec;
; BCF Rb4; (Rb4 is set low);
; Return; Go to 10 meaning continue to check whether;
; The Battery voltage has crossed the Desired R1 Value;

; PWM Routine;
; R2-R3=R temp;
; BSF Rb4;
; DECFSZ Rtemp;
; Loop;
; BCF Rb4
; DECFSZ RTemp2; Rtemp2 + Rtemp=C (Constant);
; Loop;
; Return;
; Go to 20 
; End;

1) Effectively we determine what should be the HEX values for 53Volts (R1) and 60Volts (R2).

2) We are continuously monitoring the Battery voltage (R3)

3) If Battery is below 53 Volts we go to dump routine and make the Controller output High for 2 Seconds. Then we Make the output Low and verify the status of battery Voltage.

4) We continue with Dump stage till Battery crosses 53Volts.

5) Then we verify whether it has crossed the set value of 53 Volts and jump to PWM Routine.

6) PWM Routine: Here we check the difference between higher cutoff voltage and present voltage. The difference is ON time of PWM Off time is the inverse Meaning ON+OFF shall be same.  (On+Off gives us PRF)

7) Continuous loop from step 2

Technical Details of the Solar Charge Controller:
 
The energy coming from Solar Panel is used to charge battery using this Charge Controller.Two-Stage Controller is implemented in 16F88 Microcontroller. Charging is done in two stages: boost charge upto 53 volts and PWM method beyond 53 volts. The algorithm is provided above.

The cabinet  is all aluminum. Three sides are covered by heat sink. Chassis DOES NOT consists of any heat dissipating components.

Two diodes are used to provide reverse polarity protection for solar panel as well as battery. Each diode rating is 180 Amperes (ie, 90A*2), whereas we are pumping only 60 Amperes. The maximum dissipation is 60 Amps* diode drop which is below 150 Watts. We have provided heat sink for 200 Watt capacity each.

The MOSFET switches have resistance loss Rds=0.065 ohms.
Each MOSFET, theoretically can output 40 Amperes, whereas, we are loading only 12 Amperes. So the voltage drop is 0.78 Volts and dissipation is 9.5 Watts. Total MOSFET dissipation is 5*9.5=50 Watts as we are loading 5 MOSFET’s to share the load current. The heat sink is 500mmx100mm heat sink profile.

The selected heat sink is rated 500 Watt dissipation at Ta=25 degree centigrade.

 Finally, our unit under testing.

The complete code for the Micro-controller can be downloaded from here: 
ADC-PWM: Click Here(ASM)
ADC-PWM: Click Here(HEX)
 

Tuesday, July 24, 2012

Ammeter using PIC16F877

Hello Everyone,

We have made one more new experiment in RnD Labs today. This time we came up with an Ammeter using PIC16F877A. PIC16F877A is a 40pin pic microcontroller with Analog Comparator module which has two analog comparators.

The datasheet of PIC16F877A can be downloaded from this site: Click Here

 As earlier mentioned we were not satisfied with the current meter available in the market hence we made our own by taking the help of below given site.The below link mentioned is used to display both volts and currents.

You can find the link by: clicking here
For source code: click here


Whereas, in our project we are using ammeter so we modified the code to display current.

You can find the modified ammeter code by: clicking here


The current meter is tested and some snapshots of the tested current meter are shown below. 















Saturday, July 7, 2012

PIC16F688 Digital Voltmeter

Hello Friends,

Today we made Digital Voltmeter using PIC16F688.  The speciality of this PIC16F688 is it is 14pin PIC and has 10bit resolution and 8 channel A/D converter

The datasheet of PIC16F688 can be downloaded from this site: click here


 So why we made this? In one of our project we have to use DVM (digital volt meter) but we were not satisfied with the digital volt meters in the market hence we constructed our own DVM by taking the help of below given site which was very easy to understand as compared to the DVM which was available in market.

 You can find the link by: clicking here


Output

 The DVM is tested for various input voltages ranging from 0-20 V and found to be very accurate. Some snapshots of the testing are here.