徐智勇,李金鋮,羅 輝,吳晗平
(1.武漢工程大學(xué) 光電信息與能源工程學(xué)院,湖北 武漢 430205;2.武漢工程大學(xué) 光電子系統(tǒng)技術(shù)研究所,湖北 武漢 430205)
由于現(xiàn)在大部分冷庫采用的是傳統(tǒng)機(jī)械控溫等方式,當(dāng)溫度高于或低于用戶設(shè)定溫度時(shí),制冷機(jī)開啟或停止,頻繁啟??赡軙?huì)造成溫度變化大,電力消耗大,一方面造成浪費(fèi),且達(dá)不到食物保鮮的效果,另一方面會(huì)造成器件的損耗,減小產(chǎn)品的使用壽命。由于冷庫存放的物品不同、環(huán)境不同、開關(guān)門也會(huì)造成溫度的變化,難以建立一個(gè)準(zhǔn)確的數(shù)學(xué)模型,一般的控制方式很難達(dá)到想要的控制效果,而模糊控制在對多變量、非線性、不確定的復(fù)雜系統(tǒng)中卻能取得較好的控制效果。目前有部分冰庫采用有線傳輸方式傳輸節(jié)點(diǎn)溫度,此方法需要人為的在附近監(jiān)控冰庫狀況且布線復(fù)雜、可維護(hù)性差,采用 WiFi的方式實(shí)現(xiàn)遠(yuǎn)程監(jiān)控可節(jié)約人力成本且布線簡單。為此本文研究基于WiFi的大型冷庫溫度模糊控制系統(tǒng)設(shè)計(jì)方法。
對于大型工業(yè)冷庫,單個(gè)監(jiān)測點(diǎn)不足以描述整個(gè)冷庫的溫度狀況,采用多點(diǎn)式檢測能夠更加準(zhǔn)確的測量溫度,并且可以避免了繁雜的布線過程。將整個(gè)系統(tǒng)分為感知層、網(wǎng)絡(luò)層、平臺(tái)層和應(yīng)用層。感知層采用DS18B20溫度傳感器及主控芯片,網(wǎng)絡(luò)層采用HC-08WiFi模塊,平臺(tái)層使用OneNET物聯(lián)網(wǎng)平臺(tái),應(yīng)用層使用基于 OneNET云平臺(tái)開發(fā)的移動(dòng)端應(yīng)用。系統(tǒng)總體設(shè)計(jì)框架如圖1所示。
圖1 系統(tǒng)總體設(shè)計(jì)框架Fig.1 System overall design framework
采用12位數(shù)字型溫度傳感器DS18B20,連接ESP8266作為獨(dú)立節(jié)點(diǎn),由于 ESP8266內(nèi)置 32位低功耗MCU,能夠?qū)鞲衅鲾?shù)據(jù)做簡單處理打包上傳到OneNET物聯(lián)網(wǎng)平臺(tái)
冷庫控制系統(tǒng)是以STM32F4為主控芯片,外圍電路做輔助的微型計(jì)算機(jī)控制系統(tǒng)。單片機(jī)根據(jù)編寫好的程序?qū)奈锫?lián)網(wǎng)平臺(tái)接收到的各節(jié)點(diǎn)的溫度、設(shè)定溫度做數(shù)據(jù)處理,根據(jù)模糊控制方法對電機(jī)進(jìn)行控制。同時(shí)可以上傳報(bào)警數(shù)據(jù)、電機(jī)擋位數(shù)據(jù)給物聯(lián)網(wǎng)平臺(tái),能實(shí)現(xiàn)實(shí)時(shí)可靠的監(jiān)控功能。
模糊控制器主要分為四個(gè)步驟:模糊化和量化因子的選擇、隸屬函數(shù)的確定、模糊規(guī)則的建立、模糊控制查詢表的建立。
在模糊控制器的設(shè)計(jì)當(dāng)中,通常將模糊控制器的輸入個(gè)數(shù)稱為模糊控制器的維數(shù)。由于一維控制器的輸入變量只有一個(gè),所以這種控制器的控制性能不強(qiáng),而多維的模糊控制器由于輸入變量過多,系統(tǒng)復(fù)雜往往難以設(shè)計(jì)。所以本系統(tǒng)采用二維模糊控制器,將溫度值與設(shè)定溫度的差和溫度的變化量作為模糊控制的輸入。二維模糊控制模型如圖2所示。
圖2 二維模糊控制器模型Fig.2 Two-dimensional fuzzy controller model
把精確的輸入量轉(zhuǎn)換成模糊集合的隸屬函數(shù)稱為精確量的模糊化。模糊控制器的輸入變量(常取偏差、偏差變化率)和輸出變量(常取控制量)均用自然語言形成給出,它不是以數(shù)值形式給出,因此它不是數(shù)值變量,而是語言變量。
在模糊控制算法中,我們把溫度偏差和溫度變化量的實(shí)際變化范圍叫做輸入變量的基本論域,基本論域常用區(qū)間表示,通用公式為[–x x],其中的量為精確量。在冷箱控制系統(tǒng)中,實(shí)際溫度與設(shè)定溫度差值的基本論域?yàn)閇–3 3],因?yàn)閱纹瑱C(jī)一秒采集一次溫度數(shù)據(jù),所以溫度變化量不會(huì)很大,溫度變化量的基本論域?yàn)閇–1.5 1.5]。當(dāng)溫度的偏差大于–3或3時(shí),按照最小輸出或最大輸出處理。
與基本論域?qū)?yīng)的是模糊集的論域,通常表示為[–n,–n+1,…0,…,n–1,n]??梢酝ㄟ^量化因子k將基本論域中的偏差轉(zhuǎn)化到模糊集的論域上來。由于n值過大會(huì)使控制規(guī)則變得復(fù)雜,太小又會(huì)使模糊處理結(jié)果粗糙而影響控制精度。
本系統(tǒng)選擇溫度差和溫度變化量模糊集論域的 n=3,即[–3,–2,–1,0,1,2,3]。
根據(jù)模糊化處理將數(shù)值變量以語言變量的形式給出,將論域劃分為{NB,NM,NS,Z,PS,PM,PB}即對應(yīng){負(fù)大,負(fù)中,負(fù)小,零,正小,正中,正大}。
本系統(tǒng)輸出的對應(yīng)電機(jī)的轉(zhuǎn)速,通過脈寬調(diào)制的方式改變電機(jī)輸入電壓從而改變電機(jī)轉(zhuǎn)速,根據(jù)實(shí)際需要將電機(jī)分為4個(gè)擋位,即基本論域和模糊集論域都為[0,1,2,3,4],
對應(yīng)的語言變量為{Z,S,M,B,VB}或{關(guān)閉,一檔,二檔,三檔,四檔}
有量化因子K的定義:K=n/x
可得溫度差和溫度變化量的量化因子 Ke、Kec分別為1、2,輸出K為1。
為方便設(shè)計(jì)及程序的編寫,溫度差、溫度變化量、輸出的隸屬函數(shù)全部采用三角形隸屬函數(shù),三角形隸屬函數(shù)有方便計(jì)算、易于實(shí)現(xiàn)、控制性能較好的優(yōu)點(diǎn)且在論域范圍內(nèi)等距離、均勻分布。溫度差、溫度變化率隸屬函數(shù)如圖3、圖4所示。
圖3 偏差E隸屬函數(shù)圖Fig.3 Deviation E membership function diagram
圖4 變化量EC隸屬函數(shù)圖Fig.4 Deviation EC membership function diagram
模糊控制規(guī)則是模糊控制器知識(shí)庫的基礎(chǔ),建立在語言變量的基礎(chǔ)上,是模糊控制器的核心。模糊控制規(guī)則建立是否符合實(shí)際使用、是否正確都直接影響系統(tǒng)的精度,其數(shù)目的多寡也是衡量控制器性能的一個(gè)重要因素,數(shù)量越多意味著系統(tǒng)越復(fù)雜同時(shí)精度越高,數(shù)量少,系統(tǒng)設(shè)計(jì)簡便但精度低。
根據(jù)溫度差為主要因素,溫度變化量為次要因素的原則,當(dāng)溫度偏差過大,及時(shí)開啟大擋位制冷,當(dāng)溫度差偏小時(shí)注意系統(tǒng)穩(wěn)定,制定模糊規(guī)則表如表1所示。
表1 輸出OUT模糊控制規(guī)則Tab.1 Output OUT fuzzy control rules
要執(zhí)行模糊控制可以在數(shù)字計(jì)算機(jī)中就使用一定的算法來實(shí)現(xiàn)。這些模糊控制算法的目的是從輸入的連續(xù)精確量中,通過模糊推理的算法過程,從而求出相應(yīng)的精確控制值來。模糊控制算法有多種實(shí)現(xiàn)形式,常用的方法有合成推理的關(guān)系矩陣法,合成推理的查表法,合成推理的解析公式等。
計(jì)算機(jī)控制變量、模糊量化處理、模糊控制規(guī)則、模糊決策、非模糊化處理理論上由單片機(jī)處理,但每次溫度值的變化都進(jìn)行模糊處理,會(huì)占用單片機(jī)大量資源,拖慢單片機(jī)運(yùn)算速度,對系統(tǒng)控制有一定影響。為解決這一問題,一般由Matlab的模糊控制工具箱算出模糊控制查詢表,以查表的方式進(jìn)行模糊控制。
通過Matlab的fuzzy control工具箱,設(shè)定好需要的輸入輸出隸屬函數(shù),將上述模糊規(guī)則改為if..and..then..的形式編入控制器,經(jīng)過計(jì)算可以導(dǎo)出輸入輸出對應(yīng)的 3D曲面圖。輸入輸出關(guān)系圖如圖5所示。
圖5 輸入輸出曲面圖Fig.5 Input and output surface diagram
在設(shè)定好模糊控制器溫度差、溫度變化量參數(shù)后,通過simulink建立雙輸入單輸出的模糊控制器模型,在測試頁面可以計(jì)算出模糊控制查詢表如表2所示。
表2 模糊控制查詢表Tab.2 Fuzzy control query table
模糊控制器功能的實(shí)現(xiàn)是整個(gè)控制系統(tǒng)的核心,除了完成系統(tǒng)所需要的模糊控制算法外,還要設(shè)計(jì)與上位機(jī)進(jìn)行實(shí)時(shí)通訊及完成系統(tǒng)所需的其他各項(xiàng)功能。
由于模糊算法采用查表的方式實(shí)現(xiàn),將計(jì)算機(jī)控制變量、模糊量化處理、模糊控制規(guī)則、模糊決策、非模糊化處理通過matlab導(dǎo)出模糊查詢表,對于單片機(jī)算力的要求不高,因此 32位的STM32能夠滿足系統(tǒng)要求。其片上資源豐富,有利于系統(tǒng)模塊化設(shè)計(jì)。各個(gè)功能模塊硬件設(shè)計(jì)主要包括STM32最小系統(tǒng)(晶振電路、復(fù)位電路)以及WiFi通信模塊、IIC總線的DS18B20測溫模塊、鍵盤模塊、顯示模塊、電機(jī)驅(qū)動(dòng)模塊等??刂破饔布鐖D6所示。
圖6 控制器硬件結(jié)構(gòu)圖Fig.6 Controller hardware structure diagram
STM32最小系統(tǒng)是保證系統(tǒng)基本運(yùn)行的需要,在此基礎(chǔ)上實(shí)現(xiàn)功能擴(kuò)展。WiFi模塊采用ESP8266模塊,該模塊具有連接距離遠(yuǎn)、信號(hào)收斂性好、無雜散、頻譜干凈、分離度好等優(yōu)點(diǎn),它是上位機(jī)與STM32實(shí)時(shí)通信的橋梁,能夠?qū)崟r(shí)傳輸溫度等數(shù)據(jù)。本系統(tǒng)采用DS18B20可編程總線型數(shù)字溫度傳感器,此傳感器電路簡單,無需溫度標(biāo)定,其測溫范圍從–55℃到+125℃,最高測量精度可以達(dá)到 0.0625℃。單片機(jī)通過采集溫度數(shù)據(jù),進(jìn)行模糊控制輸出相應(yīng)的 PWM(Pulse width modulation,脈沖寬度調(diào)制)波,在經(jīng)過功率放大器來對直流電機(jī)進(jìn)行調(diào)速控制。
控制系統(tǒng)的軟件設(shè)計(jì)分為上位機(jī)和下位機(jī)兩部分。
下位機(jī)程序按照模塊化的程序思想進(jìn)行設(shè)計(jì),可以分為幾個(gè)不同的功能模塊:主程序模塊,主要包括各模塊芯片初始化、中斷初始化等;模糊控制算法子程序模塊;測溫模塊;WiFi通信模塊等。其主流程圖如圖7所示。
圖7 主程序流程圖Fig.7 Main program flow chart
模糊控制輸出不同占空比的波形進(jìn)行調(diào)速是整個(gè)控制系統(tǒng)軟件設(shè)計(jì)的重點(diǎn)。將模糊控制輸出表作為二維數(shù)組置入STM32中,在對數(shù)據(jù)進(jìn)行模糊化處理后,將溫度差和溫度變化率與模糊控制輸出表進(jìn)行對應(yīng),輸出對應(yīng)的電機(jī)擋位進(jìn)行控制。其一個(gè)周期內(nèi)的流程如圖8所示。
圖8 模糊控制子程序流程Fig.8 Fuzzy control subroutine flow
在 WiFi通信中,為了使 ESP8266能可靠的與云平臺(tái)進(jìn)行連接,實(shí)現(xiàn)斷開自動(dòng)連接功能。采用將WiFi信息存入Flash的方式,在斷電后也不會(huì)抹去。通過 SmartConfig手機(jī)配網(wǎng)后,將獲取到的WiFi名稱、密碼保存到主控芯片內(nèi)部Flash中,若下次開機(jī)或者中途斷開,會(huì)直接從 Flash中讀取WiFi信息,實(shí)現(xiàn)自動(dòng)聯(lián)網(wǎng)。
為了建立可靠的數(shù)據(jù)傳輸,ESP8266與云平臺(tái)采用MQTT協(xié)議進(jìn)行傳輸,MQTT協(xié)議具有輕量、簡單、開放和易于實(shí)現(xiàn)的特點(diǎn),適合物聯(lián)網(wǎng)等場景。由于 ESP8266內(nèi)部已集成 TCP/IP協(xié)議棧,所以只需進(jìn)行應(yīng)用層協(xié)議封裝,就可以實(shí)現(xiàn)MQTT協(xié)議。先使用AT指令先使ESP8266以TCP協(xié)議去連接服務(wù)器,連接成功后模塊進(jìn)入透傳狀態(tài),然后封裝 MQTT協(xié)議格式的數(shù)據(jù),通過ESP8266和MQTT服務(wù)器進(jìn)行交互。
移動(dòng)端使用OneNET物聯(lián)網(wǎng)平臺(tái)內(nèi)置的應(yīng)用設(shè)計(jì),使用平臺(tái)應(yīng)用能夠快速的開發(fā)應(yīng)用界面,實(shí)現(xiàn)數(shù)據(jù)流綁定,方便工作人員遠(yuǎn)程實(shí)時(shí)的對冷庫進(jìn)行監(jiān)控。為了便于用戶設(shè)計(jì),以及工作人員查看、分析數(shù)據(jù),平臺(tái)提供了豐富的數(shù)據(jù)顯示方式,如折線圖、柱狀圖、表盤等各種方式。在該應(yīng)用中,用戶可以對冷庫開啟停止以及設(shè)定溫度進(jìn)行控制,也可以查看各節(jié)點(diǎn)溫度和溫度變化折線。本設(shè)計(jì)冷庫溫度遠(yuǎn)程監(jiān)控系統(tǒng)的移動(dòng)端界面如圖9所示。
圖9 移動(dòng)端應(yīng)用界面Fig.9 Mobile application interface
本文闡述了模糊控制在工業(yè)冷庫應(yīng)用上的可行性,分析了應(yīng)用模糊控制的優(yōu)缺點(diǎn),模糊控制在應(yīng)對無法建立準(zhǔn)確的數(shù)學(xué)模型的情況時(shí),能夠簡單、較準(zhǔn)確的對系統(tǒng)進(jìn)行自動(dòng)控制。本系統(tǒng)采用STM32芯片,由于系統(tǒng)無需大量計(jì)算和內(nèi)存,所以STM32的內(nèi)存完全滿足系統(tǒng)要求,根據(jù)模糊控制理論及合理的軟硬件設(shè)計(jì),可實(shí)現(xiàn)可靠、穩(wěn)定的工業(yè)冷庫模糊控制系統(tǒng),實(shí)現(xiàn)工業(yè)冷庫溫度的自動(dòng)控制。上位機(jī)采用OneNET物聯(lián)網(wǎng)平臺(tái)實(shí)現(xiàn)了快速開發(fā),為數(shù)據(jù)傳輸、遠(yuǎn)程監(jiān)控提供了有力保障。主控芯片采用C語言編程,具有規(guī)范的格式,可分為不同模塊,是程序結(jié)構(gòu)化、模塊化。編程及程序調(diào)試時(shí)間縮短,效率高,可移植性好,為以后程序的擴(kuò)展提供了條件。
徐智勇(1998–),男,碩士研究生。研究方向:自動(dòng)控制技術(shù)。
李金鋮(1996–),男,碩士研究生。研究方向:無線傳感與控制技術(shù)。
羅輝(1993–),男,碩士研究生。研究方向:紫外通信光電信號(hào)處理。
吳晗平(1964–),男,工學(xué)博士,教授,博士生導(dǎo)師。研究方向:光電系統(tǒng)總體技術(shù)與設(shè)計(jì),紅外與紫外技術(shù),自由空間非可見光通信,圖像處理與目標(biāo)識(shí)別等。