当前位置: 首页 > news >正文

6. PH47 代码框架硬件开发环境搭建

概述

PH47代码框架的硬件开发环境搭建同样简单, 建立基本的 PH47 框架学习或二次开发的硬件开发环境所需设备如下:

BBP 飞控板及相关软硬件:

  • BBP飞控板,或者至少一块Stm32F411核心板(WeAct Studio)
  • Stm32程序烧录工具ST Link或JLink
  • 2个USB-TTL模块,分别用于遥测串口(Usart1)及调试串口(Usart6)
  • 电脑PC端准备一个串口调试工具软件,连接调试串口(Usart6)
  • 电脑PC端运行 CSS 的 BBDB 控制站项目,运行时打开遥测串口(Usart1)
  • 万用表,最好还有一个具备基本性能的示波器
    若要实现飞控完整功能,还需增加:
  • GPS模块
  • 空速计模块(固定翼)
  • Tof及光流模块(多轴)
    若要执行实际飞行任务,还需增加
  • 数传电台
  • 至少4通道Pwm RC接收机

BBP 飞控板的组装制作

由于 BBP 飞控板由市场上最常见的各种模块组装而成, 故目前不提供已经组装好的 BBP 成品飞控板。此方式不足之处在于开发者需要花上一定的时间和精力亲自来进行 BBP 控制板的焊接组装。但通过自行组装飞控板的过程, 开发者能够对飞控硬件架构、接口、电路连接关系有更为直接和深入的认识。

目前也开发了成品化,高度集成化,更偏向实际运行的BBP mini 控制板,但对于二次开发用户,还是建议以BBP散件组装方式入手。有能力的二次开发用户也可根据BBP电路图开发出自己的转接板底板,或对BBP电路及 PCB设计进行更高层次的优化改进。

用户采购其它来源的同型号模块,请在使用前进行必要的测试也确保模块本身无损坏。

  • WeAct Studio Stm32F411CEU6 MCU 最小系统板
  • MPU6500 6 轴陀螺及加速度 IMU 模块
  • LSM303DLHC 3轴磁强 + 3轴加速度计模块
  • MS5611 气压传感器模块
  • W25Q128 16M Flash 存储模块
  • AT24C256 32k EEprom 存储模块
  • TXS0108 电平转换模块

用户在初次购买上述模块前,应对模块与转接板的针脚顺序进行检查核对!防止模块型号差异造成针脚顺序与转接板不一致。
PCB正面引脚标注
PCB 背面引脚标注

BBP 飞控板的组装方式

使用专用底板转接板方式

将各功能模块通过排针焊接于底板上,将各接口插座焊接于底板上。此方式制作的飞控板具有较高的可靠性,可直接用于固定翼或多轴平台的飞行控制。
BBP 系列转接板
排母排针连接方式

在底板转接板上焊接排母,各功能模块焊接排针,通过模块拔插的方式将各模块安装于底板之上。此方式模块组合灵活适于做地面开发实验或测试用途。强烈推荐二次开发用户至少制作一块这样板子做测试或者debug用途,日常使用起来非常方便。

排母建议使用5.7mm矮排母以配合各模块使用的8.5mm短排针。
排母连接方式
模块间连线方式

若一时无法获取底板转接板,也可直接采用焊接、插座连接等连线的方式连接各模块构成飞控系统。此方式紧凑程度、美观程度较差,但可以确保电路连接的可靠性且最简便易行。可用于初期的学习实验用途。
在这里插入图片描述
面包板或万能板方式

在同样无法获取底板转接板情况下,可以采用面包板或万能板方式构建起飞控系统。当采用面包板方式时,应当对电路连接可靠性予以足够重视。

组装BBP飞控板注意事项

组装焊接前,尽量对模块进行测试(使用排母插座的BBP),或通过较为可靠的渠道采购所需模块。尽量避免将已损坏的模块安装到底板上。

BBP v2 飞控板已经修正了v1版本对模块焊接安装顺序有严格要求,否则会出现某个模块安装后会遮挡背面另外模块而导致无法安装的bug。

BBP v2 焊接时先把正面所有模块焊接完毕后,再焊接背面所有模块即可。模块连接建议使用的排针为8.5mm短排针,而不是常规11.5mm排针,使用短排针焊接后就不用剪去排针多余部分妨碍背面模块安装。

如果焊接技术不是非常熟练的话,强烈建议在焊接完成后使用万用表对各个模块与转接板对外接口插座,以及其他相关电路联通情况进行测试。对于刚接触单片机硬件的新手而言,这是十分必要,且对于加深端口与传感器连接关系理解具有很积极的作用。

更多内容可参见专栏:无人机飞控
相关资源:https://gitee.com/ss15/ph47

相关文章:

6. PH47 代码框架硬件开发环境搭建

概述 PH47代码框架的硬件开发环境搭建同样简单, 建立基本的 PH47 框架学习或二次开发的硬件开发环境所需设备如下: BBP 飞控板及相关软硬件: BBP飞控板,或者至少一块Stm32F411核心板(WeAct Studio)Stm32程序烧录工具…...

package.json配置

package.json配置 描述配置文件配置脚本配置依赖配置发布配置系统配置第三方配置 描述配置 name : 项目名称,第三方包可以通过npm install 包名安装 "name":"react"version : 项目版本,项目版本号 "version" : "18.2…...

视频怎么转gif动图?5个简单转换方法快来学(详细教程)

相信大家在社交平台上会经常看到一些有趣的gif动图表情包,有些小伙伴就会问:这些GIF动图是如何制作的呢?一般GIF动图表情包可以用视频来制作,今天小编就来给大家分享几个视频转成GIF动图的方法,相信通过以下的几个方法…...

10月更新:优维EasyOps®需求解决更彻底,功能体验再升级

升 级 不 止 步 欢迎来到 需求至上,功能完善 的 \ EasyOps 7.5版本 / 👇 >> 联动架构视图:深度融合监控与资源拓扑 传统上,依赖监控态势感知系统固有的分层拓扑结构虽有其优势,但在处理复杂系统尤其是核心数…...

黑马javaWeb笔记重点备份1:三层架构、IOC、DI

来自:【黑马程序员JavaWeb开发教程,实现javaweb企业开发全流程(涵盖SpringMyBatisSpringMVCSpringBoot等)】 https://www.bilibili.com/video/BV1m84y1w7Tb/?p75&share_sourcecopy_web&vd_source9332b8fc5ea8d349a54c398…...

大坝渗流监测设备——渗压计

渗压计是一种用于监测大坝等水工建筑物渗流压力的重要设备,其准确性和可靠性对于保障大坝安全运行至关重要。南京峟思将为大家详细介绍渗压计的工作原理、安装方法及其在大坝渗流监测中的应用。 渗压计主要利用振弦频率的变化来测量渗透水压力。设备由透水部件、感应…...

Pikachu-Sql Inject-宽字节注入

基本概念 宽字节是相对于ascII这样单字节而言的;像 GB2312、GBK、GB18030、BIG5、Shift_JIS 等这些都是常说的宽字节,实际上只有两字节 GBK 是一种多字符的编码,通常来说,一个 gbk 编码汉字,占用2个字节。一个…...

如何制作低代码开发的视频教程?

如何制作低代码开发的视频教程? 随着数字化转型的加速,越来越多的企业和组织开始采用低代码开发平台来加速应用程序的构建。对于许多开发者和业务人员来说,学习如何使用这些平台可以显著提高工作效率。因此,创建一份清晰、实用且…...

Flink学习地址

--基础概念 概览 | Apache Flink --应用系列 如何学习Flink:糙快猛的大数据之路(图文并茂)_flink 学习-CSDN博客 --Python系列 pyflink实时接收kafka数据至hive_pyflink下kafka数据经过处理后插入hive-CSDN博客 Pyflink教程(一)&#…...

05_23 种设计模式之《建造者模式》

文章目录 一、建造者模式基础知识建造者模式的结构建造者模式的应用场景 一、建造者模式基础知识 建造者模式(Builder Pattern)是一种创建型设计模式,它提供了一种优雅的方式来创建复杂对象,同时隐藏其构建过程。这种模式允许你通…...

详细分析Spring Security OAuth2中的JwtAccessTokenConverter基本知识(附Demo)

目录 前言1. 基本知识2. Demo3. 实战 前言 java框架 零基础从入门到精通的学习路线 附开源项目面经等(超全)【Java项目】实战CRUD的功能整理(持续更新) 1. 基本知识 JwtAccessTokenConverter 是 Spring Security OAuth2 中的一…...

python习题2

1、输出一个年份,判断其是不是闰年 #输入一个年份,判断其是否是闰年 y eval(input()) if y%4 0 and y%100 ! 0:print("是") elif y%4000:print("是") else:print("不是") 2、模拟智能客服: 按1查询账户余额…...

CVSS 4.0 学习笔记

通用漏洞评分系统(CVSS)捕获了主要技术软件、硬件和固件漏洞的特征。其输出包括数字分数,表明与其他漏洞。 以下因素可能包括但不限于:监管要求、客户数量受影响、因违约造成的金钱损失、生命或财产受到威胁,或潜在漏洞的声誉影响。这些因素在CVSS评估范围之外。 CVSS的好…...

解决 GPTQ 模型导入后推理生成 Tokens 速度很慢的问题(从源码重新安装 Auto-GPTQ)

这里解决的是使用 Auto-GPTQ 或者 Transformers 导入 GPTQ 模型后推理速度很慢的问题。 值得注意的是,这个问题很有可能是因为安装不正确,所以 GPTQ 无法正确使用 GPU 进行推理,也就是说无法进行加速,即便 print(model.device) 显…...

NDC美国药品编码目录数据库查询方法

NDC(National Drug Code)翻译为“国家药品代码”,是美国食品药品监督管理局(FDA)制定的一种药品标识系统,用于唯一标识药品。这个编码系统主要目的是为精准识别和追踪不同药品而建设,行业人员和…...

vue3的v-model使用

vue3的v-model使用 单个绑定值 子组件 props: [‘modelValue’], emits: [‘update:modelValue’], 注&#xff1a;modelValue是默认的&#xff0c;如果只有一个需要绑定v-model&#xff0c;可使用modelValue 此时父组件写法 <CustomInput v-model"searchText"…...

Go语言实现长连接并发框架 - 消息

文章目录 前言接口结构体接口实现项目地址最后 前言 你好&#xff0c;我是醉墨居士&#xff0c;上篇博客实现了对连接的封装&#xff0c;那我们对连接的读写操作涉及数据格式的定义&#xff0c;我们采用统一的数据格式。使用我们这种数据格式的数据&#xff0c;我们将其称之为…...

湖南(市场咨询)源点调研 如何明确调研焦点与分析单位的特征

湖南市场调研源点咨询认为&#xff0c;调研过程中定义问题阶段的部分工作涉及弄清究竟是对谁进行调研&#xff0c;也就是感兴趣人群&#xff0c;我们发现这与样本的选择有关。在调研过程的设计阶段弄清楚感兴趣人群非常重要&#xff0c;之后才可以决定选择哪种调研类型进行调研…...

java 方法引用与构造器引用

Java 方法引用和构造器引用是 Java 8 引入的重要特性&#xff0c;它们进一步简化了 Lambda 表达式的书写&#xff0c;使得代码更加简洁和易读。下面详细介绍方法引用和构造器引用的概念、用法及示例。 方法引用 方法引用是一种简化 Lambda 表达式的语法糖&#xff0c;它允许通…...

python3的语法

知识简介 基础语法就像比赛规则&#xff0c;比如比赛跑步&#xff0c;咱们不能跑到别人的跑道去吧&#xff0c;比赛打拳&#xff0c;先说好不能踢裆。 正文 一、python3的基础语法 1、编码 python的源码文件.py一般是utf8编码的&#xff0c;有时候咱们在执行源码文件的时候报…...

【根据当天日期输出明天的日期(需对闰年做判定)。】2022-5-15

缘由根据当天日期输出明天的日期(需对闰年做判定)。日期类型结构体如下&#xff1a; struct data{ int year; int month; int day;};-编程语言-CSDN问答 struct mdata{ int year; int month; int day; }mdata; int 天数(int year, int month) {switch (month){case 1: case 3:…...

ETLCloud可能遇到的问题有哪些?常见坑位解析

数据集成平台ETLCloud&#xff0c;主要用于支持数据的抽取&#xff08;Extract&#xff09;、转换&#xff08;Transform&#xff09;和加载&#xff08;Load&#xff09;过程。提供了一个简洁直观的界面&#xff0c;以便用户可以在不同的数据源之间轻松地进行数据迁移和转换。…...

【AI学习】三、AI算法中的向量

在人工智能&#xff08;AI&#xff09;算法中&#xff0c;向量&#xff08;Vector&#xff09;是一种将现实世界中的数据&#xff08;如图像、文本、音频等&#xff09;转化为计算机可处理的数值型特征表示的工具。它是连接人类认知&#xff08;如语义、视觉特征&#xff09;与…...

AI,如何重构理解、匹配与决策?

AI 时代&#xff0c;我们如何理解消费&#xff1f; 作者&#xff5c;王彬 封面&#xff5c;Unplash 人们通过信息理解世界。 曾几何时&#xff0c;PC 与移动互联网重塑了人们的购物路径&#xff1a;信息变得唾手可得&#xff0c;商品决策变得高度依赖内容。 但 AI 时代的来…...

管理学院权限管理系统开发总结

文章目录 &#x1f393; 管理学院权限管理系统开发总结 - 现代化Web应用实践之路&#x1f4dd; 项目概述&#x1f3d7;️ 技术架构设计后端技术栈前端技术栈 &#x1f4a1; 核心功能特性1. 用户管理模块2. 权限管理系统3. 统计报表功能4. 用户体验优化 &#x1f5c4;️ 数据库设…...

【7色560页】职场可视化逻辑图高级数据分析PPT模版

7种色调职场工作汇报PPT&#xff0c;橙蓝、黑红、红蓝、蓝橙灰、浅蓝、浅绿、深蓝七种色调模版 【7色560页】职场可视化逻辑图高级数据分析PPT模版&#xff1a;职场可视化逻辑图分析PPT模版https://pan.quark.cn/s/78aeabbd92d1...

MFC 抛体运动模拟:常见问题解决与界面美化

在 MFC 中开发抛体运动模拟程序时,我们常遇到 轨迹残留、无效刷新、视觉单调、物理逻辑瑕疵 等问题。本文将针对这些痛点,详细解析原因并提供解决方案,同时兼顾界面美化,让模拟效果更专业、更高效。 问题一:历史轨迹与小球残影残留 现象 小球运动后,历史位置的 “残影”…...

宇树科技,改名了!

提到国内具身智能和机器人领域的代表企业&#xff0c;那宇树科技&#xff08;Unitree&#xff09;必须名列其榜。 最近&#xff0c;宇树科技的一项新变动消息在业界引发了不少关注和讨论&#xff0c;即&#xff1a; 宇树向其合作伙伴发布了一封公司名称变更函称&#xff0c;因…...

【 java 虚拟机知识 第一篇 】

目录 1.内存模型 1.1.JVM内存模型的介绍 1.2.堆和栈的区别 1.3.栈的存储细节 1.4.堆的部分 1.5.程序计数器的作用 1.6.方法区的内容 1.7.字符串池 1.8.引用类型 1.9.内存泄漏与内存溢出 1.10.会出现内存溢出的结构 1.内存模型 1.1.JVM内存模型的介绍 内存模型主要分…...

SQL Server 触发器调用存储过程实现发送 HTTP 请求

文章目录 需求分析解决第 1 步:前置条件,启用 OLE 自动化方式 1:使用 SQL 实现启用 OLE 自动化方式 2:Sql Server 2005启动OLE自动化方式 3:Sql Server 2008启动OLE自动化第 2 步:创建存储过程第 3 步:创建触发器扩展 - 如何调试?第 1 步:登录 SQL Server 2008第 2 步…...