DIY高大上!用STM32单片机搞定四旋翼无人机飞控

39度创意研究所 2017-08-09 13:52 次阅读

尝试制作这个四旋翼飞控的过程,感触颇多,整理了思绪之后,把重要的点一一记下来;

这个飞控是基于STM32,整合了MPU6050,即陀螺仪和重力加速计,但没有融合电子罗盘;

另外,四旋翼飞行器的运动方式请百度百科,不太复杂,具体不再赘述;

这是飞控程序的控制流程(一个执行周期):

 比较重要的地方:

1.i2c通信方式

因为我不是学电类专业,最开始对i2c这些是没有一点概念,最后通过Google了解了一些原理,然后发现STM32的开发库是带有i2c通信的相关函数的,但是我最后还是没有用这些函数。

我通过GPIO模拟i2c,这样也能获得mpu6050的数据,虽然代码多了一些,但是比较好的理解i2c的原理。

STM32库实现的模拟i2c代码(注释好像因为编码问题跪了):










2.mpu6050;

然后用写好的模拟i2c函数读取mpu6050,根据mpu6050手册的各寄存器地址,读取到了重力加速计和陀螺仪的各分量;

传感器采样率设置为200Hz,这个值是因为我电调频率为200Hz,也就是说,我的程序循环一次0.005s,一般来说,采样率高点没问题,别比执行一次闭环控制的周期长就行了;

陀螺仪量程±2000°/s,加速计量程±2g, 量程越大,取值越不精确;

这里注意,由于我们没有采用磁力计,而陀螺仪存在零偏,所以最终在yaw方向上没有绝对的参考系,不能建立绝对的地理坐标系,这样最好的结果也仅仅是在yaw上存在缓慢漂移。

3.互补滤波;

融合时,陀螺仪的积分运算很大程度上决定了飞行器的瞬时运动情况,而重力加速计通过长时间的累积不断矫正陀螺仪产生的误差,最终得到准确的机体姿态。

这里我们采用Madgwick提供的UpdateIMU算法来得到姿态角所对应的四元数,之后只需要经过简单运算便可转换为实时欧拉角。感谢Madgwick大大为开源做出的贡献。





4.获取期望姿态;

也就是遥控部分了,让用户介入控制。

本着拿来主义的原则,用上”圆点博士开源项目”提供的安卓的开源蓝牙控制端。

圆点博士给出了数据包格式,同过HC-06蓝牙模块接连到STM32串口1,再无线连接到控制端,这样我们就可以获得控制端不断发送的数据包了,并实时更新期望姿态角,这里只需要注意输出的姿态角和实时姿态角方向一致以及数据包的校验就行了。

5.PID控制算法;

由于简单的线性控制不可能满足四轴飞行器这个灵敏的系统,引入PID控制器来更好的纠正系统。

简介:PID实指“比例proportional”、“积分integral”、“微分derivative”,这三项构成PID基本要素。每一项完成不同任务,对系统功能产生不同的影响。

以Pitch为例:

error为期望角减去实时角度得到的误差;

iState为积分i参数对应累积过去时间里的误差总和;

if语句限定iState范围,繁殖修正过度;

微分d参数为当前姿态减去上次姿态,估算当前速度(瞬间速度);

总调整量为p,i,d三者之和;

这样,P代表控制系统的响应速度,越大,响应越快。

I,用来累积过去时间内的误差,修正P无法达到的期望姿态值(静差);

D,加强对机体变化的快速响应,对P有抑制作用。

PID各参数的整定需要综合考虑控制系统的各个方面,才能达到最佳效果。

输出PWM信号:

PID计算完成之后,便可以通过STM32自带的定时资源很容易的调制出四路pwm信号,采用的电调pwm格式为50Hz,高电平持续时间0.5ms-2.5ms;

我以1.0ms-2.0ms为每个电机的油门行程,这样,1ms的宽度均匀的对应电调的从最低到最高转速。

至此,一个用stm32和mpu6050搭建的飞控系统就算实现了。

 

收藏 人收藏
分享:

评论

HH0214
大佬,求个联系方式啊,我也想搞
lfbao
openpilot和你用的硬件一样,可以参考一下
elecfans
蓝牙的距离是不是太短了,换个无线模块就完美了

相关推荐

玩单片机到千万身家,“技术型老总”需要哪些神技能?

中国硬件创新大赛网络培训会—技术培训篇如果你就干这行,毫无疑问你不能错过这次直播;如果不是,可能你不一定喜欢单片机,也不
发表于 05-16 00:00 585次 阅读
玩单片机到千万身家,“技术型老总”需要哪些神技能?

DIY新手必看,44种电子设计电路原理图

牛人总结的44种电子自制原理图~分享给电子发烧友! ...
发表于 11-12 10:07 57次 阅读
DIY新手必看,44种电子设计电路原理图

单片机I/O口电压被拉低,求帮助

单片机I/O口悬空是3V,但是接上R4后,单片机I/O口电压被拉掉到了1.2V(R4换成10K,I/O口电压提高到了1.8V)。 请...
发表于 11-11 22:16 88次 阅读
单片机I/O口电压被拉低,求帮助

【福利】华秋商场11.11活动,新人“巨惠”

终于等到你啦,啥也不说: 在首次完成 ¥1购买,我们即送: -MCU开发板:STC15单片机(300块) -常用元器件: LM39...
发表于 11-11 17:43 126次 阅读
【福利】华秋商场11.11活动,新人“巨惠”

国产专用运动控制芯片资料

专用运动控制芯片全球生产厂家极少,目前比较通用做的较大的是日本的NPM和nova,这两个公司的专用芯片学起来比较复杂。国产的目...
发表于 11-11 17:39 159次 阅读
国产专用运动控制芯片资料

UM2052_STM32 MCU探索套件软件开发工具入门pdf

该资源是 STM32探索板是一种低成本且易于使用的开发平台,可用来对STM32器件进行快速评估并开始开发。 ,对于学习入门...
发表于 11-11 16:52 139次 阅读
UM2052_STM32 MCU探索套件软件开发工具入门pdf

无人机搭配 RFID技术会有怎样的效果

随着经济发展,科技也越来越发达。而无人机送货已经成为一种趋势,国内外的国际巨头都在争相布局。
发表于 11-11 16:50 47次 阅读
无人机搭配 RFID技术会有怎样的效果

请教个单片机延时的问题

我看了个在1602上显示字符串的代码,看到要用到延时程序。 我上网查了下,说 单片机的速度相对很多外设来说已经很高了,必须加...
发表于 11-11 16:32 109次 阅读
请教个单片机延时的问题

51单片机智能小车想在循迹过程中利用串口通信传输数据,这样写测试起来好像并没有效果,为什么呢

//串口通信初始化 void UART_init() {     TMOD = 0x20;     SCON = 0x50;    ...
发表于 11-11 16:13 105次 阅读
51单片机智能小车想在循迹过程中利用串口通信传输数据,这样写测试起来好像并没有效果,为什么呢

使用STM32快速开发步进电机伺服电机控制器

最近使用STM32开发步进电机运动控制设备,最早使用stm32定时器开发,直接使用定时器输出PWM脉冲,如果单纯输出定速的PWM...
发表于 11-11 15:57 203次 阅读
使用STM32快速开发步进电机伺服电机控制器

传感器对于汽车来说价值是什么

无人机、智能汽车和增强或虚拟现实(AR/VR)耳机都使用多个不同类型的图像传感器来捕捉操作环境的数据....
发表于 11-11 15:21 36次 阅读
传感器对于汽车来说价值是什么

影像传感器的发展借助哪一些技术

目前连接镜头传感器至AP受欢迎的标准是MIPI CSI-2,可将多种不同数据串流整合,不过,整合不同....
发表于 11-11 14:57 28次 阅读
影像传感器的发展借助哪一些技术

意法半导体为STM32Cube生态系统新增LoRaWAN®固件无线更新支持

意法半导体增强STM32 *LoRaWAN®开发软件扩展包(I-CUBE-LRWAN)的功能,支持最....
发表于 11-11 14:09 134次 阅读
意法半导体为STM32Cube生态系统新增LoRaWAN®固件无线更新支持

STM32F030单片机和TFT薄膜晶体管的电路原理图免费下载

本文档的主要内容详细介绍的是STM32F030单片机和TFT薄膜晶体管的电路原理图免费下载。
发表于 11-11 11:15 30次 阅读
STM32F030单片机和TFT薄膜晶体管的电路原理图免费下载

五路火焰探测模块用户使用手册免费下载

产品特点: 采用五路火焰传感器设计,探测范围广(大于 120°) 能够输出数字信号(高低电平),....
发表于 11-11 08:00 18次 阅读
五路火焰探测模块用户使用手册免费下载

STM32单片机的学习笔记30条合集免费下载

1、AHB 系统总线分为 APB1(36MHz)和 APB2(72MHz),其中 2》1,意思是 A....
发表于 11-11 08:00 39次 阅读
STM32单片机的学习笔记30条合集免费下载

STM32F411xC和STM32F411XE微控制器的数据手册免费下载

本参考手册面向应用程序开发人员。它提供了如何使用STM32F411xC/E微控制器的内存和外围设备的....
发表于 11-11 08:00 23次 阅读
STM32F411xC和STM32F411XE微控制器的数据手册免费下载

使用8031单片机设计低成本智能测速仪的硬件电路和软件的方法说明

介绍一种由8031单片机组成的低成本智能测速仪的硬件电路和其软件的设计方法等。该仪器采用串行移位数据....
发表于 11-11 08:00 29次 阅读
使用8031单片机设计低成本智能测速仪的硬件电路和软件的方法说明

使用Protel DXP设计十八个LED的心形灯论文免费下载

20世纪70年代,单片机应军事及工业装备的控制需求而问世,目前单片机在智能仪器仪表、家用电器、军事装....
发表于 11-11 08:00 30次 阅读
使用Protel DXP设计十八个LED的心形灯论文免费下载

GD32F130C8T6单片机开发板的资料合集免费下载

本文档的主要内容详细介绍的是GD32F130C8T6单片机开发板的资料合集免费下载包括了:Keil5....
发表于 11-11 08:00 30次 阅读
GD32F130C8T6单片机开发板的资料合集免费下载

单片机C语言下面这句对吗?

if((a1==1)&&(zhuang_ay==0)){led_a_y=0;}这句对吗?
发表于 11-11 00:47 98次 阅读
单片机C语言下面这句对吗?

STM32 CAN总线筛选器的四种情况

STM32CAN控制器每个筛选器组由两个32位的寄存器组成。
发表于 11-10 09:14 62次 阅读
STM32 CAN总线筛选器的四种情况

STM32 CAN总线传输波特率的计算

由于CAN属于异步通讯,没有时钟信号线,连接在同一个总线网络中的各个节点会像串口异步通讯那样,节点间....
发表于 11-10 09:12 70次 阅读
STM32 CAN总线传输波特率的计算

USB接口芯片SL811HS的性能与内部结构及在单片机系统中应用的说明

介绍了CYPRESS公司生产的主/从双工作模式USB接口芯片SL811HS的性能与内部结构,给出了S....
的头像 Wildesbeast 发表于 11-09 14:17 263次 阅读
USB接口芯片SL811HS的性能与内部结构及在单片机系统中应用的说明

单片机加密的三种方法详细说明

单片机在现在工业控制中起着巨大的作用,在各个地方都可以看到它的身影。其中的程序更可以说是单位的商业秘....
的头像 Wildesbeast 发表于 11-09 11:00 259次 阅读
单片机加密的三种方法详细说明

设计一个节约端口线器件的新型键盘的详细资料概述

键盘电路是单片机应用系统最常用的人机接口,往往要占用较多的I/O端口, 现在有些很节约I/O资源的键....
的头像 Wildesbeast 发表于 11-09 11:00 274次 阅读
设计一个节约端口线器件的新型键盘的详细资料概述

单片机利用软件抗干扰的滤波方法有哪些详细说明

单片机利用软件进行抗干扰的几种滤波方法
的头像 Wildesbeast 发表于 11-09 10:45 265次 阅读
单片机利用软件抗干扰的滤波方法有哪些详细说明

选取单片机开发板的经验分享

 我刚学单片机时还是处在学生时代,由于当时手头比较紧,所买的价格比较便宜,因此电路实验开发板比较简单....
的头像 电子魔法师 发表于 11-09 09:27 232次 阅读
选取单片机开发板的经验分享

以色列业内专家探讨无人机在民用领域的未来发展战略

第八届国际无人系统会议和展览7日在以色列本·固里安国际机场附近的一个会展中心举行。参加会议的以色列业....
发表于 11-09 09:23 79次 阅读
以色列业内专家探讨无人机在民用领域的未来发展战略

如何选择单片机开发板

开发板是用来学习单片机最有用的工具,上面集成了常用的单片机外设电路,可以让初学者很方便的学习硬件电路....
的头像 电子魔法师 发表于 11-09 09:19 229次 阅读
如何选择单片机开发板

农业无人机的市场竞争加剧,增加农民认知是扩宽市场的关键

随着丰收季的到来,价格高企了大半年的苹果终于恢复了正常价格,久违的低价水果也让人们意识到国内农业发展....
发表于 11-09 09:19 125次 阅读
农业无人机的市场竞争加剧,增加农民认知是扩宽市场的关键

新手学习单片机如何选择开发板

作为新手,学习单片机时,确实应该购买一块开发板自己动手练习,进步才快!市面上的单片机开发板确实很多,....
的头像 电子魔法师 发表于 11-09 09:18 193次 阅读
新手学习单片机如何选择开发板

单片机通信协议的应用情况

单片机的片上资源有多种通信方式,常用的如IIC、SPI、UART/USART、CAN,甚至高端一点的....
的头像 电子魔法师 发表于 11-09 09:11 197次 阅读
单片机通信协议的应用情况

浅析六种常用的单片机通信协议

在单片机的应用中,通信协议是必不可少的一部分,上位机与下位机,单片机与单片机,单片机与外设模块之间的....
发表于 11-08 16:36 158次 阅读
浅析六种常用的单片机通信协议

设计数字式波形发生器的详细资料说明

波形函数发生器是一种常用的信号源,广泛地应用于电子电路、自动控制系统和教学实验等领域。本函数发生器采....
发表于 11-08 14:45 48次 阅读
设计数字式波形发生器的详细资料说明

使用ATmega8l单片机设计一个函数信号发生器的设计报告免费下载

本文以ATmega8l单片机为核心设计了一个函数信号发生器。信号发生器采用数字波形合成技术,通过硬件....
发表于 11-08 14:45 42次 阅读
使用ATmega8l单片机设计一个函数信号发生器的设计报告免费下载

应该如何学习STM32资料概述

本文档的主要内容详细介绍的是教你应该如何学习STM32资料概述
发表于 11-08 14:45 58次 阅读
应该如何学习STM32资料概述

单片机的IO口详细介绍

对单片机的控制,其实就是对I/O口的控制,无论单片机对外界进行何种控制,或接受外部的何种控制,都是通....
发表于 11-08 08:00 78次 阅读
单片机的IO口详细介绍

STM32迷你板电路原理图免费下载

本文档的主要内容详细介绍的是STM32单片机迷你板电路原理图免费下载.。
发表于 11-08 08:00 91次 阅读
STM32迷你板电路原理图免费下载

STM32L053R8的GPIO控制例程和工程文件免费下载

本文档的主要内容详细介绍的是STM32L053R8的GPIO控制例程和工程文件免费下载。
发表于 11-08 08:00 45次 阅读
STM32L053R8的GPIO控制例程和工程文件免费下载

STM32F030中文寄存器参考手册免费下载

本文档的主要内容详细介绍的是STM32F030微控制器的中文寄存器参考手册免费下载。
发表于 11-07 17:52 59次 阅读
STM32F030中文寄存器参考手册免费下载

DS1302的中文资料和使用源代码免费下载

DS1302 是DALLAS 公司推出的涓流充电时钟芯片内含有一个实时时钟/日历和31 字节静态RA....
发表于 11-07 17:13 55次 阅读
DS1302的中文资料和使用源代码免费下载

我国无人机配送商业无法落地 主要有两方面的原因

近年来,利用无人机进行终端配送一直都是行业发展的一大趋势,不少国家和企业都在聚焦无人机在该领域的发展....
发表于 11-07 16:59 196次 阅读
我国无人机配送商业无法落地 主要有两方面的原因

单片机的8个实训资料和代码总结

本文档的主要内容详细介绍的是单片机的8个实训资料和代码总结包括了:任务一 八路跑马灯,任务二 蜂鸣器....
发表于 11-07 16:52 81次 阅读
单片机的8个实训资料和代码总结

GPS模块使用手册免费下载

 注1:在主电源断开后,后备电池可以维持半小时左右的GPS星历数据的保存,以支持温启动或热启动,从而....
发表于 11-07 16:34 42次 阅读
GPS模块使用手册免费下载

飞思卡尔智能汽车设计的技术报告详细说明

全国大学生智能汽车竞赛是一个涉及控制、模式识别、传感技术、电子、电气、计算机、机械等多个学科的科技创....
发表于 11-07 16:34 49次 阅读
飞思卡尔智能汽车设计的技术报告详细说明

我国什么时候才可以实现无人机送货

利用无人机进行终端配送一直都是行业发展的一大趋势,不少国家和企业都在聚焦无人机在该领域的发展和应用。
发表于 11-07 16:31 65次 阅读
我国什么时候才可以实现无人机送货

什么是Arduino?Arduino的学习笔记详细资料免费下载

一台能够工作的计算机要有这样几个部份构成:中央处理单元CPU(进行运算、控制)、随机存储器RAM(数....
发表于 11-07 15:37 74次 阅读
什么是Arduino?Arduino的学习笔记详细资料免费下载

STM32G081xB微控制器的数据手册免费下载

本文档提供有关STM32G081xB微控制器的信息,例如描述、功能概述、管脚分配和定义、电气特性、包....
发表于 11-07 14:45 41次 阅读
STM32G081xB微控制器的数据手册免费下载

Keil环境中建立带FreeRTOS的STM32L项目教程详细说明

Keil 环境中建立带FreeRTOS的STM32L项目   1、先把source 文件夹复制....
发表于 11-07 14:35 47次 阅读
Keil环境中建立带FreeRTOS的STM32L项目教程详细说明

STM32电调-直流BLDC FOC控制器设计(PCB图、源代码、详细讲解)

本设计分享的是国外开源作品,本杰明VESC电调板(四层板)设计,该STM32电调板VESC设计-直流....
发表于 11-07 11:39 0次 阅读
STM32电调-直流BLDC FOC控制器设计(PCB图、源代码、详细讲解)

物联网智能应用带动影像传感器装置量

据报道,由于无人机、智能车与扩增实境或虚拟实境装置都使用多个影像传感器捕捉其操作环境数据,而且为了提....
的头像 倩倩 发表于 11-07 10:55 416次 阅读
物联网智能应用带动影像传感器装置量

STM32系列微控制器的中文参考手册

本参考手册针对应用开发,提供关于如何使用小容量、中容量和大容量的STM32F101xx、STM32F....
发表于 11-07 08:00 55次 阅读
STM32系列微控制器的中文参考手册

从单片机基础到程序框架的PDF电子书免费下载

单片机应用的核心技术是什么?是按键,数码管,流水灯,串口。是它们的程序框架。按键和数码管是输入是人机....
发表于 11-06 16:49 109次 阅读
从单片机基础到程序框架的PDF电子书免费下载

单片机控制数码管闪烁的设计

数码管闪烁,利用一个布尔变量控制各数码管的显示值,为真(True)是赋对应的数值,为假(False)....
发表于 11-06 16:43 127次 阅读
单片机控制数码管闪烁的设计

PIC16C5X单片机的程序存储器结构和堆栈技术介绍

从上图可看出,PIC程序存储器采用分页结构,每页长0.5K。因此对于PIC16C52程序存储器在1页....
发表于 11-06 16:36 120次 阅读
PIC16C5X单片机的程序存储器结构和堆栈技术介绍

使用DAC0832转换器进行波形发生器的设计实验说明

1.利用DAC0832 D/A 转换电路,输出0--2.5V 的电压,研究输出电压与输入数字量的关系....
发表于 11-06 16:02 56次 阅读
使用DAC0832转换器进行波形发生器的设计实验说明

大疆推出T20农业植保无人机,可实现全自主作业

作为无人机领域的No.1,大疆创新已经在消费级、专业级、行业、农业等各个领域占领制高点,今天又发布了....
的头像 牵手一起梦 发表于 11-06 14:30 424次 阅读
大疆推出T20农业植保无人机,可实现全自主作业