DIY 智慧排插,支持遠端控制,自訂排程以及耗電監控

KHG KH全自動監視控制器
台灣總代理 海洋夢水族館

samuel0318

🏅🔰🔰
註冊時間
2018/05/28
文章
230
按讚
217
經驗點數
356
位置
新北土城
金幣
914
魚缸大小
2 呎底部過濾缸
系統類別
柏林+厚砂
生物種類
魚, LPS
這是我 DIY 路上最期待的一個作品,可以自動化控制我的設備,或是加以排程,以完成餵食連動開關,換水連動開關,還可以監控耗電歷史數據,喊了一年多,從收集零件,修修改改,測試再測試,總算完成了,呈現給大家。

這是8個插座的排插盒
PH84_200529142335_5aa74.jpg


電源線和無熔絲斷路器,耐 15A 電流 (實測最大電流在 8A 以下,應該夠用)
PH84_200529142335_2fa61.jpg


配線規劃,黑:火線,白:地線,綠:接地線
PH84_200529142335_b1c8a.jpg



配線規劃,加上繼電器控制板,紅色也是火線,下面三個繼電器設定為定時器類電器(燈具類),規劃為常開 (NO),以避免上電後就直接通電
上面五個繼電器設定為通常通電設備,如主馬造浪蛋白冷水機,規劃為常閉 (NC),這樣即使控制器失效,還是可以通電,只有在特定情況才會配合開關
PH84_200529142335_f2512.jpg



完工圖
火線輸入後,先通過耐15A的無熔絲斷路器,分別供電給繼電器板 COM 端,繼電器板另一端接上插座,最後再走白色地線回去。
內部交流電線採用1.6mm 單芯線,直流部分是用杜邦線,但是擔心鬆脫,混合使用排針,熱縮套,束線帶,熱熔膠以及耐熱膠帶固定並絕緣。

PH84_200529142336_83d3a.jpg


內部其他組件
  1. MW RS-15-5:左上角這個 110V AC 轉 5V DC, 拉到麵包板上的供電排,給繼電器板,EPS32板以及 PZEM 板提供5V 3A供電 (原本只想用上圖較便宜只有 700mA 的變壓器,但因為一些誤解,所以加高規格為明緯的電供
  2. EPS32板:這是自帶 WIFI, 藍芽 的 Arduino 板,我把我在排插相關的程式寫在這裡,主要是雲端 Server透過 MQTT 接口,控制各個繼電器來開關,並且將 PZEM 所採集的電力數據上傳至雲端 Server
  3. PZEM: pzem-004t-100a, 透過 CT 電流表,以及並聯 AC 電源來量電壓電流,並且會計算瓦數和耗電度數, EPS32 再透過 TTL (Modbus-RTU) 向它讀取資料,或者是將耗電度數重設。由於 CT 只有一個,我把它勾在無熔絲斷路器之後,測量到的會是這八個電源插座的所有耗電量。

雲端 Server,採用 Auto Tank: 透過自建雲端服務來監控魚缸 pH 及溫度 這篇中的雲端架構

控制面板
  1. Timer Switch: 可以看(1)主燈,(2)藻缸燈,以及(3)10吋排風扇的開關狀態
  2. Manual Switch: 可以開關 (4)造浪, (5) 主馬 (6) 蛋白 (7) 冷水機 (8) 保留
  3. Marcos: 巨集指令,可以執行餵食, 換水, 以及暫停蛋白兩小時復電的動作 (投藥用,避免蛋白暴衝)
PH84_200529142336_1cf5e.png


電力監控 Dashboard

可以看電壓V, 電流A, 功耗W, 累積耗電量 kWh, 以及各個開關的開啟或關閉的狀態
下圖,我將 Power, Current 和 temperature 擺在一起,可以看到每當 Power 和 Current 突起一根針的時候(持續約八分鐘),也就是冷水機壓縮機的工作時間,冷水機是海利-300A, 1/4HP, 對應 150L,運作的時候又吵,又熱 (這下可以量出是 300W ),所以我接下來會判斷這個時間,配合將排風扇打開,因為我不想排風扇整天開著,34W 的功耗一個月也要一百元的電費啊!配合開關,可以省下 1/5 的電費。

PH84_200529142336_ffe0a.png


Node-Red (Server Backend 邏輯)

這是用 Node-Red 來拉定時器的流程圖,幾點開,幾點關,都是在這裡設定。timer 3 則是每半小時開,再關半小時,這樣循環。
是的,你發現了嗎?我的開關指令是由雲端 Server 下發給家裡的電器進行開關喔,那麼一定會想到這樣安全嗎?或是網路斷線了怎麼辦呢?這個問題我問自己很久,其實可以的,在量子電腦普及前,做好網路安全就可以。但是...這個 ESP32 對於 TLS 加密解密的支持不夠,記憶體和計算能力都有限,我沒辦法用 TLS 來加密。所以以後 Server 會搬家到 Rasperberry Pi 4 小盒子, 跟排插放在同一個內網,這樣會比較安全,遠端連線的話就用 SSH Tunneling 打通,即可在世界各地連回家監控。
PH84_200529142336_0de2e.png


下圖則是各個手動開關的流程圖,status/xxx 是由排插發出,Server 接收,cmd/xxx 則是反過來Server發出, 排插接收。這樣可以同步開關的狀態。
PH84_200529142336_52a0c.png


下圖是耗電的紀錄,以及重設累積耗電量

PH84_200529142337_5a8b9.png


下圖是各種巨集
  1. 餵食
    1. 關主馬 5, 造流 4, 蛋白6, 10 分鐘復電
  2. 換水
    1. 關主馬 5, 造流 4, 蛋白6, 20 分鐘復電
  3. 關蛋白6, 2小時
    1. 投入西肯傷口癒合劑使用
PH84_200529142337_28c97.png


耗電數據分享

最後,附上我的二尺底濾缸150L,每個電器耗電數據
冷水機 壓縮機運作時 327W(待機僅耗電0.7W)
HQI 主燈 148W
藻燈 16W
排風扇 36W
造浪 3W
蛋白 14W
主馬 21W

24 小時耗電: 4.47 度 (5/28的數據,陰雨天) ,以一度五元電費計算,一個月大約是 670 元電費。

重要補充:開放原始碼
 
最後編輯:
真的是好棒棒(y)
我可以說是魚缸耽誤了你嗎?:p
 
最後編輯:
真的是好棒棒(y)
我可以說是魚缸耽誤了你嗎?:p
這不算耽誤,平台軟體部分算是我的本業,只是家裡有魚缸可以讓我實作。
 
真的是太屌了!
 
由於魚友私下問些問題,有些補充說明可分享給大家

「成本」
這個排插因為屬於研發性質,成本不好估算,應該就是幾千元。原因在於試驗性質,所以很多料都多備了一些。

「需要 Server」
排插是屬於被動控制的,需要搭配我部署在亞馬遜的 Server 才能完成定時控制,制動控制等智慧功能。等亞馬遜一年免費試用到期,我會把 Server 移植到樹莓派4上面,跟排插一起放在家裡就好。

「需要焊接?」
這裡面幾乎沒焊接,我大多採用麵包板,和一些連接器。

有些網路上的教學文,可參考看看

有興趣研究的話,歡迎討論
 
真的十分精彩,版主本業是自動控制嗎?
 
「更正啟示」
內文原本是明緯的 RS-35-5,修正為 RS-15-5,小巧迷你( 62.5*51*28 mm),可塞進75mm高的排插盒,3A 也剛好夠用
PH84_200723102837_7e766.jpg
 
是否可以使用
用 NAS
看是要把NAS 推一個 Web 出去
Web 可以加入魚缸的監控等
還可以監看控制等
 
是否可以使用
用 NAS
看是要把NAS 推一個 Web 出去
Web 可以加入魚缸的監控等
還可以監看控制等

我的理解是把 Server 裝在 NAS 上是這樣嗎?
我是打算裝在 Pi4 上,數據庫放在64G SD 感覺還夠用。
而且我手邊也沒有 NAS 可用
 
週日人在外,收到訊息顯示目前智慧排插盒連線狀態斷斷續續(MQTT連線),原本不以為意,想說網路壅塞而已。
晚上十一點才回到家,看到主燈還亮著,摸著排插盒發覺不妙,裡頭溫度很高,那麼 ESP32 熱當機的可能也非常高。
從新上電後 ESP32 沒有上線,想想不妥,就把盒子打開,這才發現繼電器第一孔的 COM 端燒焦了

PH84_200831094739_33b20.jpg


PH84_200831094739_120bd.jpg


PH84_200831094738_d68fc.jpg


第一孔接的是 150W 的 HQI, 而繼電器的耐受是 250V 10A, 可能是因為瞬間電流超過 10A 而燒毀,但這是為什麼?
150W 了不起就 1.4 A 而已啊,我再看看電流圖

PH84_200831102801_2669e.png



在故障之前,發現因為冷水機的壓縮機的啟動,總電流已經超過 10A,雖然不知道為何燒毀在第一孔的 COM, 但這也夠嚇人了!

改良方案:
1. 冷水機不再接入智慧排插盒,改獨立接電
2. 15A 的無熔絲開關,要改為 10A
3. HQI 線路,單獨加上保險絲
4. 加強散熱
--> 4.1 盒子打孔
--> 4.2 加上風扇
--> 4.3 變壓器要外置
5. Server 改至於家庭區域網路內,減少網路塞車的影響

PH84_200831164602_51b27.jpg
 
最後編輯:
返回
上方 下方