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