我在用“HVMotorCtrl+PfcKit_v2.1”中“HVBLDC_Sensored”的例程的时候遇到了一个问题。
在该例程的Level 3中,从原理图可以看出此时PWM的占空比输入采用的是“rmp2.out”,如下图所示:
但在Level 3的程序中,
if (ClosedFlag==TRUE) {
if (hall1.CmtnTrigHall==0x7FFF) {
PreviousState = pwm1.CmtnPointer;
// Comment the following if-else-if statements in case of
// inverted Hall logics for commutation states.
if (hall1.HallGpioAccepted==5)
pwm1.CmtnPointer = 0;
else if (hall1.HallGpioAccepted==1)
pwm1.CmtnPointer = 1;
else if (hall1.HallGpioAccepted==3)
pwm1.CmtnPointer = 2;
else if (hall1.HallGpioAccepted==2)
pwm1.CmtnPointer = 3;
else if (hall1.HallGpioAccepted==6)
pwm1.CmtnPointer = 4;
else if (hall1.HallGpioAccepted==4)
pwm1.CmtnPointer = 5;
/*
// Comment the following if-else-if statements in case of
// non-inverted Hall logics for commutation states.
if (hall1.HallGpioAccepted==2)
pwm1.CmtnPointer = 0;
else if (hall1.HallGpioAccepted==6)
pwm1.CmtnPointer = 1;
else if (hall1.HallGpioAccepted==4)
pwm1.CmtnPointer = 2;
else if (hall1.HallGpioAccepted==5)
pwm1.CmtnPointer = 3;
else if (hall1.HallGpioAccepted==1)
pwm1.CmtnPointer = 4;
else if (hall1.HallGpioAccepted==3)
pwm1.CmtnPointer = 5;
*/
} //hall1.CmtnTrigHall == 0x7FFF
} // ClosedFlag==TRUE
else
pwm1.CmtnPointer = (int16)mod1.Counter;
pwm1.DutyFunc = DfuncTesting;
BLDCPWM_MACRO(1,2,3,pwm1)
倒数第二行“pwm1.DutyFunc = DfuncTesting;”,这里表明PWM的占空比输入还是用的开环时候的参数,并没有将“rmp2.out”作为占空比输入。
是我哪里没理解吗?希望得到回答,谢谢!
