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

2023-11-13

前言

      磁场定向控制又称矢量控制(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” :

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

STM32 电机教程 20 - 基于ST MC Workbench 无感FOC 的相关文章

  • TS浅记(基础部分<刚学到泛型,后续看学习进度>)小白自学的一些笔记

    1 TS初见 1 1 为什么要有 TypeScript TypeScript是JavaScript的超集 因为它扩展了JavaScript 有JavaScript没有的东西 硬要以父子类关系来说的话 TypeScript是JavaScrip
  • CSCOPE用法简略笔记

    bin sh find name h o name c o name cc gt cscope files cscope bkq i cscope files my usage cscope q d i cscope files f csc
  • bigdata1234.cn 大数据开发基础课堂测试

    数据容量单位 1 byte 8 bits 1 kilobyte KB 1024 bytes 1 megabyte MB 1024 KB 1 gigabyte GB 1024 MB 1 terabyte TB 1024 GB 1 petaby
  • Topaz Video AI 视频修复工具 安装教程

    Topaz视频增强AI是一款功能强大且易于使用的视频分辨率增强软件 该软件的主要功能是无损放大视频的分辨率 最高可达8K分辨率 它可以将您的所有低分辨率视频转换为8K分辨率的高质量视频 还支持批处理 安装教程 Topaz Video AI
  • 在页面中调用搜索引擎

    今天突然想到 在自己的页面中调用google 百度这样强大的搜索引擎想必很酷 于是上网查了资料 没想到就几行代码的事 下面是调用百度的一个代码段 div div
  • Jar包开机自启

    Jar包开机自启 1 编辑需要启动的脚本 vi run sh bin bash nohup java jar Xmx2024m XX MaxNewSize 256m home test 1 0 SNAPSHOT jar spring con
  • YOLOv8详解 【网络结构+代码+实操】

    文章目录 YOLOv8 概述 模型结构 Loss 计算 训练数据增强 训练策略 模型推理过程 网络模型解析 卷积神经单元 model py Yolov8实操 快速入门 环境配置 数据集准备 模型的训练 验证 预测 导出 使用CLI 使用py
  • 微信开发者工具调试大法

    由于小程序的火爆 于是去开源中国接了个私活 开发一个小程序 于是开始学习微信小程序开发文档 下载微信开发者工具 进行开发了 开发过程中需要调试 开始只是打日志或者断言 觉得很不方便 希望跟IDEA一样的调试器 于是摸索如下 第一步 打断点

随机推荐

  • 异步系统级错误处理

  • IDEA远程调试程序

    一 服务端 本次实验服务端配置 Tomcat Apache Tomcat 8 5 32 查看命令 sh Tomcat安装目录 bin version sh JVM 1 8 0 131 b11 jdk 8 System 3 10 0 693
  • range的用法,pycharm的快捷键格式对其,和多变量赋值在一行

    python range 函数可创建一个整数列表 一般用在 for 循环中 range start stop step start 计数从 start 开始 默认是从 0 开始 例如range 5 等价于range 0 5 stop 计数到
  • 上周AI热点回顾:AI“模拟”出暗物质、AI挖掘毕加索秘密、CPU在大型神经网络超越V100 GPU...

    01 全球首个AI宇宙模拟器跑出了暗物质 Space Engine是一款宇宙模拟游戏 它包含数千个真实的天体 包括来自HIP目录的恒星 来自NGC和IC目录的星系 几个知名的星云 以及所有已知的系外行星和它们的恒星 它采用星表与程序化生成创
  • Mac 环境现有项目集成 RN环境

    开发环境 mac rn版本 0 62 2 xcode版本 11 6 一 集成cocopods 参考文档 https www jianshu com p 6d51362b7e64 1 查看当前Ruby版本 ruby v 2 升级Ruby环境
  • 48-输入和显示-进度条控件QProgressBar

    进度条控件QProgressBar 进度条控件QProgressBar 通常用来显示一项任务完成的进度例如复制文件导出数据的进度 进度条QProgressBar是从QWidget 继承而来的 用QProgressBar类创建实例对象的方法如
  • [python] 安装numpy+scipy+matlotlib+scikit-learn及问题解决

    这篇文章主要讲述Python如何安装Numpy Scipy Matlotlib Scikit learn等库的过程及遇到的问题解决方法 最近安装这个真是一把泪啊 各种不兼容问题和报错 希望文章对你有所帮助吧 你可能遇到的问题包括 Impor
  • android父元素,Android之布局

    LinearLayout 线性布局 线性布局 最常用的布局之一 所有包含在线性布局里的控件在线性方向上依次排列 注意 线性布局不会换行 当组件一个挨着一个地排列到头之后 剩下的组件将不会被显示出来 1 方向 在线性布局里面的控件 是按照线性
  • vue axios解决文件流下载乱码

    前端请求头 responseType blob 一定要加 是单独一个对象 不能放在请求参数里面 new Blob res type application vnd ms excel charset utf 8 一定要设置类型 和后端resp
  • JDK、JRE、JVM三者间的关系

    JDK Java Development Kit 是针对Java开发员的产品 是整个Java的核心 包括了Java运行环境JRE Java工具和Java基础类库 Java Runtime Environment JRE 是运行JAVA程序所
  • Go语言简介

    一 Go编程语言概述 Go语言也叫Golang 是由谷歌 Google 公司在2007年推出的一款静态编译型语言 主要将其用于服务端开发 并发编程和网络编 程等 1 1 Go语言特性及应用场景 1 容易上手 2 编程速度快 3 原生支持并发
  • iPhone手机屏幕尺寸分辨率一览

    机型 物理像素 逻辑像素 规格 对角线 iPhone 12 Pro Max 1284 2778px 428 926pt 3x 6 7英寸 iPhone 12 Pro 1170 2532px 390 844pt 3x 6 1英寸 iPhone
  • 吃货联盟订餐系统(用对象和数组来写的)

    目录 一 自我介绍 2 吃货联盟订餐系统 1 首先创建一个订单类 2 创建一个餐品类 3 创建一个操作类 作用是添加订单 删除订单等操作 三 未来的发展规划 四 图书管理系统 用数组写的 一 自我介绍 我目前还是正在上学的学生 现在正在学习
  • Cpolar内网穿透+HadSky:搭建私密高效的轻量化论坛网站

    文章目录 前言 1 网站搭建 1 1 网页下载和安装 1 2 网页测试 1 3 cpolar的安装和注册 2 本地网页发布 2 1 Cpolar临时数据隧道 2 2 Cpolar稳定隧道 云端设置 2 3 Cpolar稳定隧道 本地设置 2
  • arduino舵机达180不到_【舵机初动】基于Mind+ Ardunio入门教程10

    点击上方 蘑菇云创造 可以关注我们哦 本项目要接触到舵机 舵机是一种电机 它使用一个反馈系统来控制电机的位置 可以很好掌握电机角度 大多数舵机是可以最大旋转180 的 也有一些能转更大角度 甚至360 舵机比较多的用于对角度有要求的场合 比
  • 【Basis】变分推断以及VIEM

    在包含隐变量 latent variables 的推断问题中 针对连续性随机变量的情况 隐变量的高维以及被积函数 intergrand 的复杂度使积分 intergration 无法进行 而针对离散型随机变量 隐变量呈指数 exponent
  • Git 本地代码上传到远程仓库

    Git本地代码上传到远程仓库 1 进入项目地址 通过命令git init将项目初始化成git本地仓库 git init 2 将项目内所有文件都添加到暂存区 git add 3 该命令会将git add 存入暂存区修改内容提交至本地仓库中 若
  • 寒假:HTML

    gt 框架的主要作用是使页面中的部分内容实现框架实现 一般用于在页面中引用站外的页面内容 1 在被打开的框架上加name属性 代码如下 2 在超链接上设置target目标窗口属性为希望显示的框架窗口名 lt a href target ma
  • dbeaver无法修改表数据_解决MDL锁导致无法操作数据库表的问题

    背景信息 MYSQL的MDL锁 用于解决或者保证DDL操作与DML操作之间的一致性 但是在部分场景下会出现阻塞 例如执行DML操作时执行ALTER操作 存在长时间查询时执行ALTER操作等等 表象如下 出现 Waiting for tabl
  • STM32 电机教程 20 - 基于ST MC Workbench 无感FOC

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