基于STM32 四轴飞行器的设计与实现*
2022-07-20闽南科技学院张荣辉严国峰
闽南科技学院 张荣辉 严国峰
本设计实现一款基于STM32 的四轴飞行器,该飞行器工作后可实现定点悬停;可以通过遥控器远程控制其上下前后左右移动;使用遥控器操作,实现一键起飞,能够按设定路线移动。
随着科学技术水平的发展,人们见识与视野的提升,陆地探索已经逐渐不能满足人们日益增长的好奇心,广阔无垠的天空成为新的研究对象。早在2014 年,国际航空界发生了重大变化,民用无人机突然闯进人们的生活。自“女王”号军用无人机于20 世纪初在英国诞生以来。无人机(四轴飞行器)一直是军事领域中的神秘一员。
随着社会科学技术和制造业的快速发展,无人机从高高在上的军事领域进入民用领域,迅速被应用在各个行业中如农业灌溉、影视摄像,高空作业等。四轴无人飞行器研究成本低、开发自由度大、飞行稳定等特点使其成为当代人的新宠,大学生学习和研究的新目标。
1 设计方案
本系统的设计,围绕ACFLY 飞控作为无人机主控展开设计,搭配供电电源、降压模块、电调、无刷电机、超声波模块、光流模块、遥控器及遥控器接收机,组合搭建四轴无人机。其系统组成框图如图1 所示。
图1 中超声波模块能返回无人机离地高度数据,配合飞控内部集成的温度计、气压计的参数融合后能实现无人机定高飞行。配合光流模块实现无人机定点飞行,不会水平漂移;使用遥控器及遥控器信号接收机,可实现手动操作无人机工作;飞控上电后接收遥控器的指令,根据指令起飞。根据多个传感器返回的参数,进行定高定点悬停和前后左右上下运动。
图1 系统组成框图Fig.1 The block diagram of system composition
2 硬件选型设计
2.1 微型控制器
本设计采用ACFLY 飞控作为系统的核心。ACFLY 飞控包含电调接口、PPM 信号接收机接口、超声波模块接口、光流模块接口、GPS 模块接口、外置罗盘接口、OpenMV模块接口、激光模块接口、显示屏接口、程序下载口、SWD 地面站调试接口。内置集成温度模块、气压计模块、MPU6050 三轴加速度计模块、罗盘模块,增加飞控模块的稳定性。通过强大的32 位单片机,控制复杂的数据计算和输出。
2.2 航模电池
1800mAh 容量的驯龙者品牌航模锂电池,为整个系统提供12V 电压的持续输出,保障四轴飞行器能在一定时间内持续保持稳定的工作状态。
2.3 郎宇无刷电机
郎宇无刷电机,高转速、低功耗、大动力,经电调的调节为四轴无人机提供飞行所需动力。一共需要四个无刷电机,分别安放在四轴的角落,四个电机的转向是不同的。一号位和三号位的电机逆时针旋转、二号位和四号位的电机顺时针旋转(如图2 所示)。
图2 电机转向图Fig.2 Motor steering
2.4 好盈乐天40A 无人机电调
40A 无人机电调,接收来自飞控的指令,放大油门信号,使电机能快速响应。能完美兼容市面上多款不同型号参数的无刷电机。与电机连线有三个接线口,可通过交换任意两根两线实现更改电机转向,方便电校准机。
2.5 螺旋桨
无人机螺旋桨多为碳纤维材料,个体重量轻、结实、轻薄,能有效减小空气阻力,增强能量利用率。螺旋桨分正桨和反桨,配合无刷电机的不同转向,为无人机提供升力。
2.6 光流传感器
光流传感器模块适用于四轴无人飞行器,是一款高效光流定点传感器,反馈数据为X 轴和Y 轴坐标。在四轴飞行器飞行过程中,光流传感器将飞行器的水平方向的位移数据反馈给飞行器主控,经过飞行器主控的一系列控制处理使飞机定点悬停。
2.7 超声波模块
超声波模块有四个外接引脚,分别为VCC、GND 和两个数据传输引脚。超声波模块相较光电红外模块测量距离更远,测量数据精度更高。超声波模块发射声波,声波遇到障碍物反射被模块接收后会将数据反馈给飞控,经飞控融合处理后得出飞行器离地高度。
长三角地区专利申请量、授权量均位于全国前列。2017年,长三角地区三省一市每万人口发明专利拥有量均进入全国省份排名前十位;专利申请量占全国的32.4%;每万人口发明专利拥有量远高于全国平均水平,达到22.85件。
3 四轴飞行器软件设计
实现四轴飞行器正常工作主要子函数包括:电调控制子函数;超声波模块子函数;光流模块子函数;显示子函数;PID 控制子函数子函数;MPU6050 三轴加速度子函数;自定义编程子函数;USB 串口子函数;LED 控制子函数;PWM 输出子函数;EEPROM 数据存储子函数;UART 串口子函数;ADC 采集子函数。软件系统流程如图3 所示。
图3 软件系统流程图Fig.3 Main program flow
程序开始会初始化所有子函数。初始化完成后开始运行main()主函数,读取遥控器指令,选择工作模式,一般分为姿态飞行模式和一键起飞模式。
(1)姿态飞行模式是指飞行器正常工作,读取光流模块数据,实现定高定点飞行。加大油门可增加飞行器飞行高度,反之则降低飞行高度。油门有上限和下限,当油门值低于一个参数后,飞行器会失去动力,切换为自动降落模式,使飞行器安全降落。方向遥感控制飞行器前后左右移动,飞行器停止方向移动后会自动进入定点悬停模式,飞行器不会横向或上下浮动。油门遥感进行左右摇动时会让飞行器实现转向操作,原地左转或者原地右转。超声波模块为飞控提供主要高度参数,与其他传感器参数进行融合成为最终飞行器飞行高度。光流模块为飞控提供位移参数,反馈飞行器移动的X 坐标和Y 坐标。超声波模块和光流模块最终确定飞行器高度和空间位置实现定点悬停。
(2)一键起飞模式是指飞行器根据预先编辑好的代码工作,例如一键起飞、悬停稳住飞行器工作状态,直行50cm、左转90°(循环直行4 次)自动降落,实现飞行器正方形划线飞行。自动工作的参数依据为超声波的高度数据和光流的位移数据。
4 结语
本系统基于STM32 四轴飞行器包含核心主控32 位飞控主板、OLED 显示电路、光流模块电路、超声波模块电路、电源供电电路、PPM 信号接收机电路、电调电机驱动电路。飞控主板集成单片机最小系统、气压计、内置罗盘、温度计、RGB LED 灯等核心元器件电路,且将所有的连接口引出,方便模块接线;OLED 显示电路连接飞控主控特定OLED 接口,显示飞行器系统所有数据;光流模块电路连接主控Uart1 接口,反馈位移左边给主控,能实现定点飞行,不让飞行器水平漂移;超声波模块电路连接主控Ultrasonic 接口,反馈飞行高度数据到主控,能实行飞行器悬停,不会再Z 轴上下移动;电源供电电路将锂电池电源12V 供给电调,电调转出的5V 供给单片机和其他功能模块使用;PPM 信号接收机电路接收遥控器发出的信号,传输给单片机;电调电机驱动电路:控制电机转动,为整个系统提供飞行动力。
本设计仍然有值得完善的地方,例如可尝试加装摄像头模块,为四轴飞行器提供机器视觉,让飞行器可进行更多的工作如:追随地面上带有标记的小车运动、寻线飞行、颜色识别飞行、火源识别;可以尝试加装GPS定位模块,可实现飞行器巡航飞行和定点返回;优化四轴飞行器结构框架,尝试升级成防雨、防潮、耐高温等特点,可让飞行器在更多环境下工作。
引用
[1] 李庆.基于STM32的四轴飞行器系统设计[J].现代制造技术与装备,2021,57(3):81-82.
[2] 李威,邱霞,徐德利.一种自适应的四轴飞行器PID控制算法[J].湖北理工学院学报,2020,36(1):5-9.
[3] 张锦瑞,赵华磊,李试森,等.基于STM32的室内四旋翼飞行器的设计与实现[J].现代计算机,2020(26):80-85.
[4] 罗昌恩,张国林,戴毅.基于STM32小型四轴飞行器PID参数整定[J].电子世界,2018(19):37-38.
[5] 邢东峰,陈光武,刘孝博.基于STM32的姿态感知四轴飞行器的设计[J].传感技术学报,2019,32(11):1603-1607.