張 軍,李 珂
(鄭州大學(xué) 機械工程學(xué)院,河南 鄭州 450001)
輪緣與鋼軌軌距角間的磨耗主要是由機車運行于曲線路段造成的,并且外軌側(cè)磨損最為嚴重,正確合理的軌道潤滑可以極大程度地減少車輪與鋼軌的磨損[1-2].目前國內(nèi)在空曠開闊環(huán)境中大量使用的道旁軌距面潤滑裝置如圖1所示.它包括太陽能供電系統(tǒng)、列車接近傳感器、控制系統(tǒng)和機械執(zhí)行機構(gòu)等部分[3].這種潤滑裝置適用于小半徑曲線鋼軌和編組場道岔曲尖軌潤滑,具有涂覆位置準確、設(shè)備維護方便等優(yōu)點.但其控制系統(tǒng)存在無法靈活調(diào)節(jié)潤滑劑量、功耗大等缺點.
本文設(shè)計一種基于STM32單片機的道旁軌距面潤滑控制系統(tǒng),根據(jù)系統(tǒng)需要選擇型號為STM32F103VET的單片機作為控制系統(tǒng)的核心處理器.該單片機功能集成度高,包含多種接口(如多達80個通用IO端口、11個定時器和13路通信接口等),與外界的擴展連接非常方便.它可以通過連接各種傳感器獲取外部信息,通過連接電機驅(qū)動模塊控制電機運動,也可以通過通信接口與上位機進行通信,實現(xiàn)數(shù)據(jù)的交互.以該單片機為基礎(chǔ)設(shè)計的道旁軌距面潤滑控制系統(tǒng)可以實現(xiàn)潤滑劑量的靈活調(diào)節(jié),同時在檢測到?jīng)]有列車通過時輸出關(guān)閉機械執(zhí)行機構(gòu)電源的控制指令,以降低系統(tǒng)功耗.
圖1 道旁軌距面潤滑裝置
基于單片機的道旁軌距面潤滑控制系統(tǒng)框圖如圖2所示.STM32F103VET微控制器是該系統(tǒng)的核心,它具有ARM Cortex-M3內(nèi)核.進行系統(tǒng)設(shè)計時可將其工作頻率設(shè)置為72 MHz,并采用內(nèi)部FLASH存放運行參數(shù).微控制器通過RS232通信接口與上位機進行通信,實現(xiàn)系統(tǒng)軟硬件測試和運行參數(shù)的交互.該系統(tǒng)的工作狀態(tài)指示主要由LED指示燈完成,指示的內(nèi)容包括運行、欠壓、缺料和故障.
圖2 潤滑控制系統(tǒng)框圖
STM32F103VET微控制器通過驅(qū)動模塊控制電機運動;通過外部繼電器切斷機械執(zhí)行機構(gòu)電源;利用控制器內(nèi)部的定時器和IO端口,連接列車接近傳感器、上下限位接近開關(guān)等模塊,實現(xiàn)控制系統(tǒng)的智能化運行.
STM32F103VET微控制器是意法半導(dǎo)體公司在業(yè)界最先推出的高性能、低功耗、低成本的嵌入式32位處理器.其內(nèi)部集成3路具有12位精度的模數(shù)轉(zhuǎn)換器(ADC)、脈沖寬度調(diào)制(PWM)控制器、高達512 kB的閃存器、13路通信接口等,有利于簡化控制系統(tǒng)外圍電路設(shè)計,可靠性更高,非常適用于功能豐富的智能道旁軌距面潤滑控制系統(tǒng).
RS232是一種串行通信總線標準,是數(shù)據(jù)終端設(shè)備(DTE)和數(shù)據(jù)通信設(shè)備(DCE)之間的接口標準.STM32F103VET微控制器和上位機進行串口通信時,盡管STM32F103VET微控制器具有串行通信的功能,但其提供信號的電平和RS232的標準不一樣,因此需要進行電平轉(zhuǎn)換.該潤滑控制系統(tǒng)能夠通過MAX232電平轉(zhuǎn)換芯片實現(xiàn)微控制器與上位機之間的通信,并通過串口調(diào)試助手實現(xiàn)核心處理器與上位機之間的數(shù)據(jù)交互.
電機控制模塊硬件部分包括光電耦合器和電機驅(qū)動模塊L298N.其中,光電耦合器的型號為TLP291-4;電機驅(qū)動模塊L298N內(nèi)含兩個H橋的高電壓大電流全橋式驅(qū)動器,用于驅(qū)動直流電機、步進電機和繼電器線圈等感性負載[4].電機驅(qū)動電路如圖3所示.STM32F103VET主芯片的兩個通用IO端口通過光電耦合器分別與圖3中的A和B連接,作為電機驅(qū)動模塊的輸入端,用于控制電機的轉(zhuǎn)向.STM32F103VET主芯片使用內(nèi)部定時器產(chǎn)生一路PWM輸出,通過型號為PC410L0NIP的光電耦合器與電機驅(qū)動模塊L298N的使能端連接,用于控制電機的停轉(zhuǎn)和速度調(diào)節(jié).
圖3 電機驅(qū)動電路
列車接近傳感器是一種電磁傳感器,它能夠直接從被測對象的機械運動中測出電信號.列車接近傳感器通常被固定在鐵道上,通過導(dǎo)線將電信號傳入控制系統(tǒng).本設(shè)計選用的列車接近傳感器輸出信號為3~18 V的正弦交流電壓.列車接近傳感器電路如圖4所示.
圖4 列車接近傳感器電路
在圖4中,D10為SMBJ26CA瞬態(tài)抑制二極管,用于后續(xù)電路保護;MB6S是橋式整流器,列車接近傳感器輸出的正弦交流電壓由它轉(zhuǎn)換為直流電壓;PS2805-1是光電耦合器,包含一個砷化鎵二極管和一個光電晶體管,對STM32F103VET微控制器的GPIO口實現(xiàn)電氣隔離和保護.
當(dāng)列車駛?cè)霛櫥瑓^(qū)域時,列車接近傳感器檢測到列車到達信號,將信號傳遞給控制器,控制器驅(qū)動執(zhí)行機構(gòu)開始潤滑工作,執(zhí)行機構(gòu)將潤滑塊推入潤滑區(qū)域,對鋼軌內(nèi)側(cè)實施潤滑.隨著潤滑塊的逐漸上升,需要檢測潤滑塊的實際位置,用來監(jiān)控執(zhí)行機構(gòu)的安全運行,同時也為下一步操作發(fā)出切換指令.接近開關(guān)在控制系統(tǒng)中是常用的傳感器元件,主要有以下幾種:電感式、電容式、霍爾式和光電式.本設(shè)計選用的是三線制的電感式接近開關(guān).
潤滑控制的系統(tǒng)軟件以美國Keil Software公司的Keil μVision5為開發(fā)環(huán)境,使用嵌入式C語言編寫整個控制程序.根據(jù)道旁軌距面潤滑裝置功能要求設(shè)計的系統(tǒng)主程序流程如圖5所示.系統(tǒng)開機后,開始運行電機、限位開關(guān)、列車接近傳感器等模塊的初始化程序,并訪問內(nèi)部FLASH,讀取系統(tǒng)運行參數(shù)(包括運行時間、休息時間和運行速度).初始化程序完成后,系統(tǒng)程序開始在就緒、運行和休眠3個狀態(tài)之間切換(圖6).當(dāng)系統(tǒng)檢測到上限位接近開關(guān)信號時,開始運行復(fù)位程序;檢測到下限位接近開關(guān)信號時,開始運行等待換料程序;直到操作人員更換好潤滑劑并按下復(fù)位按鍵,新的工作循環(huán)才開始.
程序主邏輯中運用了狀態(tài)機的編程思路,實現(xiàn)了控制系統(tǒng)在就緒、運行、休眠3個狀態(tài)之間的靈活轉(zhuǎn)換.狀態(tài)機是軟件編程的一個重要概念.思路清晰而且高效的程序中通常有狀態(tài)機的存在.
圖5 系統(tǒng)主程序流程
圖6 系統(tǒng)狀態(tài)切換示意圖
STM32F103VET微控制器通過RS232串口與上位機連接,利用其自身的USART控制器完成通信.USART控制器使用之前需要初始化,初始化的主要任務(wù)是設(shè)置操作每個通道所需要的參數(shù).這些參數(shù)包括串口通信時數(shù)據(jù)串的數(shù)據(jù)位、停止位、奇偶校驗位等.另外,還需要設(shè)置通信的波特率及中斷方式.在系統(tǒng)設(shè)計時,通信設(shè)置為接收完成中斷方式,波特率設(shè)置為常用的115 200 Bd/s;數(shù)據(jù)串設(shè)置為8位數(shù)據(jù)位、1位停止位和無奇偶校驗.
RS232通信主要有兩大類:讀取運行參數(shù)和傳感器信息;發(fā)送修改運行參數(shù)指令.STM32單片機采集到的傳感器信息、運行參數(shù)和報警信息等經(jīng)過處理傳送給上位機.上位機通過串口調(diào)試助手查看STM32單片機發(fā)出的數(shù)據(jù).該控制系統(tǒng)的監(jiān)控信息如表1所示.上位機也可以通過串口調(diào)試助手發(fā)送特定格式的指令來修改控制系統(tǒng)的運行參數(shù).
表1 控制系統(tǒng)的監(jiān)控信息列表
STM32F103VET微控制器具有強大的PWM輸出功能.當(dāng)TIMx_CNT向上(加1)計數(shù)累加到寄存器TIMx_CCRx確定的值時,PWM輸出通道便會實現(xiàn)電平的翻轉(zhuǎn);當(dāng)TIMx_CNT被加載到TIMx_ARR寄存器時便會自動清零.因此,通過TIMx_ARR和TIMx_CCRx寄存器可確定PWM的周期和占空比[5].STM32單片機的PWM可分為模式1和模式2.當(dāng)模式1向上計數(shù)時,一旦 TIMx_CNT=TIMx_CCR1,通道1則為無效電平,否則為有效電平.當(dāng)模式2向上計數(shù)時,一旦TIMx_CNT=TIMx_CCR1,通道1則為有效電平,否則為無效電平.
該潤滑控制系統(tǒng)的電機控制采用模式2.定時器4選用CH2通道,頻率為200 Hz,占空比為50%.TIM4定時器輸出PWM的步驟如下:
步驟1 開啟TIM4時鐘及復(fù)用功能時鐘;
步驟2 設(shè)置GPIO;
步驟3 設(shè)置TIM4定時器的相關(guān)寄存器;
步驟4 設(shè)置TIM4定時器的PWM相關(guān)寄存器;
步驟5 使能TIM4.
完成了以上5個步驟就可以實現(xiàn)PWM的不同輸出,但其占空比是固定的.通過修改TIM4_CCR2可控制CH2的輸出占空比,從而實現(xiàn)對電機轉(zhuǎn)速的調(diào)節(jié).修改占空比的代碼如下:
void TIM_SetCompare2(TIM_TypeDef* TIMx, uint16_t Compare2)
{
assert_param(IS_TIM_LIST6_PERIPH(TIMx));
TIMx->CCR2 = Compare2;
}
所設(shè)計的道旁軌距面潤滑控制系統(tǒng)以STM32單片機作為控制器,通過專用電纜連接線驅(qū)動8路機械執(zhí)行機構(gòu)同時工作,對系統(tǒng)的運行狀態(tài)進行實時監(jiān)控.其控制面板上帶有通用RS232接口,操作人員可以使用RS232連接線完成控制系統(tǒng)與上位機的連接,獲取控制系統(tǒng)運行參數(shù)、蓄電池電壓以及報警信息,并且可以根據(jù)車流量的大小,通過發(fā)送運行參數(shù)修改指令,實現(xiàn)對潤滑劑量的靈活調(diào)節(jié).
道旁軌距面潤滑控制系統(tǒng)以基于ARM Cortex-M3內(nèi)核的STM32F103VET微處理器為核心,集成了列車接近傳感器、限位接近開關(guān)、電機驅(qū)動控制模塊、LED指示燈及RS232通信電路等.在相應(yīng)的軟件程序控制下,該潤滑控制系統(tǒng)能夠?qū)崟r監(jiān)控潤滑系統(tǒng)的工作狀態(tài)及運行參數(shù).在檢測到?jīng)]有列車經(jīng)過時,控制系統(tǒng)能夠通過繼電器關(guān)閉機械傳動機構(gòu)的電源,有效降低了潤滑裝置的功耗.在噴涂潤滑劑量過多或不足的情況下,操作人員通過上位機可以調(diào)節(jié)控制系統(tǒng)的運行參數(shù),減少或增加潤滑劑的噴涂量,直至噴涂量合適為止.該控制系統(tǒng)具有抗干擾能力強、結(jié)構(gòu)清晰等優(yōu)點.其設(shè)計應(yīng)用為道旁軌距面潤滑裝置的智能化控制提供了一種思路.
參考文獻:
[1] 李 輝,楊 獻,唐岡林.智能化機車輪緣噴油控制器的設(shè)計[J].機車電傳動,2009(6):29-31.
[2] WANG Wenjian,GUO Jun,LIU Qiyue.Experimental study on wear and spalling behaviors of railway wheel[J].Chinese Journal of Mechanical Engineering,2013,26(6):1243-1249.
[3] 徐鳳生.輪軌摩擦管理技術(shù)及其應(yīng)用研究[J].武漢理工大學(xué)學(xué)報(信息與管理工程版),2017,39(5):643-648.
[4] 趙慶松,蘇 敏.基于ARM的直流電機調(diào)速系統(tǒng)的設(shè)計與實現(xiàn)[J].微計算機信息,2007(2):173-175.
[5] 彭 剛,袁 兵.基于雙ARM Cortex架構(gòu)的移動機器人控制器設(shè)計[J].華中科技大學(xué)學(xué)報(自然科學(xué)版),2013,41(S1):284-288.