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ù)探討
微信
微信
微信
故障一點通
主站蜘蛛池模板: 亚洲欧美精品在线| 蜜芽一区二区国产精品| 国产麻豆精品久久一二三| 亚洲熟女偷拍| 美女一区二区在线观看| 欧美日韩精品一区二区在线线| 国产精品一区在线麻豆| 久久精品无码国产一区二区三区| 久草视频中文| 免费xxxxx在线观看网站| 国产鲁鲁视频在线观看| 成人福利免费在线观看| 国产一级二级三级毛片| 亚洲一区二区三区麻豆| 亚洲午夜国产精品无卡| 亚洲最猛黑人xxxx黑人猛交| 免费在线看黄网址| 中文字幕首页系列人妻| 色播五月婷婷| 伊人久久婷婷五月综合97色| 丰满少妇αⅴ无码区| 老司国产精品视频91| 久久久久免费精品国产| 欧美区日韩区| 国产成在线观看免费视频| 国产成人区在线观看视频| 亚洲一级毛片免费观看| 国产精品hd在线播放| 欧美亚洲欧美区| 白浆免费视频国产精品视频| 99热这里只有精品免费国产| 亚洲青涩在线| 69av在线| 91最新精品视频发布页| 免费激情网址| 久久www视频| 亚洲日本中文字幕乱码中文 | 国产一区二区色淫影院| 精品久久综合1区2区3区激情| 尤物特级无码毛片免费| 国产中文一区二区苍井空| 国产三级韩国三级理| 国产特级毛片| 18禁影院亚洲专区| 日本午夜在线视频| 日韩精品无码不卡无码| 久久久久国色AV免费观看性色| 亚洲综合在线网| 2020国产精品视频| 人妻无码中文字幕第一区| 久久精品亚洲热综合一区二区| 中文字幕 日韩 欧美| 亚洲aⅴ天堂| 欧美全免费aaaaaa特黄在线| 色综合热无码热国产| 热99精品视频| 乱系列中文字幕在线视频| 波多野结衣一区二区三区四区视频| jizz亚洲高清在线观看| 中文字幕1区2区| 性69交片免费看| 不卡无码网| 亚洲精品欧美日本中文字幕| 一本一本大道香蕉久在线播放| 国产精品太粉嫩高中在线观看| 免费毛片全部不收费的| 88av在线看| 2020亚洲精品无码| 91精品网站| 亚洲婷婷丁香| 国产欧美精品专区一区二区| 四虎在线观看视频高清无码| 亚洲欧洲天堂色AV| 91在线视频福利| 激情无码字幕综合| 国产成人久视频免费| 99re在线观看视频| 天堂va亚洲va欧美va国产| 中文字幕无码中文字幕有码在线| 欧美在线三级| 一级黄色片网| 欧美激情视频二区|