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

这篇具有很好参考价值的文章主要介绍了[FOC-Simulink]使用Simulink代码生成工具基于STM32开发板对永磁同步电机进行开环控制。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

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

硬件基础:

Nucleo-G431RB开发板

X-NUCLEO-IHM07M1驱动扩展板

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

软件基础:

MATLAB 2022b 安装

  • Motor Control Blockset
  • Embedded Coder Support Package for STMicroelectronics STM32 Processors

STM32CubeMX 6.4

控制方法介绍:

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

软件配置:

STM32CubeMX软件

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

simulink自动生成代码stm32,stm32,单片机,嵌入式硬件

PWM配置

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

simulink自动生成代码stm32,stm32,单片机,嵌入式硬件

ADC配置

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

simulink自动生成代码stm32,stm32,单片机,嵌入式硬件

项目生成配置

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

simulink自动生成代码stm32,stm32,单片机,嵌入式硬件

保存芯片配置文件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文件。

simulink自动生成代码stm32,stm32,单片机,嵌入式硬件

simulink自动生成代码stm32,stm32,单片机,嵌入式硬件

配置模数转化器参数

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

simulink自动生成代码stm32,stm32,单片机,嵌入式硬件

simulink自动生成代码stm32,stm32,单片机,嵌入式硬件

配置PWM输出

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

simulink自动生成代码stm32,stm32,单片机,嵌入式硬件

操作步骤:

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的偏移量,可以在矢量控制中校准电流值。文章来源地址https://www.toymoban.com/news/detail-648307.html

到了这里,关于[FOC-Simulink]使用Simulink代码生成工具基于STM32开发板对永磁同步电机进行开环控制的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包