总结前面文章,将总体无感FOC代码生成归纳为以下步骤;

第一步:设定芯片

点击MCU选择,

进入如下界面,根据MCU型号选择。

第二步:设定电源电压模块参数

以母线电压为24V供电系统为例,最低电压设为12V,最高电压设为36V,额定电压设为24V,电压范围为±50%

第三步:设置母线电压采样参数

根据设计的电路原理图填入下列参数,一般为串联电阻分压结构。

第四步:电机参数设置

同样根据电机参数表,首先选择电机类型,分为表贴式电机和内置式电机。然后是极对数、额定转速、额定电流、母线电压、定子相电阻、定子相电感、反电动势系数,依次填入即可。

第五步:电流采样模式设置

设置电流采样方式,在前面文章已有讲解关于采样电阻和增益倍数的计算,(STM32电机库(ST-MC-Workbench)学习记录——电流采样参数设置),在此不再赘述。

第六步:速度采样模式设置

因为采用的是无感FOC,所以选择  Observer + Cordic 模式(滑模反正切方式) ,观测器增益一般软件会给一个默认值,后面根据电机实际情况调试。

第七步:I/O硬件设置

PWM部分:由于不同硬件回路对应的I/O口不一样,即使实现功能相同,也需要按照特定回路分配。例如下图的原理图,PWM123456分别对应 PA8 PA9 PA10  PB13 PB14 PB15

因此I/O分配界面如下图分配,BKIN我推测是停止信号

电流采样I/O口分配:

点击电流采样模块分配界面,

进入到电流采样周期分配和I/O分配界面,因为STM32芯片的采样端口都是固定的,所以在此选项卡内设定。采样时间设为143ns,可以更改。

原理图里面采样部分是M_IA、M_IB、M_IC,这三个关角分别对应PA6\PA7\PC4,因此进行如下分配。

串口部分:

经过人机交互按钮进入,取消按键,用上位机操作即可,然后打开串口功能。

然后与原理图对应,TX对应PB6,RX对应PB7。

由于用的是无感FOC,用的是观测器,所以这个地方没有用到hall检测端口,因此也不涉及I/O口的分配问题。

第八步:I/O检测和代码生成

I/O检测:

左边是I/O总体分配,其界面如下,点击I/Ocheck,防止I/O分配错误。完成后显示check ok。

代码生成:这里代码生成前,需要安装STM32CubeMx,安装什么版本就选择什么版本,这个可以在ST官网直接搜索下载。第二个下拉条是keil软件的版本,我用的是V5就选择V5,后面按照图示选择即可。

第九步:下载程序后,连接ST官方上位机调试

点击如下按钮

进入调试界面,点击连接串口。然后就可以调试了。右侧有START 和 STOP, 灰色表盘内红点可以用鼠标拖动,控制实时转速。

可以用来观测波形转速。

下图是一个我的点击启动和实时控制转速的波形结果。

整理不易,希望大家帮忙点个赞~

后续文章链接:

永磁同步电机矢量控制到无速度传感器控制学习教程(PMSM)(一)

无刷直流电动机矢量控制(一)——无刷直流电机(BLDC)与永磁同步电机(PMSM)的相同点和区别

无刷直流电动机矢量控制(二)——无刷直流电机的工作原理及其内部结构

无刷直流电动机矢量控制(三)——位置检测和换相

无刷直流电动机矢量控制(四)——simulink仿真搭建(让电机动起来)

无刷直流电动机矢量控制(五)——开环调速原理(方波形式)

STM32电机库(ST-MC-Workbench)学习记录——电机参数及传感器设置

STM32电机库(ST-MC-Workbench)学习记录——电流采样部分

STM32电机库(ST-MC-Workbench)学习记录——电流采样参数设置

STM32电机库(ST-MC-Workbench)学习记录——无感FOC代码生成

STM32电机库(ST-MC-Workbench)学习记录——无感FOC代码生成相关推荐

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

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

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

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

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

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

  4. 无感FOC滑膜观测器学习

    无感FOC滑膜观测器学习 ctime:2020-02-04 20:40:32 +0900|1580816432 标签(空格分隔): 技术 硬件 目标是要通过滑膜观测器来获取电机转子位置 根据电机的数学 ...

  5. 从方波控制到无感FOC电调,什么促使电机系统发生巨变?

    从方波控制到无感FOC电调,什么促使电机系统发生巨变? 采用方波控制算法的电调,让无刷电机真正被引入航模及无人机领域.不过在使用过程中,这种控制算法的劣势也越来越明显.这也让一种早已有之的算法--FO ...

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

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

  7. STM32 电机教程 18 - MC Workbench生成工程代码的电机调试

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

  8. 基于STM32 电机库(5.4.4)的单电阻采样调试总结

    目录 硬件调整 软件调整 下载运行 参数优化 总结 硬件调整 实验用的开发板和电机如下,在调单一电阻之前已经在三电阻的环境下把启动运行的参数已经调好了,这里不多说.调好后需要把硬件改成单电阻采样. 如 ...

  9. PMSM无感foc控制(传统SMO)学习笔记

    永磁同步电机无感控制学习 一.永磁同步电机无感控制主要方法概述 (一)基于永磁同步电机基本磁链关系的转速和位置估算方法 1.直接计算方法 可直接检测的量是定了三相电压和电流,利用它们计算出转了位置角和 ...

  10. stm32 电机库生成代码出错原因 stm32 cuble生成代码出错原因

    原因1 第一个原因比较简单,是新手比较容易犯错的,就算路径中有汉语的问题 原因2 第二个原因就很隐蔽了,而且目前全网也很少有帖子谈及到第二个原因就是你的java环境(注意:stm32cubemx运行在 ...

最新文章

  1. Docker 1.10版本发布
  2. 数据库读写分离(aop方式完整实现)
  3. 【文章】论文写作知识积累
  4. dubbo注册中心zookeeper的安装使用
  5. 微信小程序02【配置详解、生命周期-app对象使用、页面跳转详解】
  6. C#进阶系列——WebApi 接口测试工具:WebApiTestClient
  7. [dp][前缀和] Jzoj P5907 轻功(qinggong)
  8. java threadlocal用法_Java ThreadLocal的用法解析
  9. IREC-GAN:在线推荐中基于模型的对抗训练强化学习
  10. 计算机竞赛制作机器人,电脑制作活动机器人项目详细说明
  11. font-size:字号大小
  12. 去掉最低工资和最高工资后的工资平均值(Java实现2种算法)
  13. STM32 Simulink 自动代码生成电机控制:基于反电动势观测器的锁相环设计
  14. HTML中对字体颜色稀色,平面设计之版式设计中常用到的对比手法
  15. unity删除云端项目
  16. 智能车学习日记【一】——让小车跑正方形赛道(摄像头图像处理赛道)
  17. P1000 超级玛丽游戏题解
  18. 专业的PDF分割,PDF合并软件-LinkPdf转换器
  19. 傲视群雄,酷派大神发力高端市场
  20. mysql显示表的所有列车_MySQL命令行查看表信息 | 夕辞

热门文章

  1. 21款网页版html5小游戏源码
  2. C语言库函数源码在线,C语言库函数(包括所有函数)
  3. matlab绘制奈奎斯特图
  4. 六大洲客户的特点,收藏备用~
  5. VB6基础教程与源代码
  6. 怎么下c语言程序,最新VC++(c语言程序下载安装)下载地址电脑版-CC软件
  7. 黑马程序员全套Java教程_Java基础教程_目录
  8. 记一次搜外吹牛皮回答之旅,如何提升关键词排名
  9. win10远程桌面查看对方计算机名,详细教你win10远程桌面连接命令
  10. 中源幼儿园收费管理系统 v5.2.8 是什么