劉蘭強,童仲志,侯遠龍
(南京理工大學,江蘇 南京 210094)
輪式自行火炮具有高機動、強火力、多功能的特點,易于使用和維修,與履帶式自行火炮相比,結構簡單、成本低廉。現代戰爭中,對武器的精度、靈敏度有很高的要求,對輪式自行火炮來說,既要抵抗來自外界不確定環境的干擾,又要解決火炮的射擊力矩引起車體姿態變化及炮管的擾動。在受到擾動時快速、精確地將炮調到位顯得尤為重要[1]。為解決這些因素對調炮精度、響應時間的影響,就要制定科學、有效的伺服系統控制方法[2]。對火炮交流伺服系統的硬件設計和軟件設計進行研究。
火炮伺服系統控制主要由調炮高低角和方向角控制的兩個交流伺服系統構成。控制器主要控制伺服系統的速度環、位置環,高低角和方向角的位置量由兩路旋轉變壓器采集到控制器,車體的傾斜度由傾斜儀采集信號;上位機(計算機)主要負責輸入命令和顯示,下位機控制器為主要控制部分,控制器通過D/A轉換、伺服放大模塊控制驅動器從而控制永磁同步電機[3]。圖1為火炮伺服系統的控制流程圖。

圖1 火炮伺服系統總體控制流程圖
其工作過程如下:系統由計算機給定初始目標的高低角和方向角,控制器將給定的初始高低角、方向角與傾斜儀輸入的傾角進行解算,得到最終的高低角和方向角。控制器會計算出系統所需的控制信號,通過D/A轉換和伺服放大進入交流調速系統,對系統速度環進行調整,使電機轉速達到要求。通過兩路旋轉變壓器(高低旋變、方向旋變)將火炮的實際高低角和方向角信號反饋給控制器,控制器再計算出控制量。設計采用了STM32和DSP兩款處理器,充分運用了STM32F107RCT6的控制可靠性高的特點和TMS320F28335處理速度快,計算能力強的優勢。
下位機采用雙CPU控制,TI公司的數字信號處理器(digital signal processor,DSP)TMS320F28335[4]和 ARM的Cortex-M3處理器STM32F107RCT6[5]。兩款芯片均是32位處理器,兩個處理器分工不同,TMS320F28335主要負責位置信號的采集、A/D信號采集和算法的處理,STM32F107RCT6主要負責D/A控制輸出、存儲和與上位機通信,兩款芯片之間的通信方式為SPI。圖2為下位機總體硬件設計簡圖。

圖2 下位機總體硬件設計簡圖
TI公司的TMS320F28335采用176引腳LQFP四邊形封裝,其主要性能如下:高性能的靜態CMOS技術,指令周期為6.67 ns,主頻達150 MHz;高性能的32位CPU,單精度浮點運算單元(FPU)[6]。TMS320F28335主要負責位置信號的采集、A/D信號采集和算法的處理,下面分別介紹各模塊的電路設計。
1) 角度信號采集
RDC模塊的作用是將旋轉變壓器的粗通道、精通道的正余弦信號轉換成16位TTL電平的并口鎖存輸出,由于DSP的電平為0~3.3 V,而MTS16R輸出角位置信號的電平范圍為0~5 V,電平不匹配。因此要進行電平轉換,這里用74LVX4245芯片進行電平轉換,74LVX4245是雙向3.3 V轉5 V芯片,可以滿足轉換要求。
2) 傾斜儀信號采集
在實際調炮過程中,要考慮車體的傾斜問題。車體的傾斜用傾斜儀來測量,由于傾斜儀輸出的傾斜信號為模擬量,因此要進行A/D轉換,將電壓信號轉化成數字信號再傳到DSP中進行處理。傾斜儀輸出的傾斜信號是兩路范圍為-10 V~+10 V的電壓信號,這里選用AD7606-4芯片進行A/D轉換,AD7606-4是ADI公司的一款16位精度,四通道的高精度模數轉換芯片,它的輸出電平和DSP電平兼容。AD7606-4采樣頻率可達20 ksps,各通道的輸入阻抗均為1 MΩ。ADC模塊的電路原理圖如圖3。

圖3 ADC模塊原理圖
STM32F107RCT6為32位基于ARM Cortex-M3處理器的微控制器,72 M主頻,100引腳LQFP四邊形封裝,STM32F107是互連型系列微控制器,集高性能、實時功能、數字信號處理、低功耗與低電壓操作等特性于一身,同時還保持了集成度高和易于開發的特點[7]。
1) D/A模塊
伺服放大器的輸入為模擬電壓信號,因此需要把DSP輸出的數字信號轉換為模擬信號再送入伺服放大模塊。本文選用16位精度的DAC8541作為D/A轉換芯片。
為了輸出精確的模擬電壓信號,需要給DAC8541提供高精度的參考電壓。本文選用TI公司的REF02芯片為DAC8541芯片提供高精度的5V基準電壓,DAC8541可以使用REF02輸出5 V的高精度的參考電壓,從而在D/A轉換中輸出高精度0~5 V電壓信號。REF02芯片具有低溫漂(低至8.5 ppm/℃)、噪聲小和電流消耗少的特點,電源電壓、環境溫度或負載條件的變化對輸出電壓的影響極小。
2) SD卡存儲
在火炮運行過程中要保存一些重要數據信息便于以后查看。這里選用miniSD卡作為輔助存儲設備,以TXT格式保存。為了更方便地對SD卡進行操作,在STM32F107RCT6中移植文件系統。SD卡有兩種讀寫模式,一種是SD專門的讀寫模式,另一種是SPI模式。STM32有兩個SPI,因此這里采用SPI模式對miniSD卡進行讀寫。
伺服放大電路主要作用是將DAC8541芯片D/A輸出的電壓控制信號進行放大,從而控制驅動器。DAC8541芯片D/A轉換輸出的電壓信號范圍是0~5 V,而火炮伺服系統的驅動器輸入電壓為-10 V~+10 V,因此需要設計伺服放大電路對控制信號進行放大。對驅動器而言,輸入轉速和電壓呈線性關系。當輸入電壓為0 V時,電動機運行速度為0;當輸入電壓>0 V時,給電動機正轉信號;當輸入電壓<0 V時,給電動機反轉信號。伺服放大電路主要包括隔離電路、初級放大電路、比較電路、差分放大電路四部分。伺服放大電路簡圖如圖4所示。

圖4 伺服放大電路原理簡圖
軟件設計主要包括上位機軟件設計和下位機軟件設計。上位機主要是人機交互界面,輸入調炮角度命令,顯示調炮過程的調炮曲線;下位機主要是STM32F107RCT6和TMS320F28335的C語言程序,STM32F107RCT6主要負責D/A控制輸出、存儲和與上位機通信,TMS320F28335主要負責位置信號的采集、A/D信號采集和算法的處理。
上位機是研華IPC-610-E工控機,采用WINDOWS XP操作系統,該型號工控機具有主頻高,計算能力強,抗干擾能力強和通訊接口多的優點。上位機界面在VC++6.0軟件中的MFC平臺采用VC++語言編寫[7]。上位機主要任務是將調炮角度發送給下位機,接收下位機的調炮數據并實時顯示調炮曲線,上位機和下位機通信接口為RS232串口。上位機人機交互界面如圖5。

圖5 上位機控制界面
上位機調炮操作,首先進入界面輸入調炮高低角和方向角,然后點擊開始調炮按鈕,將調炮信息發送到下位機,并不斷接收下位機傳上來的實時調炮位置顯示到界面坐標圖中,便于觀察。
下位機的任務包括位置信號的采集、A/D信號采集、算法的處理、D/A控制輸出、存儲和與上位機通信。上位機采用雙CPU控制,TMS320F28335和STM32F107RCT6。
1) TMS320F28335軟件設計[9]
DSP主要負責高低角旋轉變壓器和方向角旋轉變壓器的位置信號采集,傾斜儀A/D轉換的傾斜信號,控制算法的處理,將算出的控制輸出信號和角位置信號傳給STM32,DSP程序流程圖如圖6。

圖6 下位機DSP程序運行流程圖
2) STM32F107RCT6軟件設計
STM32F107RCT6主要負責D/A控制輸出、存儲和與上位機通信[10]。STM32將DSP傳過來的控制輸出信號通過D/A轉換輸入伺服放大模塊;STM32通過RS232接口與上位機進行通信,接收上位機命令和發送角位置信號;STM32還連接miniSD卡,移植文件系統,將重要數據保存到SD卡中[11]。STM32的程序運行流程圖如圖7。

圖7 下位機STM32程序運行流程圖
在完成STM32+DSP集成軟硬件模塊設計的基礎上,搭建某火炮電動伺服加載系統。圖8為試驗臺搭建實物圖。

圖8 交流伺服系統試驗臺搭建實物圖
采用常規自適應PID控制,正弦響應特性及誤差曲線如圖9所示。從圖中可以看出輸出信號能迅速跟隨控制信號,誤差很小,具有較好的穩態性能。

圖9 自適應PID控制下的位置跟蹤曲線及其誤差圖
通過實際的操作、實驗及評審,本設計操作方便,運算速度快,能夠高效、可靠地控制某輪式自行火炮的交流伺服系統。
[1] 雷瑛. 輪式自行火炮的現狀和發展趨勢[J]. 兵工標準化,1999(5):33-35.
[2] 韋佳輝,陳國光,王波,等. 現代自行火炮系統的特點與發展展望[J]. 機械工程與自動化,2015(2):223-224.
[3] 李志寧,何忠波,石志勇.自行火炮隨動系統模擬訓練裝置[J]. 火力與指揮控制, 2010, 35(12):123-125.
[4] 孔建平,高強,侯遠龍.基于雙DSP在交流位置伺服系統的小波神經網絡控制 [J]. 機械制造與自動化, 2014, 43(5):167-169.
[5] 孫書鷹,陳志佳,寇超. 新一代嵌入式微處理器STM32F103開發與應用[J]. 微計算機應用,2014(5):167-169.
[6] 田斌. 基于DSP的炮射導彈制導控制系統設計與仿真[D]. 北京:北京理工大學,2015.
[7] 丁力,宋志平,徐萌萌,等. 基于STM32的嵌入式測控系統設計[J]. 中南大學學報(自然科學版),2013(S1):260-265.
[8] 李帥,劉全利,王偉.基于QT的車載監控系統主控單元軟件設計及實現[A].中國自動化學會過程控制專業委員會.第25屆中國過程控制會議論文集[C].中國自動化學會過程控制專業委員會,2014.
[9] 潘曉偉.基于TMS320F28335的隨動控制系統設計及其控制算法研究[D]. 南京:南京理工大學,2012.
[10] 南亦民.基于STM32標準外設庫STM32F103xxx外圍器件編程[J]. 長沙航空職業技術學院學報,2010(4):41-45.
[11] 鄭明忠,樊水康. 基于S3C6410的嵌入式Linux文件系統移植[J]. 火力與指揮控制,2012(S1):73-76.