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

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

3天内不再提示

无人机设计中STM32库实现的模拟i2c代码

5RJg_mcuworld 来源:互联网 作者:佚名 2018-07-19 09:36 次阅读

目前发现国内正儿八机器人无人机并且还能活跃地上网关注行业前沿动向、热爱写科普文章的研究人员原来越少。因此所有的研究回答里都没有人真正说明白无人机到底是什么,而理解无人机到底是什么才是回答这个问题的先决条件。

什么是无人机

首先,无人机就是不载人的飞行器,而说到飞行器,通常我们又可以把飞行器分为三类。

1、固定翼(fixed wing)。平时坐的波音747空客A380,还有F-16歼-15之类的都是固定翼飞机。顾名思义就是翅膀形状固定,靠流过机翼的风提供升力。动力系统包括桨和助推发动机。固定翼根据机翼尺寸的不同还有很多小的分类,在此不细说。固定翼飞行器的优点是在三类飞行器里续航时间最长、飞行效率最高、载荷最大,缺点是起飞的时候必须要助跑,降落的时候必须要滑行。

2、直升机(helicopter)。特点是靠一个或者两个主旋翼提供升力。如果只有一个主旋翼的话,还必须要有一个小的尾翼抵消主旋翼产生的自旋力。为了能往前后左右飞,主旋翼有极其复杂的机械结构,通过控制旋翼桨面的变化来调整升力的方向。动力系统包括发动机、整套复杂的桨调节系统、桨。直升机的优点是可以垂直起降,续航时间比较中庸,载荷也比较中庸。缺点是极其复杂的机械结构导致了比较高的维护成本。

3、多旋翼(multi-rotor)。四个或者更多个旋翼的直升机,也能垂直起降,但是通常只有直升机叫直升机,多旋翼就叫多旋翼,而不叫多旋翼直升机。四旋翼特别叫做quadrotor。多旋翼机械结构非常简单,动力系统只需要电机直接连桨就行。下图是直升机的动力系统结构,再下图是多旋翼的动力系统结构。不懂机械的人也能看出多旋翼简单得多。多旋翼的优点是机械简单,能垂直起降,缺点是续航时间最短,载荷也最小。

给大家介绍下四旋翼无人机,看看啥是真正的技术,吼吼吼......

1.i2c通信方式

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

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

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

2.PID控制算法

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

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

以Pitch为例:

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

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

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

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

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

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

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

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

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

3.输出PWM信号

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

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

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

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

    关注

    2266

    文章

    10877

    浏览量

    354955
  • 无人机
    +关注

    关注

    228

    文章

    10357

    浏览量

    179705
  • GPIO
    +关注

    关注

    16

    文章

    1196

    浏览量

    51939

原文标题:实例:用STM32单片机搞定四旋翼无人机飞控

文章出处:【微信号:mcuworld,微信公众号:嵌入式资讯精选】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    物联网嵌入式软件I2C总线设计详解

    基本概念、特点、通信协议,以及在不同场景下的高级应用和最佳实践。I2C接口只有2根信号线,总线上可以连接多个设备,硬件实现简单,可扩展性强。I2C通信协议可以用普通GPIO引脚进行软件
    的头像 发表于 09-29 16:21 284次阅读
    物联网嵌入式软件<b class='flag-5'>中</b>的<b class='flag-5'>I2C</b>总线设计详解

    无人机飞行仿真模拟训练系统

    智慧华盛恒辉无人机飞行仿真模拟训练系统,也称无人机仿真训练模拟器,是一种集模拟训练演练与无人机
    的头像 发表于 09-10 16:43 521次阅读

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

    的微型电机,这些电机是无铁芯的,即在转子没有金属芯,无铁芯电机可以在较小的负载下达到较高的转速。这些电机适用于微型无人机、四旋翼飞机或迷你项目。 螺旋桨 螺旋桨的目的是产生推力和扭矩以保持无人机飞行
    发表于 07-04 09:22

    求助,关于STM32F412 I2C从模式HAL使用方法的疑问求解

    最近在做一个类似I2C hub的开发,需要一个I2C做从机,4个I2C做主机转发从机接收到的内容,选用了STM32F412这颗料,包含四路硬件I2C
    发表于 04-22 07:47

    如何利用无人机物联卡实现无人驾驶飞行

    无人机物联卡是专为无人机设计的物联卡,实现实时连接并提供定位、控制、数据传输等功能。无人驾驶飞行通过传感器、控制算法和飞行控制系统实现。使用
    的头像 发表于 04-15 13:32 488次阅读

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

    数据交换,实现遥控和遥测功能。 任务载荷:无人机的任务载荷根据应用场景的不同而有所差异,如摄像头、红外探测器、喷洒装置等。 二、无人机的工作原理 无人机的飞行原理主要基于空气动力学和控
    发表于 03-12 11:28

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

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

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

    世纪初,无人机技术便开始在军事领域崭露头角。随着航空技术的不断进步,无人机逐渐发展出侦察、打击、通信中继等多种功能,成为现代战争的重要力量。进入21世纪,随着消费级无人机的兴起,
    发表于 03-12 10:56

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

    随着科技的飞速发展,无人机技术已成为当今社会的热点话题。从航拍、农业喷洒到军事侦察,无人机的应用领域日益广泛。然而,无人机技术的普及也带来了一系列安全隐患,无人机反制技术应运而生。本文
    发表于 03-12 10:42

    什么是I2C协议 I2C总线的控制逻辑

    在实际使用过程I2C比较容易出现的一个问题就是死锁 ,死锁在I2C主要表现为:I2C死锁时表现为SCL为高,SDA一直为低。
    发表于 03-12 09:17 976次阅读
    什么是<b class='flag-5'>I2C</b>协议 <b class='flag-5'>I2C</b>总线的控制逻辑

    知语云智能科技无人机防御系统:应对新兴威胁的先锋力量

    实现无人机防御设备的远程监控和管理,方便用户随时掌握无人机威胁的动态情况。同时,系统还支持多种报警方式,如声光报警、短信报警等,确保用户能够及时响应无人机威胁。 在实际应用
    发表于 02-26 16:35

    知语云智能科技:反制无人机新篇章—全景监测与激光打击的尖端技术

    的威慑力和实战效果。 知语云智能科技的反制无人机设备及系统,以其先进的全景监测、热成像、可见光、无线电干扰和激光打击技术,为无人机管理和安全防护提供了强有力的支持。在未来的发展,知语云智能科技将继续
    发表于 02-23 11:37

    无人机全景监测:空域管理的新革命

    实践 知语云智能科技在无人机全景监测领域进行了大量的研究和创新实践。他们不仅研发了先进的无人机设备和图像处理技术,还积极探索无人机在空域管理的应用场景。通过与多个航空管理部门的合作,
    发表于 02-20 15:23

    stm32 I2c硬件驱动程序不稳定该怎么解决?

    stm32 I2c硬件驱动程序不稳定该怎么解决? stm32I2C 硬件驱动程序不稳定可能是由多种因素引起的。在本文中,我们将讨论可能导致 I
    的头像 发表于 01-16 17:11 2866次阅读

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

    。 第 4 步:连接 IMU 将MPU6050安装在尽可能靠近中心的完美水平位置。MPU6050的放置对于无人机至关重要,因为它是无人机用来在空中保持平衡的主要传感器。将其连接到 Swan 的 I2C
    发表于 12-20 13:59