劉 靜,胡天宇,許 峰
(北方工業(yè)大學(xué)機(jī)電學(xué)院,北京 100144)
氧化鋁電解生產(chǎn)過程中,電解槽內(nèi)氧化鋁粉末供給量關(guān)系到鋁的生產(chǎn)質(zhì)量,然而在氧化鋁料塔上加裝料位計(jì)存在很多實(shí)際困難,例如在塔頂布線不便且具有安全隱患,有線通訊的成本高,可靠性差。因此開發(fā)一種無線通信系統(tǒng)實(shí)時(shí)傳輸氧化鋁料塔的料位數(shù)據(jù)非常必要。通過開發(fā)無線智能監(jiān)測(cè)系統(tǒng),來取代原有的人工監(jiān)測(cè)方式,同時(shí)充分利用車間現(xiàn)有局域網(wǎng),設(shè)計(jì)了星型無線傳感器網(wǎng)絡(luò)[1]系統(tǒng),此無線測(cè)控系統(tǒng)也適用于其他工業(yè)自動(dòng)化測(cè)控場(chǎng)合。
系統(tǒng)總體方案:參考文獻(xiàn)[2-15]中的無線遙測(cè)系統(tǒng)設(shè)計(jì)方法,并根據(jù)鋁電解過程中氧化鋁料塔供給氧化鋁的實(shí)際狀況,確定了氧化鋁料塔料位無線遙測(cè)系統(tǒng)方案。系統(tǒng)主要由一個(gè)主節(jié)點(diǎn)和多個(gè)終端節(jié)點(diǎn)組成(圖1)。
圖1 氧化鋁料塔的料位遙測(cè)系統(tǒng)總體方案
終端節(jié)點(diǎn)將傳感器測(cè)量到的料位數(shù)據(jù)處理后,通過433M 無線網(wǎng)絡(luò)將數(shù)據(jù)發(fā)送給主節(jié)點(diǎn)。主節(jié)點(diǎn)收集終端所采集的數(shù)據(jù)。主節(jié)點(diǎn)與主機(jī)通過串口服務(wù)器傳輸數(shù)據(jù),與企業(yè)局域網(wǎng)融合,實(shí)現(xiàn)氧化鋁料位在局域網(wǎng)內(nèi)任意位置的遠(yuǎn)程集中監(jiān)測(cè)。
工作原理:本文無線遙測(cè)系統(tǒng)采用半雙工通信,空閑時(shí)主節(jié)點(diǎn)與終端節(jié)點(diǎn)均處于接收命令狀態(tài)。需要測(cè)量時(shí),上位機(jī)通過網(wǎng)口發(fā)送測(cè)量命令,經(jīng)串口服務(wù)器進(jìn)行協(xié)議轉(zhuǎn)換后,發(fā)送至STM32 控制板的串口,命令被控制板處理后,通過無線模塊發(fā)送至終端節(jié)點(diǎn),終端節(jié)點(diǎn)收到命令后首先返回握手信息告知主節(jié)點(diǎn)此次通信建立完畢,然后提取數(shù)據(jù)幀中的命令字,控制料位計(jì)進(jìn)行相應(yīng)的工作。測(cè)量完畢后,將所測(cè)數(shù)據(jù)發(fā)送給終端節(jié)點(diǎn)的STM32 控制板進(jìn)行數(shù)據(jù)成幀等操作,再通過無線模塊返回至主節(jié)點(diǎn),主節(jié)點(diǎn)通過串口服務(wù)器將數(shù)據(jù)上傳至上位機(jī),顯示此次測(cè)量的數(shù)據(jù)。
硬件設(shè)計(jì)過程中需要考慮以下因素:
1)通信距離盡量遠(yuǎn),由于中控室與料塔之間最遠(yuǎn)距離為800 m,中間有遮擋物、磁場(chǎng)等因素的影響,所以需要一種傳輸距離遠(yuǎn),抗干擾能力強(qiáng),通信可靠的無線傳輸模塊。
2)盡量采用模塊化設(shè)計(jì),降低開發(fā)成本,提高系統(tǒng)穩(wěn)定性和通用性。
2.1.1 主節(jié)點(diǎn)硬件設(shè)計(jì)
主節(jié)點(diǎn)主要由電源管理模塊、STM32[16]控制模塊、串口通信模塊、串口服務(wù)器模塊和無線通信模塊等5 部分構(gòu)成(圖2)。
圖2 主節(jié)點(diǎn)硬件框圖
1)電源管理模塊,系統(tǒng)采用24 V 開關(guān)電源供電,無線通信模塊與串口服務(wù)器模塊工作電壓為5 V,STM32 控制模塊工作電壓為3.3 V,所以需設(shè)計(jì)電路將24 V 電壓轉(zhuǎn)換為5 V 與3.3 V。為滿足無線通信模塊與串口服務(wù)器功耗需求,設(shè)計(jì)的5 V 電壓輸出電流為3 A。選取的芯片為:a)24 V~5 V 采用的是LM2596,3 A 電流輸出降壓開關(guān)型集成穩(wěn)壓芯片。b)5 V~3.3 V 采用的是AMS1085,能保證輸出電流為3 A,且工作壓差可低至1 V。
2)串口通信模塊主要負(fù)責(zé)STM32 控制模塊與無線通信模塊和串口服務(wù)器模塊之間的通信。串口服務(wù)器與STM32 控制模塊采用普通UART 方式通信。無線模塊與STM32 控制模塊使用RS485 通信。
3)STM32 控制模塊,CPU 采用STM32 系列控制器STM32F103VC,主要工作為處理校驗(yàn)上位機(jī)命令字和終端返回的測(cè)量數(shù)據(jù),并協(xié)調(diào)無線通信模塊與串口服務(wù)器之間的工作。
4)無線通信模塊,無線通信模塊功能是將接收到的數(shù)據(jù)透明傳輸出去,內(nèi)部不對(duì)數(shù)據(jù)做任何處理。
2.1.2 終端節(jié)點(diǎn)硬件設(shè)計(jì)
終端節(jié)點(diǎn)硬件框圖如圖3 所示。
1)并口通信模塊,料位計(jì)數(shù)據(jù)采集通過CPLD 模塊完成,終端節(jié)點(diǎn)通過普通I/O 口模擬并口方式與CPLD 模塊進(jìn)行通信,共12 位,其中6 位控制位,主要負(fù)責(zé)命令的傳送;6位有效數(shù)據(jù)位,主要負(fù)責(zé)接收CPLD 采集的有效數(shù)據(jù)。
2)STM32 控制模塊,在終端節(jié)點(diǎn)中該模塊主要工作為:一是將CPLD 采集的數(shù)據(jù)打包成幀,并通過RS485 模塊發(fā)送至無線模塊;二是判斷與校驗(yàn)主節(jié)點(diǎn)發(fā)來的命令幀,提取命令幀的有效命令字轉(zhuǎn)換成相應(yīng)的并口命令,通過并口發(fā)給CPLD 數(shù)據(jù)采集模塊,從而控制料位計(jì)做出相應(yīng)的測(cè)量動(dòng)作。
2.2.1 數(shù)據(jù)傳輸幀格式
CPLD 數(shù)據(jù)采集模塊采集的數(shù)據(jù)為12 位,為方便監(jiān)測(cè)無線通信系統(tǒng)數(shù)據(jù)傳輸?shù)恼_率,將12 位數(shù)據(jù)轉(zhuǎn)換為4 字節(jié)十進(jìn)制數(shù)進(jìn)行傳輸,其幀格式如圖4(以字節(jié)為單位)所示,所有多字節(jié)數(shù)據(jù)傳輸時(shí)均先發(fā)送低字節(jié),再發(fā)送高字節(jié)。
圖4 數(shù)據(jù)幀格式
2.2.2 主節(jié)點(diǎn)軟件設(shè)計(jì)
主節(jié)點(diǎn)主要工作分三部分:無線模塊與STM32 控制板之間的通信,STM32 控制板對(duì)采集到的數(shù)據(jù)與接收到的命令的數(shù)據(jù)處理和STM32 控制板與串口服務(wù)器之間的通信(串口編程方法參考文獻(xiàn)[17])。
通信時(shí)主節(jié)點(diǎn)首先對(duì)接收到的數(shù)據(jù)幀進(jìn)行起始符與幀尾的檢測(cè),對(duì)符合定義的數(shù)據(jù)傳輸幀格式再進(jìn)行處理,否則清除本次接收到的數(shù)據(jù)。然后進(jìn)行有效數(shù)據(jù)的半byte 校驗(yàn),校驗(yàn)無誤后,通過無線模塊發(fā)送給終端或通過串口服務(wù)器發(fā)送至主機(jī)顯示。程序流程圖如圖5 所示。
圖5 主節(jié)點(diǎn)程序流程圖
上位機(jī)將測(cè)量命令發(fā)送至主節(jié)點(diǎn),主節(jié)點(diǎn)通過無線模塊發(fā)送出去后,等待接收終端節(jié)點(diǎn)的握手信息,如果未收到握手信息,主節(jié)點(diǎn)通知上位機(jī)再次發(fā)送測(cè)量命令,直到收到終端節(jié)點(diǎn)的握手信息,確認(rèn)通信已經(jīng)建立后停止重發(fā)。然后等待終端節(jié)點(diǎn)返回測(cè)量數(shù)據(jù),接收到數(shù)據(jù)后,進(jìn)行數(shù)據(jù)處理與校驗(yàn),最后發(fā)送至上位機(jī)進(jìn)行顯示。
2.2.3 終端節(jié)點(diǎn)軟件設(shè)計(jì)
終端節(jié)點(diǎn)主要工作分為無線模塊與STM32 控制板的通信,STM32 控制板與CPLD 數(shù)據(jù)采集模塊的通信和對(duì)采集到的數(shù)據(jù)的處理。主程序流程圖如圖6 所示。
圖6 終端節(jié)點(diǎn)程序流程圖
由于無線傳感網(wǎng)絡(luò)采用的是星型網(wǎng)絡(luò),多個(gè)終端節(jié)點(diǎn)對(duì)應(yīng)一個(gè)主節(jié)點(diǎn),故數(shù)據(jù)在傳輸過程中,尤其是終端節(jié)點(diǎn)向主節(jié)點(diǎn)上報(bào)測(cè)量數(shù)據(jù)時(shí),容易產(chǎn)生沖突,例如,主節(jié)點(diǎn)正在接收某個(gè)終端的數(shù)據(jù)時(shí),其它終端節(jié)點(diǎn)又發(fā)送來一幀數(shù)據(jù),這樣將導(dǎo)致這兩幀數(shù)據(jù)無法通過校驗(yàn)而丟失。鑒于這種情況,針對(duì)不同ID 的終端節(jié)點(diǎn),設(shè)置不同的延時(shí)來返回?cái)?shù)據(jù),從而避免沖突。實(shí)驗(yàn)證明這種方法能有效的避免主節(jié)點(diǎn)接收數(shù)據(jù)時(shí)的沖突。
表1 無線料位傳感器測(cè)試數(shù)據(jù)
為檢測(cè)本系統(tǒng)傳輸數(shù)據(jù)的正確率,在通信網(wǎng)絡(luò)外另加一個(gè)無線通信模塊,直接與PC 機(jī)相連,通過串口調(diào)試助手觀察主節(jié)點(diǎn)與終端節(jié)點(diǎn)發(fā)送的數(shù)據(jù)幀,與無線遙測(cè)系統(tǒng)上位機(jī)軟件接收的數(shù)據(jù)進(jìn)行對(duì)比。上位機(jī)設(shè)置每隔10 分鐘測(cè)量一次,每次測(cè)量完成后自動(dòng)保存數(shù)據(jù),任取其中15 組數(shù)據(jù)如表1 所示。通過工廠實(shí)際測(cè)量,未出現(xiàn)誤碼與丟幀現(xiàn)象。將兩個(gè)不同顯示平臺(tái)數(shù)據(jù)進(jìn)行對(duì)比,可計(jì)算出無線遙測(cè)系統(tǒng)數(shù)據(jù)傳輸?shù)恼_率為100%,在實(shí)測(cè)要求的距離范圍內(nèi),丟幀率為0。
利用433 MHz 頻段無線通信技術(shù)與STM32 設(shè)計(jì)了一種氧化鋁料塔料位無線遙測(cè)系統(tǒng)。經(jīng)過多次現(xiàn)場(chǎng)測(cè)試,本系統(tǒng)數(shù)據(jù)傳輸可靠,且系統(tǒng)穩(wěn)定性高,滿足項(xiàng)目實(shí)際應(yīng)用要求。
[1]孫利民,李建中,陳渝,等.無線傳感器網(wǎng)絡(luò)[M].北京:清華大學(xué)出版社,2005.
[2]馮濤.混合料料倉料位在線監(jiān)測(cè)系統(tǒng)的研制[D].重慶:重慶大學(xué),2008.
[3]陳俊,鄧桂平,戴曉華.基于無線傳感網(wǎng)絡(luò)的智能電網(wǎng)抄表系統(tǒng)研究[J].電測(cè)與儀表,2010,47(8):32-35.
[4]劉國(guó)權(quán).基于ZigBee 無線網(wǎng)絡(luò)的吊鉤偏擺遠(yuǎn)程監(jiān)測(cè)系統(tǒng)[D].廣州:廣東工業(yè)大學(xué),2014.
[5]BG C,W E,ED I,et al.Remote Monitoring of Health Status of the Elderly at Home.A Multidisciplinary Project on Aging at the University of New South Wales[J].Int J Biomed Comput,1995,40(2):147-155.
[6]David B O,Closs G P.Continuous Remote Monitoring of Fish Activity with Restricted Home Ranges Using Radiotelemetry[J].Journal of Fish Biology,2001,59(3):705-715.
[7]王永虹,徐煒,郝立平.STM32 系列ARM Cortex-M3控制器原理與實(shí)踐[M].北京:北京航空航天大學(xué)出版社,2008.
[8]龔建偉,熊光明.Visual C++/Turbo C 串口通信編程實(shí)踐[M].北京:電子工業(yè)出版社,2007.