MySensors设备的电池电源

如果更换电池(C),这首音乐将永远持续下去



这篇专题文章致力于我对MySensors智能家居系统中的自主无线设备的功能的研究。


首先是锂...


而是锂离子和锂聚合物电池。


长期以来,这些来自旧设备的电池堆积在一个盒子里。 我想-这就是所有小型微控制器的通用电源。 而且,3.3-4.2V的电压对于AVR以及各种ESP和STM来说都是极好的。 为了提高可靠性,您可以放置​​所需功率的LDO稳定器,并获得适用于MK和整个外围设备的稳定3.3。



但事实证明,并非一切都那么好。


  1. 电池需要充电。 为此,有必要使其可移动或在设备上添加充电模块 ,这反过来又增加了成本,尺寸和外壳上的充电孔。 而且,给窗外的天气传感器等设备充电并不总是很方便。
  2. 锂电池(通常与大多数电源一样)不适合在低温下使用。 在冬季,安装在窗户上的天气传感器中,电池立即在霜中沉没。
  3. 在长期运行期间,如果未及时监控电池电压,则可以将其“放电至零”,即低于允许值,以确保将其杀死。 因此,您需要防止过度放电的保护措施。
  4. 各种尺寸和容量的电池严重限制了相同外壳中设备的可重复性。 而且旧电池的储备很快就用完了-因此,有必要在新地方购买电池。 而且,事实证明,这种电源的成本非常昂贵,并且每台设备的成本至少增加了2美元(并考虑到充电板等)。 此外,可充电性没有经济性,因为大多数自动控制器消耗的能量很少,并且可以连续工作数月而无需充电。

镍氢电池和其他AA / AAA电池甚至更糟。 它们需要在特殊的充电器中充电,具有“记忆效应”和最初的低电压(1.2-1.3V),并且由于内部电阻的不同而串联连接时,其中一个电池可能比其他电池放电更多,这又导致了变质。


再一次,锂...


现在有圆形的3.0V小型锂电池,我决定放弃这种反复无常而昂贵的电池。


CR2032电池用于大量BIOS计算机,电表和其他带有RTC的设备,手表,计算器和各种玩具。 具有小尺寸和低价格,它们具有3.0V的电压,对于MK来说已经足够,并且其尺寸具有200-250mA / h的体面容量。



但是同样,问题。 事情的事实。 这样的电池的直流电流仅为0.4mA。 如果使用更高的电流加载电池,则电池电压会下降,尽管它可以部分或完全恢复。 典型的Mysensor睡眠模式消耗数微安。 但是在传输模式下-已经约为15-20mA。 同时,新版本的MySensors库迫使设备发送许多数据包-ping,问候,演示,搜索网关或路由器,这导致无线电模块运行时间长,有时数秒。 廉价的中国NRF24L01在大约2V的电压下开始出现故障,有时甚至无法从MySensors进入睡眠()睡眠模式。


结果,一切都可以在新电池上以某种方式进行,但是随着电池放电,通信问题增加,无线电模块开始向空气中大量扩散,从而增加了电池放电量。 最后,电压下降到整个设备停止睡眠的地步,然后进行周期性重启,直到电池完全用完。


根据制造商和电池的“新鲜程度”,设备可以工作几天到一个月。 如果您在速卖通上购买便宜的电池,那就有彩票了。 过渡到容量更大的CR2450和CR2477可以节省一些时间,但他们不知道如何长时间提供大于0.5mA的电流。


一段时间以来,我尝试了升压转换器 ,该升压转换器可使电池保持MK的正常工作电压,直到耗尽最后一块能量为止,但它们的静态电流很小但非零,这降低了整体使用寿命。


小手指-小手指



现在是时候冷静下来并采用“高级”中文体验了,可以通过三个AAA(不包括电池)为所有设备供电。 但是他决定寻找至少有两个1.5伏电池的解决方案。


我停下了增加稳定剂NCP1400的方案:



在生产期结束时,两节串联碱性AAA电池最初提供2.7-3.1V的电压,从而将电压降至1-2V


当NCP1400关闭时(控制输入为低电平),电池电源立即通过L1线圈和肖特基d1二极管流向MC,最小压降约为0.1V。 如果将高电平施加到控制输入,则NCP1400稳定器启动,并向MK提供3.3V电压,电池总电压为0.8V至3.1V。


操作算法如下:


  1. 控制器主要在PowerDownMode模式下,包括NRF24在内的所有外设都被禁用,或者也处于低功耗模式。
  2. MC通过计时器中断或外部中断(例如,通过按钮中断在开关中)退出睡眠模式,然后测量电源电压VCC(AVR控制器的内置功能)。
  3. 如果电源电压大于3V(或足以使外围设备稳定工作的其他电压),则NCP1400不会启动,并且所有处理都将在此电源电压下进行,直到下一个睡眠周期为止。
  4. 如果电压低于3V,则NCP1400稳定器启动,电源电压设置为3.3V,对设备执行所有常规处理,包括通过NRF24发送数据
  5. 此外,如果电压高于1.7V(足以使MC从睡眠模式退出的电压),则NCP1400将关闭,直到下一个唤醒周期。
  6. 如果电压小于1.7(MK的最小电压),则NCP1400直到控制器重新启动或电源电压降至0.8V以下(NCP1400的电压)时才会关闭。

该算法的示意图
#define MY_RF24_CE_PIN 9 #define MY_RF24_CS_PIN 10 #define MY_RF24_POWER_PIN 8 #define MY_RADIO_NRF24 #include <MySensors.h> #define PIN_NCP1400 2 #define CHILD_ID_VCC 0 MyMessage msgVcc(CHILD_ID_VCC, V_VOLTAGE); bool low_power = false; int readVcc(); // void before(){ pinMode(PIN_NCP1400,OUTPUT); digitalWrite(PIN_NCP1400,HIGH); } void presentation(){ sendSketchInfo("NCP1400 test", "1.0"); present(CHILD_ID_VCC, S_MULTIMETER,"mV"); } // void loop(){ int vcc = 1000; if( low_power == false ){ vcc = readVcc(); digitalWrite(PIN_NCP1400,HIGH); //  NRF1400 } if( vcc < 1700 )low_power = true; //      NRF1400 send(msgVcc.set(vcc)); //  VCC if( low_power == false )digitalWrite(PIN_NCP1400,LOW); //  NRF1400 sleep( 300000 ); //      5  } /** *     VCC  */ int readVcc() { long result; // Read 1.1V reference against AVcc ADMUX = _BV(REFS0) | _BV(MUX3) | _BV(MUX2) | _BV(MUX1); delay(2); // Wait for Vref to settle ADCSRA |= _BV(ADSC); // Convert while (bit_is_set(ADCSRA,ADSC)); result = ADCL; result |= ADCH<<8; result = (1100L * 1023)/result; return((int)result); } 

测试中


在实践中,我们如何处理当前的消耗? 我将电路连接到LBP,并测量电流消耗和输出电压。



NCP1400关闭时的空闲电流为1-3 V,输入电压为0.3μA。 甚至低于数据表中声明的0.5mkA(或者在此范围内,我的设备给出了很大的误差)。 但是当稳定器在没有负载的情况下打开时,电流却出乎意料地大-超过0.3mA。 事实证明,上拉电阻器R1引起很大的消耗。 将R1额定值从10K替换为150K,我在3.0 V的输入电压下得到30μA,在1.0 V的情况下得到44μA。


如果完全卸下电阻器R1,则在未将此输入连接到MC的情况下,稳定器将持续消耗约11μA的输入2V电压。
现在,我将微控制器与NRF24L01和HUD21传感器连接,并根据上述算法进行工作:


  • 输入电压3.0V-活动模式(NCP1400开启)32mA,睡眠模式(NCP1400关闭)9mkA
  • 输入电压2.0V-活动模式(NCP1400开启)51mA,睡眠模式(NCP1400关闭)6mA
  • 输入电压1.7V-主动模式(NCP1400开启)63mA,睡眠模式(NCP1400关闭)5.6mA
  • 输入电压1.0V-NCP1400持续打开-睡眠模式197mkA
  • 输入电压0.5V-NCP1400持续接通-397μA睡眠模式

减少功率会增加有功电池的消耗。 实验选择了1.7V的电压。 低于此值,微控制器可能已经不稳定。 当电池电压降至此阈值以下时,NCP1400稳定器将不再关闭,并且睡眠模式下的功耗非常高。 在这种模式下,电池不会持续很长时间,但是有足够的时间来更换它们。


在腺体中的体现


为我的智能家居设备设计通用电源板




尽管成品设备不像锂电池那样紧凑,但对我来说结果还是不错的。 特别是考虑到Galomart,Kastorama,Leroyle等商店中碱性电池的成本。



目前,我在家中使用Musensors / MajorDoMo系统中的十几种不同的设备来监视温度,土壤湿度等。


在我的博客上阅读更多内容

Source: https://habr.com/ru/post/zh-CN465393/


All Articles