Drone-Mercury 从零开始的四轴无人机制作(二)- 硬件与PCB

这篇具有很好参考价值的文章主要介绍了Drone-Mercury 从零开始的四轴无人机制作(二)- 硬件与PCB。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Drone-Mercury 从零开始的四轴无人机制作(二)- 硬件与PCB

该项目目前还是正在进行的一个状态,Github中提供了现在最新的进度。如果对您有帮助,请点个星星支持一下!
Github地址: https://github.com/Xiangyu-Fu/Drone-Mercury

2. 硬件与PCB

首先来看一下硬件的部分。硬件的部分是非常重要的一环。但是很多时候问题是,没有足够的资料来对整个知识网络进行一个整理和汇总,因此我们就没法获得一个整体上对产品设计上的观念和感觉。所以这也是为什么我想从底层开始构建一个完成的项目。只有这样我们才可以对其它的方向进行一个概念性的理解,来增强对整体的一个把握。

在这个项目开始之前,我一直觉得硬件部分是比较困难的,不过,根据我现在的想法来看,的确是这样。不过硬件更多的困难是体现在物理世界的,很多debug也是要考虑物理问题,这是我觉得和软件层面最大的不同。所以,在我目前看来,硬件方面是非常基于经验的。因为硬件不像是编程,如果报错会给你反馈,然后通过搜索,以及各种debug方法,你就可以定位到出错的位置。但是硬件就很大不同,比如芯片间通信出现问题,可能是因为芯片的虚焊,或者也可能是芯片因为短路烧毁。但是,如果经验较为充足,你就可以有一套的bebug思路,从最有可能的问题开始排查,一一排除错误。这当然可以自己摸索,不过,我觉得可能更有效的方法是有老师领路,这样真的可以走很多弯路。不过,自己钻研也是不错的,但会比较花时间,各有利弊吧。

如Drone-Mercury 从零开始的四轴无人机制作(一)里面所说的,这个项目是基于STM32C8T6的。由于对硬件方面没有太多经验,所以硬件的原理图主要参考了以下的材料

  • 《四轴飞行器DIY》
  • 野火霸道开发板v2原理图

PCB部分网上有很多教程,可以很快的入门。整体的硬件设计在Altium Designer 21中完成的,如果想查看设计图的话需要注意版本问题。

2.1 原理图

下图展示了整体的原理图部分,主控芯片采用了STM32C8T6,采用了16MHz的外源晶振。主要分成了以下的几个部分,

  • STM32主控电路,
  • 电机驱动电路,
  • NRF24L01接口电路,
  • MPU6050模块电路,
  • 电源模块电路,
  • 指示灯驱动电路,
  • 电池, UART插针
    Drone-Mercury 从零开始的四轴无人机制作(二)- 硬件与PCB

2.1.1 STM32主控电路

Drone-Mercury 从零开始的四轴无人机制作(二)- 硬件与PCB

STM32C8T6主控电路主要是包括了一些驱动STM32C8T6的模块,包括供电以及16MHz的外源晶振。晶振也可以采用常用的8MHz。
除去一些驱动模块,这里还有一个LED指示模块连接在GPIOB 3上,我们可以通过这个LED现实一些状态。由 R 4 , R 5 , C 3 R4, R5, C3 R4,R5,C3组成的电源电压检测模块,使用ADC来检测电源电压。以及Debug接口SWD,这里采用四线SWD的方式与下载器连接,其中四个口分别是 V C C , G N D , T M S , T C K VCC, GND, TMS, TCK VCC,GND,TMS,TCK。使用四根线连接到下载器的SWD端口就可以使用下载器下载程序了。

关于下载器,一般只要是支持Cotex-M3的下载器是都可以的。

2.1.2 电机驱动电路

Drone-Mercury 从零开始的四轴无人机制作(二)- 硬件与PCB
以上是电机驱动电路,肯定是由四个相同的模块组成的。下图为采用SOT23封装的AO3402, 其数据表见此。
Drone-Mercury 从零开始的四轴无人机制作(二)- 硬件与PCB

我们使用定时器来输出PWM信号由此控制MOSFET AO3402的开闭,因而可以控制电机的输出。 D 1 − D 4 D1-D4 D1D4用于保护MOSFET,防止电机产生的电流损坏AO3402。 R 20 − R 23 R20-R23 R20R23是下拉电阻,用于释放点AO3402自身电容上的电压,以便快速响应PWM的控制。

2.1.3 NRF24L01接口电路

Drone-Mercury 从零开始的四轴无人机制作(二)- 硬件与PCB
NRF24L01是一个8pin的排针座,画PCB的时候注意方向。下图是PCB中的NRF24L01插槽。
Drone-Mercury 从零开始的四轴无人机制作(二)- 硬件与PCB

我在第一版PCB中弄错了方向,这会让整个造型显得非常怪异。NRF24L01采用SPI与STM32C8T6连接,使用2.4 GHz频带通信,可以在250 kbps到2 Mbps的波特率下工作。如果在开放空间中使用且波特率较低,则其范围可达100米。不加功放大概在7-10m左右。

该模块可以使用125个不同的通道,这使在一个地方拥有125个独立工作的调制解调器的网络成为可能。每个通道最多可以有6个地址,或者每个单元可以同时与最多6个其他单元通信。

在传输过程中,该模块的功耗仅为12mA左右,甚至低于单个LED。 模块的工作电压为1.9V至3.6V,但好处是其他引脚可以承受5V逻辑,因此我们可以轻松地将其连接到STM32,而无需使用任何逻辑电平转换器。

其示意图如下所示,图片来源见水印。

Drone-Mercury 从零开始的四轴无人机制作(二)- 硬件与PCB

2.1.4 MPU6050模块电路

Drone-Mercury 从零开始的四轴无人机制作(二)- 硬件与PCB

以上是MPU6050的电路,主要是很多的供电引脚。MPU6050采用了I2C与STM32C8T6通信。在PCB布线的时候,I2C的通信线应该尽可能的短,并尽量保证SCL与SDA的长度一致,这样为了防止电磁干扰和信号的长度差。

R 6 , R 7 R6, R7 R6R7是上啦电路,电阻值的选取范围为 2 − 10 k Ω 2-10k\Omega 210kΩ。由于连接到I2C总线上的器件是漏极开路或者集电极开路,因此允许把多个I2C总线器件连接到总线上。同时,因为接了上拉电阻,所以在总线空闲时间,SDA和SCL线都是默认高电平,可以防止外部干扰造成误启动。

下图中所示为PCB视角下的MPU6050。
Drone-Mercury 从零开始的四轴无人机制作(二)- 硬件与PCB

2.1.5 电源模块电路

Drone-Mercury 从零开始的四轴无人机制作(二)- 硬件与PCB
电源模块主要分为两个部分,升压电路和稳压电路。

升压电路

LTC3200 是低噪声、恒定频率开关电容器电压倍增器。它们在 2.7V 至 4.5V 输入范围内产生稳定的5V输出电压,输出电流高达 100mA。在这里,LTC3200将电池电压从3.7V升到5V。

稳压电路

XC6206是一款高精度,低功耗,3引脚LDO高电压调整器芯片,并采用 CMOS工艺和激光微调技术. 在输出电流较大的情况下,输入输出压差也能很小。XC6206系列芯片内部包括一个电流限制电路,一个驱动三极管,一个高精度参考电压源和一个误差校正电路。

在这里我们将电源分成两个部分,分别为数字信号电源和模拟信号电源。其目的是,令数字脉冲信号产生的波纹不会影响到模拟信号的采集。

数字信号为高低电平,快速的高低电平转换(如各类通信接口和单片机内部运行)会使电源内部产生同步开关噪声。由于一般数字信号在1.8V以下为低电平,1.8V以上为高电平,较小的纹波对数字信号本身影响不大,而模拟信号对这样的纹波是相当敏感的。如果单片机的AD是8位的,那电源波动1/256就会对采样结果产生影响,如果AD位数更高,对电源的要求也就更高。利用电阻的感性,我们采用 0 Ω 0\Omega 电阻隔离数字地和模拟地。

2.1.6 指示灯驱动电路

Drone-Mercury 从零开始的四轴无人机制作(二)- 硬件与PCB

以上为四个方向上的LED的驱动电路, 可以用于状态展示。所有的LED都通过引脚LED3控制。

发光二极管的正向饱和电压为1.6~2.1 V,正向工作电流为5~20 mA。为了降低功耗,可以把它的工作电流限制在2 mA左右,只是发光微弱一点。

2.1.7 电池, UART插针

Drone-Mercury 从零开始的四轴无人机制作(二)- 硬件与PCB
这里采用了预留焊盘的方式与电池连接,因为比较简易。可以直接去购买匹配的公母线来连接到电池,非常方便。

Drone-Mercury 从零开始的四轴无人机制作(二)- 硬件与PCB

2.2 PCB

再确认了原理图之后,就可以进行PCB的制作了。我使用的软件是Altium Designer21。关于如何制作PCB我在这里就不赘述了,因为网上提供了很多更为详细的教程。现在当前版本的PCB如下所示,所有模块都通过了测试。其中有几点需要注意的是,UART排针和SWD排针的位置有些不太好,应该放在更边缘一些的位置,甚至是移动到侧边。因为当前的设计非常影响软件的测试。但是由于在国外,不方便制作新的PCB版,所以我就凑合着用了。

PCB是采用了一个4层板的设计,只有在顶层放置元器件,2,3层作为供电层,底层作为信号层。
Drone-Mercury 从零开始的四轴无人机制作(二)- 硬件与PCB
以上是二维模式下的视图。
Drone-Mercury 从零开始的四轴无人机制作(二)- 硬件与PCB

以上是三维模式下的视图。

2.2.1 BOM表

以下是所有用到的元器件。这里比较需要注意的是封装,有些元器件提供很多不同的封装,在下单的时候需要注意下。钽电容的方向也要注意好,不要焊错。
Drone-Mercury 从零开始的四轴无人机制作(二)- 硬件与PCB

2.2.2 PCB注意事项

还有些在画PCB时需要注意的地方:

  1. 电池电压检测:通过R4,R5电阻分压,再检测R5上电压来计算电池的电压,计算公式为 V B A T = V T / R 5 × ( R 4 + R 5 ) V_{BAT}=V_T/R_5×(R_4+R_5) VBAT=VT/R5×(R4R5),其中 V T V_T VT为AD采样电压。

  2. 采用四线SWD的方式与下载器连接,其中四个口分别是 V C C , G N D , T M S , T C K VCC, GND, TMS, TCK VCC,GND,TMS,TCK。直接连接下载器就可以下载程序了。

  3. BOOT0 设置为低电平输入,R2焊接 20 k Ω 20 k\Omega 20kΩ电阻,R3不焊。程序从单片机内部启动。

  4. 多检查一下原理图部分各个模块的接线是否正确,因为很容易发生命名错误的问题。

2.2.3 焊接

如果检查没有问题就可以把工程文件发给制作PCB的厂家了,这里我使用的是JLC。收到的板如图所示
Drone-Mercury 从零开始的四轴无人机制作(二)- 硬件与PCB

焊上各种原器件后,就如下图所示

Drone-Mercury 从零开始的四轴无人机制作(二)- 硬件与PCB
需要注意的是上图有个错误是关于BOOT0的电平。正确的焊接方法是,R2焊接 20 k Ω 20 k\Omega 20kΩ电阻,R3不焊。

Drone-Mercury 从零开始的四轴无人机制作(二)- 硬件与PCB

在焊接的时候一定要注意虚焊问题,很多时候出现错误是因为虚焊造成的。建议在焊接完成后使用万用表测试各个针脚的连接情况。

2.3 总结

以上大致就是这个项目的硬件部分,由于这个部分大约是一年前完成的,也有很多细节忘记了。之后也会根据以后项目中发现的问题去更改。接下来就是各个模块的测试部分了,在每个模块中,我想主要分成两个部分,首先是基于基础库的测试程序,为了方便与之前的内容进行衔接,然后就是基于HAL库的程序,这样可以更好地为之后的程序进行移植,和保证与时俱进。 而且目前基于HAL库的内容比较少,也算是能起到一定的借鉴之用。文章来源地址https://www.toymoban.com/news/detail-491643.html

到了这里,关于Drone-Mercury 从零开始的四轴无人机制作(二)- 硬件与PCB的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Drone-YOLO:一种有效的无人机图像目标检测

    点击蓝字 关注我们 关注并星标 从此不迷路 计算机视觉研究院 公众号ID | 计算机视觉研究院 学习群 | 扫码在主页获取加入方式 计算机视觉研究院专栏 Column of Computer Vision Institute 无人机图像中的目标检测是各个研究领域的重要基础。然而,无人机图像带来了独特的挑战,

    2024年02月07日
    浏览(49)
  • STM32无人机-四轴四元数姿态解算与卡尔曼滤波

    MPU6050是一种非常流行的空间运动传感器芯片,可以获取器件当前的三个加速度分量和三个旋转角速度。 什么是四元数 这部分很难,新手知道四元数的功能是将 6 轴传感器数据转化为三轴姿态角度数据即可。 四元数解算程序店家已经封装成一个函数,输入 MPU6050 数值,解算周

    2024年02月03日
    浏览(42)
  • Drone-Yolo:一种高效的无人机图像目标检测神经网络方法

    https://www.mdpi.com/2504-446X/7/8/526 在各种研究领域中,对无人机的图像进行目标检测是一项有意义的任务。然而,无人机的图像带来了独特的挑战,包括图像尺寸大、检测对象尺寸小、对象密集分布、对象重叠以及光线不足影响目标检测的准确性。本文提出了Drone-YOLO,这是一系列

    2024年02月04日
    浏览(45)
  • 迷你无人机 FPV WIFI CAMERA图传破解,mini drone WIFI camera

    Author: Aric Wang     在闲鱼上买了个迷你无人机的图像模块,介绍说要用wificam app可以查看实时视频和控制。因为我想用电脑显示,或者开发自己的APP来控制和显示实时视频,于是逆向分析了一下在此记录。 首先抓包分析: 准备一台有双无线网卡的电脑和安装好wireshark,电脑

    2023年04月12日
    浏览(43)
  • 基于Matlab构建适用于无人机或四轴飞行器的IMU+GPS融合算法(附源码)

    此示例演示如何构建适用于无人机 (UAV) 或四轴飞行器的 IMU + GPS 融合算法。此示例使用加速度计、陀螺仪、磁力计和 GPS 来确定无人机的方向和位置。 设置采样率。在典型系统中,加速度计和陀螺仪以相对较高的采样率运行。在融合算法中处理来自这些传感器的数据的复杂

    2024年02月03日
    浏览(62)
  • 多无人机多目标追踪《Robust Multi-Drone Multi-Target Tracking to Resolve Target Occlusion: A Benchmark》

    这是实验室合作的一篇工作,本文提出了第一个多无人机多目标追踪数据集MDMT,也可用做多目标多视角跨机匹配问题相关研究。并配套提出了MIA-Net用于多机协同多目标追踪。 MDMT数据集及代码链接:https://github.com/VisDrone/Multi-Drone-Multi-Object-Detection-and-Tracking Aiskyeye实验室网站:

    2024年02月15日
    浏览(48)
  • 基于EKF的四旋翼无人机姿态估计matlab仿真

    目录 1.算法描述 2.仿真效果预览 3.MATLAB核心程序 4.完整MATLAB        卡尔曼滤波是一种高效率的递归滤波器(自回归滤波器),它能够从一系列的不完全包含噪声的测量中,估计动态系统的状态。这种滤波方法以它的发明者鲁道夫·E·卡尔曼(Rudolf E. Kalman)命名。卡尔曼最初提

    2023年04月23日
    浏览(90)
  • 基于ESP8266的四旋翼无人机代码分享,该无人机可以爬墙哦

    代码链接在:https://github.com/AnishDey27/Wall-Climbing-Drone/blob/main/Node%20MCU%20Codes/3_Drone_FInal.ino 源码贴出来吧: #includeWire.h #include ESP8266WiFi.h #include WiFiUdp.h WiFiUDP UDP; char packet[4]; //IPAddress local_IP(192, 168, 203, 158); //IPAddress gateway(192, 168, 1, 158); //IPAddress subnet(255, 255, 0, 0); //__________________

    2024年02月07日
    浏览(60)
  • 基于STM32的四旋翼无人机项目(一):基础知识篇

    前言: 本篇博客为飞控专栏的第一篇系统性概述文章,将对飞控系统进行详细讲解介绍。考虑到飞控项目具有一定工程复杂度,所以作者将整个项目进行分章节教学与讲解,希望可以给读者朋友带来更好地学习体验。项目将以  C-Quad 四轴无人机为工程样机,飞行器主控为

    2024年02月08日
    浏览(95)
  • m基于PID控制算法的四旋翼无人机飞行控制simulink仿真

    目录 1.算法描述 2.仿真效果预览 3.MATLAB核心程序 4.完整MATLAB   无人机采用常见的四旋翼无人飞行器,如图1所示。       PID 控制器,即控制器的控制方式为 P 比例调整, I 积分调整以及 D 微分调整三个部分构成, PID 控制器是目前为止应用最为广泛的控制方式。 PID 控制器具

    2023年04月22日
    浏览(80)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包