请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
部件号:INSTASPIN-BLDC 主题中讨论的其他部件:DRV8301
您好,
我正在使用lab11e (在BLDC电机上使用霍尔传感器进行快速转换)。 引用的项目是为EVM套件构建的。
我在DRV8301上开发了驱动板(基于bootxl),我可以成功运行电机标识,也可以在霍尔传感器上运行项目。
在程序中
如果(gFlagBldc & gFlag120){
SWITCH (gHallState){
案例5:{
PWM_setOneShotTrip (hal.pwmHandle[PWM_NUMBER_1]);
PWM_clearOneShotTrip (hal.pwmHandle[PWM_NUMBER_2]);
PWM_clearOneShotTrip (hal.pwmHandle[PWM_NUMBER_3]);
gPwmData.TABC.Value[0]=_IQ (0.0);
gPwmData.TABC.Value[1]=-gDuty;
gPwmData.TABC.Value[2]= gDuty;
中断;
}
如果我将上述位设置为真,我可以旋转马达以改变gDuty (_IQ (0.0)-_IQ (0.5))的值;
但这里所写的逻辑是:
如果(_IQabs (speed_PU)<_IQpumpy (gBldcToFastSpd_low,gSpeed_Krpm _to_Pu_SF){<-这永远不是事实 gFlagBldc =真; angle_PU = gHallAngle; } // else //{ //// gFlagBldc = FALSE; // angle_PU = angle_est_PU; //} 否则{ //禁用PWM HAL_DisablePwm (halHandle); //将PWM设置为50 % 占空比 gPwmData.TABC.Value[0]=_IQ (0.0); gPwmData.TABC.Value[1]=_IQ (0.0); gPwmData.TABC.Value[2]=_IQ (0.0); }
我也无法得到正确的speedkRPM值。 当我进一步访问资源时,我发现这是一个问题
EST_getFm_PU (estHandle);未返回任何值。
请为我提供 有关此问题的资源。
希望尽快回复!