STM32 电机教程 20 - 基于ST MC Workbench 无感FOC

本文详细介绍如何使用ST电机库实现无感磁场定向控制(FOC)算法,针对2836无刷电机,通过NUCLEO-F103RB和X-NUCLEO-IHM07M13SH开发板进行配置和调试,提供了详细的步骤和参数调整技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原文:https://blog.youkuaiyun.com/zhanglifu3601881/article/details/92810517?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param

 

前言

      磁场定向控制又称矢量控制(FOC), 本质上为控制定子电流的幅度和相位,使之产生的磁场和转子的磁场正交,以产生最大的扭矩. PMSM的磁场定向控制框图如下图所示:

第19讲成功实现了基于NUCLEO-F103RB和X-NUCLEO-IHM07M1 3SH及MotorControl Workbench的单电阻FOC算法实现,本节就给大家介绍使用ST 电机库实现无感FOC算法让电机运转起来。本节工程代码直接在19讲基础上进行修改即可。

本节所用电机为2836无刷电机,电机有两组线(hall传感器线和电机三相线),工作电压24V,最大转速12000rpm:

示例详解

本节用到ST官方推出的NUCLEO-F103RB和X-NUCLEO-IHM07M1 3SH 开发板。

 

    1. 准备操作

按下图接好跳线端子(单电阻接线方式):

本节的MotorControl Workbench工程直接用第19讲的即可,直接复制上一讲生生成工程文件及代码工程文件,改名为Motor20:

在配置工程之前,先用Motor Profiler 5.3.3工具测量一下电机相关参数,具体操作可看《STM32 电机教程 1 - 用ST Motor Profiler 测量电机参数》一节,测得结果如下:

打开工程文件,按下图完成配置:

 

速度传感及位置传感选择Sensor-less(observer+pll 或 observer+cordic ):

按上述配置好后,这个时候在Firmware Drive Mangagement 下会多一个Start -up parameters 选项,选择该选项:

有了前面17-19节的基础,上面的一些启动参数保持默认基本都可以了,当然如有特殊需求可自行更改对应的参数,比如想要启动再快一点,可以适当减小相应的延时,如果想让电机启动后初始速度大一点则可以修改目标速度考虑到无感算法在低速时表达不是佳,建议启动时相应的速度尽量大些,可以增加无感起动的成功率,如下图是本例所使用的配置参数:

基础模式:

高级自定义模式:

需要注意的是第19讲是采用的单电阻方案,所涉及的一些硬件配置如下(三电阻方案有兴趣的同学可以自行去完成相关实验):

 

确认之后工程会有如下提示信息:

 

进到MCU模拟通道设置窗口看一下,确定配置正确(如下图)即可!

到这里就可以成生程代码了:

 

进入MDK-ARM目录,打开keil 工程:直接编译工程,编译成功后下载代码到开发板,记得勾选下载选项中的复位和运行选项:

程序下载完成后,用MotorControl Workbench工具调节试,操作如下,。

可以看到无感模式下,速度抖动有所增加:

 

OK,本期实验完成!本节内容到此结束,也欢迎大家留言!!最后喜欢这个公众号的同学们记得加关注了,每天都会有技术干货推出!!

 

文中源码及资料下载,关注十三公众号:

在公众号里给十三发送 “下载|STM32 电机教程 20” :

无感FOC(Field Oriented Control,场向量控制)是一种先进的电机控制技术,适用于无位置传感器的电机控制系统。要在STM32微控制器上使用ST FOC SDK5.0实现无感FOC控制,你需要遵循以下步骤: 参考资源链接:[STM32 MC SDK5.0 培训](https://wenku.youkuaiyun.com/doc/6412b4c8be7fbd1778d40cc8?spm=1055.2569.3001.10343) 1. **硬件准备**:确保你的STM32微控制器板具有足够的计算能力和必要的接口来支持FOC控制,如ADC、PWM和定时器。 2. **软件安装**:下载并安装STM32 MC SDK5.0(现在称为STM32 Motor Control SDK),它包含所有必要的库、中间件和工程模板。 3. **工程配置**:打开ST Motor Control Workbench,这是一个集成开发环境,用于配置FOC参数,如电机参数、控制环参数等。 4. **FOC算法实现**:在SDK中,FOC算法的实现依赖于以下三个关键控制环: - **电流环**:电流环是FOC的核心,它控制电机的磁场和转矩。电流环需要实时采样电机的电流,并通过PI(比例-积分)控制器调节PWM输出来跟踪设定的电流值。 - **速度环**:速度环根据转速反馈来调节转矩,确保电机运行在设定的速度。速度闭环需要一个积分器来消除稳态误差。 - **位置环**:由于是无感控制,位置环通过估算算法实现。位置估算可以使用反电动势(Back-EMF)法、观测器或传感器融合技术来实现。 5. **调试与优化**:在实际电机上应用控制参数,并进行测试。需要观察电机启动、加速和稳定运行时的性能,调整参数以优化性能和响应。 6. **编程与部署**:将配置好的参数和控制算法下载到STM32微控制器中,并进行实际运行测试。 在整个过程中,参考《STM32 MC SDK5.0 培训》课件是非常有帮助的,因为它提供了关于SDK5.0原理、使用方法及实验的详细讲解,并且包含书签,方便快速查找关键信息。 为了更好地理解无感FOC控制的实现,你可以使用STM32 Motor Control SDK中的各种示例项目进行实践。这些项目包含完整的软件框架,可以直接在兼容的硬件上运行,帮助你深入理解FOC控制的每一个环节。 参考资源链接:[STM32 MC SDK5.0 培训](https://wenku.youkuaiyun.com/doc/6412b4c8be7fbd1778d40cc8?spm=1055.2569.3001.10343)
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值