工作台 UM2152 用户手册 STSPIN32F0 FOC 固件示例 STSW-SPIN3201 入门 引言 本文档介绍了如何使用 STSW-SPIN3201 固件示例 结合评估板 STEVAL-SPIN3201, 该固件可以在无传感器操作中采用磁场定向控制算法控制三相永磁电机 STEVAL-SPIN3201 板围绕集成了 STM32 的 3 相控制器 STSPIN32F0 而设计, 并采用 3 分流电阻作为电流读取拓扑 本文档没有提供 FOC 和无传感器算法 MC API 和电机控制工作台的详细信息 该信息在 UM1052: STM32F PMSM 单 / 双 FOC SDK v4.3 中提供, 可从 www.st.com 上获得 2017 年 10 月 DocID030110 Rev 1 [English Rev 1] 1/20 www.st.com 20
目录 UM2152 目录 1 缩写和缩略语................................................ 3 2 STSW-SPIN3201 FW 演示文稿.................................. 4 2.1 概述...................................................... 4 2.2 封装内容................................................... 4 2.2.1 Common 文件夹............................................ 4 2.2.2 Docs 文件夹............................................... 4 2.2.3 Web 文件夹................................................ 5 3 系统设置指南................................................ 6 3.1 硬件设置................................................... 6 3.2 加载预编译的固件............................................ 6 3.3 构建并加载定制化固件........................................ 7 3.3.1 如何使用 IAR IDE 构建?...................................... 7 3.3.2 如何使用 Keil µvision IDE 构建?............................... 8 3.3.3 如何使用 STM32 的 System Workbench 构建?..................... 9 3.4 加载固件.................................................. 10 3.5 使用演示应用.............................................. 10 3.5.1 独立模式................................................ 10 3.5.2 连接模式................................................ 11 3.6 使用 MC 工作台定制设置...................................... 14 3.6.1 电机部分................................................ 14 3.6.2 功率级部分............................................... 15 3.6.3 驱动管理部分............................................. 16 3.6.4 控制级部分............................................... 18 4 版本历史.................................................. 19 2/20 DocID030110 Rev 1 [English Rev 1]
UM2152 缩写和缩略语 1 缩写和缩略语 表 1. 缩写和缩略语 缩略语说明 API BLDC CMSIS FOC FW GUI IDE MC MCU PMSM RTOS SDK 应用编程接口无刷直流 Cortex 微控制器软件接口标准磁场定向控制固件图形用户界面集成开发环境电机控制微控制器单元永磁同步电机实时操作系统软件开发套件 DocID030110 Rev 1 [English Rev 1] 3/20 20
STSW-SPIN3201 FW 演示文稿 UM2152 2 STSW-SPIN3201 FW 演示文稿 2.1 概述 STSW-SPIN3201 是定制的 STM32 PMSM FOC FW 库, 它是 STM32 PMSM FOC 软件开发套件 (STSW-STM32100) 的一部分 其专用于支持 STEVAL-SPIN3201 评估板 它提出了两种利用模式 : 连接模式, 电机由 ST 电机控制工作台 GUI 通过 UART 通信动态驱动 此 GUI 不包含在 STSW- SPIN3201 包中, 但与 STM32 PMSM FOC SDK(STSW-STM32100) 一起发布 独立模式, 电机仅由用户按键和板上的电位计驱动 对于这两种模式,ST 电机控制工作台都可用于根据应用计算设置参数, 并生成相关的头文件 2.2 包装内容物 STSW-SPIN3201 包以压缩文件的形式提供 解压后, 有三个主要子文件夹 :Common Docs Web 2.2.1 Common 文件夹 其内容可分为两类 : 标准 STM32 库 ( 以 STM32 为前缀的所有子文件夹 ) 的源代码 来自 ARM 的 CMSIS 文件 这些文件是 Cortex -M 系列处理器与供应商无关的硬件抽象层 2.2.2 Docs 文件夹 此文件夹包含 STM32 PMSM FOC SDK 的帮助文档 4/20 DocID030110 Rev 1 [English Rev 1]
UM2152 STSW-SPIN3201 FW 演示文稿 2.2.3 Web 文件夹 其包含以下接口文件 : 子文件夹 :MCLibrary 中的 STM32 PMSM 电机控制软件库 MC 库实现 FOC 算法 通过搜索 STM32_PMSM_MC_Library, 可在 STM32 FOC PMSM FW library developer Help file.chm 文件 (Docs 文件夹 ) 中找到此库接口的详细信息 子文件夹 :MCApplication 中的 STM32 PMSM 电机控制软件 API 此 API 提供一组可以从用户级别发出的指令, 以执行电机控制操作 通过搜索 STM32_PMSM_MC_Application, 可在 STM32 FOC PMSM FW library v4_3 developer Help file.chm 文件 (Docs 文件夹 ) 中找到此 API 的说明 子文件夹 :UILibrary 中的 STM32 PMSM 电机控制用户界面库 API 用户界面库通过使用电机控制软件界面 API 来管理用户和 MC 库之间的交互 通过搜索 STM32_PMSM_UI_Library, 可在 STM32 FOC PMSM FW library v4_3 developer Help file.chm 文件 (Docs 文件夹 ) 中找到此 API 的描述 Web 文件夹还包含 SystemDriveParams 子文件夹, 其中有配置文件 这些是由 ST MC 工作台根据板和电机配置自动生成的文件 Utilities 子文件夹包含 MC 工作台示例项目文件 :SDK43x-STEVAL-SPIN3201- BullRunning.stmcx 它用于设置与 Bull-Running BR2804-1700 kv 电机相关的 STEVAL- SPIN3201 板 所有 IDE 项目文件和演示应用的代码 (main.c, stm32f0xx_it.c/h ) 都位于 Project 文件夹中 最后,Binaries 文件夹包含执行独立模式的预编译二进制文件 (EWARM_STEVAL_SPIN3201_BullRunning_Potentiometer.bin) 和另一个预编译二进制文件 (EWARM_STEVAL_SPIN3201_BullRunning_MCWorkbench.bin), 用于使用 MC 工作台的板 这两个二进制文件专用于设置与 Bull-Running BR2804-1700 kv 电机相关的 STEVAL- SPIN3201 板 DocID030110 Rev 1 [English Rev 1] 5/20 20
系统设置指南 UM2152 3 系统设置指南 3.1 硬件设置 要在其默认配置中使用固件示例, 需要有 : 一个 STEVAL-SPIN3201 板 一个 Bull-Running BR2804-1700 kv 无刷电机 可以通过 MC 工作台使用不同的电机改变相应的设置 ( 参见第 3.6 节第 14 页 ) 在这种情况下, 必须重建固件 ( 参见第 3.3 节 ) 12 V 直流电源 在任何情况下, 该板都支持 8 V 至 45 V 之间的功率范围 如果供电电压发生变化, 则必须通过 MC 工作台将新设置应用于 FOC 库 ( 参见第 3.6 节 ) 在这种情况下, 必须重建固件 ( 参见第 3.3 节 ) 带 mini-b 连接器的 USB 线缆 图 1. 配备 Bull-Running 电机的 STEVAL-SPIN3201 板 3.2 加载预编译的固件 硬件设置准备就绪后, 需要用固件加载该板 使用第 3.4 节第 10 页中所述的过程可以加载 Web\Binaries 文件夹中的一个默认二进制文件 6/20 DocID030110 Rev 1 [English Rev 1]
UM2152 系统设置指南 3.3 构建并加载定制化固件 注 : 可以通过以下支持的各种 IDE 的其中一种来定制固件 : ARM Keil Microcontroller Development Kit(MDK-ARM) 工具链 (V5.17 或更高版本 ) 的 µvision ARM(EWARM) 工具链 (V7.50 或更高版本 ) 的 IAR 嵌入式工作台, 由 IAR Systems 提供 STM32 的 System Workbench, 基于 Eclipse 的 GCC 工具链, 由 AC6 提供 FOC 库的配置文件每次发生变化时, 例如, 目标电机的特性或应用的供电电压发生变化, 都必须重建固件 第 3.3.1 节 第 3.3.2 节和第 3.3.3 节介绍了如何在这些环境中构建固件 3.3.1 如何使用 IAR IDE 构建? 要加载项目, 只需使用以下文件打开工作空间 : \Web\Project\EWARM\STSPIN32F0_Workspace.eww 图 2. IAR IDE 下的 STSPIN32F0 工作空间 工作空间由两个项目组成 : STSPIN32F0_MC 库 - STSPIN32F0_SINGLE_DRIVE 包含与 FOC 库相关的所有文件 STSPIN32F0_UserProject - STEVAL-SPIN3201 包含与应用相关的用户文件 用户界面以及 main.c 文件 要构建这两个项目, 请进入菜单 : Project->Batch build 然后, 选择 Rebuild All DocID030110 Rev 1 [English Rev 1] 7/20 20
系统设置指南 UM2152 在编译结束时, 假设该板正确供电, 并且评估板是通过 USB 线缆连接到 PC 的, 可以通过菜单 : Project->Download and Debug 下载二进制文件并开始调试 构建指令之后, 您还可以通过使用第 3.4 节中所述的流程直接下载在 \Web\Project\EWARM\UserProject\STEVAL-SPIN3201\Exe\STSPIN32F0_UserProject.bin 中获得的二进制文件 3.3.2 如何使用 Keil µvision IDE 构建? 首先, 通过以下文件打开多项目工作空间 : \Web\Project\MDK-ARM\ STSPIN32F0_MC Library.uvmpw 图 3. Keil IDE 下的 STSPIN32F0 工作空间 其包含两个项目 : STSPIN32F0_MC 库, 包含与 FOC 库相关的所有文件 STSPIN32F0_USerProject, 包含与应用相关的用户文件 用户界面以及 main.c 文件 要构建这两个项目, 请进入菜单 : Project->Batch build 然后, 选择 Rebuild 8/20 DocID030110 Rev 1 [English Rev 1]
UM2152 系统设置指南 编译后, 假设该板正确供电, 并且评估板是通过 USB 线缆连接到 PC 的, 您可以进入菜单 Flash->Download 来加载二进制文件 如果要调试, 请进入菜单 Debug->Start/Stop debug Session 构建指令之后, 您还可以通过使用第 3.4 节中所述的流程直接下载在 \Web\Project\MDK- ARM\UserProject\STEVAL-SPIN3201\STEVAL-SPIN3201.bin 中获得的二进制文件 3.3.3 如何使用 STM32 的 System Workbench 构建? 首先, 打开 STM32 的 System Workbench 在工作空间启动窗口中, 将 \Web\Project\AC6 设为工作空间 然后, 进入菜单 File->Import->General->Existing Projects into Workspace 点击 Finish 按钮之前, 将 [yourpath]\web\project\ac6 设为根目录, 然后选择导入两个项目 STSPIN32F0_MC Library 和 STSPIN32F0_UserProject 图 4. STM32 的 System Workbench 下的 STSPIN32F0 工作空间 项目导入后, 您可以通过菜单 Project->Build All 进行构建 完成编译后, 选择 STSPIN32F0_UserProject 并按下 F5, 刷新文件夹树 Binaries 文件夹中应出现.elf 文件 右键单击, 然后选择 debug as AC6 STM32 C/C++ Application 这将显示二进制文件并启动调试窗口 您还可以通过使用第 3.4 节中所述的流程直接下载在 \Web\Project\AC6\STSPIN32F0_UserProject\STEVAL-SPIN3201\ STSPIN32F0_UserProject.bin 中获得的二进制文件 DocID030110 Rev 1 [English Rev 1] 9/20 20
系统设置指南 UM2152 3.4 加载固件 将新固件加载到器件中的最简单的方法是将二进制文件复制到 ST-LINK 提供的大容量存储界面中, 例如, 将其拖放到硬盘中 按照以下程序 : 仅第一次 : 安装可从 ST 网站 (STSW-LINK009) 下载的 STLINK V2-1 驱动器 使用 USB 线缆将评估板连接到 PC 通过 Vin 连接器 (J2) 为评估板供应在工作范围 (8 V - 45 V) 内的直流电压 名为 SPIN32F0 的新驱动应出现在可移动存储的列表中 删除此驱动上的所有文件 ( 例如, DETAILS.TXT 文件 ) 这一步不是强制性的, 但是当二进制文件大小接近 STSPIN32F0( 示例二进制文件 ) 的 32 KB 最大限制时, 建议执行此步骤 否则, 固件加载就会失败 将二进制文件复制到驱动的根目录中 ST-LINK 的红色 / 绿色 LED 指示灯开始闪烁 然后, 刷新您的文件浏览器 : 如果二进制文件消失, 并且没有生成错误日志文件, 则已成功加载 复位该板, 以启动加载的固件 3.5 使用演示应用 3.5.1 独立模式 在独立模式中, 提供的评估板正确供电, 电机三相也正确连接到板上, 按下 USER1 键, 电机将开始移动 电位计 (R6) 可用于动态调整电机速度 使用默认配置, 速度可以在 800 RPM 和 12000 RPM 之间进行调整 要停止电机, 只需再次按 USER1 按钮即可 如果电机运行时发生错误, 则 USER2 键的 LED 指示灯亮起, 电机停止 再次按下 USER1 按钮可以清除故障 10/20 DocID030110 Rev 1 [English Rev 1]
UM2152 系统设置指南 图 5. STEVAL-SPIN3201 板的用户界面 3.5.2 连接模式 在连接模式中, 提供的评估板正确供电, 电机三相也正确连接到板上, 器件可以通过嵌入在 MC 工作台应用中的监测器进行控制 要使用 MC 工作台的演示应用, 建议禁用通过电位计设置速度 为此, 只需禁用 main.c 文件中的行 :#define EXAMPLE_POTENTIOMETER 然后, 如第 3.2 节第 6 页中所述, 重新编译和下载新的二进制文件 使用 USB 线缆将板连接到 PC, 启动 MC 工作台并打开包含的项目文件 : \Web\Utilities\WB_Projects\SDK43x\ SDK43x-STEVAL-SPIN3201-BullRunning.stmcx. 然后, 点击 Open Monitor 图标 : 这样, 会打开一个新窗口, 您必须选择串口和波特率 在默认情况下, 演示应用使用的波特率为 115200 bps 选择对应于评估板的 COM 端口, 然后, 点击 Connect 图标 : DocID030110 Rev 1 [English Rev 1] 11/20 20
系统设置指南 UM2152 图 6. UART 驱动的 MC 工作台界面 使用右侧的按钮, 将相应的指令发送到电机驱动算法 如果发生错误, 左侧相应的 LED 指示灯会亮起 在使用 Fault Ack 按钮未清除故障之前, 不可以执行任何操作 Advanced 和 Registers 选项卡可用于动态调整 FOC 算法的参数 根据启用的无传感器算法 桥的 PWM 频率和转矩稳压器的执行速率,MCU 可用资源可能不足以保证 UART 通信的稳定性 在这种情况下, 工作台将显示一条错误消息 为避免这种情况, 您可以先尝试将 UART 波特率降低到 9600 bps 如图 7 所示, 要执行此操作, 您需要进入 Control Stage->Digital I/O 菜单修改配置参数 12/20 DocID030110 Rev 1 [English Rev 1]
UM2152 系统设置指南 图 7. 数字 I/O 窗口中的波特率字段 然后, 您需要生成配置文件并重新编译 不要忘记在 MC 工作台的监测器窗口中修改波特率 如果您仍然面临 UART 连接问题, 则必须减少 FOC 库使用的 MIPS 数量 为此, 请进入 MC 工作台的主窗口, 然后, 点击 Drive Management 菜单 这时, 应该出现以下窗口 : 图 8. MC 工作台的驱动管理窗口 然后, 您将需要通过增加 PWM 周期 ( 图 8 中的蓝色框 ), 降低桥 PWM 频率 ( 图 8 中的红色框 ) 和 / 或降低转矩和通量稳压器的执行速率 完成后, 您可以生成新的配置文件, 并按照第 3.6 节中所述程序进行操作 缺点是 FOC 算法的分辨率将会降低 DocID030110 Rev 1 [English Rev 1] 13/20 20
系统设置指南 UM2152 3.6 使用 MC 工作台定制设置 3.6.1 电机部分 MC 工作台可用于根据您的电机和应用设置 FOC 库的参数 只要使用 STEVAL-SPIN3201, 就可以使用 MC 工作台项目文件作为起点 : \Web\Utilities\WB_Projects\SDK43x\ SDK43x-STEVAL-SPIN3201-BullRunning.stmcx. 定义新设置后, 按 Generation 图标 这些将在菜单 Tools->Output Folder Options 指示的文件夹中生成 4 个配置文件 在进行新的编译和新的 FW 下载之前, 需要将这些文件 : Control stage parameters.h Drive parameters.h PMSM motor parameters.h Power stage parameters.h 复制到 \Web\SystemDriveParams\ 文件夹中 如果使用不同的电机, 则必须在 电机 部分中点击 M 框更新相应的参数 图 9. MC 工作台的电机菜单 14/20 DocID030110 Rev 1 [English Rev 1]
UM2152 系统设置指南 图 10. MC 工作台的电机参数窗口 3.6.2 功率级部分 通过 功率级 部分设置的参数与硬件密切相关, 只有在修改了板的硬件时才能进行更改 ( 更改 MOSFET 调节感应电路的增益等 ) DocID030110 Rev 1 [English Rev 1] 15/20 20
系统设置指南 UM2152 3.6.3 驱动管理部分 您需要进入 Drive Management 菜单 图 11. MC 工作台的 Drive Management 菜单 在此菜单中, 您可能需要更改的主要参数显示在图 12 图 13 和图 14 的红色框中 16/20 DocID030110 Rev 1 [English Rev 1]
UM2152 系统设置指南 图 12. MC 工作台的 Speed/Position Feedback Management 窗口 图 13. MC 工作台的 Drive Setting 窗口 DocID030110 Rev 1 [English Rev 1] 17/20 20
系统设置指南 UM2152 图 14. MC 工作台的 Start-up Parameter 窗口 3.6.4 控制级部分 控制级 部分中的参数设置了 STM32 外设的映射, 只要使用 STEVAL-SPIN3201 板就不应对其进行更改 18/20 DocID030110 Rev 1 [English Rev 1]
UM2152 版本历史 4 版本历史 表 2. 文档版本历史 日期版本变更 2016 年 12 月 5 日 1 初始版本 表 3. 中文文档版本历史 日期版本变更 2017 年 10 月 12 日 1 中文初始版本 DocID030110 Rev 1 [English Rev 1] 19/20 20
版本历史 UM2152 重要通知 - 请仔细阅读 意法半导体公司及其子公司 ( ST ) 保留随时对 ST 产品和 / 或本文档进行变更 更正 增强 修改和改进的权利, 恕不另行通知 买方在订货之前应获取关于 ST 产品的最新信息 ST 产品的销售依照订单确认时的相关 ST 销售条款 买方自行负责对 ST 产品的选择和使用, ST 概不承担与应用协助或买方产品设计相关的任何责任 ST 不对任何知识产权进行任何明示或默示的授权或许可 转售的 ST 产品如有不同于此处提供的信息的规定, 将导致 ST 针对该产品授予的任何保证失效 ST 和 ST 徽标是 ST 的商标 所有其他产品或服务名称均为其各自所有者的财产 本文档中的信息取代本文档所有早期版本中提供的信息 本文档的中文版本为英文版本的翻译件, 仅供参考之用 ; 若中文版本与英文版本有任何冲突或不一致, 则以英文版本为准 2017 STMicroelectronics - 保留所有权利 20/20 DocID030110 Rev 1 [English Rev 1]