前言

磁场定向控制又称矢量控制(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 开发板。

  1. 准备操作

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

本节的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相关推荐

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

    前言 磁场定向控制又称矢量控制(FOC), 本质上为控制定子电流的幅度和相位,使之产生的磁场和转子的磁场正交,以产生最大的扭矩. PMSM的磁场定向控制框图如下图所示: 第19讲成功实现了基于NUCL ...

  2. STM32 电机教程 17 - 基于ST MotorControl Workbench的电机调试

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

  3. STM32 电机教程 22 - 基于ST MCLIB无感FOC算法变有感(HALL)FOC算法

    前言 磁场定向控制又称矢量控制(FOC), 本质上为控制定子电流的幅度和相位,使之产生的磁场和转子的磁场正交,以产生最大的扭矩. PMSM的磁场定向控制框图如下图所示: 第21讲对比分析了基于ST M ...

  4. STM32 电机教程 21 - 基于ST MCLIB无感FOC 与 有感FOC 代码差异分析

    前言 磁场定向控制又称矢量控制(FOC), 本质上为控制定子电流的幅度和相位,使之产生的磁场和转子的磁场正交,以产生最大的扭矩. PMSM的磁场定向控制框图如下图所示: 第19.20讲分别实现了基于N ...

  5. STM32 电机教程 32 - 基于ST X-CUBE-SPN7 无刷无感电机库的电机驱动实现

    前言 上一节给大家分享几篇比较好的介绍无刷电机无传感控制的文章,不知大家学习得怎么样,其实很多芯片公司(比如TI,ST,MICROCHIP,SILICON)都有推出针对他们家控制或驱动芯片的无感无刷电 ...

  6. STM32 电机教程 1 - 用ST Motor Profiler 测量无刷电机参数

    前言 在对电机进行控制前,往往需要先知道电机的一些参数,但是在实际应用过程中,经常会出现在控制一个电机参,但对电机的参数如相电阻电感的参数不够了解的情况,本节给大家演示基本ST Motor Profi ...

  7. 基于S12ZVM的NXP单电阻FOC电流重构原理分析

    三相桥一共有8种开关状态,在开关状态为111或000的时候不能有效采样到任一三相电流,除去全开111或全关000还剩下6种开关状态.如下图为开关状态101期间,可以采样到B相的电流,以此类推可得下表. ...

  8. STM32 电机教程 24 - ST MCLIB实战之无感变绝对式位置传感器

    前言 上一节给大讲演示了如何用ST MotorControl Workbench创建基本STM32F103C8T6芯片的FOC工程并根据实际电路成功创建了工程,但是实际电路使用的是绝对式磁编码器作为电 ...

  9. STM32 电机教程 33 - 无刷电机无感控制快速实现

    前言 上一节<STM32 电机教程 32 - 基于ST X-CUBE-SPN7 无刷无感电机库的电机驱动实现>给大家分享了ST的官方的无刷电机无感控制实现方案(基于NUCLEO-F103R ...

最新文章

  1. 工作上996,生活上669,并不是什么难事儿!
  2. 对于java程序语言的单例设计模式讲解
  3. Android必知必会-Android Studio下配置和使用Lambda
  4. hibernate同时插入两条相同数据(偶尔)原因调查
  5. 【笔记 】栈底层 循环队列的处理 链栈 链队列
  6. PAT (Basic Level) 1035 插入与归并(模拟)
  7. mysql 恢复 二进制,mysql通过二进制日志恢复数据库
  8. android人脸识别技术浅析
  9. oracle软件静默安装程序,【oracle】静默安装 oracle 11gr2
  10. latex中怎样使公式居中_LaTeX_多行公式对齐居中的同时选择性的加编号
  11. MySQL 基础 ———— 分组查询
  12. python2和python3哪个_python2与python3的区别(持续更新)
  13. NDArray基础语法知识(与Numpy的对比)
  14. postgre帮助文档。
  15. python3语法糖_python 连续不等式语法糖实例
  16. adams matlab 柔性体,【ADAMS柔性体】柔性体生成流程与注意事项
  17. kubernetes ingress-nginx原理
  18. 网络规划---网络计划图的时间参数计算
  19. Android记事本定时功能,Android如何实现记事本功能
  20. 算法设计与分析(第2版)屈婉玲 刘田 张立昂 王捍贫编著 第五章课后习题答案

热门文章

  1. 《HelloGitHub》第 19 期
  2. Ubuntu - 安装 jdk 、配置 Java 环境变量、编辑 Test.java 文件并输出 Hello World!
  3. 向textarea元素输入限制长度的字符
  4. 一个大浪Java罢工(一个)安装JDK和环境变量配置
  5. vijos p1143(三取方格数)(100)
  6. ubuntu搭建Tomcat7.0
  7. fedora15换主题
  8. UA OPTI512R 傅立叶光学导论12 傅立叶级数基础
  9. GIS空间数据结构 - 矢量和栅格
  10. python查找数组中出现次数最多的元素