牛遠征,張亞莉,劉宜罡,傅子銳,曹建鋒
(上海機電工程研究所,上海 201109)
調(diào)平控制系統(tǒng)負責(zé)導(dǎo)彈發(fā)射車的調(diào)平控制,能夠快速提供穩(wěn)定的工程支撐和水平基準(zhǔn),是導(dǎo)彈發(fā)射車進行穩(wěn)定發(fā)射的前提和基礎(chǔ)。根據(jù)驅(qū)動支腿的動力不同,驅(qū)動系統(tǒng)一般可分為液壓式驅(qū)動和機電式驅(qū)動。以往車輛調(diào)平大多采用液壓式調(diào)平,相比較而言,液壓式驅(qū)動具有功率大、結(jié)構(gòu)簡單等優(yōu)點,但是也存在能量損失大、對溫度變化較為敏感、電液易泄露、維修保養(yǎng)麻煩等缺點,主要用于負載比較大且不便于使用機電式的場合[1-3]。對于調(diào)平控制算法,有三點調(diào)平、固定軸翻轉(zhuǎn)、誤差控制等多種算法。但是這些算法控制模型比較復(fù)雜,解耦過程中含有離散化計算等,在實際調(diào)平過程中,沒有對是否觸地做出一個準(zhǔn)確判斷,而且在調(diào)平結(jié)束后,容易產(chǎn)生“虛地”現(xiàn)象,這對追求高效性、穩(wěn)定性的軍工設(shè)備而言,不足以滿足部隊的作戰(zhàn)需求[4]。因此,設(shè)計一種基于機電式的自動調(diào)平系統(tǒng)就顯得尤為重要。
調(diào)平控制系統(tǒng)的硬件主要由全數(shù)字伺服驅(qū)動單元、控制盒、水平儀、電纜網(wǎng)等組成。全數(shù)字伺服驅(qū)動單元通過接收控制指令,完成對支腿的伸長和收縮。除此以外,還可以將電機狀態(tài)信息通過CAN 網(wǎng)反饋給上位機。如:故障、轉(zhuǎn)速信息等。該系統(tǒng)所采用的全數(shù)字驅(qū)動單元,具有響應(yīng)速度快、精度高、后期維護保養(yǎng)方便等一系列優(yōu)點。全數(shù)字伺服驅(qū)動單元主要包括4 個設(shè)備(驅(qū)動器、電機、制動電阻、電動缸)[5]。與其他設(shè)備的硬件連接關(guān)系如圖1 所示。

圖1 調(diào)平控制系統(tǒng)硬件連接圖
控制盒主要由主控板、接口板、操作面板及機箱等組成。主要功能是基于ARM 平臺,通過CAN 總線實現(xiàn)傳感器信號采集和電機控制。不僅能夠通過接收上位機的信號進行全自動調(diào)平/撤收,而且可以接收車控盒操作面板的信號,進行手動單支腿控制或模式切換等[6]。其硬件實物圖如圖2 所示。

圖2 硬件實物圖
驅(qū)動器通過接收車控盒的控制指令,實現(xiàn)對電機轉(zhuǎn)速的控制。還可以實時對電機運行狀態(tài)進行檢測,并將檢測結(jié)果反饋給車控盒。支腿電動缸用來支撐車體負載,通過電動缸伸縮調(diào)整車輛姿態(tài),并在調(diào)平完成后保持姿態(tài)穩(wěn)定。制動電阻用來在電機減速時,釋放電機產(chǎn)生的過電壓[7]。水平儀采用雙軸水平傳感器,測量角度在+/-5°以內(nèi),精度為0.001。主要用來測量發(fā)射車兩個垂直方向上的傾斜度信息,為發(fā)射車的自動調(diào)平功能提供數(shù)據(jù)支撐。電纜網(wǎng)則用于實現(xiàn)各個設(shè)備間的電氣連接、CAN 網(wǎng)通訊等。
驅(qū)動器上電后,默認(rèn)狀態(tài)下為速度模式。通過接收車控盒的速度命令,驅(qū)動電機使電動缸轉(zhuǎn)動,然后使支腿伸長/收縮。整車支撐結(jié)構(gòu)上采用四點支承(左前、右前、左后、右后,面對車尾),左前電支腿動缸獨立構(gòu)成左前支承點,右前支腿電動缸獨立構(gòu)成右前支承點,左后支腿電動缸構(gòu)成左后支承點,右后支腿電動缸構(gòu)成右后支承點[8]。整車支撐結(jié)構(gòu)的示意圖如圖3 所示。

圖3 平臺支撐的示意圖
調(diào)平控制軟件運行在車控盒的主控板上,通過接收上位機或本地面板傳來的控制指令,信息處理后轉(zhuǎn)換為電機驅(qū)動命令,控制電動缸完成伸長/收縮功能、模式切換功能等。調(diào)平控制軟件通過CAN、I/O口完成信息的傳遞,與各個設(shè)備的信息傳遞方式如圖4 所示。

圖4 調(diào)平系統(tǒng)信息傳遞方式
根據(jù)調(diào)平系統(tǒng)實現(xiàn)的功能可把整個軟件劃分為6 大主要功能模塊:初始化模塊、工作模式切換模塊、I/O 模塊、CAN 通信模塊、控制模塊和故障處理模塊。
車控盒在上電或重啟之后,軟件主程序首先進入初始化模塊,軟件的初始化包括以下內(nèi)容:初始化中斷向量表、初始化存儲器系統(tǒng)、初始化堆棧、初始化有特殊需求的端口和設(shè)備、初始化應(yīng)用程序的運行環(huán)境等。由于該調(diào)平控制系統(tǒng)使用了I/O 口、CAN通訊等功能,因此,在軟件初始化模塊對I/O、CAN 等一系列寄存器參數(shù)進行配置。
調(diào)平控制系統(tǒng)有兩種工作模式,分為自動、本控模式。調(diào)平控制軟件在上電初始化后,工作模式默認(rèn)為自動狀態(tài),工作模式可通過車控盒前面板功能按鍵切換。在自動模式下,車控盒接收上位機的控制指令以及狀態(tài)查詢指令,具體指令內(nèi)容包括一鍵撤收/調(diào)平、故障查詢等。車控盒接收到上位機指令以后,根據(jù)雙方協(xié)議內(nèi)容,進行解析并反饋。在本控模式下,調(diào)平控制系統(tǒng)不響應(yīng)上位機的任何指令,只通過車控盒前面板功能按鍵控制調(diào)平系統(tǒng),進行單腿“伸長/收縮”,“停止”等操作。
I/O 模塊在調(diào)平控制軟件初始化完成后,開始周期性采集車控盒面板按鍵以及其他I/O 口輸入的信號量。涉及到的功能如下:同步伸腿、左前伸長/收縮、左前上/下限位、故障報警等。調(diào)平控制軟件也可控制I/O 輸出的信號量,涉及到的功能如下:本控/自動指示燈、故障指示燈、粗調(diào)指示燈、細調(diào)指示燈等。
檢測到“本控”按鍵按下時,本控指示燈亮起,同時打開驅(qū)動器使能。檢測“停止”、“急停”鍵,一旦有效,則關(guān)斷使能,同時故障指示燈亮。檢測到“同步伸長/收縮”信號,若限位無效,則給驅(qū)動器發(fā)送“伸長/收縮”指令,驅(qū)動電機使電動缸以1 500 rmp 的速度同時伸長/收縮。檢測到“左前伸/收”信號,若限位無效,則給驅(qū)動器發(fā)送“伸長/收縮”指令,驅(qū)動電機使電動缸以1 500 rmp 的速度同時伸長/收縮。左后伸/收、右前伸/收、右后伸/收同上。
檢測到“一鍵調(diào)平”信號,調(diào)平控制系統(tǒng)軟件通過接收水平儀發(fā)送的車體傾斜度信息,通過調(diào)平控制算法控制驅(qū)動器對車體進行自動調(diào)平。首先,驅(qū)動電機使電動缸以1 500 rmp 的速度同時伸長。當(dāng)檢測到4 條支腿觸地,則開始進行粗調(diào),同時粗調(diào)指示燈亮起。驅(qū)動器開始驅(qū)動電機使電動缸以500 rmp的速度伸長。當(dāng)水平儀傾斜度數(shù)值達到某一精度后,調(diào)平系統(tǒng)開始進行細調(diào)。此時電動機轉(zhuǎn)速變?yōu)?00 rmp,同時細調(diào)指示燈亮起。檢測到“一鍵撤收”信號,則控制驅(qū)動電機使電動缸以1 500 rmp 的速度收縮,同時撤收指示燈亮起,根據(jù)預(yù)先設(shè)置好的上限位閾值,來判斷電動缸是否接近上限位,若超過閾值,則停止收縮。根據(jù)實際情況,上限位閾值與上限位開關(guān)之間留有一定的余量。
車控盒上電自檢以后,將驅(qū)動系統(tǒng)狀態(tài)上傳給上位機。當(dāng)檢測到“一鍵調(diào)平”信號后,開始對戰(zhàn)車進行調(diào)平。在調(diào)平過程中,調(diào)平控制系統(tǒng)軟件給出控制指令,通過電機驅(qū)動器控制電機轉(zhuǎn)速,電機旋轉(zhuǎn)帶動各支腿電動缸進行伸縮運動。發(fā)射車的調(diào)平控制方式采用速度、轉(zhuǎn)矩控制模式,調(diào)平系統(tǒng)控制流程如圖5 所示。

圖5 調(diào)平系統(tǒng)控制流程
發(fā)射車調(diào)平控制系統(tǒng)有4 個調(diào)平支腿輸入及兩個水平傳感器輸出,構(gòu)成了四輸入兩輸出的多輸入多輸出系統(tǒng)。而且每一條支腿的變動,都會影響整個平臺的傾斜度,因此,還是一個強耦合的系統(tǒng)[9-11]。因此,以往其他平臺調(diào)平,大多采用三點調(diào)平、固定軸翻轉(zhuǎn)、誤差控制等多種算法。以位置誤差調(diào)平算法為例,該方法根據(jù)水平傳感器發(fā)送的發(fā)射車傾斜度數(shù)據(jù),某條支腿不動,通過計算其他支腿與它的高度差,然后運用驅(qū)動器的位置控制,上升其他較低支腿,最終達到同一高度。
但是這種方法控制模型比較復(fù)雜,解耦算法中含有離散化計算等,計算機實時計算量大,且來回收縮極易造成調(diào)平誤差,存在一定的局限性[12]。因此,該系統(tǒng)設(shè)計并改進了一種“角速度誤差控制”的調(diào)平算法。整個調(diào)平算法控制流程如圖6 所示。
由圖6 可知,整個調(diào)平控制流程主要分為3 個階段,觸地檢測階段、粗調(diào)階段、細調(diào)階段。需注意的是,在切換驅(qū)動器模式時,為了避免發(fā)生脫缸現(xiàn)象,需要對驅(qū)動器發(fā)送關(guān)使能命令,再進行切換。

圖6 調(diào)平算法控制流程
在觸地階段,驅(qū)動器控制電機以1 500 rmp 速度轉(zhuǎn)動使支腿伸長。由于電機負載的增大會造成驅(qū)動器檢測的電機電流值的增大,因此,通過軟件周期性檢測各個驅(qū)動器反饋電流值的大小,來判斷是否觸地。根據(jù)調(diào)試時的實際情況,由于按下“一鍵調(diào)平”按鍵的瞬間,需要克服電機啟動瞬間的慣性,因此,驅(qū)動器驅(qū)動器檢測并反饋的電機電流值,會產(chǎn)生一個瞬時電流峰值。因此,為了保證觸地的準(zhǔn)確度,降低虛腿的風(fēng)險,該設(shè)計采用雙門限評判法,來判斷是否觸地。設(shè)第一門限值為e1,第二門限值為e2。當(dāng)驅(qū)動器某一電流值大于e1時,可認(rèn)為初次觸地,繼續(xù)監(jiān)測驅(qū)動器反饋電流值,若某個時間點,不間斷累加某一電流值大于e1的次數(shù)大于e2時,則認(rèn)為第一階段觸地結(jié)束。觸地階段的判斷流程圖如圖7 所示。

圖7 觸地階段判斷流程
在第二階段為粗調(diào)階段,此時驅(qū)動器控制電機的速度為500 rmp,根據(jù)實際調(diào)試情況,可設(shè)置粗調(diào)階段調(diào)平精度的閥值為0.15°。先判斷最高點,最高點的判斷方法利用水平儀的符號位進行判斷[13-15]。假設(shè)支腿A 為最高點,則根據(jù)水平儀數(shù)據(jù),先進行X軸的調(diào)節(jié),同時上升支腿C、D,直到X方向的水平儀數(shù)據(jù)小于精度0.15°后停止。然后,進行Y軸的調(diào)節(jié),調(diào)節(jié)支腿B、C,直到Y(jié)方向的水平儀數(shù)據(jù)小于精度0.15°停止。此時再對X軸方向的水平儀數(shù)據(jù)進行精度判斷,如果不滿足,則重復(fù)這個步驟,利用多次循環(huán)逼近誤差,直到X、Y方向值都在精度內(nèi),則可以認(rèn)為發(fā)射車粗調(diào)結(jié)束。其他支腿為最高點時,步驟類似[16-18]。粗調(diào)階段控制流程圖如圖8 所示。

圖8 粗調(diào)階段控制流程
在第三階段為細調(diào)階段,此時驅(qū)動器控制電機的速度為100 rmp,根據(jù)設(shè)計輸入指標(biāo)要求,設(shè)置細調(diào)階段調(diào)平精度的閥值為0.05°。細調(diào)階段的控制流程與粗調(diào)階段類似,先判斷最高點,假設(shè)支腿A 仍為最高點,則根據(jù)水平儀數(shù)據(jù),先進行X軸的調(diào)節(jié),同時上升支腿C、D,直到X方向的水平儀數(shù)據(jù)小于精度0.05°停止。然后,進行Y軸的調(diào)節(jié),調(diào)節(jié)支腿B、C,直到Y(jié)方向的水平儀數(shù)據(jù)小于精度0.05°停止。此時再對X軸方向的水平儀數(shù)據(jù)進行精度判斷,如果不滿足,則重復(fù)這個步驟,利用多次循環(huán)逼近誤差,直到X、Y方向值都在精度內(nèi),則可以認(rèn)為發(fā)射車細調(diào)結(jié)束。其他支腿為最高點時,步驟類似。
在細調(diào)結(jié)束后,還需對支腿進行轉(zhuǎn)矩檢測,避免存在某一支腿虛腿的現(xiàn)象。此時對驅(qū)動器發(fā)送關(guān)使能指令,并將驅(qū)動器的速度模式切換為力矩模式,開使能后,根據(jù)重心位置以及實際各個支腿所負載情況,車控盒對各個驅(qū)動器發(fā)送力矩控制指令。發(fā)送以后,若水平儀數(shù)值還在調(diào)平精度0.05°以內(nèi),則認(rèn)為已經(jīng)調(diào)平,且4 條支腿已經(jīng)踏實。否則將驅(qū)動器切換回速度模式,重復(fù)發(fā)射車調(diào)平控制流程。
調(diào)平控制系統(tǒng)基于CAN 總線進行通信,使調(diào)平單元融入到整個車載網(wǎng)絡(luò)系統(tǒng),適合現(xiàn)階段發(fā)射車信息集中控制發(fā)展的需要。在CAN 通信中,使用某個固定波特率的情況下,總線的通信流量是一個固定值。當(dāng)CAN 總線上設(shè)備數(shù)量過多時,總線的通信就有可能出現(xiàn)擁堵現(xiàn)象。極端條件下,有可能造成錯誤幀的出現(xiàn)。因此,為了避免這種現(xiàn)象的發(fā)生,該調(diào)平控制系統(tǒng)設(shè)計CANA、CANB 兩路CAN 總線。CAN 通信模塊的節(jié)點網(wǎng)絡(luò)示意圖如圖9 所示。

圖9 CAN通信模塊的節(jié)點網(wǎng)絡(luò)示意圖
車控盒與上位機之間通過CANA 進行通信。在CANA 網(wǎng)上,上位機的ID 為0x0D,調(diào)平系統(tǒng)的ID 為0x20。通信速率設(shè)置為500 kbps。車控盒開機自檢完成后,以100 ms 周期接收/發(fā)送報文。
車控盒與水平儀、驅(qū)動器之間通過CANB 網(wǎng)進行通信,由于4 個驅(qū)動器在同一路CAN 網(wǎng)上,因此分別給每個驅(qū)動器設(shè)置不同的ID,同時設(shè)置相對應(yīng)車控盒的郵箱ID,郵箱與驅(qū)動器之間一一對應(yīng),在CANB 通信模塊,各個設(shè)備ID 與車控盒對應(yīng)的郵箱ID 如表1 所示。

表1 CANB模塊各設(shè)備ID
車控盒與水平儀、各個驅(qū)動器間的通信速率設(shè)置為500 kbps,車控盒開機自檢初始化完成后,以100 ms 周期接收/發(fā)送報文。
車控盒軟件初始化完成后,開始發(fā)送水平儀啟動命令報文。在收到水平儀心跳報文后,停止發(fā)送啟動命令報文。當(dāng)檢測到車控盒前面板功能按鍵按下時,根據(jù)驅(qū)動器與車控盒之間的通信協(xié)議,開始周期性往CANB 網(wǎng)上發(fā)送相應(yīng)控制報文。當(dāng)車控盒接收到水平儀、驅(qū)動器發(fā)送的報文時,開始對報文數(shù)據(jù)進行解析,解析完成后根據(jù)車控盒與上位機之間的通信協(xié)議,將當(dāng)前車體傾斜度、驅(qū)動器狀態(tài)等通過CANA 網(wǎng)反饋給上位機。
在軟件的主線程中,周期性檢測限位開關(guān),若限位開關(guān)有效,則將故障指示燈點亮,同時立即關(guān)斷使能;周期性檢測驅(qū)動器回告的故障碼報文,若檢測到報文中含有故障碼時,則將故障指示燈點亮,立即關(guān)斷使能,并將故障代碼回告給上位機;若檢測到與水平儀通信中斷,則將故障指示燈點亮,并將故障回告給上位機。所有的故障均可在液晶顯示屏上顯示。
實驗驗證利用實物平臺進行。調(diào)平前,打開CANTest 軟件檢測并記錄CAN 網(wǎng)上水平儀數(shù)值。為了在不同剛性平臺、不同負載情況下,基于機電式調(diào)平算法控制流程的正確性、通用性,實驗在A 車、B 車兩種不同型號的發(fā)射車上進行。其中,A 車整車包絡(luò)尺寸8 500 mm×2 300 mm×3 210 mm(長×寬×高),整車戰(zhàn)斗全重約為16噸。B車整車包絡(luò)尺寸11 000 mm×3 000 mm×4 500 mm(長×寬×高),整車戰(zhàn)斗全重約為24 噸。對A 車設(shè)置原始車體傾斜度,開始進行“一鍵調(diào)平”。車體傾斜度變化示意圖如10 所示。

圖10 A車傾斜度變化示意圖
調(diào)平結(jié)束后,調(diào)平精度示意圖如圖11 所示。

圖11 A車調(diào)平結(jié)束后精度示意圖
由圖10 可知,最開始為觸地階段,此時X、Y數(shù)值不發(fā)生變化,在支腿觸地結(jié)束以后,開始進入粗調(diào)階段。X、Y初始值都大于0,此時最高點在左前支腿,然后開始升左后、右后兩條支腿對X方向進行調(diào)平。調(diào)平的過程中Y的符號位發(fā)生變化,相應(yīng)的最高點也隨之發(fā)生變化,此時開始重新判斷最高點,對X方向進行調(diào)平。X數(shù)值小于0.2°以后,開始對Y方向進行調(diào)平。重復(fù)此步驟,直到X、Y數(shù)值都小于0.2°以后,調(diào)平進入細調(diào)階段開始微調(diào),此時X、Y數(shù)值進行微小震蕩。當(dāng)判斷X、Y數(shù)值都小于0.05°以后,初次調(diào)平結(jié)束。驅(qū)動器開始切換轉(zhuǎn)矩模式,以排除“虛腿”現(xiàn)象,發(fā)送轉(zhuǎn)矩控制指令的過程中,水平儀數(shù)值發(fā)生微小變化。由圖11 可知,驅(qū)動器轉(zhuǎn)矩指令執(zhí)行到位以后,可以判斷出調(diào)平精度仍然在0.05°以內(nèi),即一鍵調(diào)平結(jié)束。
在B 車設(shè)置原始車體傾斜度,開始進行一鍵調(diào)平。車體傾斜度變化示意圖如12 所示。

圖12 B車傾斜度變化示意圖
初次調(diào)平結(jié)束后,驅(qū)動器切換為轉(zhuǎn)矩模式,車控盒發(fā)送轉(zhuǎn)矩控制指令后,車體傾斜度變化曲線如圖13 所示。

圖13 B車傾斜度變化曲線圖
調(diào)平結(jié)束后,精度示意圖如圖14 所示。

圖14 B車調(diào)平結(jié)束后精度示意圖
由圖12 可知,最開始為觸地階段,此時X、Y數(shù)值不發(fā)生變化,在支腿觸地結(jié)束以后,開始進入粗調(diào)階段。由于受到車體剛性的影響,在支腿上升的過程中,車體抖動幅度較大,水平儀的角度值波動較為明顯。觸地后,先判斷最高點X、Y初始值都大于0,此時最高點在左前支腿,然后開始升左后、右后兩條支腿對X方向進行調(diào)平。在X方向進入0.2°以后,開始對Y方向進行調(diào)平。重復(fù)這個步驟,當(dāng)判斷X、Y數(shù)值都小于0.05°以后,初次調(diào)平結(jié)束,驅(qū)動器開始切換轉(zhuǎn)矩模式,以排除“虛腿”現(xiàn)象。由圖13 可知,車控盒發(fā)送轉(zhuǎn)矩控制指令的過程中,水平儀數(shù)值發(fā)生震蕩。當(dāng)驅(qū)動器轉(zhuǎn)矩指令執(zhí)行到位以后,兩次檢測到水平儀數(shù)值不滿足精度要求,因此,驅(qū)動器開始切換速度模式,重復(fù)粗調(diào)階段、細調(diào)階段,當(dāng)判斷X、Y數(shù)值都小于0.05°以后,再次切換轉(zhuǎn)矩模式,直到滿足精度要求為止。由圖14 可知,經(jīng)兩次轉(zhuǎn)矩模式切換,最終調(diào)平的精度在0.05°以內(nèi),滿足精度要求。
該自動調(diào)平系統(tǒng)基于機電式驅(qū)動進行設(shè)計,經(jīng)過現(xiàn)場調(diào)試運行,該系統(tǒng)調(diào)平的時間小于1 min,調(diào)平精度在3′以內(nèi),滿足作戰(zhàn)性能指標(biāo)要求。由于系統(tǒng)在檢測到4 條支腿都初步觸地后,采用雙門限評判法,并在調(diào)平后用驅(qū)動器力矩模式進行受力檢測,很好的避免了某條支腿“虛地”現(xiàn)象。該機電式自動調(diào)平系統(tǒng)反應(yīng)靈敏、調(diào)平精度高、后期維護保養(yǎng)方便,能適應(yīng)各種極端環(huán)境,不僅可用于發(fā)射車調(diào)平,而且對其他需要調(diào)平的系統(tǒng)和裝置也有應(yīng)用價值,具有通用性。