基于ARM内核单片机的四旋翼直升机飞行控制系统设计

发布者:美好回忆最新更新时间:2013-08-29 来源: 电子设计工程 关键字:四旋翼直升机  飞行控制  单片机  惯性导航系统 手机看文章 扫描二维码
随时随地手机看文章
    四旋翼飞行器(Ouadrotor,Four-rotor,4 rotors helicopter,X4-flver等)是一种特殊构型的电动可遥控微型飞行器,它是由4个螺旋桨驱动,通过4个螺旋桨的差速来完成姿态控制。四旋翼飞行器与其他类型的无人机相比具有许多优点,其中主要是其可垂直起降及机动性强等性能,能够适应各种复杂环境。因此四旋翼飞行器在民用产品、军事武器等各方面有着广泛的应用前景。文中将介绍四旋翼飞行器控制系统的软硬件设计方案与实现。

1 飞行控制系统总体设计
   
四旋翼飞行器控制系统的设计主要包括主飞行控制板和相关外围电路,结合惯性传感器、超声波传感器、GPS接收机、无线数传模块,并配套自行开发的地面站软件设计实现一套完整的四旋翼飞行器自主飞行控制系统。
    四旋翼飞行器飞行控制系统的开发内容主要包括:飞控板及外围电路设计,传感器底层驱动开发,PWM控制信号的混控输出,飞行控制律程序设计以及地面站软件的设计与开发。
    飞控系统的总体设计方案如图1所示。系统核心控制器为一款基于ARM cortex—M3内核的单片机;惯性测量元件(IMU)主要提供解算飞行器姿态的数据等信息;高度传感器采用超声波传感器,输出相对地面的高度信息;接收机接收遥控器发出的杆量信号,这些信号将用于控制器的输入;GPS接收机输出飞行器的位置信息;无线数据传输模块用于飞行器与地面站的数据通信。传感器信息经过飞行控制律的运算处理,最终通过PWM信号输出至电子调速器,用来控制四个电机的转速,以实现姿态、位置与高度的控制。地面通过无线数传实时传回飞行器信息用以检测飞行器飞行状态,同时地面站也可以向飞行器发送控制指令。

a.JPG


    四旋翼飞行器的机架选用了市面上做工比较好的Xaircraft-650,其优点是各个组件采用模块化设计,方便拆卸和损耗更换,同时较高的起落架设计方便在飞行器底部搭载相关传感器设备。四旋翼飞行器的机架如图2所示。

2 飞控系统硬件设计
2.1 飞控核心板设计
   
飞控板的主控芯片选用意法半导体公司的ARM Cortex—M3内核的单片机STM32。其功耗低,最高工作频率72 MHz,拥有512K字节的闪存程序存储器和高达64K字节的SRAM,最多可达112个快速I/O端口,多达4个16位定时器,5个USRAT、3个SPI、2个I2C、1个CAN、1个USB2.0全速接口。具有优异的实时性能,同时拥有丰富而规范的固件库,适合飞控板的开发。

b.JPG


    飞控板采用最小系统加全部接口引出的设计,即保证系统能够正常工作的前提下,引出所有扩展接口以方便后续实验开发的功能扩展。主控芯片STM32F103的最小系统原理电路设计框图如图3所示,由于主芯片需要3.3 V电压供电,所以采用稳压芯片产生3.3 V电压,还需加电容对稳压后的电压进行滤波。在保证正确供电和正确接地的同时,需外加两个晶振电路。其中8M晶振作为系统外部时钟,起振后为系统提供时钟信号:32.768K晶振主要用于系统的实时时钟RTC电路;引出所有引脚以供扩展之用,同时设计了外部复位电路。[page]

2.2 传感器数据采集及通信接口设计
2.2.1 组合导航系统数据采集
   
组合导航系统采用了惯性导航与全球卫星定位系统(GPS)相结合的方案,二者能够弥补相互的不足,为无人机提供可靠性好,自主性和精确度高的导航信息。其中惯性导航系统选择了基于MEMS技术的惯性传感器,结合卡尔曼滤波算法和四元数法及三轴磁力计温度补偿进行姿态解算和估计。传感器的输出为数字信号,通过串口发送数据。由于STM32片内集成串口,因此设计RS232电平与TTL电平转换电路以实现数据通信。电平转换电路采用MAX232芯片,电路如图4所示。

c.JPG


2.2.2 超声波传感器
   
用于测量高度的超声波传感器采用SensComp公司的615088传感器,它具有两种模式:触发测距模式和5 Hz自动测距模式。测量范围:0.15~10.7 m,测量精度:0.1%。
    STM32采用捕获中断方式测得超声波发送的边沿跳变信号与经障碍物反射回来的超声波边沿跳变信号,做差换算得到超声波模块与障碍物的距离。实测在0.2~10 m范围内的距离,其测距误差不超过0.1%,满足四旋翼飞行器飞行的精度要求。
2.2.3 无线数传模块
   
本设计方案所选用的无线数据传输模块有TTL、RS232、RS485 3种接口,同时配有USB转,TTL模块,在开阔地的传输距离可达800 m。飞控系统主控芯片通过无线数据传输模块与上位PC机进行通信,传送由传感器获得的飞行数据到上位PC机以实时监测飞行状态,同时上位PC机也可以向飞行器传送飞行控制指令及相关参数。
2.2.4 PWM信号的采集与输出
   
由于四旋翼飞行器的飞行完全依靠四个电机的转速变化来控制,其不同于固定翼飞机的是滚转、俯仰、偏航以及油门通道均需要通过4个电机联动才能实现对四旋翼飞行器的控制。因此,需要在油门通道控制信号的基础上叠加其余3个通道信号,混控合成之后的四路信号分别输出至4个电子调速器对各个电机加以控制。
    根据四旋翼姿态控制的原理,定义4个电机序号以及机体轴系如图5所示。

e.JPG


    根据上述分析,电机控制信号混控公式如式(1)所示:
    f.JPG
    其中△φ=φ-φmid,△θ=θ-θmid,△ψ=ψ-ψmid。M1,M2,M3,M4分别表示电机1~电机4的控制信号,T表示油门通道控制信号,φ表示滚转通道控制信号,θ表示俯仰通道控制信号,ψ表示偏航通道控制信号,φmid、θmid、ψmid分别表示滚转、俯仰、偏航通道控制信号的中立值。

[page]

3 飞控系统软件设计
3.1 地面站软件设计
   
为方便监测四旋翼飞行状态,利用CVI软件设计开发了地面PC机惯导数据采集界面,如图6所示。地面PC机通过无线数据传输模块实时接收四旋翼飞行数据,通过该界面显示四旋翼三轴姿态角,加速度,角速率,经纬度及GPS速度等信息,并实时绘制出三轴姿态角曲线。

g.JPG


3.2 控制律软件设计
   
由于PID控制算法成熟稳定,易于实现,因此本方案飞行控制器的设计采用PID算法。由于飞控系统为数字系统,因此采取数字PID算法。数字PID算法如式(2)所示。程序的实现在此就不赘述。
    h.JPG
    式中T表示控制器的控制周期,ek表示四旋翼飞控指令与反馈信号的差值,uk表示PID的输出信号,k表示控制节拍序号,Kp、Ki、Kd分别表示PID控制器的比例、积分、微分项系数。采用上述算法分别设计飞行器的滚转、俯仰、偏航、定高以及GPS定点的PID控制器。

4 系统实现与飞行试验
   
依据上述的各个部分完成了飞行器硬件平台的搭建和控制算法程序的编写和调试,并反复进行了试飞调参,最终达到了比较理想的效果,实现了飞行器的全自主GPS定点定高定航向悬停,并且在外界强干扰的情况下能够很好地稳定姿态。飞行器全自主GPS定点定高定航向悬停飞行如图7所示。

h.JPG



5 结论
   
文中所设计的四旋翼飞行控制软硬件系统对四旋翼飞行器的飞行控制取得了比较好的效果,通过试飞实验表明,在本飞控系统的控制下,四旋翼具有较好的稳定性,基本达到了设计目标。同时本设计充分利用了STM32单片机丰富的片内资源,程序均采用模块化设计,稍作修改即可很容易地移植到其他飞行器上,具有较好的可移植性,缩短了系统软硬件的开发周期,为下一步搭载实验各类任务设备奠定了基础。

关键字:四旋翼直升机  飞行控制  单片机  惯性导航系统 引用地址:基于ARM内核单片机的四旋翼直升机飞行控制系统设计

上一篇:无线传感器网络底层平台的深层研究
下一篇:国货ARM处理器正崛起?

推荐阅读最新更新时间:2024-03-16 13:27

51单片机P0口介绍
P0.0 P0.7是P0口的8位双向口线。第一功能为基本输入输出;第二功能是在系统扩展时,分时做为数据总路线和低8位地址总线。 这里重点介绍一下P0口的结构及其工作过程:P0口的1位(例如:P0.0)结构如图 它由一个输出锁存器、两个三态锁存器(1、2)、输出控制电路(一个非门(3)、一个与门(4)、一个多路控制开关(MUX))、输出驱动电路(两只场效应管Q1、Q2)组成。 功能1:做基本I/O口使用 CPU发出的控制信号为低电平,使多路控制开关MUX接通B端,即与输出锁存器的 !Q 连接,同时使与门输出为低电平,场效应管Q1截止。 当P0输出数据时,写
[单片机]
51<font color='red'>单片机</font>P0口介绍
STM32单片机TIM3蜂鸣器播放音乐
下面这段代码有个小bug,软件仿真PORTB.5 beep 波形正常,如下图所示 但下到我的开发板上,beep没有声音,若看到此程序,有兴趣的朋友可以帮忙验证一下,欢迎一起探讨! #include stm32f10x_lib.h // STM32F10x Library Definitions #include STM32_Init.h // STM32 Initialization #include stm32f10x_type.h #define uchar unsigned char bool beep; uchar k; long reload_time=0,time=0;
[单片机]
PCF8574调试的沉痛经历
最近一个超声项目需要用到端口扩展功能,经过一番调研,决定选用PCF8574这款I2C总线的芯片,然后开始看数据手册,组实验板,经过一番忙碌,材料齐全,准备开始调试,之前已经做好了I2C的程序,烧入单片机,运行,状态不对?诧异,很是诧异,然后我就开始了我那冤屈的、痛苦的苦难之旅,为什么这么说,看官您请往下看。 开始我以为是程序中时序匹配的问题,于是开始用示波器查看,经过一番查找,最后确定时序没问题,开始郁闷 。 然后我以为是硬件损坏,然后检查PCF8574,型号是PCF8574T,没错,然后在数据手册中曾看到中断是自动响应的,然后我就在输出管脚上加逻辑电平,高低,高低,高高低低,反复测试后,最后确认,芯片的中断脚是有输出
[单片机]
基于AVR单片机的125kHz的RFID阅读器设计
无线射频识别(Radio Frequency Identification,RFID)是利用感应、电磁场或电磁波为传输手段,完成非接触式双向通信、获取相关数据的一种自动识别技术。该技术完成识别工作时无须人工干预,易于实现自动化且不易损坏,可识别高速运动物体并可同时识别多个射频卡,操作快捷方便,已经得到了广泛的应用。 目前存在的一些读卡器,都需要读卡芯片作为基站,成本较高。本文介绍了一种采用分立元件构成的125kHzRFID阅读器,电路结构简单,成本极低,用于读取EM4100型ID卡。 1、RFID系统的分类 RFID系统的分类方法有很多,在通常应用中都是根据频率来分,根据不同的工作频率,可将其分为以下四种: (1)低频(1
[单片机]
第9节:程序从哪里开始,要到哪里去?
从业十年,教你单片机入门  第9讲: 程序从哪里开始,要到哪里去?为了让初学者了解C语言程序的执行顺序,我把程序分成三个区域:进入主程序前的区域,主程序的初始化区域,主程序的循环区域。 进入主程序前的区域。这是上电后,在单片机执行主程序代码之前就已经完成了的工作。包括头文件的包含,宏定义,内存分配这些工作。这部分的内容可以暂时不用去了解,我会在后面的一些章节中陆续深入讲解。 主程序的初始化区域。这是上电后,单片机进入主程序后马上就要执行的程序代码,这部分区域的代码有一个特点,大家也必须记住的,就是单片机只执行一次。只要单片机不重启,不复位,那么上电后这部分的代码只被执行一次。 主程序的循环区域。单片机在主程序中执行完了初始化区
[单片机]
ST系列STM8S003F3P6单片机芯片介绍
众所周知,意法半导体的stm8s系列主流8位微控制器适于工业、消费类和计算机市场的多种应用,特别是要实现大批量的情况。 基于STM8专有内核,STM8S系列采用ST的130纳米工艺技术和先进内核架构,主频达到24 MHz,处理能力高达20MIPS。嵌入式EEPROM、RC振荡器和全套标准外设为设计者提供了稳定且可靠的解决方案。相关工具链,从经济型探索套件到更复杂的评估套件和第三方工具,为利用STM8S微控制器进行开发提供了极大方便。STM8S系列包括四个产品线,具有不同特性,但是保持了全面兼容性和可升级性,从而减少了未来产品设计变更。 •STM8S003/005/007超值型是入门级产品,具有基本功能。 •STM8S103/10
[单片机]
ST系列STM8S003F3P6<font color='red'>单片机</font>芯片介绍
一种基于单片机的心肺复苏系统设计
1 引言   众所周知,在几分钟内及时抢救危重急症、意外伤害导致的突发濒死病人,具有重要意义。采用传统的人工呼吸和胸外按压方法,常常由于按压部位不准、用力方法不对、按压深度掌握不好、按压频率不规律等因素,难以达到理想的效果,甚至造成骨折、气胸、血胸等严重的并发症,同时口对口进行人工呼吸也有可能在病人与救护者间传染疾病。因此,有必要研制抢救迅速、定位准确、按压适度的便携式智能型心肺复苏机。其及时性和准确性可以显著提高救治效果,较好地解决徒手心肺复苏存在的问题。目前国内应用最为广泛的是美国Michigan Instruments 公司的“萨勃”心肺复苏机,国内市场仍然没有国产的便携式心肺复苏机。本文介绍的就是一种以Cygnal单片机
[医疗电子]
一种基于<font color='red'>单片机</font>的心肺复苏系统设计
单片机系统运行参数的保存及有效性判别
1 引 言   在单片机构成的控制系统中,系统控制时需要使用和保存已经设置或优化的参数。如果将运行参数仅仅存储于单片机的RAM区中,则系统在掉电或重启时将会丢失这些重要参数,不能正常运行。为了解决上述问题,保证控制系统正常、可靠地运行,需要将这些运行参数保存在足够容量的电可擦除存储器(EEPROM)中。在写入或读出EEPROM中的数据时,为保证数据操作的正确性,则需要进行数据校验。在系统运行这些参数之前,为检查运行参数的取值是否在许可范围之内,则需要进行参数取值范围的检验。本文结合作者开发的电梯轿厢门机控制系统,来详细讨论参数保存和校验的设计及实现。 2 系统运行参数的存储   在单片机组成的控制系统中,系统设置的运行参数是系统正常
[单片机]
<font color='red'>单片机</font>系统运行参数的保存及有效性判别
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

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