Help Me in Modified Sine Wave Generator using Boost Converter!

Status
Not open for further replies.

atifsheikh_91

Member level 1
Joined
Dec 28, 2011
Messages
38
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,286
Activity points
1,566
Hy 2 all;

I am designing a DC-AC converter . I am willing to produce the output nearest to sine wave ( or it could be modified sine wave) I have done PWM DC-AC converter.

My Problem is that i have designed my boost ckt with L=10mH AND C=220uF AND R=110 DIODE=10A04 AND PIC=16F877A MOS=IRFZ44N

My PIC code using MIKROC is as follow; to generate PWM; to control the boost operation.

void main() {
int k1,k2,k3,k4,k5,k6;
PWM1_Init(2000);
Trisc=0x00;


while(1)
{

// Block 0,1 30
{
PWM1_Stop();
k1=(1-(12/13))*100;
PWM1_Set_Duty(k1*255/100);
PWM1_start();
delay_us(2*1389);
}

//Block 45

{
k2=(1-(12/18.384))*100;
PWM1_Stop();
PWM1_Set_Duty(k2*255/100);
PWM1_start();
delay_us(1389);
}

//Block 60

{
k3=(1-(12/22.516))*100;
PWM1_Stop();
PWM1_Set_Duty(k3*255/100);
PWM1_start();
delay_us(1389);
}


//Block 75

{
k4=(1-(12/25.114))*100;
PWM1_Stop();
PWM1_Set_Duty(k4*255/100);
PWM1_start();
delay_us(1389);
}


//Block

{
k5=(1-(12/26))*100;
PWM1_Stop();
PWM1_Set_Duty(k5*255/100);
PWM1_start();
delay_us(1389);
}
//----------------------------------------------------------//

k1=0;k2=0;k3=0;k4=0;k5=0;

{
k5=(1-(12/26))*100;
PWM1_Stop();
PWM1_Set_Duty(k5*255/100);
PWM1_start();
delay_us(1389);
}

{
k4=(1-(12/25.114))*100;
PWM1_Stop();
PWM1_Set_Duty(k4*255/100);
PWM1_start();
delay_us(1389);
}

{
k3=(1-(12/22.516))*100;
PWM1_Stop();
PWM1_Set_Duty(k3*255/100);
PWM1_start();
delay_us(1389);
}

{
k2=(1-(12/18.384))*100;
PWM1_Stop();
PWM1_Set_Duty(k2*255/100);
PWM1_start();
delay_us(1389);
}

{
k1=(1-(12/13))*100;
PWM1_Set_Duty(k1*255/100);
PWM1_start();
delay_us(2*1389);
PWM1_Stop();
}

}
}​

My Problem is this that the Code is 100% correct but i have doubt with Circuit pleae help me out
 

I have reposted my code againg ;

void main() {
int k1,k2,k3,k4,k5,k6;
PWM1_Init(2000);
Trisc=0x00;


while(1)
{

// Block 0,1 30
{
PWM1_Stop();
k1=(1-(12/13))*100;
PWM1_Set_Duty(k1*255/100);
PWM1_start();
delay_us(2*1389);
}

//Block 45

{
k2=(1-(12/18.384))*100;
PWM1_Stop();
PWM1_Set_Duty(k2*255/100);
PWM1_start();
delay_us(1389);
}

//Block 60

{
k3=(1-(12/22.516))*100;
PWM1_Stop();
PWM1_Set_Duty(k3*255/100);
PWM1_start();
delay_us(1389);
}


//Block 75

{
k4=(1-(12/25.114))*100;
PWM1_Stop();
PWM1_Set_Duty(k4*255/100);
PWM1_start();
delay_us(1389);
}


//Block

{
k5=(1-(12/26))*100;
PWM1_Stop();
PWM1_Set_Duty(k5*255/100);
PWM1_start();
delay_us(1389);
}
//----------------------------------------------------------//

k1=0;k2=0;k3=0;k4=0;k5=0;

{
k5=(1-(12/26))*100;
PWM1_Stop();
PWM1_Set_Duty(k5*255/100);
PWM1_start();
delay_us(1389);
}

{
k4=(1-(12/25.114))*100;
PWM1_Stop();
PWM1_Set_Duty(k4*255/100);
PWM1_start();
delay_us(1389);
}

{
k3=(1-(12/22.516))*100;
PWM1_Stop();
PWM1_Set_Duty(k3*255/100);
PWM1_start();
delay_us(1389);
}

{
k2=(1-(12/18.384))*100;
PWM1_Stop();
PWM1_Set_Duty(k2*255/100);
PWM1_start();
delay_us(1389);
}

{
k1=(1-(12/13))*100;
PWM1_Set_Duty(k1*255/100);
PWM1_start();
delay_us(2*1389);
PWM1_Stop();
}

}
}
 

Status
Not open for further replies.

Similar threads

Cookies are required to use this site. You must accept them to continue using the site. Learn more…