1“飞鹰一号”四旋翼无人机系统设计刘文智、李海波、郭峰、朱磊、许长魁、冉晨阳、张成龙、张建国、陈云乔、吕超(哈尔滨工程大学信息与通信工程学院,黑龙江哈尔滨150001)“Feiyingyihao”Four-rotorUAVSystemDesignLiuWen-zhiLiHai-boGuoFengZhuLeiXuChang-kuiRanChen-yangZhangCheng-longZhangJian-guoChenYun-qiao(CollegeofInformationandCommunicationEngineering,HarbinEngineeringUniversity,Harbin,Heilongjiang150001,China)摘要:四旋翼无人机系统由哈尔滨工程大学空中机器人队。该无人机的设计涉及机械、电子、计算机、自动化、空气动力学等多个学科。该无人机以Altera公司的FPGA为核心器件,定制了I2C、SPI、UART、PPM内核,完成了惯性测量组件(IMU)、GPS、磁传感器的数据采集,完成了遥控信号的处理,进行导航信息融合与控制算法解算,驱动无刷直流电机实现了四旋翼无人飞行器的起飞、悬停、降落、导航等功能。无人机搭载摄像头等设备,配备相应的地面站软件,便可以完成摄像、侦察等功能。关键字:无人机;自动驾驶;地面站;通信系统Abstract:Thefour-rotorUAVisdesignedbyHrbeuaero-robotteam.Severalsubjectssuchasmechanics,electronics,computerscience,automatics,aerodynamicswereconcernedwhentheplanewasdesigned.Altera'sFPGAisthecoredeviceoftheUAV,I2C、SPI、UART、PPMkernelwascustomized.Thedataacquisitionofinertialmeasurementunit(IMU),GPS,magneticsensors,remotecontrolsignalprocessing,navigationinformationfusionandcontrolalgorithmssolveriscompleted.Takeoff,hover,landing,navigationandotherfunctionsofthefour-rotorUAVisachievedbydrivingbrushlessDCmotor.Cameras,surveillanceandotherfunctionscanbeachievedwhentheUAVisequippedwithcamerasandappropriategroundstationsoftware.Keywords:UAV;automaticpilot;groundstation1.无人机概述及系统总体微型四旋翼无人飞行器是一种外形新颖,性能优越的垂直起降无人飞行器,具有较高的军用和民用价值。该飞行器是一种“碟形”飞行器,具有新颖的结构布局和独特的飞行方式,利用空气动力来克服自身重量,可自主或遥控飞行,并且能够携带一定载荷,可配备专用仪器实现一些特定功能。微型四旋翼无人飞行器是一个具有六个自由度,而只有四个控制输入的欠驱动系统,具有多变量、非线性、强耦合和干扰敏感的特性,这些使得飞行控制系统的设计变得非常困难。其次,在飞行过程中它不仅受到各种物理效应的作用,还很容易受到气流等外部环境的干扰,很难获得其准确的性能参数。为了在复杂的环境中获取最优的姿态航向等信息,系统拟采用多组传感器融合的技术方案,首先利用三轴的MEMS陀螺和加速度计构成一个微惯性测量单元(MIMU),从惯性导航的自主性和可靠性的角度出发,把MIMU作为系统的主传感器,为了克服MEMS惯性器件的随机漂移和姿态解算算法的累积误差,用红外平衡仪修正其姿态,用地磁传感器修正其航向,结合GPS的经纬度、高度、速度等信息,利用高效的信息融合算法,得到飞行器最2优的导航参数,从而完成飞行器的自主飞行和姿态的最优控制。考虑到采用多传感器信息融合以及欠驱动控制系统算法设计的复杂性,无人机采用Altera公司的高性能FPGA芯片,以满足导航传感器的信息融合,实现无人飞行器的最优控制。2.无人机设计无人机的飞行器载体主要分为四旋翼飞行器模型、动力系统及飞行姿态检测和控制系统,其整体结构示意图如下:四旋翼无人飞行器是固联在刚性十字交叉结构上的由四个独立电机驱动的系统。四只旋翼分别安装于正方形机体的四个顶点位置,分为顺时针和逆时针两组,位于同一对角线上的两只旋翼为同一组。由于电机和载体为刚性连接,因此只能通过控制四个电机的转速来实现飞行器的飞行控制。悬停时,四只旋翼的转速相等,以相互抵消反扭力矩;同时等量地增大/减小四只旋翼的转速,会引起上升/下降运动;增大某一只旋翼的转速的同时,等量地减小同一组另一只旋翼的转速,则可以产生俯仰/横滚转动;增大某一组旋翼的转速,而等量减小另一组旋翼的转速,将产生偏航运动。四旋翼飞行器的结构形式如图2所示。图1系统总体结构图3图2四旋翼飞行器的结构形式2.1系统硬件设计2.1.1机体考虑到飞行器本身飞行重量和机械强度等问题,本模型机体采用不锈钢材料制作飞行器结构,并配有复合材料制作了起落架。2.1.2动力装置主要采用四个大功率无刷电机(KV值1000)配备9寸的三叶桨,驱动无刷电机的电调控制芯片采用Mega8单片机,与飞控板FPGA通过I2C总线通讯实现对电机的实时调速控制。电机与驱动实物图如图3所示。图3四旋翼飞行器动力部分2.1.3无刷电机介绍电机采用新西达A2212(KV1000)的大功率无刷电机电机重量48克,外形尺寸27.8x27mm,并配GWS9050HD的三叶桨,根据电机提供的性能指标:每个电机工作在11V时转速在8430转左右,可以提供升力681克,可满足飞行需要的升力。电机和正反桨的实物如图2.4、图2.5所示。图4无刷电机实物图图59寸正反桨实物图2.1.4动力装置驱动部分四旋翼飞行器对无刷电机驱动要求比较高,既要求电机驱动的线性度和电机调速的实时性要高。电机驱动装置采用AVR系类单片机Mega8处理器作为电机驱动的主控制芯片,线性度的提高主要靠软件算法实现,电机驱动装置通过IIC总线方式和主控制器通讯,通讯速率可达400k,这样大大提高了电机调速的实时性。无刷电机驱动的事物图如图6、图7所示。4图6无刷电机驱动实物图正面图7无刷电机驱动实物图反面2.1.5FPGA主控硬件系统考虑到四轴飞行器的载重量和体积约束,我们设计nios最小系统板,系统采用cyclone系统FPGA,外扩两片DDRSDRAM。具体设计过程如下。1.系统电源电路Cyclone系列的FPGA可以兼容多电压I/O操作,允许内核和I/O单独供电,VCCINT引脚供给器件内核供电电压为1.5V,VCCIO引脚供电给器件的I/O块,供电电压为3.3V。从Cyclone芯片的手册可知,当FPGA运行时,内核动态功率占总功率的67﹪,内核静态功率占22﹪,I/O占11﹪,根据实际测量结果显示,内核上消耗的电流不超过300mA,这样电源系统1.5V能够提供600mA即可。FPGA每个I/O的输出电流不大于25mA,每10个I/O的总输出电流不大于320mA,为了保证可靠性并留下余量,电源系统3.3V能够提供的电流应大于600mA。因为系统对这两组电压的要求比较高,且其功率不是很大,所以不适合用开关电源,应当用低压差模拟电源LDO。合乎技术参数的LDO芯片很多,AMS1117是一个很好的选择,它的性价比比较高,且有一些产品可以与它直接替换,减小采购风险。本设计中采用两片三端固定的AMS1117对FPGA供电,AMS11173.3输出3.3V电压对I/O供电,AMS11171.5输出1.5V电压对内核供电。AMS1117需要在输出与地之间接入电容以维持内部电路稳定,输入和地之间也需要接入电容对输入信号进行滤波,具体的连接关系如图8和图9所示。C4104C610uFC7C5100uf151L2+5VVCC3.3_SIN3OUT2GND10U1AMS1117图8I/O供电电源电路另外,数字电源和模拟电源,数字和模拟地之间应该加电感进行隔离。C8104C9100ufC1010uF104C11151L3VCC3VCC1.5_SIN3OUT2GND10U2AMS1117图9内核供电电路2SDRAM接口电路SOPCBuilder中自带的SDRAM控制器内核提供了一个连接到片外SDRAM芯片的Avalon接口。SDRAM控制器可让设计者在NiosⅡ中简易的连接并使用SDRAM芯片。本系统采用了两片48LC4M16A2级联构成32位数据总线。其与5SDRAM控制器内核的连接如图10所示。外部SDRAM芯片的接口提供PC100标准定义的信号。这些信号必须通过AvalonFPGA的I/O引脚连接到SDRAM芯片。SDRAM芯片必须和Avalon接口一样以相同的时钟来驱动。片内锁相环(PLL)通常用于调整SDRAM控制器内核与SDRAM芯片之间的时钟相位差。在较低的时钟频率下可能不需要锁相环。在较高的频率时钟频率下,当信号在引脚上有效时,需要PLL来调整SDRAM时钟。SDRAM控制器AlteraFPGAAvalon从机接口到片内逻辑64M位8MB16位数据宽度SDRAM器件64M位8MB16位数据宽度SDRAM器件AddrCtlnCSData(32位)16位16位图10两个SDRAM与SDRAM控制器的连接在电路原理和PCB设计时,需要考虑合理分配FPGA的引脚,尽量使各信号的布线等长以尽量减少各SDRAM信号间的相位差。本系统中的一块SDRAM与FPGA的I/O口连接如图11。3.FPGA和JTAG配置电路图11SDRAM接口电路图6通过JTAG接口,利用QuartusⅡ软件可以直接对FPGA进行单独的硬件重新配置。QuartusⅡ软件在编译时会自动生成用于JTAG配置的.sof文件。CycloneFPGA设计成JTAG指令比其他任何器件操作模式的优先级都高,因此JTAG配置可随时进行而不用等待其他配置模式完成。JTAG模式使用4个专门的信号管脚:TDI、TDO、TMS以及TCK。JTAG的三个输入脚TDI、TMS和TCK具有内部弱上拉,上拉电阻约为20~40kΩ,在配置过程中所有用户I/O都为高组态。为了在不使用JTAG口时,不影响电路工作,可以将TDI、TMS通过上拉电阻连接到VCC,而TCK通过下拉电阻连接到GND。具体的连接关系如图12所示。虽然JTAG的TDI、TMS具有内部弱上拉但为了可靠,应该外接上拉电阻。另外,JTAG的电路连接要求将nCONFIG连接到VCC,MSEL0、MSEL1连接到GND,还要求将DATA0和DCLK置成高或低。4.SOPC的串行主动配置电路AS配置全称为ActiveSerialConfiguration。在配置中,串行配置芯片提供一个4脚串行接口来获取数据,如果数据量大于配置芯片的容量需要对数据进行压缩。通过器件配置,FPGA从串口读入配置数据,如果配置芯片内的数据经过压缩,那么需要先对数据解压再对SRAM单元进行配置。在本设计中,采用的是EPCS16配置芯片,容量为16M位,所以配置时不需要对数据进行压缩。AlteraEPCS配置器件通过FPGA上特定的管脚连接到FPGA,而不是通过通用的I/O管脚连接。因此,EPCS控制器内核在顶层SOPCBuilder系统模块上不会产生任何的I/O口。串行配置接口的4针接口为:串行输入时钟(DCLK)、串行数据输出(DATA)、AS数据输入(ASDI)以及低有效的片选(nCS)。这4个管脚分别于FPGA的DCLK、DATA0、ASDO以及nCSO管脚相连(这4个管脚都设有弱上拉,以确保悬空时状态的稳定)。FPGA的主动