基于单片机的飞机航向控制显示教学模型设计与实现
摘要:为增强飞行学员飞机航向控制理论直观教学效果,采用MCS-51单片机作为系统CPU,完成了飞机航向控制系统仿真动态模型平台的设计。通过模拟飞机操纵机构控制,直接利用汇编语言即可实现仪表显示功能。试验结果表明,系统响应速度快,控制显示功能直观,课堂教学效果好。
关键词:飞机航向;方向舵;余度设计;故障监控
0 引言
直观教学是增强飞行学员理论联系实际的有效手段,伴随着多媒体技术的发展,如何提升传统教学模型不可替代的演示功能,成为制约教学质量的关键。
传统教学模型存在数量多、结构简单、功能单一的缺点,但是其演示功能强,学员可以动手操作的优点是现代多媒体教学方式无法替代的。飞机航向控制显示系统是利用MCS-51单片机控制功能,将系统内多个模型综合,采用机电控制方式实现系统多功能教学和学员操作功能。一方面可以提高教学效果,同时还可以增强教员解决教学问题的动手能力,为将来从事相关科学研究打下坚实的基础。
1 系统功能要求
飞机航向控制显示系统为多功能教学系统,本文只探讨其中飞机航向控制及其相关显示部分功能设计与实现。仿真模型仿照飞机座舱安装方向舵。通过微动电门,单片机可接受方向舵三个位置信号;方向舵中立位置时,飞机航向不变化;向左蹬舵时,飞机左转弯;向右蹬舵时,飞机右转弯。飞机改变航向时,要求飞机航向改变方向灯光和座舱显示仪表板上的指示灯相应地发出提示信号。打开开机电门时,所有信号灯都应闪烁。待机时,2个待机灯发出不闪烁的信号。表1为飞机航向控制显示系统真值表。
在飞机航向控制显示系统中,设定打开开机电门时,信号灯以高频(约30 Hz)频率闪烁,提示使用人员准备操作。飞机航向改变或开机状态下,信号灯和座舱显示仪表板指示灯的闪烁频率为1 Hz(低频信号)。
根据飞机航向变化信号显示控制系统的功能,可以用数字逻辑电路来实现,如图1所示。系统中还应有高低频信号发生电路和输出驱动电路。用数字逻辑电路来实现系统功能的缺点是:一旦系统的功能有所改动,电路也要随之变动,灵活性较差;增加功能,实现难度大。
2 系统硬件
为适应其他功能需要,飞机航向控制显示系统采用28 V直流供电,所以除单片机外,其他电路采用28 V电源。单片机内部定时器产生闪烁频率信号。图2是采用单片机的飞机航向显示控制系统的基本电路。
在单片机系统中,可以利用其较强的控制功能,实现故障监控和余度设计,提高系统的可靠性。例如飞机航向控制显示系统模型教学使用频率高、时间长,显示器件易损耗,设计采用标准的双信号灯并联,以增加系统的冗余度,在一个信号灯出故障时,系统仍能正常工作。即使采用了余度技术,信号灯也全部失灵,或因发生线路上的故障而不能正常工作。因此还希望系统具有故障监控功能,一旦发现故障,能自动报警。
图3是这类故障监控方案的电路,它利用T0做检测输入,只增加1个晶体管和几个电阻。假定其中一个信号灯是受控断开的(输出口线送高电平),而其余信号灯皆受控接通。这时晶体管Q7的6个输入端中有5个是低电平。与受控断开的信号灯相应的那个输入端的电平则取决于这一路线路的状态,若28 V电源经过信号灯、连接器、控制线和印制板都是导通的,这一路驱动晶体管也没有发生基极与地短路的现象,则该输入端应保持高电平,使Q7导通,测试口T0是低电平。若这时T0是高电平,说明相应的线路出了故障。
现在让单片机发出控制使所有信号灯都接通,则Q7应截止,测试口T0应呈高电平。如果这时存在控制线与28 V电源短路或驱动晶体管断路等故障,则Q7仍导通,T0呈低电平,表示线路中存在着另一类故障。这种故障监控功能可以通过软件来实现。
3 系统软件
系统软件用MCS-51系统布尔处理机机器指令子集汇编语言编写。编写程序按照系统功能分为三部分:第一部分是输入、输出口线说明和变量定义;第二部分是背景程序(主程序);第三部分是中断服务程序。
飞机航向控制显示系统软件程序如下:
3.1 口线说明和变量定义
程序清单中第1行至第16行是说明和定义部分。在图中和图中输入输出口线已初步拟定好。但在程序中不直接采用P1.0,P1.1等这类的口线名称,而是采用了符号地址,即用户自定义的有助记意义的名称。对于一些字节变量或布尔变量也采用了助记名。这样做给程序设计带来了方便,提高了程序的可读性和可维护性,一旦要改变具体的引脚或变量单元(或位),只要在说明和定义部分略作修改,而不必把程序中所有有关的部分都一一修改。
在原理设计阶段,诸如引脚功能的确定,通常是带主观性的。在印制电路板设计阶段可能发现适当变化一下引脚的功能,会给电路板设计带来极大的方便。在不采用符号地址的程序设计中,这种少量的硬件变动可能会造成大量的软件修改量。雷同的情况还可能在其他设计阶段中发生。因此,尽可能采用符号地址。
3.2 背景程序(主程序)
程序清单中第18行和第26行至第34行是背景程序。这一段程序的框图如图4所示。
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)