郭 杨, 翁新武
无人机在军民两用领域发挥着越来越重要的作用,进行民用无人机飞行控制器设计及检测与控制技术研究具有理论、工程和经济意义。文中主要任务是设计出无人机飞行控制器软硬件系统,并研究相应的控制方法,使飞机能够实现手动遥控飞行和自动驾驶飞行。
飞控系统的工作原理[1]如图1所示。
飞机偏离原始状态,敏感元件感受到偏离方向和大小,并输出相应信号,经放大、计算处理,操纵执行机构(如舵机),使控制面(如方向舵面)相应偏转[2]。由于整个系统是按负反馈原则连接的,其结果是使飞机趋向原始状态。在传统的飞行自动控制系统中,描述飞机运动的参数有3个姿态角、3个角速度、2个气流角、2个线位移及1个线速度。在无人参与条件下,飞行自动控制系统可自动控制部分或全部上述参数。与其它自动控制一样,飞行自动控制系统也由被控对象(飞机)和自动控制器组成。飞控系统的基本部分包括:测量元件、信号处理元件、放大元件和执行机构。
图1 飞控系统原理图
本设计中的无人机用于航空摄像,整个无人机的电子装置分为地面和机载两大部分:地面设备包括地面监控计算机系统、控制手柄和视频接收模块、视频采集模块;机载电子设备有飞行控制器、GPS仪、高度计、姿态仪、陀螺仪、电压电流检测模块、字符叠加模块、无线视频发射模块、摄像镜头、遥控接收机及电调和舵机。无人机的总体测控方案如图2所示。
图2 无人机的总体测控方案
地面部分。控制人员可以根据接收到的视频信号及叠加在视频上的飞机飞行参数,操纵遥控手柄实时控制飞机飞行,也可以向飞机发送自动驾驶飞行,让飞机按照事先设定好的航线飞行。
机载部分。飞行控制器用来检测当期飞行状态、控制飞机飞行、保持飞机平稳、摄像镜头视角变化等,飞机可根据手动或自动驾驶命令来执行被动飞行或自动飞行,字符叠加模块可将当前飞机的飞行参数叠加到视频信号上,经无线视频发射模块发送回地面控制站。
机载无线电模块用来接收GPS信息,并和地面的数据传输装置构成无线电数据链路,实现图像信息的回传和遥控器控制信号的传输;地面监控站是无人机地面监视与控制的主要设备,接收从遥控器传来的手动控制和自动驾驶指令,通过数据链路上行发送给飞机,同时,接收飞机回传的遥测信息,实时显示并存储到历史数据库。
无人机的飞行控制计算机是无人机控制系统的核心[3],它主要用于完成以下数据处理任务:
1)与气压高度传感器进行模拟串口(SPI)通信,读取气压高度传感器采集到的气压值,并将其经过运算转换成飞行需要的海拔高度值和温度值;
2)与GPS模块进行串口通信,读取GPS模块接收到的方位信息,并将其经过转换,解析出飞行需要的速度值、方向值、参考高度值、时间值、经纬度值、GPS卫星个数值等;
3)用单片机内部A/D功能,采样三轴加速度传感器输出的模拟电压信号,经软件滤波、数学运算,转换成飞机当前的飞机状态值,并根据当前飞机状态,用PID方式控制飞机飞行平稳;
4)用单片机的内部A/D功能,采样角速度传感器输出的模拟电压信号,经软件滤波、数学运算,转换成飞机当前绕某轴转动的角速度,在经过PID运算后,便可消除外界对飞机的扰动;
5)用单片机内部A/D功能,采样电流传感器输出的模拟电压信号,经软件滤波和数学运算后,转换成飞机某时刻的平均电流值和飞机当前耗电量;
6)与字符叠加器进行模拟串口(SPI)通信,将需要发回地面接收站的信息叠加在视频信号上,并设计自创字符、画面样式及显示菜单。
由ATMEGA16L构成的单片机最小系统[4]如图3所示。
图3 单片机最小系统
2.2.1 气压高度传感器接口电路设计
本设计采用压力传感器MS5534B实现高度传感器的设计方案,如图4所示。
图4 MS5534B接口电路设计
MS5534B通过3线同步串口与单片机进行SPI通信。
2.2.2 GPS模块接口电路设计
本设计采用HOLUX GM-210智能型卫星接收机作为GPS模块,采用RS-232串行通信方式读取GPS数据,如图5所示。
图5 GPS模块与单片机接口电路
2.2.3 三轴加速度传感器接口电路设计[5]
飞行姿态仪是飞机自动飞行时保持飞机平稳的前提,本设计采用低量程三轴向加速度传感器MMA7260QT,接口电路如图6所示。
图6 MMA7260Q与单片机接口电路
2.2.4 角速度传感器接口电路设计[6]
本设计采用角速度传感器ENC-03,由于ENC-03传感器输出电压的灵敏度只有0.67mV/(°),所以,ENC-03输出的信号须经一前置放大电路放大后再输入到单片机AD采样通道,如图7所示。
图7 ENC-03的前置放大电路
2.2.5 电流传感器接口电路设计
飞机飞行已用电量可通过电流传感器测得,用电流传感器测得单位时间内的平均电流,然后乘以单位时间系数便可得电量,电量单位可用mA/h表示。本设计采用CS754电流传感器,如图8所示。
图8 ACS754接口电路
2.2.6 字符叠加器接口电路设计
飞机飞行的参数欲传回到地面监控站,可通过将飞行参数叠加在视频信号上,这样就可以和视频信号共用一个数据通道,能省去数字发射设备,减轻飞机负载。字符叠加器采用MAX7456单通道随屏显示(OSD)发生器,它可在动态视频上叠加定制图形。MAX7456接口电路如图9所示。
图9 MAX7456接口电路设计
2.2.7 系统电源设计
系统采用+5V和+3.3V两种电压标准。系统电源采用航模飞机专用锂电池,3S锂电池电压为+12V,如图10所示。
图10 7805构成的+5V稳压电路
经稳压芯片7805输出+5V,+5V电压可以为单片机、GPS模块、电流传感器及字符叠加器供电;输出的+5V电压再经过稳压芯片ASM1117_3.3V后便可得到系统需要的+3.3V电压,+3.3V电压可以为气压高度传感器及三轴加速度传感器供电,如图11所示。
图11 由ASM1117_3.3V构成的+3.3V稳压电路
按照无人机飞行需要的参数条件,可将程序分成14个模块,分别为GPS信息搜集模块、飞行时间模块、方向指示模块、高度指示模块、速度指示模块、经纬度显示模块、回航方向指示模块、姿态保持模块、平稳飞行模块、自动导航模块、手动控制模块、电量显示模块、字符叠加模块、按键设置模块。主程序在整个系统中起初始化各个模块、协调各个模块工作顺序、分配任务的作用。主程序流程如图12所示。
图12 主程序流程
软件系统不采用实时操作系统,而是按阶层体系结构组织子程序模块[7]。飞行控制器的运行有3种模式:飞控模式、检测模式和调参模式。飞控模式是指正常的飞机飞行与控制模式,接收器接收到控制器发射指令后,实现飞机的手动飞行控制、自动驾驶、摄像镜头控制。检测模式是指飞机在飞行时自动检测传感器传回的飞行参数,为调参模式做好数据采集准备。调参模式是指飞行器根据检测到的各种参数进行调整飞机飞行方式的模式。
系统一上电,系统硬件上电复位,程序从首地址开始执行。首先执行程序初始化,这包括单片机I/O端口设置、串口通信波特率设置、ADC工作模式设置、定时器工作方式设置,以及字符叠加器初始化设置等;接着检测是否有按键按下,如果有则执行相应的按键子程序;然后就读取传感器测得的各种飞机飞行参数,这其中包括速度、高度、方向、经纬度、飞机姿态,以及电池的电压、电流、耗电量等,并将这些飞机飞行的参数叠加到视频画面相应的位置;而陀螺仪则一直工作,它根据测得的飞机角速度来自动矫正飞机飞行;飞机的耗电量可由按键设定一用电量最大值,若电池耗电量大于设定值时,则产生报警提示信号;最后,飞机根据接收机的手动自动驾驶信号来判读飞机当前是处于哪种状态,若接收到手动驾驶信号,飞机则根据接收机上的信号控制飞机飞行,若接收到的是自动驾驶信号,飞机则根据各传感器测得的飞机参数来自动控制飞机飞行,并根据预先设置的航线自动飞行[8]。其部分程序代码如下:
void main(void)//主函数
{
INIT_ALL();//程序初始化
While(1)
{
KEY_SET();//按键扫描
if(time_OSD)
{//1s读采集一次数据,并刷新一次OSD
su_d();//当前时速
gao_d();//当前高度
相比日本和韩国,同样作为中国的邻居,国人对印度这个国家却始终显得有些陌生,神秘,宗教是对它的印象,说到美食,远不如对日韩美食那样如数家珍。顿顿吃咖喱?吃饭直接用手?印度爱吃米饭还是面食?素食国度,不能吃肉?各种各样的局限印象和疑问,使得游客无法好好审视一下印度的食物。
display_JWD();//经纬度显示
juli_h();//离家距离
fang_x();//东西南北方向指示
time_count(time_m,time_s);//调用计时显示子程序
real_time();//真实时间
xin_h();//信号强度指示
dian_l();//当期电流
hao_d();//耗电量指示
}
if(dianlian<=dianlian_low)goback();
//电量低于警戒值,则返回
else auto();//自动驾驶
}
}
[1] 袁少强,胡金辉.基于ATmega128单片机的无人机飞行控制系统的设计[J].测控技术,2007,26(2):44-45.
[2] 雷金奎.无人机驾驶靶机飞行控制器设计[J].测控技术,1999,18(1):37-38.
[3] 刘歌群.小型无人机飞行控制器的硬件设计[J].计算机测量与控制,2003,11(2):144-146.
[4] 何立民.单片机应用系统设计[M].北京:北京航空航天大学出版社,1990.
[5] 尹立鹏,陈娟,王虎.加速度计应用[J].长春工业大学学报:自然科学版,2010,31(1):23-27.
[6] 潘慕绚,张天宏,黄金泉.基于C8051F020单片机的某无人机飞控系统硬件平台的设计与开发[J].测控技术,2003,22(1):30-33.
[7] 薛尧舜.无人机控制器软件研制与控制算法研究[D]:[硕士学位论文].西安:西北工业大学,2003.
[8] 申安玉,申学仁,李云保.自动飞行控制系统[M].北京:国防工业出版社,2003.