拉卡拉 发表于 2013-10-7 23:29:05

一种基于C8051F单片机的小型涡喷发动机控制系统

1 前 言
  该小型涡轮喷气发动机具有结构紧凑、体积小、重量轻和推重比大等特点。可应用于军用和民用领域,例如靶机和用来侦察、攻击、护林的小型无人机等。发动机控制系统性能的优劣将直接影响发动机及飞机的性能。航空发动机控制系统的作用是根据控制杆指令,改变可控变量(供油量),以保证发动机推力(转速)按预定的规律变化,使发动机安全、可靠、稳定的工作,并获得最佳性能。
  发动机控制系统传统上一直由液压机械式和气动机械式调节器实现。随着发动机控制和飞机系统之间联系的增加以及状态监视,故障诊断,参数显示等功能的扩充,飞机发动机一体化控制的水平要求不断提高。不论是三维凸轮计算元件还是膜盒组计算元件,它们所能综合计算的参数是很有限的。如要增加,势必带来重量、体积、成本的增加并且是难于实现的。传统式控制系统的发展受到限制。因此,在发动机控制中,采用计算机控制系统的要求越来越重要。   
  计算机控制系统用于发动机控制,具有提高发动机性能、降低燃油消耗、提高可靠性和改进维修性等优点。计算机感受的参数不受限制以及它的计算、逻辑判断、机内测试、故障诊断、存储记忆功能,加之与飞机系统易于接口,易于实现发动机状态监控,易于实现与飞机控制的一体化,使其发展具有很大潜力。
  本论文讨论的小型涡轮喷气发动机控制系统集传感器、作动器和控制计算机于一体,具有体积小、重量轻、功能强大的特点,可完成发动机的过渡控制(启动控制,加速控制,减速控制)、推力控制、安全控制(包括转速,温度等)和故障诊断功能等。其推力控制有遥控方式和数字指令方式。该控制系统的研制可为我国无人飞行器的技术提升和探索自己特色的小型涡轮喷气发动机控制技术打下良好的基础,具有较高的军用价值和民用价值。
2计算机控制系统方案
  控制系统方案如图1所示。系统监测发动机尾喷管气体温度EGT(Exhaust Gas Temperature)、涡轮转速(RPM)、控制系统电源电压和遥控接收机发来的速度指令,根据控制算法产生控制数据,控制数据经过转换算法产生控制量(PWM信号),并通过驱动电路控制油泵电机的转速,调节发动机的给油量,使发动机按给定的推力(转速)工作,以实现推力控制。小型涡轮喷气发动机的正常工作还需要许多辅助控制系统,在本控制系统中包含有发动机启动过程控制系统,发动机过热自动保护控制系统,发动机熄火过程控制系统和发动机故障检测和诊断系统。为满足不同发动机的控制需要,本系统还有控制参数设置与保存系统和发动机工作过程参数记录系统。将来发动机功能提升后,还可实现发动机进气控制,进一步提高发动机系统的性能。
图1 系统框图3 系统配置  该控制系统主要由单片机、PWM控制电路、信号滤波及放大电路、I2C总线、状态指示电路、参数设置与LCD显示电路、参数记录电路等构成,各部分连接关系如图2所示。图2 系统配置框图3.1 单片机  从图2可看出,单片机要具有丰富的外设接口资源和足够高的运算速度,才可能实现各种功能模块并满足系统实时性要求。经过分析比较,采用了CYGNAL公司的51单片机C8051F作为控制器,该单片机具有以下特点:

[*]10位8通道逐次比较式ADC,数据转换速率可达100ksps。
[*]JTAG调试和边界扫描接口,可实现 在线实时动态调试。
[*]流水线指令结构,最高处理速度高达25MIPS ( 参见图3 )。
[*]4K字节的片上RAM和64K字节的Flash程序存储器。
[*]PWM信号由PCA产生,PCA由一个专门的16位 C/T和5个capture/compare模块构成。每个模块可独立设置为6种操作模式之一:边缘触发捕获、软件定时器、高速输出、频率输出(方波输出)、8-bit PWM和16-bit PWM等。
  由以上特点可以看出,C8051F单片机具有丰富的片上硬件资源及高运算速度,这为实现复杂的控制算法提供了保障,而且几乎不需系统扩展即可满足控制系统对硬件资源的需求,极大提高了系统可靠性。
3.2 PWM控制电路
  控制系统中气阀,点火器,启动电机和油泵电机等器件需要PWM信号来控制其工作。这些大功率器件都不能直接由单片机输出信号直接控制。因此需要设计驱动电路以实现对这些器件的控制。根据各被驱动器件的工作特点,合理选择相应参数的MOS管,使MOS管可靠地控制各器件,电路如图4所示。
图3 四种单片机最高执行速度比较图4 PWM控制电路3.3 尾喷管温度测量电路  尾喷管温度(EGT)最高可达1000℃,是发动机安全、可靠工作的重要指标。从测温范围、测量精度及成本等方面综合考虑,采用了镍铬-镍硅(Ni,Cr,Si)热电偶作为测温元件,镍铬-镍硅热电偶具有良好的线性度,能很好地满足发动机尾喷管测温需求。热电偶的输出为双端输出的差模小信号,这就要求处理此信号的放大器具有极高的输入阻抗和共模抑制比,这里采用了常用的三运放差动放大器(即仪用放大器),见图5。关于热电偶的冷端补偿问题,这里采用单片机片上温度传感器测得的温度作为冷端温度,根据中间温度定律,E(T,0)=E(T,T0)+E(T0,0),其中E(T0,0)由所测的冷端温度T0根据热电势和温度的单值函数关系式求出,所以E(T,0)亦可求出,从而推算出热端温度。这种方法比通常采用的利用补偿电路实现冷端补偿更为简单方便。图5 仪用放大器3.4 转速及遥控指令测量电路  发动机转速通过光电器件测量,见图6所示。发动机每转一周,测量电路发出两个脉冲。由于发动机推力控制本质是对发动机转速的控制,所以转速的测量精度直接关系到控制性能的优劣。转速由单片机的16-bit定时器T4的捕获功能(快速输入)测得每个脉冲的周期而推算出来。发动机正常工作状态时的转速范围为33000rpm~120000rpm, 由此可推算出正常工作状态时,周期范围为909us~250us,定时器每个计数单位对应的时间值为1/18.432M = 0.054us(晶振采用18.432M),且周期时间不会超过16-bit定时器的溢出周期。所以既可达到足够高的测量精度,又为软件处理提供方便。  发动机速度指令是通过遥控接收机的一个通道发送给单片机的。速度指令脉冲的脉宽对应不同的期望转速,并通过16-bit定时器T2实现测量。3.5 I2C总线和UART总线  系统中的状态指示电路、LCD显示电路、参数记录电路和键盘扫描电路等功能模块采用I2C总线结构,以实现各个模块的数据和指令交换。I2C总线有以下特点:图6 转速测量电路示意图
[*]只需要两条线,SDA数据线和SCL时钟线。
[*]挂在总线上的各个器件都通过软件寻址,且总存在主/从关系,当两个或多个主方同时发起数据传输时,可进行冲突检测及仲裁。
[*]数据传输率最高可达到400kbits/s。
  除了以上特点外,I2C总线作为一种流行的通用总线,有丰富的功能器件支持,扩展的功能器件可方便的接到总线上,为系统扩展提供极大方便。
3.6 LCD显示及参数设置
  根据参数显示的要求,LCD显示选用了主控制驱动电路为HD44780的16字符×2行的5×8点阵液晶显示器,此显示器是通过并行口与外部控制器连接的,因此,我们采用了PCF8574 I2C-并口转换芯片将其与系统相连。为了省去由单片机专门提供LCD的读写控制信号和使能信号等,利用所发送数据的低三位提供控制和使能信号,高半字节为向LCD发送的指令或数据。
  控制系统的状态和参数显示或修改通过6个功能菜单实现,其中四个菜单可通过快捷键直接进入,而所有菜单都可通过菜单选择键(MENU + 或MENU -)进入。参数设定盒上的10个按键通过一块PCF8574芯片,构成矩阵键盘来实现的,并通过反转法只通过两次扫描读数既可识别按键。此参数盒也通过I2C总线与系统连接。


拉卡拉 发表于 2013-10-7 23:32:32

4 控制系统软件 
控制软件需要完成的任务包括:数据检测(包括4路A/D转换,转速和速度指令测量等)、键盘扫描, LCD显示, 参数记忆与提取,控制算法和4路PWM输出等。
4.1 主程序
  主程序首先要实现系统时钟初始化、MCU端口初始化、中断设置及学习速度指令(包括关闭,怠速,和大车状态)等,并从参数记忆器件中提取发动机启动和正常工作状态中需要的参数等。
  发动机进入启动过程后根据发动机启动油量曲线,控制启动电机、可燃气体及油泵电机的供油量等,使发动机在尽可能短的时间内进入正常工作状态。
  完成启动过程后,主程序进入循环状态,主要完成参数检测及状态显示等,直到发出关闭指令为止。主程序流程图见图7。
4.2 中断控制
  控制软件要实现多个任务,如果能在单片机中嵌入实时多任务操作系统(RTOS),可以简化多任务的调度管理和软件设计过程。控制系统的实时性要求,需要操作系统支持任务抢占来保证。KEIL C自带的RTX51 TINY仅支持循环任务切换,其它操作系统涉及移植,开销等方面的问题,所以未采用操作系统。对各任务的调度和管理,以及重要任务的实时执行,就需要各个中断精确规划和彼此协调来保证。
  控制软件中共用到7个中断,包括INT1外部中断,T0中断,UART0中断,T4中断,I2C总线中断,IE6扩展外部中断,A/D转换完成中断等。其功能特点是:

[*] INT1中断,主要发出发动机的启动或停止指令,由外部开关触发。
[*]T0定时器中断完成系统采样周期的定时。
[*]UART0中断,用来实现与PC机的数据通讯。
[*]T4定时器中断,用来测量发动机的转速。
[*] I2C总线中断,实现总线协议,并完成数据传送。
[*]IE6 外部中断,T2定时器记录速度指令脉冲的下降沿时刻,上升沿时触发此中断并读取此时T2的数据,两者相减可获取速度指令脉宽。
[*]A/D 转换完成中断用于发动机启动过程中的尾喷管温度测量(EGT),起动过程中EGT是一个重要的参数依据。
图7 主程序流程图  并不是每个中断都自始至终发挥作用,而是在不同阶段,有些中断使能,其余禁止,且同一中断在发动机工作的不同状态其优先级也会不同。IE6外部中断在速度指令脉宽学习和正常运转状态都为高级中断,而在启动过程中则为低级中断。T0作为采样周期,在正常工作状态时要求准确的定时,所以也设置为高级中断,当与IE6高级中断同时触发时,因其默认优先级更高,所以先执行T0中断。另一种情况是当T0中断触发时,IE6中断已经执行,此中断只有三条C指令,且为赋值和减法指令,最大延迟为几十uS,所以对T0的实时性影响可以忽略。若IE6中断触发时,T0中断已经响应,从T0中断程序返回前将IE6的中断标志位清除,可保证速度指令脉宽测量的准确性。  通过以上灵活的中断设置与协调,可实现实时任务和非实时任务的调度管理。图8 T0中断程序流程图

图9 PID控制系统框图4.3 PID 控制算法  控制算法在T0中断程序中完成,程序流程见图8。按照比例(P)、积分(I)和微分(D)进行控制的PID控制器是应用最为广泛的一种自动控制器。在计算机控制系统中,PID控制与计算机的逻辑判断和运算功能结合起来,使PID控制更加灵活,并能满足各种要求。在算法中将积分项改进,采用积分分离式PID算法,以使控制性能更加完善。对应的连续域PID控制系统框图见图9所示,采样周期为20ms。

拉卡拉 发表于 2013-10-7 23:44:47

5 系统仿真5.1 数学仿真  数学仿真结构图见图10,所取控制对象为时间常数为470ms的一阶环节。采样周期20ms时,Kp = 1, Ki = 0.023, Kd = 0.199时,得到如图11所示的动态响应曲线。
图10 数学仿真结构框图图11 数学仿真动态响应曲线5.2 半实物仿真   半实物仿真硬件框图如图12所示,单片机输出的燃油泵PWM控制信号首先经过有源二阶滤波器,进行滤波后近似为脉动很小的直流电压信号,此信号对应于原系统的供油量。此信号加到一个RC构成的一阶环节上,此环节近似认为是涡喷发动机的实物模型,时间常数T设置为470ms。一阶对象的输出电压信号对应于涡喷发动机的转速信号,经过A/D采样后,根据此电压值的大小,可编程计数阵列的通道0(CEX0)工作在高速输出方式下(HSO)并产生相对应的速度方波信号。速度方波信号通过速度测量通道进行速度测量,并作为PID控制算法中的发动机实际转速。遥控速度指令脉冲通过波形发生器模拟产生。取Kp = 1, Ki = 0.023, Kd = 0.199时,速度指令从40000RPM变为80000RPM时,得到如图13所示的系统动态响应曲线。
图12 半实物仿真结构图

图13 半实物仿真动态响应曲线6 与发动机联调  控制系统与发动机联机实验后,进行了点火和转速闭环控制。当速度指令控制杆从73500RPM推到83000RPM时,得到如图14所示的动态响应曲线。可见超调量比较小。  实验过程中,由于控制算法中用到的模型参数与实际发动机模型有一定出入,而且比例增益取值较小,积分环节在半实物仿真中经过验证,但在实际系统中尚未加入,这些因素导致稳态误差相对较大,需要进一步逼进模型和整定参数,以达到较好的动态稳态控制品质。
图14 动态响应曲线7 结 论  涡喷发动机控制数字化是发动机性能提高的必然要求和发展趋势。该控制系统在这个发展潮流中做了积极深入的探索。计算机控制系统的进步和完善不仅需要硬件上稳定可靠,同时建立在对发动机模型的认识准确度基础上。要更准确的获取发动机的模型参数,则需要通过控制器的智能化,对发动机各种工况下的参数数据进行测量、记录,用系统辨识理论分析解算出模型参数,以调整控制参数更加合理,发动机性能更加可靠、高效和完善。参考文献1 管颜深等. 航空动力装置控制. 国防工业出版社,1985:4.
2 高金源等. 计算机控制系统. 北京航空航天大学出版社,2001:2.
3 王锦标等. 过程计算机控制. 清华大学出版社,1992:2.
4 徐爱钧等.单片机高级语言C51 Windows环境编程与应用. 电子工业出版社, 2001:7.
5 吴琪华. 航空发动机自动控制. 西北工业大学出版社,1985

爱涡喷 发表于 2014-8-18 08:27:01

楼主可以留个联系方式吗?

uwknight 发表于 2014-12-4 15:13:23

赞一个!!

ZXP 发表于 2015-4-13 16:29:37

:):):):):)好好好好好好

tiger_jia 发表于 2015-9-30 17:13:07

赞一个!!:):):)

turbojet 发表于 2015-10-21 20:25:16

能够明白控制的思路,但具体的术语有些看不懂。。。

火之神 发表于 2016-1-1 09:34:47

多谢楼主分享。。。。。

richardwang 发表于 2016-2-20 19:43:29

学习加顶:):):):)
页: [1] 2 3
查看完整版本: 一种基于C8051F单片机的小型涡喷发动机控制系统