喬雨恒,張紅娟,王 宇,高 妍,王 東,靳寶全
(1.太原理工大學(xué)電氣與動力工程學(xué)院,山西太原 030024;2.太原理工大學(xué)新型傳感器與智能控制教育部與山西省重點實驗室,山西太原 030024)
由于煤礦井下空間狹窄,礦用車輛在倒車過程中存在發(fā)生碰撞的隱患[1]。超聲波檢測技術(shù)結(jié)構(gòu)簡單、響應(yīng)快速,被廣泛應(yīng)用于煤礦井下安全距離的監(jiān)測與預(yù)警[2]。然而煤礦井下環(huán)境復(fù)雜,超聲測距裝置作為車載設(shè)備在使用時需解決抗干擾的問題。
超聲測距系統(tǒng)抗干擾性的提高方法之一是改良其信號傳輸路徑[3]。但在使用過程中,由于超聲換能器距控制單元較遠(yuǎn),傳統(tǒng)的加屏蔽信號線的方式會因為長傳輸線導(dǎo)致信號衰減過大,影響回波信息判斷,不利于系統(tǒng)整體性能的提高[4]。
LIN(local interconnect network)總線作為一種在汽車中廣泛使用的輔助總線網(wǎng)絡(luò),僅采用一根數(shù)據(jù)線就可以實現(xiàn)數(shù)據(jù)傳輸,并且低速通信可靠性高,同時具有單主機多從機模式、硬件電路無需修改即可添加從節(jié)點、即插即用靈活性高等特點,因此也被應(yīng)用于傳感器控制系統(tǒng)中[5]。本文開展了一種基于LIN總線的礦用超聲測距系統(tǒng)研究。
LIN是一種基于通用UART/SCI接口的串行通信協(xié)議,可用于汽車、家電等多種領(lǐng)域。圖1為LIN總線及網(wǎng)絡(luò)結(jié)構(gòu)圖,根據(jù)OSI模型,LIN節(jié)點主要由物理層(位傳輸與收發(fā)器特性)、數(shù)據(jù)鏈路層的LLC子層(邏輯鏈路控制,報文濾波和恢復(fù)管理)、MAC子層(媒體訪問控制,數(shù)據(jù)封裝與錯誤檢測處理)構(gòu)成,網(wǎng)絡(luò)整體采用單總線模式,一個LIN網(wǎng)絡(luò)最多可拓展16個節(jié)點[6]。主節(jié)點不僅可以控制網(wǎng)絡(luò)內(nèi)從機、檢測并調(diào)整總線狀態(tài),還可以與上層網(wǎng)絡(luò)(如CAN網(wǎng)絡(luò))進(jìn)行通信,兼有主機及從機任務(wù),而從節(jié)點僅含有從機任務(wù)[7-8]。
圖1 LIN網(wǎng)絡(luò)結(jié)構(gòu)
LIN總線上的通信報文幀格式固定,總線通信由主節(jié)點控制。主節(jié)點通過主機任務(wù)在一個間隔信號后,發(fā)送同步場和標(biāo)識符場作為報文的報頭,從機則返回數(shù)據(jù)場和校驗和場響應(yīng)主機。由于物理層限制,LIN總線傳輸位速率最高為20 kbps,同時通信過程中應(yīng)滿足以下條件[9]:
THeader=34·Tbit
(1)
TResponse=(10·NData+10)·Tbit
(2)
式中:THeader為報頭額定傳輸時間;Tbit為主節(jié)點傳輸1位數(shù)據(jù)所需的時間;TResponse為響應(yīng)額定傳輸時間;NData為數(shù)據(jù)場中所含的字節(jié)數(shù)。
同時為保證傳輸,THeader和TResponse均需要留出一定的余量,其最大傳輸時間均為其額定傳輸時間的1.4倍。
基于LIN總線的礦用超聲測距系統(tǒng)如圖2所示,主要由電源單元、控制單元、通道選擇單元、LIN通信單元、超聲收發(fā)單元、報警與校準(zhǔn)單元和顯示單元組成。系統(tǒng)采用STC12C5A32S2單片機作為控制單元核心,電源單元由本安電源(型號:CSTI-I)提供18 V電壓,通過DC/DC轉(zhuǎn)換芯片78M05提供系統(tǒng)所需的5 V電壓并由MAX5025產(chǎn)生12 V電壓以保證LIN通信,通道選擇單元實現(xiàn)控制單元輸出信號的切換,LIN通信單元完成TTL電平和LIN電平的轉(zhuǎn)換,以實現(xiàn)對以e524.06芯片為核心的超聲收發(fā)單元的狀態(tài)控制與數(shù)據(jù)傳輸。
圖2 超聲測距系統(tǒng)組成
煤礦井下環(huán)境復(fù)雜,對電路要求較高,本系統(tǒng)選用高集成度的超聲測距芯片e524.06,設(shè)計其外圍電路,實現(xiàn)對超聲換能器的無變壓器驅(qū)動和回波處理[10]。通過修改芯片片內(nèi)EEPROM配置信息,不僅可以實現(xiàn)對超聲換能器驅(qū)動電壓及頻率的調(diào)整,改變換能器的工作狀態(tài),而且可以調(diào)整超聲回波處理效果,以提高系統(tǒng)測量精度[11]。
圖3為超聲收發(fā)電路,由MCU發(fā)出的控制信號通過LIN總線實現(xiàn)對超聲測距過程的控制。超聲收發(fā)單元在接收到測距指令后,在e524.06的片內(nèi)控制器控制下,通過驅(qū)動電路產(chǎn)生58 kHz的脈沖以驅(qū)動收發(fā)一體換能器T1發(fā)出超聲波。經(jīng)障礙物反射后,超聲波回波由T1接收,經(jīng)過e524.06芯片內(nèi)的放大模塊、數(shù)字濾波模塊、回波閾值比較模塊處理后,得到處理結(jié)果,將回波時間信息反映在LIN總線上,MCU通過LIN總線對該結(jié)果進(jìn)行分析,完成距離數(shù)值的計算。
圖3 超聲收發(fā)電路圖
本方案采用LIN總線收發(fā)器TJA1020實現(xiàn)對e524.06的通信。LIN總線驅(qū)動電路如圖4所示,通過在LIN和BAT 引腳之間串聯(lián)的反向電流二極管D1和電阻R1,啟用TJA1020的主機應(yīng)用模式[12]。在正確配置芯片電源與通信電平后,由控制單元產(chǎn)生的 TTL控制信號從芯片TXD引腳進(jìn)入收發(fā)器并在LIN引腳轉(zhuǎn)化為12 V單總線通信電平,經(jīng)電纜傳輸至e524.06構(gòu)成的超聲收發(fā)電路,實現(xiàn)對超聲波收發(fā)狀態(tài)的控制。在接收到超聲收發(fā)單元自LIN總線返回的數(shù)據(jù)之后,芯片再將LIN電平數(shù)據(jù)轉(zhuǎn)化為TTL電平至RXD端,完成與控制器的通信,控制器再結(jié)合所測溫度完成距離的計算。
圖4 LIN總線驅(qū)動電路圖
為實現(xiàn)數(shù)據(jù)的可靠傳輸,需要對LIN通信電路中上拉電阻R2進(jìn)行計算,其阻值由TJA1020 的RXD端的驅(qū)動能力確定,并可以通過下面的公式計算:
(3)
(4)
式中:VRXD=0.4 V;R2_MIN為R2最小電阻取值,Ω;R2_MAX為R2最大電阻取值,Ω;IRX_OL_MIN為低電平時RXD端最小漏電流,A;IRX_LH_MAX為高電平時RXD端最大漏電流,A;VRX_H_MIN為高電平時微控制器最小輸入電壓,V;VRX_L_MAX為低電平時微控制器最大輸入電壓,V。
系統(tǒng)微處理器電源為5 V,則滿足:
VCC=VCCMAX=VCCMIN
(5)
其端口閾值電壓分別為VRX_H_MIN(2.0 V)和VRX_L_MAX(0.8 V),則R2取值為1.4~600 kΩ,在本實驗中R2選擇2.3 kΩ。
為保證LIN通信的雙向進(jìn)行,以接收超聲收發(fā)單元回饋的信號,應(yīng)使LIN總線電壓滿足閾值條件,即:
在顯性電平狀態(tài)時,
VLIN_L_MAX<0.4VBAT=4.8 V
(6)
在隱性電平狀態(tài)時,
VLIN_H_MIN>0.6VBAT=7.2 V
(7)
式中:VLIN_L_MAX為LIN總線低電平最高電壓,V;VLIN_H_MIN為LIN總線高電平最低電壓,V;VBAT為芯片BAT端電壓,VBAT=12 V。
因此需要在實際過程中調(diào)節(jié)R1的大小,以改變電路的驅(qū)動能力,滿足煤礦井下使用要求并實現(xiàn)有效數(shù)據(jù)通信。
在完成超聲測距系統(tǒng)硬件設(shè)計和組成信號通路的基礎(chǔ)上,需要根據(jù)圖5所示的測距指令時序,完成實際距離數(shù)據(jù)的計算。圖5為測距過程中LIN總線的實時電壓,其中在T1~T2期間(有效時間間隔范圍為77.6~154 μs)系統(tǒng)發(fā)送測距指令,并等待超聲收發(fā)單元做出回應(yīng);在T3~T4期間,超聲收發(fā)單元中e524.06芯片對本次測量過程中的環(huán)境噪聲進(jìn)行評估;而T3~T5對應(yīng)時長為系統(tǒng)單次測量期間超聲聲波傳輸所使用的時間[13]。
圖5 測距指令時序圖
根據(jù)上述測距時序,可以完成整個超聲測距系統(tǒng)的軟件流程設(shè)計。利用STC12C32S2單片機的PCA邊沿捕捉功能,在完成系統(tǒng)初始化之后由控制器發(fā)出測距指令(77.6~154 μs的顯性電平),并啟動硬件計數(shù)功能。利用捕捉到的兩次下降沿的計數(shù)差值和系統(tǒng)指令周期可得超聲傳播時間,而后采用測溫模塊得到修正后的聲速,從而計算出與障礙物的單次測量距離,經(jīng)過均值濾波后得到最終結(jié)果并利用數(shù)碼管進(jìn)行顯示,同時根據(jù)預(yù)先設(shè)置的安全距離閾值,完成聲光報警等功能。
為驗證上述對LIN總線電路的分析并評估基于LIN總線的超聲測距系統(tǒng)的整體功能,搭建了電平轉(zhuǎn)換和測距實驗系統(tǒng)。
實驗過程中發(fā)現(xiàn),當(dāng)LIN主節(jié)點電路R1取1 kΩ時,控制單元可實現(xiàn)超聲測距指令的發(fā)送,但無法收到超聲收發(fā)單元的有效回應(yīng),如圖6所示。
圖6 R1為1 kΩ時的通信電平圖
圖6中兩條曲線分別為圖4中電阻R1為1 kΩ情況下,測距進(jìn)行時,LIN總線和TJA1020芯片RXD端口的電平變化情況。在控制器發(fā)測距指令期間(T1前),RXD端電壓隨LIN總線電壓而變化(115 μs的顯性電平),但T1、T2時刻,雖然超聲收發(fā)單元回復(fù)了測距信息,且LIN總線產(chǎn)生了電平變化,但RXD端卻未做出相應(yīng)反應(yīng),這是因為LIN總線的“低”電平達(dá)到了5.8 V,超出了TJA1020對低電平最高電壓的判定閾值,因此需要對硬件電路進(jìn)行改進(jìn)。
圖7和圖8分別為R1取值為2 kΩ和3.5 kΩ時,系統(tǒng)測距時的通信電平圖,此時可實現(xiàn)測距指令發(fā)送(分別為123 μs、128 μs的顯性電平),且在T1和T2時,當(dāng)LIN總線電平下降到低電平時,RXD電平可以隨之發(fā)生變化,此時LIN總線的低電平對應(yīng)電位分別為4.0 V和3.2 V,符合LIN總線對低電平的規(guī)定,因此會產(chǎn)生RXD端的低電平。實驗也證明,當(dāng)R1在2 kΩ和3.5 kΩ時電路可以完成正常通信與數(shù)據(jù)交互,實現(xiàn)超聲收發(fā)單元與控制單元之間的有效通信。
圖7 R1為2 kΩ時的通信電平圖
圖8 R1為3.5 kΩ時的通信電平圖
5.2.1 系統(tǒng)測量范圍分析
在實驗室環(huán)境下,利用30 cm×30 cm×5 mm 的鐵板和3 m長的導(dǎo)軌及支架搭建礦用超聲測距實驗平臺,完成對系統(tǒng)測量范圍和精確度的測量。以100 mm為步長,進(jìn)行240~2 800 mm范圍內(nèi)的距離測量,所得到的結(jié)果如圖9所示。實驗證明,本系統(tǒng)可以實現(xiàn)250~2 700 mm內(nèi)的距離測量,且所測距離較近(800 mm以內(nèi))和較遠(yuǎn)(2 100 mm以外)時,測量誤差較大;距離中等時(900~2 000 mm)時,誤差較小且系統(tǒng)整體誤差小于3 cm。
圖9 系統(tǒng)測量范圍與誤差圖
同時為了確定系統(tǒng)測量的最大值及最小值,在230~260 mm和2 650~2 750 mm兩個范圍內(nèi)以5 mm為步長,30 mm為可允許最大誤差限,進(jìn)行實驗。實驗發(fā)現(xiàn)在245 mm及2 705 mm處超過該誤差限,從而確定系統(tǒng)整體測量范圍為250~2 700 mm。
5.2.2 系統(tǒng)測量穩(wěn)定性分析
考慮到系統(tǒng)在測量過程中,單次測量可能會因為外部環(huán)境等因素產(chǎn)生較大的測量誤差,因此需要統(tǒng)計同一距離下系統(tǒng)的多次測量結(jié)果,以評估系統(tǒng)穩(wěn)定性。圖10為擋板分別在2 600 mm、1 600 mm和600 mm處時,系統(tǒng)測量50次后所得到的測量結(jié)果。
圖10 系統(tǒng)測量穩(wěn)定性實驗圖
實驗結(jié)果表明,在障礙物距離為2 600 mm、1 600 mm和600 mm時,礦用超聲測距系統(tǒng)測量波動量分別為:4 mm、2 mm和3 mm,波動在1 cm以內(nèi);同時其最大絕對測量誤差分別為:11 mm、1 mm和27 mm,在1 600 mm處測量較精確,與測量范圍實驗中所得中等距離時誤差較小的實驗結(jié)果相符,且實驗證明了系統(tǒng)整體誤差小于3 cm。
本文利用本安電源實現(xiàn)多級電壓轉(zhuǎn)換并通過對基于LIN總線的主節(jié)點電路進(jìn)行設(shè)計,在分析了e524.06測距指令之后,通過改良LIN總線的驅(qū)動能力,實現(xiàn)了控制器與超聲收發(fā)單元之間可靠的LIN總線通信。在研究測距時序的基礎(chǔ)上,通過程序控制實現(xiàn)硬件計數(shù)和邊沿捕捉,完成測距計時功能,實驗證明,該礦用超聲測距系統(tǒng)可以實現(xiàn)250~2 700 mm范圍內(nèi)的距離測量且誤差小于30 mm,測量波動小于10 mm。