陳虹麗, 劉 磊, 李 強, 于立君
(1.哈爾濱工程大學 自動化學院,哈爾濱 150001;2.哈爾濱工業(yè)大學 空間控制與慣性技術研究中心,哈爾濱 150001)
隨著科研能力的進步,對慣性系統(tǒng)的性能需求愈加嚴苛,慣性元件的精度也需要跟著提高,對慣性元件的標定設備轉臺的性能也需要提高[1],為了滿足對慣性器件高性能的要求,需要研究出高精度的轉臺,也即要提高轉臺控制系統(tǒng)的性能,提高控制系統(tǒng)的性能主要體現在提高運算性能和改善控制算法上[2-3]。系統(tǒng)的運算性能包括了運算速度和運算精度。
高頻角振動臺是轉臺的一種類型,主要用來測量陀螺的動態(tài)特性,需要無穩(wěn)態(tài)誤差地跟蹤給定信號,需要能跟蹤周期性的給定信號[4]。
角振動臺控制系統(tǒng)要求是一個實時系統(tǒng)[5],對于一般性能指標的轉臺,可以采用Windows+RTX的方案編寫轉臺控制算法,但是,由于Windows系統(tǒng)的運行機理是基于消息機制的,因此不可能實現本質上的實時性,RTX是一款可以嵌入Windows系統(tǒng)的實時操作內核,但RTX也是基于Windows實現的,因此并不是強實時系統(tǒng),只能到微秒級的定時精度。為了提高系統(tǒng)的實時性,針對角振動臺控制系統(tǒng)的運算量和速度要求,本文使用DSP[6-8]器件作為控制器,同時使用FPGA作為輔助芯片,DSP實現控制算法,FPGA為DSP搭建數據通道[9],上位機采用工控機,使用WindowsXP系統(tǒng),主要負責實時數據顯示和指令發(fā)送。
控制系統(tǒng)硬件框圖如圖1所示。上位機和FPGA通過USB通信[10],FPGA讀取光柵輸出的位置信息,解碼之后傳送給DSP做控制使用,DSP根據反饋回來的位置速度信息,執(zhí)行控制運算,然后將控制量輸出至FPGA,FPGA將期望的位置和實際位置以及控制量信息發(fā)送給上位機,上位機將位置信息處理后得到速度和位置信息以及控制量的輸出,然后將位置和速度使用曲線繪制出來。FPGA轉發(fā)到AD,AD將信號轉換為模擬量之后送給驅動器驅動電機運轉,整個系統(tǒng)閉環(huán)。
圖1 角振動臺控制系統(tǒng)硬件框圖
系統(tǒng)硬件包括DSP最小系統(tǒng)及擴展電路設計,FPGA最小系統(tǒng)及外圍電路設計,其中本文設計的A/D轉換電路使用的是AD7606作為A/D轉換器件,同時為了提高測量精度,對于AD7606設置了跟隨電路,將輸入的模擬信號隔離,提高帶載能力,同時為了保護器件,對模擬量輸入限幅。
本設計是一款高速信號采集板,需要和上位機之間實現高速數據交換,因此使用最高速達到480 Mb/s的USB2.0[11]技術通信。USB2.0芯片采用CYPRESS公司的CY68013實現,FPGA采用16位FIFO和CY68013之間通信,時鐘達到48 MHz,CY68013可以配置為51內核不參與數據交換,USB數據直接和FIFO通道相連,這樣可以大大增加反應速度[12],USB和外設使用FIFO。
本設計中使用的USB2.0中還有一片24LC64,這是一片使用IIC讀寫的E2ROM,因為CY68013內部沒有ROM,程序不能固化,為了擴充CY68013的存儲能力,以便編寫更加復雜的固件程序,設計是參考官方技術手冊。
USB發(fā)送過來的數據需要使用上位機接收,并顯示出來。Windows自從Windows XP開始就不再提供底層接口,因此為了使USB設備能夠正常工作,使CY68013工作于SLAVE FIFO模式,需要為CY68013編寫固件程序。對于從USB發(fā)送過來的數據,需要上位機進行處理,然后將數據保存并顯示出來,因此上位機是提供人機接口的不可或缺的一環(huán)。為了實現數據的實時操作,必須設定實時中斷對數據進行接收,這樣才能保證數據能夠準確接收。最后,使用DSP實現控制功能,完成控制算法的編寫,實現控制程序。
固件的主要功能是配置芯片,使硬件在上電后工作在指定的狀態(tài),通過配置MCU的各個寄存器完成這一目的,固件程序對系統(tǒng)的配置有以下方面:配置FX2工作頻率為48 MHz,IO口設置PB和PD作為數據端口,端點選擇EP2和EP6,端點使能,設置端點工作方式,端點極性,完成設備的枚舉和重枚舉,對主機向USB設備發(fā)送的請求進行實時響應,設置USB設備和外設通信使用SLAVEFIFO模式。
上位機程序設計包括Winform界面設計和后程臺序設計。
本文的上位機一共兩個界面,一個主界面,用來控制USB傳輸;另一個界面是繪圖界面,使用chart控件實時繪制曲線。
后臺程序設計包括系統(tǒng)初始化,系統(tǒng)初始化主要作用為初始化程序界面,初始化USB控制過程中的各個控制類,定時中斷接收數據,使用定時100 ms的中斷接收數據,使用bulk方式傳送,其他部分的程序主要功能為實現一些底層函數和上位機界面的繪制工作,實時曲線繪制工作。
術前意識狀態(tài)是預后最重要的決定因素,有無意識的障礙和他們的程度,可以直接反映腦實質受損的情況。我們提倡盡快手術,及時清除血腫對腦組織的壓力[3]。術前腦出現腦疝的預后較差,死亡率也大大增加,因為顱內壓力極高導致不良結局,在腦疝發(fā)生前尋求早期手術和改善患者是很重要的,能夠有效提高患者預后和提高生存質量。
DSP是整個運動控制系統(tǒng)的處理中心,所有的控制算法都在DSP上進行實現,必須合理配置DSP,才能為算法移植提供一個好的工作環(huán)境。
首先進行DSP初始化程序設計,DSP的初始化程序執(zhí)行的工作主要為:配置鎖相環(huán),將系統(tǒng)的工作時鐘設置為200 MHz;配置中斷服務程序,設置中斷服務程序地址,關閉中斷,清除標志;配置EMIF,配置管腳,將一些復用的管腳設置為EMIF的地址總線[13];配置實時中斷,設置實時中斷的定時周期20 kHz,最后使能中斷。
然后進行系統(tǒng)定時中斷處理程序設計,定時器是系統(tǒng)滿足實時性的核心,系統(tǒng)的控制程序都是在定時器中完成的。通過配置DSP的寄存器,設置片上定時器的周期,配置好定時器中斷和中斷處理程序,在中斷處理程序中,執(zhí)行控制算法。每當定時器完成一次定時,就會引發(fā)定時器中斷,然后程序跳轉到中斷處理程序中,在中斷處理程序中,實現使能定時器中斷,讀取角振動臺位置,執(zhí)行控制算法。
本設計使用的DSP芯片TMS320C6726是32位浮點型DSP處理器。
實際運行時,將速度環(huán)自抗擾和位置環(huán)自抗擾寫成一個函數,這樣看起來更加方便,調參也更靈活。位置反饋使用光柵讀取的位置值;速度反饋使用光柵讀取的位置值進行差分求得。然后進行過零處理,過零之后作為反饋值帶入自抗擾控制器[14]中,算法采用后向差分法離散化,程序使用C語言編寫。
系統(tǒng)的調試實驗是在一款單軸轉臺上實現的,雖然單軸轉臺和角振動臺的相關參數差別很大,使用直流力矩電動機而不是音圈電動機,但是直流力矩電動機和音圈電動機數學模型相同[15],且單軸轉臺和角振動臺機械結構相似,因此數學模型只差在一些參數上,主要體現在電動機的時間常數和負載的轉動慣量上。轉臺為了使轉速平穩(wěn),波動小,會將臺體的轉動慣量設計的很大,而角振動臺為了加快動態(tài)過程,會將臺體的轉動慣量設計的盡可能小,以上這些區(qū)別使轉臺和角振動臺在反應速度上有很大差別,但是其基本模型相同,因此使用單軸轉臺來代替角振動臺進行調試,最后只需要重設調節(jié)參數即可完成算法移植。實驗中使用的控制板為本文設計的高速控制板,如圖2所示,轉臺為一款單軸轉臺,如圖3所示,電動機驅動器為帶電流環(huán)的電動機驅動器如圖4所示,電動機驅動器使用單獨的線性恒壓電源供電,如圖5所示。
先將轉臺的位置歸零,然后給定一個5°的階躍信號,調整自抗擾控制器參數,得到其階躍響應。從階躍響應可以看出,自抗擾觀測器穩(wěn)態(tài)精度高,略有超調,超調在0.38%左右,調節(jié)速度快,性能良好。
角振動臺作為振動仿真平臺,其最常見的輸入信
圖2 轉臺高速控制板
圖3 單軸轉臺
圖4 電機驅動器
圖5 電機驅動器電源
圖6 跟蹤1 Hz正弦波
圖7 跟蹤20 Hz正弦波
從圖7可以看出,跟蹤20 Hz正弦波時已經有很大的誤差了,此時時間滯后0.005 s,折合相位滯后為36°,波形賦值衰減7.5%,波形基本不失真,基本可以跟蹤20 Hz正弦波。
跟蹤30 Hz正弦波時,波形已經失真,波形和輸入波形有很大差距,而且輸出波形不穩(wěn)定,隨時間在變化,可能會導致系統(tǒng)不穩(wěn)定,因此,系統(tǒng)不能跟蹤30 Hz正弦波。
針對角振動臺控制系統(tǒng)要求較高實時性的要求,設計并實現了一個功能全面的控制系統(tǒng)的軟硬件平臺及上位機界面,采用DPS加FPGA的控制方案,基于C#設計了上位機程序,使用USB控制類庫控制USB傳輸,將數據反饋到主機上進行分析,驗證了硬件平臺的性能可以達到預期目標,證實了自抗擾控制器的性能,適合于運動控制,反應快速,超調小,穩(wěn)態(tài)精度高。
參考文獻(References):
[1] 郝 信. 高頻角振動臺控制系統(tǒng)設計[D].哈爾濱:哈爾濱工業(yè)大學,2016.
[2] 陶 濤,徐洪澤. 高速列車浸入與不變自適應容錯控制方法[J]. 吉林大學學報(工學版),2015(2):554-561.
[3] 邵星靈,王宏倫. 線性擴張狀態(tài)觀測器及其高階形式的性能分析[J]. 控制與決策,2015(5):815-822.
[4] 姚松坡,陳羅慕成. 高頻響角振動臺控制系統(tǒng)的研究[D].哈爾濱:哈爾濱工業(yè)大學,2016.
[5] 姚松坡,機 林,劉 超,等. 基于DSP+FPGA的電動伺服加載系統(tǒng)設計[J].電氣傳動,2017(6):7-13.
[6] 機 林,劉 超,汪 輝,等. 基于DSP+FPGA的電動伺服加載系統(tǒng)設計[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)研究和實現[J]. 導航定位與授時,2017(3):32-38.
[9] 段曉敏,郭 濤. 基于USB 2.0的光散射系統(tǒng)上位機軟件設計與實現[J]. 計算機測量與控制,2015(6):2200-2202.
[10] 龔 智,趙 翠,徐林杰,等. 基于LPC1788微處理器USB驅動和應用程序設計[J]. 電腦編程技巧與維護,2017(1):13-15+36.
[11] 莊洪毅. 一種基于FX2與FPGA聯(lián)用實現USB2.0通信協(xié)議的方法[J]. 電子測量技術,2017(4):78-81.
[12] 徐 超,劉 沖,王永綱. 基于FPGA和USB2.0協(xié)議的通用數據傳輸設計[J]. 微型機與應用,2016(16):41-43.
[13] 孫昌君,李立京,鄭 帥,等. 基于DSP和FPGA的被動聲探測實時采集系統(tǒng)設計[J]. 傳感器與微系統(tǒng),2017(6):105-107+111.
[14] 韓京清. 自抗擾控制技術[J]. 前沿科學,2007(1):24-31.
[15] 邵琳達,趙英偉. 音圈電機直流驅動電路設計[J]. 科技創(chuàng)新與應用,2016(24):12-14.