汇聚博主多年工程经验的新书《Simulink嵌入式开发实战》现已上市,针对Simulink与MBD开发技术,形成了一套完整的知识体系和方法论。详细介绍和优惠链接可以参考博客《Simulink嵌入式开发实战》新书上市,感谢粉丝长期以来的支持!
文章目录
- [1 引入](#1 引入)
- [2 算法框架生成流程](#2 算法框架生成流程)
- [3 生成的文件研究](#3 生成的文件研究)
- [4 总结](#4 总结)
1 引入
在Matlab新版的2026b上新增了STM32工具箱《STM32 Microcontroller Blockset》,打通了Simulink和STM32的接口。该工具箱结合以前的电机控制工具箱《Motor Control Blockset》,就可以在STM32开发板上跑电机控制了。
博主作为电机控制小白,记录学习电机的过程。本文先用官方示例《Generate Motor Control Models for Selected Algorithm and Hardware》来建立一个电机控制框架,再进行学习研究。
2 算法框架生成流程
- 点击链接,进入官方的示例页面;通过右侧的Copy Command按钮复制脚本命令;

- 在matlab命令窗口执行该指令,会自动在Example路径下生成组件文件,并打开一个交互式界面《Generate Motor Control Models for Selected Algorithm and Hardware》;

在该界面下可以选择电机控制模型的硬件和算法;
- 首先光标选择23行的代码,并点击上方的Run Section,运行这一节,在工作区加载出相关的参数;

- 在39行的选项卡用来选择硬件,这里以STM32为例;

- 在51行的选项卡用来选择电机控制算法,这里选择FOCQEP,表示使用编码器位置传感器的FOC算法 ;

- 光标选中58行,点击上方的Run Section,运行这一节,就可以生成点击框架;生成完毕后会自动打开target模型;

按照脚本的要求,后续还可进行配置参数、仿真、代码生成等操作。后续再进行进一步研究。
3 生成的文件研究
- 生成完成后,会把所有文件都生成到一个temp文件夹内;

注意,在这个temp文件夹中已经包含了本次生成所需的所有模型文件以及配置文件,不用依赖于任何外面的原始文件。所以可以将Temp文件夹拷贝到别处,并在该文件夹下操作模型。
- 在Temp文件夹中,Target模型和Host模型是顶层模型,其中通过模型引用调用了其他子模块;

其中,
- Target模型是目标模型,仿真和烧录控制器都从该模型完成;
- Host模型是上位机模型,用于和STM32通信
后续先以仿真的形式研究Target模型,慢慢学习建立对电机控制的基本认知。
4 总结
本文对Matlab的电机控制框架做了初步的摸索和尝试,后续基于官方的示例进行学习。