Cũng ra được sóng Sin nhưng hơi méo. Mới đầu cũng kích 5KHz, thấy nó nóng, giảm xuống 1khz nhưng tình hình ko thay đổi.
Duty cycle thì mình lấy công thức tra bảng của tụi TI(Texas intrument), lập trình cho con DSP TMS320LF2407A nhưng nguyên tắc tạo PWM ko khác gì PIC18f4431:
----------------------------------------------------------------------
void SVGEN_MF(void)
{ float T1,dx,dy,M;
M= Vout*1.732/VDC; /*sqrt(3)=1.732*/
dx= M*sin(1.047-anpha_sect); /* pi/3=1.047 */
dy= M*sin(anpha_sect);
T1= (1-dx-dy)*T/2; /* T:chu ki PWM*/
if(sector==1)
{ *CMPR1= T1;
*CMPR2= T*dx + T1;
*CMPR3= T-T1;
}
if(sector==2)
{ *CMPR1= T*dy+T1;
*CMPR2= T1;
*CMPR3= T-T1;
}
if(sector==3)
{ *CMPR1= T-T1;
*CMPR2= T1;
*CMPR3= T*dx+T1;
}
if(sector==4)
{ *CMPR1= T-T1;
*CMPR2= T*dy+T1;
*CMPR3=T1;
}
if(sector==5)
{ *CMPR1= T*dx+T1;
*CMPR2= T-T1;
*CMPR3=T1;
}
if(sector==6)
{ *CMPR1= T1;
*CMPR2= T-T1;
*CMPR3=T*dy+T1;
}
*T1CON= *T1CON|0x0040; /* Timer chay*/
}
-----------------------------------------------------------------------
Bác Sandro_BK thử công thức này xem. Được thỉ chỉ lại mình phần cứng với. Cũng học BK hả? BK Hà Nội, Đà Nẵng hay TPHCM?
Có cao thủ nào chỉ dẫn dùm tụi này đi!!!!
|