SimpleFOC之ESP32(四)—— 电流闭环控制Inline

手把手移植 simpleFOC (五):电流检测 篇 前期的工作, simpleFoc开环控制已经完成了,实现完整的闭环控制,就差两相电流检测了,主要设计思路是来源于odrive,用产生pwm波的定时器update事件,触发两路adc 注入式采样。硬件管脚分配 ib-----adc in0硬件配置整个串口调试,接收数据来看。电流检测部分成功移植。整个个移植工作都以完成,剩下的只是针对力矩,速度,角度等闭环调试了。 阅读详情
AI摘要

本文深入探讨了磁场定向控制(FOC)中电流闭环控制的重要性及其对电机效率和力矩控制精度的影响。通过介绍Inline电流检测原理和技术细节,指导读者完成硬件连接,并提供了基于SimpleFOCShield的代码修改和调试指南。


 
SimpleFOC教程目录:请点击
 

说明

SimpleFOCShield和ESP32drive-D的板载电流采样为Inline模式,ESP32drive为Lowside模式,稍后另起一章讲解。

一、原理说明

1.1、为什么要采样电流

  FOC(Field-Oriented Control),即磁场定向控制,磁场大小与绕组中的电流成正比,所以对磁场的控制在程序上就是对电流的控制。前几节的程序并没有使用电流环,而是直接使用电压值,确实可以达到还行的效果。但是这样做有两个问题:

  • 1、不能保证i_d为零,i_q等于目标值,因此电机并不能工作在效率最高的状态,力矩控制也是不准确的。
  • 2、相电压施加在电感上产生相电流,电压和电流有相位差且并不恒定,低速运行时相位差对电机的影响不明显,但是当速度快了或者速度变化率高了以后,相位差的影响就会非常明显。
     

1.2、电流检测方式 InlineCurrent

在这里插入图片描述
内置电流检测(InlineCurrentSense)是使用起来最简单但是最精准的技术。 采样电阻串联在电机相线上,检测的电流始终都是电机相电流,因为电感中的电流不会突变,所以无论PWM占空比的状态如何,采样到的电流都是连续稳定的。
 

二、硬件介绍

2.1、原理图

在这里插入图片描述
 

2.2、ESP32drive-D方案

2.2.1、准备清单

序号名称数量
1USB转串口1
2ESP32drive-D1
3带编码器电机1
412V电源1
5杜邦线若干

在这里插入图片描述

ESP32drive 购买链接:https://item.taobao.com/item.htm?ft=t&id=662591519566,图锐科技
电机 购买链接:https://item.taobao.com/item.htm?ft=t&id=643573104607,图锐科技
 

2.2.2、硬件连接

在这里插入图片描述
 

2.3、SimpleFOCShield方案

2.3.1、SimpleFOCShield原理图及跳线

电流采样需要PWM输出与采样输入引脚对应,所以必须了解SimpleFOCShield的原理图,
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
 

2.3.2、硬件清单

序号名称数量
1ESP32-DevKitC1
2simpleFOCShield V2.0.31
3云台电机1
4USB线1
512V电源1
6杜邦线若干

在这里插入图片描述

ESP32drive 购买链接:https://item.taobao.com/item.htm?ft=t&id=662591519566,图锐科技
电机 购买链接:https://item.taobao.com/item.htm?ft=t&id=643573104607,图锐科技
 

2.3.3、硬件连接

ESP32-DevKitCSimpleFOCShield
165
179
56
48
36 / VPA2
39 / VNA0
3V33V3
GNDGND

如果是AS5600编码器,如下

ESP32-DevKitCAS5600电机
22SCL
21SDA
3V3VCC
GNDGND

在这里插入图片描述
如果是AS5047P编码器,如下

ESP32-DevKitCAS5047P电机
23MOSI
19MISO
18SCLK
13SS
GNDGND
3V3VCC

 

三、程序演示

  • 力矩模式、速度模式、角度模式,三种控制模式都在这一个代码上实现,修改控制模式可实现切换。
  • 修改这些需要对电机控制有一定的了解,本人假定你在看到这篇文章之前已经看过我之前的系列教程,如果你是第一次对着教程修改这些代码,很有可能会出错,请先熟悉SimpleFOC的基本操作后再进阶本篇。
  • 代码修改容易,但是明白每一个参数对电机的影响需要反复对比操作。
  • 先调试力矩模式,调整电流PI参数(voltage模式不需要),电机稳定后,
  • 再调试速度模式,调整速度PI参数,电机稳定后,
  • 再调试角度模式,调整P参数,保证电机稳定。

本节代码在SimpleFOCShield上验证,

3.1、打开示例

在这里插入图片描述
 

3.2、修改代码

simpleFOC库不断更新,曾经写好的代码在库升级后可能会出错,所以不要相信任何现成代码。请以官方示例为准,按照下图修改的地方修改。20220520
在这里插入图片描述
 
在这里插入图片描述
 

3.3、验证上传

在这里插入图片描述
 

3.4、串口发送指令

力矩模式,发送T1,表示设置目标电压为1V,
速度模式,发送T20,表示设置目标速度为20rad/s,
角度模式,发送T6.28,表示设置目标角度为6.28rad。

3.5、观察电机运行

 
 

写后感

  本节修改后的代码实际是综合了几个代码后拼接而成的,电流闭环控制是电机控制中最有难度最具挑战性的部分,之前的代码可以根据教程或示例稍微修改即可,而电流闭环的加入需要充分了解电机才能很好的控制。
 
(完)
 
 
欢迎加入simpleFOC技术交流群:923734429 群已满根据提示添加新群 (入群申请写:优快云)
 
 
请继续阅读相关文章:
SimpleFOC之ESP32(一)—— 搭建开发环境
SimpleFOC之ESP32(二)—— 开环控制
SimpleFOC之ESP32(三)—— 闭环控制
SimpleFOC之ESP32(四)—— 电流闭环控制Inline
SimpleFOC之ESP32(五)—— 电流闭环控制Lowside
SimpleFOC之ESP32(六)—— 双电机控制
SimpleFOC之ESP32(七)—— 霍尔电机
SimpleFOC之ESP32(八)—— ABZ编码器电机
SimpleFOC之ESP32(九)—— WIFI、UDP和TCP
SimpleFOC之ESP32(十)—— ESP-NOW和力矩反馈

Arduino SimpleFOC库-007-电流感应 ArduinoSimpleFOC库的目标是通过(至少)三种最标准的电流感应类型来支持 FOC 实现: 在线电流检测 低侧电流检测-尚不支持 高端电流检测-尚不支持 到目前为止(检查发布),ArduinoSimpleFOC库仅支持在线电流感应。 当前的每一种传感类都将实现所有必要的功能,以实现 FOC 算法的简单而稳健的实现: 硬件配置 ADC 分辨率和频率 自动零偏移查找 驱动同步 ADC 采集事件触发 与驱动程序阶段的自适应对齐 读取相电流 电流矢量幅度的计... 阅读详情

相关推荐

【嵌入式电机控制#14】电流闭环控制(一)

优点:能正反转运行,启动快,调速精度高,动态性能好,调速静差小,调速范围大,能加速,减速,刹车,倒转,能在负载超过设定速度时,提供反向力矩,能克服电机轴承的静态摩擦力,产生非常低的转速。启动快,能加速,刹车,能耗制动,能量反馈,调速性能与双极模式相差不多,电机特性也比较好。因为电机存在电感,电流的大小方向无法突变,所以单极H桥刹车时难以减速到0,并且不能突然倒转。当POWER侧的管子导通,地侧的管子关断,则电机流向及电机电压、电流、采样电流变化曲线如下。优点:控制电路简单,如果接成H桥模式,也能正反转。

Haytham233的博客 1055

STM32 电机教程 12 - BLDC 闭环电流控制

前言 无刷直流 (Brushless Direct Current, BLDC)电机是一种正快速普及的电机类型,它可在家用电器、汽车、航空航天、消费品、医疗、工业自动化设备和仪器等行业中使用。正如名称指出的那样,BLDC 电机不用电刷来换向,而是使用电子换向。BLDC 电机和有刷直流电机以及感应电机相比,有许多优点。其中包括: • 更好的转速-转矩特性 • 快速动态响应 • 高效率 • ...

张十三的博客 1万+

SimpleFOC -foc电流-力矩控制代码

#include <Arduino.h> #include <SimpleFOC.h> // 无刷直流电机及驱动器实例 BLDCMotor motor = BLDCMotor(1); BLDCDriver3PWM driver = BLDCDriver3PWM(9, 5, 6, 8); // 编码器对象 Encoder encoder = Encoder(2, 3, 4096); //Encoder encoder = Encoder(2, 3, 4096, A0); //.

wenqiangwu的专栏 1935

SimpleFOC移植STM32(五)—— 电流采样及其变换

目录一、原理说明1.1、电流采样1.1.1、为什么要采样电流1.1.2、电流采样方式1.1.2.1、低侧电流采样1.1.2.2、高侧电流采样1.1.2.3、内置电流采样1.2、电流变换1.2.1、AD转换1.2.2、clark变换1.2.3、Park变换1.2.4、PID运算二、硬件说明2.1、SimpleFOC V2.0.3 的参数2.2、PowerShield V0.2 的参数2.3、SimpleMotor 的参数2.4、电流实际波形   一、原理说明 1.1、电流采样 1.1.1、为什么要采样电流  

loop222的博客 6万+

SimpleFOC移植STM32(五)—— 电流采样及其变换_极对数对电流采样的影响

INA240有四个型号,INA240A1是20倍放大倍数,INA240A2是50倍放大倍数。电机的电流是正弦波,对于采样的差分信号来说,负半周期为负值,为方便处理,需要叠加上偏置电压以保证全周期的输出为正值。序号名称数量112带编码器云台电机13USB转串口1412V或24V电源1驱动板103 购买链接:https://item.taobao.com/item.htm?ft=t&id=656368067494,图锐科技。

2401_87557001的博客 2938

Simple FOC Shield v2焊盘的硬件配置-学习笔记

ArduinoSimpleFOCShield 的一项非常重要的功能是硬件配置 每块电路板的底部都有一组用于配置的焊盘。这些焊盘使电路板能够: 配置 BLDC 驱动器引脚(PWM 引脚 A、B、C 和使能引脚) 启用/禁用编码器 A、B 和方向通道的上拉电阻 配置编码器/霍尔传感器连接 启用/禁用线性稳压器 配置ADC的范围 配置电流检测的引脚 启用编码器/霍尔传感器上拉电阻 每块板都集成了三个 3.3KOhm 上拉电阻器,用于编码器通道 A、B 和索引(或霍尔传感器 U、V、W)...

wenqiangwu的专栏 3196

SimpleFOC、ODrive和VESC 教程链接汇总

一、SimpleFOC系列教程 SimpleFOC(一)—— 简介(附有文件下载链接) SimpleFOC(二)—— 快速入门 (开环控制) SimpleFOC(三)—— AS5600角度读取 SimpleFOC(四)—— 闭环控制 SimpleFOC(五)—— 双电机控制 SimpleFOC(六)—— PowerShield和AS5047P SimpleFOC(七)——STM32(Bluepill)的应用 SimpleFOC(八)—— 理论+实践 深度分析SVPWM SimpleFOC(九)——

loop222的博客 12万+

【开源电机驱动】闭环控制之电流闭环

在本文中,我将会和大家一起讨论电机控制中的电流闭环控制问题。从这一节开始,文中将会出现大量的专业术语和仿真分析。我会尽量使用通俗易懂的语言来阐述这些名词。以便读者理解。这一章节内容包含以下几个部分:一是电流传感器,二是系统的传递函数,最后一部分就是PI控制器。

BadBoyHolly的博客 1万+

SimpleFOC之ESP32(八)—— ABZ编码器电机

目录   SimpleFOC教程目录:请点击  

loop222的博客 3万+

PPT太丑?用InDesign制作电影级的交互式在线演示文档

本文旨在解决传统演示软件(如PowerPoint、Keynote)在制作商业提案、设计报告时,普遍存在的模板化严重、视觉表现力不足、动态效果廉价的核心痛点。我们将介绍一套常被设计师们“误解”或“忽略”的“降维打击”工作流,核心是利用印刷排版软件 Adobe InDesign 强大的版式控制、动画与交互功能,来创建电影级的动态演示文稿,并通过其 在线发布 (Publish Online) 功能,一键生成可在任何浏览器中流畅访问的网页版交互式文档,从而极大地提升提案的专业度与视觉冲击力。

Kingsdesigner的博客 1276

Ghidra逆向分析实战:从安装JDK到解析STM32的bin文件(附SVD插件配置)

本文详细介绍了使用Ghidra进行STM32固件逆向分析的完整流程,从JDK安装配置到SVD插件的应用。通过实战案例展示如何解析bin文件、恢复符号信息以及利用SVD插件识别外设寄存器,帮助开发者高效完成嵌入式设备的逆向工程任务。

weixin_29309475的博客 643

Deng‘s FOC:基于 ESP32 与 SimpleFOC 的开源双路无刷 FOC 驱动板全解析

灯哥开源 FOC 控制器(Deng's FOC / DengFOC)是一块基于 ESP32 主控、采用 GPL-3.0 协议开源的双路低成本无刷电机 FOC 驱动板:单路最大功率 120W、双路共 240W,支持位置/速度/力矩的开闭环控制,并内置在线相电流检测模块,可构成真正完整的 FOC 电流环。本文以仓库根目录的 [README.md](https://link.gitcode.com/i/

gitblog_00446的博客 252

Anaconda+Pycharm安装

我提前创建好一个自己项目所需的虚拟环境。步骤是:打开终端(cmd)或者 搜索 ”Anaconda Prompt“ 并打开,输入 conda create -n pytorch python=3.9 -c。

Wang_sweet的博客 3230

基于开源项目ESP32 SVPWM驱动无刷电机开环速度测试

基于开源项目ESP32利用LEDC产生SVPWM驱动无刷电机开环速度测试

perseverance51博客 4147

orangepi 5 plus ubuntu24.04上安装redroid

OrangePi 5 Plus运行reDroid云手机方案总结 在RK3588+Ubuntu 24.04上部署reDroid(Android容器化方案)的关键步骤: 内核要求:确保启用binderfs(无需ashmem,新版reDroid使用memfd替代); 安装流程: 安装Docker并配置代理加速镜像拉取; 拉取reDroid镜像(推荐Android 12/13 ARM64版本); 通过挂载binderfs启动容器,指定分辨率与DPI参数; 多实例管理: 脚本化创建多个容器(如8个实例),分配独立端口

babytiger的专栏 2289

如何使用AutoDl平台跑自己的模型(纯干货,步骤很详细)

记录我使用AutoDL云服务器来跑自己模型的全过程

qq_45073592的博客 3万+

SimpleFOC之ESP32(五)—— 电流闭环控制Lowside

目录说明一、原理说明1.1、为什么要采样电流1.2、电流检测方式 LowsideCurrent1.3、运放电路设计二、硬件介绍2.1、原理图2.2、准备清单2.3、硬件连接三、程序演示3.1、打开示例3.2、修改代码3.3、验证上传3.4、串口发送指令3.5、观察电机运行   SimpleFOC教程目录:请点击   说明 本文教程只适配ESP32drive,注意区分电流采样模式。   一、原理说明 1.1、为什么要采样电流   FOC(Field-Oriented Control),即磁场定向控制,磁

loop222的博客 1万+

【论文硬核拆解】Ctx2Skill:让大模型自己跟自己玩,从上下文里「进化」出可复用技能

论文选择自然语言技能可解释性:技能是人类可读的 Markdown 文件,可以审查、编辑、调试可迁移性:即插即用,从一个模型到另一个模型无需参数访问:对闭源模型友好这比 SKILL0/SkillRL 等参数内化方法更实用,尤其是在商业 API 场景。

步子哥的博客 151

【电机控制】电流环闭环PID整定方案

从去年8月初开始,接到个项目,做BLDC驱动器,用STM32F030,CUBEMX,第一阶段就用最简单的六步法开环控制电机,第一阶段的重点是各种保护,保证驱动器在各种恶略环境下不会坏,包括电压保护,电流保护,短路保护等等,第二阶段是做双闭环,第三阶段是做FOC。老实说,刚听说要做BLDC的时候,我连BLDC是啥都不知道,当时以为这只是个驱动器吧,后面才知道我错了,大错特错。现在已经1...

龙猫的博客 1万+

[DDR5] 模式寄存器 Mode Register MRR/MRW

模式寄存器用于定义各种操作模式。在初始化过程中,可以通过重新执行MRS命令来更改模式寄存器的内容。

串起点滴 1637

在 SAP S/4HANA Cloud Public Edition 中掌控 ABAP 生命周期管理:One-Off、Multi-Off 与 Scalable Delivery 的落地方法论

本文系统梳理了SAP S/4HANA Cloud Public Edition中ABAP扩展开发的三种生命周期管理模式:One-Off适用于企业内部扩展,通过Import Collection在三系统间流转;Multi-Off面向少量客户交付,基于gCTS和Git实现不连接系统间的传输;Scalable Delivery则将扩展产品化为add-on,支持规模化分发。文章结合RAP、OData等实际开发场景,对比分析了各模式的特点与适用边界,为国内团队提供了符合Public Cloud要求的开发与交付实践建议

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1495

【电机控制】FOC无刷电机控制(FOC算法篇)-带电流环

【电机控制】SimpleFOC-无刷电机控制(硬件篇)【电机控制】SimpleFOC-无刷电机控制(软件篇)【电机控制】SimpleFOC-无刷电机控制(SimpleFOC_studio上位机篇)【电机控制】FOC无刷电机控制(FOC算法篇)B站视频展示:【电机控制】SimpleFOC无刷电机速度环位置环提示:以下是本篇文章正文内容,下面案例可供参考本文仅仅简单介绍了FOC无刷电机控制(FOC算法篇)方面,评论区欢迎讨论。

qq_42681425的博客 1万+

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

SimpleFOC STM32教程09|基于STM32F103+HAL库,ADC采样相电流

GenericCurrentSense(这个不清楚,暂时不管)InlineCurrentSense(采样电阻在上桥臂与下桥臂之间)LowsideCurrentSense(采样电阻在下桥臂下方且与GND连接。多数大功率且高电压的FOC驱动板使用这个方案如上图所示,选择InlineCurrentSense的原因是电路板的采样电路设计。RTT Viewer。

wallace89的博客 3738

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

SimpleFOC调参3-PID参数整定攻略

FOC作为直流无刷电机控制最常用的算法,得到广泛应用。simpleFOC,ODrive,VESC等。其中simpleFOC因其简单易用,支持多种硬件平台,很适合新手入门。我在用simpleFOC的过程中踩了不少坑,在此记录学习调试过程中的一些心得。硬件平台开始最好直接购买套件,熟悉后再自己搭配,我这里直接买的灯哥开源的套件电机2204驱动器L6234磁编码器AS5600电流检测INA240主控MCUESP32软件平台IDE工具PlatforIO,......

sinat_22081411的博客 1万+

一文理解电压电流双闭环控制及前馈解耦(入门)(详解)

电压电流双闭环控制作为一种耳熟能详的应用于电力电子、电机驱动和电源管理领域的高性能控制策略。其核心是通过内外环嵌套的闭环结构,实现对系统的快速动态响应和高精度稳态控制。

lmhcsdn666的博客 1万+

【电机控制】STM32F103CXT6无刷直流电机SimpleFOC控制学习板——带电流环

【电机控制】直流有刷电机、无刷电机汇总——持续更新【电机控制】STM32无刷电机FOC学习板(位置环速度环-不带电流环)使用工具:1.PCB设计: 立创EDA+嘉立创2.硬件设备:风枪、焊台、烙铁、焊锡丝、焊带、直流稳压电源3.硬件外设:stm32f103c8t6主控+直流无刷电机2804+驱动器DRV8313+上位机串口通信助手VOFA+编码器AS5600+INA240设计出来的总体是这样提示:以下是本篇文章正文内容,下面案例可供参考。

qq_42681425的博客 2216
上一篇: SimpleFOC之ESP32(三)—— 闭环控制
下一篇: SimpleFOC之ESP32(六)—— 双电机控制
loop222
博客等级 码龄8年 4091粉丝 61原创
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值