999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于NodeMCU的帶故障自診斷功能的LED遠(yuǎn)程控制系統(tǒng)的實現(xiàn)※

2022-11-27 10:37:26劉天宋姜楠史吉祥
機(jī)電工程技術(shù) 2022年10期
關(guān)鍵詞:微信故障設(shè)備

劉天宋,姜楠,史吉祥

(常州劉國鈞高等職業(yè)技術(shù)學(xué)校,江蘇常州 213025)

0 引言

低功耗、高效的照明控制系統(tǒng)在節(jié)能降耗的時代背景要求下越來越受到歡迎。因此研究一種節(jié)能的控制系統(tǒng)具有很大的研究意義和商業(yè)價值。例如,劉晉等[1]針對目前路燈存在的功耗高、沒有有效控制手段等缺點,設(shè)計了時控及光控的校園LED節(jié)能路燈,在一定程度上實現(xiàn)了節(jié)能目標(biāo)。陳李華[2]結(jié)合實例,介紹了光亮工程的節(jié)能與智能控制,并對燈具安裝實施作了簡單說明。周韜等[3]用非成像光學(xué)設(shè)計方法,設(shè)計了一種基于LED光源的新型的均勻照明系統(tǒng),并以STC89C52RC單片機(jī)為核心,設(shè)計了由人體紅外和自然光照強(qiáng)度控制的LED路燈。

然而,隨著人工成本的不斷增加,對照明系統(tǒng)的監(jiān)管和控制越來越傾向于自動化[4]。既能滿足節(jié)能要求,同時又兼顧自動診斷故障功能,避免因損壞而長久失修現(xiàn)象出現(xiàn)的LED控制系統(tǒng)卻較為少見。針對上述問題,本文采用NodeMCU作為核心控制芯片,通過人體熱釋電傳感器和光敏傳感器,來控制LED的開關(guān)和亮度,以達(dá)到節(jié)能目的。利用物聯(lián)網(wǎng)開發(fā)平臺,來及時接收LED控制系統(tǒng)的故障提醒信息,同時實現(xiàn)對LED的遠(yuǎn)端控制。本文首先介紹了文章背景;然后,對基于NodeMCU的帶故障自診斷功能的LED遠(yuǎn)程控制系統(tǒng)總體設(shè)計方法進(jìn)行了說明;接著介紹了系統(tǒng)的硬件設(shè)計和程序設(shè)計;最后介紹了系統(tǒng)調(diào)試結(jié)果。

1 總體方案設(shè)計

系統(tǒng)的結(jié)構(gòu)框圖如圖1所示。LED控制系統(tǒng)以NodeMCU為核心,通過人體熱釋電模塊檢測周圍環(huán)境中是否有人,決定LED的開關(guān);通過光敏模塊采集環(huán)境光線亮度,進(jìn)而通過PWM控制LED的亮度。NodeMCU通過WiFi可以與巴法云平臺連接,再通過該平臺向微信推送故障;同時也可以通過WiFi與Blinker服務(wù)器連接,實現(xiàn)手機(jī)端Blinker App對設(shè)備的控制。

圖1 系統(tǒng)結(jié)構(gòu)

2 主要硬件電路設(shè)計

2.1 NodeMCU

控制系統(tǒng)的核心采用的是NodeMCU[5-6],一款開源快速硬件原型平臺,包括固件和開發(fā)板,如圖2所示。它使用Lua腳本語言編程,也可使用Arduino IDE進(jìn)行編程和下載。其具有GPIO、PWM、I2C、1-Wire、ADC等功能,包含了可以運(yùn)行在ESP8266 WiFi SoC芯片之上的固件,以及基于ESP-12模組的硬件,如圖3所示。數(shù)據(jù)通過TCP協(xié)議與物聯(lián)網(wǎng)云平臺連接。主要有3種模式:(1)AP模式,該模式提供無線接入服務(wù),允許其他無線設(shè)備接入,提供數(shù)據(jù)訪問;(2)STA模式,該模式類似于無線終端,可以連接到AP,通俗地講,就像筆記本電腦或者手機(jī)一樣,搜索到無線網(wǎng)后連接;(3)AP+STA模式,即上述兩種方式的結(jié)合。

圖2 NodeMCU實物

圖3 ESP-12核心部分電路原理

2.2 光敏模塊電路設(shè)計

本文中系統(tǒng)包含了2路光敏模塊。其中,第1路光敏模塊采集環(huán)境光線強(qiáng)度,進(jìn)而控制LED亮度;第2路光敏模塊采集LED光線強(qiáng)度,然后用于LED燈故障診斷。第1路光敏模塊電路原理圖如圖4所示,其包含模擬量輸出端口(連接到NodeMCU的模擬量輸入端口A0)、數(shù)字量輸出端口(連接到NodeMCU數(shù)字量端口D0)。圖中R6為光敏電阻,其阻值可變,與R2組成串聯(lián)分壓電路。當(dāng)光線照射時,R6阻值發(fā)生變化,A0電壓值也發(fā)生變化。其電壓大小計算如下:

圖4 光敏模塊電路原理

LM393與周邊電阻R2、R6、R3組成一個電壓比較電路。調(diào)整電位器R3阻值后,當(dāng)光線變化時,引腳2上的電壓會產(chǎn)生變化,當(dāng)LM393引腳2電壓低于引腳3時,引腳1輸出高電平,反之輸出低電平。第2路光敏模塊電路原理圖和第1路相同。

3 軟件設(shè)計

3.1 軟件功能

系統(tǒng)可實現(xiàn)手動運(yùn)行、自動運(yùn)行兩種模式。手動狀態(tài)下,可以通過Blinker[7]開關(guān)LED或者調(diào)節(jié)LED亮度,也可檢測LED、光敏模塊等模塊是否正常工作。自動運(yùn)行又包含了LED故障診斷、光敏模塊故障診斷、連續(xù)長時間運(yùn)行報警等功能,如圖5所示。如有設(shè)備故障,系統(tǒng)將通過WIFI推送到微信,及時提醒用戶。

圖5 軟件功能

3.2 采集數(shù)據(jù)的處理

為避免環(huán)境影響對光敏模塊輸出的干擾,需對NodeMCU的A0端采樣數(shù)據(jù)進(jìn)行濾波,本文采用滑動均值濾波方法[8-9]。該方法思路是:新建一個數(shù)組,依順序存放N次采樣數(shù)據(jù),每新采樣一個新的數(shù)據(jù),則將數(shù)組中最早采集的數(shù)據(jù)摒棄,然后求數(shù)組內(nèi)N個數(shù)據(jù)的算術(shù)平均值。其基本步驟如下。

把連續(xù)取N個采樣值看成一個隊列,假如第N次采樣后,得到該隊列中包含以下數(shù)據(jù)x[1],x[2],…,x[N],對隊列中的N個數(shù)據(jù)進(jìn)行算術(shù)平均運(yùn)算,得到輸出結(jié)果:

按照先進(jìn)先出原則,每次采樣到一個新數(shù)據(jù)放入隊尾,并摒棄原來隊首的一次數(shù)據(jù)。假如現(xiàn)在為第j+N次采樣,則得到一組新數(shù)據(jù)x[j],x[j+1],…,x[j+N],再對隊列中的N個數(shù)據(jù)進(jìn)行算術(shù)平均運(yùn)算,得到新的輸出結(jié)果:

經(jīng)過濾波后,A0端采樣數(shù)據(jù)變的更加平穩(wěn),如圖6所示。顯然,點數(shù)越大即采樣次數(shù)N越大,得到的波形越平滑,但是系統(tǒng)的濾波延遲也越大。根據(jù)實際項目測試,本文中N取值為6。

圖6 移動濾波前輸入信號

3.3 LED的亮度控制

LED調(diào)光器的原理有多種,例如,波寬控制調(diào)光(簡稱PWM),恒流電源調(diào)控和分組調(diào)控等方式。本文采用PWM調(diào)光方式,對LED燈組進(jìn)行控制。PWM[10-11]是一種對模擬信號電平進(jìn)行數(shù)字編碼的方法,通常用于電機(jī)調(diào)速、LED亮度調(diào)節(jié)。通過改變NodeMCU的I/O口輸出的方波的占空比從而獲得使用數(shù)字信號模擬成的模擬電壓信號。本文使用的PWM模塊如圖7所示。

圖7 PWM模塊

PID[12]控制算法是工業(yè)控制領(lǐng)域使用最廣泛的算法之一,PID控制分為模擬PID和數(shù)字PID,前者處理的是連續(xù)信號,后者處理的是離散信號。本文使用該算法對LED亮度的精確控制。PID是比例(P)、積分(I)、微分(D)控制算法。LED的亮度PID控制系統(tǒng)框圖,如圖8所示。

圖8 LED的亮度PID控制

首先計算誤差e(t)如下:

然后對誤差e(t)分別進(jìn)行比例、積分和微分運(yùn)算,最后將這3種運(yùn)算的結(jié)果疊加在一起,得到PID控制器的控制輸出值u(t),在連續(xù)的時間域里,PID控制器的表達(dá)式如下:

式中:Kp為比例系數(shù);Td為微分時間常數(shù);Ti為積分時間常數(shù);u(t)為PID控制輸出值;e(t)為采樣時刻輸入偏差值。

3.4 設(shè)備與服務(wù)器的連接

3.4.1 與巴法云的連接

巴法云服務(wù)器[13]采用TCP創(chuàng)客云作為中轉(zhuǎn)渠道,利用HTTP協(xié)議將云服務(wù)器與手機(jī)APP聯(lián)系起來。本文通過下述方法創(chuàng)建NodeMCU與巴法云的連接,并將消息發(fā)布到手機(jī)。

(1)注冊巴法云賬號后,在巴法云控制臺創(chuàng)建主題。

(2)編寫程序,使NodeMCU可以訂閱和發(fā)布主題,并下載。主要代碼如下:

#define DEFAULT_STASSID"xxxx"//xxxx為WIFI名稱

#define DEFAULT_STAPSW"xxxxx"//xxxxx為WIFI密碼

String uid="xxxxxx"; //xxxxxx為用戶私鑰,巴法云控制臺獲取

String type="2";//1表示是預(yù)警消息,2表示設(shè)備提醒消息

String device="燈光2控制手機(jī)客戶端";//設(shè)備名稱

int delaytime=10;//設(shè)置閑置時間,單位是秒

String ApiUrl="http://api.bemfa.com/api/wechat/v1/";//微信api網(wǎng)址

NodeMCU采集數(shù)據(jù),上傳到服務(wù)器,發(fā)布消息。手機(jī)微信訂閱主題,即可實時接收數(shù)據(jù)。

3.4.2 與Blinker的連接

Blinker是一套專業(yè)且易用物聯(lián)網(wǎng)解決方案,提供了服務(wù)器、應(yīng)用、設(shè)備端sdk支持。支持多藍(lán)牙、WiFi等方式通信。當(dāng)注冊Blinker與設(shè)備后,可以通過Arduino IDE編寫程序并下載到NodeMCU中,實現(xiàn)NodeMCU、手機(jī)APP和Blinker服務(wù)器端的相互連接。其核心代碼如下:

#define BLINKER_WIFI//選擇連接方式

#include<Blinker.h>

char auth[]="Your Device Secret Key";//設(shè)備密匙

char ssid[]="Your WiFi network SSID or name";//WIFI名稱

char pswd[]="Your WiFi network WPA password or WEP key";//WIFI密碼

BlinkerButton Button1("btn-abc");//新建組件對象。根據(jù)需求,可以創(chuàng)建多個。

void button1_callback(const String & state)//回調(diào)函數(shù)

void setup()//初始化Blinker

Blinker.begin(auth,ssid,pswd);

Blinker.attachData(dataRead);//綁定回調(diào)函數(shù)

Button1.attach(button1_callback);

3.5 診斷功能實現(xiàn)

3.5.1 LED故障診斷功能

設(shè)備上電初始化后,首先判斷運(yùn)行模式,手動模式下,開啟燈組后,PWM輸出最大值255,燈組以最大強(qiáng)度發(fā)光。自動模式下,如檢測到周圍有人移動,則根據(jù)環(huán)境光線強(qiáng)弱控制燈組的燈光強(qiáng)弱。若燈組出現(xiàn)故障不發(fā)光,電阻R6阻值發(fā)生變化,NodeMCU的端口D0將由高電平變?yōu)榈碗娖?,NodeMCU發(fā)送信號到巴法云服務(wù)器,然后推送設(shè)備故障消息到微信客戶端。該功能流程如圖9所示。

圖9 LED功能診斷程序流程

推送程序主要代碼如下:

void doHttpStick(){ //微信消息推送函數(shù)

String pData;

pData="uid="+uid+"&type="+type+"&time="+delaytime+"&device="+device+"&msg="+msg;

http.begin(client2,ApiUrl);

http.addHeader("Content-Type","application/x-www-form-urlencoded");

int httpCode=http.POST(postData);

String payload=http.getString();

http.end();}

3.5.2 光敏電阻故障診斷

設(shè)備通過記錄一天不同時間光敏電阻的阻值變化,來對光敏電阻是否損壞進(jìn)行判斷。定義一個數(shù)組A={a0,a1,a2,a3,a4,a5},數(shù)組中各個元素ai代表每小時內(nèi)間隔10 min讀取到的NodeMCU的模擬量輸入端口A0的值。對于每個正整數(shù)i(0≤i≤4),數(shù)組的一階差分可以表示為:

顯然,當(dāng)Δai等于0或者趨向于0時,可以認(rèn)為間隔10 min讀取到的A0的值無變化:

進(jìn)一步的,通過式(7)計算一階差分的方差,來觀察NodeMCU的模擬量輸入端口A0的值變化情況。方差越大,數(shù)據(jù)的波動越大,認(rèn)為光敏電阻工作處于正常狀態(tài);方差越小,數(shù)據(jù)的波動就越小,則認(rèn)為光敏電阻可能出現(xiàn)了故障。

4 試驗測試

在手機(jī)上安裝Blinker App后,注冊設(shè)備,對設(shè)備在手動狀態(tài)下和自動狀態(tài)下分別進(jìn)行測試。通過串口監(jiān)測窗口,觀測到系統(tǒng)網(wǎng)絡(luò)連接正常,獲取到了IP地址為192.168.43.107。通過遮擋LED,模擬燈泡損壞故障,觀察到系統(tǒng)發(fā)送了“燈2的燈泡可能損壞,請檢修”信息,微信在同一時間接收到了該故障信息。串口監(jiān)測窗口和微信界面分別如圖10和圖11所示。

圖10 系統(tǒng)連接網(wǎng)絡(luò)、發(fā)送信息的串口監(jiān)視界面

圖11 微信推送故障信息界面

圖12所示為Blinker App的操作界面。通過點擊該界面按鈕,驗證了設(shè)備可以實現(xiàn)自動、手動模式切換,開、關(guān)燈和亮度調(diào)節(jié)等功能。

圖12 Blinker App界面

5 結(jié)束語

本文基于開源的NodeMCU設(shè)計了節(jié)能、帶故障自診斷功能的LED遠(yuǎn)程控制系統(tǒng)。該系統(tǒng)可以工作在手動、自動兩種模式下。手動模式下,可以遠(yuǎn)程遙控開燈、關(guān)燈和檢測LED是否出現(xiàn)損壞。自動狀態(tài)下,可以根據(jù)環(huán)境變化調(diào)節(jié)開燈、關(guān)燈,調(diào)節(jié)燈光亮度,達(dá)到節(jié)能目標(biāo),避免了無人燈現(xiàn)象的出現(xiàn)。該系統(tǒng)具有自動診斷系統(tǒng)中部分模塊是否存在故障的功能,并通過微信提醒用戶。通過對樣機(jī)進(jìn)行測試,結(jié)果表明,整個系統(tǒng)運(yùn)行平穩(wěn);通過App操作LED開、關(guān),自動、手動模式切換指令準(zhǔn)確,響應(yīng)迅速。當(dāng)系統(tǒng)中部分模塊存在故障時,微信API接收到的遠(yuǎn)程推送的故障信息準(zhǔn)確及時,滿足了使用要求。

猜你喜歡
微信故障設(shè)備
諧響應(yīng)分析在設(shè)備減振中的應(yīng)用
故障一點通
基于MPU6050簡單控制設(shè)備
電子制作(2018年11期)2018-08-04 03:26:08
微信
奔馳R320車ABS、ESP故障燈異常點亮
500kV輸變電設(shè)備運(yùn)行維護(hù)探討
微信
微信
微信
故障一點通
主站蜘蛛池模板: 久久久久人妻精品一区三寸蜜桃| 国产在线一区视频| 五月天综合婷婷| 精品国产乱码久久久久久一区二区| a级高清毛片| 最新亚洲人成网站在线观看| 亚洲三级影院| 亚洲国产天堂久久综合226114 | 亚洲视频四区| 久久精品91麻豆| 亚洲色大成网站www国产| 亚洲熟妇AV日韩熟妇在线| 777午夜精品电影免费看| 日韩美毛片| 国产亚洲欧美日本一二三本道| 亚洲天天更新| 青青热久麻豆精品视频在线观看| 日本a级免费| 国产成人综合网| 99热免费在线| 国产精品亚洲五月天高清| 日韩精品亚洲精品第一页| 2021亚洲精品不卡a| 无码AV动漫| 1024你懂的国产精品| 亚洲乱伦视频| 久久黄色毛片| 一级高清毛片免费a级高清毛片| 日韩区欧美国产区在线观看| 制服丝袜一区| 亚洲国产亚综合在线区| 中文字幕久久亚洲一区| 老色鬼久久亚洲AV综合| 91精品人妻互换| 国产免费羞羞视频| 国产微拍一区二区三区四区| 欧美午夜视频在线| 国产一区二区三区日韩精品 | 华人在线亚洲欧美精品| 一级毛片免费不卡在线| 日韩亚洲综合在线| 国产粉嫩粉嫩的18在线播放91| 久久人体视频| 精品伊人久久久香线蕉| 在线观看国产精品一区| 99无码熟妇丰满人妻啪啪| 99久视频| 青青青视频91在线 | 国产欧美在线观看一区| www.狠狠| 伊人久久综在合线亚洲2019| av午夜福利一片免费看| 亚洲经典在线中文字幕| 亚洲综合色婷婷| 亚洲精品福利网站| 国产精品夜夜嗨视频免费视频| 久久久久人妻一区精品色奶水| 99精品伊人久久久大香线蕉| 玖玖精品视频在线观看| 国国产a国产片免费麻豆| 国产在线高清一级毛片| 亚洲欧美一区二区三区麻豆| 最新国产午夜精品视频成人| 国产成人1024精品| 亚洲熟女中文字幕男人总站| 人妻无码中文字幕一区二区三区| 亚洲精品无码AⅤ片青青在线观看| 福利在线不卡| 91在线精品麻豆欧美在线| 亚洲国产精品人久久电影| 国产三级a| 97色婷婷成人综合在线观看| 国产99免费视频| 99视频精品在线观看| 久久成人国产精品免费软件| 漂亮人妻被中出中文字幕久久| 欧美狠狠干| 一级毛片免费不卡在线| 亚洲欧洲日本在线| 亚洲国产精品一区二区第一页免 | 欧美日韩免费在线视频| 国产成人精品一区二区三区|