ESP8266 應用一:智能插座 .4 ACS712 交流電流偵測

事前叮嚀:

  1. 電流偵測在搜尋資料時,請先確認該應用場合是直流還是交流?交流是正弦波,對於量測並不是直接取一次樣就可以搞定
  2. 目前看到網路影片資料,極大多數都沒有查看 datasheet ,在最大值輸出電壓全部都是錯的,5A 只到 3.5V,20A 30A 也只到 4.5V,所以計算公式全是錯的
  3. ACS712 只能使用 5V ,輸出自然也是 5V ,ESP8266 當然不支援,網路上看到可以使用電平轉換或是電阻分壓的方式接入,不過為了更精準的量測最後決定升級成「雙核」版本,使用 Arduino UNO + ESP8266 來達到 ACS712 + WiFi 的目的
  4. 有看到搭配 ADS1115 的使用方式,沒使用過不確定效果

什麼是 ACS712

簡單說就是,一顆測量電流後轉換成電壓大小的 IC ,根據電壓大小即可換算用電

應用硬體線路

 

 

Datasheet 對於量測後輸出電壓的解釋

ACS712 有三個型號 5A, 20A, 30A 我們就看 5A 和 30A 就好了

先看 5A 的

當 Vcc 為 5V 時,輸出 2.5V 為 0 負載,滿負載是 3.5V

然後是 30A 的

一樣 Vcc 為 5V 時,2.5V 為 0 負載,滿負載 30A 時為 4.5V

無論哪個型號,輸出電壓結果都是線性的,換句話說就是可以直接把 「輸出電壓 – 2.5」 然後和極限電壓來做簡單的計算即可得到真正的負載電流

接上 Arduino 的情況

當我使用一顆 ACS712 30A 的偵測器時,接到 A0 的類比腳位,0 負載時理想值是收到 511 左右的值,這是因為 ACS712 0 負載時會輸出 2.5V 的電壓

換句話說,如果使用 30A 這顆 IC 的話,那就只能得到 408 ( (1024/5) * (4.5-2.5) = 408 ) 個取樣,每個取樣為 0.074A,接到 110V 交流電就是 8.1W

也就是說精度就是 0.074A,數值抖一下就是 8.1W 的差異,當然這樣 30A 的情況,如果是 5A 的話因為滿負載是 3.5V 所以就要自己換算一下 (等 Hoyo 自己有用到再換算更新上來 )

AC 交流

  • https://ngsir.netfirms.com/capplets/rms/rms.pdf

交流電負載的情況就是交流電「正弦波」的樣子,因此必須至少取樣一個以上的週期後的數據才能計算電流。

台灣交流電為 60HZ 所以一次的取樣至少不能低於 1/60 = 0.0167 秒 才是一個週期

週期取樣計算 Arduino 程式

SoftwareSerial – Arduino + ESP8266 雙核通訊

Arduino 和 ESP8266 使用 SoftwareSerial 達到雙向資訊交換,需要注意串列鮑率(Baud Rate) 不能設定太低,會掉資料

Arduino 端,接 ACS712

ESP8266

ADS1115

更準的類比數位轉位器以及可應用在 ESP8266 上

1,543 total views, 16 views today

ESP8266 應用一:智能插座 .1 基本介紹

系列文章

成品

本應用提供一個 AC 插座,外露的是溫濕度偵測器,具有 WiFi 連網功能,插座可以把溫濕度資料以及用電量瓦數上傳至雲端 IoT Server,從網頁可以取得溫濕度以及用電量瓦數的歷史資料以及控制 AC 插座開關

雲端控制插座時不須安裝 APP (不裝 APP 必須將 WiFi SSID 寫死,後續使用 SmartConfig + APP 達到設定 WiFi SSID) 只要可以連網路即可進行控制,插座 WiFi 環境也不需要固定 IP 以及設定防火牆,使用 DHCP 連上網即可

IoT Server 自備心跳機制避免網路閒置逾時被剔除連線,每 10 秒進行一次切換,在插座寫上了控制 Onboard LED 的開關功能,藉此觀察網路連線是否正常

溫濕度、電流偵測器的數值都上傳到了 IoT Server,因此需要到網站上取得資料以及控制 AC 開關

實際操作演示

第一版成品,硬體還在,網頁已經不在了,新的成果在下面

新的成果有了完整的出貨平台以及 APP 可以設定 SmartConfig 以及控制,網頁平台繼續保留

規格

  1. 提供一個 AC110V 插座
  2. 偵測用電量 – ACS712
  3. 偵測溫濕度 – DHT11
  4. 將溫度、濕度、用電瓦數偵測數據上傳至主機
  5. 可使用網頁、APP 控制 AC 交流電源開關
  6. 自我檢測當機重新開機

智慧插座製作思路

  1. 選擇 MCU – ESP8266 + Arduino IDE
  2. 確定溫濕度偵測作法
  3. 確定繼電器控制作法 – 安裝 AC110V 方法
  4. 確定電流偵測 ACS712 偵測作法
  5. 整合所有硬體、軟體控制
  6. 將資訊上傳至網路主機 – 將資訊儲存至資料庫
  7. 從網路主機發送指令到 MCU – MCU 接收指令動作
  8. 製作網頁 – HTML (UI) + PHP (REST HTTP API)
  9. 將網頁包裝成 Android & IOS 雙平台 APP – Cordova

所需硬體及價格 (僅供參考 2018/4/12)

  • esp8266 NodeMCU 開發板 – 120
  • 溫濕度感測器 DHT11模組 – 50
  • ACS712 30A – 75
  • 1路繼電器模組 5V 高電平觸發 繼電器擴展板 – 22
  • AC – DC 5V 700mA 電源模組 – 65
  • 插座盒 + 插座 – 70
  • 線材 – 約須 50
  • 約須 450

自己 DIY 是否具有優勢?從目前可以搜尋到的相關產品可以得知,除了大陸產品以外花費的金額是絕對划算,不過功能、擴充上還是自己 DIY 具有絕對優勢

因此可以得知,在 DIY 技能點數點滿的情況之下,是建議自己花時間 DIY ,因為除了花費金額之外功能設計上也可以保有絕對自主

類似產品

1,800 total views, no views today