關於RTL8722DM 的 DeepSleep mode

想請問關於使用Ameba23,以及在AmebaPowerSave下的DeepSleepMode範例碼,進行節電模式下的電流量測實驗的問題。

有兩種量測結果,一是當我透過程式碼關閉LED_G及LED_B,在按下reset鍵使板子重置後進入沉睡時,電流會由4.8mA開始上升至10mA左右才停止上升,並且原本開發板上已關閉的綠、藍燈會自己隨著電流變化而重新點亮。

二是在我沒有關閉LED_G及LED_B時,量測到的電流就是穩定維持在10mA左右,並在我喚醒開發板時,(有使用藍牙進行連線下的)電流量測到的是70mA左右

我關閉LED_G、LED_B的方式就是在setup()裡加入以下四行而已:
pinMode(LED_G, OUTPUT);
pinMode(LED_B, OUTPUT);
digitalWrite(LED_B, LOW);
digitalWrite(LED_G, LOW);

想請問

  1. 10mA的電流好像有點大,不知道有沒有量測低於這個數值的經驗分享?
  2. 是否有能夠完全關閉不使用之元件的方法,能達到更省電的效果?(至少能穩定關掉藍綠燈也好)

謝謝

您好 @thLU,

歡迎來到 Ameba IoT 官方論壇。

最近我也做了 AMB82-MINI 的 DeepSleep Mode電流測試,有一些經驗可以跟您分享:
首先,官方數據手冊中的數值(以uA爲單位)應該是單純測試模組的耗電量,而非開發板。
其次,開發板上有很多耗電元件,無論是您説的LED_G還是LED_B,雖然軟件層關掉了這些LED,但是電路還是導通的,也就是説會有電流流經這些原件造成耗電量增加。
所以,我這邊給您的建議是,去看一下AMB23的原理圖,如果你想測的是流經3v3電壓源的總電流量,建議首先desolder掉所有以3v3供電的元件,確保3v3只供電給模組。這樣再測量從voltage regulator降壓到3v3之後的電流才是真正的模組耗電量。具體做法可以參考我提供在 AMB82 FAQ 的步驟。

所以總結一下:
1.、測試方法可以參考上面提供的鏈接
2、關閉原件不能做到完全排除耗電因素。應該desolder。

謝謝