苗軼如,華澤璽,李國勝
(西南交通大學電氣工程學院,四川成都 610031)
道岔是礦井下運輸線路的重要組成部分,道岔搬動速度也影響著煤礦的生產(chǎn)效率。目前道岔控制方式主要有三種,分別是現(xiàn)場操作式、司機遙控式和調(diào)度員集控式[1-2]。其中司機遙控式在現(xiàn)階段煤礦生產(chǎn)中是主導方式,通常是以PT2272無線接收芯片、單片機、繼電器為核心的司控道岔系統(tǒng),該控制系統(tǒng)采用單向通信,即只能由遙控器向控制器發(fā)送數(shù)據(jù),在出現(xiàn)道岔控制異常時很難判斷是通信故障還是控制器故障[3],無法快速準確定位故障點,不利于故障檢測和處理。
遙控器是礦車司機發(fā)送道岔搬動指令的工具,文中設計一種新型遙控器,在遙控器上增加鍵盤數(shù)量,擴充遙控器的功能。在遙控器上增加顯示設備,能夠將信息呈現(xiàn)給司機。采用CC1100模塊作為遙控設備和控制器的無線數(shù)據(jù)收發(fā)裝置,從而實現(xiàn)遙控器與控制器的雙向通信,同時也擴充了信息傳輸?shù)娜萘?,建立較完善信息幀,構成設備和通信的安全機制,使司機能夠完成對道岔的控制以及對道岔狀態(tài)的檢測。當控制異常時,也可對通信故障和設備故障及時定位。
遙控器系統(tǒng)主要由單片機、鍵盤、LCD液晶顯示屏和以及無線數(shù)據(jù)發(fā)送模塊構成。系統(tǒng)框圖如圖1所示。鍵盤是系統(tǒng)的輸入設備,司機通過鍵盤完成對道岔的控制和檢測,每觸發(fā)一次按鍵,LCD都會顯示該按鍵,能夠有效減少司機的誤操作。CC1100模塊既是輸入設備,也是輸出設備,能將司機的命令發(fā)送出去,同時也接收控制器回復的信息,接收到的有效信息經(jīng)過解析后會在LCD上顯示,給予司機正確的提示。
圖1 系統(tǒng)總體框圖
遙控器硬件電路由 ATmega16L單片機、CC1100無線收發(fā)器、鍵盤以及帶有背光的FM0802B型LCD組成,硬件電路圖如圖2所示。
圖2 遙控器的硬件電路圖
系統(tǒng)外接8M石英晶體振蕩器Y1,單片機的PB2到PB7引腳與無線收發(fā)模塊CC1100連接,通過 SPI接口(CSN、MOSI、MISO、CSN)對 CC1100模塊的寄存器進行讀寫,從而實現(xiàn)無線數(shù)據(jù)的接收和發(fā)送[4]。LCD用來顯示司機輸入的數(shù)字、信息發(fā)送的結果以及從接收器收到的信息。PC口作為LCD的數(shù)據(jù)輸入端,PD5與FM0802B的RS連接,當單片機對LCD進行寫操作時,PD5用于控制寫命令還是寫數(shù)據(jù),PD6與RW引腳連接,用于選擇數(shù)據(jù)的讀或者寫,PD7是LCD的使能控制端,高電平有效。
鍵盤是遙控器系統(tǒng)的輸入設備,遙控器上一共有14個按鍵和1個電源開關S14。遙控器由3.6V蓄電池供電,由于功率比較大,所以在電源回路上增加開關,當司機不使用遙控器時可以關閉電源。各按鍵的功能如表1所示。
表1 遙控器按鍵功能表
數(shù)字鍵和清除鍵采用3×4矩陣方式由單片機檢測,可以減少I/O口的占用,由PA口實現(xiàn)矩陣鍵盤的檢測,如圖2所示。PA0到PA2設置為輸出模式,PA3到PA6設為輸入模式,每一個按鍵都對應一個獨立的輸出引腳和輸入引腳,輸入的按鍵都會在LCD上正確顯示。S10鍵是清除鍵,當司機發(fā)現(xiàn)道岔編號輸入錯誤時,可以通過按下S12鍵清除前面輸入的數(shù)字,同時也對LCD清屏,糾正輸入錯誤。S11是發(fā)送鍵,它的狀態(tài)被外部中斷INT0檢測,當點擊發(fā)送鍵后,INT0引腳會檢測到下降沿,從而進入INT0的中斷服務程序,此時單片機會通過CC1100模塊將道岔搬動的控制命令發(fā)送給控制器。S12按下觸發(fā)INT1的中斷服務程序,用于發(fā)送道岔檢測命令[5]。
遙控器與接收器之間通信的幀格式如表2所示。一共有6位,起始碼固定為02H,結束碼為03H。幀類型位用于表示該報文是遙控器發(fā)給控制器的命令幀還是控制器回復給遙控器的信息幀,31H表示該信息幀是遙控器發(fā)送給控制器的,32H表示此信息幀是控制器發(fā)給遙控器。
表2 遙控器和控制器的信息幀格式
指令碼用于區(qū)分信息幀,設定了6個指令碼,它們所表示的內(nèi)容如表3所示。31H和32H是遙控器發(fā)送的,31H為搬動當前道岔命令,32H為讀取道岔的狀態(tài)。當控制器接收到道岔控制命令后,會立即給遙控器發(fā)送指令碼為33H的信息幀,表示道岔控制命令收到,可以確定通信故障是否存在。當控制器收到遙控器發(fā)送的道岔檢測指令后,會將道岔的道岔位置發(fā)送給遙控器,道岔左側發(fā)送指令碼為34H的信息幀,道岔右側發(fā)送指令碼為35H的信息幀。如果控制器在規(guī)定時間內(nèi)未能將道岔搬動到位,則發(fā)送指令碼為30H的信息幀,提示司機道岔搬動異常。
表3 指令碼的含義
當控制器接收到遙控器發(fā)送的有效道岔搬動指令后,先立即向發(fā)送命令的遙控器發(fā)送指令碼為33H的信息幀,通知司機道岔命令已收到,這樣可以確定通信故障是否存在。當?shù)啦戆釀映晒螅傧蜻b控器發(fā)送當前道岔狀態(tài),失敗則發(fā)送道岔搬動失敗的信息。
在遙控器軟件程序中定義了幾個關鍵的全局變量和數(shù)組,如表4和表5所示。
表4 遙控器程序中的變量及含義
表5 遙控器軟件程序中的數(shù)組及含義
num的初始值設置為0,yaokong_num的初始值為此遙控器的編號,在程序中不會被改變。rec_buffer的初始值全設置為0,它用于存放CC1100無線收發(fā)模塊接收到的數(shù)據(jù)。send_control和send_check數(shù)組的初始值按照3中規(guī)定的遙控器的命令幀格式設置,其中表示道岔號的第四位初始值設為0。
遙控器的軟件程序設計包括主程序和兩個外部中斷服務程序,主程序流程圖見圖3。
圖3 遙控器主程序流程圖
首先進行初始化,包括設定引腳的數(shù)據(jù)方向寄存器和數(shù)據(jù)寄存器的初始值。使能SPI接口將單片機設置為主機模式,16分頻。開全局中斷,使能INT0和INT1的外部中斷,下降沿觸發(fā)。初始化CC1100模塊、FM0802B。然后程序進入查詢狀態(tài),不斷檢測是否有鍵按下,是數(shù)字鍵,則改變變量num,表達式如公式1
式中key表示當前輸入的數(shù)字。并用LCD顯示其值。如果按下的不是數(shù)字鍵,就是清零鍵,該鍵將num置零,并對LCD寫入清零指令。主程序還要不斷檢測CC1100模塊是否接收到數(shù)據(jù),接收到數(shù)據(jù)后對該rec_buffer進行校驗,校驗過程分三步:校驗起始位和結束位是否為02H和03H;校驗幀類型是否為32H;校驗遙控器位是否為 ID號yaokong_num。以上三步都正確則根據(jù)rec_buffer的第4位和第5位進行解析,用LCD顯示該數(shù)據(jù)代表的內(nèi)容[6-7]。例如,收到了2號道岔在左側的信息幀,則LCD會顯示出“switch2 left”,如圖4所示。無效則丟棄數(shù)據(jù),初始化 rec_buffer。
圖4 遙控器實物圖
當按下發(fā)送鍵時,INT0引腳由高降至低,從而進入INT0的外部中斷服務程序,程序流程圖如圖5所示。進入中斷服務程序后,先關中斷。即在中斷服務程序中禁止其它中斷響應。之后對num進行檢測,如果值為零,LCD顯示“input error”,提示司機道岔號沒有輸入或輸入錯誤。如果值不為零,將num裝載入道岔控制命令數(shù)組的第四位,向遙控器發(fā)送道岔控制命令幀send_control,并在 LCD上顯示“send ok”,然后將 num清零,再次允許INT0和INT1中斷。
圖5 外部中斷INT0的中斷服務程序流程圖
當司機不清楚前方道岔狀態(tài)時,可以通過發(fā)送道岔檢測命令讀取當前道岔的狀態(tài),即觸發(fā)檢測按鍵,此時進入INT1的中斷服務程序。程序流程基本相同,唯一的區(qū)別是將send_check數(shù)組發(fā)送給控制器,而不是send_control。
該系統(tǒng)已經(jīng)經(jīng)過現(xiàn)場測試,實驗數(shù)據(jù)如表6所示。逐漸擴大遙控器與控制器的距離,觀察并記錄對轉轍機控制成功的次數(shù)。由表6可見,在30m范圍內(nèi),控制器能夠對遙控器發(fā)送的控制命令成功接收并對轉轍機做出控制,當距離增加到40m時,會出現(xiàn)控制失敗的情況,成功率為82%。
表6 實驗數(shù)據(jù)
文中設計一種新型遙控器,實驗結果表明:該遙控器系統(tǒng)的有效控制距離至少為30m,且控制時間低于3s,達到了煤礦運輸?shù)囊?。同時還能對道岔狀態(tài)進行有效檢測,無論道岔搬動正常還是異常,都能夠有效提示司機道岔當前的狀態(tài)。此遙控器可以在其它的控制領域作為遙控器使用,具有很好的可移植性。
[1]姚玉欽,丁瑩亮.基于單片機的無線遙控式直流電動道岔控制系統(tǒng)設計[J].礦山機械,2008,36(19):64-67.
[5]中華人民共和國建設部.GB50388-2006煤礦井下機車運輸信號設計規(guī)范[M].北京:中國計劃出版社,2006.
[2]中華人民共和國建設部.GB50388-2006煤礦井下機車運輸信號設計規(guī)范[M].北京:中國計劃出版社,2006.
[3]胡智宏,盧中寧.新型煤礦道岔無線控制系統(tǒng)設計[J].煤礦機械,2008,8(29):105 -107.
[4]王俊荷,高飛,吳節(jié)林.基于CC1100點對點無線數(shù)據(jù)采集[J].計算機科學,2011,10A(38):212 -214.
[5]王東,盛強,何小剛.基于ATmega16散射光式濁度儀的設計[J].太原理工大學學報,2010,1(40):80-82.
[6] Hua Ze-xi,Chen Xiang-dong,Yin Zhong-ke.Reliability and Real-time of Data Transfer of Operation Control System for High-speed Train[C].The Eighth International Conference Chinese Logistics and Transportation Professionals,2008:2485 -2490.
[7] Yanuarsyah Haroen,Tri Desmana R.Design of Remote Controller of Multiple Unit Locomoltives for Coal Freight rain in South Sumatera Indonesia[J].Power E-lectronics and Drive Systems,2003,11(2):978 -981.