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

目录

  • 说明
  • 一、原理说明
    • 1.1、为什么要采样电流
    • 1.2、电流检测方式 InlineCurrent
  • 二、硬件介绍
    • 2.1、原理图
    • 2.2、ESP32drive-D方案
      • 2.2.1、准备清单
      • 2.2.2、硬件连接
    • 2.3、SimpleFOCShield方案
      • 2.3.1、SimpleFOCShield原理图及跳线
      • 2.3.2、硬件清单
      • 2.3.3、硬件连接
  • 三、程序演示
    • 3.1、打开示例
    • 3.2、修改代码
    • 3.3、验证上传
    • 3.4、串口发送指令
    • 3.5、观察电机运行
  • 写后感


SimpleFOC教程目录:请点击

说明

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

一、原理说明

1.1、为什么要采样电流

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

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

1.2、电流检测方式 InlineCurrent

SimpleFOC之ESP32(四)—— 电流闭环控制Inline_第1张图片
内置电流检测(InlineCurrentSense)是使用起来最简单但是最精准的技术。 采样电阻串联在电机相线上,检测的电流始终都是电机相电流,因为电感中的电流不会突变,所以无论PWM占空比的状态如何,采样到的电流都是连续稳定的。

二、硬件介绍

2.1、原理图

SimpleFOC之ESP32(四)—— 电流闭环控制Inline_第2张图片

2.2、ESP32drive-D方案

2.2.1、准备清单

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


电机 购买链接:某宝购买
ESP32drive 购买链接:某宝购买

2.2.2、硬件连接


2.3、SimpleFOCShield方案

2.3.1、SimpleFOCShield原理图及跳线

电流采样需要PWM输出与采样输入引脚对应,所以必须了解SimpleFOCShield的原理图,
SimpleFOC之ESP32(四)—— 电流闭环控制Inline_第3张图片

SimpleFOC之ESP32(四)—— 电流闭环控制Inline_第4张图片
SimpleFOC之ESP32(四)—— 电流闭环控制Inline_第5张图片

2.3.2、硬件清单

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


SimpleFOCShield 购买链接:某宝购买
电机 购买链接:某宝购买

2.3.3、硬件连接

ESP32-DevKitC SimpleFOCShield
16 5
17 9
5 6
4 8
36 / VP A2
39 / VN A0
3V3 3V3
GND GND

如果是AS5600编码器,如下

ESP32-DevKitC AS5600电机
22 SCL
21 SDA
3V3 VCC
GND GND

SimpleFOC之ESP32(四)—— 电流闭环控制Inline_第6张图片
如果是AS5047P编码器,如下

ESP32-DevKitC AS5047P电机
23 MOSI
19 MISO
18 SCLK
13 SS
GND GND
3V3 VCC

三、程序演示

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

本节代码在SimpleFOCShield上验证,

3.1、打开示例

SimpleFOC之ESP32(四)—— 电流闭环控制Inline_第7张图片

3.2、修改代码

SimpleFOC之ESP32(四)—— 电流闭环控制Inline_第8张图片

SimpleFOC之ESP32(四)—— 电流闭环控制Inline_第9张图片

3.3、验证上传

SimpleFOC之ESP32(四)—— 电流闭环控制Inline_第10张图片

3.4、串口发送指令

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

3.5、观察电机运行


写后感

  本节修改后的代码实际是综合了几个代码后拼接而成的,电流闭环控制是电机控制中最有难度最具挑战性的部分,之前的代码可以根据教程或示例稍微修改即可,而电流闭环的加入需要充分了解电机才能很好的控制。

(完)


欢迎加入simpleFOC技术交流群:923734429 群已满根据提示添加新群 (入群申请写:CSDN)


请继续阅读相关文章:
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和力矩反馈

你可能感兴趣的:(simpleFOC,SimpleFOC,ESP32,电机驱动)