目次
チャージコントローラによる充電量の制限
M5Stackの充電制御IC IP5306のネット上に分散していたレジスタ情報をまとめる
様によると、「M5Stack BASICのボトム(LiPo:110mAh)を使うときは、スケッチのsetup()の最初に以下のように記載してやることで、充電電流オーバーによるLiPoの劣化をある程度防げるはず」との記載。
setup(){
M5.begin();
M5.Power.begin();
M5.Power.setVinMaxCurrent(CURRENT_100MA) ;
一つの可能性に行きついたが、太陽光パネルをM5Stackに接続した場合、チャージコントローラであるIP5306が過充電・放電を防いでくれるのではないか。
つまり、外部にチャージコントローラは不要になるのではないか
M5StickCのAXP192の電源周りを調べる | Lang-ship によると、M5StickCのチャージコントロータAXP192では、
低電力化
M5StickCでの省電力ノウハウ | Lang-ship によると、画面有り・WiFiありで消費電力を最小にするには、
- ESP32 80MHz(無線利用) で15.4mA
- 画面8以下で 1.0mA
の電流設定が良いと想定する。更にWiFiの消費電力を下げるには、下記が必要。
- 無線送信電力を100mW(20dBm)から50mW(17dBm)、10mW(10dBm)へ下げる
- APモードの場合、ビーコン間隔を最長
esp-idf/esp_wifi.h at 1c7a8b3b712c4020562551f692d0ced8f7470d2c · espressif/esp-idf · GitHubより、
ESP32のソースコードで電力や通信レート・距離に関連する関数を抜粋しておく。
esp_err_t esp_wifi_set_ps(wifi_ps_type_t type);
esp_err_t esp_wifi_get_ps(wifi_ps_type_t *type);
//The default protocol is (WIFI_PROTOCOL_11B|WIFI_PROTOCOL_11G|WIFI_PROTOCOL_11N)
esp_err_t esp_wifi_set_bandwidth(wifi_interface_t ifx, wifi_bandwidth_t bw);
//@attention 2. WIFI_BW_HT40 is supported only when the interface support 11N
esp_err_t esp_wifi_set_vendor_ie_cb(esp_vendor_ie_cb_t cb, void *ctx);
* Level0 represents highest transmiting power and level5 represents lowest
* transmiting power.
* levels as follows:
* - [78, 127]: level0 //20dBm??
* - [76, 77]: level1
* - [74, 75]: level2
* - [68, 73]: level3
* - [60, 67]: level4
* - [52, 59]: level5
* - [44, 51]: level5 - 2dBm
* - [34, 43]: level5 - 4.5dBm
* - [28, 33]: level5 - 6dBm
* - [20, 27]: level5 - 8dBm
* - [8, 19]: level5 - 11dBm
* - [-128, 7]: level5 - 14dBm
esp_err_t esp_wifi_set_ant_gpio(const wifi_ant_gpio_config_t *config);
余談