您现在的位置是:主页 > 电路技术 > 单片机 >


基于STM32F103四旋翼飞行器设计

2020-02-23 21:34单片机 人已围观

简介四旋翼在人们的日常生活中应用的越来越为广泛,它可以广泛的应用于民用、科技和军事领域,但一般的四旋翼具有设计复杂,造价高的特点。 本文设计的四旋翼采用STM32F103为主控芯片...

  四旋翼在人们的日常生活中应用的越来越为广泛,它可以广泛的应用于民用、科技和军事领域,但一般的四旋翼具有设计复杂,造价高的特点。本文设计的四旋翼采用STM32F103为主控芯片,系统主要由主控板、机架、MP6050陀螺仪、电机模块、超声波、无线通信等模块组成。四旋翼可以做垂直升降,翻滚,前进后退,左移右移等动作。系统具有成本低,设计合理,具有较好的实用价值。
  

  1 研究背景及意义

  
  随着近些年科技的飞速发展,传感器、无刷电机、单片机、锂电池、通讯技术等为后来四旋翼飞行器的发展奠定了基础。四旋翼飞行器相比与传统的固定翼无人机有很多优点,首先四旋翼的体积小,隐蔽性高适合用于军事侦察、农林业调查等活动中。其次它的生产成本低,人人用的起,可用于玩具航模、航拍等娱乐活动中。四旋翼飞行器的看似简单,但是里边涉及到的东西非常多,要
  
  考虑到的方面也有很多,从四旋翼的整体机架、主控板的选择、软件的机构和各个机构的搭配安装都需要考虑。本次设计针对四旋翼飞行器更加平稳飞行进行更深入的研究,它将为四旋翼飞行器在飞行过程中飞的更加平稳,使得四旋翼在各个领域作出突出贡献。
  图1 硬件系统设计图
  图1 硬件系统设计图
  

  2 系统整体设计

  
  如图1所示硬件系统包括:电机、电池、主控板(STM32F1)、无线通讯模块、显示模块和姿态传感器模块(MPU-6050)。飞行过程中姿态传感器模块获得飞行器的状态信息,将实际姿态数据传送给控制器模块,并和遥控器通过无线通讯模块传来的目标姿态数据比较,通过一系列复杂的算法,得到飞行器的姿态和位置信息,计算出控制量,转化为对应的PWM信号,经驱动电路后驱动四个电机工作,保持四旋翼稳定飞行。
  

  3 硬件设计

  
  基于成本、功耗和性能等因素综合考虑,主控板和遥控板的芯片选用STM32F103作为主控芯片,STM32F103是一个具有丰富资源丰富、高速时钟的精简指令、低功耗的微处理器。它拥有从64K 或128K字节的闪存程序可选存储器,高达20K字节的RAM,2个12 位模数转换器多达16个输入通道,多达11个定时器其中高级定时器可产生不同的PWM,并有着多功能的PWM输出模式,可以通过设置其寄存器来对PWM输出进行改变,方便的控制电机。多达80 个快速I/O口,串行单线调试和TAG接口调试模式,USB2.0全速接口。其的集中度高,包括复位电路、低电压检测、调压器、精确的RC振荡器等,满足四轴飞行器的所有需求。
  
  3.1 MPU-6050传感器
  图2 MPU-6050陀螺仪模块
  图2 MPU-6050陀螺仪模块
  
  MPU6050是一款9轴运动处理传感器。它集成了3轴MEMS陀螺仪,3轴MEMS加速度计,以及一个可扩展的数字运动处理器DMP(Digital Motion Processor),可用I2C接口连接一个第三方的数字传感器,比如磁力计。扩展之后就可以通过其I2C接口输出一个9轴的信号。MPU-6050也可以通过其I2C接口连接非惯性的数字传感器,比如压力传感器。完全满足飞行器的所需。
  
  3.2 电子罗盘
  图3 电子罗盘模块
  图3 电子罗盘模块
  
  根据总体设计的要求,选用功耗低、体积小、重量轻的AK8975/C,AK8975/C是一种地磁电子罗盘传感器,霍尔元件的一种应用,集成了加速度计、磁力计、AD转换器。因为其成本低、功耗小、性能高,被广泛的运用于低成本罗盘和GPS。AK8975/C 集成了多个磁传感器来感应地球南北极的磁场强弱的变化,并把磁场强弱的变化运用AD转换器来反馈到X、Y、Z轴上,这些变化可以给四旋翼提供航向角、俯仰角和横滚角,来确定四旋翼的姿态, 再配合使用陀螺仪和电机就可以改变四旋翼的飞行姿态了。
  
  3.3 无线通信模块
  
  为了能够使四旋翼无人机远程操控,无线通信模块是必不可少的,这里我们选用的是Nordic公司的NRF24L01无线模块, NRF24L01无线模块是一款工作在2.4~2.5Ghz全世界通用的ISM频段的无线收发芯片,抗干扰性能强,传输距离远;有125个频道可供选择,可以免许可证使用;可同时添加6路接收通道地址,方便点对多点的无线通信;更有低工作电压、低功耗、低成本和便于开发等特点,完全适用本四旋翼无人机。引脚图如图4所示,工作模式如图5所示。
  图4 NRF24L01引脚图
  图4 NRF24L01引脚图
  图5 NRF24L01的工作模式
  图5 NRF24L01的工作模式
  
  NRF24L01可以设置为以下几种主要的模式有六种,其具体情况及参数如图5所示。
  

  4 理论分析与计算

  
  陀螺仪信号的滤波我们选择的是卡尔曼滤波算法,有干扰也没有太大的关系,这个算法可以对系统下一秒做出预测,非常适合运用于连续动态系统中,可对系统状态做出最优化的算法,比如汽车自动驾驶系统、无人机系统和导弹追踪中。其算法是利用前一时刻获取的信号或者状态比对现在的测量值,算法会计算出对这信号或状态的估计值,然后会依据估计值建立的系统和观测值建立的系统计算出最小均方误差,得出最优的解决方法。
  
  要使四旋翼飞行器的姿态用数值表现出来并控制其飞行姿态,必须要有一套姿态控制算法。第一步,要姿态解算,我们使用四元算数从陀螺仪MPU-6050的陀螺仪和三轴加速度值中转换成欧拉角,也就是偏航角、俯仰角和滚转角,结合电子罗盘AK8975/C的三轴地磁得到漂移补偿,把陀螺仪和电子罗盘的数据融合在一起,主控芯片计算出飞行器的姿态。
  图6 飞行姿态PID控制原理图
  图6 飞行姿态PID控制原理图
  
  控制四轴电机1和电机3同向,电机2电机4反向,理论上是刚好抵消反扭矩,但因为电机和螺旋桨的差异和空气流动的诸多因素, 无法做到平衡姿态,要想控制其姿态就必须要用到PID控制算法, PID控制算法是目前运用最广泛的一种自动控制算法,可以对动态系统线性调节。PID调节可分为两部分:积分调节和微分调节,积分调节可以观测出系统出现的误差,进行积分调节减小系统的误差,直至系统稳定;微分调节可以预见偏差的趋势,对误差进行微分,算出误差的变化速率,提前做出控制;比例系数可以调节变化速度,当与比例系数偏差过大时,调节加快,当与比例系数偏差减小,调节放慢。从MPU6050中采集的数值转换成欧拉角,传给姿态PID控制器中进行姿态控制。
  

  5 程序设计

  
  此飞行器能通过无线遥控来控制飞行器的姿态,开启飞行器, 操纵摇杆,起飞飞行器,主程序进行查询并读取MPU-6050陀螺仪中的数据,并进行飞行器的姿态控制,几毫秒后主程序通过PID内循环来控制电机来调整电机转速,几毫秒后,PID外循环控制提供角度数据给内循环做数据参考更正电机转速。
  图7 主程序流程图
  图7 主程序流程图
  
  5.1 无线通讯程序设计
  
  为了能够使四旋翼无人机和地面控制站之间相互通信,发送方和接收方的射频通道号必须一致,NRF24L01的通信采用SPI通信方式,可设置为多种工作模式,通过修改寄存器PWR_UP、PRIM_ RX和引脚CE来设置不同的工作模式。
  图8 无线程序流程图
  图8 无线程序流程图
  
  通过改变这三个寄存器可以设置接收模式和发送模式,发送方的工作流程:配置寄存器使芯片处于发送模式,后拉高CE端口10us或以上;读状态寄存器STATUS,判断是否是发送完成标志位置位并清除标志位清除数据缓存。接收方的工作流程:配置寄存器使芯片工作于接收模式后拉高CE端口130us及以上;读状态寄存器STATUS判断是否是接收完成标志位置位;清除标志;读取数据缓冲区的数据;清除数据缓冲。无线通讯程序设计流程如图8所示。
  
  5.2 数据采集与数据融合程序设计
  
  首先采集MPU-6050的三轴角速度数据,在采集AD值,也就是MPU- 6050的陀螺仪值和加速度值进行简单的低通滤波处理再将两组数据进行算法融合,再使用四元算数转换成欧拉角。程序流程如图9所示。
  图9 数据融合程序框图
  图9 数据融合程序框图
  
  6 总结分析
  
  本次设计中的四旋翼在传感器如超声波定高,陀螺仪等传感器的作用下,具有短距离初步的自动升高,自动飞行和自动降落等自主飞行的能力。而且所设计的四旋翼具有价格低,结构简单等优点。但如果进行远距离飞行情况下,还应增加GPS或北斗定位系统,同时空中避障检测等设计也是今后有待加强的方面。

Tags: STM32 

标签云