基于MSP430和ST16C554的JetCat发动机监测控制器设计
2013-09-12李伟,陈迪,胡强
李 伟,陈 迪,胡 强
(中国航天空气动力技术研究院,北京 100074)
JetCat系列发动机是目前航模领域采用较多的一款涡喷发动机。每套JetCat P200发动机系统包括1个P200发动机、1个发动机控制单元(ECU)、1个LED指示板、1个地面支持单元(GSU)、2个电磁阀和2个压力传感器。本文介绍的发动机监测控制器需要同时监测并控制3台P200发动机为某型飞行器提供4~65 Kgf的动力,3台发动机按照正三角形的方式排列,即正三角型的每个角固定一台发动机。该型发动机监测控制器需要监测每台发动机的转速数据并根据转速/推力曲线控制3台发动机转速以保持推力均衡,同时把监测到的推力数据和其他发动机数据转发到飞行器的飞行控制计算机用于飞行控制计算机控制飞行器飞行。
1 系统原理
由于JetCat P200系列发动机主要应用于航模领域,发动机的控制模式主要为ECU解算来自RC接收机的2组PWM控制信号(THR和AUX),同时发动机的只能通过地面支持单元(GSU)或通过计算机上的专用监控软件进行设置和对参数进行监测。发动机的ECU与地面支持单元和计算机的通讯方式为TTL电平的RS232串行通信。因此该型发动机监测控制器要想同时控制和监测3台发动机并把参数反馈给飞行控制计算机,必须具备输出6路PWM控制信号的能力用以控制发动机,同时具备4路RS232串行通信接口以便同时与3台发动机和飞行控制计算机进行通信。动力系统组成原理图如图1所示。
2 监测控制器设计与实现
2.1 硬件设计
根据对该型发动机监测控制器进行的需求分析,选定MSP430F149作为监测控制器的控制核心。MSP430F149芯片是美国TI公司推出的超低功耗微处理器,是1款16位的单片机,具有独立16位硬件乘法器,带有2个串行通信接口,其16位定时器支持 PWM输出。同时还选定ST16C554DCJ68作为串口扩展芯片,以满足监测控制器的4路串口通讯的需求。ST16C554是美国XREXAR公司生产的通用异步通信芯片,其与Intel8250兼容,是常用的串口扩展芯片。含有4个增强型16C550。支持FIFO模式,每个发送器和接收器都带有16字节的FIFO缓冲器。
ST16C554D与Intel8250兼容,因此其内部寄存器分布和设置与Intel8250类似。ST16C554D有16模式和68模式2种,本设计中选择68模式。该模式下需要用到的管脚如下:读写信号控制线R/-W,低电平有效,该信号线仅在68模式下启用。控制寄存器选择线A0~A2,可理解为寄存器地址线,能够选择的寄存器有接收寄存器 RHR、发送寄存器THR、中断使能寄存器IER、FIFO控制寄存器FCR、中断状态寄存器ISR,行控制寄存起LCR、行状态寄存器LSR、波特率设置寄存器DLL和DLM等。串口选择线A3~A4,可选择4路串口。使能信号线-CS,低电平有效,控制4个UART AD的使能状态。中断请求线-IRQ,在68模式下,来自4个UART A-D的中断是“Wire-OR”的关系,该管脚必须接一上拉电阻与VCC相连。复位信号线-RESET,在68模式下为低电平有效,触发时会清空内部寄存器和所有输出,在RESET期间,发送器和接收器将被禁用。
图1 动力系统组成原理
MSP430F149与ST16C554D连接原理图如图2所示。
图2 MSP430F149与ST16C554D连接原理
由于MSP430F149的定时器具有捕获/比较和输出PWM波的功能,因此可通过MSP430F149直接产生PWM脉冲波形,同时由于MSP430F149是3.3 V电平的逻辑系统,而Jet-Cat P200发动机ECU的PWM接收器是5 V电平的逻辑系统,因此需要进行电平转换,同时为了加强PWM脉冲的驱动能力以增加整个发动机系统的抗干扰能力,在MSP430F149后增加了电平转换芯片74LVC07,它的每路通道使用一个漏极开路缓冲器,在实现电平转换功能的同时增加了驱动能力。MSP430F149与ECU的PWM接收器连接原理图如图3所示。
图3 MSP430F149与ECU的PWM接收器连接原理
2.2 软件设计
JetCat P200发动机监测控制器软件设计主要可分为2个部分,一个部分的主要功能是通过ST16C554扩展的串口对3路发动机的串口数据进行监测和解算,并把数据发送给飞行控制计算机。另一个部分的主要功能是根据解算出来的发动机转速结合试验测得的转速-推力曲线通过调节PWM波控制发动机油门对发动机的推力进行控制,以满足飞行控制计算机的要求。
通过ST16C554进行串口扩展主要是通过对其内的各个寄存器如接收寄存器RHR、发送寄存器THR、中断使能寄存器IER、FIFO控制寄存器FCR等进行设置和读/写操作来实现,这部分功能与在DOS下对Intel8250进行C语言编程时类似,需要注意的是在编写底层读/写驱动时的各个操作的时序要考虑好。具体读/写驱动的编写以读操作为例其流程如图4所示。
图4 读操作流程
通过对JetCat发动机进行测试发现其ECU的通讯方式为应答式,即上位机如地面支持单元(GSU)发送查询命令,ECU回告相应的参数信息。通讯的编码格式为ASCII,主要的查询命令有以下 2 种:“1,RFI,0”和“1,RAC,1”。通过这2个命令可以查询到发动机的转速、缸温、电池电压等信息。如发送“1,RFI,0”命令后 ECU 将会回告“1,HS,OK,0,500,0,6.93,87”其中的“6.93”即为当前电池电压。根据ST16C554的特点结合JetCat发动机ECU的通讯方式,设计该型发动机监测控制器与ECU的通讯模式为以一定时间为周期,对3台发动机分别发送查询命令,并把解算后的信息传送给飞行控制计算机。具体通讯程序流程如图5所示。
由于采用3台发动机按正三角形进行排列,即三角型的每个角固定一台发动机,因此要保证推力尽量靠近中心,需要使3台发动机的推力尽可能的接近。由于只在低空飞行该型涡喷发动机的推力主要决定因素为转速,因此设计时首先测量了3台发动机的推力与转速曲线,同时油门以10%为步进进行调节,测定发动机发生变化后的稳定时间,由于发动机油门每变化10%的稳定时间是随着油门的增加而逐渐减小,且比例接近线性关系,因此最后决定采用PI控制调节3台发动机的油门以保证3台发动机的推力相近。转速与油门的模型如图6所示。
图5 通讯程序流程
图6 转速与油门的模型
3 结束语
本文基于MSP430F149和ST16C554设计了一型针对3台JetCat P200型小型涡喷发动机的监测控制器。该型监测控制器通过大量前期试验测得发动机ECU的通信协议以及推力和转速曲线,很好的实现了同时对3台发动机进行监测并协调控制的功能,为飞行控制计算机控制飞行提供了有力的保证。
[1]董燕飞.基于MSP430的直流电机PWM调速双闭环控制系统设计[J].煤矿机械,2010,31(6):206-208.
[2]邵春声.TL16C6554和DSP的串行通讯[J].四川工业学院学报,2004(S1):43-45.
[3]王少卿,汪仁煌.低功耗MSP430单片机在3V与5V混合系统中的逻辑接口技术[J].电子技术应用,2008,34(8):85-86.
[4]周玉成,刘军,赵亮.一种高效多串口扩展方法[J].木材工业,2004,18(5):18-20.
[5]杨名龙,刘泉,艾青松.基于MCU与虚拟仪器的脑电信号采集系统[J].武汉理工大学学报,2011(7):152-156.