赞
踩
前段时间做了一个永磁同步电机无感控制的项目,想总结一下,做个比较基础易懂的文章方便大家入门,主要介绍以下几个方面:
1.FOC控制算法、坐标变换
2.PID控制器
3.SVPWM
4.过调制
5.相电流检测及重构(单电阻、双电阻及三电阻采样)
6.转子位置及速度提取(滑膜观测器、低通滤波器、锁相环)
7.PMSM无感控制的启动
计划写完上述内容后再开始写一些别的控制算法(MTPA、弱磁控制、电流前馈补偿、高频注入等)
FOC 是一种电机控制技术,全称为 Field Oriented Control(磁场定向控制),也称作矢量控制。该技术可以提高电机的效率、控制稳定性和精度,广泛应用于电机驱动系统中,是目前无刷直流电机(BLDC)、永磁同步电机(PMSM)、感应电机的高效控制的最优方法之一。
控过无刷直流电机BLDC的小伙伴应该都知道有六步换相控制,FOC控制和六步换相控制都是用来控制电机的方法,但它们的原理和控制方式略有不同。
六步换相控制是一种较为简单的电机控制方法,它将电机的六个电极分为三个相,每个相对应两个电极,然后通过依次通电、断电,来实现电机的转动。这种控制方式对电机的控制比较粗略,不能实现对电机转速和转矩的精确控制。
FOC控制则是一种更为精确、先进的控制方式。它将电机的空间磁场分解成水平和垂直两个分量,然后对这两个磁场分量分别进行控制。通过调节两个磁场分量的大小和相位差,就可以实现对电机的精确控制,包括转速、转矩、效率等方面。相对于六步换相控制,FOC控制可以使电机效率更高,噪音更小,并且可以实现更佳的控制性能。缺点是FOC控制需要更高的计算能力和控制算法,因此复杂度比六步控制要高,对控制芯片会有更高的要求。
FOC有双环控制(电流环、速度环)、三环控制(电流环、速度环、位置环),内环为电流环,外环为速度环、位置环。
双环控制通过控制电流的大小可以实现电机转速的精确控制,整个双环控制的框图如下图所示:
图中foc的内环分为六个步骤(Step1、Step2、Step3、Step4、Step5、Step6),涉及三个坐标系(三相静止坐标系(A-B-C)、两相静止坐标系(α-β)、旋转坐标系(d-q))、三种坐标变换方法(Clark变换、Park变换、反Park变换)、一个控制算法(PID控制算法)、一个脉宽调制方法(SVPWM)、一个转子位置及角速度估算方法,大家先记住有这些东西,不理解没关系,我们先对着框图梳理一下FOC的整个流程,之后再给大家一一讲解。
FOC的整个过程是这样的:
1.采集三相电流IA、IB、IC;
2.将三相电流进行Clark变换得到两相静止坐标系下的电流Iα、Iβ;
3.再将Iα、Iβ进行Park变换得到旋转坐标系下的电流Id、Iq;
4.估算出转子的转速Speed_est以及角度θ;
5.计算转子的实际转速Speed_est与设定的目标转速Speed_ref的误差
6.将误差丢入PI控制器,执行器输出Iq_ref;(肯定会有人疑问为什么Id_ref=0,这个后面讲)
7.计算Id、Iq与设定值Id_ref、Iq_ref的误差;
8.将误差分别丢入PI控制器,执行器分别输出Ud、Uq;
9.Ud、Uq进行反Park变换得到Uα、Uβ;
10.最后Uα、Uβ经过SVPWM变成作用在三相上的电压UA、UB、UC;
看完这里肯定有人一头雾水,FOC控制它到底在控制什么???这些变换到底是在干么???为什么要变来变去???
大家先了解一下这个框图就行,看完后面的内容再回过头来看这个框图就会恍然大悟了。上面这些问题接下来我会一一讲解。
我们用手或者外部的其他机构匀速转动PMSM,用示波器观察它的三相电压,会看到如下的波形:
波形是三个两两相差120°的正弦电压波形,那么反过来我们在三相上输入三个相位相差120°的正弦电压,电机就会匀速转动起来。那我们输入的电压是正弦的那激励出来的电流是不是也是正弦,这样的话我们通过采集电流的波形,控制电流按照正弦波去变化,电机就能旋转起来了。(在这里先埋两个坑,后面讲SVPWM时再给填上,大家想一下SVPWM模块输出的端电压波形是不是正弦的???是不是只有正弦的端电压才能激励出正弦的相电流???)
综上所述FOC控制其实就是在控制三相电流按照正弦变化,同时控制三个变量按照幅值不变的正弦波一样变化是很困难的,控制器设计也很复杂,因此我们需要简化控制变量,这时候就轮到Clark和Park变换出场了。
现在大家知道FOC控制的变量什么了吧,就是在控三相电流,让三相电流按照正弦变化。
首先我们要定义一个三相静止坐标系,以电机A相的方向画出三相静止坐标系的A轴,逆时针相差120°画出B轴,同样这样画出C轴。这三个轴上的基向量是非正交的,我们是不是可以通过某种变换将三相静止坐标系里面的向量变换到两相静止坐标系?
通过Clark变换我们可以达到上述目的,变换后的坐标系命名为两相静止坐标系 α-β ,α轴的方向与电机A相的方向相同,β轴垂直于α轴,变换公式如下(乘以2/3是为了等幅值变换):
Iα = 2/3 * (Ia - cos(π/3)Ib - cos(π/3)Ic);
Iβ = 2/3 * (cos(π/6)Ib - cos(π/6)Ic);
把我们要控制的三相电流进行Clark变换,变换后的波形依旧是正弦波,不过我们要控制的变量少了一个。
变换前后的波形如下:
虽然说我们要控制的变量少了一个,但是被控量依旧是两个非线性的量,不适合用PID这类线性控制器,因此我们要想办法把它线性化,通过Park变换我们可以达成该目的。
接下来我们要建立一个新的坐标系两相旋转坐标系 d-q,它是随着电机的转子不停旋转的,我们以转子的磁场方向(转子N极方向)为d轴正方向,以垂直于转子磁场的方向为q轴方向,d轴可以称为直轴,q轴称为交轴,旋转坐标系 d-q与两相静止坐标系 α-β的夹角是θ。
我们可以把两相静止坐标系上的电流变换到旋转坐标系上,变换公式如下:
Id = Iαcosθ + Iβsinθ;
Iq = - Iαsinθ + Iβcosθ;
把α-β坐标系下的电流进行Park变换,变换后我们会发现,两相旋转坐标系下两个控制变量都被线性化了:
那么原来需要我们控制的三个按照正弦变化的量,就被我们简化成了两个线性的量,所以接下来我们就可以使用线性控制器PID了,用这两个值作为反馈控制的对象,通过反馈不断的调整Ud和Uq,从而使激励出来的电流Id、Iq达到我们想要的参考值Id_ref、Iq_ref。
第2章开头我们讲了FOC的内环(电流环)控制框图,我们可以看到Step#3的PI控制器的输出是Ud和Uq,但是Ud和Uq是不能直接作用在电机的三相上面的,所以我们得再将dq轴的电压向量再反变换回去,得到能作用在电机三相上的相电压Ua、Ub、Uc。这时有人会问了,那反变换回去不是首先反Park变换再反Clark变换就行了,为什么最后一步是SVPWM而不是反Clark变换???
这个我们后面讲SVPWM时再讲为什么不是反Clark,我们先看一下反Park变换。反Park变换顾名思义是将Park变换后得到的dq轴上的向量给变换回去得到αβ轴上的向量。
其变换公式如下:
Uα = Udcosθ - Uqsinθ;
Uβ = Udsinθ + Uqcosθ;
变换前后的波形如下图所示:
ok到这里foc的大致流程就过了一遍,下一篇文章我会详细讲解PID控制器的作用原理,在之后就来填上SVPWM埋下的坑。
前面我们将了FOC其实就是在控制电机的电流大小来使得电机转动的,由于控制三相电流比较麻烦,所以我们用了Clark和Park变换,使得控制的电流线性化了,得到了Id和Iq。
那么Id和Iq是如何影响电机转动的呢?如果想让电机加速或者减速我们应该怎么控制Id和Iq的大小呢?
首先我们知道电机转动,是因为受到了力的作用,这个力是由磁场产生的,我们叫它电磁转矩,记作Te,Te的公式如下:
式中P为极对数,Ψf为永磁体磁链,Ld、Lq分别为d、q轴的电感,id、iq分为别为d、q轴电流。
对于表贴式的电机Ld和Lq是相等的,内嵌式的电机Ld一般小于Lq;
如果我们控制的是表贴式的电机大括号里的第二项就消掉了,电磁转矩Te的大小只与Iq相关,增大Iq,Te随之增大,电机的角加速度随之变大;
如果我们控制的是内嵌式的电机,电磁转矩Te的大小与Id、Iq相关,增大Iq,Te随之增大,电机的角加速度随之变大,并且若Id为负值时,可以产生正向的电磁转矩,负地越大,Te越大,电机的角加速度越大。
本系列文章都是针对表贴式电机来讲解地,因此Ld与Lq相等,只需要把Id电流控制到0就可以了,这也就是为什么前面FOC框图里面地Id_ref = 0的原因。
本节主要讲了FOC的大致流程,带大家先了解FOC到底是个什么东西在做什么,各个模块具体的原理会放到后面的章节详细讲解。
FOC其实就是通过控制,相电流按照正弦变化,从而产生出旋转的磁场,控制电机转子转动。具体流程包括以下几个步骤:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。