新闻中心

EEPW首页 > 消费电子 > 设计应用 > 基于STM32的四旋翼飞行器控制系统

基于STM32的四旋翼飞行器控制系统

作者:时间:2018-08-14来源:网络收藏

四旋翼飞行器是一种具有6个自由度和4个输入的可垂直起降、悬停、前飞、侧飞和倒飞的无人驾驶飞行器,4只旋翼可相互抵消反扭力矩,不需要专门的反扭矩桨。被广泛应用于无人侦察、森林防火、灾情监测、城市巡逻等领域。飞行系统是四旋翼飞行器的核心部分,其性能的好坏决定了整个系统的性能。近年来,微小型四旋翼无人机的自主飞行得到了研究人员的广泛关注。随着计算机技术和电子技术的发展,国内的小型飞行器研究开发工作逐渐升温,许多公司形成了产业。例如大疆公司将四轴飞行器等多轴飞行器实现了商业化应用。国内研究的重点主要为三个方面:姿态控制、传感器技术发展以及新材料的应用、电池领域技术的研究。典型代表有哈工大、北京航空航天大学、南京航空航天大学、国防科技大学等。在控制算法上,先进PID控制得到广泛应用。

本文引用地址:http://www.eepw.com.cn/article/201808/386776.htm

本文以ARM Cortex-M3架构的STM32C8T6作为飞行器控制处理器,以MPU-6050作为飞行器的姿态传感器,以低功耗2.4GHz的nRF24L01作为无线传输器件,以HC-RS04超声波作为障碍物报警传感器设计系统硬件电路。经过实验调试,硬件系统能够稳定、可靠运行。

1 系统总体结构设计

1.1 物理结构设计

四旋翼飞行器由一个十字支架和四个螺旋桨组成,支架中间安放飞行控制处理器及外部设备,四个螺旋桨半径和角度相同,呈左、右、前、后四个方向两两对称排列。四个电机对称安装在支架端,其中,电机1和电机3逆时针旋转,电机2和电机4顺时针旋转,通过改变四个电机的转速来控制电机的运行状态。其结构形式如图1所示。

1.2 工作原理

四旋翼飞行器在工作时,是通过电机调速系统对四个电机的转速进行调节,以实现升力的不同变化,从而控制飞行器的运行状态。飞行器的电机1和电机3呈逆时针旋转,电机2和电机4呈顺时针旋转,此时飞行器的陀螺效应和空气扭矩效应均被抵消,从而保证飞行器能够平衡稳定的飞行。通过适当地改变电机的转速,来控制飞行器的飞行状态。

1.3 飞行器控制系统总体系统设计

飞行控制系统分为地面和机载两部分,其在物理上是彼此单独的,在逻辑上是彼此相连的。地面部分又分为地面站部分和遥控器部分,这两部分相互独立。整个飞行控制系统由微控制器模块、无线模块、电机驱动模块、姿态测量模块、高度测量模块、报警电路模块、地面站和遥控器等部分组成。系统总体框图如图2所示。

2 系统主要功能模块硬件电路设计

2.1 微控制器模块

本控制系统是一个多输入多输出系统,控制模块的主要输入信号有各个传感器的测量数据,输出信号为四路变脉宽电机控制信号,需要多个定时/计数器控制信号脉宽。系统需要处理很多传感器传来的数据,并且需要将数据送回地面系统,需要实时控制,响应速度必须要快。此外,本系统传感器的接口多样化,需要更多样的接口才能便于软件读取。基于这些需求,本设计中飞行器微处理器模块选用ARM Cortex-M3内核的STM32F103C8T6,它的时钟频率可以达到72MHz,并且拥有IIC总线接口、JTAG接口、SPI接口、AD采集接口、多路PWM输出和多个串口,便于多样化传感器的挂接和程序的下载与调试。此微控制器具有8个定时器,对于信号采集和PWM输出均能满足。

2.2 姿态测量模块

四旋翼飞行器受电机振动和外界干扰影响较大,精确数学模型建立较难,且其载重有限,一般以惯性器件作为姿态测量装置,姿态测量部件是整个硬件系统的重要部分。本设计综合考虑硬件设计原则,采用MPU-6050作为飞行器的姿态传感器。MPU-6050通过IIC协议接口进行通讯,只需要将MPU-6050的SDA数据线和SCL时钟线与STM32通用I/O口相连接,其电路如图3所示。为了稳定输出,避免空闲总线开漏,利用R2与R3作为SDA和SCL的上拉电阻,提高总线的负载能力。电路中C9为数字供电电压滤波电容,C8为校准滤波电容,C10为电荷泵电容,C11为供电电压滤波电容。

2.3 无线通讯模块

系统在这三个方面需要无线通讯:首先需要将遥控器的信号通过无线模块发送出去。其次,地面站需要接收飞控端的姿态数据,并需要发送控制参数。最后,在飞控端需要接收遥控器和地面站的数据。结合通讯距离,成本等因素,本设计选用nRF24L01无线模块器件。其发射电路可以通过LC振荡电路构成。为了便于维修,利用接口将无线模块独立出来。

2.3.1 遥控器模块

本设计采用摇杆控制方式,利用数-模转换器将摇杆的模拟量转化为数字量,再将转化后的数字信号传递给小型控制器,经过一定的数据处理,通过无线发射出去,供飞行器控制器接收利用。采用nRF24L01作为遥控器的无线发射器件,为了便于数-模转换,遥控器摇杆采用摇杆电位器,通过采集电位器的电压值去衡量遥控的行程量;由于遥控器处理信号单一,不需要高速的处理器,采用8位的51单片机STC89C52RC作为遥控器的控制器,用来采集摇杆的模拟信号和发送采集到的数据。采用PCF8591作为数据获取器件,其含有4路模拟量输入,1路模拟量输出,属于标准的IIC通讯,能够满足本设计要求。遥控器硬件电路如图4所示。

2.3.2 地面站模块

飞行器地面站主要完成以下两个方面的功能:(1)在飞行器稳定飞行时检测飞行器的飞行状态,传递控制参数给飞行器,使其按照控制算法运行;(2)在飞行器调试阶段,完成飞行器PID参数的修改和调整。由于PC机一般留给用户操作的多为USB接口,然而nRF24L01通讯接口为SPI接口,本设计选用51单片机读取nRF24L01的数据,继续由单片机将数据通过USB转串口芯片与PC机通讯,完成地面站数据的传输功能。

  • STM32单片机中文官网
  • STM32单片机官方开发工具
  • STM32单片机参考设计

上一页 1 2 下一页

关键词: 通信 控制

评论


相关推荐

技术专区

关闭