- POWER =60W
- VIN=12V
- VOUT=72V
· Lm =148μH, Lk = 0.3μH
· the turns ratio of coupled inductor n = Ns/Np =3
· OPERATING FREQUENCY OF THE SWITCH (MOSFET HERE) =100KHz
· Gain formula of converter = ( (2-D) / (1−D) )+n
OUTPUT CURRENT
IOUT = POUT / VOUT
IOUT = 60W / 72V
IOUT = 0.833A
INPUT CURRENT
Assume that the converter efficiency is about 100%
POUT = PIN
IOUT = PIN / VIN
IOUT = 60W / 12V
IOUT = 5A
VOLTAGE GAIN CALCULATION
Gain = VOUT / VIN
VIN = 12V
VOUT = 72V
Gain = 72V / 12V
Gain = 6
DUTY CYCLE CALCULATION
Voltage gain of converter = ( (2-D) / (1−D) )+n
6 = ( (2-D) / (1−D) )+3
3 = (2-D) / (1−D)
3(1−D) = 2-D
3−3D = 2-D
3−3D = 2-D
1= 2D
D = 0.5
D = 50%
Coupling coefficient calculation
We have,
The coupling coefficient of coupled inductor, k = Lm / (Lm + Lk)
Lm =148μH, Lk = 0.3μH
K = 148μH / (148μH + 0.3μH) = 0.997
COUPLED INDUCTOR DESIGN
Here core used is etd-59.From the datasheet of ETD-59 core
AL=4.7uH
We have,
Mutual inductance = k √LP * LS = 148μH
In paper winding ratio is given about 1:3
Let N be No. of turns in primary and 3N be No. of turns in secondary
LP=N2AL
LS = (3N)2AL
LS=9N2AL
M = k√9N2AL * N2AL
M = k √9N4 * AL2
M= k * 3N2 * AL
148μH =.997 *3 N2 *4.7uH
148μH =14.05 uH * N2
N2 = 148μH / 14.05 uH
N2 = 10.53
N=3.24 =3
No. of turns in primary = 3
No. of turns in secondary =3N =3* 3
No. of turns in secondary = 9
LP= NP2 * AL
LP= 9* 4.7 uH
LP= 42.3 uH
LS= NS2 * AL
LS= 92 * 4.7 uH
LS= 81 * 4.7 uH
LS = 380 uH
OUTPUT CAPACITOR VALUE
FOR A CAPACITOR VOLTAGE CURRENT BASIC RELATION IS
I = C * dV / dt
dV is output ripple voltage. Assume that output ripple voltage is about 0.01% of output voltage
dV = 0.01% * 72V
dV = 0.0072 V
C = I * dt / dV
We have dt = duty ratio/frequency
C = I * D / (F * dV )
C = 0.833A* 0.5/ (100000 Hz* 0.0072 V)
C = 578 uF = 470uF (Standard value)
Hardware
WAVE FORMS
s2-s1 gate signals
output (attenuation of 10 used)
Vds2
PROGRAM (OPEN LOOP)
//Micro controller -dspic30f2010
//compiler -mikroc
//i have used crystal of 20 MHz
//output at 50KHz
// //duty_50% = (clock_frequency/ (output_frequency*4 *1)) -1 =99
//DEAD TIME = duty_50%/2 =45
void main()
{
unsigned int pwm_period, current_duty ;
current_duty=99; //duty ratio 50% =99
pwm_period = PWM1_MC_Init(50000, 0, 0x11, 0); //enable 1L AND 1H pwm pins
PWM1_MC_Set_Duty (current_duty, 1) ;
PWM1_MC_Start();
DTCON1=10; //DEAD TIME CONTROL maximum 79
while (1);
}
PROGRAM (CLOSED LOOP)
//used crystal of 20 MHz
//output at 50KHz
// //duty_50% = (clock_frequency/ (output_frequency*4 *1)) -1 =99
//DEAD TIME = duty_50%/2 =45
//feed back by 100k and 2.2k
//adc value —295 for 67V
//char g[5];
//void adctoascii (void); //declare globally
int feedbackvoltage;
void main()
{
unsigned int pwm_period, current_duty ;
current_duty=99; //duty ratio 50% =99
pwm_period = PWM1_MC_Init(50000, 0, 0x11, 0); //enable 1L AND 1H pwm pins
PWM1_MC_Set_Duty (current_duty, 1) ;
PWM1_MC_Start();
DTCON1=10; //DEAD TIME CONTROL maximum 79
//UART1_Init(9600); // Initialize UART module at 9600 bps
//Delay_ms(100); // Wait for UART module to stabilize
//UART_Write_Text(“Start”);
//UART_Write(0xd);
TRISB.F0 = 1;
while (1)
{
feedbackvoltage = ADC1_Read(0)*67/295; Delay_ms(10);
//adctoascii ();UART_Write_Text(g);UART_Write(0xd);
//Delay_ms(100);
if(feedbackvoltage>70)
{
current_duty=current_duty-1;
if(current_duty<1)current_duty=0;
PWM1_MC_Set_Duty (current_duty, 1) ;
}
else if (feedbackvoltage<69 )
{
current_duty=current_duty+1;
if(current_duty>160)current_duty=160;
PWM1_MC_Set_Duty (current_duty, 1) ;
}
}
}