张天宏,殷彬彬,2,张 鑫
(1.南京航空航天大学 江苏省航空动力系统重点实验室,南京210016;2.中航工业航空动力控制系统研究所,江苏无锡214063)
随着航空发动机控制技术的发展,主动控制逐渐成为减小裕度、提高性能的重要控制技术之一[1]。实现主动控制的必要条件是采用高频响的电动执行机构。这些执行机构的频响(带宽约数十Hz)比传统的燃油或进口导流叶片(IGV)执行机构的要高1个数量级(带宽约数百Hz),比如1种用于主动稳定控制的执行机构带宽高达500Hz[2-3]。基于高频响执行机构的主动控制要求控制器具有快速处理能力,迫切需要开发1种超高速控制器[4]。
基于处理器的传统控制系统在程序控制下依次进行信号采集、算法计算、逻辑处理和控制输出,该程序控制的串行操作过程必然会限制控制循环速率的提高。通常,基于处理器的控制系统循环速率抖动可达100μs,很难满足主动控制中对高频响执行机构的超高速控制需求。而FPGA是实现超高速控制的理想平台,受益于FPGA的并行工作机制,算法计算和逻辑处理可以直接由硬件并行实现,避免了程序控制的顺序操作过程。FPGA有着并行、高效、稳定可靠等优势,擅长处理超高速逻辑运算和精确计时控制任务[5-6]。但是,传统的FPGA开发需要采用专门的硬件编程语言(HDL),开发周期长且难度较大。
快速控制原型(RapidControlPrototype,RCP)是在1种先进的开发平台下,快速构建控制器的硬件,并开发控制代码,实现对控制算法的测试。在设计初期发现潜在错误,逐步完成原型到目标产品控制器的转换,从而提高控制系统的开发效率、降低研究成本[7-8]。
本文基于RCP思想提出了1种基于Compact RIO/FPGA的超高速控制器快速原型设计方法,并开展了针对高频响控制对象的硬件在环仿真试验,验证了超高速控制器快速原型的有效性。
利用NICompactRIO9074实时控制器机箱,构建了超高速快速原型控制器硬件平台,如图1所示。
图1 超高速快速原型控制器硬件平台
该平台主要由实时控制器、可重配置的FPGA以及工业级I/O模块组成。NI9074将实时处理器和FPGA集成于同一机箱,即在同一底板上集成了400 MHz的PowerPC处理器MPC5200B和200万门电路的XILINXSpartan-3FPGA芯片。PowerPC处理器与FPGA之间通过PCI总线进行实时数据交换。实时控制器的软件基于VxWorks实时操作系统,用于和上位机的实时通信、CompactRIO的组件管理以及复杂逻辑和浮点算法处理。FPGA则实现并行控制算法执行和I/O接口信号控制。
NI9074提供了丰富的FPGA硬件资源,在40 MHz的时钟源下可以实现最快达到25ns的控制循环速率,时钟抖动仅为250ps。FPGA本质上是并行工作机制,各功能模块以并行的方式执行,即不同的功能模块不会竞争相同的资源。当增加额外的处理功能时,不会影响原有功能的运行速度,把影响并行执行和硬件可靠性的因素降到了最低,带来高确定性和可靠性[9-10]。因此,通过CompactRIO/FPGA可以实现高的速率、精度和可靠的控制任务。
在I/O模块配置方面,采用cRIO9205AI和cRIO9263AO模块,分别用于电压信号采集和输出。NI9205具有32路单端或16路差分模拟输入,16位分辨率和250kS/s的最高采样率,每条通道具有±200mV、±1V、±5V和±10V的可编程输入范围。NI9263具有16路16位分辨率的模拟输出,电压量程为±10V。
基于CompactRIO的快速原型控制器软件开发需要借助于LabVIEW 开发环境以及相应的LabVIEW Real-Time(RT)和FPGA模块。LabVIEW软件提供图形化编程环境,实现快速原型控制器的程序设计、编写与部署。RT和FPGA模块分别用于开发VxWorks实时操作系统下的实时程序和FPGA的硬件码流。
LabVIEW一般用于开发运行于Windows等桌面操作系统上的应用程序,而LabVIEW RT模块则提供了在特定嵌入式硬件设备(如CompactRIO)上开发基于实时操作系统VxWorks的应用软件。LabVIEW FPGA模块可实现在普通的PC机上对FPGA芯片的图形化开发。LabVIEW的图形化编程方式可以大大减少在VHDL学习上所花费的精力,从而可以专注于算法逻辑设计和测试验证;同时LabVIEW是1种并行结构的编程语言,非常适合于执行FPGA的并行结构设计同步或异步的并行任务[11]。
CompactRIO的程序开发主要分为RT实时端程序和FPGA 端控制程序2部分。快速原型控制器的RT端实时程序如图2所示。该程序主要负责参数初始化、PID控制参数设置以及实时数据显示。RT端的程序运行于VxWorks操作系统中,用于执行对运行速度和实时性要求不高的任务。
快速原型控制器的FPGA端程序主要用于实现PID控制算法、设定控制步长以及管理I/O端口信号输入输出,以实现超高速的控制循环和I/O端口控制,如图3所示。从图中可见,在40MHz的时钟源驱动下,通过设置PIDLoopRate(Ticks)参数可以更改控制步长。同时程序是并行运行的,例如在计算比例项的同时也进行着微分项以及积分项的运算。程序的并行化运行特点给控制器带来了更快的运行效率。在LabView环境下将FPGA端程序编译为FPGA码流文件,并下载到CRIO的Flash中,CRIO上电时自动加载到FPGA芯片上。
图2 快速原型控制器的RT端实时程序
图3 快速原型控制器的FPGA端程序
为了验证所设计快速原型控制器的有效性,需要开展控制器实物在回路闭环控制试验。参考主动控制执行机构的高频响特性,采用模拟计算机建立1个2阶系统模型作为控制对象。实际上,很多高阶系统的特性在一定条件下都可以用2阶系统来表征,例如航空发动机压气机主动稳定性控制用的高频响电动执行机构就可以看成是2阶系统[12]。
2阶系统的通用数学模型为
式中:ωn为无阻尼自然振荡频率;ζ 为相对阻尼系数[13]。
运用模拟计算机搭建的2阶系统参数为:ωn=1191rad/s,ζ=0.11,折合频率带宽为fb=311Hz,其传递函数为
根据如图1所示的结构搭建快速原型控制器,控制对象的输入/输出分别与快速原型控制器的信号输出和采集端口连接,从而构成控制器实物在回路仿真试验系统。
首先测试控制对象的特性,其开环阶跃响应测试曲线如图4所示,该对象呈现1种典型的2阶欠阻尼快速响应特性。
设定控制步长为20μs,采用PID控制算法并设置适当的PID参数,得到闭环阶跃响应曲线,如图5所示。从图中可见,快速原型控制器能够快速、稳定地将输出电压调节到期望值。
图4 控制对象的开环响应测试曲线
图5 20μs步长的PID控制阶跃响应曲线
合理的控制步长是保证控制效果的关键。如果控制步长太小,相邻2个采样点之间信号变化不大,控制量差异也不大,频繁的控制计算导致效率低下;反之,较大的控制步长则不能及时获取采样值并产生及时的控制作用,导致调节速度变慢,甚至失控。
考虑到系统动态特性一般采用带宽频率fb表征[14],可以选择控制频率fs=10fb,即
控制步长达到了1/3110s,即321μs。但这仅仅考虑了对系统的动态性能要求。在实际选择中还需要根据系统的工作环境、各种可能干扰以及系统延时等因素对控制速率进行修正[15]。
本文分别选择控制步长100、200、500μs进行实物在回路闭环控制试验,得到的阶跃响应曲线如图6所示。从图中可见,随着控制步长的增大,系统的响应变慢,控制量和被控制量的波动变大,最终通过调节PID参数已经不能实现对被控量的稳定控制。结果表明,对于频响较高的被控对象,需要更快的控制速率才能够实现对被控对象的稳定可靠控制。因此,选择
图6 在不同控制步长下的阶跃响应
本文基于CompactRIO/FPGA设计了超高速控制器快速原型,用于航空发动机高频响执行机构的主动控制试验研究。以带宽达311Hz的高频响2阶系统作为控制对象开展了实物在回路闭环控制试验,验证了所设计快速原型控制器的超高速控制能力。另外,分析了不同控制步长对控制效果的影响,得出采用超高速微小控制步长是非常必要的结论。
NICompactRIO为超高速控制器快速原型设计提供了1个高效、快捷的途径,可以满足航空发动机主动控制的高频响控制需求。
[1]胡晓煜.航空发动机的主动控制技术[J].国际航空,2004(7):52-53.HU Xiaoyu.Active control technology of aero-engine[J].International Aviation,2004(7):52-53.(in Chinese)
[2]Leinhos D C,Scheidler SG,Fottner L.Experiments in active stall control of a twin-spool turbofan engine[C]//Proceedings of ASME Turbo Expo,Amsterdam:International Gas Turbine Institute,2002.
[3]Link C J,Sanjay G.Propulsion control technology development in the united states:a historical perspective[R].NASA/TM-2005-213978].
[4]Jean J,Amit K.Electric actuation for flight&engine control system:evolution, current trends& future challenges [C]//45th AIAA Aerospace Sciences Meeting and Exhibit Reno,Nevada:American Institute of Aeronautics and Astronautics,2007.
[5]Alberto L,Luigi P.FPGA-based implementation of an active vibration controller[C]//Proceedings of the 17th World Congress,Korea:The International Federation of Automatic Control,2008.
[6]MacCleery Brian,Zaher M K.New mechatronics development techniques for FPGA-based control and simulation of electromechanical systems[C]//Proceedings 17th World Congress,Seoul:Federation Automatic Control,2008.
[7]张天宏,王继业.微型涡轮发动机快速原型控制系统[J].航空动力学报,2007,22(2):274-279.ZHANG Tianhong,WANG Jiye.A rapid prototype control system for micro turbine engine[J].Journal of Aerospace Power,2007,22(2):274-279.(in Chinese)
[8]丁荣军.快速控制原型技术的发展现状[J].机车电传动,2009(4):1-3.DING Rongjun.The development status of fast control prototype[J].Electric Drive for Locomotives,2009(4):1-3.(in Chinese)
[9]Dase C,Falcon J S,MacCleery B.Motorcycle control prototyping using an FPGA-based embedded control system[J].IEEE Control System,2006,26(5):17-21.
[10]黄晓东.基于FPGA的永磁电机控制系统的研究[D].杭州:浙江大学,2010.HUANG Xiaodong.Research of permanent magnet motor control system based on FPGA [D].Hangzhou:Zhejiang University,2010.(in Chinese)
[11]倪瑞萍,黄昶,周晨辰.FPGA技术在CompactRIO中的应用[J].微计算机信息,2010,17(6):127-129.NI Ruipin,HUANG Chang,ZHOU Chenchen.FPGA used in compact RIO[J].Microcomputer Information,2010,17(6):127-129.(in Chinese)
[12]王建锋,张天宏.基于Matlab/xPC的直流电机参数辨识及双闭环控制研究[J].测控技术,2011,30(12):32-36.WANG Jianfeng,ZHANG Tianhong.Research on parameter identification and double closed-loop control of DC motor based on Matlab/xPC[J].Measurement&Control Technology,2011,30(12):32-36.(in Chinese)
[13]胡寿松.自动控制原理[M].北京:科学教育出版社,2007:76-79.HU Shousong.Principle of automatic control[M].Beijing:Education Science Press,2007:76-79.(in Chinese)
[14]訚胜利,高慧斌,贾宏光.飞行器制导控制半实物系统采样步长的优化设计[J].光学精密工程,2010,18(5):1144-1150.YIN Shengli,GAO Huibin,JIA Hongguang.Optimal design of sampling steps in hardware-in-loop simulation for aircraft guidance and control [J].Optics and Precision Engineering,2010,18(5):1144-1150.(in Chinese)
[15]吕小云,崔作龙,王军,等.论数字控制系统中采样频率的选定[J].甘肃科学学报,2001,13(3):83-87.LYU Xiaoyun,CUI Zuolong,WANG Jun,et al.The choice of sampling frequency in digital control system [J].Journal of Gansu Sciences,2001,13(3):83-87.(in Chinese)