陳虹麗, 劉 磊, 李 強, 于立君
(1.哈爾濱工程大學(xué) 自動化學(xué)院,哈爾濱 150001;2.哈爾濱工業(yè)大學(xué) 空間控制與慣性技術(shù)研究中心,哈爾濱 150001)
隨著科研能力的進(jìn)步,對慣性系統(tǒng)的性能需求愈加嚴(yán)苛,慣性元件的精度也需要跟著提高,對慣性元件的標(biāo)定設(shè)備轉(zhuǎn)臺的性能也需要提高[1],為了滿足對慣性器件高性能的要求,需要研究出高精度的轉(zhuǎn)臺,也即要提高轉(zhuǎn)臺控制系統(tǒng)的性能,提高控制系統(tǒng)的性能主要體現(xiàn)在提高運算性能和改善控制算法上[2-3]。系統(tǒng)的運算性能包括了運算速度和運算精度。
高頻角振動臺是轉(zhuǎn)臺的一種類型,主要用來測量陀螺的動態(tài)特性,需要無穩(wěn)態(tài)誤差地跟蹤給定信號,需要能跟蹤周期性的給定信號[4]。
角振動臺控制系統(tǒng)要求是一個實時系統(tǒng)[5],對于一般性能指標(biāo)的轉(zhuǎn)臺,可以采用Windows+RTX的方案編寫轉(zhuǎn)臺控制算法,但是,由于Windows系統(tǒng)的運行機(jī)理是基于消息機(jī)制的,因此不可能實現(xiàn)本質(zhì)上的實時性,RTX是一款可以嵌入Windows系統(tǒng)的實時操作內(nèi)核,但RTX也是基于Windows實現(xiàn)的,因此并不是強實時系統(tǒng),只能到微秒級的定時精度。為了提高系統(tǒng)的實時性,針對角振動臺控制系統(tǒng)的運算量和速度要求,本文使用DSP[6-8]器件作為控制器,同時使用FPGA作為輔助芯片,DSP實現(xiàn)控制算法,F(xiàn)PGA為DSP搭建數(shù)據(jù)通道[9],上位機(jī)采用工控機(jī),使用WindowsXP系統(tǒng),主要負(fù)責(zé)實時數(shù)據(jù)顯示和指令發(fā)送。
控制系統(tǒng)硬件框圖如圖1所示。上位機(jī)和FPGA通過USB通信[10],F(xiàn)PGA讀取光柵輸出的位置信息,解碼之后傳送給DSP做控制使用,DSP根據(jù)反饋回來的位置速度信息,執(zhí)行控制運算,然后將控制量輸出至FPGA,F(xiàn)PGA將期望的位置和實際位置以及控制量信息發(fā)送給上位機(jī),上位機(jī)將位置信息處理后得到速度和位置信息以及控制量的輸出,然后將位置和速度使用曲線繪制出來。FPGA轉(zhuǎn)發(fā)到AD,AD將信號轉(zhuǎn)換為模擬量之后送給驅(qū)動器驅(qū)動電機(jī)運轉(zhuǎn),整個系統(tǒng)閉環(huán)。

圖1 角振動臺控制系統(tǒng)硬件框圖
系統(tǒng)硬件包括DSP最小系統(tǒng)及擴(kuò)展電路設(shè)計,F(xiàn)PGA最小系統(tǒng)及外圍電路設(shè)計,其中本文設(shè)計的A/D轉(zhuǎn)換電路使用的是AD7606作為A/D轉(zhuǎn)換器件,同時為了提高測量精度,對于AD7606設(shè)置了跟隨電路,將輸入的模擬信號隔離,提高帶載能力,同時為了保護(hù)器件,對模擬量輸入限幅。
本設(shè)計是一款高速信號采集板,需要和上位機(jī)之間實現(xiàn)高速數(shù)據(jù)交換,因此使用最高速達(dá)到480 Mb/s的USB2.0[11]技術(shù)通信。USB2.0芯片采用CYPRESS公司的CY68013實現(xiàn),F(xiàn)PGA采用16位FIFO和CY68013之間通信,時鐘達(dá)到48 MHz,CY68013可以配置為51內(nèi)核不參與數(shù)據(jù)交換,USB數(shù)據(jù)直接和FIFO通道相連,這樣可以大大增加反應(yīng)速度[12],USB和外設(shè)使用FIFO。
本設(shè)計中使用的USB2.0中還有一片24LC64,這是一片使用IIC讀寫的E2ROM,因為CY68013內(nèi)部沒有ROM,程序不能固化,為了擴(kuò)充CY68013的存儲能力,以便編寫更加復(fù)雜的固件程序,設(shè)計是參考官方技術(shù)手冊。
USB發(fā)送過來的數(shù)據(jù)需要使用上位機(jī)接收,并顯示出來。Windows自從Windows XP開始就不再提供底層接口,因此為了使USB設(shè)備能夠正常工作,使CY68013工作于SLAVE FIFO模式,需要為CY68013編寫固件程序。對于從USB發(fā)送過來的數(shù)據(jù),需要上位機(jī)進(jìn)行處理,然后將數(shù)據(jù)保存并顯示出來,因此上位機(jī)是提供人機(jī)接口的不可或缺的一環(huán)。為了實現(xiàn)數(shù)據(jù)的實時操作,必須設(shè)定實時中斷對數(shù)據(jù)進(jìn)行接收,這樣才能保證數(shù)據(jù)能夠準(zhǔn)確接收。最后,使用DSP實現(xiàn)控制功能,完成控制算法的編寫,實現(xiàn)控制程序。
固件的主要功能是配置芯片,使硬件在上電后工作在指定的狀態(tài),通過配置MCU的各個寄存器完成這一目的,固件程序?qū)ο到y(tǒng)的配置有以下方面:配置FX2工作頻率為48 MHz,IO口設(shè)置PB和PD作為數(shù)據(jù)端口,端點選擇EP2和EP6,端點使能,設(shè)置端點工作方式,端點極性,完成設(shè)備的枚舉和重枚舉,對主機(jī)向USB設(shè)備發(fā)送的請求進(jìn)行實時響應(yīng),設(shè)置USB設(shè)備和外設(shè)通信使用SLAVEFIFO模式。
上位機(jī)程序設(shè)計包括Winform界面設(shè)計和后程臺序設(shè)計。
本文的上位機(jī)一共兩個界面,一個主界面,用來控制USB傳輸;另一個界面是繪圖界面,使用chart控件實時繪制曲線。
后臺程序設(shè)計包括系統(tǒng)初始化,系統(tǒng)初始化主要作用為初始化程序界面,初始化USB控制過程中的各個控制類,定時中斷接收數(shù)據(jù),使用定時100 ms的中斷接收數(shù)據(jù),使用bulk方式傳送,其他部分的程序主要功能為實現(xiàn)一些底層函數(shù)和上位機(jī)界面的繪制工作,實時曲線繪制工作。
術(shù)前意識狀態(tài)是預(yù)后最重要的決定因素,有無意識的障礙和他們的程度,可以直接反映腦實質(zhì)受損的情況。我們提倡盡快手術(shù),及時清除血腫對腦組織的壓力[3]。術(shù)前腦出現(xiàn)腦疝的預(yù)后較差,死亡率也大大增加,因為顱內(nèi)壓力極高導(dǎo)致不良結(jié)局,在腦疝發(fā)生前尋求早期手術(shù)和改善患者是很重要的,能夠有效提高患者預(yù)后和提高生存質(zhì)量。
DSP是整個運動控制系統(tǒng)的處理中心,所有的控制算法都在DSP上進(jìn)行實現(xiàn),必須合理配置DSP,才能為算法移植提供一個好的工作環(huán)境。
首先進(jìn)行DSP初始化程序設(shè)計,DSP的初始化程序執(zhí)行的工作主要為:配置鎖相環(huán),將系統(tǒng)的工作時鐘設(shè)置為200 MHz;配置中斷服務(wù)程序,設(shè)置中斷服務(wù)程序地址,關(guān)閉中斷,清除標(biāo)志;配置EMIF,配置管腳,將一些復(fù)用的管腳設(shè)置為EMIF的地址總線[13];配置實時中斷,設(shè)置實時中斷的定時周期20 kHz,最后使能中斷。
然后進(jìn)行系統(tǒng)定時中斷處理程序設(shè)計,定時器是系統(tǒng)滿足實時性的核心,系統(tǒng)的控制程序都是在定時器中完成的。通過配置DSP的寄存器,設(shè)置片上定時器的周期,配置好定時器中斷和中斷處理程序,在中斷處理程序中,執(zhí)行控制算法。每當(dāng)定時器完成一次定時,就會引發(fā)定時器中斷,然后程序跳轉(zhuǎn)到中斷處理程序中,在中斷處理程序中,實現(xiàn)使能定時器中斷,讀取角振動臺位置,執(zhí)行控制算法。
本設(shè)計使用的DSP芯片TMS320C6726是32位浮點型DSP處理器。
實際運行時,將速度環(huán)自抗擾和位置環(huán)自抗擾寫成一個函數(shù),這樣看起來更加方便,調(diào)參也更靈活。位置反饋使用光柵讀取的位置值;速度反饋使用光柵讀取的位置值進(jìn)行差分求得。然后進(jìn)行過零處理,過零之后作為反饋值帶入自抗擾控制器[14]中,算法采用后向差分法離散化,程序使用C語言編寫。
系統(tǒng)的調(diào)試實驗是在一款單軸轉(zhuǎn)臺上實現(xiàn)的,雖然單軸轉(zhuǎn)臺和角振動臺的相關(guān)參數(shù)差別很大,使用直流力矩電動機(jī)而不是音圈電動機(jī),但是直流力矩電動機(jī)和音圈電動機(jī)數(shù)學(xué)模型相同[15],且單軸轉(zhuǎn)臺和角振動臺機(jī)械結(jié)構(gòu)相似,因此數(shù)學(xué)模型只差在一些參數(shù)上,主要體現(xiàn)在電動機(jī)的時間常數(shù)和負(fù)載的轉(zhuǎn)動慣量上。轉(zhuǎn)臺為了使轉(zhuǎn)速平穩(wěn),波動小,會將臺體的轉(zhuǎn)動慣量設(shè)計的很大,而角振動臺為了加快動態(tài)過程,會將臺體的轉(zhuǎn)動慣量設(shè)計的盡可能小,以上這些區(qū)別使轉(zhuǎn)臺和角振動臺在反應(yīng)速度上有很大差別,但是其基本模型相同,因此使用單軸轉(zhuǎn)臺來代替角振動臺進(jìn)行調(diào)試,最后只需要重設(shè)調(diào)節(jié)參數(shù)即可完成算法移植。實驗中使用的控制板為本文設(shè)計的高速控制板,如圖2所示,轉(zhuǎn)臺為一款單軸轉(zhuǎn)臺,如圖3所示,電動機(jī)驅(qū)動器為帶電流環(huán)的電動機(jī)驅(qū)動器如圖4所示,電動機(jī)驅(qū)動器使用單獨的線性恒壓電源供電,如圖5所示。
先將轉(zhuǎn)臺的位置歸零,然后給定一個5°的階躍信號,調(diào)整自抗擾控制器參數(shù),得到其階躍響應(yīng)。從階躍響應(yīng)可以看出,自抗擾觀測器穩(wěn)態(tài)精度高,略有超調(diào),超調(diào)在0.38%左右,調(diào)節(jié)速度快,性能良好。
角振動臺作為振動仿真平臺,其最常見的輸入信

圖2 轉(zhuǎn)臺高速控制板

圖3 單軸轉(zhuǎn)臺

圖4 電機(jī)驅(qū)動器

圖5 電機(jī)驅(qū)動器電源

圖6 跟蹤1 Hz正弦波

圖7 跟蹤20 Hz正弦波
從圖7可以看出,跟蹤20 Hz正弦波時已經(jīng)有很大的誤差了,此時時間滯后0.005 s,折合相位滯后為36°,波形賦值衰減7.5%,波形基本不失真,基本可以跟蹤20 Hz正弦波。
跟蹤30 Hz正弦波時,波形已經(jīng)失真,波形和輸入波形有很大差距,而且輸出波形不穩(wěn)定,隨時間在變化,可能會導(dǎo)致系統(tǒng)不穩(wěn)定,因此,系統(tǒng)不能跟蹤30 Hz正弦波。
針對角振動臺控制系統(tǒng)要求較高實時性的要求,設(shè)計并實現(xiàn)了一個功能全面的控制系統(tǒng)的軟硬件平臺及上位機(jī)界面,采用DPS加FPGA的控制方案,基于C#設(shè)計了上位機(jī)程序,使用USB控制類庫控制USB傳輸,將數(shù)據(jù)反饋到主機(jī)上進(jìn)行分析,驗證了硬件平臺的性能可以達(dá)到預(yù)期目標(biāo),證實了自抗擾控制器的性能,適合于運動控制,反應(yīng)快速,超調(diào)小,穩(wěn)態(tài)精度高。
參考文獻(xiàn)(References):
[1] 郝 信. 高頻角振動臺控制系統(tǒng)設(shè)計[D].哈爾濱:哈爾濱工業(yè)大學(xué),2016.
[2] 陶 濤,徐洪澤. 高速列車浸入與不變自適應(yīng)容錯控制方法[J]. 吉林大學(xué)學(xué)報(工學(xué)版),2015(2):554-561.
[3] 邵星靈,王宏倫. 線性擴(kuò)張狀態(tài)觀測器及其高階形式的性能分析[J]. 控制與決策,2015(5):815-822.
[4] 姚松坡,陳羅慕成. 高頻響角振動臺控制系統(tǒng)的研究[D].哈爾濱:哈爾濱工業(yè)大學(xué),2016.
[5] 姚松坡,機(jī) 林,劉 超,等. 基于DSP+FPGA的電動伺服加載系統(tǒng)設(shè)計[J].電氣傳動,2017(6):7-13.
[6] 機(jī) 林,劉 超,汪 輝,等. 基于DSP+FPGA的電動伺服加載系統(tǒng)設(shè)計[J]. 電氣傳動,2017(6):7-13.
[7] ira-Ramirez H, Linares-Flores J, Garcia-Rodriguez C,etal. On the Control of the Permanent Magnet Synchronous Motor: An Active Disturbance Rejection Control Approach[J]. IEEE Transactions on Control Systems Technology, 2014, 22(5):2056-2063.
[8] 李福瑞,胡琪波,李楊聲,等. 基于DSP的一體化交流伺服系統(tǒng)研究和實現(xiàn)[J]. 導(dǎo)航定位與授時,2017(3):32-38.
[9] 段曉敏,郭 濤. 基于USB 2.0的光散射系統(tǒng)上位機(jī)軟件設(shè)計與實現(xiàn)[J]. 計算機(jī)測量與控制,2015(6):2200-2202.
[10] 龔 智,趙 翠,徐林杰,等. 基于LPC1788微處理器USB驅(qū)動和應(yīng)用程序設(shè)計[J]. 電腦編程技巧與維護(hù),2017(1):13-15+36.
[11] 莊洪毅. 一種基于FX2與FPGA聯(lián)用實現(xiàn)USB2.0通信協(xié)議的方法[J]. 電子測量技術(shù),2017(4):78-81.
[12] 徐 超,劉 沖,王永綱. 基于FPGA和USB2.0協(xié)議的通用數(shù)據(jù)傳輸設(shè)計[J]. 微型機(jī)與應(yīng)用,2016(16):41-43.
[13] 孫昌君,李立京,鄭 帥,等. 基于DSP和FPGA的被動聲探測實時采集系統(tǒng)設(shè)計[J]. 傳感器與微系統(tǒng),2017(6):105-107+111.
[14] 韓京清. 自抗擾控制技術(shù)[J]. 前沿科學(xué),2007(1):24-31.
[15] 邵琳達(dá),趙英偉. 音圈電機(jī)直流驅(qū)動電路設(shè)計[J]. 科技創(chuàng)新與應(yīng)用,2016(24):12-14.