題:
Arduino中的最低功耗
nemewsys
2015-01-21 18:31:26 UTC
view on stackexchange narkive permalink

我到處都是Google搜索,而且我知道一些使ATmega328不成為動力豬的技巧。我正在使用 Arduino Nano V3.0

但是,我沒有發現最低消耗量是多少?

我的項目包括一個Arduino,它將每10秒喚醒一次,並通過藍牙(BT)掃描現有設備,如果未列出一個特定設備,它將點亮LED 5秒鐘,然後再次進入睡眠狀態。

總和:

  1. 睡眠10秒鐘

  2. 喚醒

  3. 掃描BT設備

  4. 如果設備ABC在列表中,請轉到1。

  5. 點亮LED

  6. 延遲5秒

  7. 轉到1。

  8. ol>

    對於藍牙我將使用 NRF8001 ,因為它是到目前為止我所知道的最高效的BT模塊。帶有 500mAh電池的BT模塊可持續使用一年嗎?有沒有人嘗試過可以分享他的經驗的? ATmega328是否適合此uC?我之所以使用它,是因為我已經有代碼/庫。


    創建新標籤'nrf8001'至少需要150聲望。嘗試從現有標籤列表中進行操作。

在Arduino功耗方面,我見過的最好的方法:http://www.gammon.com.au/power在“掉電睡眠模式”下,ATmega電流可降低至100 nA。其餘時間取決於電路的其他部分以及您可以保持睡眠時間的百分比。您可能需要重新考慮您的LED:如果在20%的LED中,每10秒點亮50秒,即有50%的“開啟”時間,則僅LED會在50小時內消耗500 mAh。該鏈接中的人發現,每秒閃爍一次LED 5-10ms足以使其可見。
值得一看的是,如果您將nrf51822結合使用BLE和BLE,並且沒有ATmega,可能會做得更好。
一年= 8765小時。因此1年壽命的平均耗電量為500 mAh = 500 mAh / 8765h = 57 uA。 |高效的現代LED在1 mA(可能在0.1 mA)下很有用。 [最佳的LED在20 mA時為30 Cd +,因此在0.1 mA時平均為150 mCd,您的眼腦看起來更像峰值。 |佔空比為1%時的0.1 mA一年= 8765 x 0.1 x 1/100 = 8.765 mAh,約佔電池容量的2%。
六 答案:
mpflaga
2015-01-21 20:59:54 UTC
view on stackexchange narkive permalink

與電源效率有關的問題是:

  1. CPU速度
  2. 電壓
  3. 電源調節器(不供電)
  4. 外圍設備
  5. ol>

    尋址其中的每一個,並且不要過分看它們。或任何子組件。但是請注意,其中一些因素比其他因素更具影響力。

    1. 雖然可以降低速度,但睡覺更實用。正如您已經指出的那樣,您將要做。

    2. 以3V(而不是5V)運行可節省大量資金。請注意,328的工作電壓可低至1.8V

    3. 請勿使用線性穩壓器。大多數Arduino都有7-12V至5V(或3.3V)線性穩壓器。這樣只會消耗電源(也稱為電池)和VCC之間的差異。

    4. 請注意外圍設備。這很可能意味著擺脫不需要的設備。例如,存在於Nano上的USB轉串口芯片。收音機可以運行的最低電壓是多少?必須在規定的電壓下運行。使用盡可能大的電阻值。如引體向上。 500K上拉電流將比10K小。如果太大,任何電容都可能使其變慢。可能是可以接受的。

    5. ol>

      最大的節省之一就是不用線性穩壓器就可以直接用電池供電。 ATmega328P可以從3V降至1.6V的電壓。建議使用掉電檢測器。

      還要注意,所有電池都有自放電率。這將確定電池的最大使用壽命,然後減去設備消耗。

AMADANON Inc.
2015-01-22 04:34:10 UTC
view on stackexchange narkive permalink

閱讀@ j-g-faustus註釋中的鏈接-非常詳盡。 http://www.gammon.com.au/power-它以運行在50milliAmps的股票板開始,並以0.002毫安培結束。

您還需要找到消除BT模塊的功耗-這可能會使arduino的功耗相形見.。 LED也是一樣。

正常的LED大約運行20毫安時(棒球場!)-這意味著@Omer提到的鈕扣電池上200milliAmp-hours / 20 milliAmps = 10個小時的led燈

您可以用萬用表測量功率消耗;將探頭插入電池的+和正常連接的電池之間(當然,您必須斷開電池的連接)-如果使用9v電池,請插入負極,斷開正極,將按扣連接器旋轉90度;然後您可以將一根探針放在電池上,另一根放在(打開的)按扣連接器上。測量Arduino喚醒+ led on + BT連接並發送數據。一切都關閉/空閒/睡眠時再次測量。計算出在每個州要花費多少時間;這將平均為您提供毫安小時。

Russell McMahon
2015-01-28 19:32:17 UTC
view on stackexchange narkive permalink

這些實質上是支持其他答案的註釋:

一年= 8765小時。

因此1年壽命的平均耗電量為500 mAh
= 500 mAh / 8765h
=平均57 uA。
要使500 mAh電池續航一年,您需要平均50 uA以下的電流

高效的現代LED
在1 mA時有用,在0.1 mA時很可能被接受。

最好的LED在20 mA時為30 Cd +,因此在0.1 mA時為150 mCd平均值,您的眼腦看起來更像是峰值。

0.1 mA(在1%的佔空比下一年)
= 8765 x 0.1 x 1/100
= 8.765 mAh
或大約電池容量的2%。

user10490
2018-12-31 01:09:18 UTC
view on stackexchange narkive permalink

在Arduino中輕鬆實現超低功耗BLE涵蓋了使用Arduino IDE和nRF52832芯片對超低功耗項目(即<100uA)進行連續編碼,等待連接或連接並發送數據的過程。

<100uA電流處於最大發射功率,可以通過降低發射功率以及增加通告和連接間隔來進一步降低。忽略LED,使用500mAH電池的壽命應該接近1年。

目前正在努力增加兩個小型太陽能電池(50mm x 30mm)以延長電池壽命。這些便宜的電池(0.60美元)不需要充足的陽光,並且可以在陰涼處或窗戶附近或檯燈下的陽光下很好地工作。

Omer
2015-01-21 19:08:33 UTC
view on stackexchange narkive permalink

Arduino的最低功耗為0mA-只需斷開它的Vcc:)

嚴重的是,當涉及到許多因素時,考慮到所有因素,很難將所有因素都包含在適當的方程式中影響電流消耗的不同因素,例如溫度,濕度,電線的質量和距離等。最好是對功率消耗進行測量,例如,執行步驟1至7的幾個循環,然後取平均值。

請記住,ATmega芯片將根據電壓吸收更多的電流,因此您可能希望將電壓保持在盡可能低的水平。

這是ATtiny(類似Arduino)的一個不錯的項目,它使用CR2032硬幣電池(〜200mAh)運行了 220天,直到它死了,同時以無線方式廣播結果和電池放電率的測量值,因此使用500mAh電池實際上可以達到很好的結果。

cjs
2017-04-06 17:20:13 UTC
view on stackexchange narkive permalink

對於像這樣的簡單應用程序,您可能會發現使用Arduino系統中的較小板/ MCU更為方便。例如, Digispark使用的是 ATtiny85,而不是標準的 ATmega328P。尚不清楚MCU本身會消耗更少的功率(畢竟,雖然您消耗的RAM更少,但它幾乎是相同的CPU內核),但是板上只有一個MCU和一個穩壓器。您仍然可以從USB供電並通過USB(5 V)對其進行編程以進行開發,但對於生產用途,您可以(如其他人所述)在V CC sub>線上提供1.8 V電源,而無需考慮穩壓器,您將不必擔心USB接口(Nano上的FT232,而其他板上的第二個微控制器!)和Nano上其他部件的功耗。



該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 3.0許可。
Loading...