宋 輝
(中國船舶重工集團公司第七一三研究所,河南 鄭州 450015)
隨著大功率驅動和多軸伺服技術發展,傳統機械部件完成的功能可以由伺服系統實現,越來越多的機構動作被伺服控制所取代,多軸之間無需通過硬性的機械嚙合聯接,可以實現快速、高精度的多軸伺服及同步控制。在艦炮裝備上,除瞄準、穩定以及引信測合等隨動系統以外,擺輸彈機構、補供彈機構等也可廣泛采用伺服控制,實現艦炮、彈庫的全電驅動和多軸化伺服控制,大大簡化了艦炮系統機械結構。
工業現場總線技術的發展,站點間總線刷新率大幅提高,伺服軸傳輸信息得到及時更新,為分布式驅動控制提供了保障。CAN總線是應用最廣泛的現場總線之一,主要用于各種設備監測及控制。它是一種有效支持分布式控制的串行通信網絡,具有多主通信的靈活通信方式,具有實時性強、傳輸距離遠、抗干擾性強、成本低的特點[1]。
艦炮控制系統采用CAN總線連接各伺服機構和IO設備,可以滿足艦炮系統多軸化和實時性伺服控制需要,實現了現場設備的靈活分布式部署,大大減少了伺服控制和伺服驅動器之間的大量接線。艦炮采用現場總線連接,方便系統硬件擴展,當伺服系統軸數增加時,對系統硬件結構沒有影響,便于控制系統的擴充和裁減。
本文針對艦炮伺服控制需要和分布式控制節點規模數量,給出單級、兩級CAN總線分布式伺服控制系統方案,以及設計出雙CAN總線接口伺服控制模塊,分析了CAN總線數據傳輸機理和實時性要求,通過試驗驗證CAN總線分布式伺服控制滿足艦炮控制需要。
艦炮伺服控制系統包含方位、高低瞄準伺服系統、擺輸彈伺服系統、以及補供彈伺服系統,由系列伺服控制模塊和伺服驅動器完成伺服控制,并采用CAN總線互連實現分布式控制。根據分布式控制需要和CAN總線互連節點數量,伺服系統結構有單級、兩級CAN總線互連2種結構方案。
如圖1所示,該方案可以實現傳統艦炮方位、高低瞄準系統分布式伺服控制。系統所有節點,包括顯示控制模塊、伺服控制模塊和伺服驅動器,均采用單級CAN總線互連[2 - 3]。節點0顯示控制模塊是上位機單元,作用是對各伺服控制模塊發送位置控制指令及位置狀態顯示,節點1和節點2伺服控制模塊也采用該CAN總線給相應伺服驅動器發送啟動和速度指令,并反饋驅動器運行狀態。單級CAN總線傳輸數據包含位置控制指令、位置狀態、速度控制指令和驅動器狀態等,信息類別多,數據傳輸量大,節點數量增加,CAN總線傳輸數據容易擁堵,適用于艦炮伺服控制系統CAN節點數量少場合。

圖1 單級CAN總線分布式伺服控制系統結構圖Fig.1 Single CAN bus for distributed servo control system diagram

圖2 兩級CAN總線分布式伺服控制系統結構圖Fig.2 Double CAN bus for distributed servo control system diagram
針對伺服控制節點多場合,除瞄準伺服系統以外,還要實現擺輸彈、補供彈伺服控制功能,系統結構采用兩級CAN總線互連方案(見圖2)。節點0~n采用一級CAN總線互連,節點1~n伺服控制模塊為相同硬件的標準化模塊,伺服控制模塊與伺服驅動器之間采用二級CAN總線分布互連。其中,節點1伺服控制模塊實現方位、高低瞄準伺服控制系統位置環控制,并由CAN總線發送速度指令控制伺服驅動器1和驅動器2。節點2伺服控制模塊實現擺彈和輸彈伺服系統控制,節點3伺服控制模塊實現補供彈系統的供彈、揚彈和推彈伺服控制,并由CAN總線發送速度指令控制相應驅動器。該方案將伺服控制系統數據交互分解到兩級CAN總線傳輸,每路CAN總線控制節點和數據量減少,提高了擴展性,適用于艦炮伺服控制系統規模大、CAN總線節點數量多場合。
伺服系統由伺服控制模塊、伺服驅動器和顯示控制模塊硬件等組成,伺服控制模塊是圍繞艦炮伺服控制設計標準化伺服控制模塊,伺服驅動器和顯示控制模塊均為具備CAN總線接口通用化硬件單元。因此,主要介紹標準伺服控制模塊和CAN總線接口設計。
伺服系統單級、兩級CAN總線分布式控制方案均采用標準伺服控制模塊,伺服控制模塊硬件電路如圖3所示。伺服控制模塊具備兩路CAN總線接口,以DSP為主控制芯片,選用可編程邏輯器件CPLD作為模塊接口邏輯控制。DSP芯片內部集成1路CAN總線控制器,并用獨立CAN控制器芯片SJA1000擴展另外1路CAN接口。伺服控制模塊的SDC輸入通道、D/A通道以及16路并行數據通道均通過CPLD配置端口。其他輔助電路包含電源適配電路、時鐘振蕩電路和存儲電路[4]。

圖3 伺服控制模塊主要電路組成圖Fig.3 Servo control module main circuit diagram
CAN總線接口設計包括集成CAN總線接口和獨立CAN控制器接口設計方法。
集成CAN接口由DSP集成增強型控制器區域網路(eCAN)模塊和驅動器接口電路組成。CAN總線采用獨立電源及隔離器件與外部通信,提高了CAN通信可靠性和抗干擾性。CAN總線通信接口電路如圖4所示,總線收發器選用UC5350器件,采用磁場隔離器件對CAN通信信號CANH,CANL進行隔離,相比傳統光電隔離器件,具備更高和更穩定的傳輸速率。
獨立CAN控制器設計選用控制器SJA1000[5],該芯片提供的微處理器接口方式為地址數據多路復用總線模式,而DSP芯片總線接口方式采用地址和數據分離的形式。SJA1000與DSP之間總線接口采用CPLD控制,SJA1000芯片地址數據線總線復用采用CPLD編程實現總線緩沖器件功能[6]。擴展接口電路圖如圖5所示。

圖4 CAN 總線通信接口接口圖Fig.4 CAN Bus communication interface diagram

圖5 SJA1000 擴展接口電路Fig.5 SJA1000 expansion interface circuit
CAN總線分布式伺服控制結構,既要求高的數據通信速率,而且要求數據傳輸實時性,通過合理的通信協議設計降低伺服控制對網絡帶寬的依賴,提高實時性[7 - 8]。CAN 總線網絡采用“一主多從”總線型結構,每個伺服控制節點作為網絡中從節點,顯示控制模塊作為網絡唯一主節點,除發送指令和狀態顯示外,同時負責整個網絡通信調度和運動時序控制。相比多主節點CAN總線工作方式,該方式避免了通過報文標識符競爭總線訪問優先權,以及逐位仲裁造成的傳輸延遲。另外,顯示控制模塊向各伺服控制模塊發送周期為20 ms的時間同步基準信號,通信節點分時占用總線,減少了CAN總線數據量過大造成的堵塞,保證了通信實時性,
CAN總線通信報文格式如圖6所示,標識為29位標識符,b28,b27最高位固定為1,b24~b26為發送節點的節點號,b20~b23位表示報文數量從0開始,b0~b19位每一位表示一個接收節點,b19位代表顯示控制模塊接收節點,b18、b17、b16分別代表方位、高低、擺彈伺服控制模塊接收節點,未用的均為0。顯示控制模塊發送給方位、高低、擺彈伺服控制模塊的數據報文標識為1A03 1000H。

圖6 CAN 總線郵箱消息數據格式Fig.6 CAN bus mailbox message data format
以顯示控制模塊與CAN總線傳輸為例,傳輸數據格式如表1所示。艦炮方位、高低、擺彈運動角度及反饋數據長度16位,有效位15位,符號位為最高位,最低有效位180°/215,數據范圍-180°~+180°,方位、高低、擺彈前饋數據采用,16位2進制無符號數,有效數字為:0x0000~0x7FFF,表示速度范圍為0~60°/s。輸入輸出信號為二進制數據,代表輸出控制指令和狀態反饋代碼。
艦炮具備方位、高低、擺彈和輸彈等多個伺服控制節點,系統采用兩級CAN總線分布式互連。CAN總線傳輸速率設定512 kBit/s,方位、高低、擺彈以及輸彈等伺服機構在速度為30°/s等速跟蹤運動的實測誤差曲線如圖7~圖10所示。

表1 顯示模塊與伺服控制模塊CAN總線傳輸數據格式Tab.1 Monitor and servo control module cAN data format

圖7 方位瞄準等速跟蹤的誤差曲線Fig.7 Horizontal system constant velocity error curve

圖8 高低瞄準等速運動誤差曲線Fig.8 Vertical system constant velocity error curve

圖9 擺彈機構等速誤差曲線Fig.9 Swing gear constant velocity i error curve

圖10 輸彈機構等速誤差曲線Fig.10 Projectile mechanism constant velocity error curve
伺服控制中斷數據處理周期設定Tc=10 ms,當CAN總線傳輸速率大于125 kbit/s時,數據報文延遲Tr<1.0 ms,遠小于系統中斷周期,伺服系統實時性和控制精度都能保證。從試驗結果可以看出,伺服系統等速誤差均滿足系統給定指標要求:等速誤差1.5 mrad(1.0 mrad≈0.057°)。
綜上所述,分布式控制系統,關鍵需要解決伺服控制實時性問題。CAN總線分布式網絡取代傳統并行信號連接,采用數字化實時通信取代傳統模擬信號,實現網絡閉環控制。本文設計出了基于CAN總線分布式伺服控制系統,當CAN總線傳輸速率大于125 kbits/s時,CAN總線分布式伺服控制系統,實時性和控制精度滿足使用要求。