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