您好,F280XPWM.H/.C之中有些不明白的,望您解答!
由於是剛入門不久的初學者,尚在摸索測試階段
MCU型號:TMS320F2801
目的:輸出PWM六相(EPWM1A/1B/2A/2B/3A/3B)控制永磁馬達
問題1:在其固定角度及電流大小條件下,手動輸出Ta、Tb、Tc固定數值,輸出控制訊號PWM,預想其中2A及3A之PWM之方波應該一模一樣
但卻有0.448us位移情形發生,並非完全重疊。
問題2:同上,預想1A之方波大於2A及3A,在其重疊1A及2A方波時,應該左邊及右邊之相差間隔應該接近或相同,但卻不同。相差(0.26us)
其中TI主程式是採用:
F280XPWM.C
http://read.pudn.com/downloads85/sourcecode/embed/325703/drvlib280x/src/f280xpwm.c__.htm
F280XPWM.H
http://read.pudn.com/downloads85/sourcecode/embed/325703/drvlib280x/include/f280xpwm.h__.htm
程式一模一樣
只在Main()初始化時執行
ePWM.PeriodMax = SYSTEM_FREQUENCY*1000000*T/2; (MCU頻率為100MHz、PWM設定頻率為20KHz)
void F280X_PWM_Init(PWMGEN *p)
而後
在手定輸入設定完Ta、Tb、Tc後 執行以下程式
ePWM.MfuncC1=(int16)_IQtoIQ15(Ta);
ePWM.MfuncC2=(int16)_IQtoIQ15(Tb);
ePWM.MfuncC3=(int16)_IQtoIQ15(Tc);
ePWM.update(&ePWM);
為何會出現以上問題呢?
煩請回答!感恩