王立文 陳 曦 賈立山
(中國民航大學航空特種設備研究基地,天津 300300)
根據(jù)國際民航組織(ICAO)統(tǒng)計,在機場事故中,有71%的失事飛機因失火而燒毀。因此,只有以最快的速度控制火情并將之消滅,才可將損失降到最小。消防訓練模擬器作為一種模擬裝置[1-2],通過真實地模擬火災現(xiàn)場,使消防人員增加實戰(zhàn)經驗,熟練掌握消防技術,從而更好地完成救援任務。
在消防系統(tǒng)中,儀表被稱為消防員的眼睛,對消防員滅火起著關鍵作用;而現(xiàn)有的步進電機組合儀表存在抗干擾能力差、儀表指針運動不連續(xù)、相應信號變化速度較慢的缺點,所以本文采用PLC和步進電機相結合的控制方式。為了增加可靠性和實用性,系統(tǒng)采用了分布式控制系統(tǒng)。這種控制方式將控制功能盡可能分散,而管理功能相對集中。這種分散化的控制方式能改善控制的可靠性,使整個系統(tǒng)不會由于計算機的故障而失去控制。
步進電機是一種將脈沖信號轉化為機械角位移的執(zhí)行機構,電機繞組固定在端子上,而轉子則由硬磁或軟磁材料組成。當控制系統(tǒng)將一個電脈沖經功率裝置加到定子繞組上時,步進電機會沿一定的方向旋轉一步。脈沖的頻率決定電機的轉速。電機的轉動角度與輸入脈沖數(shù)成正比,因此,只要改變脈沖數(shù)就能控制轉子運行角度,從而達到位置控制的目的[3-4]。此外,步進電機還具有很多其他優(yōu)點,如便于開環(huán)控制、定位精度高、無累積誤差、無電刷、高可靠性,具有鎖定轉矩和良好的啟動、停止、反轉響應等功能。由于步進電機是依靠脈沖來實現(xiàn)機械運動的執(zhí)行單位,所以普通的高低電平無法實現(xiàn)對步進電機的驅動,這就需要特殊的驅動裝置,即步進電機驅動器[5]。本文所采用的驅動芯片是 M-S Quad Driver X12.017,它是一種 CMOS型器件,用作接口電路,簡化了對X15.xxx型步進電機的使用。
步進電機采用的是麥克絡微電機有限公司的車用儀表步進電機。它直接由數(shù)字信號驅動來實現(xiàn)參數(shù)的顯示,不需要模數(shù)轉換,并配有1∶180的減速齒輪。該步進電機還具有如下特點:①(1/12)°的步進分辨率;② 功耗<20 mA;③ 體積:π ×15×15×9.6(mm3);④直接MCU驅動;⑤工作溫度范圍為-40~105℃;⑥高速:600°/s。
作為工業(yè)現(xiàn)場控制器,PLC以其高性價比在工業(yè)控制系統(tǒng)中獲得了廣泛的應用,由PLC構成的集散控制是現(xiàn)代工業(yè)控制的一個重要組成部分。本文采用松下AFPX-C30T型號PLC[6]。它除性能穩(wěn)定、處理速度快、通信方便外,還具有強大的脈沖輸出功能。以往應用PLC輸出脈沖序列大部分是依靠定時器的互鎖來完成,這種方法雖然可以輸出一定頻率的脈沖序列,但是只適用于低速情況,當頻率要求較高時,將難以達到要求。C30T具有5種高速脈沖輸出模式,可以輸出1.5~100 kHz之間的任意頻率,且精度高、誤差小。
儀表系統(tǒng)硬件電路結構如圖1所示。
圖1 系統(tǒng)硬件電路結構圖Fig.1 Structure diagram of system hardware circuitry
PLC端子采用網絡標號的形式表示,如Y0Y1(通道1)等,由 Y0Y1控制的電機的網絡標號為 Y0.1~Y0.4,其中1~4為電機對應的4個引腳(順序不可接錯),其他控制端以此類推。電路中,2個100 nF的電容對電路起保護作用。
通過PLC通信插卡AFPX-COM3的RS-422接口,實現(xiàn)了上位機與PLC的物理連接。RS-422采用高輸入阻抗和發(fā)送驅動器,所以較RS-232有更強的驅動能力和抗干擾能力;允許在相同傳輸線上連接多個接收點,最多可接10個。即1個主設備,其余為從設備,從設備之間不能通信,所以RS-422支持點對多點的雙向通信。接收器輸入阻抗為4 kΩ,則發(fā)端最大負載能力為10×4 kΩ+100 Ω(終接電阻)。由于RS-422四線接口采用單獨的發(fā)送和接收通道,因此不必控制數(shù)據(jù)方向,且傳輸距離最遠可達到1.2 km。RS-422接線方式如表 1 所示[7-8]。
表1 RS-422接線方式Tab.1 RS-422 wiring
由于應用了步進電機驅動器,因此電路結構大大簡化,整體可操作性大大提高。但是由于步進電機自身的一些特點,我們需要在對步進電機進行控制時注意啟動頻率(步進電機在起步時,在不失步的情況下可以達到的最高頻率)和停止頻率(步進電機在信號關斷后,由于慣性不沖過目標位置的最高頻率),所以本文采用梯形控制指令(F171)。使用這種方法可以避免電機出現(xiàn)失步的現(xiàn)象。脈沖輸出指令(F171)中各代碼意義說明如下。
① 控制代碼1003:以占空比1/4,脈沖頻率范圍1.5 ~9.8 kHz,相對 PLS+SIGN 輸出脈沖。
②K200為初始速度(200 Hz)、K360為最高速度(360 Hz)、K30為加減速時間(30 ms)、K500為移動量(500 Hz)。
③K2表示由通道2輸出脈沖。
除脈沖輸出外,還有3個定時器:定時器1為電機轉動時間,上位機也是通過它來控制電機旋轉角度;定時器2為啟動時間;定時器3為讀寫串口時間,可以根據(jù)需要設定。此外PLC還具有4個高速脈沖輸出端子,可以節(jié)省空間,便于操作。
PLC有4種通信方法,本文采用的是通用串行通信。其指令發(fā)送格式如圖2所示。
圖2 發(fā)送命令格式Fig.2 Formats of send commands
①“%或<”為始端代碼標志,以“%”開頭的幀單幀最大長度為118 B;以“<”為擴展頭,單幀最大長度可達2 048 B。
②站號為所要發(fā)送的PLC的站號,由高低兩位組成,高位在前,低位在后。
③#為指令代碼。
④命令代碼通常包括RCS(單點讀取)、WCS(單點寫入)、WD(數(shù)據(jù)區(qū)寫入)等26個常用的指令種類。
⑤ 文本數(shù)據(jù)為要寫入的內容,如閉合為1,斷開為0。
⑥BCC為塊驗證碼,兩個字節(jié),具體算法為從幀的第一位到BCC的前一位所有字節(jié)的16進制表示的異或運算。
⑦CR為回車,是幀結束符。
響應代碼格式和錯誤代碼格式與發(fā)送代碼格式不同的地方在于“#”的部分:響應格式中“$”代替“#”,而在錯誤格式中由“!”代替。
在 VC++6.0 環(huán)境下編寫串口通信程序[7-9],采用Microsoft Visual Studio提供的串口類SerialPort。與MSComm控件相比,SerialPort更加靈活,穩(wěn)定性更高。在串口操作方面,同步操作方式下API函數(shù)會阻塞,直到操作完成后才能返回(在多線程中,雖然不會阻塞主線程,但是會阻塞監(jiān)聽線程)。因此,本文采用異步串口操作,操作在后臺進行,避免線程阻塞。串口通信程序如下。
待上述工作完成后,便可以進行上位機與PLC之間的通信。在VC中按照與松下PLC的通信協(xié)議,將要控制的數(shù)據(jù)通過串口發(fā)送給PLC,PLC在接到命令后會做出反應并返回應答,從而實現(xiàn)兩者之間的通信。
汽車在不同的驅動力下產生加速度,從而引起速度的不斷變化。通過分析汽車發(fā)動機的扭矩特性和變速箱的變速特性可知,在不同的速度下,發(fā)動機的轉矩也隨之變化。影響驅動力的因素比較多,如變速箱及主減速器的減速比、離合器的工作狀態(tài)以及油門的工作狀態(tài)[9-10]。
2.3.1 變速箱和主減速器
首先假設油門開度最大且離合器始終嚙合,在此前提下分析變速箱及主減速器對車速的影響。變速箱變速特性反映了車速與發(fā)動機轉速之間的關系,發(fā)動機轉速和車速都與發(fā)動機轉矩有關,那么發(fā)動機轉矩和車速之間也存在某種關系,所以對發(fā)動機特性和變速箱變速特性進行函數(shù)曲線擬合。同時,車輛的主減速比是一定的,對應不同檔位變速箱的減速比也是一定的,所以發(fā)動機的轉速和車速之間應該是線性的關系,即不同檔位下的車速和發(fā)動機的轉速關系曲線是通過原點的直線。根據(jù)擬合結果得出速度仿真模型為:
式中:Ai為發(fā)動機特性函數(shù)擬合中的直線斜率;Ci為直線在縱軸的截距;Bj為變速箱特性曲線擬合中的直線斜率;ig為變速箱減速比;io為主減速比;ηT為傳動效率;r為車輪半徑;CD為空氣阻力系數(shù);A為迎風面積;i為道路坡度;f為滾動阻力系數(shù);δ為汽車旋轉質量換算系數(shù);m 為車輛質量[11-12]。
2.3.2 油門和離合器
上述模型建立完畢后還要考慮油門和離合器對驅動力的影響。油門開度越大,發(fā)動機扭矩也越大,車輛驅動力也越大。引入修正系數(shù)λ1(與油門開度有關),利用一個位移傳感器來測量油門踏板的量程,以行程來標志油門開度,修正系數(shù)的大小根據(jù)油門踏板的實際行程ΔL和最大行程L的比值來確定,用l表示最小開度值,則修正系數(shù)λ1=(ΔL+L)/(L+l)。
當離合器踏板未踩時,離合器能將發(fā)動機的轉矩全部傳遞給驅動輪,而完全踩到底時,發(fā)動機的轉矩沒有傳遞給驅動輪。因此,可以引入修正系數(shù)λ2(與離合器踏板行程有關),同樣利用位移傳感器測量離合器踏板行程,以行程來表示離合器傳遞轉矩的能力。根據(jù)離合器踏板實際行程ΔLc與最大行程Lc的比值來確定修正系數(shù),即λ2=1-ΔLc/Lc。
2.3.3 汽車制動力
汽車在行駛過程中一旦進行腳剎或手剎動作,汽車將受到與行駛方向相反的地面制動力影響,且汽車車輪相對于地面的運動形式是滾動和滑動的混合過程,很難確定摩擦系數(shù)。本文以制動力與垂直載荷之比作為制動力系數(shù),以滑動率s來說明汽車在制動過程中車輪滑動成分的多少;采用位移傳感器測量剎車踏板的行程,以踏板實際行程與總行程的比粗略表示滑動率s;對制動力與滑動系數(shù)的關系曲線進行擬合。經過擬合分析,得出修正后的駕駛模擬器動力學仿真模型為:
式中:Ft為驅動力;Fw為空氣阻力;Fi為坡度阻力(上坡時為阻力、下坡時為動力);Ff為滾動阻力;Fb、Fh為在不同情況下的制動力[13]。
以車速表速度=40 km/h為例介紹系統(tǒng)工作過程。
當駕駛人員對油門開度和制動踏板行程進行操作時,行程傳感器采集數(shù)據(jù),并把數(shù)據(jù)傳遞給車輛動力學模型。計算機根據(jù)模型以及其他一些傳感器傳遞的數(shù)據(jù)進行綜合分析,計算出車速,并將車速轉化成脈沖數(shù);再根據(jù)PLC中設定的脈沖數(shù),將其轉化成時間寫到數(shù)據(jù)寄存器DT108(與車速相對應)中。這里根據(jù)協(xié)議將脈沖數(shù)轉換成十六進制數(shù),即為6009,寫入數(shù)據(jù)寄存器指令為WD,再加上BCC模塊添加的驗證碼,就得到了完整的指令,本文驗證碼采用**,所以完整的發(fā)送指令為%01#WDD00108001086009**CR。當上位機將指令發(fā)出后,PLC會立即響應并作出反應,同時控制儀表轉動達到目標值。
系統(tǒng)軟件工作流程圖如圖3所示。
圖3 軟件工作流程圖Fig.3 Working flowchart of the software
精度測試是在脈沖頻率=180 Hz的情況下對轉速表進行測試的。根據(jù)公式β=N/12°和T=β×12/N可知,轉速表每秒轉動15°。其中:β為儀表旋轉角度;N為脈沖數(shù);T為儀表轉動時間。為了增加可靠性和有效性,本文采用的方法是測試電機旋轉一周(315°)的時間,按時間求出角度,從而計算誤差率,重復30次。精度測試結果如圖4所示。由圖4可以看出,電機旋轉一周的時間在21.3~21.6 s之間,經計算得到平均值為21.46 s。從而進一步得到試驗誤差率為2.2%,排除人為因素的反應時間0.3 s(啟停),得到真實誤差率為0.53%,滿足汽車行業(yè)普遍遵循的規(guī)定,即低速誤差10%、高速誤差5%。此外,CW/CCW(脈沖輸出方向)和Fscx(脈沖輸出頻率)啟動時間分別為20 μs和320 μs(由PLC提供),可以忽略,所以系統(tǒng)在精確度和實時性方面滿足要求。
圖4 精度測試結果Fig.4 Accuracy test result
本系統(tǒng)在硬件搭建上采用PLC和步進電機,在軟件上使用VC++6.0,并通過上位機和PLC,設計了可靠、穩(wěn)定、友好的人機界面。上述軟硬件設計已應用到機場消防車模擬器中,并取得了良好的效果。
[1]劉東波,繆小冬,王長君.汽車駕駛模擬器及其關鍵技術研究現(xiàn)狀[J].公路與汽運,2010(5):53 -59.
[2]張萍,王毅博.汽車駕駛模擬器儀表驅動系統(tǒng)的設計與實現(xiàn)[J].自動化技術與應用,2008(3):97-99.
[3]劉寶廷,程樹康.步進電機及其驅動控制系統(tǒng)[M].2版.哈爾濱:哈爾濱工業(yè)大學出版社,1997:140-153.
[4]史敬灼.步進電機伺服控制技術[M].北京:科學出版社,2006:23-40.
[5] Bellini A,Concari C,F(xiàn)raneesehini G,et al.Mixed mode PWM for high performance stepping motors[J].IEEE Transactions on Industrial Electronics,2007,54(6):3167 -3177.
[6]張學銘,邸書玉.松下PLC編程與應用[M].北京:機械工業(yè)出版社,2009.
[7]張瑞卿,胡愛軍,張超.基于VC++的PC機與PLC串口通信的實現(xiàn)[J].制造技術與機床,2010(9):58-61.
[8]許曉君,許建坪.PLC與計算機間通訊的研究[J].電子測試,2011(8):92-95.
[9]黃濤.PC與松下FP系列PLC的通信[J].科技資訊,2010(17):23 -24,26.
[10]王偉,吳超仲,嚴新平,等.汽車駕駛模擬器動力學仿真建模[J].武漢理工大學學報,2005,27(1):24 -27.
[11]徐學進.基于駕駛模擬器的車輛動力學建模研究[D].武漢:武漢理工大學,2007.
[12]張永杰.基于汽車駕駛模擬系統(tǒng)的車輛動力性參數(shù)化仿真[D].昆明:昆明理工大學,2008.
[13]Bemard J E,Clover C L.Validation of computer simulation of vehicle dynamics[C]//InternationalCongress & Exposition Technical Paper,1994.