STM32 电机教程 19 - 基于ST MC Workbench 单电阻FOC
前言
磁场定向控制又称矢量控制(FOC), 本质上为控制定子电流的幅度和相位,使之产生的磁场和转子的磁场正交,以产生最大的扭矩. PMSM的磁场定向控制框图如下图所示:
第17及18讲成功实现了基于NUCLEO-F103RB和X-NUCLEO-IHM07M1 3SH及MotorControl Workbench的电机控制代码工程的生成,及电机参数调试工作,成功让电机运转起来,上17、18讲中,FOC电机电流采样方式为三电采样方式,ST的电机库集成了电机单电阻采样方式的支持,本节就给大家介绍使用ST 电机库用单电阻FOC算法让电机运转起来。本节工程代码直接在17讲基求陪同上进行修改即可。
本节所用电机为2836无刷电机,电机有两组线(hall传感器线和电机三相线),工作电压24V,最大转速12000rpm:
示例详解
本节用到ST官方推出的NUCLEO-F103RB和X-NUCLEO-IHM07M1 3SH 开发板。
- 准备操作
按下图接好跳线端子(单电阻接线方式):
本节的MotorControl Workbench工程直接用第17讲的即可,直接复制上一讲生生成工程文件及代码工程文件,改名为Motor19:
打开工程文件,按下图完成配置:
上图第4步配置工作需按驱动板原理图进行配置,操作如下:
确认之后工程会有如下提示信息:
进到MCU模拟通道设置窗口看一下,确定配置正确(如下图)即可!
到这里就可以成生程代码了:
进入MDK-ARM目录,打开keil 工程:
直接编译工程,编译成功后下载代码到开发板,记得勾选下载选项中的复位和运行选项:
程序下载完成后,用MotorControl Workbench工具调节试,操作如下,。
按17讲的方法调试电机参数,让电机的速度曲线与目标曲线基本重合,调参数时需要注意一点—高速低速都要试一下,确保电机在高速与低速时的运转质量均有保证。
注意1:如果你的电机参正转与反转时运动表机相差很大如,电机可以正常正转,但不能反转,或反传时速度上不去或反转时电机噪音特别大,如果有上述情况,多半是因为电机角度不对,需调节下图所指参数:
注意2:如果你的电机转动时速度曲线跳动较大,可以适当地加大一些速度计算平均长度,如下图:
注意3:如果你的电机转动时速度收敛速度慢,可以适当加大控制参数,如果上现抖动或震荡情况则需要减小相应的控制参数:
注意4:MotorControl Workbench配置的很多电机参数,可以直接在KEIL工程中进行更改,然后编译下载即可,无需每次都用MotorControl Workbench进行修改,这些配置参数集中在"pmsm_motor_parameters.h","drive_parameters.h","power_stage_parameters.h"三个文件中,可以从main.c文件的包含文件 "motorcontrol.h"中快速找到它们。
OK,本期实验完成!本节内容到此结束,也欢迎大家留言!!最后喜欢这个公众号的同学们记得加关注了,每天都会有技术干货推出!!
文中源码及资料下载,关注十三公众号:
在公众号里给十三发送 “下载|STM32 电机教程 19” :
STM32 电机教程 19 - 基于ST MC Workbench 单电阻FOC相关推荐
- STM32 电机教程 20 - 基于ST MC Workbench 无感FOC
前言 磁场定向控制又称矢量控制(FOC), 本质上为控制定子电流的幅度和相位,使之产生的磁场和转子的磁场正交,以产生最大的扭矩. PMSM的磁场定向控制框图如下图所示: 第19讲成功实现了基于NUCL ...
- STM32 电机教程 17 - 基于ST MotorControl Workbench的电机调试
前言 磁场定向控制又称矢量控制(FOC), 本质上为控制定子电流的幅度和相位,使之产生的磁场和转子的磁场正交,以产生最大的扭矩. PMSM的磁场定向控制框图如下图所示: 上一讲详细介绍了磁场定向控制的 ...
- STM32 电机教程 22 - 基于ST MCLIB无感FOC算法变有感(HALL)FOC算法
前言 磁场定向控制又称矢量控制(FOC), 本质上为控制定子电流的幅度和相位,使之产生的磁场和转子的磁场正交,以产生最大的扭矩. PMSM的磁场定向控制框图如下图所示: 第21讲对比分析了基于ST M ...
- STM32 电机教程 21 - 基于ST MCLIB无感FOC 与 有感FOC 代码差异分析
前言 磁场定向控制又称矢量控制(FOC), 本质上为控制定子电流的幅度和相位,使之产生的磁场和转子的磁场正交,以产生最大的扭矩. PMSM的磁场定向控制框图如下图所示: 第19.20讲分别实现了基于N ...
- STM32 电机教程 32 - 基于ST X-CUBE-SPN7 无刷无感电机库的电机驱动实现
前言 上一节给大家分享几篇比较好的介绍无刷电机无传感控制的文章,不知大家学习得怎么样,其实很多芯片公司(比如TI,ST,MICROCHIP,SILICON)都有推出针对他们家控制或驱动芯片的无感无刷电 ...
- STM32 电机教程 1 - 用ST Motor Profiler 测量无刷电机参数
前言 在对电机进行控制前,往往需要先知道电机的一些参数,但是在实际应用过程中,经常会出现在控制一个电机参,但对电机的参数如相电阻电感的参数不够了解的情况,本节给大家演示基本ST Motor Profi ...
- 基于S12ZVM的NXP单电阻FOC电流重构原理分析
三相桥一共有8种开关状态,在开关状态为111或000的时候不能有效采样到任一三相电流,除去全开111或全关000还剩下6种开关状态.如下图为开关状态101期间,可以采样到B相的电流,以此类推可得下表. ...
- STM32 电机教程 24 - ST MCLIB实战之无感变绝对式位置传感器
前言 上一节给大讲演示了如何用ST MotorControl Workbench创建基本STM32F103C8T6芯片的FOC工程并根据实际电路成功创建了工程,但是实际电路使用的是绝对式磁编码器作为电 ...
- STM32 电机教程 33 - 无刷电机无感控制快速实现
前言 上一节<STM32 电机教程 32 - 基于ST X-CUBE-SPN7 无刷无感电机库的电机驱动实现>给大家分享了ST的官方的无刷电机无感控制实现方案(基于NUCLEO-F103R ...
最新文章
- 工作上996,生活上669,并不是什么难事儿!
- 对于java程序语言的单例设计模式讲解
- Android必知必会-Android Studio下配置和使用Lambda
- hibernate同时插入两条相同数据(偶尔)原因调查
- 【笔记 】栈底层 循环队列的处理 链栈 链队列
- PAT (Basic Level) 1035 插入与归并(模拟)
- mysql 恢复 二进制,mysql通过二进制日志恢复数据库
- android人脸识别技术浅析
- oracle软件静默安装程序,【oracle】静默安装 oracle 11gr2
- latex中怎样使公式居中_LaTeX_多行公式对齐居中的同时选择性的加编号
- MySQL 基础 ———— 分组查询
- python2和python3哪个_python2与python3的区别(持续更新)
- NDArray基础语法知识(与Numpy的对比)
- postgre帮助文档。
- python3语法糖_python 连续不等式语法糖实例
- adams matlab 柔性体,【ADAMS柔性体】柔性体生成流程与注意事项
- kubernetes ingress-nginx原理
- 网络规划---网络计划图的时间参数计算
- Android记事本定时功能,Android如何实现记事本功能
- 算法设计与分析(第2版)屈婉玲 刘田 张立昂 王捍贫编著 第五章课后习题答案