Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

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 Capture.JPG

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

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top