使用基于 STM32 处理器的板对三相交流电机进行开环控制
此示例使用开环控制(也称为标量控制或伏特/赫兹控制)来运行电机。这种方法会改变定子电压和频率来控制转子转速,而不使用来自电机的任何反馈。您可以使用这种方法来检查硬件连接的完整性。开环控制的恒速应用使用固定频率的电机电源。开环控制的可调速应用需要可变频率电源来控制转子转速。为了确保恒定的定子磁通,请保持电源电压振幅与其频率成比例。
开环电机控制无法将可能影响电机转速的外部条件纳入考虑范围。因此,控制系统无法自动校正期望的电机转速和实际电机转速之间的偏差。
此示例中的模型通过使用开环电机控制算法来运行电机。该模型可以帮助您开始使用 Motor Control Blockset™,并通过运行电机来验证硬件设置。目标模型算法还从电流传感器读取 ADC 值,并通过使用串行通信将值发送给主机模型。
您可以使用此模型:
检查与目标的连接。
验证硬件和软件环境。
检查电流传感器的 ADC 偏移量。
首次运行具有逆变器、处理器及其所需外设设置的新电机
前提条件
完成以下教程:
必需的硬件
硬件连接
跳线连接
在 X-NUCLEO-IHM07M1 板上配置以下连接,以对控制 BLY172S-24V-4000 电机执行 FOC。
可用模型
您可以使用具有 X-NUCLEO-IHM07M1 扩展板的 mcb_open_loop_control_nucleo_f401re 或 mcb_open_loop_control_nucleo_g474re 模型进行仿真和代码生成。您还可以使用 open_system
命令打开 Simulink® 模型。例如,对基于 STM32 处理器的硬件板使用以下命令:
open_system('mcb_open_loop_control_nucleo_f401re.slx');
为方便起见,我们提供了预配置模型。
外设配置
STM32CubeMX 配置
ADC 配置
ADC 和 PWM 保持同步,以便于 ADC 注入组转换基于计时器 1 的更新事件启动。
ADC 通道配置为从 ADC 1 的注入组转换中读取电流反馈,并从常规组转换中读取参考转速。
PWM 配置
配置 PWM 频率和 PWM 通道。
Timer1
配置为生成更新事件,以使 ADC 与 PWM 同步。这种同步对于在合适的时间读取电流反馈非常重要。将重复计数器设置为 1,以确保每个周期发生一次更新事件。
外设模块配置
双击模块以打开模块参数配置。如果要在不同硬件板上运行此示例,请确保指定的参数值相同。
配置 Analog to Digital Converter 模块
此示例中的算法使用异步调度。脉冲宽度调制 (PWM) 模块触发 ADC 转换。转换结束时,ADC 会发出中断,以触发开环算法。
配置 PWM Output 模块
选择在计数器启用后设置重复计数器参数,以便在计时器计数器溢出时更新事件。
对模型进行仿真
此示例支持仿真。请按照以下步骤仿真模型。
1.打开此示例附带的模型。
2.点击仿真选项卡上的运行来仿真该模型。
3.点击仿真选项卡上的数据检查器来查看和分析仿真结果。要验证信号,请在仿真期间点击模型中可用的普通按钮启动电机。
生成代码并在目标硬件上部署和运行
本节说明如何通过使用开环控制生成代码并运行电机。
注意:某些 PMSM 无法以更高的转速运行,尤其是当轴承受负载时。要解决此问题,您应根据给定的频率增加电压。您可以使用以下步骤来增加模型中的电压:
1.在模型中导航到以下路径:/Open Loop Control/Control_System/VabcCalc/
。
2.将增益 Correction_Factor_sinePWM 更新为 20%。
3.出于安全原因,需要定期监控电机轴、电机电流和电机温度。
生成代码并运行模型以实现开环控制
1.仿真目标模型并查看仿真结果。
2.完成硬件连接。
3.在目标模型的配置面板中更新以下电机参数。
极对数
PWM 频率 [Hz]
基转速 [RPM]
控制算法的数据类型
4.在硬件选项卡中,点击监控并调节。您可以从诊断查看器中观察到,模型代码被生成并且主机在加载生成的可执行文件后连接到目标。查看 Simulink 数据检查器。
5.要旋转电机,请点击硬件板上的普通按钮(蓝色普通按钮)。
6.在电机开始运行后,观测 Simulink 数据检查器内 和 电流的 ADC 计数。
注意:此示例可能不允许电机满负荷运行。开始以低速运行电机。此外,建议以小步长更改参考转速(例如,对于基转速为 3000 rpm 的电机,以 500 rpm 开始运行电机,然后以 200 rpm 的倍数提高或降低转速)。
如果电机未运行,请按下蓝色普通按钮停止电机,并将模型中的 Speed in RPM Constant 模块更改为外部模式。然后按下蓝色普通按钮启动电机并再次运行它。
生成代码并运行模型以校准 ADC 偏移量
当电机闲置时,在 Simulink 数据检查器中观察 和 。数据检查器中的扁平线被视为 ADC 偏移。
其他可尝试的操作
尝试在 SOC 模块集上运行示例模型并分析结果。
尝试在|基于 STM32G4xx| 的硬件板上使用 mcb_open_loop_control_nucleo_g474re 模型运行示例。