(南京理工大學 瞬態國家物理重點實驗室,南京 210094)
對于低成本,高精度的制導炮彈,已成為各國爭向研究的重點。云臺式PGK(Precision Guidance Kit)作為一種新型的制導控制組件,需要根據彈載計算測算的彈體轉速控制云臺電機轉速及反旋翼筒的轉速,并對反旋翼筒進行加減速控制,改變其相對彈體的相位,依靠翼筒產生的氣動力矩調整彈體姿態,進而提高彈體的落點精度。
對于云臺式PGK整個控制器件系統的設計,核心器件采用低成本的FPGA型號XC3S1600E,由于其超快的處理速度,減少系統響應的運算延時;擁有著8個數字時鐘管理模塊(DCM),頻率范圍達到從5 MHz到300 MHz以上,可以輸出多路頻率相同占空比不同的PWM,足夠多的I/O輸出口可以實現對多個電機的控制能力;其獨特的并行處理方式,靈活的可編程邏輯單元,可大大減少外圍電路,提高系統集成度;整個FPGA的系統包括地磁系統、黑匣子系統、彈載計算機系統,采用FPGA可編程能力,和足夠多的I/O,實現整個系統的一體化設計。
云臺式PGK控制器要求對反旋翼筒實現相對彈體進行同步反旋,并且要求翼筒根據彈載計算發出的指令進行精準的相位控制,以及云臺進行穩定的速度控制,其根本執行機構選用帶霍爾的永磁無刷直流電機(BLDC),即基于FPGA實現對雙電機的協調控制。云臺式PGK控制器系統主要包括:以FPGA為核心的主控電路模塊、時鐘模塊、外部測試模塊、擴展FLASH模塊、A/D轉換模塊、驅動電機模塊、電源模塊、執行機構。電源模塊通過外部輸入直流電壓12V經過DC模塊轉換成5V給主控電路模塊供電,同時輸出12V給電機驅動模塊供電;A/D轉換模塊將采集的信號轉換成電流信號傳送給主控制器,進行實時監控電流;時鐘模塊用來生成系統時鐘,提供準確的實時時間;擴展程序模塊負責系統的邏輯配置數據,存儲控制程序;根據霍爾信號確定電子轉子位置及電機速度,經過主控模塊產生相應頻率一定占空比的PWM來調整執行機構的速度;測試模塊采用UART數據通信方式,通過RS232串口標準與上位機進行交換數據,對整個系統的相關數據進行讀寫測試,直到整個系統調試完成[1-5]。整個系統的組成框圖如圖1所示。

圖1 云臺式PGK伺服系統控制器系統組成框圖
主控制器選用XILINX公司SPARTAN3E系列的XC3S1600E芯片,外部多達376個I/O引角,內部集成了160萬個門,具有豐富的邏輯資源,而且價格低廉,對于電機控制可大幅度減少外設電路部分,也有充足的接口輸出PWM脈寬來控制多個電機,在研發初期可以大大降低研發成本,對于硬件電路也可以非常方便的進行修改,減少了很多前期研發工作不必要的麻煩。對于云臺式PGK的硬件主控電路圖如圖2所示。

圖2 云臺式PGK硬件主控電路圖
FPGA內部芯片采用SRAM工藝,系統斷電后將丟失已配置的邏輯數據,所以基于SC3S16000E外部需要擴展非易失性存器。在選用芯片過程中,考慮到實用的可靠性:在調試過程中會對系統進行多次的燒寫與擦除程序,以及在進行燒寫程序后對程序的存儲時間是一個重要因素;考慮存儲器的容量:由于一般FLASH的容量大小與價格成正比關系,容量在滿足系統要求的情況下,盡量滿足低成本的要求;滿足系統數據的讀寫時間要求:對于數據讀寫的快速性是系統對FLASH要求的關鍵指標。綜上述因素考慮,采用官方提供的與主控芯片兼容的內存8 Mbit的FLASH芯片(XCF08PFSG48C),內部數據讀寫次數可達到20 000次。FPGA內部有多種配置方式,分別是:主串模式、SPI模式、BPI模式、從并模式、從串模式、JTAG模式。本系統設計工作的模式可根據M0,M1,M2三個引角高低電平組合來實現轉變,系統采用主串模式3個管腳全部設置為低電平。在主串工作模式中,FPGA每當在CCLK信號為上升沿時就會從外設拓展FLASH內部讀取相應數據,CCLK信號傳送給外設FLASH,FLASH以比特流數據傳輸給FPGA通過D0管腳。在進行主串模式的配置時關建在于保持系統JTAG鏈路的一體性,即將FPGA的JTAG電路、FLASH的JTAG電路和JTAG連接器的TMS、TCK相對連接[6-7]。最終形成從JTAG連接器的TDI到FPGA的TDI—TDO;再到FLASH的TDI—TDO;再回到JTAG連接器TDO的JTAG鏈路的一體化。XC3S1600E與擴展FLASH電路配置圖如圖2上半部所示。
系統外部總輸入電源為12 V經過MP2315GJ(DC-DC)電源芯片轉換成5 V給FPGA芯片供電[8],但XC3S1600E型FPGA電源系統主要采用包括1.2 V核電源,3.3 V的I/O電源以及2.5 V的輔助電源。由于XC3S1600E的三路供電系統對通斷電順序沒有嚴格的要求,系統采用IT公司的TPS70358和TPS70345型芯片進行供電,TPS70358型芯片第一路產生3.3 V電源,最大電流1 A,可給FPGA的I/O供電;第二路可以供FPGA輔助電源供電的2.5 V電源,最大電流為2 A。TPS70345型芯片第二路產生1.2 V電源,最大電流可達2 A,可為FPGA提供核電源。TPS70345和TPS70358均采用外部5 V電壓輸入,基本外設電路基本一致。TPS70358配置電路圖如圖2下半部所示。
反旋翼筒及云臺執行機構的無刷直流電機均采用六相全橋式逆變器,通過控制上下橋臂MOS管的通斷順序與時間來控制電機的轉動與調速。在驅動方案選取上[9-10],上橋臂選取BXZ086P03(P型)型號MOS管,下橋臂選擇BSZ025N04LS(N型)型號MOS管,相比較傳統的上下橋臂均選用同種N型號MOS管,不再需要MOS管柵極驅動芯片及自舉升壓電路,最大化的提高了電路的集成度。但由于FPGA的I/O輸出的PWM電壓信號為3.3 V無法直接驅動MOS管,系統增加了BC817-16型三級管外接12 V驅動電壓,通過控制三極管的通斷來控制MOS管的通斷。但如果FPGA輸出的低電壓信號直接接到驅動電路三極管上,12 V電壓很有可能會對主控系統造成干擾,甚至直接燒壞核心電路。為了避免12電壓對主控器的干擾,系統采用PC4D10S光電耦合芯片,將主控電路與驅動電路隔離開來,并且PC4D10S可同時對兩路信號進行隔離,對于雙電機控制僅需要6個光電耦合芯片即可。電機驅動模塊電路設計如圖3所示。

圖3 電機驅動模塊電路設計
在控制器系統的UART模塊中采用SG8002(11.059 2 MHZ)晶振來提供時鐘周期,采用UART數據通信方式主要用于整個系統內部與其它相關系統進行低速的數據通信,系統的串口通信波特率為115200BPS。如果采用的是芯片內部時鐘頻率,有一定的誤差,在通信過程中可能會出現誤碼。系統采用SG8002CE有源晶振為UART通訊來提供時鐘,從而保證主控系統對數據的精確采樣。系統通過UART進行數據的接收與發送,而通過RS232串口通信接口與上位機進行數據通信。RS232采用的電平信號標準為:電平信號為-3 V~-15 V時邏輯信號為“1”;電平信號為+3 V~+15 V時邏輯信號為“0”。而UART在FPGA中采用的是TTL邏輯電平標準。由于RS232與UART的電平信號不兼容,系統使用MAX232芯片將UART的TTL電平轉化為RS232兼容的負邏輯電平,使用MAXIM公司的MAX232芯片的最大優勢就在于其外設電路只需要4個小電容就可以,而且器件封裝較小,大大減少了外設電路部份。在系統運行過程中需要不斷采集的外部數據有電機相電流信號與電機霍爾信號,電機霍爾信號能夠確定電機的轉子位置及測算電機轉速,測算到相應信號后,將電流信號與轉速信號送入閉環控制。要實現系統的完整功能,硬件是基本,良好的硬件設備是實現完整功能的關鍵,而系統整個軟件設計對完美實現系統功能也尤為重要。
系統控制主程序設計如圖4所示,彈體出炮口飛行過程中,各個功能正常后便民伺服系統控制器開始工作,系統上電將并開始初始化,由地磁系統測量得到彈體轉速后,彈載計算機根據彈體與云臺轉速對應關系表,給定云臺轉速并依據主控電路控制其達到額定轉速,依據云臺電機霍爾信號測算確定云臺達到相應轉速后,開啟控制反旋翼筒相對彈體與云臺轉速合時行同步反旋,使反旋翼筒在慣性空間下保持相對靜止,根據彈載計算機測算目標落點誤差,發出相應的指令控制反旋翼筒的偏轉使彈體落點向目標點偏移,不斷重復此過程直到實現精確打擊目標的目的。

圖4 系統主程序設計
在系統上電并初始化完成以后,電機的正常啟動是系統進行制導控制和重要前提。根據相差120度安裝在電機定子上的3個霍爾傳感器輸出的高低電平進行采集,通過電機相應的換相表,電機霍爾信號與電機相間供電的對應關系,由主控電路發出相應的控制信號給驅動電路進行有次序的換相。由于電機在空中飛行過程中,由于裝配問題或外部環境的影響,電機很容易會發生堵轉現象,電機就無法正常啟動,彈體就失去制導能力。所以程序啟動時加入堵轉檢測,在1秒時間檢測到霍爾信號沒有發變變,主控制器就不斷強制增大PWM占空比,在上限區間內增大電流直到電機啟動,跳出此程序,在電機正常啟動以后,電機進行閉環控制[11]。電機啟動程序流程如圖5所示。

圖5 電機啟動程序
在系統運行過程中需要檢測的速度信號有4個:反旋翼筒電機轉速、云臺電機轉速、反旋翼筒轉速及云臺轉速。轉速信號由霍爾元件發出的脈沖進行檢測,通常的測算方法有:M法、T法和M/T法[12-13]。電機啟動的過程中轉速是一個動態的過程,M測量法根據給定時間內檢測脈沖個數來計算轉速,但轉速過低時測量精度不夠;T測量法根據測量相鄰脈沖的時間間隔來計算轉速,轉速過高時測量誤差就會大大增大;M/T測量法將M法與T法結合起來,在檢測給定T時間內的脈沖個數同時檢測高頻時鐘脈沖個數,假定T時間內檢測到M個脈沖信號和M'個已知頻率為f0的高頻時鐘脈沖個數,旋轉一周有N個脈沖信號,則轉速測量對象的轉速n(r/min)的計算公式為:
(1)
系統采用M/T測量法進行轉速測量,由于系統內部有較高的捕獲頻率,所以可以準確的捕獲到霍爾傳感的升沿和下降沿的變化,計算出測量對象的速度,其軟件設計流程框圖如圖6所示:

圖6 轉速計算程序設計
PID控制做為工程應用的一種經典控制算法,因其算法簡單實用而得到廣泛應用,本系統中也多次使用到PID控制算法,在進行反旋翼筒的相位、速度控制環和電流環;同時在云臺電機控制的速度環和電流環都使用了PID控制算法[14-16]。系統采用增量式PID控制算法,輸出的是控制量增量,累積誤差小。其算法控制表達式為:
△u(k)=KP[e(k)-e(k-1)]+Kie(k)+
Kd[e(k)-2e(k-1)+e(k-2)]
(2)
系統在運行中不僅需要快速響應,也需要保證其在可按范圍內,系統對控制輸出量是添加門限值um,當u(k)超出限值時以門限值作為控制輸出量。系統采用的PID控制算法程序設計框圖如圖7所示。

圖7 PID算法程序設計
在整個系統調試過程中,硬件系統測試按照先對各個子模塊進行靜態測試,再對整體模塊動態測試為原則。對系統的電源模塊、時鐘模塊、驅動電機模塊、主要功能模塊測試無誤后,對整個系統進行動態測試。在彈體飛行過程中為保證反旋旋翼相對彈體同步反旋,可在慣性空間下保持靜止,實現對彈體俯仰和偏航進行校正的目的。假定云臺電機與彈體轉速和在4 r/s到15 r/s之間,彈體與云臺轉速從4 r/s開始每隔五秒轉速增加一轉,最大增加到15 r/s,測試反旋翼筒的性能;翼筒穩定跟隨的情況下,假設彈載計算機根據目標落點誤差計算每隔一段時間發出翼筒偏轉90°指令,到達指定位置對彈體的姿態進行調整以準確到達目標點。實驗結果如圖7,圖8所示。

圖8 翼筒轉速跟隨

圖9 翼筒相位跟隨
從圖中看出系統能在5 ms內達到給定轉速,系統靜態誤差在0.05 r/s之內;在相位跟隨過程中翼筒能夠始終快帶跟隨差保持穩定。根據測試結果可得出云臺式PGK的伺服系統控制器對反旋翼的速度和相位控制有著快、穩、準的控制特點,滿足對系統高精度和高穩定性的要求,驗證了整個系統的可行性。
通過測試結果表明,本文基于XC3S1600E為核心設計了一種新型的云臺式PGK的伺服系統控制器,能夠使反旋翼筒相對彈體及云臺轉速和進行反旋跟隨、相位跟隨,系統的動靜態良好,驗證了此控制器系統的可靠性,滿足控制系統對控制性能的要求。而相比較傳統的單片機控制系統,提高了系統的集成度,成本更低,硬件電路靈活性更高,實用價值高,為項目下一步進行的實彈打靶實驗提供堅實的技術支持。