微波EDA网,见证研发工程师的成长!
首页 > 应用设计 > 汽车电子 > 基于RTOS的涡喷发动机数字控制系统

基于RTOS的涡喷发动机数字控制系统

时间:08-13 来源:电子技术应用 点击:

与活塞发动机相比,涡轮喷气发动机(以下简称涡喷发动机)在推重比方面的优势无可争议。如果将之微型化,将使小型无人飞行器获取较高的速度和载荷能力。因此,研制微型涡喷发动机在军用和民用领域都有深远的意义。目前,美、德、丹麦等国家都有相当成熟的微型涡喷发动机产品,已成功应用到航模和无人机上。但在国内,无论是发动机本身还是其控制系统,都属于较新领域[1]。

  本文针对国产某系统发动机,设计了基于C8051F021和MicroStar RTOS的微型涡喷发动机通用控制系统。它以处理器为核心,集传感器、伺服机构、人机接口为一体、体积小、重量轻,提供了与主控系统的指令接口和与地面测试设备的检测接口,功能完善。

  微型涡喷发动机计算机控制系统的整体结构如图1所示。


  控制器接收遥控接收机(或主控计算机)发出的PCM(Pulse Coding Modulation,脉冲编码调制)形式的推力和起停指令,驱动油泵、油阀、点火器等伺服机构,实时测量发动机的温度和转速,完成自动点火、加速、减速、转速稳定、超温超速保护等控制功能,并将状态参数通过RS232总线实时发送到PC机。通过手持终端,可修改系统参数。

  为便于系统调试和测试发动机性能,还开发了运行于Windows平台的实时检测软件ECU1.0(Engine Control Unit, Version1.0)。

1 硬件设计

  C8051F021单片机是美国Cygnal公司推出的一款高性能8位SOC单片机。主要有以下优点:
  (1)采用了流水线技术,峰值处理速度可达25MIPS,远远高于其它51单片机。
  (2)具有12位8通道逐次比较式ADC,数据转换速率可达100ksps。
  (3)具有4K字节的片上RAM和64K字节的Flash程序存储器。在本应用系统中,无需扩展存储器。
  (4)可提供五路可编程的PWM控制信号。
  (5)丰富的定时器资源,具有五个硬件定时器。
  (6)提供I2C总线控制模块和两个UART口。
  (7)片内FLASH支持IAP(在应用可编程)。因此,不常修改的数据如配置参数、查询表等可直接存放于片内的FLASH内,而不需外扩非易失性存储体。

  C8051F021单片机具有丰富的片上硬件资源及高运算速度,对本控制系统,几乎不需扩展即可满足控制系统对硬件资源的需求并有较大裕量。图2为系统硬件结构图。

1.1 转速测量模块

  发动机的转速采用红外对管来测量。发动机的轴上钻有一通孔,安装时使发送-接收管的连线通过该孔。发动机每转一周,红外接收管会导通两次。由于通、断状态是渐变的,再加上普通红外管开关速度较低,在发动机高速运转(可达120000RPM)时,接收管输出的脉冲信号幅值很小,而且上升沿/下降沿较为平缓,单片机无法准确识别,必须加以整形。整形电路如图3所示。


  信号通过电容C6耦合至运放AR1的同相输入端,(以2.5V为参考点)进行高倍数放大,以保证即使在高转速下,脉冲的峰-峰幅值也接近5V供电电压。运放AR3用于实现回滞比较器,提高抗干扰能力,其输出信号至单片机T4EX脚。利用定时器4的边沿捕捉功能可方便地测出相邻脉冲间的时间间隔,从而换算出速度。

1.2 温度测量模块

  发动机体内的温度是发动机安全、可靠工作的重要指标。由于发动机较小,考虑到装配的方便,以尾喷管的温度表征发动机的工作温度。

  试验表明,尾喷管的温度最高可达900℃。出于测温范围、成本等方面的考虑,选用镍铬-镍硅(Ni,Cr,Si)热电偶作为测温元件。镍铬-镍硅热电偶具有良好的线性度,测温范围为0~1000℃。由于发动机对温度测量精度的要求并不苛刻,采用热敏电阻进行温度补偿。

1.3 PWM驱动模块

  系统中气阀和点火器、启动电机和油泵电机等伺服机构采用PWM方式控制。启动电机、齿轮泵的工作电流较大,可达14A。宜选用过流大且导通电阻小的MOS管或压降小的肖特基二极管。本系统选用过流为120A、导通电阻7.5mΩ的MOS管。但试验表明,MOS管工作温度仍然较高,故采用两片并联驱动方式。一路PWM控制单元的原理图如图4所示。


  电阻R6的主要作用是当无控制输入信号时(如线路故障、单片机复位过程中),MOS管保持关闭,伺服机构不动作。MOS管开通时,通过Q4对MOS管输入电容快速充电;关断时,MOS管的输入电容通过D3和Q3快速放电。采用上述具有较高开关速度的电路,可有效减少MOS管的发热量。

1.4 系统通讯总线

  I2C总线成本低廉,连线简单,并有一定的抗干扰能力,同时可连结多个器件,故选用I2C总线作为系统通讯总线。手持终端、信号灯均通过I2C总线与系统板连接,并由串转并芯片PCF8574驱动。

2 系统软件

  本系统主要完成发动机控制任务与人机接口任务。直接采用处理器开发软件时,由于时间上的并存,这两个任务处理将严重耦合。此外,与人机接口相关的函数调用必须设计为非阻塞模式,否则,当出现诸如I2C总线等故障时,控制流程无法继续向下执行。

  RTOS能合理地分配处理器资源,使多个任务在宏观上达到并行运行的效果,可大大降低任务间的耦合,提高系统的可靠性。即使某个任务长时间被阻塞,也不会影响到其它任务。因此,采用RTOS进行软件开发更为简单和可靠。本系统采用MicroStar RTOS V1.0[3]。MicroStar RTOS是针对中低档单片机而设计的嵌入式实时操作系统内核。它同时支持按时间片轮转、按优先级抢占、二者结合共三种调度策略,具有完善的任务管理功能可提供定时、延时服务,支持消息、信号(Signal)通讯机制,支持临界代码段保护,提供二进制、计数型信号量(Semaphore)同步对象等,支持Bottom-half中断管理机制。

  本控制器选用按优先级抢占调度策略,系统时钟周期设定为2ms。共创建了三个用户任务:人机接口主任务、控制任务以及与PC机通讯任务。

2.1 MicroStar RTOS在51单片机上的移植

  由于51单片机内核上的原因,为了代码优化,Keil C51编译器采用一些独特的方法,与ANSI C编译器相比,有较大的差异。因而相对于其它硬件平台,在51单片机上移植MicroStar RTOS时修改较多,主要包括以下几类:
  (1)Keil C51不仅有数据类型,还有存储类型,因此为系统变量添加了存储类型修饰符。
  (2)默认情况下Keil C51对未能在寄存器中分配的临时变量采用静态分配策略,许多系统函数因此而不可重入,必须对这些函数添加reentrant函数来强迫编译器在模拟栈中分配临时变量。
  (3)除了硬件堆栈外,Keil C51编译器在软件上实现了模拟栈,因此在堆栈保护中需加入对模拟栈的保护。
  (4)修改 os_cpu.h 文件中的INITIAL_ STACK任务堆栈初始化宏、改写os_Schedule调度函数等。这一点与其它平台无异。

2.2 人机接口主任务

  人机接口主任务主要负责系统自检、键盘扫描、液晶显示、指令解析等,其流程图如图5所示。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top