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

相关文章

Linux系统之authconfig命令的使用解读

《Linux系统之authconfig命令的使用解读》authconfig是一个用于配置Linux系统身份验证和账户管理设置的命令行工具,主要用于RedHat系列的Linux发行版,它提供了一系列选项... 目录linux authconfig命令的使用基本语法常用选项示例总结Linux authconfi

解读docker运行时-itd参数是什么意思

《解读docker运行时-itd参数是什么意思》在Docker中,-itd参数组合用于在后台运行一个交互式容器,同时保持标准输入和分配伪终端,这种方式适合需要在后台运行容器并保持交互能力的场景... 目录docker运行时-itd参数是什么意思1. -i(或 --interactive)2. -t(或 --

解读为什么@Autowired在属性上被警告,在setter方法上不被警告问题

《解读为什么@Autowired在属性上被警告,在setter方法上不被警告问题》在Spring开发中,@Autowired注解常用于实现依赖注入,它可以应用于类的属性、构造器或setter方法上,然... 目录1. 为什么 @Autowired 在属性上被警告?1.1 隐式依赖注入1.2 IDE 的警告:

Rust中的注释使用解读

《Rust中的注释使用解读》本文介绍了Rust中的行注释、块注释和文档注释的使用方法,通过示例展示了如何在实际代码中应用这些注释,以提高代码的可读性和可维护性... 目录Rust 中的注释使用指南1. 行注释示例:行注释2. 块注释示例:块注释3. 文档注释示例:文档注释4. 综合示例总结Rust 中的注释

解读Pandas和Polars的区别及说明

《解读Pandas和Polars的区别及说明》Pandas和Polars是Python中用于数据处理的两个库,Pandas适用于中小规模数据的快速原型开发和复杂数据操作,而Polars则专注于高效数据... 目录Pandas vs Polars 对比表使用场景对比Pandas 的使用场景Polars 的使用

Rust中的Drop特性之解读自动化资源清理的魔法

《Rust中的Drop特性之解读自动化资源清理的魔法》Rust通过Drop特性实现了自动清理机制,确保资源在对象超出作用域时自动释放,避免了手动管理资源时可能出现的内存泄漏或双重释放问题,智能指针如B... 目录自动清理机制:Rust 的析构函数提前释放资源:std::mem::drop android的妙

golang字符串匹配算法解读

《golang字符串匹配算法解读》文章介绍了字符串匹配算法的原理,特别是Knuth-Morris-Pratt(KMP)算法,该算法通过构建模式串的前缀表来减少匹配时的不必要的字符比较,从而提高效率,在... 目录简介KMP实现代码总结简介字符串匹配算法主要用于在一个较长的文本串中查找一个较短的字符串(称为

MySQL中的MVCC底层原理解读

《MySQL中的MVCC底层原理解读》本文详细介绍了MySQL中的多版本并发控制(MVCC)机制,包括版本链、ReadView以及在不同事务隔离级别下MVCC的工作原理,通过一个具体的示例演示了在可重... 目录简介ReadView版本链演示过程总结简介MVCC(Multi-Version Concurr

关于Gateway路由匹配规则解读

《关于Gateway路由匹配规则解读》本文详细介绍了SpringCloudGateway的路由匹配规则,包括基本概念、常用属性、实际应用以及注意事项,路由匹配规则决定了请求如何被转发到目标服务,是Ga... 目录Gateway路由匹配规则一、基本概念二、常用属性三、实际应用四、注意事项总结Gateway路由

深入解析Spring TransactionTemplate 高级用法(示例代码)

《深入解析SpringTransactionTemplate高级用法(示例代码)》TransactionTemplate是Spring框架中一个强大的工具,它允许开发者以编程方式控制事务,通过... 目录1. TransactionTemplate 的核心概念2. 核心接口和类3. TransactionT