福田雷沃國際重工股份有限公司 趙傳偉
山東科技職業(yè)學(xué)院機(jī)電工程系 徐鈺琨
基于ARM的旋挖鉆機(jī)故障診斷系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
福田雷沃國際重工股份有限公司 趙傳偉
山東科技職業(yè)學(xué)院機(jī)電工程系 徐鈺琨
為實(shí)現(xiàn)對旋挖鉆機(jī)電控系統(tǒng)的故障排查,設(shè)計(jì)了一種基于ARM控制的故障診斷系統(tǒng)。該系統(tǒng)中,STM32通過CAN總線實(shí)時(shí)與旋挖鉆機(jī)主控制器(ECU)進(jìn)行通訊,獲取ECU中的故障代碼和發(fā)動(dòng)機(jī)、液壓泵、各類傳感器的數(shù)據(jù),并通過串口與臺式電腦或筆記本電腦進(jìn)行通訊,在Visual Basic編制的上位機(jī)程序中顯示各類信息,達(dá)到在線診斷的目的。經(jīng)過測試,此系統(tǒng)可滿足工廠內(nèi)或作業(yè)現(xiàn)場對故障在線診斷的需求,除具備使用簡單、準(zhǔn)確可靠的特點(diǎn)外,在其故障診斷范圍內(nèi)準(zhǔn)確率為100%,具有較強(qiáng)的實(shí)用價(jià)值。
故障診斷系統(tǒng);旋挖鉆機(jī);STM32;CAN總線;Visual Basic
旋挖鉆機(jī)是一種適合樁基礎(chǔ)施工成孔作業(yè)的大型施工機(jī)械設(shè)備。該產(chǎn)品由液壓式伸縮底盤、工作裝置、液壓系統(tǒng)和電控系統(tǒng)四大部分組成。電控系統(tǒng)采用集成線束來連接各類傳感器、執(zhí)行機(jī)構(gòu)或電控單元,以便實(shí)現(xiàn)整機(jī)的行走、鉆孔、取土[1]。由于電控系統(tǒng)集成化程度較高,只要一個(gè)環(huán)節(jié)出現(xiàn)故障,便會導(dǎo)致整個(gè)系統(tǒng)出現(xiàn)問題。由于系統(tǒng)比較復(fù)雜,給一般維修人員帶來較大的困難。為了便于快速診斷故障,縮短維修時(shí)間,開發(fā)了一套故障診斷系統(tǒng)。
故障診斷系統(tǒng)的主控制器是基于ARM Cortex-M3內(nèi)核的STM32系列微處理器。此處理器具備外圍接口豐富,支持串口和CAN,功耗低等特點(diǎn)。在系統(tǒng)設(shè)計(jì)完成后,通過實(shí)際的產(chǎn)品測試表明:該系統(tǒng)可滿足工廠內(nèi)或作業(yè)現(xiàn)場對故障在線診斷的需求,除具備使用簡單、準(zhǔn)確可靠的特點(diǎn)外,在其故障診斷范圍內(nèi)準(zhǔn)確率為100%,具有較強(qiáng)的實(shí)用價(jià)值。
旋挖鉆機(jī)電控系統(tǒng)主要由四部分組成:(1)電控單元,包括ECU、工況控制器、發(fā)動(dòng)機(jī)控制器和遠(yuǎn)程通訊模塊;(2)各類傳感器,包括傾角傳感器、深度傳感器、壓力傳感器等;(3)執(zhí)行機(jī)構(gòu),包括行走馬達(dá)、桅桿油缸、回轉(zhuǎn)油缸等;(4)控制對象,包括發(fā)動(dòng)機(jī)、主泵、電磁閥、油缸、顯示器等。從故障發(fā)生的部位來分,其故障類型大致分為傳感器相關(guān)故障、發(fā)動(dòng)機(jī)相關(guān)故障、執(zhí)行機(jī)構(gòu)故障、線束故障四大類。[2]當(dāng)故障診斷系統(tǒng)通過CANBUS總線與旋挖鉆機(jī)電控系統(tǒng)的ECU接通后,整機(jī)則進(jìn)入診斷模式。故障診斷系統(tǒng)可以讀取ECU中各類參數(shù)及故障代碼。
故障診斷系統(tǒng)的設(shè)計(jì)原理如圖1所示。主要由旋挖鉆機(jī)ECU、故障診斷儀、電腦或筆記本三部分組成。其中,故障診斷儀通過CANBUS總線與旋挖鉆機(jī)ECU的CAN診斷接口相連接;故障診斷儀通過RS232串口接口與電腦或筆記本相連。故障診斷儀的主要作用是解析故障代碼并發(fā)送到上位機(jī)上,同時(shí)由將上位機(jī)需要標(biāo)定的參數(shù)進(jìn)行格式轉(zhuǎn)化后發(fā)送到旋挖鉆機(jī)的ECU中。
圖1 故障診斷系統(tǒng)設(shè)計(jì)原理圖
故障診斷儀主要在車間使用,同時(shí)為了能在惡劣的工作環(huán)境下使用,其采用STM32F103CBT6微處理器作為主控制芯片。首先,它的電源管理系統(tǒng)比較可靠,可根據(jù)電源的變化選擇三種低功耗模式;其次,封裝形式為LQFP48,通訊接口比較豐富,具有3個(gè)串口,1個(gè)CAN接口,滿足系統(tǒng)對于各模塊的通訊要求;最后,體積較小,便于集成[3]。
由于旋挖鉆機(jī)的ECU具備一個(gè)CAN診斷接口,因此, STM32F103CBT6需要通過CAN收發(fā)器與旋挖鉆機(jī)的ECU進(jìn)行通訊。兩者之間其遵守CANBUS通訊協(xié)議,用CANOPEN或CAN2.0進(jìn)行數(shù)據(jù)通訊,數(shù)據(jù)為自定義的故障診斷代碼或需要標(biāo)定的參數(shù)。[4]
與旋挖鉆機(jī)ECU進(jìn)行數(shù)據(jù)傳輸?shù)闹黧w是CAN接口電路,如圖2所示。在此電路中采用型號為TJA1050的CAN總線收發(fā)器。此收發(fā)器通過它的兩個(gè)有差動(dòng)接收和發(fā)送能力的總線終端可以連接到柴油發(fā)動(dòng)機(jī)的CAN線回路中,從而使STM32F103CBT6微處理器和旋挖鉆機(jī)ECU進(jìn)行通訊。
圖2 CAN接口電路
TJA1050的3號端口為電源端,采用5V電壓;1號、4號端口分別連接STM32F103CBT6的CAN發(fā)送端口(33號引腳)和CAN接收端口(32號引腳);8號端口為工作模式選擇端口,其連接到地可進(jìn)入高速模式(正常工作模式),總線輸出的信號有固定的斜率,可以盡快的速度節(jié)能型切換,滿足最大的位速率和最大的總線長度,而且其循環(huán)延遲最小;7號和6號端口對應(yīng)CANH和CANL,為了滿足發(fā)動(dòng)機(jī)CAN總線網(wǎng)路的要求,在兩個(gè)端口間采用120歐的終端匹配電阻。
軟件設(shè)計(jì)的重點(diǎn)是STM32F103CBT6的CAN數(shù)據(jù)接收。RealView MDK是ARM公司專門針對嵌入式處理開發(fā)的一套軟件,具有完善的設(shè)備調(diào)試和軟件仿真功能。由于STM32F103CBT6本身帶有的大量固件庫函數(shù),可以提高代碼質(zhì)量,縮短開發(fā)周期。在本系統(tǒng)中,重點(diǎn)使用flash、DCC、CAN等固件庫。其軟件框架采用主函數(shù)和中斷函數(shù)的結(jié)構(gòu)。其中,在主函數(shù)中對各種功能模塊進(jìn)行初始化,并實(shí)現(xiàn)簡單的數(shù)據(jù)存儲和數(shù)據(jù)計(jì)算;中斷函數(shù)主要實(shí)現(xiàn)CAN數(shù)據(jù)接收和發(fā)送。
圖3 CAN數(shù)據(jù)接收流程
CAN數(shù)據(jù)接收模塊流程如圖3所示。其中,CAN報(bào)文的接收采用中斷方式。因此,在主函數(shù)的CAN初始化過程中應(yīng)該通過調(diào)用STM32固件庫函數(shù)voidCAN_IT-ConfiG來開啟CAN1的中斷,在接收時(shí)通過判斷其標(biāo)志位來確定是否產(chǎn)生的中斷,以此進(jìn)入中斷函數(shù)對收到的報(bào)文進(jìn)行處理。即:在接收一個(gè)報(bào)文時(shí),其標(biāo)識符首先與配置在標(biāo)識符列表模式下的過濾器相比較,若匹配,報(bào)文就被存放到相關(guān)聯(lián)的FIFO中,并且所匹配的過濾器的序號被存入過濾器匹配序號中。若不匹配,報(bào)文標(biāo)識符立即再與配置在屏蔽位模式下的過濾器進(jìn)行比較,如果報(bào)文標(biāo)識符與過濾器中的任何標(biāo)識符都不匹配,那么硬件就丟棄該報(bào)文,且不會對軟件有任何打擾。[5]
為了驗(yàn)證故障診斷系統(tǒng)的準(zhǔn)確性及有效性,在福田雷沃重工的FR630D旋挖鉆機(jī)產(chǎn)品上進(jìn)行測試。在整機(jī)上每次設(shè)置一個(gè)故障,分別對發(fā)動(dòng)機(jī)、傾角傳感器、行走馬達(dá)、遠(yuǎn)程通訊模塊等部分進(jìn)行了測試,測試結(jié)果如表1所示。
表1 測試結(jié)果
通過表1可以看出,對所有設(shè)定的故障,故障診斷系統(tǒng)都給出了相應(yīng)的故障代碼。特別是遠(yuǎn)程通訊模塊,由于本身具備自檢功能,所有能夠?qū)收线M(jìn)行細(xì)化,提高故障排查的準(zhǔn)確性。對于一般的故障,根據(jù)故障說明可以很快找到相應(yīng)的部件,然后進(jìn)行實(shí)際檢測,就能診斷出故障。通過對比多次的測試結(jié)果,故障診斷系統(tǒng)在測試期間,準(zhǔn)確率接近100%,并且運(yùn)行穩(wěn)定,沒有出現(xiàn)死機(jī)等現(xiàn)象,可靠性較高。
(1)該故障診斷系統(tǒng)可滿足工廠內(nèi)或作業(yè)現(xiàn)場對故障在線診斷的需求,提高了故障診斷的準(zhǔn)確性和有效性,降低了工作強(qiáng)度。
(2)由于其測試范圍不能覆蓋全部所有可能發(fā)生的故障,同時(shí),在當(dāng)前的一些故障代碼的細(xì)化上還存在不足,需要后續(xù)工作繼續(xù)優(yōu)化。
(3)總之,故障診斷系統(tǒng)實(shí)現(xiàn)應(yīng)有的功能和性能,簡單易用,可靠性高,具備較強(qiáng)的實(shí)際應(yīng)用價(jià)值。
[1]王興剛,李來平,趙明凱.旋挖鉆機(jī)智能控制系統(tǒng)研究[J].建筑機(jī)械(上半月),2010(4):90-93.
[2]黎中銀,焦生杰,吳方曉.旋挖鉆機(jī)與施工技術(shù)[M].人民交通出版社,2010.
[3]STMicroelectronics.STM32F103XB Datasheet [M].STMicroelectronics,2012.
[4]杜松穩(wěn).基于單片機(jī)的CAN總線傾角傳感器的設(shè)計(jì)[J].液壓與氣動(dòng),2011(3):87-89.
[5]潘銅,葉小榮,張娜,范建峰.STM32的CAN總線中繼器設(shè)計(jì)及應(yīng)用[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2011,11,46-49.