首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

基于ARM的无人机飞行控制系统的实现

基于ARM的无人机飞行控制系统的实现

摘要:以AT91M[size=+0]5[size=+0]5800A微控器为核心设计并实现了基于ARM 的新型无人机飞行控制器,详细给出了无人机飞行控制系统的设计原理和控制策略,介绍了基于uC/OS-II实时操作系统的飞行控制软件的功能模块和任务划分方法,着重说明了各个任务之问的任务调度策略;对设计中的关键技术进行了研究,系统具有设计精炼, 可靠性高, 开放性等特点。
    关键词:无人机;飞行控制系统;ARM; [size=+0]u[size=+0]C/0S—II0 引言
    随着科学技术的发展以及军事战略思想的转变,无人机在军事、民用等领域获得了极大的应用。应用范围的扩大对无人机提出了更高的要求,作为无人机“心脏” 的飞行控制系统也越来越受到重视。随着航空技术的发展, 飞控计算机向着高精度和小型化方向发展。高精度要求无人机的制导控制精度高、稳定性好,能够适应复杂的外界环境。因此控制算法比较复杂、计算速度快、精度高。小型化则对控制系统的重量和体积提出了更高的要求,要求控制计算机的性能越高越好,体积越小越好。性能指标和体积限制迫切需要研制新型的飞控计算机系统。
    基于单片机和基于PC机是目前常用的两种飞行控制计算机。单片机运算速度较慢,片内集成度低,IO资源少, 系统资源不足。解决方法之一是采用多个单片机并行处理,但这样增加了系统协调工作之间的困难, 系统复杂,可靠性降低。基于PC机的飞控计算机是以Intel x86系列处理器为CPu,加
上相应外围的协处理器、内存、硬盘、接口电路等模块。运算速度快, 寻址能力强,但接口能力差,需要较多的外围接口器件配合, 不易实现小型化。
ARM 处理器以它32位的内核和较高的运算速度,丰富的片内集成设备, 较强的运算能力正越来越多的受到嵌入式系统设计者的青睐,选用微控制器AT91M55800A,通过扩展一定的外围设备,构成飞行控制计算机, 与传感器、执行机构、任务管理设备等共同构成高性能的数字式无人机飞行控制系
统,具有较高的集成度,较好的实时性和高性价比。


1 系统配置与结构
    基于ARM 的飞行控制计算机的设计,关键在于系统整体方案。接口设计是一个重要环节,其质量将直接影响系统的性能。所设计的整体方案要易于实现,对不同型号的无人机要有一定的适应性。对于要求相近的型号,应该以修改控制软件为主, 以少改动或不改动硬件设计为好。垂直陀螺、三轴角速率陀螺输出的是模拟信号,因此飞控计算机必须具有多路模拟信号的高精度采集能力。而磁航向传感器、高度传感器以及与GPS和遥控遥测等外围单元的数据交换则采用了RS一485、RS一232通讯协议, 因此飞控计算机要具有多串口的通行能力。同时系统要求一系列的电平输出/输入接口,舵机接收的是频率信号, 因此飞控计的算机必须将控制参数以频率量的格式输出。
    基于以上的考虑,结合AT91M55800A 的片上设备,设计的飞行控制系统硬件结构如图1所示。以下将从外部存储器扩展、模拟信号接收、串口通讯、频率/数字信号的输出等几个模块的具体设计加以说明。
    1.1 存储器的扩展
    由于AT91M558OOA内部存储器较小,所以程序和数据大多只能放在片外。因此要进行存储器扩展。AT91M558OOA 的内核采用了冯·诺依曼结构。存储器接口被设计成在使用存储器最少情况下实现其潜能。速度关键的控制信号是流水作业的,处理速度极快。所选RAM 的速度必须小ARM 的读写周
期。在系统工作时,程序要放在Flash中,在系统上电时由启动代码程序搬移到片外RAM 中运行,因此选择R0M 时也要考虑存储容量和速度。根据以上特点选择了一片12 ns的IS61LV51216RAM 组成存储系统的RAM, 一片访问速度90 ns AT49BV1604A一90TI(Flash Memory)作为程序存储空间。此外通过SPI总线扩展一个X5045 (NOVRAM ),NOVRAM可S在断电后保存装定的航迹与任务数据。
    1.2 模拟信号的接收

垂直陀螺、角速率陀螺、电源电压等输出的模拟信号首先经过信号调理模块输入,片上自带的8路1O位A/D转换器已经完全满足了系统通道数目和精度的要求,不再扩展其他A/DC器件。所采集的飞机姿态、电网电压等信号,是飞行控制系统对无人机工作状态进行控制和监控的基础,同时这些信号
经过编码发往地面遥测设备,供操纵人员参考。
    1.3 串口通信
    机上传感器的输出信号多数都是采用串行标准。遥控指令、遥测数据、GPS数据、高度信号、航向信号、航路装定、控制参数设置都采用RS一232或者RS一485接口, 而AT91M55800A片内集成的3个USART不能满足要求,必须要对串口进行扩展。完全采用软件模拟扩展串口,将加重处理器的负荷, 降低系统的实时性。而采用16C554专用串口扩展芯片将增加系统的电路复杂性,增加电路板面积。在综合考虑各种方案之后,将串口作如下配置:
    (1)串行口0为遥控通道, 与遥控接收机相接,接收上行信道送来的遥控信息, 下传飞机状态参数信息,Rs一485标准,波特率9600,Rs一232标准备用。
    (2)串行口1:通过4052扩展,与高度传感器和航向传感器相接。采用Rs一485标准,波特率9600。
    (3)串行口2与GPS接收机相接, 接收GPS数据,采用RS一232标准,波特率9600。
    (4)采用SPI总线接口的USART收发器件MAX31l1扩展了一路串行接口,本串行口的TX通道作为遥测通道,用于发送飞行姿态、电源电压、发动机转速、任务设备工作状态等遥测信息;RX通道为双用途, 可以作为装定自主飞行时的预设航路用,也可以用来装定控制参数。这样,兼顾了系统的实
时性和紧凑性。
    1.4 频率信号的输出
    控制伺服机构常用的是4个舵机,飞行中要求这4个舵机可以同时动作,相互之间不能有延迟。而ATglM55800A 的6路定时/计数器正好可以用来作为输出PWM信号的器件, 不需要扩展接口芯片。余下的一路定时器用作uC/OS—II的系统时钟,另外一路定时器用作发动机转速监测。根据舵机的工作方式和控制精度的要求,设置工作方式,满足舵机工作要求。这样既减少了硬件的扩展又降低了软件的消耗,提高了精度,大大提高了系统效率。
    1.5 数字I/o 口输出
数字10控制用于对一些开关量采集其状态,并输出开关量控制其它设备。采用片上通用I/O接口经过锁存器驱动输出,这样既增强了输出信号的驱动能力,又可以防止系统出现误动作。
继承事业,薪火相传
返回列表