0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

454398 来源:网络整理 作者:佚名 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搭建的飞控系统就算实现了。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6034

    文章

    44528

    浏览量

    633604
  • STM32
    +关注

    关注

    2266

    文章

    10880

    浏览量

    355080
  • DIY
    DIY
    +关注

    关注

    176

    文章

    886

    浏览量

    348343
  • 无人机
    +关注

    关注

    228

    文章

    10366

    浏览量

    179810
  • 四旋翼
    +关注

    关注

    8

    文章

    60

    浏览量

    28187
收藏 人收藏

    评论

    相关推荐

    DIY了一台无人机全志T113芯片

    SBUS接收,来实现本地的数据传输与远程控制。 如下图中的画面所示,左侧是控通过WiFi与QGC连接后将无人机姿态数据返回的显示界面,右侧的画面则是T113芯片的负载情况显示,T113是双核处理器
    发表于 11-13 09:43

    为何无人机领域广泛采用PX4作为核心控制平台

    在众多无人机类型中,因其具备垂直起降、稳定性强、结构相对简单等特点而得到广泛应用。目前,无论是学术界还是工业界,关于
    的头像 发表于 11-08 09:41 345次阅读
    为何<b class='flag-5'>无人机</b>领域广泛采用PX4作为核心控制平台

    开源项目!DIY了一台无人机全志T113芯片

    Tina Linux 无人机自稳飞行功能测试 无人机通过控和WiFi模块结合,形成一个SBUS接收,来实现本地的数据传输与远程控制。 如下图中的画面所示,左侧是
    发表于 10-22 13:50

    开源项目!ESP8266 DIY会爬墙的无人机

    控制器。 MPU6050 MPU6050 IMU,一个低成本的设备,包含陀螺仪和加速计。 我们将使用MPU-6050和ESP8266模块来做一个无人机。 无铁芯电机 无铁芯电机是用于
    发表于 07-04 09:22

    SMT32手搓5套无人机控,最终决定开源……

    工程名称:无人机H7控前言他,从2022年起开源【穿越/无人机控】方案。两年时间,持续更新,历经5个版本迭代,终于……让小编给发现了~
    的头像 发表于 06-02 08:04 638次阅读
    <b class='flag-5'>用</b>SMT32手搓5套<b class='flag-5'>无人机</b><b class='flag-5'>飞</b>控,最终决定开源……

    高清画质、低时延,图传技术如何展现FPV穿越的“速度与激情”

    Person View),也就是人们常说的穿越,是一种高速多飞行器。作为无人机圈的新物种,2018年、2019年国内曾掀起FPV小热潮。   FPV与常见的航拍
    的头像 发表于 05-15 00:18 7627次阅读
    高清画质、低时延,图传技术如何展现FPV穿越<b class='flag-5'>机</b>的“速度与激情”

    集 知语云智能科技无人机反制技术与应用--无人机的组成与工作原理

    科技的视角,深入探讨无人机的组成与工作原理,为您揭开无人机飞行的神秘面纱。 一、无人机的组成结构 无人机主要由机身、动力系统、控系统、传感
    发表于 03-12 11:28

    第三集 知语云智能科技无人机反制技术与应用--无人机的应用领域

    应对突发情况。 智能识别:通过先进的算法和数据库,能够识别不同品牌和型号的无人机,实现个性化反制。 无人机反制技术的应用前景 随着无人机技术的不断发展,
    发表于 03-12 11:13

    第二集 知语云智能科技无人机反制技术与应用--无人机的发展历程

    随着科技的飞速发展,无人机技术日益成为当今社会的热门话题。从最初的军事侦察到如今的民用消费,无人机凭借其灵活性和高效性,在航拍、农业、物流等多个领域大放异彩。然而,无人机技术的广泛应用也带来
    发表于 03-12 10:56

    第一集 知语科技无人机反制技术与应用--无人机的定义与分类

    无人机反制技术可用于保护重要设施、维护公共秩序和保障航空安全。例如,在机场、核电站等关键设施周围部署无人机反制系统,可有效防范无人机威胁。
    发表于 03-12 10:42

    无人机飞行原理【其利天下无人机方案开发】

    无人机行业的近年蓬勃发展,宛如一片璀璨的新星汇聚成的辉煌星空。创新和科技的融合将无人机推向生活的前沿,成为引领时代的先锋。这是一场风起云涌的科技巨变,为我们描绘出了一个崭新而引人入胜的无人机时代。 下面我们针对生活中常见的
    的头像 发表于 01-26 22:33 2081次阅读
    <b class='flag-5'>四</b><b class='flag-5'>旋</b><b class='flag-5'>翼</b><b class='flag-5'>无人机</b>飞行原理【其利天下<b class='flag-5'>无人机</b>方案开发】

    基于单片机的北斗定位无人机救火系统设计

    电子发烧友网站提供《基于单片机的北斗定位无人机救火系统设计.rar》资料免费下载
    发表于 01-12 09:41 11次下载

    基于单片机的北斗定位无人机救火系统设计

    电子发烧友网站提供《基于单片机的北斗定位无人机救火系统设计.rar》资料免费下载
    发表于 01-03 11:09 2次下载

    【开源项目】使用 Blues Swan 3.0 制作的的 DIY 无人机

    制作你自己的空气质量和天气监测无人机DIY技术与环保意识相遇。构建、感知、探索和贡献! 本项目中使用的物品 前言 在环保意识日益增强的时代,如果您可以通过制造一架远程监测周围空气质量和天气状况
    发表于 12-20 13:59

    深度研究垂直起降固定无人机技术

    垂直起降固定能效更高、航程更远。电动垂直起降飞行器尽管存在诸多优点,但缺乏固定的固有升力,意味着能效不高,航程有限。改进设计,结合电动垂直起降飞行器和固定飞行器的优势, 采用多
    发表于 12-11 10:32 1455次阅读
    深度研究垂直起降固定<b class='flag-5'>翼</b><b class='flag-5'>无人机</b>技术