无刷电机FOC控制(自己的理解,不一定正确,仅供参考)

无刷电机

在这里插入图片描述

概念辨析

无刷直流电机

无刷减速电机

直流无刷减速电机

1.减速:减速电机是指减速机和电机(马达)的集成体。这种集成体通常也可称为齿轮马达齿轮电机

2.无刷:无刷是直流电机的一个种类(直流电机分无刷和有刷)。常用的是有刷,无刷和有刷区别自行百度。

3.直流:电机在直流电下工作,与异步电机、同步电机在交流电下工作形成对比

4.电机:电机这个词本身指的是电动机、发动机和原动机等“动力设备”,不是单指电动机。生活中,我们所谓的电机绝大部分指的就是电动机。

5.马达:电机和马达是一个东西,马达是俗称

入门

​ 直接从应用开始,我们在某宝上买来的无刷电机,怎么用呢,从这里开始介绍,设计的原理会在后面介绍

​ 图源于某宝

在这里插入图片描述

​ 首先介绍五线控制方法

​ 红黑:用于供电,不必多说

​ 白色:CW/CCW是双脉冲工作方式,是用于电机驱动的;CW为正转脉冲信号,CCW为反转脉冲信号,通常都是差分方式输出,两信号相位差90度,根据相位超前或滞后来决定旋转方向,脉冲数决定电机转动角度。

​ 黄色:记录脉冲数,等会用于算电机的转动角度

​ 蓝色:脉宽调制也叫PWM;

大致有印象后,我们来介绍BLDC,BLDC可以被叫做无刷直流电机,方波和正弦波都是可以去驱动电机的,分别对应BLDC和PMSM(永磁同步电机)(控制PMSM电机就会用到把方波等效为带正弦波的操作)

接下来介绍如何征服这个电机,怎么让它让我们想要的方式旋转,就要引入控制算法,FOC

核心

当知道我们采用BLDC驱动电机后,介绍FOC算法,也可以叫磁场控制方法

FOC算法

这是一种驱动BLDC或PMSM电机的算法,能够精确控制电机,并且能够让电机在极低转速下保持力矩和稳定性

在这里插入图片描述

下面这个链接讲的很好

FOC算法入门详解 - 掘金 (juejin.cn)

FOC算法是基于位置传感器的测量去设定合适的电压

FOC控制中主要会用到三个PID环,电流环、速度环、位置环

电流反馈控制电流环(也可以叫力矩环),电流的大小与扭矩成正比 (电流可以直接控制力矩,如果用电压控制力矩,对于不同的电机,给相同的电压,产生的力矩不同)

扭矩控制电机的转速(速度环),用电流变换的频率来可换力的大小,从而控制电机的转速

电机转速控制电机位(可以叫角度环),控制速度的持续时间反应电机的位置

写代码进行的是对这三个环的控制

代码

理论结束了就是代码部分了

主要讲三个模块

​ 相电压计算算法(调制): setPhaseVoltage() 这里用的是SPWM(想办法用方波去模拟正弦波)控制

​ 电机和传感器校准: initFOC()

​ 实时执行: loopFOC() 应该尽可能地快地去执行 频率最好>1KHZ

准备工作

​ 1.准备好位置传感器、编码器、驱动器、电流检测(是驱动器的一个功能)

​ 2.开始配置无刷直流电机

无刷直流电机的配置

基础配置

​ 1.首先确定电机的极对数(极对数就是电动机的磁极数,NS为一组,那个组数)

​ 2.连接传感器、驱动器、电流传感器(这个到时候英飞凌方案应该会给你配置好,这些就有点像".h"里面的东西)

​ 3.FOC力矩的控制需要正弦电流,所以我们用SPWM控制

校准

​ 1.校准位置传感器、编码器、电机的相电阻(参考三相电的相)

选择力矩模式

​ 选择FOC模式(具体方式见上面那张图)

电机控制

参数设置

​ 1.三个环,力矩环、速度环、角度环(通常只需P控制),后面两个环有对应的PID参数

​ 其中后面两个环是传统的PID控制,第一个力矩环,因为涉及到电流的变化,所以用的是FOC算法

​ 其实后面两个环开环控制也可以

​ 那其实力矩环内也是有PID的,但我觉得FOC算法应该英飞凌方案会直接给你,里面的不用再写了,但其实也是可以去调的,主要是电流进行操作。

至此无刷电机的初始化结束


函数 loopFOC() 的行为直接取决于力矩控制模式。

如果是使用电压模式,它从传感器中获取当前的电机角度,转变为电角度并将q轴的Uq电压指令 motor.voltage_q 转换为适当的相位电压 ua, ubuc ,把它们输出到电机上。

而如果它用于DC或FOC current模式,它还会读取电流传感器并运行闭环电流控制。


原本我们可能对编码器设置的是目标转速,而现在我们对于无刷电机设置的是目标电压,这个电压会反应电机转速


更新于2021年12月6日
1.无感无刷电机中的无感,这个“感”指霍尔元件(霍尔传感器),使用霍尔元件的目的是去获取位置(角度)信息,如果能有其他的方式,就可以不用霍尔元件。其他的方式例如:编码器、磁力传感器。
无感还可以指不需要编码器等额外的传感器
2.这篇文章很赞
稚晖君对FOC的文章

版权声明:本文为CSDN博主「贪玩的yl」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/m0_49453728/article/details/121636705

生成海报
点赞 0

贪玩的yl

我还没有学会写个人说明!

暂无评论

发表评论

相关推荐

智能车竞赛-英飞凌TC264核心板-开源

英飞凌TC264核心板分析 全国大学生智能汽车竞赛转眼间已进行到第十七届,在参加此次比赛的组别也在积极准备,都在为7月份的车赛取得优异成绩而努力奋斗着。前一段时间,组委会也将部分组别比赛规则公示。作为

RT-Thread Studio移植LAN8720A驱动

RTT网络协议栈驱动移植(霸天虎) 1、新建工程 ​ 工程路径不含中文路径名,工程名用纯英文不含任何符号。 2、用CubeMx配置板子外设 2.1、配置时钟 ​ 按照自己板子配置相应时钟。

【STM32Cube笔记】12-配置外部中断

【STM32Cube笔记】系列文章目录 1-基于STM32的VSCode入门级教程前言 2-STM32Cube安装教程 3-STM32CubeIDE汉化 4-STM32Cube配置时钟设置 5-跑马灯引脚配置 6-Cortex-M7内核基本配