[FOC-Simulink]使用Simulink代码生成工具基于STM32开发板对永磁同步电机进行开环控制

代码链接:【免费】使用Simulink代码生成工具对永磁同步电机进行开环控制资源-CSDN文库

本文介绍使用Simulink代码生成功能在STM32开发板平台上运行永磁同步电机。

硬件基础:

Nucleo-G431RB开发板

X-NUCLEO-IHM07M1驱动扩展板

57BLDC-24V-210W时代超群直流电机

软件基础:

MATLAB 2022b 安装

STM32CubeMX 6.4

控制方法介绍:

本案例使用开环控制方法(也称为V/f控制)来运行永磁同步电机,这种方法通过改变钉子的电压和频率来控制转子速度,在这过程中不需要采用来自电机的任何反馈。该案例可以用来检查硬件是否连接完备。固定频率的供电电源保证电机速度恒定,改变电源频率可以调节转子运行速度。为了确保定子磁通量恒定,应该保证电源电压幅值正比于它的频率。该开环控制没有考虑影响电机速度的外部条件,因此它没办法自动校正输入速度与实际速度之间的偏差。

软件配置:

STM32CubeMX软件

核心芯片选择STM32G431RBTx,芯片引脚定义如下图所示,PA-P10为三相PWM信号,PA0、PC1为两相电流ADC输入信号。

PWM配置

TIM1被配置为生成更新事件,保证ADC与PWM同步,这种同步对于实时读取电流反馈信号非常重要。

ADC配置

ADC1对IN1、IN7选择Single-ended,两路信号使能Injected Coversions。

项目生成配置

所有外设设备基于底层驱动LL(取消HAL),函数初始化取消Do Not Generate Function Call和Visibility(Static)。

保存芯片配置文件xxx.ioc。

MATLAB软件

安装好Embedded Coder Support Package for STMicroelectronics STM32 Processors硬件支持包后本地会继承STM32平台的案例库。

在命令行输入:open_system('mcb_pmsm_foc_sensorless_nucleo_g474re.slx');

打开Simulink模板,然后Ctrl+E操作弹出硬件配置窗口,在STM32CubeMx项目文件选取上一步保存的.ioc文件。

配置模数转化器参数

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

配置PWM输出

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

操作步骤:

1. 将Nucleo-G431RB开发板与X-NUCLEO-IHM07M1板连接,Nucleo-G431RB开发板通过USB连接到PC端,X-NUCLEO-IHM07M1板上连好电机三相电线、24V直流电源;

2. 打开供电电源,在MATLAB的“Hardware”选项卡中,点机“Monitor&Tune”。在底部诊断查看器中可以看到正在生成模型代码,主机加载生成的可执行文件后,电路启动工作,可以看到开发板上呼吸灯闪烁;

3. 单机开发板上的蓝色按钮启动电机;注意:此示例可能不允许电机满负荷运行。开始低速运行电机。此外,建议分小步更改参考转速(例如,对于基本转速为 3000 rpm 的电机,以 500 rpm 的速度开始运行电机,然后以 200 rpm 的倍数增加或减少速度)。

如果电机不运行,按蓝色按钮停止电机,并更改模型中的转速常数。然后按蓝色按钮启动电机并再次运行。

附录 ADC偏移校准:

本案例可以为永磁同步电机矢量控制提供准备工作,在电机空转时,通过Simulink数据查看器观察ADC信号数据,该数据就是ADC的偏移量,可以在矢量控制中校准电流值。

  • 5
    点赞
  • 64
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论
同步电机是一种具有高效率和高功率密度的电机,通过使用体来实现转矩传递。它在许多应用中都有广泛的应用,例如电动汽车和工业驱动系统。 在Simulink中建模同步电机的FOC(Field-Oriented Control)控制是一项复杂的任务。首先,我们需要创建一个电机的物理模型,包括转子和定子的几何形状、电气特性和机械参数。然后,我们需要建立一个控制器来控制电机的转矩和速度。这个控制器通常包括速度和电流。 在建模过程中,我们需要考虑同步电机的Matlab仿真模块,并在Simulink进行各个组件的配置和连接。我们需要为电机的输入和输出信号添加适当的传感器和采样率。 对于FOC控制,我们需要进行转子定位、反电动势估算和电流控制等各个方面的建模。我们需要添加合适的模型来处理电机的非线性特性和场变化。 在建模完成后,我们可以通过Simulink进行仿真和调试。我们可以使用不同的输入条件,如负载变化和电压波动等测试模型的性能。 最后,我们可以将模型生成代码,并将其加载到开发进行演示。我们可以通过实时数据采集和控制来验证模型的准确性,并对其参数进行调整。 总结来说,同步电机FOC控制Simulink建模到代码生成开发演示是一个复杂而全面的过程,需要仔细考虑电机的物理和控制特性,并经过多次仿真和调试来优化模型的性能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

GarminWilliam

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值