在基于霍尔传感器的 FOC 中,霍尔信号用于检测转子位置信息并高效驱动电机。FOC 应用需要三个数字霍尔输入,这些输入以电气方式相隔 60 度,并连接到 GPIO,作为馈送转子位置信息的输入。
对于给定的霍尔序列,用户需要参考 ISR.c 文件中的相位连接以 IQ27 P.U 格式适当地填入霍尔角度表,如图 6-5 所示。
通常,霍尔传感器的放置位置可能存在误差,电气位移可能小于或大于 60 度。霍尔位置中的任何误差都会导致产生扭矩纹波和非正弦电流。霍尔引脚序列对于电机相位连接也很重要,给定相位的驱动角取决于连接顺序。此信息通常可以在数据表中找到。
通过霍尔校准,用户不再需要参考数据表,并纠正了霍尔传感器的安装误差,从而改善了具有安装误差的电机中的电流波形。
上述霍尔角度表值可通过霍尔校准例程自动生成,如下所述:
校准例程:
- Motor_Align:校准序列的第一步是将电机对齐到已知的转子角度。在此例程中,电机在用户输入电机启动 1 参数中设置的持续时间 calibAlignTime 内对齐到 CALIBRATION_ALIGN_ANGLE 宏。要配置足够的 calibAlignTime,以便在启动校准之前使电机对齐并停止移动。
- Motor_Calib_Run:成功完成对齐步骤后,转子会以 CALIBRATION_ANGLE_STEP 宏中指定的角度进行微步进,并持续 calibRunTime(在用户输入电机启动 1 参数中设置)。电机在正向和反向旋转一个完整的机械周期(Pole_Pairs * 电气周期),以便计算平均霍尔角。
- Motor_Calib_Complete:成功完成电机校准后,霍尔角度表中会生成前进和后退方向上每个霍尔状态转换的转子角度,分别为 hallAngleTableForward 和 hallAngleTableReverse。
以下是自动霍尔传感器校准应遵循的顺序:
- 配置和调整以下输入参数。
- 在系统参数中配置电流环路 Kp 和 Ki 参数。
- 按以下方式配置电机启动 1 参数,以便调整电机对齐和电机校准运行状态
- CalibCurrLimit:校准期间强制 Id 电流
- calibAlignTime:首次对齐时对 CALIBRATION_ALIGN_ANGLE 应用的时间(以毫秒为单位)。
- calibRunTime:在微步进并以 HALL_CALIBRATION_STEP 步长扫描机械周期时应用的时间(以毫秒为单位)。
- CurrRampRate:第一次对齐到 CALIBRATION_ALIGN_ANGLE 期间 Id 电流的斜升速率。
- 设置算法调试控制 2 寄存器中的霍尔传感器校准使能位,并将电机转速设置为非零值。
- 校准序列完成后,CalibState 更改为 HALL_CALIB_COMPLETE。
- 执行了令人满意的校准例程,以使电机在闭环运行时平滑旋转之后,用户可以将这些校准后的角度值存储在 ISR.c 中定义的 forwardHallIndexLUT 和 reverseHallIndexLUT 中。MCU 重新启动后,默认情况下会使用这些 LUT 中的值来使电机旋转。