趙四海等
摘 要:該文提出了一種基于2.4 GHz無(wú)線射頻芯片nRF24LE1的掘進(jìn)機(jī)遙控裝置的設(shè)計(jì)方案。闡述了如何通過(guò)nRF24LE1實(shí)現(xiàn)遙控操作的過(guò)程。介紹了基于片上系統(tǒng)nRF24LE1的遙控裝置硬件設(shè)計(jì)和無(wú)線收發(fā)流程,建立了nRF24LE1和機(jī)載PLC之間RS485通訊協(xié)議。該裝置具有性能穩(wěn)定可靠,成本低,人機(jī)界面良好的特點(diǎn)。
關(guān)鍵詞:掘進(jìn)機(jī) 遙控裝置 nRF24LE1 PLC
中圖分類號(hào):TP273.5 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1674-098X(2015)06(a)-0050-03
掘進(jìn)機(jī)是煤礦井下巷道掘進(jìn)的重要設(shè)備,傳統(tǒng)的掘進(jìn)機(jī)作業(yè)依賴掘進(jìn)機(jī)司機(jī)的手動(dòng)操作,主要通過(guò)操作箱上的按鈕以及油缸換向閥來(lái)完成采掘工作[1]。一方面,由于煤礦井下工作環(huán)境惡劣,通常巷道內(nèi)伴隨著高溫、高壓環(huán)境以及高瓦斯?jié)舛?,安全事故頻發(fā);另一方面,掘進(jìn)機(jī)工作現(xiàn)場(chǎng)的粉塵以及機(jī)體振動(dòng)等因素給操作人員的工作帶來(lái)了很大的困難,導(dǎo)致勞動(dòng)強(qiáng)度較大,掘進(jìn)效率難以得到保障。針對(duì)以上情況,該文提出了一種基于nRF24LE1的掘進(jìn)機(jī)遙控裝置的設(shè)計(jì)方案,通過(guò)手持式遙控器實(shí)現(xiàn)對(duì)掘進(jìn)機(jī)電控系統(tǒng)工作參數(shù)的監(jiān)測(cè)以及掘進(jìn)機(jī)運(yùn)行的控制。該裝置可穩(wěn)定運(yùn)行于惡劣的掘進(jìn)環(huán)境,有效地保證了掘進(jìn)機(jī)操作人員的人身安全,減少安全事故的發(fā)生,全面提升掘進(jìn)機(jī)的工作效率。
1 系統(tǒng)結(jié)構(gòu)
掘進(jìn)機(jī)遙控裝置的總體結(jié)構(gòu)如圖1所示,主要由手持式遙控器、機(jī)載收發(fā)器和機(jī)載PLC組成。由于一般要求對(duì)掘進(jìn)機(jī)的遙控有效距離是15 m,故裝置采用nRF24LE1射頻芯片即可達(dá)到要求。手持式遙控器是以片上系統(tǒng)nRF24LE1無(wú)線射頻芯片為核心,外接LCD液晶顯示模塊以及功能鍵組成。機(jī)載收發(fā)器由nRF24LE1射頻芯片以及RS485通訊端口組成,通過(guò)RS485總線與機(jī)載PLC進(jìn)行通信。
遙控裝置的工作過(guò)程大致為:掘進(jìn)機(jī)電控系統(tǒng)上電后,操作人員按下遙控器上的按鈕后,遙控器發(fā)出無(wú)線遙控信號(hào),位于主控箱內(nèi)的機(jī)載收發(fā)器接收到無(wú)線信號(hào)后,經(jīng)處理后輸入機(jī)載收發(fā)器的單片機(jī)內(nèi),單片機(jī)通過(guò)485通信端口與PLC通訊,然后PLC檢測(cè)到信號(hào)后,經(jīng)程序處理輸出控制信號(hào);當(dāng)電控系統(tǒng)出現(xiàn)故障后,PLC檢測(cè)到故障信號(hào)后通過(guò)485通訊端口傳輸?shù)綑C(jī)載收發(fā)器,機(jī)載收發(fā)器存儲(chǔ)故障原因并將故障信號(hào)傳輸?shù)竭b控器,遙控器檢測(cè)到故障信號(hào)后,在顯示屏上顯示故障信號(hào)并提醒操作人員處理故障。
2 硬件系統(tǒng)設(shè)計(jì)
2.1 手持式遙控器
手持式遙控器主要由無(wú)線收發(fā)模塊、顯示模塊、功能鍵、控制單元以及本安電池組成,硬件框圖如圖2所示。遙控器主要實(shí)現(xiàn)控制油泵、截割、二運(yùn)、風(fēng)機(jī)電機(jī)的啟停,工作參數(shù)的顯示等功能。遙控器發(fā)出的無(wú)線控制指令經(jīng)過(guò)機(jī)載接收器中無(wú)線接收模塊的接收、解調(diào),控制信號(hào)驅(qū)動(dòng)相應(yīng)的繼電器動(dòng)作,動(dòng)作的節(jié)點(diǎn)信號(hào)送入PLC的開關(guān)量輸入端,經(jīng)PLC處理輸出控制信號(hào),使掘進(jìn)機(jī)完成相應(yīng)的動(dòng)作,實(shí)現(xiàn)遙控功能。
根據(jù)實(shí)際要求,遙控器與機(jī)載收發(fā)器采用相同的無(wú)線射頻芯片,即Nordic公司生產(chǎn)的超低功耗nRF24LE1無(wú)線射頻芯片。nRF24LE1內(nèi)部集成了增強(qiáng)型8位8051 MCU和nRF24L01+2.4 GHz射頻收發(fā)器,并通過(guò)SPI接口進(jìn)行通信[2]。片內(nèi)集成14路6~12位的A/D轉(zhuǎn)換器,模擬信號(hào)經(jīng)簡(jiǎn)單的濾波后可以直接接入nRF24LE1,不需要信號(hào)調(diào)理電路。工作于2.4~2.5 GHz的ISM頻段,有多達(dá)125個(gè)頻點(diǎn),可通過(guò)改變頻率的方式來(lái)避免干擾,最大傳輸速率可達(dá)2 Mbit/s,室內(nèi)傳輸距離可達(dá)30~40 m [3]。
遙控器采用本安電池供電。顯示屏采用液晶顯示模塊VLCM12864,對(duì)掘進(jìn)機(jī)電控系統(tǒng)的重要工礦參數(shù)進(jìn)行顯示。遙控器共用6個(gè)按鍵,分別是開機(jī)鍵、急停鍵、油泵啟動(dòng)鍵、截割啟動(dòng)鍵、二運(yùn)啟動(dòng)鍵、風(fēng)機(jī)啟動(dòng)鍵。
2.2 機(jī)載收發(fā)器
機(jī)載收發(fā)器同樣采用nRF24LE1無(wú)線射頻芯片。芯片內(nèi)部集成的MCU通過(guò)通訊電路與PLC進(jìn)行485通訊,通訊電路如圖3所示,其中A、B兩端為485通訊接口,通過(guò)通訊電路與固定操作站、無(wú)線遙控站通訊,實(shí)現(xiàn)對(duì)掘進(jìn)機(jī)的控制以及工作狀態(tài)的實(shí)時(shí)顯示。機(jī)載收發(fā)器與PLC之間采用主從方式通信,PLC每隔200 ms向機(jī)載收發(fā)器發(fā)送數(shù)據(jù),其接收到數(shù)據(jù)后存儲(chǔ)到MCU的存儲(chǔ)器中,同時(shí)通過(guò)無(wú)線模塊向遙控器發(fā)送信號(hào)。
3 軟件設(shè)計(jì)
3.1 主程序
主程序由遙控器程序和機(jī)載收發(fā)程序兩部分,軟件流程圖如圖4所示。遙控器上電后,首先對(duì)nRF24LE1內(nèi)部MCU以及外圍硬件進(jìn)行初始化,然后打開中斷并進(jìn)入省電模式。其中,按鍵信號(hào)的接收及處理均采用中斷方式,大大減輕MCU的負(fù)擔(dān),降低功耗。在此過(guò)程中系統(tǒng)產(chǎn)生中斷,MCU強(qiáng)制進(jìn)入運(yùn)行模式,調(diào)用相應(yīng)中斷服務(wù)程序處理按鍵信號(hào)。系統(tǒng)掃描到的按鍵信號(hào)后將發(fā)出無(wú)線按鍵指令,發(fā)送完畢后,對(duì)發(fā)送的指令進(jìn)行校驗(yàn);若發(fā)送不成功,則重新發(fā)送直至校驗(yàn)正確。同時(shí),系統(tǒng)也接收機(jī)載收發(fā)器發(fā)送的信號(hào),并對(duì)接收信號(hào)進(jìn)行校驗(yàn),若接收信號(hào)不成功,則發(fā)出指令重新接收直至接收成功,最后將接收的信號(hào)送至VLCM12864模塊上顯示。發(fā)送或接收數(shù)據(jù)時(shí),顯示燈閃爍一次表示收發(fā)成功。系統(tǒng)在完成每次收發(fā)協(xié)作后進(jìn)入低功耗模式,等待下一步動(dòng)作。機(jī)載收發(fā)器上電后,首先對(duì)nRF24LE1內(nèi)部MCU以及外圍硬件進(jìn)行初始化,然后檢測(cè)有無(wú)無(wú)線信號(hào)可接收,若有無(wú)線信號(hào)接收,則對(duì)信號(hào)接收并校驗(yàn)。同時(shí)機(jī)載收發(fā)器反饋PLC的信號(hào),將反饋數(shù)據(jù)通過(guò)無(wú)線模塊發(fā)送并校驗(yàn),直至發(fā)送成功。在數(shù)據(jù)校驗(yàn)中,其核心問(wèn)題在于校驗(yàn)一組數(shù)據(jù)的正確性及數(shù)據(jù)是否發(fā)送成功。若數(shù)據(jù)發(fā)送錯(cuò)誤,則將標(biāo)志清零;若數(shù)據(jù)發(fā)送正確且是發(fā)送給本機(jī),在主程序中決定是否發(fā)送顯示數(shù)據(jù)和按鍵數(shù)據(jù)。當(dāng)主程序發(fā)送完這些數(shù)據(jù)后,將重新進(jìn)入省電模式。
3.2 無(wú)線收發(fā)程序
nRF24L1內(nèi)置有8051內(nèi)核芯片,無(wú)線射頻收發(fā)功能主要是通過(guò)訪問(wèn)其內(nèi)部寄存器register map設(shè)置芯片的工作方式,相應(yīng)的通訊存儲(chǔ)器TXFIFOs以及RXFIFOs用于存儲(chǔ)無(wú)線發(fā)送和接收的通訊數(shù)據(jù)[4]。本設(shè)計(jì)采用了Enhance ShockBurstTM收發(fā)模式通訊,即位于電控箱內(nèi)的機(jī)載收發(fā)站與手持式遙控器之間的通訊模式采用Enhance ShockBurstTM,相應(yīng)的通訊數(shù)據(jù)幀格式如表1所示。Enhance ShockBurstTM數(shù)據(jù)包基于可靠數(shù)據(jù)雙向鏈路層,主發(fā)送端發(fā)送一個(gè)數(shù)據(jù)包后自動(dòng)進(jìn)入接收模式,主接收端接收數(shù)據(jù)后自動(dòng)發(fā)送一個(gè)確認(rèn)應(yīng)答。同時(shí)射頻芯片內(nèi)部遵循高速處理的RF協(xié)議,自動(dòng)處理前導(dǎo)碼和 CRC校驗(yàn)碼,發(fā)送數(shù)據(jù)時(shí)只需將數(shù)據(jù)放入發(fā)送數(shù)據(jù)緩沖區(qū),器件會(huì)自行產(chǎn)生前導(dǎo)字符和CRC校驗(yàn)碼,并將這些數(shù)據(jù)地址和地址信息、發(fā)送數(shù)據(jù)緩沖區(qū)的數(shù)據(jù)等組成一個(gè)數(shù)據(jù)包發(fā)送出去。endprint
無(wú)線收發(fā)程序包括接收程序和發(fā)送程序。發(fā)送程序通過(guò)主程序調(diào)用子程序,其主要功能是將鍵盤的鍵值打包發(fā)送至主控器,以控制掘進(jìn)機(jī)執(zhí)行相應(yīng)的動(dòng)作。接收程序是通過(guò)中斷程序來(lái)完成,用以接收從主控器發(fā)送的掘進(jìn)機(jī)各電機(jī)的狀態(tài)參數(shù)。無(wú)線發(fā)送模塊處于發(fā)送模式時(shí),要置高POR_UP,置低PRIM_RX位,TX FIFO不為空,rfce位置高10 μs后置低進(jìn)入發(fā)送模式,發(fā)射器將保持在發(fā)送模式直到數(shù)據(jù)包發(fā)送完畢。此時(shí)若rfce為零,收發(fā)器返回待機(jī)模式[5,6]。若rfce為1且TX FIFO不為空,則收發(fā)器繼續(xù)保留在發(fā)送模式并發(fā)送下一數(shù)據(jù)包。在發(fā)送數(shù)據(jù)過(guò)程中,不能收發(fā)器置于發(fā)射模式超過(guò)4ms。模塊處于接收模式時(shí),要將PWR_UP位、PRIM_RX位以及rfce位置1,從而對(duì)信號(hào)進(jìn)行調(diào)節(jié),當(dāng)?shù)刂放c自身地址一致且CRC校驗(yàn)正確時(shí),有效數(shù)據(jù)被送到RX FIFOs。若RX FIFOs已滿,則數(shù)據(jù)包被丟棄。
3.3 液晶顯示程序
遙控站顯示程序作為一個(gè)人機(jī)交互程序供主程序調(diào)用,主要用于顯示掘進(jìn)機(jī)相關(guān)電機(jī)的運(yùn)行狀態(tài)參數(shù)和故障狀態(tài),程序主要實(shí)現(xiàn)對(duì)液晶模塊VLCM12864的使用。PLC將實(shí)時(shí)采集掘進(jìn)機(jī)的各種參數(shù),并將油泵、截割、二運(yùn)、風(fēng)機(jī)電機(jī)等關(guān)鍵參數(shù)發(fā)送給機(jī)載收發(fā)器,再發(fā)送至遙控器上,遙控器接收到相應(yīng)的數(shù)據(jù)后送入VLCM12864模塊顯示,顯示流程圖如圖5所示。
3.4 通訊協(xié)議
系統(tǒng)通訊通過(guò)PLC作為主機(jī)來(lái)實(shí)現(xiàn),PLC與機(jī)載收發(fā)器采用RS485接口實(shí)現(xiàn)通訊,總線協(xié)議上采用Modbus協(xié)議。Modbus協(xié)議中波特率為19200bps,1個(gè)起始位,8個(gè)數(shù)據(jù)位,數(shù)據(jù)校驗(yàn)采用查詢法CRC校驗(yàn)。PLC中設(shè)置為主站,并用F145 SEND指令,設(shè)置發(fā)送Modbus地址、從站地址,以及發(fā)送內(nèi)容。
4 結(jié)語(yǔ)
通過(guò)調(diào)試與試驗(yàn),采用基于2.4 GHz無(wú)線射頻芯片nRF24LE1的掘進(jìn)機(jī)遙控裝置具有成本低、體積小、功耗低及性能穩(wěn)定等特點(diǎn)。該裝置可實(shí)現(xiàn)對(duì)油泵、風(fēng)機(jī)、二運(yùn)、截割電機(jī)等相關(guān)工作參數(shù)進(jìn)行實(shí)時(shí)監(jiān)測(cè)和控制,及時(shí)發(fā)現(xiàn)故障與隱患并采取相應(yīng)的措施,確保掘進(jìn)機(jī)安全可靠運(yùn)行;減輕了工人的工作強(qiáng)度,改善了工人的工作環(huán)境,提高了工作效率。
參考文獻(xiàn)
[1] 謝錫純,李曉豁.礦山機(jī)械與設(shè)備[M].北京:中國(guó)礦業(yè)大學(xué)出版社,2000.
[2] 孫傳堂,李威.基于ARM和nRF905的采煤機(jī)遙控裝置設(shè)計(jì)[J].礦山機(jī)械,2010(17):23-26.
[3] 程冬,丁保華.基于片上系統(tǒng)CC2530的采煤機(jī)遠(yuǎn)程遙控裝置設(shè)計(jì)[J].礦山機(jī)械,2010(3):19-21.
[4] 馬躍坤,應(yīng)時(shí)彥,楊文君,等.基于nRF24LE1的無(wú)線數(shù)據(jù)傳輸系統(tǒng)實(shí)現(xiàn)[J].浙江工業(yè)大學(xué)學(xué)報(bào),2010,38(6):666-672.
[5] 周鑫.nRF9401在采煤機(jī)遙控遙測(cè)裝置中的應(yīng)用[J].煤礦機(jī)械,2003(5):40-42.
[6] 王立峰,王光欣,陳旭東,等.基于nRF24LE1的智能雙向汽車遙控系統(tǒng)[J].工業(yè)控制計(jì)算機(jī),2011,24(1):99-100.
[7] 肖林榮,應(yīng)時(shí)彥,馬躍坤,等.2.4GHz射頻收發(fā)芯片nRF24LE1及其應(yīng)用[J].信息技術(shù),2009(12):13-16,20.endprint