太陽能板發電量監控(ThingSpeak)
目的
用較不耗電的方式監控太陽能板的發電量,將數據上傳到 ThingSpeak.com 網站
緣起
前陣子買了一塊 10 瓦的太能板,搭配一顆 12 伏特鉛酸電池以及一台充放電控制器,為了能夠監測其在安裝位置上的發電量,我們需要能夠量測太陽能板的輸出端電壓以及流出的電流,將此數據上傳到 www.thingspeak.com 好遠端監測數據。
設計
在太能板正極輸出和充電控制器之間串聯一個 10 歐姆、5 瓦的水泥電阻,在電阻的兩端各用一組分壓電路(100 k, 500 k)將電壓除以 6 倍,然後分別接到 Arduino 的 A0, A1 腳位,這樣 Arduino 就可以量到太陽能板的輸出電壓與電流,然後透過 D1 mini ( ESP8266) WiFi 模組連接無線網路 AP ,將此數據傳送到 thingspeak 網站。
因為 Arduino + D1 mini 會持續的消耗電能,為了減少其耗電量,我們需要一個電路,週期性的送電啟動 Arduino 和 D1 mini ,其設計如下:
12 伏特鉛酸電池先透過 2 M歐姆的電阻對 C1 電容充電,當電壓超過 NMOS_1 的啟動電壓時,NMOS_1 的 D 和 S 極就會導通,讓 PMOS 電晶體的 S 和 D 極導通,12 伏特的電壓就開始供電給 Arduino 和 D1 mini ,同時充電 C2 以保持足夠的運作電能。
Arduino 被供電啟動之後,先將 D1 mini 控制在重置的狀態,先等待五秒讓電壓上升更多,然後再啟動 D1 mini ,完成資料的讀取與傳送後,將 D5 腳位的電壓設定為高位準( 5 伏特),促使 NMOS_2 電晶體的 D 和 S 極導通,將 C1 電容放電。這會導致 NMOS_1 電晶體關斷,PMOS 電晶體也隨著關斷。沒有電池的供電,Arduino 靠著 C2 電容的電量在維持開機短暫的時間以讓 C1 的電容電量放光,然後就失去電力,進入斷電狀態,這會導致 D5 腳位的電壓變成低位準( 0 伏特),所以,NMOS_2 關斷,電容 C1 又會開始充電,如此週期性的打開 Arduino 傳資料。
以目前的設計週期約莫五分鐘,Arduino 大約只工作 30 秒,所以,耗電量只有原本的十分之一。