基于无迹卡尔曼滤波的无刷直流电动机无位置传感器控制
2022-07-11马相如杨泽斌
马相如,杨泽斌
(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高、低速运行情况下,均可以准确观测转速和转子位置,并且在转速、负载转矩发生突变时,仍然能够准确跟踪观测,具有较好的动、静态性能和观测精度。