張 瑞 趙玉彬 付澤川 劉建飛
1 (上海市低溫超導(dǎo)高頻腔技術(shù)重點(diǎn)實(shí)驗(yàn)室,中國科學(xué)院上海應(yīng)用物理研究所 上海 201800)
2 (中國科學(xué)院研究生院 北京 100049)
第三代同步輻射光源儲存環(huán)超導(dǎo)高頻腔的共振頻率隨著束流負(fù)載的變化而改變,反射功率將隨之增加,如不調(diào)諧,會導(dǎo)致高頻腔嚴(yán)重失諧,反射功率增加過大,引發(fā)儲存環(huán)的高頻保護(hù)。頻調(diào)反饋環(huán)路將腔前腔后的信號送入可編程門陣列(FPGA)中進(jìn)行鑒相,得到腔頻率變化幅度,由此,F(xiàn)PGA產(chǎn)生步進(jìn)電機(jī)的控制信號,由電機(jī)帶動腔上調(diào)諧器的運(yùn)動,實(shí)現(xiàn)腔頻率的正確調(diào)諧[1]。
步進(jìn)電機(jī)將電脈沖信號轉(zhuǎn)化為角位移或轉(zhuǎn)速,其驅(qū)動電路根據(jù)控制信號工作[2]。步進(jìn)電機(jī)的矩頻特性決定了電機(jī)須慢速啟動,然后升速至運(yùn)行頻率,實(shí)現(xiàn)步進(jìn)電機(jī)的平穩(wěn)運(yùn)行[3]。采用FPGA設(shè)計(jì)在功能層面上系統(tǒng)可脫離硬件在EDA軟件上進(jìn)行仿真,確定功能正確后,將編制好的 EDA軟件下載到控制板中進(jìn)行在線測試,并可隨時(shí)改變設(shè)計(jì)軟件,直到測試結(jié)果滿足要求,具有很強(qiáng)的靈活性和實(shí)時(shí)性。目前,步進(jìn)電機(jī)已廣泛應(yīng)用于數(shù)控、遙控等領(lǐng)域。
頻率調(diào)諧環(huán)路由功率饋入部件、頻率反饋線路及調(diào)諧線路組成(圖1)。低電平輸出功率經(jīng)速調(diào)管調(diào)制后送至高頻腔,把腔前和腔后的信號送入 FPGA中進(jìn)行鑒相,求出失諧頻率,由式(1)計(jì)算出失諧角θ,由θ的大小及聯(lián)鎖信號Limit_N、Limit_P在FPGA內(nèi)產(chǎn)生步進(jìn)電機(jī)的控制信號,送入電機(jī)驅(qū)動器,由電機(jī)帶動腔上的調(diào)諧器運(yùn)動,實(shí)現(xiàn)頻率的正確調(diào)諧。
式中,ωC是中心頻率,ωrf是加速器的主信號頻率,ωC–ωrf是失諧頻率,QL是高頻腔的有載品質(zhì)因子。
步進(jìn)電機(jī)的工作設(shè)置有控制轉(zhuǎn)速的脈沖信號(Pulse)、控制轉(zhuǎn)動方向的方向信號(Dir)和電機(jī)工作的使能信號(Work)。每到一個(gè)脈沖,電機(jī)就按既定方向轉(zhuǎn)動一個(gè)步進(jìn)角。脈沖頻率越高,轉(zhuǎn)速越快。Dir=1時(shí),電機(jī)正轉(zhuǎn);Dir=0時(shí),電機(jī)反轉(zhuǎn)。Work=0,電機(jī)不動。當(dāng)步進(jìn)電機(jī)帶動的調(diào)諧器到達(dá)目標(biāo)位置,或調(diào)諧器到達(dá)限制位置,即聯(lián)鎖信號(Limit_N 或Limit_P)有效時(shí),電機(jī)自動停止轉(zhuǎn)動。
圖1 頻調(diào)環(huán)路的原理圖Fig.1 Schematic diagram of frequency tuning loop.
頻調(diào)環(huán)路設(shè)置有開環(huán)和閉環(huán)模式,則步進(jìn)電機(jī)控制算法包括這兩種控制模式下的情況。
開環(huán)模式下,環(huán)路中斷,不用關(guān)心失諧角信號Theta_IN,通過設(shè)置電機(jī)運(yùn)行速度、電機(jī)運(yùn)行方向以及電機(jī)的使能信號,讓電機(jī)按需要方式運(yùn)行。
閉環(huán)模式下,低電平把腔前和腔后信號進(jìn)行鑒相,計(jì)算出失諧頻率,方向信號由失諧頻率決定,與失諧角θ的對應(yīng)關(guān)系如下:當(dāng)θ>1°:輸出的方向信號Dir=1,Work=1,電機(jī)正向轉(zhuǎn)動;當(dāng)θ1°:輸出的方向信號Dir=0,Work=1,電機(jī)反向轉(zhuǎn)動;當(dāng)?1°≤θ≤1°:輸出方向信號 Dir=任意,Work=0,電機(jī)不轉(zhuǎn)動。
軟件設(shè)計(jì)在QuartusⅡ[4]平臺上完成,包括步進(jìn)電機(jī)的升頻啟動(Ramp)和聯(lián)鎖控制(Interlock)兩大模塊(圖2)。編制相應(yīng)的控制算法,以分別實(shí)現(xiàn)開閉環(huán)模式下的電機(jī)控制。
圖2 步進(jìn)電機(jī)控制原理圖Fig.2 Block diagram of the stepper motor control.
步進(jìn)電機(jī)轉(zhuǎn)速與脈沖信號的頻率成正比,但其須低速啟動再增頻達(dá)到所需的工作頻率,若一次性將速度升至工作速度,啟動頻率會很高,電機(jī)會發(fā)生失步。
用FPGA實(shí)現(xiàn)變頻控制,對主時(shí)鐘進(jìn)行不同的分頻即可得到所需頻率。具體做法是在FPGA中加入計(jì)數(shù)器電路,通過累積計(jì)數(shù)實(shí)現(xiàn)頻率的不斷變化。
常用的升頻方式有直線型、指數(shù)型和拋物線型[5]。本系統(tǒng)設(shè)計(jì)時(shí),對步進(jìn)電機(jī)的定位要求速度快,在保證精度情況下,采用直線型升頻方式可滿足需要。圖3為升頻算法流程圖,算法中兩相鄰脈沖序列頻率的差值Δf= | fi?fi?1|相等,對應(yīng)的時(shí)間增量 ΔT也相等。時(shí)間計(jì)算采用定時(shí)中斷法,即每間隔一定時(shí)間T(由計(jì)時(shí)器cnt2決定),時(shí)間/頻率系數(shù)cnt1逐次遞減一定值C,直至其等于運(yùn)行頻率所對應(yīng)的時(shí)間常數(shù)(Speed)為止。由圖4,每一有效激勵(lì)信號Start到來,輸出的脈沖信號就實(shí)現(xiàn)一次低頻→升頻→穩(wěn)定的過程。
圖3 升頻算法流程圖Fig.3 Flow chart of ascending frequency algorithm.
圖4 升頻啟動的仿真圖Fig.4 Simulation diagram of ascending frequency startup.
圖2中Interlock 模塊功能是實(shí)現(xiàn)步進(jìn)電機(jī)在運(yùn)動過程中的超限自動聯(lián)鎖保護(hù)作用,是通過工作信號(Work)和方向信號(Dir)對電機(jī)控制實(shí)現(xiàn)的。
根據(jù)頻調(diào)設(shè)計(jì)要求,當(dāng)調(diào)諧器在允許位置上正常運(yùn)行時(shí),兩聯(lián)鎖信號Limit_N和Limit_P都不起作用,即 Limit_N=0, Limit_P=0。但當(dāng)調(diào)諧器的運(yùn)動超限時(shí),到達(dá)右極限位置時(shí),Limit_N=1,Limit_P=0;左極限位置時(shí),Limit_N=0,Limit_P=1。Interlock模塊中工作信號(Work)的設(shè)置:
else if (Limit_P==1 && Dir==0) 左極限位置,馬達(dá)停轉(zhuǎn)。
Work<=0;
else
Work<=Work_set; 外部設(shè)定決定。
方向信號(Dir)的設(shè)置:
開環(huán)模式下(Tun_loop==0):Dir<=Dir_set 由手動改變Dir_set來實(shí)現(xiàn)。
閉環(huán)模式下(Tun_loop==1):DIR完全由失諧角的大小來確定。
因此,軟件設(shè)計(jì)總體結(jié)果如下:當(dāng)調(diào)諧器運(yùn)動到限定位置時(shí),Work=0,通過反饋Work信號加到Start端,脈沖信號終止,電機(jī)停止轉(zhuǎn)動。此時(shí)如果方向信號 Dir改變,那么 Work=Work_set,電機(jī)將以相反方向轉(zhuǎn)動,經(jīng)升頻啟動過程過渡到設(shè)定工作頻率穩(wěn)定運(yùn)行,直至工作信號Work=0,電機(jī)停轉(zhuǎn)。
圖5為系統(tǒng)在開環(huán)和閉環(huán)兩種模式下的仿真結(jié)果,開環(huán)模式下(Tun_loop==0)通過設(shè)置 Speed、Dir_set和Work_set控制信號,實(shí)現(xiàn)了電機(jī)經(jīng)升頻逐步過渡到工作頻率下運(yùn)行及停轉(zhuǎn)的功能;限制信號Limit_N和Limit_P的作用,實(shí)現(xiàn)電機(jī)運(yùn)動過程中的超限自動停轉(zhuǎn)的功能。閉環(huán)模式下(Tun_loop==1),環(huán)路參數(shù)設(shè)置正確時(shí),不會發(fā)生電機(jī)運(yùn)行的超限狀態(tài)。當(dāng)失諧角(圖中以Theta_IN表示)超出允許范圍時(shí),電機(jī)將按由失諧角確定的轉(zhuǎn)動方向低頻啟動,經(jīng)升頻逐步過渡到工作頻率下運(yùn)行,直至失諧角穩(wěn)定在±1°以內(nèi),電機(jī)停止轉(zhuǎn)動,該設(shè)計(jì)符合要求。
系統(tǒng)以FPGA芯片為核心,以QuartusII為平臺進(jìn)行軟件設(shè)計(jì),成功實(shí)現(xiàn)了步進(jìn)電機(jī)在上海光源超導(dǎo)腔上的平穩(wěn)運(yùn)行。經(jīng)測試,調(diào)諧器范圍400 kHz,步進(jìn)電機(jī)精度達(dá)10 Hz以下,符合設(shè)計(jì)要求。
1 ZHAO Yubin, YIN Chengke, ZHANG Tongxuan, et al.Chinese Phys C, 2008, (9): 758–760
2 敬 嵐, 朱海君, 張碩成, 等.核技術(shù), 2005, 28(6):479–481 JING Lan, ZHU Haijun, ZHANG Shuocheng, et al.Nucl Tech, 2005, 28(6):479–481
3 王宗培.步進(jìn)電機(jī)及其控制系統(tǒng).哈爾濱: 哈爾濱工業(yè)大學(xué)出版社, 1984 WANG Zongpei.Stepper motor and control system.Harbin: Publication of Harbin Institute of Technology,1984
4 王金明.數(shù)字系統(tǒng)設(shè)計(jì)與 verilog HDL.北京: 電子工業(yè)出版社, 2005 WANG Jinming.Digital system design and verilog HDL.Beijing: Publishing House of Electronics Industry, 2005
5 王玉琳, 王 強(qiáng).電機(jī)與控制應(yīng)用, 2006, 33(1): 53–56 WANG Yulin, WANG Qiang.Electr Mach Control Appl,2006, 33(1): 53–56