蓋文東, 劉 杰, 張 寧, 曲承志, 張 婧
(山東科技大學(xué) 電氣與自動(dòng)化工程學(xué)院, 山東 青島 266590)
為幫助自動(dòng)化專業(yè)的學(xué)生掌握好網(wǎng)絡(luò)通信技術(shù),筆者設(shè)計(jì)了一個(gè)無(wú)線安燈實(shí)驗(yàn)系統(tǒng),以便學(xué)生掌握相關(guān)知識(shí),提高實(shí)踐動(dòng)手能力[1-3]。
安燈系統(tǒng)是一種現(xiàn)代企業(yè)的信息管理工具,主要用于收集生產(chǎn)線上物料、設(shè)備、異常等信息,送入信息管理系統(tǒng)服務(wù)器進(jìn)行統(tǒng)計(jì)、分析和處理,從而實(shí)現(xiàn)生產(chǎn)現(xiàn)場(chǎng)信息透明化[4-5]。該系統(tǒng)采用有線和無(wú)線兩種方式實(shí)現(xiàn)信息收集,其中無(wú)線方式減少了現(xiàn)場(chǎng)布線,在使用中更為靈活、方便[6]。
目前,很多現(xiàn)代制造企業(yè)都建立了基于Wi-Fi的廠區(qū)無(wú)線通信網(wǎng)絡(luò)[7-11],無(wú)線射頻等技術(shù)也得到廣泛應(yīng)用,這為建立無(wú)線安燈系統(tǒng)提供了必要條件。文獻(xiàn)[12]給出一種基于Wi-Fi的安燈系統(tǒng)設(shè)計(jì)方案,但并未給出具體設(shè)計(jì);文獻(xiàn)[13]給出了一種基于單片機(jī)的車(chē)位檢測(cè)實(shí)驗(yàn)系統(tǒng)設(shè)計(jì),包括具體軟硬件設(shè)計(jì),但使用的STC89C52單片機(jī)內(nèi)存、串口等資源較少,功能簡(jiǎn)單,不便于進(jìn)行軟硬件的擴(kuò)展;文獻(xiàn)[14]給出一種基于MF-RC500的射頻交通卡讀卡器設(shè)計(jì),給出了射頻模塊的硬件設(shè)計(jì),但未給出軟件方面的設(shè)計(jì)。
筆者針對(duì)安燈系統(tǒng)的實(shí)際應(yīng)用,完成基于STM32單片機(jī)的無(wú)線安燈實(shí)驗(yàn)系統(tǒng)的硬件、軟件設(shè)計(jì),實(shí)現(xiàn)基于Wi-Fi網(wǎng)絡(luò)環(huán)境的信息傳輸。
基于STM32單片機(jī)的無(wú)線安燈實(shí)驗(yàn)系統(tǒng)的主要組成部分包括:(1)按鈕和刷卡模塊輸入;(2)STM32單片機(jī)及其外圍電路;(3)Wi-Fi無(wú)線通信;(4)繼電器輸出;(5)PC端上位機(jī)。系統(tǒng)結(jié)構(gòu)如圖1所示。

圖1 安燈系統(tǒng)結(jié)構(gòu)圖
系統(tǒng)工作原理是:故障提報(bào)人通過(guò)刷卡模塊確認(rèn)“身份有效”后,通過(guò)按鈕將錯(cuò)誤信息提報(bào)給單片機(jī);單片機(jī)通過(guò)輸出通道控制三色燈亮滅。在這一過(guò)程中,STM32單片機(jī)通過(guò)Wi-Fi模塊實(shí)現(xiàn)與PC端通信。
本實(shí)驗(yàn)系統(tǒng)的主要硬件設(shè)計(jì)包括RFID刷卡部分、數(shù)字量I/O部分、Wi-Fi無(wú)線通信部分和系統(tǒng)電源部分的硬件設(shè)計(jì)。
本實(shí)驗(yàn)系統(tǒng)使用RFID-RD522射頻模塊。RFID-RD522是一種非接觸式讀取IC卡的刷卡模塊[15],該模塊由控制單元、EEPROM存儲(chǔ)單元、高速RF接口和繞線線圈天線組成。
刷卡部分的工作原理是:讀寫(xiě)器向IC卡發(fā)1組固定頻率的電磁波,在電磁波的激勵(lì)下,IC卡將卡內(nèi)數(shù)據(jù)發(fā)射出去或接收讀寫(xiě)器的數(shù)據(jù)。
RFID-RD522與STM32單片機(jī)之間采用SPI通信協(xié)議。RFID-RD522的接口電路設(shè)計(jì)如圖2所示。其中接口1—接口4與STM32的SPI2的4個(gè)數(shù)據(jù)接口NSS、SCK、MOSI、MISO相連接。

圖2 RFID-RD522刷卡模塊接口電路
I/O口輸入部分主要指按鈕信息的輸入。本實(shí)驗(yàn)系統(tǒng)用到5個(gè)按鈕,電路設(shè)計(jì)的任務(wù)是將每個(gè)按鈕“按下”的信息轉(zhuǎn)化為電平信號(hào),并通過(guò)I/O口傳給STM32單片機(jī)以便進(jìn)行下一步操作。本實(shí)驗(yàn)系統(tǒng)按鈕輸入部分的硬件電路如圖3所示。

圖3 按鈕輸入部分硬件電路設(shè)計(jì)
在數(shù)字量輸出接口硬件設(shè)計(jì)中,用3個(gè)繼電器的通斷分別控制三色燈的亮滅。而繼電器的通斷由STM32單片機(jī)I/O口輸出的電平信號(hào)來(lái)控制。其中控制紅燈亮滅的數(shù)字量輸出接口電路如圖4所示。

圖4 控制紅燈亮滅的數(shù)字量輸出接口電路
圖4中的OP5為達(dá)林頓輸出光耦TLP127,需滿足輸出端電流IC與輸入端電流IF之比IC/IF≥5。已知IC max=150 mA(滿足繼電器電流驅(qū)動(dòng)條件),則IF≤30 mA。取輸入IF=10 mA時(shí),TLP127輸入端固有電阻R=115 Ω。輸入端根據(jù)歐姆定律得到如下不等式:
求得:R24≥215 Ω,這里取R24=1 kΩ。
本實(shí)驗(yàn)系統(tǒng)使用ESP8266實(shí)現(xiàn)Wi-Fi通信功能。該模塊內(nèi)置TCP/IP協(xié)議棧,能夠?qū)崿F(xiàn)串口與Wi-Fi之間的轉(zhuǎn)換,從而實(shí)現(xiàn)與單片機(jī)之間的通信。ESP8266模塊支持STA、AP和STA+AP等3種工作模式,本實(shí)驗(yàn)系統(tǒng)選用STA工作模式。
在STA模式下,ESP8266模塊通過(guò)路由器連接互聯(lián)網(wǎng),電腦通過(guò)互聯(lián)網(wǎng)實(shí)現(xiàn)對(duì)設(shè)備的遠(yuǎn)程控制,其接口的設(shè)計(jì)如圖5所示。圖5中接口3與STM32單片機(jī)串口3的RX相連,接口4與STM32單片機(jī)串口3的TX相連。

圖5 Wi-Fi模塊接口電路
電源部分的設(shè)計(jì)采用兩個(gè)原則:(1)減少電源輸出電壓波動(dòng),避免給工作模塊帶來(lái)干擾;(2)輸出的電量能滿足各個(gè)模塊的用電需要。本實(shí)驗(yàn)系統(tǒng)采用電源隔離來(lái)減少干擾:電源部分采用隔離電源模塊,輸入輸出部分采用光耦來(lái)進(jìn)行電源隔離。
電源隔離后向刷卡模塊、Wi-Fi模塊和STM32單片機(jī)供電,需要的電壓均為3.3 V,工作時(shí)能達(dá)到的峰值電流分別為30 mA、200 mA和150 mA。要使所有的模塊正常工作,供電電流至少為所需要電流的2倍,即電源模塊至少能輸出760 mA的電流。本實(shí)驗(yàn)系統(tǒng)采用12 V轉(zhuǎn)3.3 V的隔離穩(wěn)壓模塊,其功率為5 W,輸出電流為1.5 A,滿足上述要求。電源部分電路設(shè)計(jì)如圖6所示。

圖6 電源部分電路圖
使用Altium Designer對(duì)每部分硬件電路進(jìn)行原理圖設(shè)計(jì),并將原理圖導(dǎo)入成PCB圖,經(jīng)過(guò)布板、布線并進(jìn)行覆銅后在3D視圖下查看效果,如圖7示。

圖7 安燈系統(tǒng)PCB板
本系統(tǒng)軟件設(shè)計(jì)使用結(jié)構(gòu)化C語(yǔ)言編程,主要包括:RFID刷卡部分、Wi-Fi無(wú)線通信部分。整個(gè)系統(tǒng)的工作流程如圖8所示。

圖8 系統(tǒng)工作流程圖
刷卡模塊與STM32單片機(jī)之間采用SPI通信,因此在模塊初始化時(shí)要進(jìn)行SPI的初始化,然后進(jìn)行模塊的軟件復(fù)位,之后刷卡模塊會(huì)掃描感應(yīng)區(qū)內(nèi)所有符合14443A標(biāo)準(zhǔn)的卡。
當(dāng)刷卡模塊掃描到有效IC卡時(shí),會(huì)返回字符串“MI_OK”,進(jìn)而進(jìn)行下一步讀取卡號(hào)的操作,將讀取的卡號(hào)進(jìn)行奇偶校驗(yàn),校驗(yàn)成功后刷卡模塊會(huì)將卡號(hào)通過(guò)SPI通信傳給單片機(jī),單片機(jī)通過(guò)串口通信傳給Wi-Fi模塊,通過(guò)Wi-Fi模塊發(fā)送卡號(hào)。RFID刷卡部分軟件設(shè)計(jì)的流程如圖9所示。

圖9 RFID刷卡部分軟件設(shè)計(jì)流程圖
先進(jìn)行Wi-Fi模塊的初始化和串口3的初始化,然后STM32單片機(jī)通過(guò)串口檢測(cè)Wi-Fi模塊是否在線。確認(rèn)Wi-Fi模塊在線后,使用“AT”指令將Wi-Fi模塊設(shè)置為“Wi-Fi STA”模式,并將傳輸方式設(shè)置為透?jìng)鞣绞健M瑯佑谩癆T”指令,將模塊復(fù)位,設(shè)置要連接目標(biāo)路由器的IP地址和密碼。Wi-Fi模塊與目標(biāo)路由器連接成功后,可進(jìn)行下一步操作。Wi-Fi無(wú)線通信部分的流程如圖10所示。

圖10 Wi-Fi無(wú)線通信部分流程圖
無(wú)線傳輸就緒后,單片機(jī)通過(guò)串口將數(shù)據(jù)幀傳給Wi-Fi模塊,Wi-Fi模塊再通過(guò)網(wǎng)絡(luò)將數(shù)據(jù)幀傳給服務(wù)器。反向傳輸同理。傳輸?shù)臄?shù)據(jù)幀包括幀頭、設(shè)備號(hào)、指令碼和狀態(tài)碼4部分,如表1所示。

表1 數(shù)據(jù)幀舉例
使用裝有網(wǎng)絡(luò)調(diào)試助手的PC機(jī)作為服務(wù)器,測(cè)試安燈實(shí)驗(yàn)系統(tǒng)的有效性。無(wú)線傳輸?shù)膸Y(jié)構(gòu)為幀頭A10011,設(shè)備編號(hào)01-99,狀態(tài)信息,亮燈信息,故障信息等,可以根據(jù)需要擴(kuò)展。
表1中第一條指令是服務(wù)器發(fā)送握手指令,幀頭為A100011,設(shè)備號(hào)為05,指令碼05表示設(shè)備上電與服務(wù)器握手交互狀態(tài)。
第二條指令是服務(wù)器收到設(shè)備的握手指令返回給設(shè)備的信息803,803表示此時(shí)服務(wù)器希望亮起綠燈。
第三條指令設(shè)備號(hào)“05”后面表示卡號(hào),設(shè)備讀取卡號(hào)將此條信息上傳給服務(wù)器。然后服務(wù)器校驗(yàn)卡號(hào)通過(guò)后,提報(bào)人可以按下按鈕。
下一條指令為設(shè)備將第一個(gè)按鈕按下的信息上傳給服務(wù)器。再后面的指令信息分別是服務(wù)器命令設(shè)備依次亮起紅燈、黃燈、綠燈的信息。圖11為網(wǎng)絡(luò)調(diào)試助手指令傳輸界面。圖12為設(shè)備亮起綠燈的實(shí)物圖。

圖11 安燈系統(tǒng)網(wǎng)絡(luò)調(diào)試助手界面

圖12 安燈系統(tǒng)實(shí)物圖
基于STM32單片機(jī)設(shè)計(jì)的無(wú)線安燈實(shí)驗(yàn)系統(tǒng)已在創(chuàng)新實(shí)踐環(huán)節(jié)中應(yīng)用,在山東科技大學(xué)自動(dòng)化專業(yè)實(shí)施,使學(xué)生既掌握了新知識(shí),又綜合應(yīng)用了微機(jī)原理與接口技術(shù)、計(jì)算機(jī)控制技術(shù)等課程的相關(guān)知識(shí),達(dá)到了培養(yǎng)學(xué)生實(shí)踐能力的目的。
References)
[1] 趙媛.基于物聯(lián)網(wǎng)技術(shù)的實(shí)驗(yàn)室管理系統(tǒng)研究[D].南京:南京郵電大學(xué),2013.
[2] 高宏巖,張開(kāi)如.自動(dòng)控制原理模塊化實(shí)驗(yàn)教學(xué)模式研究[J].實(shí)驗(yàn)科學(xué)與技術(shù),2014,12(6):62-65.
[3] 胡文鋒,王玲玲,翁紹捷.RFID技術(shù)在高校實(shí)驗(yàn)室設(shè)備管理中的應(yīng)用[J].實(shí)驗(yàn)室研究與探索,2011,30(6):405-407.
[4] 侯曉靜,郭慶.一種基于無(wú)線技術(shù)的安燈系統(tǒng)設(shè)計(jì)[J].微型機(jī)與應(yīng)用,2016,35(10):4-6.
[5] 辛玉軍.安燈系統(tǒng)的作用與建立方式[J].企業(yè)管理,2010(6):67-68.
[6] 張明宙,曹陽(yáng)天.安燈系統(tǒng)在焊裝車(chē)間的應(yīng)用[J].汽車(chē)制造業(yè),2015(15):57-58.
[7] 高原,文瑞松,王土央.無(wú)線傳感器網(wǎng)絡(luò)環(huán)境監(jiān)測(cè)采集節(jié)點(diǎn)的設(shè)計(jì)[J].實(shí)驗(yàn)技術(shù)與管理,2012,29(4):127-131.
[8] 賈浩強(qiáng),李耀.基于WiFi無(wú)線通信的溫濕度檢測(cè)節(jié)點(diǎn)設(shè)計(jì)[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2014,14(5):70-72.
[9] 洪峰,嵇鼎毅,王成華.模擬光伏并網(wǎng)實(shí)驗(yàn)裝置的研制[J].實(shí)驗(yàn)室研究與探索,2010,29(8):11-13,17.
[10] 盛仲飆.WIFI無(wú)線網(wǎng)絡(luò)技術(shù)及安全性研究[J].電子設(shè)計(jì)工程,2012,20(16):1-3.
[11] 李洪彪,廖玲俐.基于Wi-Fi數(shù)據(jù)傳輸?shù)陌矡粝到y(tǒng)設(shè)計(jì)及應(yīng)用[J].自動(dòng)化與儀器儀表,2015,35(4):3-5.
[12] 郭瓊,馬璟.基于無(wú)線通信網(wǎng)絡(luò)的過(guò)程控制實(shí)驗(yàn)平臺(tái)開(kāi)發(fā)[J].實(shí)驗(yàn)技術(shù)與管理,2011,28(10):78-81.
[13] 高宏巖,馬駿,朱林海.基于單片機(jī)的車(chē)位檢測(cè)實(shí)驗(yàn)系統(tǒng)設(shè)計(jì)[J].實(shí)驗(yàn)技術(shù)與管理,2017,34(1):90-93.
[14] 孟凡宇.基于MF-RC500的射頻交通卡讀卡器設(shè)計(jì)[J].實(shí)驗(yàn)室研究與探索,2013,32(4):71-74.
[15] 袁堂泰.基于RFID的智能監(jiān)管系統(tǒng)開(kāi)發(fā)[D].南京:南京理工大學(xué),2014.