在项目开始时,当我在项目描述中编写功能部分时,最后一个条目是在整个过程中发现的大量与Pi Zero相关的黑客攻击,我将在项目进行过程中与您分享。在9个月的时间里,我实际上没有分享其中的任何一个(也是因为实际上我觉得值得注意的并不多),所以上次我在编辑项目描述时,我只是删除了那一行。现在,我像往常一样一直在通过hackaday.com/blog阅读(确切地说,是通过我收到的每一篇帖子的电子邮件通知-强烈建议订阅那些帖子)。Pi:基于Zero的项目偶尔会到达那里,其中一部分是便携项目,大多数项目使用锂离子电池供电-例如,SegaPi Zero就是这样做的-检查一下!
我看到便携式PI Zero项目的一个小问题是-它们都使用升压,为PI Zero提供5V的电源。当我开始设计ZeroPhone硬件时,最大的问题之一是:如何避免速度过快?电路板空间并不充足(仍然不是),我不知道有多少适合5V电压的升压设备工作得很好,而且很容易采购,而采购另一个部件将是皮塔(Pita)。现在我确信,在许多便携式PI和Zero的情况下,没有必要进行升级,到目前为止,ZeroPhone的经验证明了这一点。
在ZeroPhone中,Pi Zero直接由锂离子电池供电(所以,不是建议的5V,而是3.3V-4.2V)。它起作用了吗?见鬼,是的,确实是这样!工作可靠,省电、省钱、节省电路板空间。下面是一堵文字墙,描述了我为什么要走这条路,以及这条路应该是怎么走的:
我发现在我以前的项目中非常不可靠的步骤之一。
从小步进给PI Zero供电是不必要的能源浪费,因为它正在做的是提升,然后调节降低转换,而不是仅仅调节降低(转换损失更大)。因此,不使用Stepup可以为您的项目提供更多的运行时间。
便宜的升级换代往往是不可靠的。你可以从Adafruit/SparkFun那里买一个更贵的,但你也可以把这笔钱用在对你的项目真正有用的东西上。
在您的项目中,踏板会占用空间(在我的情况下,踏板会占用板子空间)。
您需要跟踪电池电压。你确实需要这一点,即使你使用的是一个小步跑,就像一个小步跑,它更容易被忽视(但也更容易运行您的电池超过安全限制)。
这里是我开始这个话题的地方-人们在树莓Pi论坛上报告成功地从3.3V为Pi Zero供电。让我们来看一下Pi Zero W原理图的一小部分,准确地说,就是原理图的一小部分:
左边的5V通常是我们从USB端口获得的,右边的3.3V和1.8V是用于CPU、外围设备和任何需要在PI Zero板上通电的其他设备的电压,左边的电压是我们通常从USB端口获得的电压,右边的3.3V和1.8V的电压是用于CPU、外围设备和任何其他需要在PI Zero板上供电的设备。我们需要看看我们是否可以用3.3V-4.2V来取代5V,要知道这是否可能,我们需要知道5V在哪里使用。因此,出现5V的部分是:
USB端口-在PI为零的情况下,没有保护或任何东西,USB端口VCC是并行布线的。
HDMI端口的VCC-通过二极管(以避免通过HDMI端口给PI反供电)。
内置稳压器使用5V产生VDD_CORE电压,为CPU本身供电。
同样,离子电压将在3V到4.2V的范围内。哪些提到的组件可以这样做,哪些不可以?
PAM2306声称Vin范围从5.5V到2.5V。然而,显然,稳压器的版本是固定输出版本,其中一个输出是3.3V-由于PAM2306没有升压功能,而且连线都不能升压任何东西,那么我们必须给它供电的最低电压是多少?嗯,数据手册上的这张图表显示,它在3.5V电压下进行了测试,而固定电压为3.3V:有了这一点,再加上监管机构声称拥有100%的占空比工作能力,假设结果范围是3.4V-4.2V--完全在大多数可充电锂离子电池的工作容量之内(不说LiFePO4或其他更奇特的品种)。
USB设备是否与3.4V-4.2V兼容?尽管USB规范将USB VCC定义为4.75-5.25范围(IIRC)的电压,但有些设备实际上并不需要那么多-许多设备将5V馈入线性(有时是开关)稳压器,将电压降至3.3V,甚至更低。我已经成功地从3.4伏到4.2伏运行了基于CP2012的USB-UART加密狗、USB-ISP加密狗,甚至Wipi加密狗和其他一些设备(如闪存驱动器和USB集线器)。不过,我绝对不会尝试从这个角度给智能手机充电--这才是真正需要5V的地方(因为手机的电池充电器不是设计成用锂离子电压工作的,所以他们需要提高电压,才能达到4.2伏的电压阶跃要求)。Tl;DR-在这里,加强训练实际上是经济的。例如,我也不会给USB3G调制解调器供电。
PI Zero上的40针插头被ZeroPhone主板从两侧阻挡,因此您不能实际插入可能需要5V;-)在前板和后板上的帽子,没有实际需要5V的设备-大多数设备要么从3.3V工作,要么从VBAT工作。
HDMI端口的VCC旨在为EDID EEPROM(以便可以从中读取监视器的特性)或HDMI-to-Anywhere适配器供电。嗯,到目前为止,我确信在或多或少的现代监视器中使用的EEPROM中没有一个实际上需要5V-只有5V的EEPROM似乎已经过时了,因为与接受大范围输入电压的EEPROM相比,生产它们并不完全经济。无论如何,这是一个要求不匹配,我没有意见的适配器-他们可能需要5V,而不是更少的伏。
我不记得在哪里了,但我在一些后来消失的Raspberry Pi文档或Raspberry Pi论坛上读到过,VDD_BAT可以接受广泛的电压范围,包括锂电池范围(这是有道理的,因为它必须输出的电压相当低,大约是1V?)。
因此,USB设备的供电存在问题,HDMI也可能存在问题。事实上,还有更多的问题:
在电池充电时用锂电池给东西供电是不好的做法,这可能会导致充电周期永远不会正常结束,基本上,无论你重新充电的是什么,充电器都会为你供电,充电器充其量也会对此感到困惑。我听说了一些关于电池可能过度充电的事情,我对这个话题不太了解,无法确认这是一个可能的后果,但这是值得注意的事情。
必须有一个低压切断,这样才能。在某一点上,如果充电器未连接且电池电压过低,所有电源都会关闭,直到电池重新启动。虽然充电和放大器保护电路有2.5V的截止电压,但这还不够-PI Zero将在此之前很久进入循环重启状态。
如果您从Liion电压为PI Zero供电,则需要注意不要并联5V,也就是说,如果电池连接到PI Zero的40针接头,请勿将5V的MicroUSB电缆连接到PI Zero的USB端口!最好的情况是电池的保护电路会跳闸(这就是为什么我强烈推荐你有一个)。ZeroPhone通过使PI Zero上的MicroUSB端口不可访问来解决此问题,并将其隐藏在连接前板和后板的6针接头后面。
ZeroPhone是如何解决这些问题的呢?还需要什么才能让所有的工作都像它必须的那样好呢?让我们看一下框图:
有两种操作模式需要考虑-当ZeroPhone由锂离子电池供电时,以及当它连接到充电器时。当它连接到充电器,这是我们的最大利益不是继续从电池供电的一切,因为电池将不能充满电。因此,";电池/USB切换";模块负责这一点。这是它看起来的样子:
下面是对该电路的深入描述。实际上,当5V充电器连接到MicroUSB端口时,Pi Zero实际上是由5V供电的,因此它不会加载电池,可以平静地充电(另一方面,GSM调制解调器直接连接到VBAT,因为它无法忍受5V-HAVAY还没有找到解决这个问题的好方法,但充电器似乎仍然能够很好地完成对电池的充电)。这也可以作为HDMI电源任何可能问题的解决方法-如果设备需要5V,您可以通过将ZeroPhone插入充电器来解决它,这样HDMI电压就会上升到5V。
现在,关于软件电源开关模块-它关闭系统的电池,它是从PI零点控制的。它的主要功能是起低压断路器的作用。想法很简单-在Linux方面,有一个后台程序可以跟踪电池电压(可以从两个来源获得-GSM调制解调器和ATMega,ATMega通过电阻分压器获得系统电压)。不过,目前还没有对此开关的软件支持--能够进行此类操作的守护进程尚未编写,主要原因是:1)GSM堆栈尚未集成到ZeroPhone软件中,因此还没有一种一致的方式来显示GSM调制解调器的电池电压跟踪功能2)ATMega固件不会显示电池电压3)必须有某种用户界面来通知用户,而pyLCI不会提供电池电压跟踪功能(2)ATMega固件不会显示电池电压3)必须有某种用户界面来通知用户,而pyLCI不会提供一致的方式来提供电池电压跟踪功能(2)ATMega固件不会暴露电池电压3)必须有某种UI来通知用户,而pyLCI则不会。然而,我们最终还是会到达那里的。
现在,关于为USB设备供电-不幸的是,在这样的设置中,升级是必不可少的:
然而,在ZeroPhone上,它只有在确实需要5V才能为某些东西供电时才会启用,因为它的电源是由软件控制的,因为电源开关-因此电能仍然不会浪费=)。
因此,您不会想要阅读所有这些内容,而是希望以一种更有效的方式为您的Pi Zero供电,这样您就可以获得额外的一两个小时的运行时间。这些要求是什么,我的建议是什么?
确保你使用的是受保护的电池,或者在你正在使用的充电器上有保护电路。如果它有单独的OUT+/OUT-和B+/B-触点,您很可能在充电器出口上有保护电路,否则,请使用单独的保护电路,或者使用内置在电池中的保护电路(如果有)。即使你不使用踏步跑,这一要求也适用。
使用切换电路,它将使您的电池充满电,并在HDMI出现问题时提供帮助。它很简单-一个P沟道MOSFET(我用IRLML6401),一个肖特基二极管(我用SS14,我猜1N5819也可以)和一个电阻器(10K对我来说很好)。如果你不想自己采购零件和焊接它,我有20个小电路板与那些组件已经上,我可以卖5美元/每个(打扰一下,我去开了一家TIndie商店与这些,但请随意PM我订购一个或两个之前它的设置=)。
如果你有一个可访问的USB端口,那才是你真正需要升级的地方。否则,您需要确保重新通电的USB设备在内部与此电压兼容(不过,最糟糕的情况是,它根本无法工作)。
如果40针接头上连接了锂离子电池,请确保不要将5V的电缆连接到MicroUSB端口,反之亦然。
我想这就是为什么我以前没有写过这篇文章的原因--因为我不得不写那么多文字才能把这篇文章写得像我想要的那样好。无论如何,我真的希望这能帮助外面的创造者,那些想要像我一样制造Raspberry Pi驱动的便携式设备的人=)