atifsheikh_91
Member level 1
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.
My Problem is this that the Code is 100% correct but i have doubt with Circuit pleae help me out
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();
}
}
}
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