《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > 基于FPGA的擺臂伺服控制系統(tǒng)設(shè)計(jì)
基于FPGA的擺臂伺服控制系統(tǒng)設(shè)計(jì)
來(lái)源:電子技術(shù)應(yīng)用2013年第11期
周麗莞1, 周永鵬2
1. 武漢華中數(shù)控股份有限公司, 湖北 武漢 430223; 2. 華中科技大學(xué), 湖北 武漢430074
摘要: 擺臂伺服控制系統(tǒng)是大氣紅外干涉儀的重要組成部分,在分析干涉儀工作原理和伺服控制需求的基礎(chǔ)上,給出了一種采用FPGA實(shí)現(xiàn)伺服控制、結(jié)合典型H型直流PWM電路,構(gòu)成數(shù)字化擺臂伺服控制系統(tǒng)的設(shè)計(jì)方法,仿真與實(shí)驗(yàn)結(jié)果驗(yàn)證了設(shè)計(jì)的正確性。
中圖分類號(hào): TP273
文獻(xiàn)標(biāo)識(shí)碼:
文章編號(hào): 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

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

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


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

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

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

3 實(shí)驗(yàn)結(jié)果與結(jié)論
    本文設(shè)計(jì)的圖2所示控制系統(tǒng)采用16 V直流電源通過(guò)H橋?qū)σ羧﹄姍C(jī)供電,H橋所用場(chǎng)效應(yīng)管型號(hào)為IRF510;電機(jī)為BEI公司的RA-10-002A;FPGA型號(hào)為EP2C8Q208C8N。利用FPGA構(gòu)造位置、速度、電流調(diào)節(jié)器與相應(yīng)反饋處理電路形成3閉環(huán)加前饋控制,輸出PWM信號(hào)通過(guò)電平轉(zhuǎn)換完成驅(qū)動(dòng),調(diào)制頻率為40 kHz,電流采用霍爾取樣[5]。

 


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

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

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。