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