ArduinoLoRa 休眠極限 1.4uA

提示1:銳米所有 LoRa 產品嚴格遵循國標標準的 LoRaWAN 協議
提示2:您可以免費複製,修改和商用本項目,請註明銳米原創
提示3:如果您有其他 LoRa 需求或建議,歡迎聯繫銳米 [email protected]

把低功耗做到極致

超過 80% 的 LoRa 終端將由電池供電,這樣一來,低功耗將是一個核心的技術挑戰,一旦電能耗盡設備將“罷工”,在某些場合電能意味着 LoRa 終端的壽命。

ArduinoLoRa+ 是銳米推出的低成本快速開發 LoRa 終端方案,它能達到行業第一的低功耗(1.4uA),最大限度地延長電池續航能力。

下面,逐步解密 ArduinoLoRa+ 極限低功耗是如何實現的。

組件和材料

LoRa 擴展板LoRa 擴展板 x 1 採購鏈接
Arduino Pro MiniArduino Pro Mini x 1 採購鏈接
電池盒電池盒 x 1 採購鏈接
鱷魚夾鱷魚夾 x 2 採購鏈接

杜邦線杜邦線 x 4 採購鏈接

工具和軟件

Arduino IDEArduino IDE 下載鏈接

下載燒錄器下載燒錄器 採購鏈接
數字萬用表數字萬用表 採購鏈接

技術細節

改制 Arduino Pro Mini

改制 Arduino Pro Mini
如上圖所示,新購的 Arduino Pro Mini 需要卸掉 2 個器件:LDO(低壓差穩壓器)和電源指示燈處的 1k 電阻

燒錄 Arduino 休眠代碼

按下表連接 Arduino Pro Mini 和 下載燒錄器

Arduino 杜邦線 下載燒錄器
VCC 3.3
GND GND
RXD TXD
TXD RXD
DTR DTR

接線圖

設置 Arduino IDE
設置 Arduino IDE
編譯和燒錄下述休眠代碼

#include <avr/sleep.h>

void setup () 
{
  pinMode(LED_BUILTIN, OUTPUT);

  int  count;
  for (count = 0; count < 5; ++count)
  {
    digitalWrite(LED_BUILTIN, HIGH);   // turn the LED on (HIGH is the voltage level)
    delay(200);                       // wait for 200ms
    digitalWrite(LED_BUILTIN, LOW);    // turn the LED off by making the voltage LOW
    delay(200);                       // wait for 200ms    
  }
  
  // disable ADC
  ADCSRA = 0;  
  
  set_sleep_mode (SLEEP_MODE_PWR_DOWN);  
  noInterrupts ();           // timed sequence follows
  sleep_enable();
 
  // turn off brown-out enable in software
  MCUCR = bit (BODS) | bit (BODSE);
  MCUCR = bit (BODS); 
  interrupts ();             // guarantees next instruction executed
  sleep_cpu ();              // sleep within 3 clock cycles of above

}  // end of setup

void loop () { }

連接 Arduino Pro Mini 和 LoRa

如下圖所示,使用杜邦線連接 Arduino Pro Mini 和 LoRa 擴展板,並使用電池供電。
ArduinoProMiniLoRaBattery

LoRa 入網後自動休眠

Arduino Pro Mini 上電後閃爍 LED 共 5 次(表示正常工作),LoRa 模塊入網後將自動休眠。將電流表串聯在上述電路中,測量休眠電流爲 1.4uA
低功耗可達 1.4uA

喚醒技術

很明顯,一個永久休眠的 ArduinoLoRa 平臺是沒有意義的,它需要被喚醒以從事某些工作,這可以通過“定時器”和“外部中斷”來完成。請參考:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章