This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

28035 高压套件例程 HVBLDC_Sensored的问题



我在用“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”作为占空比输入。

是我哪里没理解吗?希望得到回答,谢谢!

  • 你的观察应该是对的,把它换成你觉得合适的就行了。
    另外,我联系了一下美国工程师,那边似乎对这个例程的支持有限的,因为开发它的工程师不支持特定的查询。如果你后续有其他问题,建议你直接英文E2E论坛咨询,英文E2E上有产品线上的工程师,对例程和套件更熟悉。