硬件篇——1_crazyflie2.0原理图分析之电源部分

从研二就开始准备想做一个微型飞控,那时候在bitcraze上看到了该类飞控的原型设计,于是想模仿做一个,一直在准备中,现在已经是工作第二个年头,准备的时间已经差不多了。正好在最近要动手做的时候,他们推出了2.0版本,所以也就开始从这个版本来做。目前还在焊接调试各种硬件电路阶段,好多都是QFN的package,焊接总体来说相对以前难一些,但是还好都顺利搞定,没有费片子,毕竟焊烂掉一块儿,浪费的不仅仅是钱更重要的是时间啊!

状态记录:

目前的状态:

(1)STM32F405R程序下载没有问题,LED测试程序OK

(2)nRF51822 256K程序下载没有问题,LED测试程序OK

下一步需要调试的电路:

(1)BQ24075电源控制电路

(2)nRF51822 无线数据接收发送

电源部分的电路解析:

(1)BQ24075

BQ24075是德州仪器的一款锂电池充电和电源管理的芯片,完全兼容USB充电,我们是不是就可以撇掉淘宝上专用的充电器了,呵呵,该芯片可以通过引脚EN1和EN2控制充电的电流100ma或者500ma,充电的输入电压最大可以达到28V,充电的输入电压跳动范围相对已经很大了。根据pin脚的功能,结合crazyflie2.0简单叙述它的功能:

BAT:Charger Power Stage Output and Battery Voltage Sense Input(充电阶段的输出,也是电池供电的输入)电池正极直接接的引脚

CE#:Charge Enable Active-Low Input(充电使能输入,低有效)该pin直接连接到nRF51822的P0.07,由它来控制使能充电

CHG#:Open-Drain Charging Status Indication Output(充电状态指示输出),CHG# pulls to VSS when the battery is charging(低电平有效,表示电池正在处于充电状态)。CHG# is high impedance when charging is complete and when charger is disabled(当充电完成或者充电被diable的时候,CHG#会被拉高)

EN1,EN2:Input Current Limit Configuration Inputs(输入电流限制配置输入),Do not leave EN1 or EN2 unconnected to ensure proper operation(最好不要让这两个pin处于未连接状态,一定要有明确的高低电平),具体组合配置如下:

EN2=0,EN1=0100 mA. USB100 mode

EN2=0,EN1=1500 mA. USB500 mode

EN2=1,EN1=0Set by an external resistor from ILIM to VSS

EN2=1,EN1=1Standby (USB suspend mode)

ILIM:Adjustable Current Limit Programming Input(可调节的电流限制输入),前提条件需要EN1=0,EN2=1,该引脚才会起作用,Connect a 1100-? to 8-k? resistor from ILIM to VSS to program the maximum input current(在ILIM和VSS直接连接1.1K~8K大小的电阻,编程最大的输入电流)。

IN:Input Power Connection(充电输入引脚),Connect IN to the external DC supply (AC adapter or USB port). (连接到AC适配器或者USB端口)The input operating range is 4.35 V to 6.6 V(bq24075)(输入电压范围为4.35到6.6V),The input can accept voltages up to 26 V without damage
but operation is suspended.(输入可以接受高达26V的电压,而不会损坏,但是充电的操作会被停止)。

ISET:Fast Charge Current Programming Input(快速充电电流编程输入),Connect a 590-? to 5.9-k? resistor from ISET to VSS to program the fast charge current level(连接590-? to 5.9-k?到VSS,可以编程快速充电电流),Charging is disabled if ISET is left unconnected(如果ISET没有连接,表示充电会被diable),当被充电的时候,可以用这个引脚监控充电的电流。公式如下:VISET
= ICHARGE / 400 × RISET,VISET 是我们测得的电压,RISET是连接1K的电阻,从而可以算出充电电流。

OUT:System Supply Output(电压输出),When the input is out of the operation range, OUT is connected to VBAT except when SYSOFF is high(当输入在操作电压范围之外的时候,OUT会被连接到Vbat,当SYSOFF为高电平的时候会关闭Vbat供电给OUT)

PGOOD#:Open-drain Power Good Status Indication Output(供电正常状态指示开漏输出),PGOOD# pulls to VSS when a valid input source is detected(当可利用的输入电源被检测到时,PGOOD#会被拉低)。

SYSOFF:System Enable Input(系统供电使能输入),Connect SYSOFF high to turn off the FET connecting the battery to the system output(SYSOFF 拉高会关闭Battery到system out的FET,也就是说电池供电到输出电压这条路就不通了,确保SYSOFF一定是低电平)。

TMR:Timer Programming Input(定时器可编程输入),TMR controls the pre-charge and fast-charge safety timers(预充电和快速充电安全定时器),Connect TMR to VSS to disable all safety timers. Connect a 18-k? to 72-k? resistor between TMR and VSS to program the timers a desired
length(连接TMR到VSS会diable掉安全定时器,那如果连接18-k? 到72-k?电阻可以编程充电时间的预期长度)。

TS:External NTC Thermistor Input(NTC热敏电阻输入),该功能一般没有用,直接连接固定10K电阻到VSS(地)

(2)NCP702SN30

BQ24075的OUT连接到NCP702SN30的输入,转换成3.0V供电给nRF51822

(3)LP2985-30

BQ24075的OUT连接到LP2985-30的输入,转换成3.0V供电给STM32F405R,但是LP2985-30的3J脚EN受到nRF51822的P0.10使能控制。

所以从上面的电源电路可以看出,直接4.2V左右的锂电池供电和USB充电,nRF51822除了无线通信之外,还主要做电源管理的工作,控制和检测充电电流,控制STM32F405R的供电电路。

时间: 2024-10-13 01:22:43

硬件篇——1_crazyflie2.0原理图分析之电源部分的相关文章

硬件篇——2_crazyflie2.0原理图之STM32F405

1,状态记录: 目前的状态: (1)STM32F405R程序下载没有问题,LED测试程序OK (2)nRF51822 256K程序下载没有问题,LED测试程序OK (3)STM32F405R驱动MPU9250没有问题,可以正确的读取到ID (4)nRF51822 256K的crazyflie20程序可以下载,可以进入Bootloader,从手机端看到nRF51822 BLE的信息 (5)尝试测试PWM,使得电机4转起来,看上去转动也没有问题 (6)尝试通过ST-Link调试STM32F405R,

FreeRTOS高级篇4---FreeRTOS任务切换分析

FreeRTOS任务相关的代码大约占总代码的一半左右,这些代码都在为一件事情而努力,即找到优先级最高的就绪任务,并使之获得CPU运行权.任务切换是这一过程的直接实施者,为了更快的找到优先级最高的就绪任务,任务切换的代码通常都是精心设计的,甚至会用到汇编指令或者与硬件相关的特性,比如Cortex-M3的CLZ指令.因此任务切换的大部分代码是由硬件移植层提供的,不同的平台,实现发方法也可能不同,这篇文章以Cortex-M3为例,讲述FreeRTOS任务切换的过程. FreeRTOS有两种方法触发任务

FreeRTOS高级篇8---FreeRTOS任务通知分析

在FreeRTOS版本V8.2.0中推出了全新的功能:任务通知.在大多数情况下,任务通知可以替代二进制信号量.计数信号量.事件组,可以替代数长度为1的队列(可以保存一个32位整数或指针值),并且任务通知速度更快.使用的RAM更少!我在< FreeRTOS系列第14篇---FreeRTOS任务通知>一文中介绍了任务通知如何使用以及局限性,今天我们将分析任务通知的实现源码,看一下任务通知是如何做到效率与RAM消耗双赢的.        在<FreeRTOS高级篇6---FreeRTOS信号量

远程视频监控之硬件篇

转载请注明出处:http://blog.csdn.net/ruoyunliufeng/article/details/38513927 主要对本项目所设计的硬件进行说明,为了以后的驱动打基础.总的框图在概述里面有说,这里就不再累述. 一.ARM9开发板(mini2440) 1.LED 2.按键 应用程序用的是按键4 3.PWM 4.串口 由于CON1是调试的串口,CON3是红外的串口.所以我们就用CON2. 二.GSM模块(sim900A) 对于SIM900A的介绍不就不说了,百度一下一坨.主要

蓝牙4.0技术分析1-广播者角色

第1章  BlueTooth Roles-Broadcaster 1.1    广播类型 广播可设置以下几种类型: 1)   Connectable Undirected Event Type(可连接无定向广播) 2)   Connectable Directed Event Type(可连接定向广播) 3)   Scannable Undirected Event Type(可扫描无定向广播) 4)   Non-connectable Undirected Event Type(不可连接无定向

Nutch 1.0 源代码分析[8] CrawlDb

Nutch 1.0 源代码分析[8] CrawlDb 24MAR 2010 18:44:08 +0800 ---------------------------------------------------------------------------- 再接下来Crawl类中的重要的一行就是: http://c.tieba.baidu.com/p/3312872854 http://c.tieba.baidu.com/p/3312894881 http://c.tieba.baidu.co

Lua1.0 代码分析 库

Lua1.0 代码分析 库库的代码相对比较简单.这里以数学库为例进行说明.比如看下这个取绝对值的数学函数 static void math_abs (void) {  double d;  lua_Object o = lua_getparam (1);  if (o == NULL)  { lua_error ("too few arguments to function `abs'"); return; }  if (!lua_isnumber(o))  { lua_error (

秀才每天一篇之—【实例分析】用户体验的真实内涵

导读:不知道在哪里看到过这句话:与其为了研究百度,抓破头皮:不如研究用户体验,做到极致!现在很多人都在讲网站质量"SEO思维:对于"高质量"的一些看法",都在讲用户体验,但是什么样的才算好的用户体验?什么样的网站才算质量好?根本没有统一的标准.! 先给大家上一张图,这是一个网络公司的网站,个人认为用户体验算是做的不错的,这里和大家一起分析一下.而这篇文章也是以这幅图展开 ? (网站公司名称已全部隐藏,避免广告嫌疑) 我个人认为这个网站好的原因: 第一:进来这个网站,

第二十六篇:USB3.0高带宽ISO(48KBytes/125us)实战

USB3.1技术已经推出, 10Gbps的速率足以满足数据, HD视频传输的要求. 要步入USB3.1的研发, 还得将USB3.0的基础打扎实. 微软提供的SUPER MUTT只包含一个接口0, 其下有两个ALT, ALT 1与ALT 2, 分别包含了两对ISO IN/OUT端点, 不过, 只有ALT 2下的ISO OUT EP的bMaxBurst为1, 而其它三个ISO EP的bMaxBurst均为0, 而所有的ISO EP的Mult均为0. 即只有一个ISO EP支持2KBytes/125u