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 电平转换模块
用户在初次购买上述模块前,应对模块与转接板的针脚顺序进行检查核对!防止模块型号差异造成针脚顺序与转接板不一致。
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’], 注:modelValue是默认的,如果只有一个需要绑定v-model,可使用modelValue 此时父组件写法 <CustomInput v-model"searchText"…...

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

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

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

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

Spring Data JPA中的锁机制
当多个事务同时修改同一条记录时,可能会导致数据不一致的问题。为了确保并发事务中的数据一致性,可以使用锁机制。常见的两种锁机制是悲观锁和乐观锁。下面是这两种锁机制的详细讲解。 1. 悲观锁(Pessimistic Locking) 概念&…...

mybatis分页拦截器
Mapper 方法: public interface UserMapper {void selectUsers(@Param("page") Page<User> page...

React学习过程(持续更新......)
React学习过程(持续更新…) 创建react的hello项目 使用node创建create-react-app脚手架项目 //首先你得先安装node,这里不做详细教程,我使用的node为20.18.0 npm isntall create-react-app -g //全局安装create-react-app crea…...

pve lxc容器探索,陆续完善中
注意:创建lxc容器时,不要勾选“无特权容器”,才可以使用如下命令进行挂载。 说明:容器附加主机目录,/myweb/src为主机目录,/src为lxc中目录,100为容器ID pct set 100 -mp1 /myweb/src,mp/src执…...

5款人声分离免费软件分享,从入门到精通,伴奏提取分分钟拿捏!
人声分离通常是音乐制作、混音和卡拉OK中常用的重要技术之一。它的核心是将乐器伴奏从原始音轨中分离出来,使得用户可以单独处理或重混音频,创造出清晰干净的伴奏轨道。若缺乏强大的音频剪辑软件或专业人声分离工具,这一过程往往会比较困难。…...

镭速助力解决企业大文件传输难题
在数字化时代,数据已成为企业的核心资产。无论是高清视频、大规模数据库备份还是复杂的3D设计文件,企业每天都要处理大量数据。然而,在享受数据带来的便利和价值的同时,企业也面临着一个现实问题——如何高效、安全地传输大文件&a…...

SpringBootWeb AOP
SpringBootWeb AOP 事务管理 rollbackFor属性 propagation属性 案例 AOP 基础 进阶 通知类型 通知顺序 切入点表达式 execution annotation 连接点 案例 实体类 接口方法 切面类 事务管理 rollbackFor属性 propagation属性 REQUIRED:大部分情况下都是用该传播行为…...

傅里叶分析之掐死教程(完整版)更新于2014.06.06
作 者:韩 昊 知 乎:Heinrich 微 博:花生油工人 知乎专栏:与时间无关的故事 谨以此文献给大连海事大学的吴楠老师,柳晓鸣老师,王新年老师以及张晶泊老师。 转载的同学请保留上面这句话,谢谢。如果…...

macOS终端配置自动补全功能
如何在macOS终端中配置自动补全功能 终端是一个非常强大的工具,它可以用来完成很多任务,比如创建、复制、移动、删除文件,执行脚本和运行程序。不过它的默认设置对用户不太友好,作为开发者,我们通常习惯代码编辑器的辅…...

华为---MUX VLAN简介及示例配置
目录 1. 产生背景 2. 应用场景 3. 主要功能 4. 基本概念 5. 配置步骤及相关命令 6.示例配置 6.1 示例场景 6.2 网络拓扑图 6.3 配置代码 6.4 配置及解析 6.5 测试验证 配置注意事项 1. 产生背景 MUX VLAN(Multiplex VLAN)提供了一种通过VLA…...