AnsweredAssumed Answered

BLDC_Sensorless Control(single shunt) running in low speed by open loop

Question asked by Sohyun Jang on Sep 25, 2017
Latest reply on Sep 25, 2017 by Matej Pacha

Hi,

 

I use MC9S12ZVML128_BLDC_Sensorless(sing shunt) application.

 

But, I have a problem running at low speed. (Because of BackEMF sensing)

 

At low speed, I want to run motor by open loop.

 

Is this the right solution?

 

bleow code is open loop running.

 

void AppStart(void){
  if (driveStatus.bit.AfterCMT == 1) {
      timeZC = TIM0TCNT - (NextCmtPeriod >> 1);

      startCMTcounter--;
      if (startCMTcounter > 0) {
      driveStatus.bit.AfterCMT = 0;

      NextCmtPeriod = MLIB_Mul(NextCmtPeriod,START_CMT_ACCELERATION,F16);
    }
  }
  if (startCMTcounter == 0) {
    AppStartToRun();
  }
}

 

Thanks you.

Outcomes