电子发烧友App

硬声App

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

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

3天内不再提示
电子发烧友网>电子资料下载>电子资料>基于Arduino的无人机构建

基于Arduino的无人机构建

2023-07-10 | zip | 0.03 MB | 次下载 | 免费

资料介绍

描述

电影“三个白痴”一直是我开始从事这个项目的主要灵感来源。

最后,我要感谢我的家人一直以来对我的支持和信任。

  • 硬件建设:

无人机只不过是一个利用 4 个电机飞行并接收远距离用户输入的物体(即为什么有时它被称为 UAV – unmanned ariel vehicle)。

给定的 450 毫米框架将使用 1000kv 无刷电机和 8 到 10 英寸长的螺旋桨。如果 450 毫米无人机框架不可用,可以使用下表来确定为特定无人机尺寸购买哪种电机和螺旋桨:

选择电子速度控制取决于无刷电机的最大输入电流。为了安全起见,我选择了 30 安培的电调,因为我的电机消耗的电流远小于 30 安培。(电子速度控制只是一个小模块,它允许我们通过简单地以脉冲形式发送信号来控制电机的速度)。

无人机物理 -> 因为我们有 4 个电机,一组电机将顺时针旋转,另一组逆时针旋转。发生这种情况是因为如果所有电机都逆时针旋转以保存角动量,则四轴飞行器将在顺时针方向上执行偏航(绕 z 轴旋转)运动。

绕 x 轴旋转 -> 俯仰

绕 y 轴旋转 -> 滚动

绕 z 轴旋转 -> 偏航

确保在焊接时将 1 对 esc 以 cw 格式焊接,另一对以 ccw 格式焊接到无刷电机。(即一对 esc 应该相同地焊接到无刷电机 -> 黄色到黄色线,黑色到黑色线和红色到红色线。在下一对中,只需轻弹任意 2 根线)。esc 的另一端应焊接到框架上已经存在的配电板上。

将 Xt-60 连接器焊接到框架上,稍后将用于将电池连接到配电板。

  • Arduino 连接:

Arduino Uno 是这个四轴飞行器的主要大脑,应该出现在中心,因为那里的振动最小。

MPU 6050 应焊接在 Arduino 原型扩展板上,连接应如下所示 ->

电压 ->+5v

接地->接地

SCL ->A5

SDA ->A4

Major NOTE-> esc 应尽可能远离 mpu6050 模块,因为如果它们保持靠近,由于电磁干扰,esc 会影响 mpu 模块测量的值并使 quad 不稳定。

esc 的信号线应连接到引脚 D4 到 D7,接收模块(远程)应连接到引脚 D6 到 D9。

为了给 Arduino 加电,我们直接从配电板获取输入并在它们之间连接一个二极管(这样做是为了确保当代码被闪存到 Arduino 时,计算机的串行端口不会因高压而损坏电池)。

我们连接 2 个 1 和 1.5 千欧姆的电阻来测量电池电压(这是通过制作简单的分压器电路完成的)。输入电压将用于在电池电压低于特定限制时发出警报并向用户发出警报)。

  • 模块说明:
  • MPU6050:

该模块将构成基本的惯性测量单元 (IMU),用于测量所有 3 轴上的四边形角度。加速度计测量线性加速度,该加速度将用于计算以 g 为单位的作用在四边形上的力(使用科里奥利力的概念)。g 中的值和反三角函数将使我们能够计算四边形的角度。

我们使用陀螺仪的原因是测量角速度,角速度将再次用于测量角度。不能简单地使用加速度计,因为当四边形运动时,它给出的值将是随机且不稳定的。因此,通过测量角速度和数据表中的一些固定值,我们可以确定角度。因此,IMU 使用 2 个模块测量角度。此外,为了减少来自此类微电子机械传感器 (MEMS) 的噪声,我们让读数通过滤波器。

  • Arduino:主要代码由该模块运行。该代码初始化所有模块并确保接收到正确的信号。还添加了一个安全机制,以确保只有当所有遥控杆都处于低位时四轮驱动才启动。

该代码的刷新率为 250 HZ,即它每 4000 微秒进行一次更正。

此时,它能够生成:

  • 读取陀螺仪角度数据
  • 计算 PID 修正
  • 电压降补偿脉冲
  • 将计算出的脉冲发送到 esc

每个脉冲由 1000 到 2000 微秒组成。

  • 代码说明:

代码文件由 3 个代码组成,即

  • YMFC_设置文件->

该文件用于在飞行前配置整个四轴飞行器并将收集到的数据存储在 E2PROM 中(这允许我们将数据存储在 Arduino 上,即使 Arduino 断电)。此代码用于检查遥控器传输的中心和端点,即 rc 发送的信号值(以微秒为单位),这是必不可少的,因为它会根据输入限制四轴飞行器的飞行。它还用于配置无人机的 3 轴并确定哪个部分是四边形的机头(这样做是为了确保不需要轴反转,即如果四边形向右转,IMU 应该以 +ve 度测量角度,因为这是选择的约定)。所有这些读数都存储在 Arduino 的 eeprom 上,随后由其他模块使用 库中的内置函数检索。

  • YMFC_esc_calibrate ->

此代码是必不可少的,因为它用于同步四轴飞行器的所有电机,即所有电机应在给油门时同时启动。与此代码一起,我们检查 IMU 测量的角度并估计所需的校正(在四边形将显示所有角度 0 度的水平上没有必要)。检查接收器信号,最后此代码用于平衡螺旋桨与电机。完成这种平衡是为了减少电机产生的振动并且不影响 mpu6050 模块,平衡是通过在支柱上涂上一块绝缘胶带来抑制它来完成的。

  • YMFC_flight_controller->

最重要的模块。在这个模块中,我们使用了之前从其他模块收集的所有数据。代码初始化并获取大约 2000 个角度读数,以计算代码在 void loop() 中执行时需要消除的任何恒定误差。它还确保电池电压最佳以及来自远程的所有信号是否正常工作。

在 void loop 函数中,仅当执行特殊的摇杆序列时才会启动电机,并且还会使用特殊的摇杆序列来切断电机。稍后根据 quad 的输入和方向确定脉冲并将其发送到 esc。需要注意的最重要的一点是,我们直接在代码中使用了机器级语句,因为通过使用 Arduino ide 提供的内置函数,代码超过了可用的 4000 微秒时间(即刷新率)。

PID -> 比例积分和微分:

这是软件最重要的组成部分

比例项:当输入和当前位置之间的差异(误差)很高时,该项会产生更高的输出。

积分项:该项用于消除系统中存在的恒定误差,比例项无法消除这些误差,因为它比较四边形的先前位置和当前位置,并基于此生成输出。

导数项:称为积分结束的严重问题会增加四边形的压力并可能导致严重的不平衡,因此我们使用导数项来预测轨迹的未来并在误差变化率过大时减慢四边形.

最后,我们利用了自动水平功能,当摇杆处于中心位置时,它会使无人机保持平衡。这完全是因为 IMU 使四边形与 3 轴对齐。

 

 


下载该资料的人也在下载 下载该资料的人还在阅读
更多 >

评论

查看更多

下载排行

本周

  1. 1山景DSP芯片AP8248A2数据手册
  2. 1.06 MB  |  532次下载  |  免费
  3. 2RK3399完整板原理图(支持平板,盒子VR)
  4. 3.28 MB  |  339次下载  |  免费
  5. 3TC358743XBG评估板参考手册
  6. 1.36 MB  |  330次下载  |  免费
  7. 4DFM软件使用教程
  8. 0.84 MB  |  295次下载  |  免费
  9. 5元宇宙深度解析—未来的未来-风口还是泡沫
  10. 6.40 MB  |  227次下载  |  免费
  11. 6迪文DGUS开发指南
  12. 31.67 MB  |  194次下载  |  免费
  13. 7元宇宙底层硬件系列报告
  14. 13.42 MB  |  182次下载  |  免费
  15. 8FP5207XR-G1中文应用手册
  16. 1.09 MB  |  178次下载  |  免费

本月

  1. 1OrCAD10.5下载OrCAD10.5中文版软件
  2. 0.00 MB  |  234315次下载  |  免费
  3. 2555集成电路应用800例(新编版)
  4. 0.00 MB  |  33566次下载  |  免费
  5. 3接口电路图大全
  6. 未知  |  30323次下载  |  免费
  7. 4开关电源设计实例指南
  8. 未知  |  21549次下载  |  免费
  9. 5电气工程师手册免费下载(新编第二版pdf电子书)
  10. 0.00 MB  |  15349次下载  |  免费
  11. 6数字电路基础pdf(下载)
  12. 未知  |  13750次下载  |  免费
  13. 7电子制作实例集锦 下载
  14. 未知  |  8113次下载  |  免费
  15. 8《LED驱动电路设计》 温德尔著
  16. 0.00 MB  |  6656次下载  |  免费

总榜

  1. 1matlab软件下载入口
  2. 未知  |  935054次下载  |  免费
  3. 2protel99se软件下载(可英文版转中文版)
  4. 78.1 MB  |  537798次下载  |  免费
  5. 3MATLAB 7.1 下载 (含软件介绍)
  6. 未知  |  420027次下载  |  免费
  7. 4OrCAD10.5下载OrCAD10.5中文版软件
  8. 0.00 MB  |  234315次下载  |  免费
  9. 5Altium DXP2002下载入口
  10. 未知  |  233046次下载  |  免费
  11. 6电路仿真软件multisim 10.0免费下载
  12. 340992  |  191187次下载  |  免费
  13. 7十天学会AVR单片机与C语言视频教程 下载
  14. 158M  |  183279次下载  |  免费
  15. 8proe5.0野火版下载(中文版免费下载)
  16. 未知  |  138040次下载  |  免费