王孙清,招 聪,郑恒持,张 炜,孔 昕,张 杰
(中国船舶科学研究中心,无锡 214082)
开关磁阻电动机(以下简称SRM)具有结构简单可靠、容错率高、起动转矩大、过载能力强、恒功率调速范围宽、四象限运行特性好、制造成本低等一系列优点,被认为是电气传动领域极具潜力的一种电机,成为国内外学者的研究热点。但由于其定子、转子的双凸极结构,相电感随转子位置变化,而且工作于深度磁饱和区,使得SRM成为一个多变量、强耦合、高度非线性的系统,因此很难精确控制其相电流。SRM性能很大程度上取决于对相电流的控制精度,国内外学者对SRM相电流控制策略开展了一系列研究。
文献[1]提出了一种限频率的电流控制方法,该方法一方面限制斩波的最高频率,另一方面能避免不必要的斩波带来的电压损失。该方法降低了电流波动和开关损耗,提高了SRM调速系统的动态性能。文献[2]构建了基于3层结构的径向基函数神经网络的SRM电感模型,并依据该模型提出一种自调节的电流控制方法。该方法可动态调节PWM的占空比,克服电感对电流的影响,减小了电流波动。文献[3]提出了一种基于电感傅里叶分解的SRM非线性模型,并基于该模型提出了一种新型电流滞环控制策略。文献[4]在电流控制器中加入一个反电动势反馈的前馈控制器,从而减小电机运行过程中的反电动势和非线性绕组电感的影响,改善了宽转速范围内绕组的电流跟踪波形。文献[5]采用无约束模型预测控制的电流控制器,该控制器结合卡尔曼滤波器状态估计量,最终达到低电流纹波的效果。文献[6]综合考虑SRM运行过程中非线性、反电动势和强耦合影响,提出一种数字PI电流控制策略。
目前,常用的电流控制策略存在电流跟踪不精确、复杂程度高、在线计算量大和开关频率要求高等问题,使得整个系统的调速性能受到一定程度影响。迭代学习控制(以下简称ILC)可以在被控系统模型未知的情况下,使得非线性的被控系统以较高精度跟踪预定轨迹,所以适合解决SRM没有精确数学模型,不易被准确预知和确定的问题。同时,SRM常用的光电式位置传感器只能检测到位置信号上升沿和下降沿两点,无法对这两点之间的其它点进行检测,因此本文设计了基于复杂可编程逻辑器件(以下简称CPLD)位置信号倍频的SRM相电流P型开闭环ILC策略。
根据电路基本定律,忽略磁路饱和影响与相间互感时,SRM每相绕组均满足如下平衡方程:
(1)
式中:U为加在绕组上的电压;R为绕组电阻;i为绕组相电流;Ψ为绕组磁链;L为绕组电感;e为由于转子位置改变导致磁链变化而感应的运动电动势。
(2)
本文所用实验电机的一个转子极距角为90°,电感随转子位置变化及采用传统电流斩波控制(以下简称CCC)的电流如图1所示。
图1 SRM电感及CCC电流示意图
从图1可以看出,θ=0位置处,相电感有最小值Lmin,相电流的变化速度最大;θ=45°位置处,相电感有最大值Lmax,相电流的变化速度最小。
CCC就是在给定电流限值iD上下分别设定电流上限值iH和电流下限值iL。iH和iL间的差值被称为CCC的“环宽”。因此CCC是一种允许误差存在的控制策略,也就无法达到实际电流以零误差跟踪给定电流的效果。电感在最小值或较小值的位置时,电流变化速度快,采用CCC策略的实际电流容易超过环宽,难以精确跟踪给定电流。
ILC适用于重复运动的对象,通过对以往控制经验和当前偏差反复迭代学习,寻求理想的控制量,从而实现对期望轨迹完全跟踪,即以零误差的高性能实现跟踪控制。而SRM运行时相电流有着周期性重复变化特点,采用ILC策略,可以在一个电流脉动周期内对不同位置点(尤其是电感处于最小值或较小值的位置),根据以往经验和当前误差反复迭代学习,得到理想控制量,有效抑制超调现象,较大程度提高电流跟踪能力。
ILC是智能控制的一个分支,采用“在重复中学习”的策略,具有存储历史信息和修正的机制。ILC的过程是一种模仿人类学习行为的过程,主要思想就是利用历史信息来设计新的控制信号;换言之,它能够通过学习以前的经验来提高控制性能。
ILC的基本原理结构如图2所示。
图2 ILC基本原理图
绝大多数的ILC可以用下面通用公式来描述:
u(t,k)=QILC[u(t,k-1)]+r(t,k)(3)
式中:QILC[u(t,k-1)]表示ILC的前馈部分;r(t,k)称为ILC的更新率。
更新率的结构是设计ILC的关键之一。
由于控制芯片处理数据的能力有限,而且电流积分项和微分项所引起的扰动基本可以忽略,所以本文在选用更新率时并没有考虑PI、PD或PID型ILC算法,而是选用了结构简单、易于实现的基于P型更新率的ILC算法。
若当前周期输入uk+1(t)是由前一周期的输入uk(t)和前一周期的输出误差ek(t)组合而成,那么该控制律是开环迭代控制律。采用P型开环ILC结构可表示:
uk+1(t)=uk(t)+Kpek(t)(4)
若当前周期输入uk+1(t)是由前一周期的输入uk(t)和当前周期的输出误差ek+1(t)组合而成,那么该控制律是闭环迭代控制律。采用P型闭环ILC结构可表示:
uk+1(t)=uk(t)+Kpek+1(t)(5)
从对控制过程采集的信息利用率来看,这两种控制方法都存在一些缺陷,因此本文采用P型开闭环电流ILC算法。同时,对于SRM来说,采用电流ILC策略具有采样实现和时滞的特征。具体来说就是电机实际运行时,采用该控制策略的控制器,其输出的PWM信号通过功率变换器转换为电机实际相电流输出时,由于电力电子器件的特性,这一过程会存在延时。因此,为了消除该延时所产生的误差,将上一次导通周期的电流误差改为t+1位置点的误差ek(t+1),那么P型开闭环电流ILC算法结构方程:
(6)
式中:k=0,1,2,…表示一相电流导通的周期数;t表示电机运行过程中对应的位置点;uk+1(t)表示迭代控制器在一相电流第k+1次导通周期时,转子位置t的输出控制量;uk(t)表示迭代控制器在一相电流第k次导通周期时,转子位置t的输出控制量。电机运行过程中uk(t)被存储器实时存储,为了节省控制器的存储空间,在下次导通周期过后该值被刷新;id表示在当前位置相电流的指定值;ik(t)表示在第k次迭代时,在位置t处相电流测量值;kp1和kp2为比例学习因子;α为常数,相当于当前输出误差ek+1(t)的加权系数。P型开闭环电流ILC结构图和位置点示意图分别如图3和图4所示。
图3 电流P型开闭环ILC结构图
图4 电流P型开闭环ILC位置点
相电流P型开闭环ILC策略具体过程如下:
(1) 根据给定电流与实际相电流求得电流偏差ek+1(t),同时将该偏差存入存储器,以供下一个导通周期使用;
(2) 将本周电流偏差ek+1(t)和上一周期电流偏差ek(t+1)利用乘法器作运算后得到ILC更新率的实际值;
(3) 将更新率的实际值与上一周期的控制输出量uk(t)相加,得到本周期的控制输出量uk+1(t),同时将该输出控制量存入存储器,以供下一个导通周期使用;
(4) 通过更新的控制输出量,调节该位置点的PWM控制器占空比;
(5) PWM控制器根据给定的占空比信号控制功率开关管的通断,完成对给定电流的跟踪。
上文所提出的是基于位置点的电流ILC策略,也就是在一相的导通周期内,利用ILC策略计算出各个位置点PWM控制器的占空比,在经过多个周期的迭代学习后,达到使实际电流在规定的区间内渐近或完全跟踪给定电流的效果。因此该控制方法依赖于高分辨率的位置信号。常用的光电式位置传感器所提供的低分辨率位置信号又无法满足该控制策略的要求,考虑到SRM的转速不是一个突变量,同时单片机的数据处理能力有限,因此本文采用在CPLD中估算出高分辨率的位置信号,再通过单片机产生中断的方式,对一相的导通角内各个点进行迭代控制。图5是位置信号倍频的示意框图。
图5 位置信号倍频示意框图
如图5所示,光电传感器检测到的位置信号经整形电路处理后,首先要在CPLD中经过脉冲边沿检测模块的识别,从而确定位置信号的上升沿和下降沿。脉冲边沿检测模块是用来检测信号跳变沿的电路,可分为上升沿检测电路、下降沿检测电路和双边沿检测电路三种。本文需要用到上升沿检测电路和下降沿检测电路,其原理图如图6所示。
(a) 上升沿检测电路
(b)下降沿检测电路
图6中,data表示整形电路连接到CPLD引脚上位置信号电平信号,clk是时钟触发信号,采用时钟信号下降沿触发的方式,rst是复位信号。
该边沿检测电路需要在程序中设定6个寄存器,形成6级寄存器,这6级寄存器相当于6个D触发器。在触发时钟下降沿到来时,首先把被测信号数据送入第一个寄存器中,然后在下一个触发时钟下降沿到来时,将第一个寄存器中的数据存入第二个寄存器,从时间上来看,第二个寄存器中的数据始终比第一个寄存器晚一个时钟周期,以此类推,一直到第6个数据。上升沿检测是对前3个寄存器的数据Q1,Q2,Q3“或非”操作,同时对后3个寄存器中的数据Q4,Q5,Q6“与”操作,这两个操作后分别得到的两个数据,再进行相“与”后赋值给变量rise,并维持一个周期。如果变量rise由0变为1,则说明此时是电机一相位置信号的上升沿。如果是下降沿检测,是对前3个寄存器的数据Q1,Q2,Q3“与”操作,同时对后3个寄存器中的数据Q4,Q5,Q6“或非”操作,这两个操作后分别得到的两个数据,再进行相“与”后赋值给变量fall,并维持一个周期。如果变量fall由1变为0则说明此时是电机一相位置信号的下降沿。采用6级寄存器的方式主要是为了尽量避免由于电机抖动或者其它干扰造成位置信号检测不准确对边沿检测所造成的影响。
边沿信号倍频模块执行具体过程如图7所示。
图7 边沿信号倍频模块执行流程图
由于程序中描述的是硬件,可以在同一时间有很多硬件电路一起并行动作,因此需要加入上升沿和下降沿标志位才能正确处理时序关系。T1,T2,T3是3个计数寄存器,其中T1是存放检测到上升沿和检测到下降沿之间的计数值,T3是存放的计数暂存值,T2按照如下公式算出:
(7)
本文所用实验电机一相的导通角是45°,因此式(7)中n取6,也就是将一相绕组的导通角均分为64等份,区分出64个不同的位置点,在一相绕组循环导通的过程中进行相应的算法控制。
边沿信号倍频模块采用时钟信号上升沿触发的方式,因此当时钟信号上升沿到来的时候会进行一次判断。当检测到上升沿或者T3与T2相等时,输出电平会取反操作,同时通过I/O端口直接通信的方式将输出电平的变化信息传递给单片机,进而单片机中的捕获模块产生中断,最终在中断服务子函数中完成ILC策略。
本文实验平台如图8所示,主要包括一台三相6/4结构SRM、一台三相异步电机、驱动电路、控制电路、直流稳压电源、功率变换电路、变频器、转矩仪等。
图8 实验平台
本文的电流P型开闭环ILC策略是在位置信号倍频的基础之上完成的,因此本文首先在不同转速段对位置信号倍频做了测试实验,测试结果如图9所示。
(a) 800 r/min
(b) 1 610 r/min
(c) 2 130 r/min
(d) 3 160 r/min
图9分别是在转速为800r/min、1610r/min、2 130 r/min和3 160 r/min下的测试波形。从图9中可以看出,位置信号经过CPLD倍频后,传送给单片机,单片机捕获模块产生中断,成功将一相的导通角均分为64等份,达到了位置信号倍频效果。
对上文介绍的电流ILC进行了实验测试,并与CCC进行了对比,实验结果如图10所示。
(a) ILC,f=5 kHz
(b) CCC,f=5 kHz
(c) CCC,f=10 kHz
(d) CCC,f=20 kHz
根据测试结果,可以列出以A相作为参考,不同控制策略下以相电流的超调量,如表1所示。
表1 不同控制策略下相电流超调量
根据图10和表1可以看出,在指定电流幅值为10 A,负载为0.6 N·m时,频率为5 kHz的ILC策略较好地跟踪了指定电流波形,相电流的超调量仅为8.0%;频率为5 kHz和10 kHz的CCC策略存在明显的误差,尤其是相电流刚上升到最大值时,此时处于电感最小区,斩波频率低,很容易出现电流超调的情况,相电流的超调量达到52.0%和28.0%;频率为20 kHz的CCC策略相电流的超调量为20.0%,相对较好地跟踪了给定电流,但跟踪效果不如ILC策略。
根据图11和表1可以看出,在指定电流幅值15 A,负载为1.8 N·m时,频率为5 kHz的ILC策略相电流的超调量为5.0%;频率为5 kHz、10 kHz和20 kHz的CCC策略下超调量达到33.3%、22.7%和17.3%。
(a) ILC,f=5 kHz
(b) CCC,f=5 kHz
(c) CCC,f=10 kHz
(d) CCC,f=20 kHz
根据图12和表1可以看出,在指定电流幅值为20 A,负载为2.7 N·m时,频率为5 kHz的ILC策略相电流的超调量为4.0%;频率为5 kHz、10 kHz和20 kHz的CCC策略超调量达到24.0%、16.0%和12.0%。频率为5 kHz的ILC策略和20 kHz的CCC策略在电感最小区都能较好地跟踪给定电流。当电流上升到电感上升区时,母线电压不足以使实际电流跟踪给定电流,因此这几种策略下的实际电流都有所下降。
(a) ILC,f=5 kHz
(b) CCC,f=5 kHz
(c) CCC,f=10 kHz
(d) CCC,f=20 kHz
根据实验结果和上文分析可以看出,CCC是一种允许误差存在的控制策略,实际电流无法精确跟踪给定电流。相电流P型开闭环ILC策略综合利用了前一周期和当前周期的电流偏差反复修正控制信号,不仅有效地抑制系统内部的不确定性和非线性,还能克服偶然因素引起的实时干扰,最终能够以固定且较低的开关频率达到相电流超调量小,系统相对稳定性高的效果。常用的IGBT应用频率为5~40 kHz,而且开关器件的开关损耗和频率成正相关,因此采用ILC策略可以有效地降低开关损耗,非常适用于主开关器件是IGBT的情况。
本文分析了SRM电流变化特点并指出CCC策略的弊端和ILC策略的优势;研究了基于P型开闭环ILC的SRM的相电流控制策略;利用CPLD实现了具有输入限定功能的边沿检测电路和位置信号倍频电路。在实验平台上验证了基于位置信号倍频的相电流P型开闭环ILC策略,成功将电机的位置信号倍频,并在通过每个位置点进行迭代学习,抑制系统内部的不确定性和非线性,提高电流控制精度,改善了控制性能,提高了系统的稳定性。