基于STM32F4 的四轴无人机设计

2023-05-29 05:50李少童何明兴李大彬王耀政
电子制作 2023年7期
关键词:陀螺仪原理图角速度

李少童,何明兴,李大彬,王耀政

(广州城市理工学院,广东广州,510800)

0 引言

四轴无人机的发展日益迅速,各行各业对无人机的需求也越来越大,目前国内外无人机技术垄断相对严重,大疆占全球市场份额近八成左右,占国内市场也近七成,但大疆的价格相对较高,普通用户难以消费,因此低成本多功能的小型无人机相对空缺,因此基于STM32 单片机开发一款低成本的小型无人机意义重大。

1 四轴无人机的关键零部件选型

1.1 电机

在本项目中我们团队选择两种不同的电机,直流有刷电机即图1 的空心杯电机720 和主流无刷电机A2212 电机。空心杯电机优势在于体型小巧,运行稳定性高,其速度波动可控制在2%,在相应速度-电压参数能呈现出标准的线性关系,有利于无人机的控制,缺点则在于空心杯电机发热严重,使用寿命较短,且一般无法承受大电流运行,因此所制作的无人机无法负重飞行,一般适用于超小型无人机设计。A2212 无刷电机在能量转换效率高,一般可高达96%的能量转换,启动转矩地,峰值转矩高,机械时间常数小,转子与定子间无径向作用力,转子稳定性高,散热效果良好等优点,一般适用于大型无人机的设计,其主要缺点在于不可缺相运行,不仅因为剩余的绕组的发生的磁场点2 个大小相等,方向相反旋转磁场,它们和转子作用发生的扭矩大小相等,方向相反相互抵消,零起动转矩电机不能启动,还可能直接烧毁电机,损坏电路。本次无人机项目选择使用直流有刷电机,型号为720,额定电压3.4V,额定电流800mA,额定转速34000。电机如图1 所示。

图1 电机

1.2 电池

我们选用的是1000mAh,1S/3.7V 的航模锂电池,电池如图2 所示。

图2 电池

航模锂电池的体积不大,且质量轻,容量比也极高,放电率高,爆发性强适用于短时间启动需大能量的电机。而我们选择的这款航模锂电池拥有这1000mAh 的容量,理论上可以支撑上述选用的四个空心杯电机全功率使用0.3h。

1.3 螺旋桨

为保证四轴无人机有较强的升力及更轻的重量,我们选用的是直径为46mm 的桨叶,如图3 所示。

图3 螺旋桨

1.4 四轴机架

机架一般占据了整个无人机的重量70%,常选择质量较轻,硬度高的材料设计。因为我们所制作的小型无人机,其PCB 板已占据了大部分重量,为此我们选择直接通过对PCB 的绘制,制作出无人机机架外观再增加保护胶圈,提高无人机使用安全性,如图4 所示。

图4 机架

2 无人机部分硬件电路系统的设计

2.1 主控MCU

主控MCU 选用STM32F401CCU6,这是一款高性能Arm Cortex-M4 32 位 RISC 核心,工作频率高达84 MHz,Cortex-M4 核心具有浮点单元(FPU)单精度[1],支持所有的单精度数据处理指令和数据类型,有助于无人机的四元数姿态结算,STM32F401CCU6 采用了高达256KB 的FLASH和64KB 的SRAM,设备还提供一个12 位 ADC、一个低功耗 RTC、六个通用16 位定时器,包括一个用于电机控制的PWM 定时器、两个通用32 位定时器,可以满足无人机的系统控制需求,同时设备具有标准的通信接口SPI 和IIC 接口,能满足无人机的基本通信要求。STM32F401CCU6 原理图,如图5 所示。

图5 MCU 原理图

2.2 传感器

无人机板载一颗九轴陀螺仪传感器MPU6050 和一颗高精度气压传感器BMP280,MPU6050 内部整合了三轴MEMS 陀螺仪和三轴MEMS 加速度计,还有可以结合InvenSense 公司提供的运动处理资料库,实现姿态解算,并通过I2C 接口输出,大大降低了运动处理运算对操作系统的负荷,可实现无人机的稳飞控制与角度PID 控制。BMP280 是BOSCH 公司旗下的高精度低功耗数字气压传感器,气压相对精度高达±0.12 hPa,用于无人机的高度检测和定高PID 控制,图6 是BMP280 气压传感器和MPU6050 陀螺仪传感器原理图。

图6 传感器原理图

2.3 电机系统

四轴采用微型高速720空心杯有刷电机,全功率运行下能达到45000RPM,为能提供足够电流驱动电机,选用NMOS 管SI2302设计电机驱动电路,通过STM32F 401CCU6 定时器产生PWM 脉冲控制NMOS的开断,从而实现对有刷电机的控制[2]。因为在无人机的PID 控制需不断的使电机处于启动与衰减模式而在电机处于衰减模式时,即电机从运动到停止状态,因为电机属于感性负载,电流是不能发生突变的在断开电机两端所加的电压时,电机产生的反向电动势很有可能损坏NMOS 管,因此在电机需要停止时,除了断开外,还需增加一个续流电路,即在NMOS 管旁增加一个续流二极管。电机控制原理图,如图7 所示。

图7 电机控制原理图

2.4 无线通讯系统

RF24L01 是由NORDIC 生产的工作在2.4GHz~2.5GHz的ISM 频段的单片无线收发器芯片,nRF24L01 的数据传输速率可达1Mbps、2Mbps,4 线SPI 通讯端口,通讯速率最高可达8Mbps,且nRF24L01+接口有IRQ 引脚,用于指示nRF24L01+中断的状态,在IRQ 引脚拉低后,程序触发nRF24L01+中断,在中断处理函数中,程序仅置位相应标志,中断的处理则放置在主函数中[3]。在于与STM32F401CCU6 建立通讯时,不会过多占用CPU,并且可通过软件设置工作频率、通讯地址、传输速率和数据包长度,方便编辑无人机控制指令集。nRF24L01+接口有IRQ引脚,用于指示nRF24L01+中断的状态,在IRQ 引脚拉低后,程序触发nRF24L01+中断,在中断处理函数中,程序仅置位相应标志,中断的处理则放置在主函数中。无线通信原理图,如图8 所示。

图8 无线通信原理图

2.5 各子系统布局

无人机的整体布局围绕轻、小展开,目的是为提升无人机的操控性、可玩性,同时在一定程度上降低整机成本,因此无人机设计过程中将硬件电路板布置为四轴模式[4],PCB电路板,如图9 所示。

图9 PCB 电路板

3 软件设计

3.1 系统框图设计

系统上电启动时,将初始化MPU6050 陀螺仪、BMP280 气压传感器、NRF24L01 通讯模块,以及MCU内部定时器、ADC,DMP 等。将无人机放平,通过观察无人机指示灯,检测NRF24L01 的通讯是否正常,等待MPU6050 与BMP280 的自检完成,等待无人机遥控发出起飞指令,飞控MCU 接受到指令后,通过MPU6050 发送的角度数据,进行互补滤波后,将数据传入STM32F401CCU6的FPU 单精度运算单元进行PID 运算,输出姿态控制量,由MCU 定时器生成PWM 脉冲输出,控制电机的旋转,与此同时不断接受来自遥控器的指令和MPU6050 和BMP280的更新数据,每5ms 进行一次姿态调整,以保证无人机的稳定飞行[4]控制系统框图,如图10 所示。

图10 控制系统框图

3.2 飞行姿态解算

姿态解算指MCU 读取自身传感器数据,实时计算四轴飞行器的姿态角,比如横滚角(roll),俯仰角(pitch),偏航角(yaw)的信息,一般姿态解算分为硬件解算与软件解算,硬件解算即使用MPU6050 自带的数字运动处理器DMP 它可以融合来自陀螺仪、加速度计的数据,并基于硬件电路的处理计算出准确的四元数,处理结果可以从 DMP寄存器读出,使用DMP 读取数据虽然简单,但是无法跟踪飞行器剧烈的姿态变化,而且有些时候还会出现突变甚至卡死现象[5]。因此我们将选择使用软件解算,通过互补滤波算法,分别利用加速度计和陀螺仪的频率响应优势,对传感器测量的原始数据进行互相弥补, 来提高解算的姿态精确度,因为加速度计的静态特性好,而动态特性差的原因,需对测量得到的数据进行低通滤波,陀螺仪则因存在温漂和零漂的关系,其在低频段动态响应特性差,高频动态响应特性好,需对测量的数进行高通滤波,图11 是Mahony 互补滤波算法的程序流程图。

图11 互补滤波流程图

3.3 四元数运算

四元数是利用一种超复数的乘法来等效放映姿态变换的方法[6],相比于欧拉角描述姿态矩阵,后者需要大量的三角函数计算,以及存在奇异点,因此采用四元数表示可较低姿态解算的复杂度,达到实时解算飞行姿态。以下是四元数转旋转矩阵:

3.4 串级PID 控制算法

四旋翼无人机是多输入多输出的非线性系统,且实际飞行时周围环境多变,为了达到较好的控制效果,使其能迅速调整,保持一定的稳定性,一般会选择使用PID 控制算法进行自动控制,PID 算法是一个在工业控制应用中常见的反馈回路部件,由比例单元 P、积分单元 I 和微分单元 D 组成[7]。常见的PID 算法分为单环PID 和串级PID,在无人机实际使用单环PID 控制进行实测时能明显感觉到动态性能比较差,振荡较大,阻尼较小,增加D 性能提升有限甚至会导致系统发散,因此我们选用串级PID 作为项目的控制算法,串级PID 相比单环PID 只增加了一个内环,内环的加入相当于增加了系统的阻尼,对于系统的抗干扰性得到了进一步提升。遥控发送期望角度数据,反馈角度来自MPU6050 陀螺仪传感器,二者的偏差作为外环角度环的输入,角度环 PID输出角速度的期望值;角速度期望值减去传感器反馈的角速度得到角速度偏差值,这个值作为内环角速度环的输入,角速度环 PID 输出姿态控制量,控制量转换为 PWM 去控制电机,从而控制四轴,串级PID 流程图如图12 所示。图13 为部分串级PID 控制程序。

图12 串级PID 流程图

图13 串级PID 控制程序

4 总结

本文采用STM32F4 单片机自主开发四轴无人机,采用自适应的智能控制方法串级PID 控制算法实现飞行器姿态控制。基于STM32F4 开发的四轴无人机,其体积更小,功耗更低且续航时间更长,抗干扰性强,响应快速。未来可通过扩展适用于其他行业,以提升该机型的扩展性。

猜你喜欢
陀螺仪原理图角速度
基于EMD的MEMS陀螺仪随机漂移分析方法
浅谈STM32核心板原理图设计
电路原理图自动布图系统的设计与实现
基于Protel DXP 2004层次原理图的设计
我国著名陀螺仪专家——林士谔
圆周运动角速度测量方法赏析
微机械陀螺仪概述和发展
MEMS三轴陀螺仪中不匹配干扰抑制方法
半捷联雷达导引头视线角速度提取
基于构架点头角速度的轨道垂向长波不平顺在线检测