低成本快速開發 LoRa 終端:從 1 到 10000

“生物是在遺傳、變異、生存鬥爭中和自然選擇中,由簡單到複雜,由低等到高等,不斷髮展變化的” — 《物種起源》 達爾文

提示1:銳米所有 LoRa 產品嚴格遵循國標標準的 LoRaWAN 協議
提示2:如果您有其他 LoRa 需求或建議,歡迎聯繫銳米 [email protected]

智聯萬物,讓生活更美好,這是 LoRa 物聯網的美好願景。

現在,上百種傳感器(執行器)即將接入 LoRa 物聯網,這給產業界帶來一個挑戰—低成本快速開發 LoRa 終端

爲應對該挑戰,我們推出一種“革命性”解決方案—ArduinoLoRa+傳感器(執行器)

本方介紹批量生產 LoRa 終端的方法,實現從 1 到 10000。如果您需要從 0 到 1 打造原型機,請參考:

低成本快速開發 LoRa 終端:從 0 到 1

硬件開源,讓您按需設計 LoRa 終端尺寸

Makerbot 公司基於 Arduino 設計了 3D 打印機,很明顯,它將 Arduino 必需的所有元件集成到一個自己設計的開發板上。

基於 Arduino 設計 3D 打印機

Makerbot 公司 Arduino 3D 打印機
Makerbot 公司 Arduino 3D 打印機
同樣,一旦完成了 Arduino LoRa 終端的原型機。量產時,我們完全可以按需設計 PCB:提取必需的元器件(AVR單片機,LoRa 模塊,傳感器等),輕鬆製作理想尺寸的 PCB。雖然外形與 Arduino 開發板不同,但完全兼容。

製作與 Arduino 硬件兼容的 PCB 非常簡單。事實上,Arduino 官方提供了電路圖與 PCB 佈局設計,供大家下載使用。

Arduino UNO 硬件開源資料
Arduino Pro Mini 硬件開源資料

僅¥3的AVR單片機, LoRa 終端批量低成本

根據行業經驗,如果 LoRa 終端僅小批量生產(<100),最好的方案是選用合適的 Arduino 開發板(常見爲 Arduino Pro Mini),因爲定製 PCB 和焊接生產是一件“費時費力又容易出錯”的工作。

當然,如果 LoRa 終端需要大批量生產(>1000),這才需要考慮定製 PCB—節省 Arduino 開發板上不需要的元器件。

所幸的是,如 1 介紹的,定製 Arduino 兼容的 PCB 唯一需要的是一個合適的 AVR 單片機,而它批量價僅 ¥3。

從 0 到 1
從0到1
從 1 到 100
從 1 到 100
從 100 到 10000
從 100 到 10000

LoRa 終端休眠僅1.4uA,2節AA電池可工作數年

如果 LoRa 終端長時間使用電池供電時,例如在遠程監控的場景下,此時電池或太陽能是唯一的選擇,功耗就變得很重要了。

降低功耗是一把雙刃劍—越趨向理想化,開發代價越大。從易到難的實現辦法如下:

更換開發板且降低電壓,難度 *

Arduino UNO 工作電流爲 48mA,而 Arduino Pro Mini 工作電流爲 8mA,UNO 開發板的 USB 接口芯片,點亮的 LED 和 3.3V
穩壓器消耗了 40mA。
同樣的 Arduino Pro Mini 電路板,當供電從 9V -> 5V -> 3.3V 切換時,工作電流相應從 42mA -> 22mA -> 8mA。

斷開高功耗部件,難度 **

亮着的 LED 會消耗 2.1mA,光敏電阻會花費 3.3mA 電流,傳感器/執行器需要更大的電流。除了仔細設計硬件外,軟件要在這些部件“不需要工作”時斷開電源。

Arduino空閒時休眠,難度 ***

以下 2 種辦法都能將 Arduino 功耗降到 1mA 以下,它們都讓 Arduino 進入休眠,只是喚醒的辦法不同。

定時器

使用 Narcoleptic 庫是一件容易的事,對於延時 1 秒,相比 delay(1000) 只需要修改爲 Narcoleptic.delay(1000)

外部中斷

設置休眠模式爲 SLEEP_MODE_PWR_DOWN,類型爲 LOW 的引腳中斷可以喚醒 Arduino。

關閉一些模塊,難度 ****

關閉不使用的 AVR 功能模塊可以節省少量的電能,實驗發現關掉 5V,16Mz 的 Arduino Pro Mini 的所有模塊節約 1.5mA。

降低時鐘頻率,難度 *****

使用 Arduino 的 Prescaler 庫可以降低時鐘頻率,頻率與功耗的關係大致如下(1MHz是拐點):
16MHz=7.8mA,8MHz=5.4mA, 4MHz=4.0mA,2MHz=3.2MA, 1MHz=2.6mA
當然,降低頻率將使 Arduino 運行更慢,這可能會成爲一個問題,需要仔細考慮。

如下圖所示(實物拍攝),ArduinoLoRa+ 的低功耗可達 1.4uA,這不僅是行業第一的超低功耗,而且達到了器件極限 ArduinoLoRa 休眠極限 1.4uA
在這裏插入圖片描述
如下圖所示,2 節 5 號鹼性電池容量約 2890mAH,因爲溫溼度短時間變化不大,設每 10 分鐘採集,電池可工作近 6 年。
終端電池壽命計算器
在這裏插入圖片描述

靈活地燒錄固件,降低 LoRa 終端製造成本

內置 Bootloader 是 Arduino 開發板最大的優勢之一,它通過串口即可實現 MCU 爲自己編程,這也是 Arduino 開發板從來不需要“編程器”的原因。

批量生產中仍然可以保留 Bootloader,這樣,使用簡單的 2 根連線(RxD 與 TxD )即可實現產品燒錄固件。

許多供應商銷售已經裝好 Arduino Bootloader 的 AVR 單片機,如果價格合適,這是最便捷的方式。

當然,也可以自己動手爲 AVR 單片機燒錄 Bootloader(俗稱“燒裸片”),只需要採購一個燒錄器,選擇對應 AVR 型號和電氣屬性(3.3V or 5V, 8MHz or 16MHz),點擊:Tools -> Burn Bootloader

如果用戶需要最大限度地使用 AVR 閃存空間(Bootloader 佔用 256B~4kB,具體取決於 AVR 類型),或者不想使用標準的 Arduino 方式中的 RxD 與 TxD的 2 根連線上傳程序(比如該接口被佔用),那麼可以直接使用 ICSP 接口加載已經編譯好的程序。這需要使用編程器,如 USBasb 或 USBtinyISP。

借力Arduino IDE,輕鬆升級 LoRa 終端

得益於 Arduino IDE 的封裝技術,通過隱藏大量的技術細節和簡化開發流程。它讓聰明的“玩家”總是使用簡潔,高效的代碼,設法讓 Arduino 去做更有趣,更復雜的事情。

升級固件是 LoRa 終端生命週期中重要的一環,可能的原因有:修復bug,添加功能,升級協議,安全補丁,優化性能。

如“瑞士軍刀”般靈活的 Arduino IDE 爲升級固件提供便利。

  • 大部分情況下,LoRa 終端的 AVR 單片機保留了 Bootloader,升級固件只需要使用串口工具連接 PC,使用 Arduino IDE 上傳即可。

  • 如上節所介紹,也有少數情況,LoRa 終端的 AVR 單片機沒有 Bootloader,這得需要編程器升級固件。所幸的是 Arduino IDE 支持對 AVR 單片機編程,在 Tools -> Programmer 中選擇對應的編程器,點擊 Sketch -> Upload Using Programmer 即可啓動。

  • Arduino IDE 甚至提供實用程序加載到一塊 Arduino 開發板,使它變爲一個編程器,實現給 AVR 單片機升級固件。當手頭缺少編程器,此方法也可以解燃眉之急。

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