IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> SimpleFOC移植STM32(五)—— 电流采样及其变换 -> 正文阅读

[嵌入式]SimpleFOC移植STM32(五)—— 电流采样及其变换


?

一、原理说明

1.1、电流采样

1.1.1、为什么要采样电流

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

  • 1、不能保证i_d为零,i_q等于目标值,因此电机并不能工作在效率最高的状态,力矩控制也是不准确的。

  • 2、相电压施加在电感上产生相电流,电压和电流有相位差且并不恒定,低速运行时相位差对电机的影响不明显,但是当速度快了或者速度变化率高了以后,相位差的影响就会非常明显。

1.1.2、电流采样方式

??电流采样主要有三种方式:

  • 低侧电流采样
  • 高侧电流采样
  • 内置电流采样
    ?

1.1.2.1、低侧电流采样

在这里插入图片描述
??低侧电流检测可能是最常见的电流检测技术,主要是因为它既不需要高性能的PWM抑制运放(如内置),也不需要支持高压的运放(如高侧),采样电阻在低侧MOS和GND之间,确保了运放输入端的电压非常低。这种方法的缺点是,必须在下桥臂MOS打开时检测电流,PWM频率通常为20k~50khz,这意味着低侧MOS的开关频率为每秒20k~50k次,因此PWM设置与ADC采集之间的同步非常重要。
?

1.1.2.2、高侧电流采样

在这里插入图片描述
??高侧电流检测可能是最不常见的电流检测技术,因为它需要支持高压的运放,采样电阻在高侧MOS和直流电源电压之间,使放大器的输入端始终有高电压。 这种方法的另一个缺点和低侧电流采样一样,需要同步PWM和ADC。
?

1.1.2.3、内置电流采样

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

??这种方法非常适合Arduino,采样程序变得简单了,这应该是考虑到了MEGA328P微弱的性能以及跨平台时程序的适配。内置电流检测的缺点主要在于芯片,需要比常规放大器更好的PWM抑制功能的高精度双向运放,简单的说就是硬件成本高。

1.2、电流变换

本节增加电流环,主要增加了以下功能,

  • 1、AD转换获取电流值Ia和Ib,
  • 2、通过Clark变换得到Iα和Iβ ,
  • 3、获取电机角度,通过Park变换得到Id和Iq,
  • 4、Id、Iq不能突变,同时为减少干扰,做平滑滤波,
  • 5、Id、Iq与设定值比较,通过PID运算得到Vd 和Vq,

1.2.1、AD转换

??为了与官方代码保持一致,AD转换采用简单的单通道转换模式,主程序循环一次获取一次A/B相的电流。
在这里插入图片描述

1.2.2、clark变换

在这里插入图片描述

1.2.3、Park变换

在这里插入图片描述
??Park变换中的“θ”是电角度,由读出的编码器角度转变而来
在这里插入图片描述

1.2.4、LPF运算

  • dc_current模式只有 Iq 的LPF运算
  • foc_current模式有 Iq 和 Id 的LPF运算
    官方的LPF运算比较复杂,本人在移植过程中做了简化
    在这里插入图片描述

1.2.5、PID运算

  • dc_current模式只有q轴电流的PID运算
  • foc_current模式有q轴电流和d轴电流两个变量的PID运算
  • 电流环使用 P、I 两个参数。
    在这里插入图片描述
    ?

二、电流采样参数设置

2.1、SimpleFOC V2.0.3 的参数

在这里插入图片描述

  • 采样电阻0.01 Ω
  • 运放为INA240A2,放大倍数50
  • 背面需分别短接A0/A2至输出
  • C1_OUT=INA_VCC/2 + 0.01 * I * 50
    • 如果INA_VCC=3.3V,C1_OUT=1.65 + 0.01 * I * 50,电流范围(-3.3A,3.3A)
    • 如果INA_VCC=5.0V,C1_OUT=2.50 + 0.01 * I * 50,电流范围(-5A,5A)

2.2、PowerShield V0.2 的参数

在这里插入图片描述

  • 采样电阻0.001 Ω
  • 运放为INA240A2,放大倍数50
  • C1_OUT=1.65 + 0.001 * I * 50,电流范围(-33A,33A)

2.3、SimpleMotor 的参数

在这里插入图片描述

  • 采样电阻0.001 Ω
  • 运放为INA240A1,放大倍数20
  • C1_OUT=1.65 + 0.001 * I * 20,电流范围(-82.5A,82.5A)

2.4、电流实际波形

??下图为电机静止时A/B相运放输出端波形,VCC=3.3V,所以此时电压=1.65V,
在这里插入图片描述
??下图为电机转动时运放输出端波形
在这里插入图片描述
?

三、扭矩模式

??SimpleFOC中有三种扭矩模式:

  • Voltage mode - the simplest one
  • DC current mode - 1xPID controller + 1xLPF
  • FOC current mode - 2xPID controller + 2xLPF filters

3.2.1、电压模式(Voltage mode)

  • 电压模式是之前示例中一直使用的模式,
  • 因为不用采样电流,所以硬件简洁,程序简单,执行速度快,
  • 适合低速电机控制
    在这里插入图片描述

3.2.2、直流模式(DC current mode)

  • 检测电流大小,实现电流环控制
  • 只控制Iq,设置Vd=0,
  • 像控制直流电机一样控制无刷直流电机的电流
    在这里插入图片描述

3.2.3、FOC模式(FOC current mode)

  • 控制Iq和Id,使转子中的磁力与永磁场精确偏移90度,从而确保最大转矩,
  • 唯一真正的转矩控制方法,
  • 保证电机始终工作在高效状态
    在这里插入图片描述

3.2.4、三种模式对比

在这里插入图片描述
?

四、硬件介绍

4.1、原理图

在这里插入图片描述

4.2、SimpleMotor方案

4.2.1、准备清单

序号名称数量
1SimpleMotor1
2带编码器云台电机1
3USB转串口1
412V或24V电源1

在这里插入图片描述

带编码器云台电机可以是AS5600,也可以是TLE5012B。
24V电源去掉跳线帽

AS5600电机 购买链接:某宝购买
TLE5012B电机 购买链接:某宝购买
SimpleMotor 购买链接:某宝购买

4.2.2、接线

在这里插入图片描述

只展示M1的接线,M2的接线根据原理图自行连接。
?

4.3、STM32方案

4.3.1、准备清单

序号名称数量
1STM32核心板1
2SimpleFOCShield V2.0.31
3带编码器的云台电机1
4USB转串口1
55V电源1
612V电源1
7杜邦线若干

在这里插入图片描述
带编码器云台电机可以是AS5600,也可以是TLE5012B。
AS5600电机 购买链接:某宝购买
TLE5012B电机 购买链接:某宝购买
simpleFOCShield V2.0.3购买链接:某宝购买

4.3.2、接线

在这里插入图片描述
Shield V2.0.3的背面按照上图短接
在这里插入图片描述

对照 Shield V2.0.3 的原理图:

STM32核心板V2.0.3
PA05
PA19
PA26
PB98
PA3A0
PA4A2
3V33V3
GNDGND

如果是AS5600编码器,如下

STM32核心板AS5600电机
PB6SCL
PB7SDA
3V3VCC
GNDGND

如果是TLE5012B编码器,如下

STM32核心板TLE5012电机
PB15MOSI
PB14MISO
PB13SCK
PB8CSQ
GNDGND
3V3VCC

在这里插入图片描述
只展示M1的接线,M2的接线根据原理图自行连接。
?

五、程序演示

在这里插入图片描述
在这里插入图片描述
注意:
1、如果改变采样通道,ADC_Init_()函数中也要修改IO口,
2、voltage_limit最大只能设置为供电电压的 1/√3(12V限制为6.9,24V限制为13.8)。

?
在这里插入图片描述
注意:如果检测到的极对数与实际不符,停止继续操作,否则电机会堵转
?

5.1、力矩模式

5.2、速度模式

5.3、位置模式

?
(待续)
?
?
本文只讲了M1电机的操作,源码中包含M1和M2两个工程,M2的操作可比照M1,不再赘述!

本节源码下载:
链接:https://pan.baidu.com/****
提取码:****
?
欢迎加入simpleFOC技术交流群:923734429 (入群申请写:CSDN)
?
?
请继续阅读相关文章:
SimpleFOC移植STM32(一)—— 简介
SimpleFOC移植STM32(二)—— 开环控制
SimpleFOC移植STM32(三)—— 角度读取
SimpleFOC移植STM32(四)—— 闭环控制

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2021-09-30 12:05:27  更:2021-09-30 12:08:06 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 4:21:28-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码