基于无迹卡尔曼滤波的无刷直流电动机无位置传感器控制

2022-07-11 13:34马相如杨泽斌
微特电机 2022年6期
关键词:卡尔曼滤波观测精度

马相如,杨泽斌

(1.国网涟水县供电公司,淮安 223400;2. 江苏大学 电气信息工程学院,镇江 212013)

0 引 言

无刷直流电动机(以下简称BLDCM)的传统位置传感器控制方法,增加了硬件成本和体积,且位置传感器易受电磁信号、粉尘等干扰,使得控制性能下降。目前BLDCM常用的无位置传感器控制方法包括反电动势法、磁链观测法、续流二极管导通检测法、扩展卡尔曼滤波法等,其中扩展卡尔曼滤波法是卡尔曼滤波在非线性系统中的扩展,其利用较容易获得的电压、电流信号,结合BLDCM状态方程,实现对转子位置和转速信号的观测,具有鲁棒性好、调速范围宽等优点,是目前BLDCM无位置传感器控制研究的热点。但是这种方法是通过泰勒展开式逼近非线性函数,由于仅保留到一阶精度,观测到的转速和转子位置信号误差较大[1-2]。

为了提高扩展卡尔曼滤波器观测的精度,本文提出了一种改进的无迹卡尔曼滤波(以下简称UKF)算法,相较于扩展卡尔曼滤波算法,可有效提升估算精度。UKF没有忽略高阶项,最低可达到非线性函数的二阶精度,因此具有更高的估算精度。本文将其应用于BLDCM转速和转子位置观测中,实现了BLDCM无传感器控制[3-4],仿真和实验结果证实了理论分析的正确性。

1 BLDCM数学模型

本文的BLDCM为三相星形连接,采用全桥逆变器驱动、两两导通方式,其连接示意图如图1所示。

图1 BLDCM连接示意图

理想情况下,BLDCM电压方程如下:

(1)

式中:ua、ub、uc,ia、ib、ic,ea、eb、ec分别为定子绕组相电压,相电流,反电动势;R、L、M分别为每相绕组电阻、自感和相间互感。

BLDCM电磁转矩方程如下:

(2)

式中:ω是角速度。

BLDCM运动方程如下:

(3)

式中:J、Bv、Tl分别为转动惯量、摩擦系数和负载转矩。

2 UKF算法原理

2.1 卡尔曼滤波算法分析

卡尔曼滤波器结构如图2所示,其采用递归方法在考虑外部干扰的情况下仍然能够获得最优估测值,并且便于数字化实现,在导航制导、信号处理等领域应用广泛。

图2 卡尔曼滤波器系统结构图

卡尔曼滤波器工作原理如下:控制系统的状态变量同时输入至系统模型和卡尔曼滤波器模型,系统模型估测值与卡尔曼滤波器模型估测值作差后,由卡尔曼滤波器模型估测出最优值,再将其反馈至卡尔曼滤波器模型,通过不断递推与迭代,最终估计值收敛于接近真实值的范围。

系统的状态方程和量测方程如下:

(4)

式中:x(k)为系统状态向量;Φ(k+1,k)为转移矩阵;H(k)为测量矩阵;w(k)和v(k)分别为系统本身和测量过程中的干扰信号。

w(k)和v(k)的统计特性如下:

(5)

系统初值的统计特性如下:

(6)

(7)

根据上面的结果求出卡尔曼滤波增益Kk:

(8)

(9)

最后计算迭代过程所用最优估测方差矩阵Pk:

Pk=Pk/k-1-KkHkPk/k-1

以上的卡尔曼滤波算法分析是基于线性模型,而实际系统多为非线性模型,为了弥补卡尔曼滤波算法不适应非线性系统的缺陷,提出扩展卡尔曼滤波算法(以下简称EKF),先对非线性系统线性化变换,再作离散化处理。然而,传统EKF方法在对非线性系统方程进行线性化处理时,只具有泰勒级数的一阶精度,导致误差较大。在实际应用中,需要对EKF方法进一步优化。以确定性采样为思路,Julier等学者进一步将无迹变换与EKF算法相结合,提出了UKF算法,它具有更高的估测精度。

2.2 无迹变换

对于任意非线性系统,其非线性函数可用下式表示:

y=f(x)

(10)

无迹变换[5-6]过程如下:

首先,选取合适的Sigma点χi,实际选择过程中可参考下式:

(11)

其次,对2n+1个Sigma点作非线性传播,如下:

yi=f(χi) (i=0,…,2n)

(12)

计算可得:

(13)

2.3 UKF算法原理

UKF算法主要利用比例无迹变换替换EKF算法中的雅克比矩阵,从而实现非线性系统的线性化变换,其递推过程主要包括4个步骤[7-8]。假设存在某非线性系统,离散化表示如下式:

(14)

式中:xk代表系统状态向量;uk代表输入向量;σk、μk代表相互独立的高斯白噪声,且满足下式关系:

(15)

第一步初始化。计算初始状态统计特性如下式:

(16)

(17)

第二步采样。根据Sigma点的选取规则,取2n+1个Sigma点,并计算其权值:

(18)

第三步时间更新。利用非线性状态函数f(·)对采样中所得Sigma点作非线性传播,如下:

(19)

进而可得:

(20)

(21)

(22)

式中:α值通常在0.000 1~1内,β值通常等于2。

(23)

(24)

(25)

(26)

进一步可得:

(27)

式中:Kk代表滤波增益矩阵。

根据新的测量yk即可进行量测更新:

(28)

(29)

3 UKF在BLDCM中的应用

BLDCM非线性数学模型如下:

(30)

式中:x(t)代表状态变量;u(t)、y(t)分别代表输入、输出变量;δ(t)代表系统扰动、转速波动、参数误差等所有系统噪声;μ(t)代表测量噪声。

各变量方程如下:

为了将本文研究的UKF算法运用到BLDCM控制中,需进一步对BLDCM系统方程作离散化处理,结果如下:

(31)

根据上式,结合前文分析的UKF原理,可得基于UKF算法的BLDCM无传感器算法实现流程,如图3所示[9-10]。

图3 UKF算法实现流程图

进一步可得BLDCM基于UKF算法的无位置传感器、双闭环控制结构框图[11-12],如图4所示。

图4 BLDCM基于UKF算法的双闭环控制

控制系统采用无迹卡尔曼滤波器观测得出转速和转子位置信号,并将其应用于BLDCM转速、电流双闭环控制中。

4 仿真分析

利用MATLAB软件自带的S函数功能模块编写UKF算法,并嵌入到模型中,搭建MATLAB仿真模型,BLDCM仿真参数如表1所示。

表1 仿真参数

针对不同转速、转速发生突变、负载发生扰动三种情况进行仿真。

4.1 不同转速下仿真分析

当BLDCM给定转速分别为2 000 r/min和200 r/min时,UKF观测与实际测量的转速和转子位置分别如图5、图6所示。需要说明的是UKF算法得到的转子位置信号是连续的角度,在BLDCM驱动控制中还需要对其进行转换,转换原理如图7所示。

图5 给定转速为2 000 r/min时仿真结果

图6 给定转速为200 r/min时仿真结果

图7 UKF算法获取转子位置转换原理

由图5、图6可见,高、低速情况下UKF观测与实际测量的转速和转子位置之间误差较小,且高速时的观测精度优于低速情况。

4.2 转速发生突变时仿真分析

初始状态下BLDCM给定转速为1 500 r/min,0.1 s时转速突增至2 000 r/min,UKF观测与实际测量的转速和转子位置如图8所示。

图8 转速发生突变时的仿真结果

由图8可见,转速发生突变时UKF观测器仍能够准确观测转速和转子位置,观测精度较高,与实际测量值之间误差较小,动态观测效果良好。

4.3 负载发生扰动时的仿真分析

初始状态下负载转矩为0.66 N·m,0.1 s时负载转矩开始增大,0.15 s时达到最大值0.96 N·m,之后逐渐恢复至0.66 N·m,UKF观测与实际测量的转速和转子位置如图9所示。

图9 负载发生扰动时的仿真结果

由图9可见,当负载转矩发生扰动时,UKF算法仍然能够准确观测转速和转子位置,具有较好的抗负载扰动能力。可见,UKF算法可以实现BLDCM高、低速无位置传感器控制,且在转速发生突变、负载发生扰动等情况下,仍然能够准确观测转速和转子位置,具有较好的动、静态性能及观测精度。

5 实验研究

为进一步验证理论分析的正确性,基于DSP28335+FPGA的控制器结构进行实验验证,实验现场接线如图10所示。

图10 实验接线图

实验主程序、定时器中断子程序及捕获单元中断子程序流程图如图11所示。

实验所用BLDCM参数与仿真参数一致,BLDCM空载起动过程中电压、电流波形如图12所示。

由图12可见,由于电机电感、换相及小功率BLDCM齿槽效应等原因,空载状态下电流波形并不是理想的方波。

图11 程序流程图

图12 BLDCM电压、电流波形

为了比较UKF估测的转子位置与实际转子位置间差异,本文同时采用霍尔传感器进行实测。然而霍尔传感器输出信号并不是连续的角度,而UKF输出信号是连续的角度,难以直接对比。因此,本文按照图7的霍尔传感器输出脉冲信号与转子位置之间关系对UKF输出结果进行转换。

当BLDCM转速分别为200 r/min、2 000 r/min时,霍尔传感器实测转子位置信号与UKF观测转子位置信号转换后波形如图13所示。

图13 转子位置测量结果

由图13可见,无论BLDCM工作在高速或者低速状态,UKF算法观测的转子位置与霍尔位置传感器测量结果基本一致,二者之间误差较小,可见UKF算法具有较高的转子位置观测精度。

在DSP28335中UKF观测的转速信号和实际转速信号均为数字量,若采用示波器显示,则需要将其转化成模拟信号,而在数模转换过程中会受到噪声干扰等产生误差,影响判断结果。为了避免此问题,本文将UKF观测的转速和实际转速分别存放在两个变量中,再通过MATLAB绘制出来进行分析。

当BLDCM给定转速分别为2 000 r/min、200 r/min时,UKF观测转速与实际转速如图14所示,由于转速是根据CCS中数组变量绘制而来,图中横坐标是数组变量的下标值。

图14 实际转速与UFK观测转速

由图14可见,在高、低速情况下BLDCM起动初期UKF算法观测转速与实际转速之间存在一定误差,经过短暂收敛后,转速趋于稳定,UKF算法观测转速与实测转速基本一致,误差较小。

当给定转速由1 000 r/min增至2 000 r/min时,UKF观测转速与实际转速如图15所示。

图15 转速突变时实际转速与测量转速

由图15可见,当给定转速参考值发生突变时,UKF算法仍可以准确跟踪并观测转速,且与实际测量值之间误差较小。

由以上实验结果可见,基于UKF算法的BLDCM无位置传感器控制方法具有良好的动、静态性能,能够有效提高BLDCM转速、转子位置的观测精度,具有一定的推广应用价值。

6 结 语

针对扩展卡尔曼滤波器算法观测精度不够高的问题,本文提出了一种改进的UKF算法。相较于EKF算法,UKF算法可有效提升估算精度,将其应用于BLDCM无位置传感器控制中,理论证明UKF算法至少可以达到非线性函数的二阶精度。仿真和实验结果表明,UKF算法在BLDCM高、低速运行情况下,均可以准确观测转速和转子位置,并且在转速、负载转矩发生突变时,仍然能够准确跟踪观测,具有较好的动、静态性能和观测精度。

猜你喜欢
卡尔曼滤波观测精度
基于不同快速星历的GAMIT解算精度分析
基于深度强化学习与扩展卡尔曼滤波相结合的交通信号灯配时方法
热连轧机组粗轧机精度控制
脉冲星方位误差估计的两步卡尔曼滤波算法
卡尔曼滤波在信号跟踪系统伺服控制中的应用设计
天文动手做——观测活动(21) 软件模拟观测星空
基于递推更新卡尔曼滤波的磁偶极子目标跟踪
2018年18个值得观测的营销趋势
可观测宇宙
以工匠精神凸显“中国精度”