基于STM32的小型四旋翼飞控系统的研究与设计
2017-05-30高礼伟朱小刚陶波
高礼伟 朱小刚 陶波
摘 要:本文以STM32F4为飞控系统的核心,围绕传感器接口和数据采集、PWM电机控制等进行硬件、软件设计。
关键词:无人机;飞行控制系统;STM32;PID控制
中图分类号:V249.2;TN61-34
小型四旋翼无人机(简称无人机)因机动灵活、费效比高、维护方便、机动性能好等特点而被广泛应用在军事、工业、农业等领域。近年来嵌入式芯片高速发展,性能越发强大,为设计无人机飞行系统(简称飞控)提供方便。
1 四旋翼飞行器控制原理
小型四旋翼无人机的机械结构一般是“十”字模式,如图1所示。飞行时通过控制4个电机加、减速旋转,使飞行器完成起飞、降落、旋转等动作。
图2为飞控的典型闭环反馈控制系统。通过各传感器获得姿态等数据,若姿态和或位置信息偏离指令值时,控制器根据PID算法输出相应的控制量,执行机构根据控制量做出相应的动作,使无人机按照预先设定的航点信息准确飞行。
2 飞行器控制系统硬件设计
因无人机自身速度快、位置精度高,对所搭载传感器的精确性、实时性也要求较高,这才能满足飞行控制的数据采集、解算、控制通信等任务。系统以STM32F429为核心,搭载9轴传感器、气压计、GPS模块、数传电台等传感设备[ 1 ]。系统框图见图3。
2.1 STM32F4处理核心
ST公司Cortex-M4内核的STM32F439嵌入式ARM芯片,支持浮点数运算、低电压运行其性能表见表1。
2.2 9轴传感器接口
BNO055是9轴传感器:3轴14位的加速度计、磁强计、3轴16位的陀螺仪,输出四元数、欧拉角、旋转向量、线性加速等姿态信息,且支持I2C、UART等数字接口[ 2 ]。图4为传感器与STM32F429的I2C接口电路。
2.3 GPS模块接口
系统采用NEO-6M GPS模块测量速度、纬度、经度、高度等导航数据,其定位速度快、度高、支持修改通信协议的数据格式。模块自带MAX232标准的串口电平接口, 图5为与的STM32F429的串口接口电路。
2.4 数字气压计接口
数字式气压计BMP085获取大气压力数据和高度数据,结合GPS数据可得到精确的高度和速度数据。压力测量绝对精度达0.03hPa,可以通过I2C总线直接与处理器相连,如图6。
2.5 数传电台接口
采用Xtend900M电台实现无人机与地面的数据通信,其抗干扰性好,通信距离远,稳定性好,频率范围 902MHz~928MHz。Xtend與STM32F439为串口连接。
2.6 其他接口
为扩展需求,系统预留了丰富的接口,其中 PWM 输出接口除了控制量输出外,还可以为如云台、伞仓等任务设备使用;SPI、I2C 接口可以用来扩展外接高精度惯性导航器件等;
3 飞行器控制系统软件设计
系统的软件设计采用IAR7.2嵌入式集成开发环境开发,该环境支持嵌入式C编译器,且支持J-link硬件仿真的实时在线调试。飞行器在飞行过程中控制飞行器角速度的增量,故采用PID的增量算法整体程序方法如公式1。
式中:un为第n个采样时刻的控制;KP为比例放大系数;T 为采样周期。
软件模块化设计包括传感器数据的读取及姿态解算、PID控制、PWM 信号捕获以及控制电机的PWM波形输出等。根据飞控的控制要求,设计了如图7的软件主流程图。
4 系统调试与结论
根据系统的软硬件设计,完成了四旋翼飞行器硬件制作与调试,并进行程序编写、下载调试。调试表明四旋翼飞行控制系统设计合理,飞行灵活、稳定。
参考文献:
[1] 杨磊.基于STM32的小型无人机飞行控制系统设计[D].哈尔滨:东北农业大学,2016.
[2] 王东平.基于嵌入式的四轴飞行器控制系统研究与设计[D].泉州:华侨大学,2013.
基金项目:江苏省大学生创新创业训练计划
项目编号:201613114011Y