STM32 电机教程 19 - 基于ST MC Workbench 单电阻FOC

时间:2024-03-30 14:22:47

前言

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

STM32 电机教程 19 - 基于ST MC Workbench 单电阻FOC

第17及18讲成功实现了基于NUCLEO-F103RB和X-NUCLEO-IHM07M1 3SH及MotorControl Workbench的电机控制代码工程的生成,及电机参数调试工作,成功让电机运转起来,上17、18讲中,FOC电机电流采样方式为三电采样方式,ST的电机库集成了电机单电阻采样方式的支持,本节就给大家介绍使用ST 电机库用单电阻FOC算法让电机运转起来。本节工程代码直接在17讲基求陪同上进行修改即可。

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

STM32 电机教程 19 - 基于ST MC Workbench 单电阻FOC

STM32 电机教程 19 - 基于ST MC Workbench 单电阻FOC

示例详解

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

STM32 电机教程 19 - 基于ST MC Workbench 单电阻FOC

STM32 电机教程 19 - 基于ST MC Workbench 单电阻FOC

 

    1. 准备操作

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

STM32 电机教程 19 - 基于ST MC Workbench 单电阻FOC

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

STM32 电机教程 19 - 基于ST MC Workbench 单电阻FOC

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

STM32 电机教程 19 - 基于ST MC Workbench 单电阻FOC

上图第4步配置工作需按驱动板原理图进行配置,操作如下:

STM32 电机教程 19 - 基于ST MC Workbench 单电阻FOC

STM32 电机教程 19 - 基于ST MC Workbench 单电阻FOC

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

STM32 电机教程 19 - 基于ST MC Workbench 单电阻FOC

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

STM32 电机教程 19 - 基于ST MC Workbench 单电阻FOC

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

STM32 电机教程 19 - 基于ST MC Workbench 单电阻FOC

 

进入MDK-ARM目录,打开keil 工程:

STM32 电机教程 19 - 基于ST MC Workbench 单电阻FOC

直接编译工程,编译成功后下载代码到开发板,记得勾选下载选项中的复位和运行选项:STM32 电机教程 19 - 基于ST MC Workbench 单电阻FOC

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

STM32 电机教程 19 - 基于ST MC Workbench 单电阻FOC

按17讲的方法调试电机参数,让电机的速度曲线与目标曲线基本重合,调参数时需要注意一点—高速低速都要试一下,确保电机在高速与低速时的运转质量均有保证。

STM32 电机教程 19 - 基于ST MC Workbench 单电阻FOC

 

注意1:如果你的电机参正转与反转时运动表机相差很大如,电机可以正常正转,但不能反转,或反传时速度上不去或反转时电机噪音特别大,如果有上述情况,多半是因为电机角度不对,需调节下图所指参数:

STM32 电机教程 19 - 基于ST MC Workbench 单电阻FOC

注意2:如果你的电机转动时速度曲线跳动较大,可以适当地加大一些速度计算平均长度,如下图:

STM32 电机教程 19 - 基于ST MC Workbench 单电阻FOC

注意3:如果你的电机转动时速度收敛速度慢,可以适当加大控制参数,如果上现抖动或震荡情况则需要减小相应的控制参数:

STM32 电机教程 19 - 基于ST MC Workbench 单电阻FOC

注意4:MotorControl Workbench配置的很多电机参数,可以直接在KEIL工程中进行更改,然后编译下载即可,无需每次都用MotorControl Workbench进行修改,这些配置参数集中在"pmsm_motor_parameters.h","drive_parameters.h","power_stage_parameters.h"三个文件中,可以从main.c文件的包含文件 "motorcontrol.h"中快速找到它们。

 

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

 

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

STM32 电机教程 19 - 基于ST MC Workbench 单电阻FOC

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

STM32 电机教程 19 - 基于ST MC Workbench 单电阻FOC