2xPM_Sensorless.c文件中,interrupt void MainISR(void)函数中BUILDLEVEL==LEVEL1时
if(Motor==1)
{
EPwm1Regs.CMPA.half.CMPA=pwm1.PWM1out; // PWM 1A – PhaseA EPwm1Regs.CMPB=pwm1.PWM2out; // PWM 1B – PhaseB EPwm2Regs.CMPA.half.CMPA=pwm1.PWM3out; // PWM 2A – PhaseC EPwm2Regs.CMPB=0; // PWM 2B – PhaseD }
这几行设置了EPWM1A,EPWM1B,EPWM2A,但是我纳闷的是它们的互补脉冲呢,不是应该输出6个脉冲吗,而且死区时间也设置为0,不知何故
Hank Zhao:
LEVEL1没有接电机,只是为了测试一下相关的模块。
2xPM_Sensorless.c文件中,interrupt void MainISR(void)函数中BUILDLEVEL==LEVEL1时
if(Motor==1)
{
EPwm1Regs.CMPA.half.CMPA=pwm1.PWM1out; // PWM 1A – PhaseA EPwm1Regs.CMPB=pwm1.PWM2out; // PWM 1B – PhaseB EPwm2Regs.CMPA.half.CMPA=pwm1.PWM3out; // PWM 2A – PhaseC EPwm2Regs.CMPB=0; // PWM 2B – PhaseD }
这几行设置了EPWM1A,EPWM1B,EPWM2A,但是我纳闷的是它们的互补脉冲呢,不是应该输出6个脉冲吗,而且死区时间也设置为0,不知何故
bing wang7:
回复 Hank Zhao:
LEVEL1至LEVEL7都是这样设置的,难道都没有接电机吗?
2xPM_Sensorless.c文件中,interrupt void MainISR(void)函数中BUILDLEVEL==LEVEL1时
if(Motor==1)
{
EPwm1Regs.CMPA.half.CMPA=pwm1.PWM1out; // PWM 1A – PhaseA EPwm1Regs.CMPB=pwm1.PWM2out; // PWM 1B – PhaseB EPwm2Regs.CMPA.half.CMPA=pwm1.PWM3out; // PWM 2A – PhaseC EPwm2Regs.CMPB=0; // PWM 2B – PhaseD }
这几行设置了EPWM1A,EPWM1B,EPWM2A,但是我纳闷的是它们的互补脉冲呢,不是应该输出6个脉冲吗,而且死区时间也设置为0,不知何故
bing wang7:
回复 Hank Zhao:
没人能回答这个问题吗?困扰我好几天了