,,,,
(上海工程技術(shù)大學(xué) 汽車工程學(xué)院,上海 201620)
隨著社會(huì)的日益發(fā)展,液壓抓斗被廣泛的使用在工程應(yīng)用中。液壓系統(tǒng)是一個(gè)典型的高度非線性系統(tǒng),系統(tǒng)各回路之間相互干涉,使其失效形式、故障機(jī)理復(fù)雜多樣[1]。為了更好的檢測(cè)液壓抓斗的工作狀態(tài),目前市場上已經(jīng)研制出了液壓抓斗智能管理系統(tǒng),在液壓抓斗智能管理系統(tǒng)中涉及到單片機(jī)數(shù)據(jù)采集電路、開關(guān)按鈕以及各類傳感器。由于在現(xiàn)場安裝設(shè)備時(shí),時(shí)常出現(xiàn)由于設(shè)備本身的各種問題導(dǎo)致現(xiàn)場安裝失敗,浪費(fèi)大量的時(shí)間、人力和物力。目前對(duì)液壓設(shè)備故障的診斷主要依靠維修人員的經(jīng)驗(yàn)和相關(guān)儀器對(duì)設(shè)備的檢測(cè)。這種診斷方式太過于依賴維修人員的主觀經(jīng)驗(yàn),并且診斷過程具有一定的隨機(jī)性,既費(fèi)時(shí)又費(fèi)力。因此設(shè)計(jì)一套液壓抓斗控制器在環(huán)仿真與檢測(cè)系統(tǒng)就顯得非常重要。該系統(tǒng)采用有線通信、無線通信和串口通信相結(jié)合的方式進(jìn)行模擬數(shù)據(jù)的發(fā)送、模擬數(shù)據(jù)的傳輸和模擬數(shù)據(jù)的接收及驗(yàn)證。通過上位機(jī)對(duì)收發(fā)數(shù)據(jù)的對(duì)比看是否相同或相近來判斷所檢測(cè)的液壓抓斗控制器是否存在故障。
液壓抓斗控制器主要由安裝在液壓抓斗上的現(xiàn)場工作參數(shù)檢測(cè)與處理模塊,控制室參數(shù)顯示模塊和PC機(jī)遠(yuǎn)程監(jiān)控等三大部分組成。具體組成原理如圖1所示。
圖1 液壓抓斗控制器主要組成原理圖
在抓斗工作時(shí),現(xiàn)場工作參數(shù)檢測(cè)與處理模塊采集液壓系統(tǒng)、電機(jī)系統(tǒng)、環(huán)境與抓斗姿態(tài)等相關(guān)數(shù)據(jù),通過無線或有線通訊方式,將采集的數(shù)據(jù)傳輸至控制室參數(shù)顯示模塊。通過控制室參數(shù)顯示模塊傳輸給指定的PC機(jī)遠(yuǎn)程監(jiān)控終端,以便于對(duì)抓斗的工作狀況進(jìn)行及時(shí)監(jiān)控;在抓斗部分系統(tǒng)處于故障或者不正當(dāng)操作時(shí),及時(shí)向控制室工作人員報(bào)警。
在環(huán)仿真與測(cè)試系統(tǒng)主要由模擬量發(fā)送模塊、CAN通信模塊、ICAN-4404模擬量輸出模塊、ZigBee發(fā)送模塊、ZigBee接收模塊、單片機(jī)數(shù)據(jù)處理模塊和數(shù)據(jù)校驗(yàn)等模塊組成,其中模擬量發(fā)送模塊、模擬量接收模塊和數(shù)據(jù)驗(yàn)收模塊都在上位機(jī)中通過Microsoft Visual Studio 2013編譯環(huán)境中的MFC模塊編譯完成。液壓抓斗在環(huán)仿真與測(cè)試系統(tǒng)主要用來模擬的物理量有:壓力、回油溫度、稱重質(zhì)量、油箱液位、電機(jī)溫度。
在PC端上位機(jī)和ICAN-4404模擬量輸出模塊之間使用CAN總線進(jìn)行模擬數(shù)據(jù)的傳輸,將模擬數(shù)據(jù)以高位和低位的形式發(fā)送給ICAN-4404模擬量輸出模塊,ICAN-4404模擬量輸出模塊將接收到的數(shù)據(jù)轉(zhuǎn)化為電壓或者電流等模擬物理量,通過單片機(jī)電路中的數(shù)據(jù)采集模塊處理以后再通過單片機(jī)上的ZigBee模塊進(jìn)行轉(zhuǎn)發(fā)。在PC端上位機(jī)中編寫有數(shù)據(jù)接收模塊,利用串口通信對(duì)單片上ZigBee模塊轉(zhuǎn)發(fā)的數(shù)據(jù)進(jìn)行接收,此時(shí)PC端需要連接一個(gè)ZigBee模塊來實(shí)現(xiàn)該過程。在PC端上位機(jī)中也編寫有數(shù)據(jù)驗(yàn)證模塊,將通過CAN總線發(fā)送出去的模擬數(shù)據(jù)和通過PC端ZigBee接收到的模擬數(shù)據(jù)進(jìn)行對(duì)比比較,當(dāng)收發(fā)數(shù)據(jù)相同或是相近時(shí),判斷所檢測(cè)的設(shè)備合格,在上位機(jī)界面上顯示檢測(cè)成功,當(dāng)收發(fā)數(shù)據(jù)不同或是相差較大,判斷所檢測(cè)的設(shè)備不合格,在上位機(jī)界面上顯示檢測(cè)失敗。液壓抓斗控制器在環(huán)仿真與檢測(cè)系統(tǒng)工作原理如圖2所示。
圖2 系統(tǒng)工作原理圖
CAN總線技術(shù)是當(dāng)今自動(dòng)化領(lǐng)域技術(shù)發(fā)展的熱點(diǎn),液壓系統(tǒng)工作參數(shù)的實(shí)時(shí)監(jiān)測(cè)依靠穩(wěn)定和可靠的數(shù)據(jù)傳輸[2]。CAN總線是一種高性能、高可靠性、易開發(fā)且成本低的串行通信現(xiàn)場總線,由于其優(yōu)越的性能被廣泛用于各個(gè)領(lǐng)域[3]。液壓抓斗控制器在環(huán)仿真與檢測(cè)系統(tǒng)依靠CAN總線技術(shù)實(shí)現(xiàn)數(shù)據(jù)可靠且穩(wěn)定的傳輸。CAN總線是一種有效支持分布式控制或?qū)崟r(shí)控制的串行通信網(wǎng)絡(luò),CAN總線通信速率可達(dá)到1 Mb/s,最大通信距離可達(dá)10 km[4]。液壓抓斗控制器在環(huán)仿真與檢測(cè)系統(tǒng)中,上位機(jī)就是通過USB-CAN模塊將模擬數(shù)據(jù)發(fā)送給ICAN-4404模擬量輸出模塊,最終實(shí)現(xiàn)模擬數(shù)據(jù)的發(fā)送。
ZigBee是一種短距離低速傳輸?shù)臒o線網(wǎng)絡(luò)協(xié)議[5]。ZigBee技術(shù)是近年來新興的一種無線傳感網(wǎng)絡(luò)技術(shù),主要用于距離短、功耗低且傳輸速率不高的各種電子設(shè)備之間進(jìn)行數(shù)據(jù)傳輸以及典型的有周期性數(shù)據(jù)、間歇性數(shù)據(jù)和低反應(yīng)時(shí)間數(shù)據(jù)傳輸?shù)膽?yīng)用。ZigBee網(wǎng)絡(luò)節(jié)點(diǎn)按功能分為三大類:協(xié)調(diào)器節(jié)點(diǎn)、路由器節(jié)點(diǎn)、終端節(jié)點(diǎn)[6]。本次設(shè)計(jì)中所用的模塊為ZigBee集成模塊。
本次設(shè)計(jì)中用到的數(shù)據(jù)采集電路,有線通信模塊是以英飛凌公司生產(chǎn)的XC2234微控制器為基礎(chǔ)進(jìn)行設(shè)計(jì)的。XC2234微控制器是一種16/32位微控制器, 含有通用串行接口、MultiCAN接口和兩個(gè)可以實(shí)現(xiàn)同步的A/D轉(zhuǎn)換器,提供多達(dá)16個(gè)通道,可以滿足本次設(shè)計(jì)要求。
圖3為電源電路圖,為了使電源正負(fù)極接反時(shí)電路不導(dǎo)通,從而達(dá)到保護(hù)后級(jí)電路的目的,將一個(gè)PMOS管加在了電源輸入端。由于硬件系統(tǒng)傳感器的驅(qū)動(dòng)電壓最低為9 V,所以選用了LM2576開關(guān)型降壓穩(wěn)壓器,它的電壓可調(diào)節(jié)。系統(tǒng)設(shè)計(jì)時(shí)加入了兩個(gè)電阻進(jìn)行配合,使得LM2576輸出電壓為9 V。由公式:
VOUT=VREF(1+R9/R8)VREF=1.23V
R8取值在1~5 K之間,取1 K,R9的值經(jīng)計(jì)算得6.8 K。通信模塊供電電壓為5 V,利用LM117-5低壓差線性調(diào)壓器使得電壓降低到5 V為通信模塊供電;
圖3 電源電路
Infineon XC2234微控制器上集成有MultiCAN模塊,具有6個(gè)全功能CAN節(jié)點(diǎn),各個(gè)節(jié)點(diǎn)均可以通過網(wǎng)關(guān)功能進(jìn)行數(shù)據(jù)、遠(yuǎn)程幀的交換或獨(dú)立工作。為了增強(qiáng)CAN總線通信的抗干擾性和可靠性,在CANH和CANL之間接入一只120 Ω的保護(hù)電阻。CAN通信電路如圖4所示。
圖4 CAN外圍收發(fā)器電路
系統(tǒng)設(shè)計(jì)時(shí)使用的ZigBee模塊為上海順舟電子科技有限公司的SZ05-ADV-TTL無線串口通信模塊。該模塊抗干擾能力強(qiáng)且通信距離較遠(yuǎn)。微控制處理器與ZigBee模塊以異步URTA模式進(jìn)行通信,所以僅僅將模塊的發(fā)送(TXD)及接收(RXD)引腳和控制器兩端進(jìn)行連接,即可以實(shí)現(xiàn)通信。ZigBee外部電路如圖5所示。
圖5 ZigBee外圍電路
系統(tǒng)設(shè)計(jì)時(shí),油箱液位信號(hào)發(fā)送的是開關(guān)信號(hào),處理電路如圖6所示。由于MCU的I/O輸入端口電壓輸入范圍在0~5 V之間,所以接入BAT54S肖特基二極管達(dá)到鉗位處理的目的,輸入電壓高于+5 V時(shí),電壓被鉗位在+5 V,電壓低于0 V的時(shí)候,電壓被鉗位在0 V。
圖6 液位開關(guān)電路
系統(tǒng)對(duì)溫度和壓力信號(hào)進(jìn)行采集時(shí),選用的是3 200系列高壓OEM壓力變送器,由美國Gems公司提供。此款傳感器測(cè)溫范圍-40~125 ℃,測(cè)壓范圍0~250 bar,滿足系統(tǒng)設(shè)計(jì)要求?;赜蜏囟群蛪毫Σ杉娐分性韴D如圖7所示。傳感器與電壓信號(hào)輸出,所以在AD轉(zhuǎn)換前再使用一個(gè)電壓跟隨器用來提高帶負(fù)載的能力,使溫度和壓力信號(hào)穩(wěn)定輸出。
圖7 回油溫度與壓力采集電路
數(shù)據(jù)有線傳輸時(shí),主控制器等待CAN進(jìn)入中斷。程序進(jìn)入中斷以后,通過CAN收發(fā)器的CANH和CANL進(jìn)行數(shù)據(jù)的發(fā)送和接收。上位機(jī)中的模擬數(shù)據(jù)以CAN報(bào)文的形式發(fā)送給ICAN-4404模擬量輸出模塊,報(bào)文格式見表1,數(shù)據(jù)幀類型采用標(biāo)準(zhǔn)幀,幀ID根據(jù)ICAN-4404模擬量輸出模塊上的標(biāo)準(zhǔn)ID手動(dòng)設(shè)置旋鈕來定義為0x201和0x202。不同的ID代表發(fā)送不同的參數(shù)。
表1 CAN通信中的幀格式定義
表1幀格式定義中的標(biāo)準(zhǔn)幀指的是所發(fā)送的數(shù)據(jù)均用標(biāo)準(zhǔn)幀,不用擴(kuò)展幀。標(biāo)準(zhǔn)幀的ID長度是11位,也即是幀ID的范圍是000-7FF。在本次設(shè)計(jì)中,發(fā)送的格式為“0X201 XX XX XX XX XX XX XX XX”共11位。在標(biāo)準(zhǔn)幀的11位長度中,幀ID長度占3位,模擬數(shù)據(jù)位占8位。由于每項(xiàng)數(shù)據(jù)占據(jù)兩位,分別為一個(gè)低位和一個(gè)高位。因此發(fā)送一幀數(shù)據(jù)最多發(fā)送4項(xiàng)模擬數(shù)據(jù)。
模擬數(shù)據(jù)發(fā)送模塊發(fā)送的模擬數(shù)據(jù)類別分為A點(diǎn)壓力、B點(diǎn)壓力、G點(diǎn)壓力、回油溫度、液壓抓斗左臂抓取質(zhì)量、液壓抓斗右臂抓取質(zhì)量、油箱液位和電機(jī)溫度等八項(xiàng)。系統(tǒng)中用到了兩個(gè)ICAN-4404模塊,每個(gè)模塊傳輸4路數(shù)據(jù)。一個(gè)模塊傳輸A點(diǎn)壓力、B點(diǎn)壓力、G點(diǎn)壓力和回油溫度信號(hào)。另一個(gè)模塊傳輸左臂抓取質(zhì)量、液壓抓斗右臂抓取質(zhì)量、油箱液位和電機(jī)溫度信號(hào)。按照順序?qū)l(fā)送的每項(xiàng)模擬數(shù)據(jù)經(jīng)過計(jì)算轉(zhuǎn)換化為十六進(jìn)制按照高字節(jié)在前,低字節(jié)在后的模式通過USB-CAN發(fā)送給ICAN-4404模擬量輸出模塊。
數(shù)據(jù)進(jìn)行無線傳輸時(shí),ZigBee模塊首先把數(shù)據(jù)寫入到TXD中,再從RXD中被讀出。系統(tǒng)設(shè)計(jì)時(shí)設(shè)定節(jié)點(diǎn)每隔1 000 ms將液壓抓斗在環(huán)仿真與測(cè)試系統(tǒng)發(fā)送的模擬數(shù)據(jù)打包發(fā)送給上位機(jī)ZigBee節(jié)點(diǎn),其中由于溫度變化較慢,所以回油溫度的模擬數(shù)據(jù)設(shè)定每隔3 000 ms發(fā)送一次。發(fā)送的幀格式見表2。上位機(jī)端的ZigBee節(jié)點(diǎn)地址必須為(0x000),而采集端地址可為0x0001-0xFFFF范圍中的任意數(shù)值,此處節(jié)點(diǎn)地址占兩個(gè)字節(jié);設(shè)備號(hào)的發(fā)送是為了幫助接收端區(qū)分所接收數(shù)據(jù)是哪臺(tái)設(shè)備發(fā)送的,設(shè)備號(hào)占一個(gè)字節(jié)。為了區(qū)分不同類型的檢測(cè)參數(shù),還使用了標(biāo)識(shí)碼,標(biāo)識(shí)碼占用一個(gè)字節(jié);發(fā)送的每一項(xiàng)模擬數(shù)據(jù)均采用低字節(jié)在后、高字節(jié)在前的模式,每項(xiàng)數(shù)據(jù)共占兩個(gè)字節(jié)。數(shù)據(jù)在進(jìn)行無線傳輸過程中,可能會(huì)受到外界環(huán)境影響,造成數(shù)據(jù)包丟失。上位機(jī)接收到數(shù)據(jù)后,首先對(duì)幀頭幀尾進(jìn)行判斷,檢測(cè)接收的數(shù)據(jù)是否是完整的,如果不完整,則舍棄接收的該幀數(shù)據(jù),否則再根據(jù)數(shù)據(jù)的標(biāo)識(shí)符和位數(shù)來判斷所接收數(shù)據(jù)的類型并進(jìn)行相應(yīng)的解析和顯示。
表2 ZigBee的幀格式定義
根據(jù)表2中的定義,實(shí)際接收的一幀數(shù)據(jù)為“AA CC 00 08 F2 09 05 F1 05 F0 02 0D 05 AA 55”,其中AA CC為幀頭,00為節(jié)點(diǎn)地址,08為設(shè)別編號(hào),F(xiàn)2為標(biāo)識(shí)碼,09 05 F1 05 F0 02 0D 05為采樣數(shù)據(jù),AA 55為幀尾。
1)要實(shí)現(xiàn)對(duì)傳感器采集到的信號(hào)或接收到的模擬信號(hào)進(jìn)行處理需要設(shè)計(jì)驅(qū)動(dòng)底層電路。
2)對(duì)采集到的數(shù)據(jù)或接收到的模擬數(shù)據(jù)進(jìn)行濾波處理,然后通過ZigBee無線通信模塊將數(shù)據(jù)轉(zhuǎn)發(fā)給上位機(jī)。
數(shù)據(jù)采集系統(tǒng)上電后,首先對(duì)硬件電路進(jìn)行初始化,進(jìn)而對(duì)串口和CAN收發(fā)器進(jìn)行初始化。數(shù)據(jù)進(jìn)行無線發(fā)送時(shí),中繼路由節(jié)點(diǎn)ZigBee發(fā)出申請(qǐng)信號(hào),請(qǐng)求加入網(wǎng)組,ZigBee中心節(jié)點(diǎn)對(duì)接收到的申請(qǐng)信號(hào)進(jìn)行認(rèn)證,信息認(rèn)證成功后,中繼路由節(jié)點(diǎn)才被允許回復(fù)請(qǐng)求發(fā)送數(shù)據(jù)的命令。路由節(jié)點(diǎn)收到該命令后,MCU將保存在緩沖區(qū)中的數(shù)據(jù)通過U2C0_SSC_vSendData()串口數(shù)據(jù)發(fā)送函數(shù)發(fā)送至中繼路由節(jié)點(diǎn)接收端,再由路由節(jié)點(diǎn)通過無線傳感網(wǎng)絡(luò)發(fā)送至中心節(jié)點(diǎn)。數(shù)據(jù)有線發(fā)送時(shí),CAN接收中斷收到PC端數(shù)據(jù)發(fā)送請(qǐng)求后,通過CAN_vTransmit()發(fā)送函數(shù)將數(shù)據(jù)緩沖區(qū)中的數(shù)據(jù)以設(shè)計(jì)好的CAN報(bào)文形式發(fā)送至PC端CAN節(jié)點(diǎn)。通信流程如圖8所示。
圖8 ZigBee、CAN通信流程圖
液壓抓斗控制器在環(huán)仿真與檢測(cè)系統(tǒng)共模擬發(fā)送8項(xiàng)參數(shù)數(shù)據(jù),分別為A點(diǎn)壓力PA、B點(diǎn)壓力PB、G點(diǎn)壓力PG、回油溫度、左臂抓取質(zhì)量、右臂抓取質(zhì)量、油箱液位和電機(jī)溫度八項(xiàng)。液壓抓斗控制器在環(huán)仿真與檢測(cè)系統(tǒng)中的軟件程序設(shè)計(jì)主要用于通過CAN總線對(duì)模擬數(shù)據(jù)的發(fā)送和通過ZigBee網(wǎng)絡(luò)對(duì)數(shù)據(jù)的接收,在對(duì)數(shù)據(jù)的接收時(shí)使用了具有實(shí)時(shí)性的串行通信。Visual Studio中串行通信方法的實(shí)時(shí)性體現(xiàn)在兩個(gè)方面:通信響應(yīng)的實(shí)時(shí)性即對(duì)到達(dá)串口的數(shù)據(jù)的響應(yīng)快慢,以及從從串口緩沖區(qū)接收數(shù)據(jù)的快慢[7]。上位機(jī)界面如圖9所示。
圖9 上位機(jī)界面
系統(tǒng)上位機(jī)發(fā)送信息界面如圖10所示。
圖10 上位機(jī)發(fā)送數(shù)據(jù)界面
系統(tǒng)上位機(jī)數(shù)據(jù)發(fā)送數(shù)據(jù)界面如圖11所示。
圖11 系統(tǒng)上位機(jī)數(shù)據(jù)發(fā)送界面
CAN總線對(duì)經(jīng)過MCU處理過的ZigBee基站解析的數(shù)據(jù)發(fā)送到上位機(jī)[8]。系統(tǒng)上位機(jī)數(shù)據(jù)驗(yàn)證模塊界面如圖12所示。
圖12 上位機(jī)數(shù)據(jù)驗(yàn)證模塊界面
在系統(tǒng)調(diào)試時(shí),設(shè)定A、B、G三點(diǎn)的壓力值最小為0 Bar,最大值為250 Bar,發(fā)送的步長(此處步長即為每一次數(shù)據(jù)變化的增量)為1,回油溫度最小值設(shè)定為-40 ℃,最大值設(shè)定為125 ℃,發(fā)送步長也為1,四類數(shù)據(jù)發(fā)送的時(shí)間間隔設(shè)定為每50 ms發(fā)送一次。A、B兩臂的稱重質(zhì)量范圍最小值設(shè)為0 kg,最大值設(shè)定為20 000 kg,發(fā)送步長為10,發(fā)送時(shí)間間隔設(shè)定為1 000 ms發(fā)送一次。油液液位和電機(jī)溫度兩者都是開關(guān)量,設(shè)定發(fā)送低電平(數(shù)字0),發(fā)送時(shí)間間隔設(shè)定為50 ms發(fā)送一次。由圖12上位機(jī)數(shù)據(jù)驗(yàn)證模塊界面可知,對(duì)于各類發(fā)送數(shù)據(jù)的發(fā)送,偏差很小,由于利用了無線和有線的發(fā)送模式,所有在時(shí)間上稍有延遲,設(shè)計(jì)時(shí)設(shè)定壓力信號(hào)數(shù)據(jù)偏差在5 Bar以內(nèi),回油溫度
偏差在3 ℃以內(nèi),抓取凈重和抓取毛重在100 kg以內(nèi),系統(tǒng)判定檢測(cè)結(jié)果為檢測(cè)成功。經(jīng)過系統(tǒng)的調(diào)試與運(yùn)行,測(cè)試得到所設(shè)計(jì)的液壓抓斗控制器在環(huán)仿真與測(cè)試系統(tǒng)運(yùn)行狀態(tài)良好,工作狀態(tài)穩(wěn)定。
本文利用XC2234芯片設(shè)計(jì)開發(fā)了基于ZigBee網(wǎng)絡(luò)和CAN總線的液壓抓斗控制器在環(huán)仿真與檢測(cè)系統(tǒng)。系統(tǒng)上位機(jī)數(shù)據(jù)驗(yàn)證模塊界面。采用上位機(jī)發(fā)送模擬數(shù)據(jù),利用CAN總線發(fā)送給ICAN-4404模擬量輸出模塊,之后再傳輸給單片機(jī)數(shù)據(jù)處理模塊,處理后的數(shù)據(jù)經(jīng)過ZigBee無線網(wǎng)絡(luò)打包轉(zhuǎn)發(fā)出去,通過上位機(jī)上的ZigBee接收,經(jīng)過上位機(jī)接收處理并顯示到上位機(jī)界面。通過接收數(shù)據(jù)和發(fā)送數(shù)據(jù)的對(duì)比來檢測(cè)液壓抓斗智能管理系統(tǒng)中的設(shè)備是否合格。經(jīng)過系統(tǒng)平臺(tái)的搭建和測(cè)試,收發(fā)數(shù)據(jù)近似相等,相對(duì)誤差在很小的范圍內(nèi),證明了液壓抓斗控制器在環(huán)仿真與檢測(cè)系統(tǒng)能很好的工作。