电路板元器件设计中,元器件的坐标是指什么?是元器件的引脚的坐标吗?

电路板设计中,元器件的坐标是指什么?是元器件的引脚的坐标吗?_百度知道
电路板设计中,元器件的坐标是指什么?是元器件的引脚的坐标吗?
我有更好的答案
电路板上Z表示压敏电阻。因为Z是阻抗的符号,所以可以用Z来表示电容、电阻、电感等器件,通常是用Z来表示压敏电阻。
采纳率:59%
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。赞助商链接
当前位置: >>
基于ARM的嵌入式SUAV飞控系统设计与实现
南京航空航天大学 硕士学位论文 基于ARM的嵌入式SUAV飞控系统设计与实现 姓名:梅羡林 申请学位级别:硕士 专业:导航、制导与控制 指导教师:曹云峰
南京航空航天大学硕士学位论文摘 要本课题源于空中机器人大赛参赛项目。 针对比赛要求, 提出了一种基于 ARM 的低成本、高性能的嵌入式微小无人机飞行控制系统的整体方案,并由此展开 了一系列的研究工作。 本文的重点是飞行控制系统的姿态确定系统设计和飞行控制系统的硬件设 计及实现。 本文首先回顾了国内外微小无人机发展历程,介绍了其研究现状,并指出 了微小无人机的发展趋势。根据需求设计了低价位、高性能的嵌入式微小无人 机飞行控制系统的整体方案。 设计了低成本、低功耗的微小无人机的姿态确定系统方案,利用姿态四元 数、龙格库塔法、高斯牛顿法和扩展卡尔曼滤波器估计出系统的姿态矩阵;对 姿态确定方案进行了仿真。 设计了基于 ARM 的飞行控制系统的硬件部分,包括电源及复位电路, UART、SPI、JTAG 等接口电路,PWM 信号发生电路,A/D 采样电路及前置电 路,光电耦合电路等;完成了整个飞控系统 PCB 板制作以及对所设计电路的调 试工作,使得系统运转正常。 最后针对本文设计的硬件平台进行了启动代码等系统底层软件的编写和调 试,建立了系统的启动环境。关键词:微小无人机,飞行控制系统,ARM,姿态确定系统, Bootloaderi 基于 ARM 的嵌入式 UAV 飞控系统设计及实现ABSTRACTThis thesis works mainly on design and realization a embedded flight control system for Mini UAV (Unmanned aerial vehicles), which is low-cost, small volume, low power consumption and high performance. The purpose of the work is for attending the National Aerial Robotics Competition. Therefore, a series of researches has been carried out thoroughly. The thesis focuses on the design of attitude determination system and its hardware system. In chapter 1, the thesis reviews the history of developing the Mini and Micro UAV,then introduces the actuality of them, and points out the development direction of the Mini and Micro UAV. In chapter 2, the conceptual design of the whole embedded flight control system for mini UAV is introduced, which is expected to be a low cost, low power consumption system but having high performance. In chapter 3, the low-cost, low power consumption attitude determination system is introduced. Based on the quaternion, the EKF (Extended Kalman Filter) is used to filter the quaternion, and then the attitude determination system is simulated. Furthermore, functional module and the whole hardware system are designed in chapter 4 and 5,which are based on the ARM (Advanced RISC Machines), including the power supporting circuit, reset circuit, the UART, SPI and JTAG interface circuit, the A/D conversion, and PWM generating circuit. All of these circuits are debugged and checked. In the end, the boot code and other board support software of the system are compiled and debugged to establish the boot environment for the system.Keywords: Micro and Mini Unmanned Aerial Vehicles, flight control system, ARM, Attitude Determination System, Bootloaderii 基于 ARM 的嵌入式 UAV 飞控系统设计及实现图 清 单图 1.1 早期的国际空中机器人大赛 ...........................................................................1 图 1.2 空中机器人起飞的虚拟场景 ...........................................................................2 图 1.3 旋翼和固定翼空中机器人 ...............................................................................3 图 1.4 飞艇空中机器人和新奇空中机器人 ...............................................................3 图 1.5 空中机器人执行第三等级任务 .......................................................................4 图 1.6 北航的地面模式识别软件在识别特定目标 ...................................................5 图 1.7 Carolo 微小无人机的硬件平台 ........................................................................6 图 2.1 微小无人机导航与控制框图 ...........................................................................8 图 2.2 飞控系统方案整体结构框图 .........................................................................11 图 2.3 Maxstream 9Xtend 通讯模块 ..........................................................................13 图 3.1 捷联惯导系统原理框图 .................................................................................14 图 3.2 牛顿迭代法的原理图 .....................................................................................22 图 3.3 姿态估计流程图 .............................................................................................28 图 3.5(a) 迭代步长设置不当引起较多“野点” .....................................................29 图 3.5(b) 改变迭代步长,减少“野点” ................................................................29 图 3.6 卡尔曼滤波器静态输出 .................................................................................29 图 4.1 2440 的地址空间分配图 .................................................................................31 图 4.2 大小印第安格式的存储系统 .........................................................................32 图 4.3 HMR3000 与飞控计算机的连接 ....................................................................35 图 4.4 角速度变化与陀螺输出的关系 .....................................................................36 图 4.5 AD623 芯片内部电路......................................................................................40 图 4.6 加速度计和陀螺仪的 A/D 转换电路 ............................................................43 图 5.1 飞控系统硬件平台实物连接图 ......................................................................48 图 5.2 加速度计和陀螺的安装图 .............................................................................49 图 5.3 调试系统的硬件连接 .....................................................................................50 图 5.4 Bootloader 的流程 ...........................................................................................53 图 5.5 串口初始化流程图 .........................................................................................56 图 5.6 串口调试结果 .................................................................................................57vi 南京航空航天大学硕士学位论文图 5.7 示波器下的 PWM 输出波形 ......................................................................... 58 图 5.8 AD7927 输出二进制编码格式 ....................................................................... 60vi i 基于 ARM 的嵌入式 UAV 飞控系统设计及实现表 清 单表 2.1 几个具有代表性的自动驾驶仪 .......................................................................9 表 2.2 两种姿态传感器方案比较 .............................................................................12 表 4.1 JTAG20 针引脚定义 ........................................................................................34 表 4.2 滤波电容综合选择参考 .................................................................................38 表 4.3 ADXL202 加速度计的静态输出 ....................................................................39 表 4.4 PCB 布线线宽与载流的关系..........................................................................44 表 4.5 多层板的板层排布方案参考表 ......................................................................46 表 5.1 ARM 中断向量表 ............................................................................................54viii 南京航空航天大学硕士学位论文注 释 表1. 缩略词与名称基本缩略词 MAV GPS PWM ARM SPI IMU UART MEMS DSP FPGA MMU MIPS JTAG MCU OEM SINS PLL LCD IRQ ROM PCB BIOS 全称 Micro Aerial Vehicle Global Position System Pulse-Width Modulation Advanced RISC Machines Serial Peripheral Interface Inertial Measurement Unit Universal Asynchronous Receiver Transmitter Micro-Electro-Mechanical Systems Digital Singnal Processor Field-Programmable Gate Array Memory Master Unit Million Instructions Per Second Joint Test Action Group Microcontroller Original equipment manufacturer Strap Down Inertial Navigation System Phase-Locked Loop Liquid Crystal Display Interrupt ReQuest Read Only Memory Printed Circuit Board Basic Input Output System 中文名称 微型飞行器 全球定位系统 脉宽调制 先进精简指令集计算机 串行外设接口 惯性测量装置 通用异步收发器 微机电系统 数字信号处理器 现场可编程门阵列 存储器管理单元 每秒百万条指令 联合测试行动小组 微控制器 原始设备制造商 捷联惯性导航系统 倍频锁相环 液晶显示器 中断请求信号 只读存储器 印制电路板 基本输入输出系统i 承诺书本人郑重声明:所呈交的学位论文,是本人在导师指导下,独立 进行研究工作所取得的成果。 尽我所知, 除文中已经注明引用的内容 外, 本学位论文的研究成果不包含任何他人享有著作权的内容。 对本 论文所涉及的研究工作做出贡献的其他个人和集体, 均已在文中以明 确方式标明。 本人授权南京航空航天大学可以有权保留送交论文的复印件,允 许论文被查阅和借阅,可以将学位论文的全部或部分内容编入有关数 据库进行检索,可以采用影印、缩印或其他复制手段保存论文。 (保密的学位论文在解密后适用本承诺书)作者签名: 日 期: 南京航空航天大学硕士学位论文第一章 绪 论1.1 课题研究背景空中机器人 [1] (Aerial Robotics)一词最早由美国乔治亚理工大学的 RobertMichelson 提出, 指各种能够在空中自由飞行的飞行器, 包括固定翼无人飞行器、旋翼无人飞行器、无人飞艇等。在通信、气象、灾害监测、军事、农业、地质、 交通、广播电视等领域具有广泛用途。它与传统航模最大的区别在于它不是由 人通过遥控的方式操纵,而是能够自主飞行、自动调整飞行姿态和飞行策略的 无人飞行器,同时它还能与环境进行交互,探测目标信息并做出反应,从而完 成预定任务。国际空中机器人大赛自 1990 年开始,迄今为止,已经具有极高的 科技含量和技术水准,参赛空中机器人已能完成自主飞行、目标识别、处理、 跟踪、控制等相当复杂的任务。该赛事在激发全世界年轻人对航空航天和智能 控制兴趣的同时培养了一大批富有创新精神、动手能力强的高素质人才。目前, 该赛事催生的许多技术得到了广泛关注,其中有一部分已经开始在一些无人机 装备中使用。 从 1990 年开始,国际无人系统协会(AUVSI)开始举办一年一度的空中机器 人比赛。出于自主操作可行性的考虑以及竞赛规则的限制,最经常使用的空中 机器人就是无人直升机。图 1.1 早期的国际空中机器人大赛遗憾的是,虽然国际空中机器人技术发展迅猛,国内却鲜见队伍参加国际 空中机器人大赛,空中机器人研制水平也远远落后于国际水平。基于这样的现 实情况,中国自动化学会机器人竞赛工作委员会和科技部高新技术研究发展中1 基于 ARM 的嵌入式 UAV 飞控系统设计及实现心决定举办中国空中机器人大赛。大赛涉及机械、电子、计算机、自动化、空 气动力学等多个学科,技术上的创新性、前瞻性、多学科综合性和极大的潜在 实用性使之成为众多科技活动中极具挑战性的一项赛事,吸引了许多高校和科 研院所的关注。毫不夸张地讲,这项赛事称得上是国内航空航天与智能控制领 域最高规格、最高水平的科技竞赛。 大赛宗旨在于通过比赛提高国内航空航天和智能控制等学科科技活动的水 平,促进交流,激发兴趣,培养中国航空航天和智能控制领域的优秀后备力量。 中国空中机器人大赛提出的口号是“自主翱翔、放飞理想” ,大力提倡“自主、 创新、协作、超越”的精神。国内举办的几次空中机器人大赛,参赛的队伍大 都是购买现成的飞机模型,装载飞控计算机、飞控和导航传感器,摄像头等设 备;有些参赛队伍使用现成的自动驾驶仪、性能较好高价位的全姿态传感器、 飞控软件等等,总体耗资高达十几万甚至上百万。1.2 微小无人机的研究现状微小无人机的发展现状可以从两项世界级的比赛中得出答案:国际空中机 器人大赛(美国)和 EMAV(欧洲 MAV)大赛。 国际空中机器人大赛的参赛队伍来自全世界各个国家的著名大学、研究机 构、知名的公司等。图 1.2 空中机器人起飞的虚拟场景2 南京航空航天大学硕士学位论文大赛分为固定翼组、旋翼组、氢气球组、新奇空中机器人组等大类。其中, 参加旋翼机器人的表现较好的主要有加州大学伯克利分校,MIT,乔治亚理工大 学,雅马哈公司等等。固定翼组的参赛队伍中成绩突出的主要有佛罗里达州立 大学,亚历山大大学,伯明翰杨大学,悉尼大学,香港大学等等。图 1.3 旋翼和固定翼空中机器人参加飞艇组的队伍主要有 U Penn、 LAAS 、JPL、INRIA 等。参加新奇型 空中机器人的主要有:伯克利分校的微型飞行昆虫,斯坦福的 Mesicopter,乔治 亚理工大学的 Entomopter, EPFL 的室内飞行机器人,Drexel 的封闭四方体空 中机器人等等。图 1.4 飞艇空中机器人和新奇空中机器人第十七届国际空中机器人大赛于 2007 年 7 月 23-27 日在美国乔治亚州的麦 肯纳区举行,它是一个专门为城市战争演习而设计的无人居住区。根据大赛规 则,比赛任务共分为 4 个等级。 第一个等级:空中机器人从起飞点开始完成自主飞行 3 公里的任务。 第二个等级:发现 3 公里路径上的具有特殊标志的房屋建筑。 第三个等级:空中机器人选择特殊标志房屋的入口进入房屋或者发射自动 探测传感器来搜索房屋内特定的目标,并将目标图片传送回 3 公里外的起飞点。3 基于 ARM 的嵌入式 UAV 飞控系统设计及实现第四个等级:在 15 分钟之内将所有的任务连接在一起,流畅的完成整个自 主飞行、目标识别、图像传输的任务。 这些年来,很少有队伍能够达到第四个级别,乔治亚理工大学达到第三等 级水平,维吉尼亚理工大学和南达科塔矿业技术学院在比赛时间截止时勉强完 成了第三等级的比赛任务。 图 1.5 是乔治亚理工大学空中机器人的子飞行器进入房屋并弹射出“流浪 者”自动摄像机,进行目标探测任务。图 1.5 空中机器人执行第三等级任务在欧洲,EMAV 大赛自 2004 年以来每年举行一次,大赛分为室内和室外两 种任务。室内的任务基本描述为:1) MAV 起飞以后,在室外某指定平台上着陆并再次起飞; 2) 识别某个建筑物外墙上的目标; 3) 从 1m×1m 大小的的窗户进入该建筑物; 4) 识别室内某桌子上的(水平方向)目标; 5) 识别室内某竖直物体上的目标。室外的任务基本描述为:1) 在给定的 GPS 航点上识别出 2 个目标; 2) 对给定搜寻区域里的目标物定位; 3) 在投掷区域投掷传感器; 4) 飞过两个拱门(城市峡谷); 5) 降落在垂直起降台上。相比之下,国内的空中机器人近年来也有了不小的发展和进步。国内空中 机器人主要有清华大学,西北工业大学,北京航空航天大学,哈尔滨工程大学, 南京航空航天大学,武警工程学院,上海交通大学等大学、研究所和无人机公4 南京航空航天大学硕士学位论文司参加。 固定翼组目前能够能够完成自主飞行 4 公里,无线图像传输,地面图像处 理等任务。旋翼空中机器人当中,浙江大学的“玉泉之翼”空中机器人在 2005 年完成了自主悬停 1 分钟, “这 1 分钟具有里程碑式的意义,它是中国空中机器 人技术上零的突破。 ”这是清华大学航空航天学院副院长对浙江大学工业控制技 术研究所研发的空中机器人“玉泉之翼”的评价,因为它首次实现了旋翼式空 中机器人的自主悬停,这也是国内旋翼空中机器人目前达到的最高水平。图 1.6 北航的地面模式识别软件在识别特定目标综上所述,国内外微小无人机主要针对自主起飞、着陆,目标识别(水平和 垂直两个方向)、自主避障等智能化方面展开研究。目前微小无人机能够短时间 内进行目标识别和自主避障等任务,但是这些所有的任务都是分阶段、单个逐 一完成,而不是连贯实现的。这说明微小无人机飞行控制系统抗干扰能力、稳 定性、持久性还不够高,自主飞行、自主目标识别、自主避障等智能化的任务 还没有完全实现。因此,要把微小无人机应用到战场或者民用市场上,使其作 用得到充分发挥还有待于这几个方面性能的提高。1.3 微小无人机的发展趋势目前国际空中机器人大赛和欧洲 MAV 大赛的参赛机型还是以旋翼直升机和 固定翼无人机为主,随着微机电技术的不断发展,高精度的伺服电机、高效率 的推进器、新能源的使用、高精度的集成 IMU、GPS 等更小更精确可靠的传感 器和执行机构涌现出来、更强大的控制器面世,相信像微型飞行昆虫那样的微 小扑翼机以及其他新奇的空中机器人将会出现并能自主完成越来越复杂的任 务。空中机器人的自主飞行和决策能力、图像处理和目标识别能力、系统的可 靠性和稳定性将会有很大的提高,完成各种制定动作和给定任务的能力也会进5 基于 ARM 的嵌入式 UAV 飞控系统设计及实现一步加强[2]。微小无人机将会应用于航拍、军队无人机的装配、边界巡逻、森林 火灾监测等等任务。未来的微小无人机将会更加智能化,充分发挥其目标识别、 自动跟踪、自主飞行、自主控制和决策[3]等能力。 图 1.7 是德国 Braunschweig 科技大学航空学院的 Carolo 微小无人机的系统 结构。今后的战场当中,微小无人机一方面作为单兵作战装备而投入使用,单 独与士兵手持终端联系,另一方面,微小无人机还会通过无线传输链路与互联 网等通信网络连接,使得微小无人机形成编队飞行,或者作为整个作战系统的 某一个节点而存在,实现应用场合由战术到战略的变革[4][5]。图 1.7 Carolo 微小无人机的硬件平台1.4 本文研究内容从低价位、低功耗、高性能等方面考虑,本文设计了微小无人机的自主飞 行控制系统整体方案、姿态确定系统方案,并完成了飞控系统硬件部分的设计、 制作、电路调试以及系统底层软件的设计。本文的内容包括: 介绍了微小无人机的研究现状及其发展趋势。 根据系统要求, 给出具体指标, 设计微小无人机飞行控制系统整体方案。 设计了微小无人机姿态确定系统方案。采用龙格库塔法和高斯-牛顿迭 代法分别求陀螺和加速度计/磁力计得出的四元数,利用卡尔曼滤波器综合两者 信息并计算姿态矩阵。 基于 ARM 的飞控系统硬件电路原理图设计、 PCB 绘制设计和电路调试。 包括 ARM 资源的介绍和应用、电源和复位电路设计;UART、SPI、JTAG 等接6 南京航空航天大学硕士学位论文口电路的设计;定时器的使用和 PWM 信号发生电路的设计;加速度计、陀螺、 磁力计等传感器的使用、A/D 采样电路的设计,介绍了制作 PCB 板的基本原则, 完成了飞控系统的硬件设计和 PCB 制作,以及相应的电路调试工作。 介绍了 CodeWarrior 和 ADS 这两个最基本的 ARM 开发软件的使用; 在 这两个开发环境下, 利用汇编语言以及 C 语言设计 ARM 的 Bootloader 程序, 设 计实现 UART、SPI、PWM 等底层程序以及编写基本的硬件测试程序。7 基于 ARM 的嵌入式 UAV 飞控系统设计及实现第二章 飞控系统整体方案设计2.1 引言自动飞行的原理如下[10]:飞机偏离原始状态,敏感元件感受到偏离方向和 大小,并输出相应信号,经放大、计算处理,操纵执行机构(称为舵机),使控制 面(例如升降舵面)相应偏转。由于整个系统是按负反馈的原理连接的,其结果是 使飞机趋向原始状态。当飞机回到原始状态时,敏感元件输出为零,舵机以及 与其相连的舵面也回到原位,飞机重新按原始状态飞行。+ -+ --航路规划 规定任务+ --飞行路径和 高度控制基本 控制器传感器及 信号处理阻尼图 2.1 微小无人机导航与控制框图飞控系统是空中机器人的大脑,使其具有“思想” ,与外界交互,根据外界 的情况作出反应。飞控系统指挥着空中机器人的一举一动,使得空中机器人能 在没有外界操纵干预的情况下完成自主飞行、目标识别、数据和图像的采集与 传输等智能化的任务;这也是空中机器人区别于一般航模的显著标志。 具体来说,飞控系统需要完成以下主要内容: 对空中机器人各种状态量的检测(包括姿态、位置、航向、高度、空速、 角速率、加速度等等); 对采集到的信号进行必要的加工处理; 给出控制信号(PWM)控制舵机及油门的动作; 通过无线通讯链路与地面站进行通讯,接受地面站的控制指令,并将空 中机器人的状态等信息传送给地面站; 机载数字摄像头和图像传输模块,将图像信息传输给地面站来进行图像 处理和目标识别。8 南京航空航天大学硕士学位论文2.2 微小无人机飞控系统举例现今比较流行的飞控系统基本上在以 DSP、ARM、FPGA 为主控制器的平 台上进行搭建,配以 MEMS 角速率陀螺、GPS、加速度计、高度/空速计、磁力 计、高分辨率摄像头等传感器;执行机构采用以 Futaba 为代表的伺服电机。下 面给出国外两款微小无人机飞控系统的平台设计方案[7][8] [9],两者都比较新颖和 具有代表性:Connex400MX:处理器:400MHz,32 位,Intel XScale PXA255,内存:64M 的 SDRAM,16M Flash。操作系统:Linux2.6,282MIPS;整体性能高。供电电压 3.4V 和 5V,尺寸 80mm×20mm。Suzaku-V(使用 FPGA):处理器:270MHz PowerPC405 32 位 RISC,内存:32M SDRAM,8MFlash。 操作系统:Linux2.4,154MIPS 指令效率高。自动驾驶仪装备 MEMS、IMU、GPS 等设备; 角速率±150°/s 和±300°/s 范围, 分辨率 0.3°/s 以上; 加速度±5g~ ±10g,精度大于 4mg;总重 45.3g。表 2.1 几个具有代表性的自动驾驶仪型号 尺寸 重量 功耗 主要 功能MP2028(加拿大)100×40×20AP50(美国)144×47×28ifly30(北航)80×40×3028g 1000mW稳定控制能力,能自 动起飞和自动滑跑 降落50g 800mW稳定控制能力, 有自动 起飞和开伞降落功能68g 1200mW姿态控制+稳定控制, 能自动起飞和自动降 落实物9 基于 ARM 的嵌入式 UAV 飞控系统设计及实现2.3 基本需求和指标根据比赛规则,基本需求如下: 飞行器起飞重量不得超过 5kg(固定翼)。 自行设计机载航空电子系统(数据链除外)。 飞行器能够自主空中飞行并完成规定的矩阵航线(不超过 4 平方公里)。 飞行器自主飞行时间不得少于 5 分钟,可在 60 分钟之内进行多次飞行, 但至少要完成 1 个封闭航线。 飞行器应具备目标搜索和识别功能(针对静态目标: 静止车队; 动态目标: 迷路旅行团。静态目标设置在矩形航线上;动态目标识别可遥控完成)。2.4 飞控系统整体方案根据系统的要求以及国内外微小无人机设计方案[11][12][13][14][15],本文设计基 于 920T 内核的三星公司的 S3C2440ARM 为控制处理器的机载飞控系统,执行 机构由南航航模队提供的 Futaba 伺服舵机, 控制信号为 20ms 周期的 PWM 信号, 脉宽在 1.05ms~1.95ms 之间。ARM2440 有 5 个 16 位定时器,其中 4 个有输出PWM 功能[16]。PWM 脉冲经过隔离、放大来驱动舵机。每一路 PWM 控制信号脉宽 1.05ms 至 1.95ms,使得舵机偏转到最大最小两个位置。由图 2.1 可知,要 形成控制的闭环回路,必须要有检测和反馈系统状态的传感器,包括无人机的 姿态、航向、经纬度、高度、空速、角速率等信号。由于 5 公斤级(最开始设计 时为 3 公斤级)的空中机器人体积、重量、功耗、负载能力等等都受限制,传统 的航空电子设备体积和重量都很大,不能应用在微小无人机领域。目前看来, 国内外普遍应用 MEMS 器件来获取姿态、位置、高度、空速、经纬度等信息。 此外,这中间还需要有 A/D 采样电路、信号调理电路对采集的电信号进行必要 的转换和简单的滤波。 随着无人机尺寸的减小,无人机本身固有频率增大;这就要求角速率陀螺 和加速度计有较高的响应频率(高度的测量延时对系统稳定的影响相对较小)。所 以,在微小无人机的飞控系统当中,陀螺、加速度计等传感器的更新频率、舵 机的响应频率、飞控系统的控制频率等都需要至少为 50Hz[16]。这对微小无人机 的整体设计和器件的选取具有指导性意义。10 南京航空航天大学硕士学位论文根据以上的分析,以及国内外微小无人机飞控系统设计方案,给出本系统 的整体方案框图,图 2.2 中虚线左边是地面部分,虚线右边是机载部分。2.4.1 控制器的简介 ARM2440 是三星公司的产品,属于 ARM9 系列。ARM9 系列微处理器在高性能和低功耗特性方面提供最佳的性能。具有以下特点:5 级整数流水线,指 令执行效率更高;提供 1.1MIPS/MHz 的哈佛结构;全性能的 MMU,支持多种 主流嵌入式实时操作系统;支持数据 Cache 和指令 Cache,具有更高的指令和 数据处理能力。摄像头 GPS 高度计 磁航向计CAMERA 地面测控站SPI1UART1UART0PWM 副翼舵 升降舵 油门 方向舵遥控/遥测 ARM 飞控计算机A/D采样 遥控手柄角速率 陀螺角速率 陀螺角速率 陀螺双轴加 速度计双轴加 速度计图 2.2 飞控系统方案整体结构框图选择三星公司的 ARM2440 作为 MCU,其内核 ARM920T 主频最高可达533MHz。ARM2440 资源主要有:内存控制器、NAND FLASH 控制器、时钟和电源管理单元、4 个 PWM 定时器、看门狗定时器模块、3 个 UART 异步串口、8 路 10 位 A/D 通道、2 路 SPI 接口、JTAG 调试接口、Camera 控制器(数码摄像机接口)等等。其中,通过对 4 路定时器编程可以很方便的产生 PWM 输出信号, 用于控制舵机及油门;而利用 JTAG 调试接口进行软件下载,便于在线调试和编 程。2.4.2 传感器的方案目前市场上有几款适合于微小无人机的 IMU 惯性测量产品,可以直接输出 机体的姿态角,但其价格动辄数十万。根据国内外微小无人机领域的低价位MEMS 传感器应用情况,以及系统整体低价位、小体积、低功耗的设计目标,11 基于 ARM 的嵌入式 UAV 飞控系统设计及实现本设计采用 ADXRS150 微机械角速率陀螺、 ADXL202 加速度计, 以及 HMR3000 磁力计模块作为姿态测量传感器。ADXRS150 和 ADXL202 的主要性能指标参见表 2.2。由表 2.2 可以看到, HMR3000 的主要性能指标有:方向精度 1°,分辨率 0.1°,重复精度 0.5°, ±60°倾角(俯仰、滚转)范围,工作电压 6V,电流 22mA,尺寸为 25×37 ×10mm,重量约 7.5g,使用温度范围-40℃~+85 ℃。 为获取机体的经纬度、高度等信息,本文选用 Jupiter 21 作为 GPS 接收机。Jupiter 21 的重量为 25g,尺寸为 41mm×71mm×11mm,功耗 5±0.5V@12mA,位置精度达 15 米,速度精度达 0.05m 米/秒,速度限制 515 米/秒。为配合其使用, 本文选用了型号为 G501 的 GPS 天线(重量 115g,体积 49mm×49mm×49mm,功 耗 60mW,工作范围-40℃~+ 75℃),该天线可采用磁吸附或者其他方式固定到飞 机的表面上。表 2.2 两种姿态传感器方案比较产品 指标 测量范围 线性度 带宽 温度漂移 电压/电流 重量/尺寸ADXRS150角速度ADXL202比力SXIMU: 6 自由度惯性测量单元 角速度 比力±150°/s 0.1 80Hz 5mV 5V/6mA 0.5g 0.15cm2±2g 0.2 500Hz ±0.5% 5V/1mA 5g 10×9.9×5.5mm±900°/s 0.1±20g 0.2价格昂贵, 暂不考虑目前市场上价格低廉的重量轻、体积小、功耗低的高度/空速计很少,大多 数厂家提供的是压力传感器,我们可以通过对气压的测量转换成气压高度,这 需要我们自行设计实现。本方案准备选用一款压力传感器来设计高度计,通过SPI 接口与本飞控系统连接。 2.4.3 执行机构本文执行机构采用由南航航模队提供的 Futaba 伺服舵机,控制信号为 20ms 周期的 PWM 信号, 脉宽在 1.05ms~1.95ms 之间。 ARM2440 有 5 个 16 位定时器,12 南京航空航天大学硕士学位论文其中 4 个有输出 PWM 功能。 PWM 脉冲经过隔离、 放大来驱动舵机。 每一路 PWM 控制信号脉宽 1.05ms 至 1.95ms,使得舵机偏转到最大最小两个位置。2.4.4 无线数据链路根据大赛的要求,空中机器人要完成飞行 4 平方公里的矩形航线;这就要 求无线通讯设备的通讯距离至少达到 2.81 公里。本文采用了 Maxstresm 9Xtend 无线数传电台作为数据链路,实现空中机器人和地面控制站的无线通讯。如图2.3 所示,数传电台包括机载 OEM 板和地面整机两部分。图 2.3 Maxstream 9Xtend 通讯模块2.4.5 电源电源部分采用的是 14.4V 锂电池组(为了满足摄像头 12V 的工作电压), 容量 为 1700mAh,重 150g,基本满足系统需求[17]。2.5 小结目前国内参加空中机器人大赛的参赛队伍主要采用现成的飞机模型和自动 驾驶仪,在此平台上搭建飞控软件参加比赛,总体耗资几十万乃至上百万,价 格相当昂贵。本章提出了自行设计的低价位微小无人机飞行控制系统的整体方 案。根据以上的方案设计,飞控系统重量合计大约为 80g,功耗约为 1200mW, 加上电池、GPS 天线等设备,总共重量约 400g,功耗约 2W。13 基于 ARM 的嵌入式 UAV 飞控系统设计及实现第三章 姿态确定系统设计3.1 引言捷联惯导系统(SINS)是将惯性仪表直接固联在载体上而无须采用机械陀螺 稳定平台,通过导航计算机中相应程序建立“数学的”陀螺稳定平台,即计算 机处理测量值得到载体位置、速度和运动方向估计值以实现导航平台功能。尽 管 SINS 于 20 世纪 50 年代即在美国获得专利,但开始时因受限于惯性设备和计 算机技术的发展而未能实用。近年来,电子和高速计算机技术的发展使得捷联 技术得以实现和充分发展,这是惯性技术在近 20 年内发展的一个重要的标志。INS 的核心部件是惯性测量单元(IMU),按照其陀螺仪和加速计等元件的精度,可将惯导分为不同等级:战略级(&0.0001°/h,1 ?g )、导航级(0.)°/h,5~100 ?g )、低成本((1~10°/h,(0.1~1) mg ) [19]。加速 度计fb比力 坐标 转换Cbpfp速度 ? p 修正Vp位置计 算?、λ、hCbp 计算姿态计算φ、θ、ψQ四元数 Q 的最佳 归一化位移角 速率计 算四元数 Q 的即时 修正b ωnb陀螺b ωib姿态速 率计算b ωib?b ωie地球速率 计算ωie图 3.1 捷联惯导系统原理框图14 南京航空航天大学硕士学位论文姿态信息是飞行控制中重要的参数之一,因此姿态测量成为飞行控制系统 首要解决的问题。微小无人机的姿态确定主要有两类方法:1) 延续一般运载体采用惯性仪表、惯性组合导航系统来确定姿态的思想,基于 MEMS 惯性敏感器,研制微型捷联惯性导航系统(Strap down Inertial Navigation System,SINS)、组合导航系统[20]; 2) 采用非惯性技术的手段,确定微小无人机姿态,实现姿态稳定。这两类方法当中,最主要的姿态测量方法有如下 6 种[21]: ◆用加速度计作为倾角计,测量出滚转角和俯仰角,GPS 速度方向作为航 向角(该方法只有在固定翼飞机上,飞机以足够产生 GPS 方向角的速度飞行才有 效); ◆基于三轴加速度计和三轴磁力计,利用大地磁场和重力场在地理坐标系 和机体坐标系之间的方向余弦转换进行绝对角度解算得到 3 个姿态角[22]; ◆基于三轴陀螺、三轴加速度计、三轴磁力计或 GPS 组合的 Kalman 滤波 方法[23]; ◆利用 GPS 的载波相位信号来确定机体的姿态,这需要至少 3 个 GPS 接收 机; ◆利用红外温度信号,通过固定在机体上的多对红外传感器测量天空和地 面的温差来得到机体的姿态[24]; ◆通过图像信号提取姿态信息[25]。 本章结合以上几种方法,介绍了利用四元数法和卡尔曼滤波器解算姿态的 方法。 姿态就是联系动坐标和参考坐标系角位置的参数。欧拉角和四元数是常用 的表示姿态的两种方式[26]。四元数由于可以避免欧拉角的奇异问题而得到更广 泛的应用。3.2 四元数和姿态矩阵由 Hamilton 引入的四元数可写为: Q = q0 + q1i + q2 j + q3 k 其中, i 2 = j 2 = k 2 = ?1, ij = k , jk = i, ki = j = ik 。 四元数乘法定义如下:(3.1)15 基于 ARM 的嵌入式 UAV 飞控系统设计及实现? p0 ?p r = ( p0 + p1i + p2 j + p3 k ) ? ( q0 + q1i + q2 j + q3 k ) = ? 1 ? p2 ? ? p3? p1 p0 p3 ? p2? p2 ? p3 p0 p1? p3 ? ? q0 ? ? ? p2 ? ? ? q1 ? ? p1 ? ? q3 ? ?? ? p0 ? ? q4 ?(3.2)四元数可用来表示矢量旋转,其矢量部分定义了旋转轴,标量部分定义了 旋转角度。如果旋转轴由参考系的方向余弦来定义,并且四元数范数限制为单 位范数,则可以方便地表示旋转。设方向余弦角分别为 φ , θ ,ψ ,n 为沿旋转轴的 单位矢量,其中, n= [ cos φ 为:cos θ cosψ ]T,矢量 u 绕 n 轴旋转 δ 角度后的矢量νν = Q ? u ? Q ?1(3.3)式中, Q ?1 是四元数 Q 的逆, Q ?1 = q0 ? q1i ? q2 j ? q3 k ,方程(3.3)也可以写成 矩阵乘法的形式:ν = Q ? u ? Q ?1 = Tu2 2 2 ? q0 + q12 ? q2 ? q3 ? 其中, T = ? 2(q1q2 + q0 q3 ) ? 2(q1q3 ? q0 q2 ) ?(3.4)2(q1q3 + q0 q2 ) ? ? 2(q2 q3 ? q0 q1 ) ? 2 2 2? q0 ? q12 ? q2 + q3 ?2(q1q2 ? q0 q3 ) q ?q +q ?q 2(q0 q1 + q2 q3 )2 0 2 1 2 2 2 3(3.5)矩阵 T 的姿态角形式为:? cos φ cosψ ? sin θ sin φ sinψ T=? ?cos φ sinψ + sin θ sin φ cosψ ? ? sin φ cos θ ? ? cos θ sinψ cos θ cosψ sin θ sin φ cosψ + sin θ cos φ sinψ ? (3.6) sin φ sinψ ? sin θ cos φ cosψ ? ? ? cos φ cos θ ?由式(3.6)可知:θ = arcsin T32 , φ = arctan?T31 ?T ,ψ = arctan 12 T33 T22(3.7)在捷联姿态算法种主要涉及两个坐标系:导航坐标系――选地理坐标系 n 系 ENU 为导航坐标系,载体坐标系 b 系的原点是载体的质心, Oyb 轴指向载体 纵轴方向, Ozb 指向载体竖轴方向, Oxbybzb 坐标构成的右手直角坐标系即为载体 坐标系。载体坐标系相对于当地地理坐标系的姿态角由航向角、俯仰角、横滚 角来表示。则两个坐标间系的转换矩阵 T = Tbn ,且由于矩阵正交的特性有Tbn = Tnb ?1 = TnbT 。因此有:16 南京航空航天大学硕士学位论文2 2 2 ? q0 + q12 ? q2 ? q3 ? Tnb = ? 2(q1q2 ? q0 q3 ) ? 2(q1q3 + q0 q2 ) ?2(q1q2 + q0 q3 )2 2 2 q0 ? q12 + q2 ? q3 2(q2 q3 + q0 q1 )2(q1q3 ? q0 q2 ) ? ? 2(q2 q3 + q0 q1 ) ? 2 2 2? q0 ? q12 ? q2 + q3 ?(3.8)我们称 Tbn 为姿态矩阵,或者称作捷联矩阵。式(3.7)中的三个值就分别是俯 仰角、滚转角和航向角;由四元数就可以确定机体的姿态[27]。 一般情况下,俯仰角的定义域为 ±90o ,滚转角定义域为 ±180o ,航向角为0o ~ 360o ,以北向偏东为正。因此(3.7)式中的 3 个姿态角判断其真值 θ,φ,ψ 的公式如下:θ真 = θφ ? ? φ真 = ?φ + 180o o ? ?φ ? 180 ψ真?ψ ? = ? ψ + 360o ?ψ + 180o ? T33 & 0 T33 & 0,φ & 0 T33 & 0,φ & 0 T22 & 0,ψ & 0 T22 & 0,ψ & 0 T22 & 0(3.9)(3.10)(3.11)3.2.1 四元数更新对于刚体来说,动态的姿态可以用四元数法表示:Q = ? (ω )gQ?(3.12)其中, Q = [ q0 , q1 , q2 , q3 ] 是姿态四元数向量,T?0 ? 1 ?ω1 ? ( ω) = 2 ?ω2 ? ?ω3?ω1 0 ?ω3?ω2ω30 ?ω1ω2?ω3 ? ?ω2 ? ? ω1 ? ? 0 ?(3.13)其中, ω 是机体系相对于导航系的角速率矢量, ω1 是滚转角速率, ω2 是俯 仰角速率, ω3 是偏航角速率。利用陀螺输出的角速率便可以更新四元数。 b 采样时间 ?t 内转角 ?θ nb 的模:?θ =b 2 ( ? θ xb ) 2 + ( ? θ y ) + ( ? θ zb ) 2(3.14)b 小采样间隔 ?t 内 ωnb 看作常值,令 S = ? (ω ) ? ?t ,可得上述四元微分方程离17 基于 ARM 的嵌入式 UAV 飞控系统设计及实现散解析解:Q(t + ?t ) = (cos ?2θ ? I +sin( ?θ 2 ) ?θ? S ) ? Q(t )(3.15)即在初始时刻四元数 Q(t ) 基础上, 由采样时间内旋转角速度增量 ωb nb 可算得 下一时刻四元数 Q(t + ?t ) 。由式(3.5)得到的四元数 Q 和坐标变换矩阵 Tbn 的关系 即可得到姿态矩阵 Tbn 。 由更新后的四元数值可解得相应 Tbn 阵,这两者都存储下来作为再次循环初 值使用。因此,四元数更新算法是根据初始时刻坐标转换矩阵 Tbn 及四元数 Q(t ) , 递推更新计算下一时刻坐标转换矩阵 Tbn 及四元数 Q(t + ?t ) 。 四元数更新常用的方法有两种:一种是等效旋转矢量法,另一种是龙格库 塔法[28]。3.2.1.1 等效旋转矢量法更新四元数旋转矢量表示为: Φ (t ) = [Φ x,Φ y,Φ z ]T , 它可以唯一确定刚体在 t 时刻的姿 态运动,即以 Φ(t ) 为轴,转动角度大小等于旋转矢量 Φ(t ) 的幅值。当以旋转矢 量描述机体姿态运动时,有如下的近似旋转矢量微分方程[29]:Φ =ω +g1 1 Φ ×ω + gΦ × ( Φ × ω ) 2 12(3.16)式中, Φ 是旋转矢量, ω 是机体角速率矢量。如果假定在式(3.16)中,一 个角速度计算周期内 ω = a + b ? t ,可推导出等效旋转矢量双子样计算公式为:2 Φ = ?θ1 + ?θ 2 + g?θ1 × ?θ 2 3 (3.17)其中, ?θ1 = ∫t+h2tω (t ) dt; ?θ 2 = ∫t +ht +h 2ω (t ) dt; h 为采样周期。如果我们假定在一个角速度计算周期内 ω = a + b ? t + c ? t 2 ,可推导出等效旋 转矢量三子样计算公式为:Φ = ?θ + 0.45 ? (?θ1 × ?θ3 ) + 0.675 ? ?θ 2 × (?θ 3 ? ?θ1 )(3.18)用等效旋转矢量法四元数更新的一般方法为:Q (t + h) = Q(t ) ? ?q (3.19)其中, Q(t + h) 和 Q(t ) 分别为载体在时刻 t + h 和 t 的姿态四元数, ?q 为更新四18 南京航空航天大学硕士学位论文元数,它同旋转矢量的关系为:?q = [C , S gΦ x , S gΦ y , S gΦ z ]T1(3.20)(Φ gΦ T)2 为 旋 转 矢 量 的 模 , 其 中 , C = cos(Φ 0 / 2), S = sin(Φ 0 / 2), Φ 0 =Φ x , Φ y , Φ z 分别为旋转矢量在载体坐标系各轴上的投影[30][31]。3.2.1.2 龙格库塔法更新四元数四 元 数 的 更 新 另 一 种 方 法 就 是 直 接 对 式 (3.12) 求 解 便 可 实 时 地 求 出q0 , q1 , q2 , q3 。通常采用四阶龙格-库塔法求解[32]。求解过程可以写成如下四元数递推公式:Q(t + h) = Q(t ) + 1 6 ( k1 + 2k 2 + 2 k3 + k 4 ) (3.21)式(3.21)当中, k1 , k2 , k3 , k4 分别为:b b b h h h h h k1 = h 2 ?[ωnb (t )]Q (t ) , k 2 = 2 ?[ωnb (t + 2 )](Q (t ) + 2 k1 ) , k3 = 2 ?[ωnb (t + 2 )] b h (Q(t ) + h 2 k 2 ) , k 4 = 2 ?[ωnb (t + h)](Q (t ) + k3 ) , h 是计算更新周期。下面给出Matlab下编写的龙格-库塔法更新四元数的部分程序。function [q0,q1,q2,q3,wt,wh,wth]=Longekuta(w1,w2,w3,q0,q1,q2,q3,wh,wth) %%%%%% h=1;%更新周期 q=[q0;q1;q2;q3]; wt= wh= %迭代值 wth= [0,-w1,-w2,-w3; w1, 0, w3, w2; w2,-w3, 0, w1; w3, w2,-w1, 0]; k1=0.5*h*wt*q; k2=0.5*h*wh*(q+k1/2); k3=0.5*h*wh*(q+k2/2);19 基于 ARM 的嵌入式 UAV 飞控系统设计及实现k4=0.5*h*wth*(q+k3); q =q+(k1+2*k2+2*k3+k4)/6 ; q0=q(1); q1=q(2); q2=q(3); q3=q(4);对于等效旋转矢量法和龙格库塔法算法的比较如下: 根据文献[31]中的结论:如果飞行器处于高动态飞行状态,有高速旋转或 者存在圆锥运动的情况,那么等效旋转矢量法较适合; 由文献[30]的结论: 如果陀螺输出的是速率信号,龙格库塔法算法具有一定 的优越性。 本文设计采用的是应用 ADXL150 角速率陀螺来获取姿态角, 而且微小无人 机飞行当中基本没有高速旋转运动和圆锥运动,所以采用龙格-库塔法更新四元 数。 在对四元数进行修正后,由于舍入误差,截断误差以及变换误差等各种误 差的存在,导致捷联矩阵成为非正交矩阵,因此对捷联矩阵进行正交化处理可 以消除引起不正交的算法误差源的影响,其主要目的是使得采用四元数方法获 得的转换矩阵漂移误差最小,归一化过程如下: 设 Q 是已经修正更新过的四元数,则有: Q = q0 + q1i + q2 j + q3 k 。 而归一后 Q 的各个分量为:qi =∧qi2 2 2 + q12 + q2 + q3 q0(3.22)3.2.2 加速度计和磁力计计算测量四元数 MEMS 加速度计和磁力计由于其低功耗,小尺寸,重量轻而被广泛应用。根据牛顿定理,惯性系统的比力方程可以表示为:Vep = f ? (2ωie + ωep ) × Vep + gg g(3.23)式中, Vep 和 Vep 分别是载体的速度和加速度矢量; (2ωie + ωep ) × Vep 为科里 奥里(Coriolis)加速度; f 为加速度计的观测结果,即比力; g 为当地的重力加速 度矢量。加速度计测量的比力 f 通过姿态矩阵 Tbn 可转换为 f n ,即 f n = Tbn f b 。20 南京航空航天大学硕士学位论文? f xn ? ?T11 T21 T31 ? ? f xb ? ? n? ? ?? b? ? f y ? = ?T12 T22 T32 ? ? f y ? b? ? f zn ? ? ?? ? ? ?T13 T23 T33 ? ? fz ?(3.24)在静态情况下,载体角速度和线加速度为 0,则可认为 f = ? g ,由(3.24)可 知:f b = Tnb f n + η1(3.25)而在地理坐标系下, 加速度这时的测量值应该为: f n = [0, 0, g ]T , 则可认为:f b = Tnb [0, 0, g ]T + η1(3.26)同样,用磁力计测量地磁场时也有类似的结论:三个磁力计分别沿机体坐 标系的三轴放置,分别测量地球磁感强度 M 在机体坐标系三轴上的投影分量。M b = Tnb M n + η2其中 Μ n = [ 0 mnT(3.27)md ] , mn 是地磁场在 ENU 坐标系中的北向分量, md 是地磁场在 ENU 坐标系中的垂直分量(在这里忽略磁偏角,而且磁偏角很容易校 正);η1 和η 2 是测量误差,假定他们是方差阵为 V1 和 V2 的零平均高斯白噪声。 根据加速度和磁力计的测量值便可解算出姿态矩阵,由式(3.8)、(3.26)和(3.27) 有:? f x = 2 g (q1q3 ? q0 q2 ) ? f = 2 g (q q + q q ) 2 3 0 1 ? y ? 2 2 2 2 ? f z = g (q0 ? q1 ? q2 + q3 ) ? 2 m ( q q ? q q ) + m ( q 2 + q 2 ? q 2 ? q 2 ) + 2m ( q q + q q ) = 0 x z 0 1 2 3 1 3 0 2 ? y 1 2 0 3(3.28)式(3.28)为四元数的非线性方程组,可以利用高斯-牛顿迭代法求解[33],得 到相应的转动四元数。3.2.2.1 高斯-牛顿迭代法由于系统自身的非线性,以及状态变量之间的相互耦合关系,使得在计算 状态量的过程中遇到求解非线性方程组的问题。工程应用多采用牛顿迭代法来 解非线性方程。对于非线性方程的根,一般采用牛顿法、简化牛顿法、牛顿下 山法等方法求解[34]。 对于方程 f ( x) = 0, 如果 f ( x) 是线性函数,则它的求根是容易的,牛顿法实 质上是一种线性化方法, 其基本思想是将非线性方程 f ( x) = 0 逐步归结为某种线21 基于 ARM 的嵌入式 UAV 飞控系统设计及实现性方程求解。 设已知方程 f ( x) = 0, 有近似根 xk ( f ' ( xk ) ≠ 0) , 将函数 f ( x) 在点 xk 展 开,有:f ( x) ≈ f ( xk ) + f ' ( xk )( x ? xk )(3.29)于是方程 f ( x) = 0 可近似地表示为:f ( xk ) + f ' ( xk )( x ? xk ) = 0(3.30)这个线性方程,记其根为 xk +1 ,则 xk +1 的计算公式为:xk +1 = xk ? f ( xk ) , k = 0,1,... f '( xk ) (3.31)这就是牛顿法,该算法的几何意义如图 3.2:图 3.2 牛顿迭代法的原理图再考虑方程组:? f1 ( x1 ,..., xn ) = 0 ? ... ? ? f ( x ,..., x ) = 0 n ? n 1(3.32)其 中 , f1 ,..., f n 均 为 ( x1 ,..., xn ) 的 多 元 函 数 , 若 用 向 量 记 号 记x = ( x1 ,..., xn )T ∈ R n , F = ( f1 ,..., f n )T ,式(3.32)就可以写成F( x) = 0(3.33)当 n ≥ 2 ,且 fi (i = 1,..., n) 中至少有一个是自变量 xi (i = 1,..., n) 的非线性函数 时,则称方程组为非线性方程组,非线性方程组的求根问题是单变量函数求根 问题的推广。实际上,将牛顿迭代法当中的 f (x)看成 F( x) ,则式(3.32)的一个近(k ) T 似根 x ( k ) = ( x1( k ) ,..., xn ) ,将函数 F( x) 的分量 fi ( x)(i = 1,..., n) 在 x ( k ) 用多元函数泰22 南京航空航天大学硕士学位论文勒展开,并取线性部分,则可表示为: F( x) = F( x ( k ) ) + F '( x ( k ) )( x ? x ( k ) ) 令式(3.34)右端为零,得到线性方程组: F '( x ( k ) )( x ? x ( k ) ) = ?F ( x ( k ) ) 其中,? ?f1 ( x) ? ?x 1 ? ? ?f 2 ( x) ?x1 F '( x) = ? ? ? ... ? ? ?f n ( x) ? ? ?x1 ?f1 ( x) ? ?xn ? ? ?f 2 ( x) ?f 2 ( x) ? ... ?x2 ?xn ? ? ... ... ... ? ? ?f n ( x) ?f n ( x) ? ... ?x2 ?xn ? ? ... ?f1 ( x) ?x2(3.34)(3.35)(3.36)称为 F( x) 的雅克比(Jacobi)矩阵,求解线性方程组(3.26),并记解 x ( k +1) ,则得x ( k +1) = x ( k ) ? F '( x ( k ) ) ?1 F ( x ( k ) ), k = 0,1,... (3.37)这就是解线性方程组(3.32)的牛顿迭代法。 设 f : R n → R m 是 Frechet 可微的, m ≥ n 。则非线性最小二乘问题可描述为 下面的极小化问题:min F( x) : 1 f ( x)T f ( x) 2 (3.38)作为最优化问题的一个重要方面,非线性最小二乘问题在数据拟合,参数 估计和函数逼近等方面有广泛的应用。Guass-Newton 是求解非线性最小二乘问 题的最基本的方法之一。其 n+1 步迭代定义为:xn +1 = xn ? [ f '( xn )T f '( x)]?1 f '( xn ) f ( xn )(3.39)在实际应用当中,通常用广义逆 F '( x ( k ) ) + = ( F '( x ( k ) )T F '( x ( k ) )) ?1 F '( x ( k ) )T 代替 式(3.37)中的 F '( x ( k ) ) ?1 ,这就是Guass-Newton在非线性方程组求解当中的应用。 在Matlab下用高斯-牛顿迭代法计算求解四元数的部分程序如下:%%输入ax,ay,az,mx,my,mz和迭代初始值q_0,q_1,q_2,q_3 %%输出四元数q0,q1,q2,q3 g=9.7803698;%加速度常量 M=10000; %迭代次数上限23 基于 ARM 的嵌入式 UAV 飞控系统设计及实现e=0.0001; F=zeros(4,1);%% q0=q_0; q1=q_1; q2=q_2; q3=q_3; q=[q0;q1;q2;q3]; F(1,1)=2*g*(q1*q3-q0*q2)- F(2,1)=2*g*(q2*q3+q0*q1)- F(3,1)=2*q*(q0^2-q1^2-q2^2+q3^2)- F(4,1)=2*mx*(q1*q2+q0*q3)+my*(q0^2+q1^2-q2^2-q3^2)+2*mz*(q2*q3-q0* q1); Fj=zeros(4,4); %雅克比矩阵 for b=1:1:M Fj(1,1)=-2*g*q2; Fj(1,2)= 2*g*q3; Fj(1,3)=-2*g*q0; Fj(1,4)= 2*g*q1; Fj(2,1)= 2*g*q1; Fj(2,2)= 2*g*q0; Fj(2,3)= 2*g*q3; Fj(2,4)= 2*g*q2; Fj(3,1)= 2*g*q0; Fj(3,2)=-2*g*q1; Fj(3,3)=-2*g*q2; Fj(3,4)= 2*g*q3; Fj(4,1)=2*mx*q3+2*my*q0-2*mz*q1; Fj(4,2)=2*mx*q2-2*my*q1-2*mz*q0; Fj(4,3)=2*mx*q1+2*my*q2+2*mz*q3; Fj(4,4)=2*mx*q0-2*my*q3+2*mz*q2; q=[q0;q1;q2;q3]; q=q-inv(Fj'*Fj)*Fj'*F;%广义逆矩阵24 南京航空航天大学硕士学位论文q0=q(1); q1=q(2); q2=q(3); q3=q(4); F(1,1)=2*g*(q1*q3-q0*q2)- F(2,1)=2*g*(q2*q3+q0*q1)- F(3,1)=2*q*(q0^2-q1^2-q2^2+q3^2)- F(4,1)=2*mx*(q1*q2+q0*q3)+my*(q0^2-q1^2+q2^2-q3^2)+2*mz*(q2*q3-q0* q1); if( (abs(F(1))&e)&(abs(F(1))&e)&(abs(F(1))&e)),尽管 Newton 法具有较高的收敛速度[39],但在每一步迭代中,要计算 n 个函 数值 f ' 以及 n 2 个导数值 f ' 形成 Jacobi 矩阵 f '( X k ) ,而且要求 f '( X k ) 的逆矩阵 或者解一个 n 阶线性方程组,计算量很大。为了减少计算量,在上述 Newton 法 中,对一切 k=0,1,2,…,取 f '( X k ) 为 f '( X 0 ) ,于是迭代公式便修正成为:X k+1 =X k -[f '(X k )]-1 -f (X k ), k=0,1,2 ??? (3.40)该方法能使计算量大为减少,但却大大降低了收敛速度。简化的牛顿算法 与牛顿算法的区别就在于前者只由给定的初始近似值计算一次 f '( X k ) ,在接下 来的每一次迭代过程中不再计算 f '( X k ) ,保持计算初始值。3.2.3 卡尔曼滤波器惯性传感器的漂移是影响航姿仪性能的重要因素。陀螺可以测量出绕某个 轴的旋转角速度,对其积分可得到姿态角,但是测量的偏移在积分之后会引起 姿态角的漂移;加速度计用来测量比力,也可以直接用来测量出机体的倾斜, 在机体静止的情况下,这种方法可以得到较高的测量精度,但是当存在运动的 情况下不可能得到很好的估计值;陀螺的输出受温度及加速度的影响较为严重, 必须对采样得到的数据进行校正才可以用于姿态估计;相比较而言,加速度的 偏移较小,引入姿态估计的误差也较小,对于校正之后的数据,仍需要采用卡 尔曼滤波器才能抑制漂移的影响,得到可用于控制的姿态数据。由加速度计和 磁力计所确定的姿态只适用于静态载体,因为此时的重力矢量和地磁场矢量在 机体坐标系上的投影是始终不变的,但对于动态情况,由于载体机动而引起的25 基于 ARM 的嵌入式 UAV 飞控系统设计及实现附加加速度影响加速度计的输出,因此必须对其进行补偿。因此要想得到动态 状态下稳定的航向姿态,需要进行卡尔曼滤波,利用卡尔曼滤波去估计系统的 各种误差(称为误差状态),再用误差状态的估计值去校正系统,从而对航姿系统 进行修正[35]。3.2.3.1 卡尔曼滤波器设计一般的卡尔曼滤波问题都假设物理系统模型是线性的。但是,工程实践中 所遇到的具体问题,其数学模型往往是非线性的,即不仅状态方程是非线性的, 而且观测方程也可能是非线性的。 对非线性系统,其连续系统和离散系统模型以及它们的量测矢量,有以下 模型:X (t ) = f [ X (t ), t ] + W (t ) Z (t ) = h[ X (t ), t ] + V (t )X k = X k ?1 + f [ X k ?1 , k ? 1] + Wk∧ ∧ ∧g(3.41) (3.42) (3.43) (3.44)Z k = h[ X k , k ] + Vk其中,X 是状态矢量,W 是协方差阵为 Qk 的过程噪声矢量;Z 是量测矢量,h 是系统观测矩阵, V 是协方差阵为 Rk 的量测噪声矢量。卡尔曼滤波器计算状态 X 的最优估计 X 的递归算法。卡尔曼滤波器在利用几个不同噪声测量值来估 计无法直接测量的变量方面非常有效。陀螺是通过对角速率信号积分来获得姿 态,加速度计和磁力计能提供不同噪声、无漂移的姿态。卡尔曼滤波器能够适 当权衡两方面信息,充分利用从各个传感器得到的数据[35]。 对非线性系统状态进行卡尔曼滤波估计时,最简单的方法是线性化,然后 按线性方程进行估计。广义卡尔曼滤波是常用的一种线性化滤波方法,它是围 绕估值将系统方程和量测方程进行线性化的。经过线性化后的方程为:X k |k ?1 = X k ?1 + f [ X k ?1 , k ? 1]TX k = X k |k ?1 + K k [ Z k ? h( X k |k ?1 , k )] Pk |k ?1 = Φ k , k ?1 Pk ?1ΦT k , k ?1 + Qk ?1∧ ∧ ∧ ∧ ∧ ∧∧(3.45) (3.46) (3.47)26 南京航空航天大学硕士学位论文T T K k = Pk |k ?1 H k ( H k Pk |k ?1 H k + Rk ) ?1 T Pk = ( I ? K k H k ) Pk |k ?1 ( I ? K k H k )T ( I ? K k H k )T + K k Rk K k(3.48) (3.49) (3.50) (3.51)Φ k , k ?1 = I + Fk ?1T = I + Hk = ?f [ X ( tk ?1 ) , t ] ?X (tk ?1 )?h[ X (tk ?1 ) , tk ?1 ] ?X (tk ?1 )gX ( tk ?1 ) = X K ?1gX ( tk ) = X K其中, I 是单位矩阵。 对于 MEMS 陀螺,给出陀螺的简单实用的随机模型如下[37][38]:ωout = ω + b + λ1斯白噪声。 b 是陀螺的随机常数,近似表示为:(3.52)其中, ωout 是陀螺输出值, ω 是实际值, λ1 表示陀螺方差为 Q 的零平均高d b=0 dt本文假定加速度计的误差模型为一阶马尔科夫过程,即:x ( k + 1) = e ? β T x ( k ) + w ( k )(3.53)对于加速度计,其误差模型一般为随机常数和一阶马尔科夫过程的组合。(3.54)其中 1 / β 为相关时间常数, w ( k ) 为零平均白噪声。 令状态量 X =? ? q0q1 q2 q3 bx by bz ? ? 。 其 中 , q0 , q1 , q2 , q3 是 将Tt , t + h / 2 , t + h 时刻陀螺输出的角速率除去随机常数后代入式(3.21) 解算出的四元数, bx , by , bz 是陀螺输出信号中的随机常数。得到式(3.41)中状态更新函数:X = f ( X , ωout ) , z = h( X )g(3.55)其中, ωout 是陀螺输出的角速率。 ?? (ωout ? b ) q ? f ( X , ωout ) = ? ? , h( X ) = [ I 4×4 ?03×1 ? 这样,观测矢量为: z = [q0 , q1 , q2 , q3 ]T 入捷联矩阵,得出姿态角。04×3 ] X(3.56) (3.57)姿态估计的流程图如图(3.3)所示, 经过扩展卡尔曼滤波器滤波后的四元数代27 基于 ARM 的嵌入式 UAV 飞控系统设计及实现陀螺ωq(h)龙格库塔法加速度计fGauss-Newton 迭代法扩 展 卡 尔 曼 滤 q(m) 波 器? ?,ω q姿态计算磁力计M图 3.3 姿态估计流程图采用加速度计和磁力计测量估计四元数,这是基于假定载体是静态的情况 下。然而实际当中,微小无人机,尤其是 MAV,经常处在高动态机动飞行状态。 载体自身的机动而引起的附加加速度和重力加速度相当,而且加速度计的输出, 是不可忽略的。因此,依靠加速度计来测量重力场是不可靠的,还要结合别的 测量方法来消除这些附加加速度的影响。3.3 姿态确定系统的仿真下面对四元数和卡尔曼滤波器姿态确定方法进行静态仿真。由式 (3.52) 和(3.54)建立 MEMS 陀螺和加速度计的模型。利用高斯-牛顿法得出四元数的测量值,利用四阶龙格库塔法得出四元数的 更新值,带入式(3.45)~式(3.51),求得卡尔曼滤波后的四元数,再根据式(3.6)~ 式(3.8),式(3.9)~式(3.11)得出卡尔曼滤波后的姿态角。通过比较陀螺直接积分得 出的姿态角和卡尔曼滤波后的姿态角,陀螺输出随着时间的递增漂移越来越大。 而经过卡尔曼滤波后的姿态角没有出现漂移,但是由于计算量测四元数过程中 用到了高斯-牛顿迭代法,每一步迭代都需要求解雅克比矩阵及其逆矩阵,计算 量很大。 如图 3.5 (a)所示,有时对雅克比矩阵求逆会出现矩阵近乎奇异的情况,使得 迭代后的姿态角离真实值出现很大的偏差,有的文献上将这些离真实值偏差很 大的点称为“野点” 。迭代步长设定不当“野点”就会较多。 通过改变高斯-牛顿迭代法的迭代步长和 “零” 判据, 可以大大减少这些 “野 点” ,如图 3.5(b)所示。28 南京航空航天大学硕士学位论文因此,设置合理的迭代步长对于高斯-牛顿迭代法来说是很重要的。 图 3.6 是静态情况下卡尔曼滤波器输出的姿态角。可以看到,经过卡尔曼滤 波器后的姿态角输出没有漂移;这说明卡尔曼滤波器利用了加速度计和磁力计 的输出信息校正陀螺解算出的四元数,消除了陀螺的静态漂移给解算姿态角带 来的影响。1010) 度 ( 角 转 滚0 -10 -20 -30真实值 陀螺积分 卡尔曼滤波) 度 ( 角 转 滚5真实值 陀螺积分 卡尔曼滤波0-50100200300400500600700010020030040050060070050高斯牛顿迭代法的野点真实值 陀螺积分 卡尔曼滤波10) 度 ( 角 仰 俯高斯牛顿迭代法的野点 度 ( 角 仰 俯0 -10真实值 陀螺积分 卡尔曼滤波0-500100200300400500600700-200100200300400500600700160) 度 ( 角 向 航140 120 100 80真实值 陀螺积分 卡尔曼滤波1100100200300400500600700度 角 向 航100真实值 陀螺积分 卡尔曼滤波9080时间(秒)0100200300400500600700时间(秒)图 3.5(a) 迭代步长设置不当引起较多 “野点”50图 3.5(b) 改变迭代步长,减少“野点”) 度 ( 角 转 滚0-50-1000500100015002000250030003500400020) 度 ( 角 仰 俯0 -20 -40 -60高斯牛顿野点0 500 00 00 4000250) 度 ( 角 向 航200 150 100 5005001000150020002500300035004000时间(秒)图 3.6 卡尔曼滤波器静态输出3.4 小结本章设计了微小无人机的姿态确定系统的方案,利用四元数法、高斯-牛顿 法、龙格库塔法和扩展卡尔曼滤波器构成的姿态确定系统。在利用高斯-牛顿迭 代法解非线性方程组来求量测四元数的时候由于要对其中的雅比矩阵求逆矩 阵,计算量相对较大,在某些时候会出现矩阵近乎奇异的结果,使得姿态确定 系统出现了不收敛的“野点” 。29 基于 ARM 的嵌入式 UAV 飞控系统设计及实现第四章 飞控系统硬件设计4.1 引言飞控系统的硬件部分是整个系统的基础,决定了整个系统性能的稳定性和 可靠性。飞控系统硬件是飞控软件的载体;一方面采集机体的角速率、姿态、 航向、空速、高度、位置等信息,并反馈给飞控软件;另一方面根据飞控软件 出的 PWM 指令信号,驱动伺服舵机的动作;此外,飞控系统的硬件还要实现机 载设备与地面控制站的无线数据通讯链路的搭建,接受地面控制站的指令信号 和发送机体状态数据给地面站[41]。4.2 ARM2440 平台应用设计S3C2440A 处理器是一款由三星半导体公司设计的可应用于多种场合的低功耗、高集成度的微处理器,采用 289 脚 FBGA 封装,包含 ARM920T 内核。 其内部包含以下功能模块:16KB 一体化 Cache/MMU;外部存储器控制器用于SDRAM 控制和片选逻辑; LCD 控制器; 4 通道 DMA 控制器(具有外部请求引脚; 3 通道 UART(64 字节的发送 FIFO 和 64 字节的接收 FIFO);2 通道 SPI 接口;1路多主模式的 IIC 总线;2 路全速 USB 接口;4 路 PWM 定时器、1 路内部定时 器、看门狗定时器;8 路 10 位 ADC;具有日历功能的 RTC 时钟;具有 130 路 通用 I/O 和 24 路外部中断源; 片内倍频锁相环 PLL, MPLL 产生的操作 ARM 内 核的时钟最大为 400MHz@1.3V。ARM2440 处理器一共有 7 种运行模式,分别是: User (USE)模式:普通用户模式,也就是应用程序运行的模式; FIQ (FIQ)模式:快速中断模式,可快速执行中断程序,一般用于数据传输;IRQ (IRQ)模式:中断模式,用于对普通中断的处理; Supervisor (SVC)模式:保护模式(超级用户模式),用于操作系统内核运行;Abort (ABT)模式:异常模式,用于当 MMU 使能时,数据或指令读取溢30 南京航空航天大学硕士学位论文出;System (SYS)模式:特权用户模式,用于操作系统; Undefined (UND) 如果执行到非法指令时,会进入该模式。每一种运行模式原则上说都有自己的一套寄存器 R0~R15。不过某些状态 下的一些寄存器是复用的, ARM920 处理器一共拥有 37 个寄存器。4.2.1 存储空间的分配 S3C2440 处理器可以对 9 个 bank 进行寻址,每个 bank 最大空间为 128MB;为了使处理器对各个设备的访问互不干扰,我们将不同类的设备映射到不同的bank 内。在本系统中,以 NandFlash 作为启动 ROM 的 S3C2440 的 bank 空间分配如图(4.1)所示。OM[1:0]=01,10 OM[1:0]=000xFFFF_FFFF Not used0x SFR Area0xx4000_0FFF BootSRAM (4kBytes)0xNot usedSFR AreaNot used(nGCS7)0x(nGCS7)SDRAM (nGCS6)0xSDRAM (nGCS6)128MB(nGCS5)0x(nGCS5)128MB(nGCS4)0x(nGCS4)Ethernet (nGCS3)128MBEthernet (nGCS3)128MB0x(nGCS2)0x(nGCS2)128MB(nGCS1)0x(nGCS1)128MBAM29LV800B (nGCS0)0x没有采用nandflash 作为启动ROMBoot Internal SRAM(4KB)采用nandflash作为启动ROM128MB图 4.1 2440 的地址空间分配图31 基于 ARM 的嵌入式 UAV 飞控系统设计及实现可以看到,bank3 分配给了以太网控制器设备,bank6 分配给了 SDRAM(选 择采用了 2 片 4bank×4Mbits×16Mbits 的并联为 32 位数据宽度的 SDRAM 存储系 统,用于设置程序堆栈和存放各种变量等用途),地址范围为0xx33FF-FFFF 。由于本系统采用 NandFlash 作为启动 ROM ,而 S3C2440A 提供了能够从 NandFlash 启动系统的 Steppingstone 机制,因此系统中 64MB 的 NandFlash 同时作为程序存储器 ROM 和机载数据存储器使用,记录飞机飞行过程中的各种状态量,减少了硬件成本。4.2.2 ARM 存储器模式在 ARM 体系中, 每个字单元中包含 4 字节单元或者两个半字单元[42]; 一个 半字单元包含两个字节单元。但是在字单元中,4 个字节哪个是高位字节,哪个 是低位字节则有两种不同的格式:big-endian 格式和 little-endian 格式(即大、小 印第安格式)。 在 big-endian 格式中,对于地址为 A 的字单元包含字节单元 A、A+1、A+2、A+3,其中字节单元由高位到低位字节顺序为:A、A+1、A+2、A+3;在 little-endian 格式中, 对于地址为 A 的字单元包含字节单元 A、 A+1、 A+2、A+3,其中字节单元由高位到低位字节顺序为:A+3、A+2、A+1、A;两种存储器格式如图 4.2 所示。图 4.2 大小印第安格式的存储系统因此,在软件设计当中首先要对内存控制器设置,确定系统的存储格式然 后才能进行对内存的进一步操作。32 南京航空航天大学硕士学位论文4.2.3 电源及复位电路整个硬件系统的电平主要有:+5V,+3.3V,+1.2V(RS232 电平由 MAX3232 转换芯片得到)。根据电压和电流的需求,选用一款能提供电压 14.4V,容量为1700 毫安时的电池。采用 DC-DC 模块实现电压转换与分配。根据需求,以及 DC 模块的转换效率, 设计选择 LM2676DC 模块实现 14V 转 5V 的电压转变, 负载最大电流可达 3A,LM1117DC 模块将 5V 转换为 3.3V,LM3965DC 模块再将3V 转换为 ARM 内核所需的 1.2V。复位电路部分采用了 RC 电路和施密特触发器实现复位, 利用二极管 IN4148 可以使得电容迅速放电, 即使电路有毛刺, 也能使 ARM 正常复位。 使用 74HC14 施密特触发器,可以消除毛刺和随机干扰,避免复位不成功或者错误复位。(具 体电路原理图见附录)。4.2.4 UART 设计前文已经提过,ARM2440 有 3 个独立的 UART 接口,每个 UART 都可以工 作在中断或者 DMA 方式下。根据系统时钟,UART 的输出可达 115.2Kbps。本 系统通过 2 片 Max3232 芯片实现 3 个 UART 接口中 CMOS-RS232 的电平转换, 详细电路图见附录。4.2.5 SPI 口设计串行外围设备接口 SPI(serial peripheral interface)总线技术是 Motorola 公司推 出的一种通用串行接口, 首先在其 MC68HCXX 系列处理器上定义的。 它是一种 三线同步总线,可用于与其他外设或者单片机进行通信。 这种模式通常有一个主器件和一个或多个从 SPI 接口是以主从方式工作的, 器件,其接口包括以下四种信号:MOSI C 主器件数据输出,从器件数据输入; MISO C 主器件数据输入,从器件数据输出; SCLK C 时钟信号,由主器件产生; /SS C 从器件使能信号,由主器件控制。每个 SPI 系统由一个主机、 一个或多个从机构成。 主机是提供 SPI 时钟信号 的微控制器,从机是接收 SPI 信号的任何集成电路。SPI 接口在内部硬件实际上 是两个简单的移位寄存器,传输的数据为 8 位,在主器件产生的从器件使能信33 基于 ARM 的嵌入式 UAV 飞控系统设计及实现号和移位脉冲下,按位传输,高位在前,低位在后。S3C2440 有两个独立的 SPI 接口,每个 SPI 口都有两个 8 位移位寄存器,用于接受和发送数据。在本系统当 中, 具有 SPI 口的外围设备有: AD7927 模数转换芯片(见 4.5 节), 高度计 SCP1000。 因此将 SPI0 口连接至 AD7927 芯片,用 nGCS2 作为片选信号;将 SPI1 口连接 至 SCP1000 高度计, 用 nGCS4 作为片选信号。 通过设置 SPI 的寄存器 SPPREn=0, 使得两个 SPI 时钟为 PCLK 的 1/2, 即 9.26MHz。 这样就完成了 SPI 口硬件配置。4.2.6 JTAG 接口设计 JTAG(Joint Test Action Group,联合测试行动小组)是一种国际标准测试协议,主要用于芯片内部测试及对系统进行仿真、调试,JTAG 技术是一种嵌入式 调试技术,它在芯片内部封装了专门的测试电路 TAP(Test Access Port,测试访 问口),通过专用的 JTAG 测试工具对内部节点进行测试。目前大多数比较复杂 的器件都支持 JTAG 协议,如 ARM、DSP、FPGA 器件等。标准的 JTAG 接口是4 线:TMS、TCK、TDI、TDO,分别为测试模式选择、测试时钟、测试数据输入和测试数据输出。 目前 JTAG 接口的连接有两种标准,即 14 针接口和 20 针接口。本文采用的 是 20 针接口,符合 Multi-ICE 标准,支持 Multi-ICE 兼容仿真器的调试,支持SDT2.51,ADS1.2 等开发环境的使用。支持采用 SJF JTAG 小板进行 flash 的烧录和仿真调试。JTAG 口的端口定义如表 4.1 所示。外部 JTAG 和 ARM 的连接 图见附录。表 4.1 JTAG20 针引脚定义JTAG20 1 3 5 7 9 11 13 15 17 19 VDD nTRST TDI TMS TCK ―― TDO nRESET (NC) (NC) 2 4 6 8 10 12 14 16 18 20 VDD GND GND GND GND GND GND GND GND GND34 南京航空航天大学硕士学位论文4.3 传感器应用4.3.1 磁力计 Honeywell公司生产的数字罗盘HMR3000是一款集航向、俯仰和横滚三个旋转量测量于一体的磁敏传感器,由三轴磁阻传感器和一个充有液体的两轴倾斜 传感器组成,可以得到进行倾斜补偿后的航向数据,其航向角度上的精确度可 以达到0.5°,俯仰和翻滚方向的精度可以达到0.4°,分辨率达到0.1°,即使在倾斜 达到40°时,也能给出精确的航向。HMR3000 数 字 罗 盘 由 内 置 单 片 机 控 制 传 感 器 的 测 量 时 序 , 所 有 控 制 HMR3000 操作的参数都存储在 EEPROM 中。HMR3000 输出语句的格式符合航海通信的 NMEA0183 标准。HMR3000 有四种操作模式,即:连续模式、选通 模式、休眠模式、标定模式。HMR3000 与外部的主机通过 RS-232 或 RS485 的 标准,使用简单的 ASCII 指令字符串进行通讯;连线方式如图 4.3 所示。飞控计算机 UART口 Rx 2 Tx 3 GND 5 GND电源HMR3000 引脚 2 Tx 3 Rx 5 GND 8 V++5V图 4.3 HMR3000 与飞控计算机的连接用上述连线方式将 HMR3000 和飞控计算机的串口连接起来,给 HMR3000 供电,未经稳压的输入范围 6~15V,经稳压后的输入为 5V。HMR3000 串行通 讯是根据 NMEA 0183 标准制定的简单的、异步的 ASCII 协议。ASCII 码的传输 和接收使用 1 位停止位、8 位数据位(低位在先)、无奇偶校验位(MSB 永远为 0) 和 1 位停止位。 每一个码有 10 位。 波特率可选择 1200, 2400, 4800, 9600, 19200 或 38400。4.3.2 GPS Jupiter21 是一个高度集成的单板 GPS 接收机模块;对外接口为 20 针引脚。35 基于 ARM 的嵌入式 UAV 飞控系统设计及实现导航灵敏度高,适合于各种应用场合。Jupiter21 接收机对所有可见的 GPS 卫星 信息解码并进行处理,通过 RS-232 实现与飞控计算机的连接。GPS 定位信息每 隔 1 秒更新一次,每次定位完成,会在其接口的第 20 引脚给出 GPSFIX 的定位 信号, 通知飞控计算机 GPS 定位完成。 GPS 的数据输出按照 NMEA-0183 标准[43]。 数据串以“$GP”开头,主要有 GGA,GL,ZDA,GSV,GST,GSA,ALM 等格 式,这些格式的作用分别是:$GPGGA:输出 GPS 的定位信息;$GPGLL:输 出大地坐标信息;$GPZDA:输出 UTC 时间信息;$GPGSV:输出可见的卫星 信息;$GPGST:输出定位标准差信息;$GPALM:输出卫星星历信息;Jupiter21 的 定 位 数 据 格 式 如 下 : $GPGGA,3.2475,N,,W,1,07,1.00,9.0,M,1.0,M, ., .*18。其中,161229表示UTC时间16:12:29;,N表示纬度37°23.2475’N;,W表示经度121°58.3416’W;1表示定位质量(0=invalid,1=GPS Fix, 2=DGPS Fix);07表示所跟踪到的卫星颗数;1.00表示HDOP值;9.0M表示海拔高度;1.0M表示距地面高度。4.3.3 ADXRS150 陀螺本 文 采 用 的 陀 螺 为 美 国 AD 公 司 推 出 的 新 型 单 片 偏 航 角 速 度 陀 螺 仪ADXRS150。它是基于“音叉陀螺仪”(tuning fork gyro)的原理,采用微机械集成技术(integrated micro electro mechanical system)表层显微机械加工工艺,内部 包含两个角速度传感器、共鸣环、信号调理器等元件及电路,能精确测量转动 物体的角速度,适用于各种惯性测量系统。其输出电压与角速度成正比,电压 的极性则代表转动方向(顺时针转动为正,逆时针转动为负)[44]。图 4.4 角速度变化与陀螺输出的关系其主要参数及性能特点如下:36 南京航空航天大学硕士学位论文◆角速度测量范围为±150o/s,灵敏度为 12.5mV/o/s; ◆零位输出电压为 2.50V; ◆非线性误差为±0.1%; ◆-3dB 带宽为 40Hz,固有频率为 14KHz; ◆角速度噪声密度为噪音为 0.05o / S / Hz ; ◆内部包含电压输出式温度传感器、+ 2.5 V 基准电压源和电荷泵式 DC/DC电源变换器,并具有自检功能;◆抗振动、抗冲击能力强、超小型、超轻薄化。其外形尺寸仅为 7mm ×7mm×3mm,质量小于 1g,很容易固定在转动物体上;◆采用+5V 电源供电。ADXRS150 陀螺测量范围 ± 150o/S,灵敏度为 12.5mV/(deg/S),输出电压范围 0V~+5V,零位输出电压为+2.5V,内部包含电压输出式温度传感器、+2.5V 基准电压源,具有自检功能;工作温度范围-40℃~+85℃。这种 MEMS 陀螺仪具 有小巧、精密、性价比好等优点。三个陀螺一组,将它们分别安装在互相垂直 的印制电路板上,就可以分别感应载体运动时沿载体三轴方向的角速度分量。 陀螺零位输出理想值为 2.5V,因此参考电压应尽量靠近 2.5V,以保证信号 调理电路的输出精度;通过温度传感器的信号反馈对输出进行修正,可以有效 地改善陀螺的温度特性;另外,陀螺零位输出的常值偏差和标度因数的误差可 通过试验获得数据,后期通过软件进行数字补偿[45]。4.3.4 ADXL202 加速度计加速度计是惯性测量和导航系统的主要惯性元件之一。自二次世界大战中 德国人成功在V-2型火箭上应用第一个积分加速度计以来,便有近百种不同类型 的加速度计问世。从最初的机械式发展到液浮、气浮、磁悬浮,到60年代后期 的挠性、静电、激光、压电晶体谐振式等特殊支承形式的仪表。特别是近十几 年来,随着科技技术的飞速发展,惯导系统对加速度计精度、体积、重量、寿 命、结构牢固性、可靠性提出了越来越高的要求;同时在研制加速度计时不断 采用了新技术、新材料、新工艺,因而推进了微机械惯性加速度计的产生与发 展。其中,硅微型加速度计是一类重要的微惯性器件[46]。ADXL202是一种低成本、低功耗、功能完善的双轴加速度传感器。它以多晶硅为表面的微机电传感器和信号控制环路进行开环测量,测量结果直接以模 拟信号形式或者将模拟信号转换为脉宽占空比的数字信号输出。ADXL202可测37 基于 ARM 的嵌入式 UAV 飞控系统设计及实现量正负加速度,其最大测量范围为±2g。ADXL202可测量静态加速度,也可用作 斜度测量。ADXL202利用先进的MEMS技术构成了基于单块集成电路的双轴加 速度测量系统。传感器采用在硅片上经表面微加工的多晶硅结构,用多晶硅的 弹性元件支撑它并提供平衡加速度所需的阻力。结构偏转是通过由独立的固定 极板和附在移动物体上的中央极板组成的可变电容来测量的,加速度计受到加 速度力后中央极板与固定极板之间距离产生变化,从而改变了其可变电容的平 衡,使输出方波的振幅与加速度成正比,而相位解调技术用来提取信息,判断 加速方向。解调器的输出是通过功能模块中的32 k? 的固定电阻来实现的,然后 再利用一个可以设定带宽的滤波电路实现滤波,来提高测量的精度并有效地防 止频率混叠。经过低通滤波后,输出的模拟电压信号通过DCM(脉宽占空比解调 器)转换为占空比与加速度成正比的方波。这个方波可以直接送到单片机进行处 理,从而得到加速度的值。用单片机、DSP或者ARM进行数据处理时,可以使 用计数器或者其他方法测量方波的周期T2,以及脉冲的宽度T1。ADXL202/ADXL210 有带宽设置引脚: X filter 和 Y filter 这两个引脚。这两个引脚必须外加电容作为低通滤波器来消除高频噪声。3dB带宽方程如下:F?3dB =1 (2π (32k ?) × C ( x, y )) 5? F C ( x, y )(4.1)更为简化的表达式为:F?3dB =(4.2)表4.2给出了滤波电容的选择参考:表 4.2 滤波电容综合选择参考 带宽 10 Hz 50 Hz 100 Hz 200 Hz 500 HzC X , CY0.47 ? F 0.10 ? F 0.05 ? F 0.027 ? F 0.01 ? F噪声 1.9 mg 4.3 mg 6.1 mg 8.7 mg 13.7 mg噪声峰峰值 7.6 mg 17.2 mg 24.4 mg 35.8 mg 54.8 mg参照表4.2, 本文设计的飞控系统最小频率为50Hz, 考虑到要减少信号噪声, 选择滤波电容Cx、Cy的容值均为47nF;这样,输出带宽约为100Hz,此时加速度 计的噪声约为6.1mg。38 南京航空航天大学硕士学位论文由 于 ARM2440 没 有 计 数 器 (4 路 定 时 器 用 作 PWM 信 号 输 出 ) , 而 现 有 的AD7927芯片的采样通道有剩余, 本文设计用AD7927来采样加速度计输出的模拟量,简化电路的设计。 表4.3是实验室三自由度转台上测量得到的加速度计静态输出值。可见,大 部分情况下,俯仰角每变化1度,加速度计输出电压就变化0.01V;而在姿态角处 于9°~10°、 -9°~-10°、 19°~20°、 -19°~-20°之间变化, 加速度计输出变化均为0.02V。表 4.3 ADXL202 加速度计的静态输出 俯仰角(°) 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Xout(V) 2.49 2.48 2.47 2.46 2.45 2.44 2.43 2.42 2.41 2.40 2.38 2.37 2.36 2.35 2.34 2.33 2.32 2.31 2.30 2.29 2.27 俯仰角(°) 0 -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 Xout(V) 2.49 2.50 2.51 2.52 2.53 2.54 2.55 2.56 2.57 2.58 2.60 2.61 2.62 2.63 2.64 2.65 2.66 2.67 2.68 2.69 2.71初始零位有 1°的偏差,分析其原因主要可能有:(1)标定平台本身水平有装 配误差;(2)加速度计放置有安装误差;(3)加速度计本身有零位误差。经过反复 比较和鉴别发现,产生该初始零位误差是由标定平台本身安装水平误差引起的39 基于 ARM 的嵌入式 UAV 飞控系统设计及实现(基座水平未调整)。由该表可见,该加速度计的电压输出和俯仰角几乎呈线性的关系。因此, 根据第三章中姿态确定系统提出的利用加速度计直接测量机体的姿态角的方法 是可行的。4.4 前置电路由于陀螺输出的是模拟电压信号,因此要进行抗干扰处理[46]。一般来说传 感器的信号噪声主要是高频噪声,而且陀螺自身已经具有滤波功能,只需在其 滤波引脚上外接滤波电容即可。采用高精度集成仪表差分放大器 AD623 作为电 压跟随器来消除随机的干扰因素, 并改善电子线路中的输入和输出阻抗。 AD623 低功耗供电电源范围为±2.3V~±18V,最大供电电流仅为 1.3mA,体积小,增益G=1+100K ? /Rg ,作为电压跟随器,增益为 1,Rg= ∞ ,即 AD623 芯片的 1 脚和 8 脚悬空;2 脚、4 脚和 5 脚接地,7 脚接+5V 电源,3 脚接陀螺的输出,6 脚 即为跟随器的输出。图 4.5 AD623 芯片内部电路4.5 A/D 转换电路模数转换器的选择是姿态确定系统设计的关键,模数转换电路的精度直接40 南京航空航天大学硕士学位论文决定了姿态确定系统的精度。因此要根据各传感器的精度来选择合适的 A/D 转 换器。 A/D 转换器的选择主要考虑以下几个因素: 输入电压范围、 分辨率、 精度、 转换时间、输入通道数、数字接口方式、成本、功耗等,其中最主要考虑的因 素是速度和精度。 对于加速度计和陀螺仪,由于 ADXL202 和 ADXRS150 内部已经集成了一 部分信号处理电路,输出电压范围是 0~5 V,处于零位时电压输出 2.5V;即 A/D 采样的输入范围要包含 0~5 V,参考电压选择 2.5V。4.5.1 分辨率分辨率是指模数转换器在转换中所能分辨的最小量,习惯上用转换结果的 位数表示。分辨率表示了 A/D 转换器对输入模拟信号数字化后的精细程度。不 做量程切换时,由输入模拟信号的动态范围和要求分辨的最小输入可计算所需 要的 ADC 分辨率,也即:UiFSR = 2N ? 1 Uimin N & log 2 (1 + Ui FSR ) Ui min(4.3) (4.4)对于加速度计,由于:UiFSR AiFSR 2 g ? ( ?2 g ) = = = 4 × 103 Uimin Aimin 0.001g可得: N ≥ log 2 (1 + 3.4 ×103 ) ≈ 12(4.5)式中: Ai FSR 为满量程加速度输入范围; Ai min 为要求分辨的最小加速度; N 为 ADC 芯片字长的位数。 同样的方法,可得到陀螺 ADC 的位数也应该是 12 位。4.5.2 精度精度有绝对精度和相对精度两种表示方法。 绝对误差,在一个转换器中,对应于一个数字量的实际模拟输入电压和 理想的模拟输入电压之差的最大值,定义为“绝对误差”。通常以数字量的最 小有效位(LSB)的分数值来表示绝对误差,如±1LSB 等。绝对误差包括量化误差 和其它所有误差。 相对误差,是指整个转换范围内,任意数字量所对应的模拟输入量的实41 基于 ARM 的嵌入式 UAV 飞控系统设计及实现际值与理论值之差,用模拟满量程的百分比表示。 例如,满量程为 5V,12 位的 A/D 芯片,若其绝对精度为±1 /2LSB,则其最 小有效位的量化单位为 1.22mV,其绝对精度为 0.61 mV,相对精度为 0.061 %。4.5.3 转换时间(速率)转换时间是 ADC 完成一次转换所需的时间。 对于大多数 ADC, 转换时问的 倒数即为转换速率。积分型 A/D 的转换时间是毫秒级,属低速 A/D;逐次比较 型 A/D 是微秒级,属中速 A/D;全并行/串并行型 A/D 可达到纳秒级,属高速A/D。 4.5.4 输入通道数有的模数转换芯片内部含有多个 A/D 模块,可同时实现多路信号的转换; 常见的多路 A/D 器件只有一个公共的 A/D 模块,由一个多路转换开关实现分时 转换。在本设计的航姿系统中,加速度计、陀螺仪各有 3 个模拟输出通道,则 要求 12 位 ADC 至少有 6 个输入通道。4.5.5 数字接口方式接口有串行/并行之分,串行又有 SPI、I2C 等多种不同标准。S3C2440 处理 器具有 SIO (Synchronous I/O)接口,能与各种类型的串行外设接口相连。为了简 化电路设计,最好采用串行接口。 根据以上分析进行综合考虑,本设计选用了 ADI 公司的 AD7927 作为 A/D 转换器。以下对这个 ADC 作详细介绍。 如图 4.6 所示, AD7927 是高速度、 低功耗、 8 通道、 12 位逐次逼近型 ADC。 它具有 200Ksps 转换速率,20MHz 下转换时间仅仅 800ns,可在 2.7V~5.25V 电 压范围内工作,最大功耗为 7.5 mW,模拟输入电压范围可通过控制寄存器进行 选择,允许串行接口直接连到 3V 或 5V 处理器上,陀螺输入 3 轴角速率信号、1 路温度信号和+2.5V 参考电压信号, 加速度计输入 3 路比力信号; AD7927 芯片 为同步串行接口(SPI )方式,而 S3C2440 的 SPI 口能与各种类型的串行外设接口 相连,因此两者可直接相连,这样就大大简化了电路设计,减小了体积。同时,AD7927 还具有灵活的电源/串行时钟管理功能,有利于降低电流损耗。42 南京航空航天大学硕士学位论文+5V陀 螺 加 速 度 计Temp Ax AyDIN DOUT /CSAGND AGND AGND AGNDAz+2.5VREFIN图 4.6 加速度计和陀螺仪的 A/D 转换电路4.6 光耦隔离电路设计定时器定时器输出的PWM信号要经过光电隔离输出给伺服舵机。一方面, 由于ARM定时器输出的是幅值为3.3V的PWM信号,而舵机的控制信号幅值要求 在5V左右;另一方面从模拟电路和数字电路隔离来抗干扰角度考虑。由于需要4 路PWM输出,所以光电耦合选择TLP521-04(4路光耦)。该光耦的响应时间为:4 ?s 上升时间和3 ?s 下降时间,能够满足系统转换频率的需求。对 于 光 耦 的 限 流 电 阻 和 上 拉 电 阻 的 选 择 如 下 : TLP521 的 传 输 系 数 为50%-600%。按照最坏情况下计算,10mA的一次侧电流,二次侧电流可能只有 5mA。根据最小传输效率设二次侧的三极管饱和电流为1.5mA ,5V/1.5mA=3.3 K? ,显然要让三极管工作在饱和状态,二次侧的上拉电阻选为3.3 K? 。输入端为 CMOS 电平 3.3V ,二极管的压降视为 1V ,根据 (3.3V-1V)/3mA=833 ? ,选择820 ? 的限流电阻(具体电路见附录)。4.7 印制电路板设计本系统的 PCB 设计是在 Protel2004 环境下进行的。采用分层设计、自顶而 下的设计方法; 顶层为整个飞控电路板, 底层为各个相对独立的功能模块。 Protel43SPI接口Rx Ry RzVIN0 VIN1 VIN2 VIN3 VIN4 VIN5 VIN6 VIN7VDRIVE+3.3VSCLK 基于 ARM 的嵌入式 UAV 飞控系统设计及实现下 PCB 设计的流程如下:1) 建立所需元器件的原理图库和封装库; 2) 绘制系统的各分系统原理图子图; 3) 生成系统顶层原理图,使得原理图子图之间建立起电气特性; 4) 反复检查原理图的正确性,生成系统的网络表; 5) 创建新的 PCB 文件,将生成的网络表导入空的 PCB 文件中; 6) 对器件进行布局(一般按照信号流向布局元器件); 7) 对 PCB 板进行布线,并仔细检查电路的正确性和合理性等。 PCB 布线实际上是一件花费时间长、工作量大,且容易出错的事情。一般来说,第一次布线难免会出现一些小错误。这就要求设计者有足够的耐心和细 心,并在设计中逐步积累经验。 一般的 PCB 布线线宽与其载流大小的关系表 4.4 所示。表 4.4 PCB 布线线宽与载流的关系 宽度(mil) 10 15 20 25 30 50 75 100 200 250 电流(A) 1 1.2 1.3 1.7 1.9 2.6 3.5 4.2 7.0 8.3PCB 设计总体原则如下:正确性 这是印制电路板设计最基本也是最重要的要求,准确实现电气原理图的连 接关系,避免出现“短路”和“断路”这两种简单而致命的错误。 正是因为正确的要求,所以设计的时候一定要考虑好设计方案,并做好前 期的分析工作,包括仿真等,而布线完成后,还要做各种各样的检查,务必保 证设计出来的班子没有什么大的问题。44 南京航空航天大学硕士学位论文可靠性 这是 PCB 设计中较高一层的要求。连接正确的电路不一定可靠性好,例如 板材选择不合理,安装固定不正确,元器件布局、布线不当等都可能导致 PCB 不可靠地工作,在 PCB 设计中要充分考虑电磁干扰、热效应等方面的要求进行 可靠性设计。 合理性 这是 PCB 设计中更深层次,更不容易达到的要求。一个印刷电路板组件, 从印刷电路板的制造、检验、装配、调试到整机装配、调试,直到使用维修, 无不与印刷电路板的合理与否息息相关,例如板子形状选的不好加工困难,引 线太小装配困难,板外连接选择不当维修困难等。每一个困难都可能导致成本 增加,误工误时,而每一个造成困难的原因都源于设计者的失误。所以设计时 要保持严谨的作风,并在实践当中不断总结、勤学多问,提高自己的经验。 经济性 这是一个不难达到、又不易达到的目标。选择廉价的板材、较小的尺寸、 价格低的加工厂商等,但是廉价的选择又经常会造成可靠性变差,使得维修费 用上升,总体经济性不一定合理。 下面介绍 PCB 设计当中的电磁抗干扰问题。4.7.1 接地通常在一个电子设备系统中有各种不同的地线,如数字地,逻辑地,系统 地、机壳地、模拟地等等,地线设计的原则如下: 正确的单点和多点接地 在低频电路中,信号的工作频率小于 1MHz,它的布线和器件间的电感影响 较小,而接地电路形成的环流对干扰影响较大,因此应采用一点接地。当信号 工作频率大于}

我要回帖

更多关于 电路板上的元器件 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信