目录
SimpleFOC教程目录:请点击
说明
- 本文教程只适配ESP32drive,注意区分电流采样模式。
一、原理说明
1.1、为什么要采样电流
FOC(Field-Oriented Control),即磁场定向控制,磁场大小与绕组中的电流成正比,所以对磁场的控制在程序上就是对电流的控制。前几节的程序并没有使用电流环,而是直接使用电压值,确实可以达到还行的效果。但是这样做有两个问题:
- 1、不能保证i_d为零,i_q等于目标值,因此电机并不能工作在效率最高的状态,力矩控制也是不准确的。
- 2、相电压施加在电感上产生相电流,电压和电流有相位差且并不恒定,低速运行时相位差对电机的影响不明显,但是当速度快了或者速度变化率高了以后,相位差的影响就会非常明显。
1.2、电流检测方式 LowsideCurrent
低侧电流检测可能是最常见的电流检测技术,主要是因为它既不需要高性能的PWM抑制运放(如内置),也不需要支持高压的运放(如高侧),采样电阻在低侧MOS和GND之间,确保了运放输入端的电压非常低。这种方法的缺点是,必须在下桥臂MOS打开时检测电流,PWM频率通常为20k~50khz,这意味着低侧MOS的开关频率为每秒20k~50k次,因此PWM设置与ADC采集之间的同步非常重要。所谓同步就是刚好在PWM打开MOS管的时候AD采样,一般通过设置单片机的定时器触发AD转换实现。
1.3、运放电路设计
- 采样电阻的功率P=I^2*R;电阻的功率有限,如果R太大,电流稍微大点,功率就超标了,为了降低功率必须使用小阻值电阻;
- 但是电阻太小,采集到的电压信号会非常微弱,不利于AD转换,所以需要对信号放大;
- 运算放大器的放大倍数可以通过电阻搭配调节,非常灵活。
- 放大倍数的计算要先了解运放的“虚短虚断”原则,虚短就是运放的两个输入端电压要保持一致,可以认为就像短路了一样;虚断就是运放的输入阻抗非常大,可以认为不会有电流流入输入端,对输入信号来说近似断路;
- 如下图,
Vp =(1.65-Vi)X(R1/(R1+R2))+ Vi
Vn = Vo X (R3/(R3+R4) )
Vp = Vn
带入下图中的电阻值,推导得到Vo=1.65+10 X Vi。
二、硬件介绍
2.1、原理图
2.2、准备清单
序号 | 名称 | 数量 |
---|---|---|
1 | USB转串口 | 1 |
2 | ESP32drive | 1 |
3 | 带编码器电机 | 1 |
4 | 12V电源 | 1 |
5 | 杜邦线 | 若干 |
ESP32drive 购买链接:https://item.taobao.com/item.htm?ft=t&id=662591519566,图锐科技
电机 购买链接:https://item.taobao.com/item.htm?ft=t&id=643573104607,图锐科技
2.3、硬件连接
三、程序演示
本节代码在ESP32drive上验证,
3.1、打开示例
3.2、修改代码
- 对比可以看出,修改后的代码变化非常大,
- 其实这个代码能参考的,只有配置电流采样部分,
simpleFOC库v2.2.2版本电流采样配置有改动,以官方示例为准。20220520
- 因为是针对ESP32drive的专用代码,所以不再展示完整代码;
- 代码支持与上位机simpleFOCStudio交互。
3.3、验证上传
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和力矩反馈