主要内容

基于STM32处理器板的永磁同步电机无传感器磁场定向控制

本例实现了场向控制(FOC)技术来控制基于三相永磁同步电机(PMSM)的板的速度。关于FOC的详细信息,请参见磁场定向控制(FOC)(电机控制模块)

本例使用无传感器位置估计技术。您可以选择滑模观测器或通量观测器来估计示例中使用的FOC算法的位置反馈。

采用闭环FOC算法对三相永磁同步电动机的转速和转矩进行调节。本示例使用来自意法半导体STM32处理器嵌入式编码器支持包的STM32外设块和来自Motor Control Blockset的MCB金宝app库块。运行slLibraryBrowser在MATLAB®命令窗口中打开金宝appSimulink Library浏览器.在已打开的Simulink 金宝appLibrary浏览器中,您可以在STMicroelectronics®STM32处理器的嵌入式Coder®支持包下找到基于STM32处理器的板驱动程序库。金宝app

滑模观测器(SMO)块在测量位置和估计位置之间的误差上产生滑动运动。该块产生的估计值与被测位置紧密成比例。该块使用定子电压$({V_\alpha},{V_\beta})$和电流$({I_\alpha},{I_\beta})$作为输入和估计电机模型的电动势(emf)。它利用电动势来进一步估计转子位置和转子速度。通量观察者块使用相同的输入$({V_\alpha},{V_\beta},{I_\alpha},{I_\beta})$估计定子磁链、产生的转矩和转子位置。

先决条件

完成以下教程:

请注意:完成所有硬件连接,得到的ADC偏移值$({I_\alpha},{I_\beta})$通过完成基于STM32处理器板的三相交流电机开环控制

所需的硬件

可用的模型

您可以使用mcb_pmsm_foc_sensorless_nucleo_f401remcb_pmsm_foc_sensorless_nucleo_g474re使用X-NUCLEO-IHM07M1扩展板进行模拟和代码生成。你也可以使用open_system命令打开Simulink®模型。金宝app例如,在基于STM32处理器的单板上使用此命令:

open_system (“mcb_pmsm_foc_sensorless_nucleo_f401re.slx”);

点击编辑电机和逆变器参数在模型中改变模型参数以适应您的特定电机。匹配电机电压和功率特性的控制器。本例中BLY172S-24V-4000无刷直流电动机的电流参数配置。

一个传统的电压源逆变器驱动电机。该控制器算法使用矢量PWM技术为六个功率开关器件生成三个脉宽调制(PWM)信号。逆变器使用注入组模数转换器(adc)中的两个通道测量两个电机输入(ia和ib)的电流,并将测量结果发送到转矩控制算法。

外围配置

STM32CubeMX配置

  • ADC配置

  • ADC和PWM同步发生时,ADC注入的组转换基于Timer 1更新事件开始。

  • ADC通道被配置为从注入的组转换中读取当前反馈ADC 1以及常规群转换的参考速度。

  • PWM配置

  • 配置PWM频率和PWM通道。的Timer1配置为生成更新事件以使ADC与PWM同步。这种同步对于在正确的时间读取当前反馈非常重要。

  • 重复计数器设置为1,以确保每个周期发生一次更新事件。

外围块配置

双击块,打开块参数配置。如果要在不同的硬件板上运行此示例,请确保指定的参数值相同。

  • 配置模数转换器块

本例中的算法使用异步调度。脉宽调制(PWM)块触发ADC转换。在转换结束时,ADC发出一个中断,触发开环算法。

  • 配置PWM输出块

选择启用计数器后,设置重复计数器参数更新计时器计数器溢出时的事件。

模拟模型

本例支持模拟。金宝app按照以下步骤模拟模型。

1.打开本示例中包含的模型。

2.点击运行模拟TAB来模拟模型。

3.点击数据检查模拟选项卡查看和分析仿真结果。

生成代码,在目标硬件上部署和运行

本节向您展示如何生成代码并运行电机。

1.对目标模型进行仿真,观察仿真结果。

2.完成硬件连接。有关更多信息,请参见基于STM32处理器板的三相交流电机开环控制

3.计算从基于STM32处理器板的三相交流电机开环控制.有关说明,请参见基于STM32处理器板的三相交流电机开环控制

4.硬件选项卡上,单击监视和调优.您可以从Diagnostic Viewer中观察到为模型生成的代码,并且主机在加载生成的可执行文件后连接到目标。查看Simulin金宝appk数据检查器。

5.要旋转电机,请单击按钮(蓝色按钮)硬件板。

请注意

  • 在启动电机之前,确保电位器保持在0逆时针方向旋转电位器定位。

  • 单击按钮启动电机。现在逐渐旋转电位器在顺时针方向,以增加速度。闭环将在参考速度超过0.1 x后启动永磁同步电动机。N_base(在那里,永磁同步电动机。N_base为电机基本转速的MATLAB™工作空间变量)。

  • 当参考转速在0 ~ 0.1 x之间时,电机开始开环运行永磁同步电动机。N_base

6.单击按钮再次,在开环条件下启动电机运行。

注意:请勿长时间在开环状态下运行电机(以本例为例)。电机可能产生大电流并产生过热。

我们设计了开环控制,使电机以小于或等于基准速度的10%的参考速度运行。

当您以低参考速度在硬件上运行此示例时,由于已知问题,PMSM可能不会遵循低参考速度。

7.将电机参考转速提高到基准转速的10%以上,从开环控制切换到闭环控制。

注意:在本例中,电机配置为仅朝一个方向运行。

8.通过执行来观察调试信号监视和调优(外部模式)

其他可以尝试的事情

  • 您可以尝试使用SoC Blockset™运行该示例并分析结果。

  • 尝试使用。运行示例mcb_pmsm_foc_sensorless_nucleo_g474re模型STM32G4xx基础硬件板。

  • 也可以使用Flux Observer算法代替滑模观测器(SMO)。

更多关于