2025-12-11

修正 ESP32C3 Super Mini WiFi 訊號不穩定問題

最近在下使用 ESP32C3 Super Mini 製作一些裝置,需要使用 WiFi 功能
但發現有一些 ESP32C3 Super Mini 的 WiFi 的訊號非常不穩定,無法連接 WiFi
甚至將 ESP32C3 Super Mini 當作 存取點(Access Point) 連接都無法被找到
因此在下又要找方法解決這個問題

改裝天線

翻查網上一些資料,指 ESP32C3 Super Mini 的天線設計缺憾導致
因此需要自行需要焊接額外的天線來改裝訊號穩定性
在下嘗試以相同方法焊接額外天線,但問題仍然未能解決

改變 WiFi 訊號強度

然後在下繼續翻查資料,發現有人建議使用 WiFi.setTxPower(WIFI_POWER_8_5dBm) 來調整 WiFi 訊號的強度
結果讓 ESP32C3 Super Mini 連接到 WiFi 及 成為 AP 讓其他裝置連接
但網上卻沒有介紹 WiFi.setTxPower 是甚麼功能,因此在下嘗試尋找更多資料

根據功能名稱, 在下估計用作設定 WiFi 的 傳送(Tx) 的 功耗
在下亦發現 <arduino-directory>/packages/esp32/hardware/esp32/*/libraries/WiFi/src/WiFiGeneric.h 定義一些關於 WIFI_POWER_*dBm 的設定

常數名稱 數值代號 dBm值
WIFI_POWER_21dBm 84 21
WIFI_POWER_20_5dBm 82 20.5
WIFI_POWER_20dBm 80 20
WIFI_POWER_19_5dBm 78 19.5
WIFI_POWER_19dBm 76 19
WIFI_POWER_18_5dBm 74 18.5
WIFI_POWER_17dBm 68 17
WIFI_POWER_15dBm 60 15
WIFI_POWER_13dBm 52 13
WIFI_POWER_11dBm 44 11
WIFI_POWER_8_5dBm 34 8.5
WIFI_POWER_7dBm 28 7
WIFI_POWER_5dBm 20 5
WIFI_POWER_2dBm 8 2
WIFI_POWER_MINUS_1dBm -4 -1

dBm值 越大,理論上 WiFi 的訊號越強,同樣功耗越高
但 ESP32 的官方都沒有詳細資料說明這個操作的實際用途

ESP32C3 Super Mini 預設使用 WIFI_POWER_21dBm , 因此設定為 WIFI_POWER_8_5dBm 應該會導致訊號減弱,而且用電量亦會減少
但設定後,反而能夠讓 ESP32C3 Super Mini 連接到 WiFi 及 成為 AP 讓其他裝置連接

總結

在下估計是因為 ESP32C3 Super Mini 預設使用 WIFI_POWER_21dBm 是最大功耗的設定,反而導致無法驅動 WiFi 的功能
但在下使用 USB電量計 測量時,電量卻沒有明顯變化
而在下測試所有 WIFI_POWER_*dBm 都能夠讓 ESP32C3 Super Mini 的 WiFi 功能運作正常;但不使用 WiFi.setTxPower 則無法讓 WiFi 正常使用
因此在下仍然無法了解是甚麼原因導致 ESP32C3 Super Mini 的 WiFi 功能
暫時只能盲目地加入 WiFi.setTxPower(WIFI_POWER_8_5dBm) 來讓 ESP32C3 Super Mini 的 WiFi 功能運作正常

參考資料

沒有留言 :

張貼留言