0% found this document useful (0 votes)
61 views7 pages

Stage 1 Bulk Charge:: Code Foe MPPT Arduino, Current and Voltage Sensor, Etc

The document describes the design and implementation of a buck converter for an MPPT solar charge controller. It discusses selecting components like the inductor, capacitor, MOSFETs and driver. The design process includes calculating the required specifications for these components given the input voltage range from the solar panel and output voltage/current required by the battery. It also provides steps to physically implement the inductor by winding a wire around a toroidal core and selecting off-the-shelf capacitors and MOSFETs that meet the calculated ratings.

Uploaded by

xuanthamdhqn
Copyright
© © All Rights Reserved
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
Download as doc, pdf, or txt
0% found this document useful (0 votes)
61 views7 pages

Stage 1 Bulk Charge:: Code Foe MPPT Arduino, Current and Voltage Sensor, Etc

The document describes the design and implementation of a buck converter for an MPPT solar charge controller. It discusses selecting components like the inductor, capacitor, MOSFETs and driver. The design process includes calculating the required specifications for these components given the input voltage range from the solar panel and output voltage/current required by the battery. It also provides steps to physically implement the inductor by winding a wire around a toroidal core and selecting off-the-shelf capacitors and MOSFETs that meet the calculated ratings.

Uploaded by

xuanthamdhqn
Copyright
© © All Rights Reserved
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1/ 7

https://github.

com/deba168/MPPT_Master code foe MPPT Arduino, current and voltage


sensor,etc.

When the controller is connected to the battery, the program will start the
operation. Initially, it checks if the panel voltage is sufficient for charging the
battery. If yes, then it will enter into the charge cycle. The Charge Cycle consists
of 3 stages.

Stage 1 Bulk charge:


Arduino will connect the Solar Panel to the battery directly ( 99 % duty cycle). The
battery voltage will increase gradually. When the battery voltage reaches 14.4V,
stage 2 will begin.
In this stage, the current is almost constant.
Stage 2 Absorption charge:
In this stage, Arduino will regulate the charging current by maintaining the voltage
level at 14.4 for one hour. The voltage is kept constant by adjusting the duty cycle.
Stage 3 Float charge:
The controller generates the trickle charge to maintain the voltage level at 13.5V.
This stage keeps the battery to be fully charged. If the battery voltage is less than
13.2V for 10mins.
The charge cycle will be repeated.

Step 4: BUCK CONVERTER DESIGN


In our case, the input source is a 50W solar panel and load is a 12V lead-acid
battery. From the earlier discussion, we have concluded that a buck converter
consists of
1.Inductor
2.Capacitor
3.MOSFETS
Selecting the frequency: The switching frequency is inversely proportional to the
size of the inductor and capacitor and directly proportional to the switching losses
in MOSFETs. So higher the frequency, lower the size of the inductor and capacitor
but higher switching losses. So a mutual trade-off between the cost of the
components and efficiency is needed to select the appropriate switching frequency.
Keeping these constraints into consideration the selected frequency is 50KHz.

Step 5: INDUCTOR CALCULATION


https://daycounter.com/Calculators/Switching-Converter-Calculator.phtml

Calculating the inductor value is most critical in designing a buck converter.


First, assume the converter is in continuous current mode( CCM). CCM
implies that the inductor does not fully discharge during the switch-off time.
The following equations assume an ideal switch (zero on-resistance, infinite
off-resistance and zero switching time) and an ideal diode.
Assume
We are designing for a 50W solar panel and 12V battery
Input voltage (Vin) =15V
Output Voltage (Vout)=12V
Output current (Iout) =50W/12V =4.16A = 4.2A (approx)
Switching Frequency (Fsw)=50 KHz
Duty Cycle (D) =Vout/Vin= 12/15 =0.8 or 80%
Calculation
L= ( Vin-Vout ) x D x 1/Fsw x 1/ dI
Where dI is Ripple current
For a good design typical value of ripple current is in between 30 to 40 % of
load current.
Let dI =35% of rated current
dI=35% of 4.2=0.35 x 4.2 =1.47A
So L= (15.0-12.0) x 0.8 x (1/50k) x (1/1.47) = 32.65uH =33uH (approx)
Inductor peak current =Iout+dI/2 = 4.2+(1.47/2) = 4.935A = 5A (approx)
So we have to buy or make a toroid inductor of 33uH and 5A.
You can also use a buck converter design calculator
So 33uH is enough for our design.

Step 6: HOW TO WIND a TOROIDAL INDUCTOR


http://www.66pacific.com/calculators/toroid-coil-winding-calculator.aspx

I have collected a bunch of toroidal cores from an old computer power supply. So I
thought to make the inductor at my home. Though it took a lot of time to make, I
learned a lot and enjoyed it during the making. These are a few tricks that I learned
during the making so that you can make it easier.
How to Wind the wire :
Winding by hand is very painful for the skin as well as you can't make the winding
so tight. So I made a simple tool from popsicle stick for winding the toroidal core.
This simple tool is very handy and you can make perfect and tight winding. Before
making the inductor you have to know the core specification and the number of
turns.
The important parameters of the toroidal core are
1. Outer diameter(OD)
2.Inner diameter(ID)
3.Height (H)
4.Al value
As I did not know the part number, I used an indirect method to identify it. First I
measure the OD and ID of the unknown core by using my vernier caliper, it was
around
OD= 23.9mm (.94'") , ID= 14.2mm(.56") ,H= 7.9mm( .31") and yellow-white in
color.
I used a toroid core chart (page-8) to identify the unknown core. I have attached
this toroid size chart in the bellow. It contains a lot of information for the inductor
design. The PDF version is attached below.
Finding the part number :
I searched for the Physical dimension table from the chart. From the table, it was
found that the core is T94
Finding the mix number :
The color of the core is an indication for mix number. As my core is is
yellow/white in color, it is confirmed that the mix number is 26
So the unknown core is T94-26
Finding Al value :
From the Al value table for a T94-26 core it is 590 in uH/100 turns.
After selecting the core now time to find out the number of turns required to obtain
the desired inductance.
Number of turn (N) = 100 x sqrt( desired inductance in uH / Al in uH per 100
turns)
=> N= 100 sqrt(33/590) = 23.65 = approximately 24 turns
You can also use this online calculator for finding the number of turns. Only you
have to know the part number and mix number.
Then I wind a 20 AWG copper wire (24 turns) around the toroid core. At the both
end of the winding leave some extra wire for connection lead. After this remove
the enamel insulation from the lead. I used my leatherman file for removing the
insulation. See the above picture for a better understanding.
Note: Making a good inductor is not so simple. I am still in the learning stage. If
you are not so confident I will recommend buying a ready-made inductor.

Step 7: CAPACITOR CALCULATION


Output capacitance is required to minimize the voltage overshoot and ripple
present at the output of a buck converter. Large overshoots are caused by
insufficient output capacitance, and large voltage ripple is caused by
insufficient capacitance as well as a high equivalent-series resistance (ESR)
in the output capacitor. Thus, to meet the ripple specification for a buck
converter circuit, you must include an output capacitor with ample
capacitance and low ESR.
Calculation :
The out put capacitor ( Cout)= dI / (8 x Fsw x dV)
Where dV is ripple voltage
Let voltage ripple( dV ) = 20mV
Cout= 1.47/ (8 x 50000 x 0.02 ) = 183.75 uF
By taking some margin, I select 220uF electrolytic capacitor.

Step 8: MOSFET SELECTION


https://www.edn.com/a-simple-guide-to-selecting-power-mosfets/
The vital component of a buck converter is MOSFET. Choosing the right
MOSFET from the variety of it available in the market is quite a challenging task.

These are a few basic parameters for selecting the right MOSFET.

1.Voltage Rating: Vds of MOSFET should be greater than 20% or more than the
rated voltage.

2.Current Rating: Ids of MOSFET should be greater than 20% or more than the
rated current.

3.ON Resistance (Rds on): Select a MOSFET with low ON Resistance (Ron)

4.Conduction Loss: It depends on Rds(ON) and duty cycle. Keep the conduction
loss minimum.

5.Switching Loss: Switching loss occurs during the transition phase. It depends on


switching frequency, voltage, current, etc. Try to keep it a minimum.

In our design, the maximum voltage is solar panel open-circuit voltage(Voc)


which is nearly 21 to 25V and the maximum load current is 5A.

I have chosen the IRFZ44N MOSFET. The Vds and Ids value has
enough margin as well as it has low Rds(On) value.
Step 9: MOSFET DRIVER

Why we need a gate driver?

A Mosfet driver allows a low current digital output signal from a


Microcontroller to drive the gate of a Mosfet. A 5-volt digital signal can
switch a high voltage MOSFET using the driver. A MOSFET has a
gate capacitance that you need to charge so that the MOSFET can
turn on and discharge it to switch off, the more current you can
provide to the gate the faster you switching on/off the MOSFET, that is
why you use a driver.

For this design, I am using an IR2104 Half-Bridge driver. The IC takes


the incoming PWM signal from the microcontroller and then drives two
outputs for a High and a Low Side MOSFET.

How to use it?

From the datasheet, I have taken the image shown above.

Input :

First, we have to provide power to the gate driver.It is given on Vcc


(pin-1) and its value is between 10-20V as per the datasheet.

The high-frequency PWM signal from Arduino goes to IN (pin-2). The


shut down control signal from the Arduino is connected to SD ( pin 3).
Output :

The 2 output PWM signals are generated from the HI and LO pin. This
gives the user the opportunity to fine-tune the dead-band switching of
the MOSFETs.

Charge Pump Circuit :

The capacitor connected between VB and VS along with the diode


form the charge pump.This circuit doubles the input voltage so the
high switch can be driven on. However, this bootstrap circuit only
works when the MOSFETs are switching.

You might also like