福田雷沃國際重工股份有限公司 趙傳偉
山東科技職業學院機電工程系 徐鈺琨
基于ARM的旋挖鉆機故障診斷系統的設計與實現
福田雷沃國際重工股份有限公司 趙傳偉
山東科技職業學院機電工程系 徐鈺琨
為實現對旋挖鉆機電控系統的故障排查,設計了一種基于ARM控制的故障診斷系統。該系統中,STM32通過CAN總線實時與旋挖鉆機主控制器(ECU)進行通訊,獲取ECU中的故障代碼和發動機、液壓泵、各類傳感器的數據,并通過串口與臺式電腦或筆記本電腦進行通訊,在Visual Basic編制的上位機程序中顯示各類信息,達到在線診斷的目的。經過測試,此系統可滿足工廠內或作業現場對故障在線診斷的需求,除具備使用簡單、準確可靠的特點外,在其故障診斷范圍內準確率為100%,具有較強的實用價值。
故障診斷系統;旋挖鉆機;STM32;CAN總線;Visual Basic
旋挖鉆機是一種適合樁基礎施工成孔作業的大型施工機械設備。該產品由液壓式伸縮底盤、工作裝置、液壓系統和電控系統四大部分組成。電控系統采用集成線束來連接各類傳感器、執行機構或電控單元,以便實現整機的行走、鉆孔、取土[1]。由于電控系統集成化程度較高,只要一個環節出現故障,便會導致整個系統出現問題。由于系統比較復雜,給一般維修人員帶來較大的困難。為了便于快速診斷故障,縮短維修時間,開發了一套故障診斷系統。
故障診斷系統的主控制器是基于ARM Cortex-M3內核的STM32系列微處理器。此處理器具備外圍接口豐富,支持串口和CAN,功耗低等特點。在系統設計完成后,通過實際的產品測試表明:該系統可滿足工廠內或作業現場對故障在線診斷的需求,除具備使用簡單、準確可靠的特點外,在其故障診斷范圍內準確率為100%,具有較強的實用價值。
旋挖鉆機電控系統主要由四部分組成:(1)電控單元,包括ECU、工況控制器、發動機控制器和遠程通訊模塊;(2)各類傳感器,包括傾角傳感器、深度傳感器、壓力傳感器等;(3)執行機構,包括行走馬達、桅桿油缸、回轉油缸等;(4)控制對象,包括發動機、主泵、電磁閥、油缸、顯示器等。從故障發生的部位來分,其故障類型大致分為傳感器相關故障、發動機相關故障、執行機構故障、線束故障四大類。[2]當故障診斷系統通過CANBUS總線與旋挖鉆機電控系統的ECU接通后,整機則進入診斷模式。故障診斷系統可以讀取ECU中各類參數及故障代碼。
故障診斷系統的設計原理如圖1所示。主要由旋挖鉆機ECU、故障診斷儀、電腦或筆記本三部分組成。其中,故障診斷儀通過CANBUS總線與旋挖鉆機ECU的CAN診斷接口相連接;故障診斷儀通過RS232串口接口與電腦或筆記本相連。故障診斷儀的主要作用是解析故障代碼并發送到上位機上,同時由將上位機需要標定的參數進行格式轉化后發送到旋挖鉆機的ECU中。

圖1 故障診斷系統設計原理圖
故障診斷儀主要在車間使用,同時為了能在惡劣的工作環境下使用,其采用STM32F103CBT6微處理器作為主控制芯片。首先,它的電源管理系統比較可靠,可根據電源的變化選擇三種低功耗模式;其次,封裝形式為LQFP48,通訊接口比較豐富,具有3個串口,1個CAN接口,滿足系統對于各模塊的通訊要求;最后,體積較小,便于集成[3]。
由于旋挖鉆機的ECU具備一個CAN診斷接口,因此, STM32F103CBT6需要通過CAN收發器與旋挖鉆機的ECU進行通訊。兩者之間其遵守CANBUS通訊協議,用CANOPEN或CAN2.0進行數據通訊,數據為自定義的故障診斷代碼或需要標定的參數。[4]
與旋挖鉆機ECU進行數據傳輸的主體是CAN接口電路,如圖2所示。在此電路中采用型號為TJA1050的CAN總線收發器。此收發器通過它的兩個有差動接收和發送能力的總線終端可以連接到柴油發動機的CAN線回路中,從而使STM32F103CBT6微處理器和旋挖鉆機ECU進行通訊。

圖2 CAN接口電路
TJA1050的3號端口為電源端,采用5V電壓;1號、4號端口分別連接STM32F103CBT6的CAN發送端口(33號引腳)和CAN接收端口(32號引腳);8號端口為工作模式選擇端口,其連接到地可進入高速模式(正常工作模式),總線輸出的信號有固定的斜率,可以盡快的速度節能型切換,滿足最大的位速率和最大的總線長度,而且其循環延遲最小;7號和6號端口對應CANH和CANL,為了滿足發動機CAN總線網路的要求,在兩個端口間采用120歐的終端匹配電阻。
軟件設計的重點是STM32F103CBT6的CAN數據接收。RealView MDK是ARM公司專門針對嵌入式處理開發的一套軟件,具有完善的設備調試和軟件仿真功能。由于STM32F103CBT6本身帶有的大量固件庫函數,可以提高代碼質量,縮短開發周期。在本系統中,重點使用flash、DCC、CAN等固件庫。其軟件框架采用主函數和中斷函數的結構。其中,在主函數中對各種功能模塊進行初始化,并實現簡單的數據存儲和數據計算;中斷函數主要實現CAN數據接收和發送。

圖3 CAN數據接收流程
CAN數據接收模塊流程如圖3所示。其中,CAN報文的接收采用中斷方式。因此,在主函數的CAN初始化過程中應該通過調用STM32固件庫函數voidCAN_IT-ConfiG來開啟CAN1的中斷,在接收時通過判斷其標志位來確定是否產生的中斷,以此進入中斷函數對收到的報文進行處理。即:在接收一個報文時,其標識符首先與配置在標識符列表模式下的過濾器相比較,若匹配,報文就被存放到相關聯的FIFO中,并且所匹配的過濾器的序號被存入過濾器匹配序號中。若不匹配,報文標識符立即再與配置在屏蔽位模式下的過濾器進行比較,如果報文標識符與過濾器中的任何標識符都不匹配,那么硬件就丟棄該報文,且不會對軟件有任何打擾。[5]
為了驗證故障診斷系統的準確性及有效性,在福田雷沃重工的FR630D旋挖鉆機產品上進行測試。在整機上每次設置一個故障,分別對發動機、傾角傳感器、行走馬達、遠程通訊模塊等部分進行了測試,測試結果如表1所示。

表1 測試結果
通過表1可以看出,對所有設定的故障,故障診斷系統都給出了相應的故障代碼。特別是遠程通訊模塊,由于本身具備自檢功能,所有能夠對故障進行細化,提高故障排查的準確性。對于一般的故障,根據故障說明可以很快找到相應的部件,然后進行實際檢測,就能診斷出故障。通過對比多次的測試結果,故障診斷系統在測試期間,準確率接近100%,并且運行穩定,沒有出現死機等現象,可靠性較高。
(1)該故障診斷系統可滿足工廠內或作業現場對故障在線診斷的需求,提高了故障診斷的準確性和有效性,降低了工作強度。
(2)由于其測試范圍不能覆蓋全部所有可能發生的故障,同時,在當前的一些故障代碼的細化上還存在不足,需要后續工作繼續優化。
(3)總之,故障診斷系統實現應有的功能和性能,簡單易用,可靠性高,具備較強的實際應用價值。
[1]王興剛,李來平,趙明凱.旋挖鉆機智能控制系統研究[J].建筑機械(上半月),2010(4):90-93.
[2]黎中銀,焦生杰,吳方曉.旋挖鉆機與施工技術[M].人民交通出版社,2010.
[3]STMicroelectronics.STM32F103XB Datasheet [M].STMicroelectronics,2012.
[4]杜松穩.基于單片機的CAN總線傾角傳感器的設計[J].液壓與氣動,2011(3):87-89.
[5]潘銅,葉小榮,張娜,范建峰.STM32的CAN總線中繼器設計及應用[J].單片機與嵌入式系統應用,2011,11,46-49.