【动手学电机驱动】 STM32-FOC(1)STM32 电机控制的软件开发环境
本系列从零开始,针对小白介绍使用 STM32 单片机实现 PMSM 电机的 FOC 控制,帮助读者快速上手电机控制。
本节我们首先介绍 STM32 电机控制的工作流,然后安装电机控制开发所需的软件环境。
- STM32CubeMX:STM32 图形化配置工具
- STM32CubeIDE:STM32 集成开发环境
- MCSDK:电机控制软件开发套件
已经完成软件开发环境安装和配置的同学,可以跳过本节。
1. STM32 电机控制的 工作流
STM32 电机控制 SDK 工作流:
- 使用 MotorControl Workbench(MCSDK) 创建工程;
- 在 STM32CubeMX 中生成代码;
- 在 CubeIDE 或 Keil 中打开代码,进行调试、编译与下载;
- 使用 MCSDK 可以实现对电机的在线调试、波形观测与状态监测。
2. STM32 图形化配置工具(STM32CubeMX)
STM32CubeMX 是ST公司推出的图形化配置工具,通过傻瓜化的操作便能实现相关配置,自动创建单片机工程及初始化代码。
STM32CubeMX工具可简化硬件和外设配置过程,而且用于开发的Nucleo板也拥有较高的性价比。同时也提供了丰富的部件供用户选择。
STM32CubeMX集成了HAL库和LL库,生成的代码也是基于这两个库。HAL库是ST标准库后推出的,设计采用高分层思想,当工程更改主控芯片后,所有函数几乎不需要任何更改。HAL库和LL库按外设模块设计,配置时可选择响应模块用不同的库。
STM32CubeMX 可以作为 eclipse 插件形式安装,也可以单独运行,需要安装JAVA运行环境。通过插件式安装,可以将STM32CubeMX 集成在一个IDE,使用十分方便。
下载和安装过程如下:
-
下载 图形化配置工具(STM32CubeMX)安装程序。
打开 ST 官网,用户登录,进入CubeMX 下载页面,选择所需的版本进行下载。
官方下载地址:https://www.st.com.cn/content/st_com/zh/stm32cubemx.html -
双击运行下载的安装程序(例如:SetupSTM32CubeMX-6.12.1-Win.exe,需要 1.2G 空间),根据提示进行安装。
注意安装路径中不要有中文。
建议不要安装在系统盘中。 -
安装完成后,打开 图形化配置工具(STM32CubeMX),主界面如下。分为:菜单栏、现有工程(Existing Projects)、新建工程(New Project) 和 软件管理(Manage software installations)。
- 菜单按钮,用于文件管理、切换视图和帮助等。
- 现有工程,用于加载近期的工程文件。
- 新建工程,用于创建新的工程文件。
- 软件管理,用于检查 STM32CubeMX 的更新机固件包的下载与安装。
使用 STM32CubmeMX 进行 STM32 程序设计,我们将另文介绍。
3. STM32 集成开发环境(STM32CubeIDE)
STM32CubeIDE是一体式多操作系统开发工具,是一种高级C/C++开发平台,具有STM32微控制器和微处理器的外设配置、代码生成、代码编译和调试功能。
STM32CubeIDE集成了STM32CubeMX的STM32配置与项目创建功能,以便提供一体化工具体验,并节省安装与开发时间。在通过所选板卡或示例选择一个空的STM32 MCU或MPU,或者预配置微控制器或微处理器之后,将创建项目并生成初始化代码。
STM32CubeIDE还具有标准和高级调试功能,其中包括CPU内核寄存器、存储器和外设寄存器以及实时变量查看、串行线传输监测器接口或故障分析器的视图。
3.1 下载和安装
-
下载 STM32 集成开发环境(STM32CubeIDE)安装程序。
打开 ST 官网,用户登录,进入 STM32CubeIDE 下载页面,选择所需的版本进行下载。
官方下载地址:https://www.st.com.cn/zh/development-tools/stm32cubeide.html -
双击运行下载的安装程序(例如:st-stm32cubeide_1.16.1_22882_20240916_0822_x86_64.exe),根据提示进行安装。
注意安装路径中不要有中文。
建议不要安装在系统盘中。 -
安装完成后,打开 STM32 集成开发环境(STM32CubeIDE),主界面如下。
从上向下依次是 菜单按钮区、最近项目区和例程区。
- 菜单按钮区,由于创建新项目、加载已有项目或启动 ST电机参数测量工具。
- 最近项目区,用于加载近期的项目。
- 例程区,用于加载项目示例。
3.2 新建工程
首次双击打开软件,将自动进入工程路径配置界面,注意工程的保存路径不能带有中文字符。
新建工程的基本操作如下:
- 点击 Strat new STM32 project,进入工程主界面;
- 输入芯片型号,进行对应工程的配置;
- 设置工程名称和路径;
- 选择芯片固件包的版本;
- 选择下载器类型(推荐使用ST-LINK);
- 安装固件支持包(需要登陆账号);
完成各项配置后,保存工程文件。
关于 STM32CubeIDE 的使用,将在后文详细介绍。
4. 电机控制软件开发套件(MCSDK)
STM32微控制器提供工业标准Arm® Cortex®-M内核的性能,可运行矢量控制控制或FOC模式,广泛应用于空调、家用电器、无人机、建筑和工业自动化、医疗和电动自行车等高性能驱动的应用领域。
4.1 下载和安装
-
下载 电机控制软件开发套件(MCSDK)安装程序。
打开 ST 官网,用户登录,进入MCSDK 下载页面,选择所需的版本进行下载。
官方下载地址:https://www.st.com.cn/zh/embedded-software/x-cube-mcsdk.html -
双击运行下载的安装程序(例如:en.X-CUBE-MCSDK-FUL_6.3.1.exe,需要 1.2G 空间),根据提示进行安装。
注意安装路径中不要有中文。
建议不要安装在系统盘中。 -
安装完成后,打开 电机控制软件开发套件(MCSDK),主界面如下。从上向下依次是 菜单按钮区、最近项目区和例程区。
- 菜单按钮区,由于创建新项目、加载已有项目或启动 ST电机参数测量工具。
- 最近项目区,用于加载近期的项目。
- 例程区,用于加载项目示例。
4.2 创建新项目
- 创建新项目(以IHM03 电机控制套件为例)。
- 单击"New Project"按钮,弹出"New Project"对话框,在 “General Info” 菜单中进行设置:
- 在 “Project name” 输入项目名称;
- 在 “Num.Motors” 选择电机数量为 单电机 或 双电机;
- 在 “Driving Algorithm” 选择驱动控制算法为 FOC 或 6-step;
- 在 “Hardware Mode” 选择 Modular 模式;
- 进入 “Motors” 菜单,根据 IHM03 电机控制套件的配置,选择电机为 GimBal GBM2804H-100T;
- 进入 “Power board” 菜单,根据 IHM03 电机控制套件的配置,选择驱动板为 X-NUCLEO-IHM16M1 电机驱动板;
- 进入 “Control board” 菜单,根据 IHM03 电机控制套件的配置,选择控制板为 NUCLEO-G431RB 控制板;
如果用户的配置有错误(无效),则会弹出一个对话框,通知用户这些选择不允许创建项目,并要求用户修改配置。
- 有效地完成项目配置后,点击窗口右下方 “>>OK” 按钮,就会自动生成一个电机控制项目,并显示项目视图如下。视图的内容取决于用户配置的电路板和电机的信息。
4.3 导入已有的项目
在 MCSDK 主视图中单击 LoadProject 按钮,出现一个系统对话框窗口,用户可以选择要加载的项目文件(.stwb6)。
加载的项目出现在 project 视图中,用户可以在其中对其进行细化或修改。
4.4 项目视图
项目视图由以下部分组成:
-
工具栏区域,用于控制应用程序导航、项目保存和生成;
-
硬件区域信息,当前项目的硬件信息显示在该区域。
- MCU引脚使用和冲突
鼠标移动到 MCU 型号的位置,会在窗口中显示所选MCU的信息:- 产品文件夹:单击将打开所选MCU的产品文件夹页面。
- 引脚使用和冲突:控制MCU的引脚分配,并接收有关引脚冲突的反馈。
- 控制板(主控板)
鼠标移动到控制板型号的位置,会在窗口中显示所选控制板的信息:- 数据简介文件夹:单击将打开相关控制板的数据简介。
- 产品文件夹:点击打开相关产品文件夹页面。
- 电源板(驱动控制板)
鼠标移动到驱动控制板型号的位置,会在窗口中显示所选驱动板的信息:- 数据简介文件夹:单击将打开相关控制板的数据简介。
- 产品文件夹:点击打开相关产品文件夹页面。
- MCU引脚使用和冲突
-
项目步骤区域,显示需要配置参数的硬件,包括:电机,电源,PWM发生器和其它参数。
-
硬件配置详细信息区域,用于微调所选硬件功能,方便查看所有主要信息和保护。
4.5 生成项目
单击工具栏区域的 “Generate the project” 会生成用户应用程序项目文件。
弹出一个窗口,允许用户选择目标工具链、固件包版本、驱动器类型,并生成电机控制固件应用程序。
如果项目文件尚未保存,则会弹出一个信息窗口,指示此项目需要先保存才能生成。使用“Save&Generate ”按钮进行保存和生成。
至此,我们就完成了 STM32 电机控制的软件开发环境的安装和配置。在下节中,我们将介绍如何使用IHM03 电机控制套件。