固定翼飞机竖直飞行控制系统的设计

发布者:Jinyu521最新更新时间:2008-07-28 来源: 中国电子网关键字:置位  串行输出  同步脉冲  固定翼飞机  飞行控制系统  MCU  飞机飞行  竖直  运算 手机看文章 扫描二维码
随时随地手机看文章

  引言

  固定翼飞机水平飞行是最常见的飞行状态,让其做大仰角飞行则动作不能一直保持,如让其垂直于地面飞行能保持的时间则更短。本项目要实现的是一个可以让飞机垂直于地面飞行并可以稳定在固定高度的控制系统。利用在机身加入的三轴向加速度传感器来检测垂直于地面飞行的飞机的姿态。当检测到飞机前后摇摆时,控制水平尾翼使飞机保持前后方向的稳定性;当检测到飞机左右摇摆时,控制垂直尾翼使飞机保持左右方向的稳定性;当检测到飞机上下窜动时,控制油门的大小(即螺旋桨的转速)来保持飞机飞行高度的稳定性。当这些控制都很精准到位时,固定翼飞机也可以像直升机一样稳稳地悬停在空中了。利用本文设计的控制系统可以让飞机在做垂直飞行减速的同时顺时针或逆时针转90°(投影面积很小),这样就可以减小暴露给后面飞机的投影面积,减小被击中的几率。

  设计概述

  为了让飞机能竖直飞行,控制电路需要有以下功能:

  判断飞机是否要竖直飞行 对于真飞机,它可能只是一个可防止误触发的拨动开关;在本项目的实验品遥控飞机里,它就是某一个通道的脉宽信号。当脉宽大于某一设定值时,控制电路就知道它该上场了。

  判断自身姿态 这是本控制电路的核心部分之一,在控制飞机保持竖直飞行之前必须先判断自身的姿态。本项目用MMA7260QT传感器检测飞机的姿态。

  控制 这是本项目设计制作过程中最耗时的部分,但其原理很容易理解:姿态电路已经了解了飞机的姿态,控制电路只要做相应动作就可以了。飞机前倾它就让飞机向前移动一些,后倾就向后移动一些。还有一个需要控制的量——高度,飞机在做此动作时高度是要保持稳定的,机身上冲时要减小油门,下降时要加大油门。要完成如此控制,要用两片MC9S08QG8。为了达到上述功能,本项目应有如图1所示的电路框图。

  

  选用两片MC9S08QG8是因为在本项目里有两处对时间要求比较严格的地方:一是读从遥控器送出的脉宽;二是把经过运算的脉宽精确地发送出去,两处都要10μS以内的误差,如用一片来做即使用中断也会有冲突。本项目里两片MC9S08QG8工作的大体分配是:一片作为主控,用于读取遥控器送来的由接收机收到的脉宽(高实时性)、读取飞机姿态(低实时性)、控制运算(PID运算)和数据发送(把需要对飞机如何控制的数据,也就是PID运算的结果送给另一片MCU);另外一片作为辅助,只要把读到的数据实时发给飞机的执行机构就可以了。

  硬件描述

  硬件电路如图2所示。

  

  ·传感器MMA7260QT输出的三个轴的数据分别送入主控MCU的三个A/D输入端ADP0、ADP1和ADP2,电源接一个电阻和电感可防止电源对传感器的干扰。

  ·整个电路的电源由J1从接收机引入,通过78FC33变为3.3V后给MCU和传感器供电,J2、J3、J4分别是左右、油门和前后控制。

  ·主控MCU的第二路TPM的捕捉输入端TPMCH1接接收机的信号输出端。本遥控系统是9通道的,也就是可同时控制9个机构,这种9通道的信号见图3。它是由间隔为20ms的一个个脉冲串组成,每个脉冲串有9个脉冲,连续两个脉冲的上升沿的间隔就是遥控器送出的有效控制信号,此间隔最小1ms、最大2ms。TPM捕捉到9个脉冲的宽度后,就可以根据需要直接送给舵机或经PID运算后再送给舵机了。至于如何识别某一脉冲是上一个脉冲串的结尾还是下一个脉冲串的开头,这里涉及到一个同步脉冲的概念,属于软件内容,在此先不作解释。

  

  ·主控MCU的串行输出端接辅助MCU的串行输入端。主控MCU想如何控制飞机动作,只要通过串口把数据发送给辅助MCU就可以了,发送格式如表1所示,共8个字符,其中0xAA、0x55为引导位……

  

  ·三个LED,D1是电源指示灯,D3用于指示“我是控制电路,我已经开始控制飞机竖直飞行了”,D2是“出错了,小心出问题,快切换回由你控制吧。”

  ·辅助MCU有两个工作:一是读主控MCU送来的串行数据,找到引导字符后,把前后左右上下(油门)的数据送入相应的数组贮存;二是每20ms把相应的数组里的数据以脉冲形式发送出去。脉冲最小1ms、最大2ms。这个信号送入飞机的执行机构——舵机后对应的输出规律见图4。1ms的脉冲使舵机摇臂在最左边的位置,1.5ms的脉冲使舵机摇臂位于中位,2ms的脉冲使舵机摇臂在最右边的位置。舵机的摇臂连接飞机的各执行机构,摇臂摇动时飞机的执行机构(如尾翼等)也跟着摆动。

  

  软件描述

  主控MCU部分,流程图见图5。

  

  ·读取遥控信号:这个遥控信号见图5右上角,是9个脉冲组成的脉冲串,每20ms一串,读取的方法如下,由TPM捕捉到脉冲的上升沿进入模定时器捕捉中断程序后,先看是不是脉冲串里的第一个,若是就把定时器清零,然后把捕捉值存入数组,这样9次后,数组里就由低到高地存下了每个脉冲发生的时间,用减法一算,各脉冲宽度就出来了。为防止出错,附加了脉冲数错误预防,就是对脉冲个数进行计数,如果在一个脉冲串里读到了多于9个脉冲就意味着有干扰了,需要尽快把所有脉宽按中间值1.5ms处理。这样虽然和遥控器发出的指令不一样,但减少了出大问题的机会。

  ·8ms定时中断:系统有一个模定时器18ms中断程序,因为正常的脉冲串9个脉冲不会超过18ms,所以可以让定时器在第一个脉冲开始时计数,计到18ms就认为一个脉冲串结束,把脉冲数计数器清零。模定时器捕捉中断程序里看到这个计数器被清零了就知道下一个脉冲串开始了。这个中断还为PID的定时运算提供时间标志,每进入一次中断就把标志置位,主程序读到标志被置位就进行PID运算,这样就保证了PID运算的周期是固定的。

  ·1.67ms中断程序和A/D中断程序:为了读取MMA7260QT输出的数据需要用A/D读值,这里每1.6667ms进入中断一次设定A/D通道,读完三个通道用时5ms,在两个脉冲串的标准间隔20ms内可以各读4次,用滑动平均值算法后可以滤除干扰。

  主程序介绍

  虽然传感器都是水平放置的,但因为温度电压等的不同,三个轴的输出和计算的输出是不一样的,会有少许偏差,为了解决这个问题,在上电后先对三个轴的值连续读64次后平均,把这个平均值作为飞机要稳定的目标值,这样飞机就基本稳定了。

  提到稳定,PID功不可没,主程序里的PID有两处要提一下。一是因为传感器的稳定性问题和飞机的抖动,A/D输出值差2、3个数是很正常的,所以在主程序里要判断一下,如果误差值在3以内,则不进行PID运算,这样就减少了舵机无谓的抖动;二是因为飞机的前后左右重量不一致,所以在飞机前倾后仰左右摆动时要用不同的P值计算。

  主程序每20ms更新一次数据,数据就是前后左右上下的控制脉冲的宽度。这个数据是把模定时器捕捉中断程序里捕捉到的数直接拿来用还是要拿PID运算的数据来用?这由一个脉宽(决定此时飞机是否要竖直飞行的脉宽)决定,这里用到的是第7个脉冲的脉宽,也就是遥控器的第7通道,这个参数被命名为Helen,当Helen >1500(1.5ms)时就是操纵者要竖直飞行,要把PID运算的数据输出;当Helen <1500时就是正常飞行,直接把模定时器捕捉中断程序里捕捉到的数输出就可以了。

  要得到各个脉冲宽度,只要把从低到高的每个脉冲发生的时间做减法就可以了,这个减法运算也是在主程序里完成的。减法完成后还要对脉冲宽度进行出错处理,要检查一下,小于1ms的按1ms算,大于2ms的按2ms算,处理完了就可以调用发送中断发送给辅助MCU了。调用方式是把数组排列好,把发送数据计数器清零,打开发送中断允许位,这时发送缓冲区是空的,发送中断一允许,它就立刻进中断开始发送。

  串口发送中断程序:程序进入本中断后首先把发送数据计数器指示的数送到发送缓冲区去发送,如发送完了就把发送中断允许位清零,以防止正在发送的数据发送完后再次进入中断;如没发送完就直接退出,等待下次中断。

  辅助MCU程序流程图见图6。

  

  串口接收中断:辅助MCU程序的关键在串口接收中断,接收到的数要存入指定的数组,这个容易实现,而把引导头找出来就不那么容易了,因为作为引导头的0xAA、0x55也有可能是数据,只有连起来的才是引导头,判断方法详见图6。

  因为本MCU只有两个定时器,但需要控制三路脉冲,所以有两路脉冲用定时器的PWM功能实现,另外一路需要用软件模拟,本文选用的方法是用一个20ms的中断,进入中断后把I/O口置位,然后在主程序里循环判断定时器的值,当定时器的值大于要送的脉冲值时把I/O复位。

关键字:置位  串行输出  同步脉冲  固定翼飞机  飞行控制系统  MCU  飞机飞行  竖直  运算 引用地址:固定翼飞机竖直飞行控制系统的设计

上一篇:具有实时振动补偿的显示模块的设计
下一篇:中兴首次进入日本市场,3年实现1亿美

推荐阅读最新更新时间:2024-03-31 00:01

单片机内部密码破解方法
  1 引言   单片机(Microcontroller)一般都有内部ROM/EEPROM/FLASH供用户存放程序。为了防止未经授权访问或拷贝单片机的机内程序,大部分单片机都带有加密锁定位或者加密字节,以保护片内程序。如果在编程时加密锁定位被使能(锁定),就无法用普通编程器直接读取单片机内的程序,这就是所谓拷贝保护或者说锁定功能。事实上,这样的保护措施很脆弱,很容易被破解。单片机攻击者借助专用设备或者自制设备,利用单片机芯片设计上的漏洞或软件缺陷,通过多种技术手段,就可以从芯片中提取关键信息,获取单片机内程序。因此,作为电子产品的设计工程师非常有必要了解当前单片机攻击的最新技术,做到知己知彼,心中有数,才能有效防止自己花费大量
[单片机]
瑞萨电子推出超高性能入门级MCU产品
瑞萨电子推出超高性能入门级MCU产品 全新RA6E1产品群基于Arm® Cortex®-M33内核,具有200MHz高性能和低功耗 2021年9月30日,日本东京讯 - 全球半导体解决方案供应商瑞萨电子集团(TSE:6723)今日宣布,推出RA产品家族全新32位微控制器(MCU)产品群——RA6E1,基于Arm® Cortex®-M33内核,是业界率先提供了200MHz性能的入门级MCU,并同时提供卓越的低功耗性能及丰富的外设功能。 瑞萨RA产品家族的差异化,在于将低功耗、先进的安全功能(包括 Arm TrustZone®技术),与支持所有RA产品的灵活配置软件包(FSP)相结合。FSP包括高效的驱动程序和中间件
[单片机]
瑞萨电子推出超高性能入门级<font color='red'>MCU</font>产品
单片机在医学信号检测仪中的应用
简介:设计了一种以微处理器Atmega163为核心,对人体多道生理参数进行实时采集和高速数据传输的电路,以此构成人体生理参数检测仪,为医生诊断病情提供依据。 1引言 传统的检测仪器大多由硬件电路来完成,不仅功能单一,而且开发周期长,不易维护。随着微电子技术和信息技术的高速发展,医学检测仪器正向组合式、多功能、智能化和微型化方向发展。现代数字部件的快速发展为医学检测仪提供了强有力的支持,医学检测仪器都无一例外地采用了微处理器来增强其功能。广泛地应用微处理器芯片能增强仪器的智能化程度,提高其稳定性和数据处理的精确性,使医学信号的采集、处理、通信一体化,并具有自诊断、自校验等一系列优点。 ATMEL公司新推出的AT90系列AVR
[单片机]
<font color='red'>单片机</font>在医学信号检测仪中的应用
单片机小知识总结
①RST复位电路 51单片机是高电平复位,低电平正常工作 上电瞬间以及按下按键(电容相当于导线),RST为高电平。 按键按下的瞬间会产生大电流冲击,会局部产生较大的电磁干扰。为了减小这种干扰,加一个一个限流电阻。 ②有关RAM和FLASH STC89C52RC系列单片机有512B的RAM以及8K的Flash(程序存储空间) RAM就是平时存储变量的,比如你定义了一个什么bit、uint8、 uint16 、uint32等等这些都 是在RAM中定义的。 512B的RAM虽然名字一样,但是在物理结构以及用法是有区别的。 沿袭老8051单片机的叫法,依旧叫为片内RAM和片外RAM。所谓的片内和片外
[单片机]
<font color='red'>单片机</font>小知识总结
基于MSP430F149单片机的实时多任务操作系统
1 RTOS的基本概念 实时多任务操作系统(RTOS-Real Time Operating System)是根据操作系统的工作特性而言的。实时是指物理进程的真实时间。实时操作系统是指具有实时性,能支持实时控制系 统工作的操作系统。首要任务是调度一切可利用的资源完成实时控制任务,重要特点是要满足对时间的限制和要求。 实时操作系统中的任务(Task)有四种状态:运行(Executing),就绪(Ready),挂起(Suspended),休眠(Dormant)。 运行:获得CPU控制权。 就绪:进入任务等待队列。通过调度转为运行状态。 挂起:任务发生阻塞,移出任务等待队列,等待系统实时事件的发生而唤醒。从而转为就 绪或运行。
[单片机]
单片机C语言while(1)的问题
  单片机C语言的主程序,通常要用一个while(1)语句来让程序进入一个无限循环,目的是为了让程序一直保持在我们需要运行的情况下。   虽然这种做法毋庸置疑,在网上还是有不少朋友有疑问,如果程序不加while(1)会出现什么情况,对于这种好学精神,还是值得赞扬的,做学问就需要有追根问底的精神。   首先,大家要理解一件事情,我们编写的C语言程序,最终下载到单片机当中去,在我们单片机的程序存储空间FLASH当中存储的全部是2进制数字代码。比如0x00,0x01,一直到0xff。而我们编写的C代码,依靠的是编译软件,比如keil软件,首先将C语言编译成为汇编语言,最终汇编语言变成2进制代码,也就是我们的HEX文件当中的数据,下载到单片
[单片机]
基于51单片机霍尔测速仪表测转速调速系统方案原理图设计
硬件分析 原理框图 原理图: 系统功能分析 本设计由STC89C52单片机电路+液晶LCD1602显示电路+霍尔测速电路+电源电路组成。 1、通过霍尔传感器测速,霍尔传感器检测轮盘上的磁铁进而知道轮盘转了多少周,从而计算出转速。 2、LCD1602液晶实时显示转速。 3、可以通过电位器调节电机的转速。 A3144霍尔传感器模块电路设计 本霍尔传感器模块是基于霍尔元件A3144设计制作的模块,A3144芯片是一种磁传感器,其应用霍尔效应原理,采用半导体集成技术制造的磁敏电路,它是由电压调整器、霍尔电压发生器、差分放大器、史密特触发器,温度补偿电路和集电极开路的输出级组成的磁敏传感电路,其输入为磁感应强度,输出是一个数
[单片机]
基于51<font color='red'>单片机</font>霍尔测速仪表测转速调速系统方案原理图设计
基于8051型单片机实现周波跌落模拟器的设计
引言 电磁兼容(EMC)要求电子电气装置必须具备在一定的电磁环境下正常工作的能力。而进行抗电磁干扰的测试和研究离不开符合国家标准的电磁干扰模拟器。以前这些设备都是依赖进口,且价格昂贵。为此研制了这台周波跌落模拟器。该仪器计量精密,能模拟电网电压中断或增大/减小,具有显示直观、输出稳定、使用方便、成本低等特点。 工作原理 当电网或变电设备发生故障或负荷突然变化时会引起电压瞬时跌落、短时中断,在某些情况下还会连续出现两次或更多次的电压跌落与中断。这些现象本质上是随机的,其特征表现为偏离额定电压,并持续一段时间。但是,电压瞬时跌落和短时中断不总是突然的,因为与供电网络相连的旋转电机和保护元件有一定的反作用,如果大的电源网络断开,电压
[单片机]
基于8051型<font color='red'>单片机</font>实现周波跌落模拟器的设计
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
最新安防电子文章
换一换 更多 相关热搜器件

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 视频监控 智能卡 防盗报警 智能管理 处理器 传感器 其他技术 综合资讯 安防论坛

词云: 1 2 3 4 5 6 7 8 9 10

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved