Crazyflie微型四轴 深入解读2

2023-10-30 18:30

本文主要是介绍Crazyflie微型四轴 深入解读2,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一.微处理器部分

 
处理的核心,可以看到四个MOTOR驱动控制腿,状态指示灯,
21 22腿的IIC接口,与IMU模块通讯,
2 3 4 11 12等引脚的对电源管理模块的控制,主要功能就是检测电压,控制通/断等,
25到31对2.4G无线模块的通讯与控制
14到17引脚作为预留外设接口
44脚为引导程序地址的的硬件设置,
总之,都是数字电路,看看各芯片手册和集中通信协议搞明白还是比较容易的。


二.电机驱动部分


 
首先要知道的就是使用的614空心杯电机,N沟道额定电流3A的场效应管以及MOS管的特性:GS端电压控制DS的通断,电压控制电流,R1作为下拉电阻防止误触发,D1续流二极管:因为电机在电路上可以等效成个电感,PWM模式下电感会有反向电动势,若参数合适的话电动势会非常高,MOS管都有击穿危险。
多说一句(电路高手可以无视):这里用的是MOS管,GS电压控制DS电流,还有常用的晶体三极管,N沟道MOS管的GDS对应的NPN的晶体管的BCE ,BE电流控制EC电流,各有优劣可以网上查查基本知识。


三.传感器部分

 
IIC 即Inter-Integrated Circuit(集成电路总线),这种总线类型是由飞利浦半导体公司在八十年代初设计出来的,主要是用来连接整体电路 ,IIC是一种多向控制总线,也就是说多个芯片可以连接到同一总线结构下,同时每个芯片都可以作为实时数据传输的控制源。这种方式简化了信号传输总线接口。
三个传感器就是都挂在IIC总线下,还好咱们赶上了科技成熟的时代,几块钱的芯片就继承又IIC外设,不过有人说STM32的IIC外设做的并不好,我也用IO口模拟做过IIC没有用过32的外设,不过等解读代码的时候在详细说吧。
电路结构按照芯片手册的典型电路搭建就行(文章开头有全部datasheet下载链接),这也是数字电路的方便之处啊。


四.2.4G部分


 
我本不是做射频的,对这块也只是了解基本原理,新版PCB是冬冬画的,也是按照典型电路来的,到时候看调试的状况吧,板载的这个天线用的是贴片的陶瓷天线哦。


五.电源管理


 
电源管理电路东西比较多,图可能看不清,下载了看PDF的吧,


1 当microUSB不接,仅用电池供电时,BQ24075对电池进行放电管理,也就是限流


2 BQ24075的10腿有个网络VCOM控制电路图下方的Q5导通,R30 R32给电池分压用处理器采样电池电压,若电压过低则关断系统,处理器给SYSOFF一个信号,MAX16054也就是个驱动器。


3 MAX16054右上部分的Q6以及外围的作用是一个可控的下拉,VUSB连接USB供电的输入端,若有USB供电Q6导通BQ24075的15腿被拉倒低电平就不会识别处理器发来的“关机”信号。若不接USB供电功能正常。


4 图左上的NUF2221是个USB保护或者叫USB驱动


5 右上的两个可调稳压电路AGND star connection 和DGND star connection


TPS79301可调输出电压计算公式如下图
 
先说AGND(模拟部分的模拟地)部分,一个标准的开关电源芯片+外设电路,看原理图公式的R1对应R16 , 公式的R2对应R18计算可得输出就是2.8V。
来看DGND(数字部分的数字地)部分,当不接USB供电时:BQ24075的7腿(PGOOD)输出高电平,那么公式的R1对应R20//R23(//表示电阻并联的意思计算公式R20*R23/(R20+R23)),公式的R2对应R28。当链接USB供电并且电池充满电(或者不接电池)时:PGOOD输出低电平,那么公式的R1对应R20,公式的R2对应R28//R23。

这篇关于Crazyflie微型四轴 深入解读2的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/309786

相关文章

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

深入探索协同过滤:从原理到推荐模块案例

文章目录 前言一、协同过滤1. 基于用户的协同过滤(UserCF)2. 基于物品的协同过滤(ItemCF)3. 相似度计算方法 二、相似度计算方法1. 欧氏距离2. 皮尔逊相关系数3. 杰卡德相似系数4. 余弦相似度 三、推荐模块案例1.基于文章的协同过滤推荐功能2.基于用户的协同过滤推荐功能 前言     在信息过载的时代,推荐系统成为连接用户与内容的桥梁。本文聚焦于

MCU7.keil中build产生的hex文件解读

1.hex文件大致解读 闲来无事,查看了MCU6.用keil新建项目的hex文件 用FlexHex打开 给我的第一印象是:经过软件的解释之后,发现这些数据排列地十分整齐 :02000F0080FE71:03000000020003F8:0C000300787FE4F6D8FD75810702000F3D:00000001FF 把解释后的数据当作十六进制来观察 1.每一行数据

Java ArrayList扩容机制 (源码解读)

结论:初始长度为10,若所需长度小于1.5倍原长度,则按照1.5倍扩容。若不够用则按照所需长度扩容。 一. 明确类内部重要变量含义         1:数组默认长度         2:这是一个共享的空数组实例,用于明确创建长度为0时的ArrayList ,比如通过 new ArrayList<>(0),ArrayList 内部的数组 elementData 会指向这个 EMPTY_EL

【C++高阶】C++类型转换全攻略:深入理解并高效应用

📝个人主页🌹:Eternity._ ⏩收录专栏⏪:C++ “ 登神长阶 ” 🤡往期回顾🤡:C++ 智能指针 🌹🌹期待您的关注 🌹🌹 ❀C++的类型转换 📒1. C语言中的类型转换📚2. C++强制类型转换⛰️static_cast🌞reinterpret_cast⭐const_cast🍁dynamic_cast 📜3. C++强制类型转换的原因📝

深入手撕链表

链表 分类概念单链表增尾插头插插入 删尾删头删删除 查完整实现带头不带头 双向链表初始化增尾插头插插入 删查完整代码 数组 分类 #mermaid-svg-qKD178fTiiaYeKjl {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-

深入理解RxJava:响应式编程的现代方式

在当今的软件开发世界中,异步编程和事件驱动的架构变得越来越重要。RxJava,作为响应式编程(Reactive Programming)的一个流行库,为Java和Android开发者提供了一种强大的方式来处理异步任务和事件流。本文将深入探讨RxJava的核心概念、优势以及如何在实际项目中应用它。 文章目录 💯 什么是RxJava?💯 响应式编程的优势💯 RxJava的核心概念

Spring 源码解读:自定义实现Bean定义的注册与解析

引言 在Spring框架中,Bean的注册与解析是整个依赖注入流程的核心步骤。通过Bean定义,Spring容器知道如何创建、配置和管理每个Bean实例。本篇文章将通过实现一个简化版的Bean定义注册与解析机制,帮助你理解Spring框架背后的设计逻辑。我们还将对比Spring中的BeanDefinition和BeanDefinitionRegistry,以全面掌握Bean注册和解析的核心原理。

深入理解数据库的 4NF:多值依赖与消除数据异常

在数据库设计中, "范式" 是一个常常被提到的重要概念。许多初学者在学习数据库设计时,经常听到第一范式(1NF)、第二范式(2NF)、第三范式(3NF)以及 BCNF(Boyce-Codd范式)。这些范式都旨在通过消除数据冗余和异常来优化数据库结构。然而,当我们谈到 4NF(第四范式)时,事情变得更加复杂。本文将带你深入了解 多值依赖 和 4NF,帮助你在数据库设计中消除更高级别的异常。 什么是

GPT系列之:GPT-1,GPT-2,GPT-3详细解读

一、GPT1 论文:Improving Language Understanding by Generative Pre-Training 链接:https://cdn.openai.com/research-covers/languageunsupervised/language_understanding_paper.pdf 启发点:生成loss和微调loss同时作用,让下游任务来适应预训