該無線電源記錄儀使用RIOTOUS V0.2和VB.net驅動的程序測量電壓,電流和功耗。
電力記錄非常有用在需要確定電路的平均功率消耗的情況下。在這個項目中,我們將創建一個無線電源記錄器,可用于測量電壓,電流和功耗,使用RIOTOUS V0.2將其數據流式傳輸到VB.net驅動的程序。
電源記錄器電路
基于RIOTOUS的電路包括微控制器(PIC16F1825),用于Wi-Fi連接的ESP-01模塊,用于記錄電壓和電流(U2)的模擬電路,以及基本功率調節(U1)。要記錄設備消耗的功率,需要獲得兩個變量:器件兩端的電壓降以及流經該器件的電流。由于外部器件由VCC軌供電,因此很容易確定電壓消耗,因此微控制器可以使用模擬引腳直接對其進行模擬測量。
但是,由于VCC將大于PIC使用的3.3V電源,因此VCC電壓首先被饋入分壓器(RV2和R8),該分壓器將電壓除以10.然后將該分壓電壓緩沖為1。增益放大器(U2B),然后饋入其中一個PIC模擬數字輸入。通過這樣做,我們可以測量高達33V的VCC值(遠遠超出AMS1117可以處理的值)。
我們需要的第二個參數記錄是最新的,這有點棘手。在我們的電路中,我們使用一個檢測電阻(R4),它本質上是一個與被測器件串聯的電阻。由于電阻是串聯的,因此電阻上會產生電壓降,電壓降與流過它的電流成正比(由于V = IR)。重新安排此公式,使我成為主題揭示。..
由于電阻和器件串聯,流過檢測電阻的電流必須是與流經設備的電流相同(歸功于基爾霍夫定律)。因此,我們可以通過將檢測電阻兩端的電壓降除以其電阻(已知)來確定流過器件的電流。在PIC測量電壓降之前,首先使用U2A將其乘以10。這樣可以更容易地檢測到更小的電流,但代價是限制我們可以測量的最大電流。
電路代碼
PIC16F1825上的固件使用RIOTOUS框架來處理ESP8266以及傳入和傳出的數據。啟動時,記錄器嘗試連接到指定的Wi-Fi網絡,然后連接到服務器(這是我們用VB.net編寫的電源記錄程序)。建立連接后,PIC將一直等待,直到發送“開始記錄”命令。發送此命令后,PIC開始定期讀取兩個電壓(VCC和電阻兩端的壓降)。在讀取數據時,將電源值乘以檢測電阻器電壓除以其電阻,以提供功耗。然后將該值發送到服務器程序,以便使用VB.net表單應用程序登錄圖表。
以下是讀取ADC外設以測量電流和電壓的代碼:
接下來,我們添加確定功耗的計算代碼:
最后,我們插入將結果轉換為字符串并將其發送到服務器的代碼:
服務器代碼
服務器side是使用RIOTOUS建立我們的記錄器可以連接的RIOTOUS服務器的應用程序。然后,當讀數以VB.net形式流式傳輸時,應用程序將數據繪制到圖表上以顯示滾動功耗。
記錄器剛剛啟動
之后的記錄器一分鐘
施工
該電路可以使用許多不同的電路板技術構建,包括條形板,面包板甚至PCB。我在這個項目上的第一次嘗試是使用PCB,但由于我所做的愚蠢錯誤(使用編程端口作為我的模擬讀取通道),我不得不重新設計該項目。然而,我沒有制作另一塊PCB,而是選擇使用面包板,這提供了挑戰!
ESP-01模塊使用0.1“標題,其中對業余愛好者有幫助,但標題有兩行,這意味著它不能用于面包板。因此,我不得不使用一塊stripboard來創建一個允許它與面包板一起工作的適配器。
-
記錄儀
+關注
關注
1文章
472瀏覽量
21777
發布評論請先 登錄
相關推薦
評論