基于stm32的四轴飞行器

上传人:平*** 文档编号:11340880 上传时间:2017-10-13 格式:DOC 页数:6 大小:765.78KB
返回 下载 相关 举报
基于stm32的四轴飞行器_第1页
第1页 / 共6页
基于stm32的四轴飞行器_第2页
第2页 / 共6页
基于stm32的四轴飞行器_第3页
第3页 / 共6页
基于stm32的四轴飞行器_第4页
第4页 / 共6页
基于stm32的四轴飞行器_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《基于stm32的四轴飞行器》由会员分享,可在线阅读,更多相关《基于stm32的四轴飞行器(6页珍藏版)》请在金锄头文库上搜索。

1、基于 stm32 设计的四轴飞行器引言四轴飞行器是一种结构紧凑、飞行方式独特的垂直起降式飞行器,与普通的飞行器相比具有结构简单,故障率低和单位体积能够产生更大升力等优点,在军事和民用多个领域都有广阔的应用前景,非常适合在狭小空间内执行任务。因此四旋翼飞行器具有广阔的应用前景,吸引了众多科研人员,成为国内外新的研究热点。本设计主要通过利用惯性测量单元(IMU)姿态获取技术、PID 电机控制算法、2.4G 无线遥控通信技术和高速空心杯直流电机驱动技术来实现简易的四轴方案。整个系统的设计包括飞控部分和遥控部分,飞控部分采用机架和控制核心部分一体设计增加系统稳定性,遥控部分采用模拟摇杆操作输入使操作体

2、验极佳,两部分之间的通信采用 2.4G 无线模块保证数据稳定传输。飞行控制板采用高速单片机 STM32 作为处理器,采用含有三轴陀螺仪、三轴加速度计的运动传感器 MPU6050 作为惯性测量单元,通过 2.4G 无线模块和遥控板进行通信,最终根据 PID 控制算法通过 PWM 方式驱动空心杯电机来达到遥控目标。1、系统总体设计系统硬件的设计主要分要遥控板和飞控板两个部分,遥控板采用常见羊角把游戏手柄的外形设计,控制输入采用四向摇杆,无线数据传输采用 2.4G 无线模块。飞控板采用控制处理核心和机架一体的设计即处理器和电机都集成在同一个电路板上,采用常规尺寸能够采用普通玩具的配件。系统软件的设计

3、同样包括遥控板和飞控板两部分的工作,遥控板软件的设计主要包括 ADC 的采集和数据的无线发送。飞控板的软件的设计主要包括无线数据的接收,自身姿态的实时结算,电机 PID 增量的计算和电机的驱动。整个四轴飞行器系统包括人员操作遥控端和飞行器控制端,遥控端主控制器 STM32 通过 ADC 外设对摇杆数据进行采集,把采集到的数据通过 2.4G 无线通信模块发送至飞控端。飞控板的主要工作就是通过无线模块进行控制信号的接收,并且利用惯性测量单元获得实时系统加速度和角速度原始数据,并且最终解算出当前的系统姿态,然后根据遥控板发送的目标姿态和当姿态差计算出 PID 电机增量,然后通过 PWM 驱动电机进行

4、系统调整来实现飞行器的稳定飞行。系统的总体设计框图如图 1 所示。2、四轴飞行器的硬件设计2.1 主控单元选择从成本和性能综合考虑,飞控板和遥控板的主控单元都采用意法半导体公司的增强型高速单片机 STM32F103 作为主控的,STM32F103 是基于的 ARM 32 位的 Cortex-M3 内核架构,稳定工作频率可达 72MHz,是一个具有丰富资源、高速时钟的精简指令的微处理器。STM32F103 拥有从 64K 或 128K 字节的闪存程序可选存储器,高达 20K 字节的 SRAM,2个 12 位模数转换器多达 16 个输入通道, 7 通道 DMA 控制器,多达 80 个快速 I/O

5、端口,串行单线调试(SWD)和 JTAG 接口调试模式,多达 7 个定时器,多达 2 个 I2C 接口(支持 SMBus/PMBus) ,多达 3 个 USART 接口(支持 ISO7816 接口,LIN,IrDA 接口和调制解调控制) ,多达 2 个 SPI 接口(18M 位/ 秒) ,CAN 接口(2.0B 主动) ,USB2.0 全速接口。主控单元原理图如图 2 所示。2.2 飞控板电路设计飞控板的核心设计是 MPU6050 测量传感器、NRF2401 无线模块以及飞控板电机驱动等模块的设计。飞控系统的惯性测量单元采用 MPU6050 作为测量传感器,MPU6050 的驱动方式采用 II

6、C 接口,时钟引脚 SCL 连接到 STM32 的 PB10,数据引脚连接到 STM32 的 PB11 引脚,数据中断引脚连接到 PB5,为了增强驱动能力在每个引脚上都加入了 10K 的上拉电阻,原理图的设计如图 3 所示。相对于其他模块电系统也是比较重要的部分,飞控系统采用 3.7V 高放电倍率锂电池进行供电。主控芯片供电部分和 IMU 传感器部分采用各自独立的 LDO 进行供电,这样确保了系统的稳定性和 IMU 传感器数据采集的准确性,稳压直流电源模块的原理图设计如图 4 所示。飞控板与遥控板数据的通信同样采用的是基于 2.4G 频段的 NRF2401 模块,确保了数据的稳定传输。STM3

7、2 的 SPI1 外设对 2.4G 模块进行操作驱动,引脚的连接如下表 1 所示。NRF2.4G 为采用 3.3V 供电无线模块,系统采用与单片机相同的电源网络对其供电,同时加入 0.1UF 电容进行滤波确保模块正常工作,无线模块的具体原理图连接如图 5 所示。飞控板的驱动系统采用的是四个分布对称十字交叉的高速空心杯电机,电机的驱动开关部分采用 N 沟道增强型场效应晶体管进行控制,通过修改 STM32 对应引脚上的 PWM 信号来进行开关 MOS 管实现电机运行开与关,从而实现电机运转速度的调节。电机 1、2、3、4分别采用 STM32 的定时器 2 的通道 0、通道 1、通道 2 和通道 3

8、 的 PWM 进行控制。电机1 的控制端连接 PA0,电机 2 的控制端采用 PA1,电机 2 的控制端采用 PA2,电机 3 的控制端采用 PA3 控制,电机的驱动原理图如图 6 所示。飞控系统每 0.5 毫秒中断一次,每次中断就会检查一次无线模块数据的接收,确保飞控系统的控制信息的实时性。每两次中断即 1 毫秒读取一次 IMU 单元的数据,通过滤波算法获得较为准确的系统加速度、角速度的原始数据。每四次中断即 2 毫秒通过 IMU 的原始数据计算下当前飞控板系统的姿态,然后结合遥控端的目标姿态,根据两者的差值通过 PID 控制算法进行对各个电机的调速控制。每 200 次中断即 100 毫秒,

9、飞控系统会采集一次电池电压,然后把电池电压发送给遥控板,用来高速操作人员当前电压的大小。MPU6050 作为系统的惯性测量单元,是整个系统正常运行基础。 MPU6050 的驱动总线为 IIC 方式,为了程序的方便性本系统选用 PB10 和 PB11 模拟 IIC 来驱动。IMU 读取出来的数据只是最简单的加速度、陀螺仪角速度的原始数据,需要通过进一步的处理才能得到本系统想要的姿态角度。飞控板姿态结算流程图如图 10 所示。根据处理过后的 MPU 数据来获得当前的姿态,具体的姿态获取理论上是根据各个角度的积分得到当前的系统姿态欧拉角。本系统的设计实现是采用四元数算法对 MPU6050 最滤波后的数据进行计算得到最终的欧拉角。整个飞控系统的运行动作是通过调整飞控姿态来实现的,本系统设计在当前姿态的基础上,根据接收到的遥控器的目标姿态对空心杯电机进行基于 PID 算法的 PWM 控制调速,从而实现飞控系统的各种基本运动。飞控板会对系统惯性测量单元传感器的原始数据进行滤波,然后对滤波后的数据进行实时结算,最后根据遥控板发送来的目标信息进行计算出电机的控制增量,最后根据 PID 控制算法对电机进行控制输出,飞控姿态控制流程图如图 11所示。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号