ZHDU069 March 2026 MSPM0G1507 , MSPM0G1519 , MSPM0G3507 , MSPM0G3519
本节使用带霍尔传感器的标准 BLDC 电机 (DT4260) 来演示带传感器 FOC 解决方案。下表给出了该电机的参数。
| 器件型号 | 额定 | 线对线 | 扭矩常数 | BEMF | 惯性 | 极点对 | |||
|---|---|---|---|---|---|---|---|---|---|
| 电压 | 速度 | 扭矩 | 电阻 | 电感 | |||||
| DT4260-24-055-04H | VDC | rpm | mNm | Ω | mH | mNm/A | mV/Hz | g·cm2 | / |
| 24 | 4000 | 125 | 0.8 | 1.2 | 35.50 | 35.7 | 48 | 4 | |
按照以下步骤使用带传感器 FOC 解决方案旋转电机:
hall_sensored-foc_DRV8316_LP_MSPM0G3507_nortos_ticlang 或
hall_sensored-foc_DRV8316_LP_MSPM0G3519_nortos_ticlang
g_pMC_App->foc.hallCalibObj.calibState
g_pMC_App->hallAngleTableReverse
用户应使用新校准的霍尔角度值更新 ISR.c 中硬编码的霍尔角度表(请参阅 表 7-7)。
需要进行霍尔校准,才能使用霍尔接口旋转新的 BLDC 电机。
图 7-11 展示了用于设置电机参数 (DT4260) 和霍尔校准参数的硬编码。
图 7-12 和图 7-13 展示了 CCS Expressions 窗口中霍尔校准的详细执行流程。
用户需要手动将 speedInput 设置为零来复位 FOC 状态机。然后,用户将 IQ15 格式的目标速度设置到 speedInput 寄存器中,以旋转电机,如图 7-14 所示。
霍尔校准完成后,用户应覆盖 ISR.c 文件中的霍尔角度表,如图 7-14 所示。对霍尔信号接线的任何改动都需要重新执行完整的校准流程。
霍尔校准需要对寄存器进行额外的修改,完成该校准需要一定的时间。有关自动实现霍尔校准的硬编码,请参阅以下代码:
/* Start Calibration when first connected to the motor */
__BKPT(0); /* For debug */
pUserCtrlRegs->algoDebugCtrl2.b.hallCalibEnable = 0x1;
pUserCtrlRegs->algoDebugCtrl2.b.updateConfigs = 0x1;
while(pUserCtrlRegs->algoDebugCtrl2.b.updateConfigs){
updateConfigs(); /* Polling until all register updated */
}
/* Start Calibration */
pUserCtrlRegs->speedCtrl.b.speedInput = 10000;
while (g_pMC_App->foc.hallCalibObj.calibState != HAL_CALIB_COMPLETE) {
updateConfigs();
/* Polling until calibration done */
}
/* Reset motor control state machine */
pUserCtrlRegs->speedCtrl.b.speedInput = 0;
pUserCtrlRegs->algoDebugCtrl2.b.hallCalibEnable = 0x0;
pUserCtrlRegs->algoDebugCtrl2.b.updateConfigs = 0x1;
while(pUserCtrlRegs->algoDebugCtrl2.b.updateConfigs){
updateConfigs();
}
__BKPT(0); /* For debug */
/* Calibration done */