《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于FPGA的擺臂伺服控制系統設計
基于FPGA的擺臂伺服控制系統設計
來源:電子技術應用2013年第11期
周麗莞1, 周永鵬2
1. 武漢華中數控股份有限公司, 湖北 武漢 430223; 2. 華中科技大學, 湖北 武漢430074
摘要: 擺臂伺服控制系統是大氣紅外干涉儀的重要組成部分,在分析干涉儀工作原理和伺服控制需求的基礎上,給出了一種采用FPGA實現伺服控制、結合典型H型直流PWM電路,構成數字化擺臂伺服控制系統的設計方法,仿真與實驗結果驗證了設計的正確性。
中圖分類號: TP273
文獻標識碼:
文章編號: 0258-7998(2013)11-0078-03
Design of swinging arm servo control system based on FPGA
Zhou Liwan1, Zhou Yongpeng2
1. Wuhan Huazhong Numerical Control Co., Ltd.,Wuhan 430223 China; 2. Huazhong University of Science and Technology, Wuhan 430074, China
Abstract: Swinging arm servo control system is a key component of the atmospheric infrared interferometer. In this paper, the working principle of that interferometer and the design requirements for the servo control are analyzed. Then, a digital servo control system is designed and constructed, which is composed of FPGA and typical H-DC PWM circuit. In addition, simulation and experimental results are provided to evaluate the performance of the design scheme.
Key words : FPGA; voice coil motor; servo control

    基于邁克遜干涉原理的紅外光譜儀可利用太陽光穿過待測大氣的入射光進行光譜分析獲得大氣的物質成分信息,它主要由擺臂干涉儀、光電檢測和光干涉圖像數據采集處理幾部分組成,如圖1所示。

    基本工作原理為當單色光入射至反射率和透射率各為50%的分束器上時,會形成兩束等強度的反射和透射光束。這兩路光束各自通過反射鏡(角鏡、動鏡)和固定的端鏡重新返回到分束鏡處,產生光干涉,兩光束峰峰同相位時光強增加、反相位時抵消。當動鏡運動時,引起光通過的光程變化,使最終形成的光干涉強度呈余弦變化,干涉強度為光程差的函數。對復合光的干涉圖進行傅里葉逆變換即可獲得反映物質成分的各單色光的光譜信息[1]。圖1中,入射光1以45°角射入分束器,透射光2經角鏡反射沿3-4-5-6-7-8-9返回分束器;反射光9經8-7-6-5-4-3-2返回,與透射返回光形成干涉后從10輸出。與此同時,作為基準信號的激光也沿同光路形成干涉圖樣,利用激光探測器處理后可獲得以光程差為周期的脈沖電信號,它的頻率變化與干涉儀光程差速度變化對應,可將其作為實時的光程差速度反饋信號和擺臂轉角位置反饋信號,同時還被用作太陽紅外干涉圖模數采樣的觸發(fā)信號,實現等光程差采樣,以保證采集光譜的穩(wěn)定性。在光程差已知的情況下,通過采集光源在某些點產生的干涉波形(光強弱變化規(guī)律)推斷出哪種波長的光線被大氣層吸收,就可以推斷出大氣層中化學物質的種類和含量。
    本文系統擺臂采用音圈電機[2]驅動,主要控制技術要求為:擺動角度±10°、光程差速度25.2 cm/s;調頭時間75 ms;光程差速度穩(wěn)定性為99%。
    擺臂伺服分系統在整個系統中的作用為:根據系統分析光譜分辨率的要求,控制擺臂機械部分在一定的角度循環(huán)擺動。擺動過程中,采集激光系統反饋的電信號,經過對電信號的信息處理,形成反饋信息,控制音圈電機帶動擺臂轉動,在規(guī)定范圍內實現使光學系統光路以一定的速度勻速變化;同時實現相關分系統工作狀態(tài)的監(jiān)控功能,顯示各系統的工作狀態(tài)。
    由采樣定律和光譜分辨率可知,要想獲得優(yōu)質的干涉圖樣,必需保證系統的采樣間隔不大于1 ?滋m且采樣點不少于30萬個。在如此大量數據采集情況下,干涉圖極易受諸多因素干擾,故其對擺臂分系統的運動速度控制精度、位移控制精度都有嚴苛的要求。另外,擺臂系統還受到空間的限制。擺臂必需在一定范圍內完成循環(huán)擺動,若超出最大行程則極易損壞光學器件,使整個系統報廢。在滿足系統空間限制的情況下,擺臂系統還必需保證一定的采樣時長,這就要求擺臂系統在有限空間內做往返運動時的調頭要快速、穩(wěn)定。


    在FPGA中,對位置指令作簡單的乘法運算即可。系數K一般以浮點的形式出現,例如本文輸入到速度環(huán)的前饋系數為K=1.35,運算時需考慮小數部分的取舍問題。本設計中采用的寄存器位數足夠高,實現時將乘法模塊中小數部分做移位化整進行運算,然后根據小數的位數舍掉相應的位數,再在高位補零。值得注意的是,由于對原指令做乘法運算,故一定要擴充存放前饋處理后指令數寄存器位數,否則會產生溢出危險。
    按照上面的功能要求和實現方法,運用Verilog HDL程序加以實現,其時序仿真如圖3所示。其中data為模擬的位置指令,k為前饋比例系數,dataout為前饋模塊輸出。       

               
2.2 位置調節(jié)器模塊
    位置調節(jié)器模塊是將位置指令與位置反饋進行比較,取其差值,按預定算法運算后為系統提供位置調節(jié)輸出,需要該模塊含有偏差計算功能和比例運算功能。離散化后遞推公式為:
  u(k)=Kp[θr(k)-θ(k)]=Kpe(k)             (7)
       采用FPGA實現時將反饋量與給定量轉換為補碼形式參與運算。根據二進制數的運算規(guī)則可知,兩數的減法運算可方便地由加法電路來處理。為方便系統對反饋量的正負加以區(qū)分,設計中制定一位標志位用以區(qū)分反饋方向是否與指令給定方向一致,當反饋量相對于給定量為正時(電機運動方向與期望方向一致),標志位置為0;當反饋量相對于給定量為負時(電機運動方向與期望方向相反),標志位置為1。標志位為0時表明位置偏差為反饋量減給定量,反饋量做取反加一運算后參與加法計算;標志位為1時表明位置偏差為給定量加反饋量,反饋量直接參與加法計算即可。在模塊中設置兩個寄存器分別存儲給定值和反饋值的補碼形式。對這兩個寄存器值做加法運算后即得所需偏差值。為方便后續(xù)運算,設計中將偏差寄存器擴充一位作為符號標志位,當偏差值小于0時,將偏差寄存器最高位置1,反之置0。偏差值與Kp相乘即得位置調節(jié)器模塊輸出。
    該模塊運用Verilog HDL程序加以實現,取Kp=150得到的時序仿真如圖4所示。

      一般采用的增量式控制算法雖然可以減少運算量,加快FPGA處理速度,但其也存在一些缺陷。當系統在啟動、停止或大幅度增減設定值時,短時間內系統存在的大偏差會造成PI調節(jié)器的積分積累,致使算得的控制量超過執(zhí)行機構可能最大動作范圍的極限控制量,最終引起系統超調,甚至引起系統振蕩。本文采用積分分離算法來解決這一問題。實現方法是在積分累加器中設定一個限幅值,當積分累加器中的值超過此值時,調節(jié)器將積分功能屏蔽變?yōu)镻調節(jié)器,并將累加器中的值清零,此時系統的輸出只與當前時刻輸入有關而與系統前期狀態(tài)無關,這樣可使系統狀態(tài)突變(如換向運行)時快速響應,避免系統偏差累計引起振蕩。當累加器中的值小于限幅值時,調節(jié)器為PI調節(jié)器。圖5為帶限幅值的PI速度調節(jié)器時序仿真圖,其中設計取a=0.309,b=0.009,限幅值為512。
    從圖5可見,模塊在clk1上升沿動作,當偏差值preg沒有超過給定限幅值時,addreg對偏差值做累和運算,data為模塊比例環(huán)節(jié)輸出,dout2為模塊比例積分調節(jié)數。系統速度環(huán)使用PI調節(jié)器。而當偏差值大于限幅值時,addreg清零,此時積分運算環(huán)節(jié)關閉。當下一時鐘上升沿來臨時計算此時偏差值,若沒超過限幅值積分環(huán)節(jié)重新參與運算。dout2最高位為符號位,0表示輸出數為正數,1表示輸出數為負數,如圖中10045表示速度調節(jié)環(huán)調節(jié)指令數為-45。電流調節(jié)器設計完全相同,參數按典型1型系統設計[4]選取,不再重述。

3 實驗結果與結論
    本文設計的圖2所示控制系統采用16 V直流電源通過H橋對音圈電機供電,H橋所用場效應管型號為IRF510;電機為BEI公司的RA-10-002A;FPGA型號為EP2C8Q208C8N。利用FPGA構造位置、速度、電流調節(jié)器與相應反饋處理電路形成3閉環(huán)加前饋控制,輸出PWM信號通過電平轉換完成驅動,調制頻率為40 kHz,電流采用霍爾取樣[5]。

 


     實驗獲得的擺臂在±10°左右范圍內周期擺動過程中對給定的25.2 cm/s光程差速度的跟蹤特性如圖6所示。由于速度采用PI調節(jié),在快速調頭的起動、制動到達指定速度時均存在一定超調,幸而系統在此加減速階段的數據是視為無效的,本系統允許的調頭無效數據時間為75 ms,實驗結果的調頭波形到達目標軌跡的時間小于66 ms,平均調頭時間為65.1 ms。在整個穩(wěn)定擺動區(qū)間,隨擺角變化,音圈電機角速度的變化規(guī)律與式(4)描述的相一致,電機角速度絕對值最小為0.234 55 rad/s(擺臂擺動中心位置,對應電流過0位置附近)和0.237 15 rad/s(最大擺角處、調頭前瞬間、如圖中0.6 s附近位置)。音圈電機的電流如圖6(a)所示,其中每伏對應電流0.8 A。由圖可見,為了克服擺臂的彈性扭矩,電流隨擺角線性增大,調頭時,較大的反向電流促使擺臂迅速減速調頭反向,完成調頭后,線性增長的電流平衡彈性扭力,保證擺臂穩(wěn)定運行。擺臂分系統的擺動運行周期約為2.5 s。實驗采集獲得的速度數據分析表明,在有效數據區(qū)域,雖然光程差速度的離散值在不停地變化,但其速度波動范圍始終保持在0.7%范圍,滿足99%的性能指標要求。

    實驗結果表明,這種采用FPGA設計的伺服系統達到了預期的設計目標。對于調頭過程中存在的超調,還可以進一步通過調節(jié)器控制策略的改進獲得改善。
參考文獻
[1] 竇秀明,代作曉,華建文,等. 音圈電機驅動光譜儀動鏡的數字控制[J].科學技術與工程,2007,7(17):4292-4295.
[2] 張大衛(wèi),馮曉梅.音圈電機的技術原理[J].中北大學學報(自然科學版),2006,27(3):224-228.
[3] 曾慶立,陳炳全.全數字直流電機PID控制器的FPGA實現[J].機電產品開發(fā)與創(chuàng)新,2008,21(1):145-146.
[4] 楊耕,羅應立,等.電機與運動控制系統[M].北京:清華大學出版社, 2006:128-160.
[5] 王離九.電力拖動自動控制系統[M].武漢:華中理工大學出版社, 1991:95-112.

此內容為AET網站原創(chuàng),未經授權禁止轉載。