,
(南京航空航天大學(xué)機(jī)電學(xué)院,江蘇 南京 210016)
步進(jìn)電機(jī)作為一種通過電脈沖信號(hào)控制相繞組電流實(shí)現(xiàn)定角轉(zhuǎn)動(dòng)的機(jī)電元件,與其他類型電機(jī)相比,具有易于開環(huán)精確控制、無積累誤差和價(jià)格低廉等優(yōu)點(diǎn),在眾多領(lǐng)域中獲得了廣泛的應(yīng)用。傳統(tǒng)的步進(jìn)電機(jī)采用開環(huán)恒流斬波驅(qū)動(dòng)方式,驅(qū)動(dòng)電流恒定,這樣就使得步進(jìn)電機(jī)在低頻運(yùn)行時(shí),繞組電流容易過沖,產(chǎn)生低頻振蕩,運(yùn)行很不平穩(wěn)。矢量控制是在20世紀(jì)70年代由德國西門子公司的工程師Lasschke提出的,發(fā)展至今己經(jīng)取得長足的進(jìn)步,在交流電機(jī)控制領(lǐng)域中逐漸形成了矢量控制理論。文獻(xiàn)[1-3]就是將矢量控制理論應(yīng)用到兩相混合式步進(jìn)電機(jī)中,并證明能得到較高控制精度和優(yōu)良的調(diào)速性能。選用矢量控制方法對(duì)步進(jìn)電機(jī)進(jìn)行控制,可以增加其輸出轉(zhuǎn)矩的幅值,提高其穩(wěn)定性。同時(shí)減弱或消除步進(jìn)電機(jī)的低頻振蕩,提高了啟動(dòng)頻率,因而在實(shí)踐中得到了廣泛的應(yīng)用。
目前,大多數(shù)控制系統(tǒng)都采用單片機(jī)作為主控芯片,而單片機(jī)存在實(shí)時(shí)性差的問題。FPGA具有編程方式簡單,開發(fā)周期短,可靠性高等特點(diǎn),解決了步進(jìn)電機(jī)在以傳統(tǒng)的單片機(jī)等微處理器為核心單元的控制系統(tǒng)中出現(xiàn)的問題。同時(shí),F(xiàn)PGA還具有實(shí)時(shí)性好、運(yùn)算速度快、門電路資源充足以及I/O管腳豐富的優(yōu)點(diǎn)[4],利用FPGA的并行處理方式,可以同時(shí)產(chǎn)生多路PWM驅(qū)動(dòng)信號(hào),而后經(jīng)由電機(jī)驅(qū)動(dòng)芯片進(jìn)行驅(qū)動(dòng)信號(hào)的放大,實(shí)現(xiàn)對(duì)步進(jìn)電機(jī)的控制[5-8]。再結(jié)合轉(zhuǎn)矩矢量控制策略的優(yōu)點(diǎn),精確控制步進(jìn)電機(jī)繞組電流。
步進(jìn)電機(jī)的結(jié)構(gòu)如圖1所示,其工作原理較為簡單,中間的永磁體轉(zhuǎn)子根據(jù)當(dāng)前A/B相線圈的通電情況進(jìn)行轉(zhuǎn)動(dòng)。例如,當(dāng)A相繞組通電時(shí),其定子磁極磁化,吸引轉(zhuǎn)子齒而產(chǎn)生轉(zhuǎn)矩,使其移動(dòng)1步,而后A/B相線圈依次通電產(chǎn)生電磁轉(zhuǎn)矩,步進(jìn)電機(jī)將依次按照定子相通電順序轉(zhuǎn)動(dòng)下去。這樣就會(huì)帶來一個(gè)問題,步進(jìn)電機(jī)的步距角由以下公式確定[9]:
θs=180°/PNr
(1)
Nr為轉(zhuǎn)子齒數(shù);P為定子相數(shù)。受到轉(zhuǎn)子齒數(shù)和定子相數(shù)的影響,步進(jìn)電機(jī)的步距角不能很小,而通過制造工藝增加轉(zhuǎn)子齒數(shù)較為困難。那么,由于步進(jìn)電機(jī)每一步的轉(zhuǎn)動(dòng)量較大,因此在高精度控制場合中很難得到應(yīng)用。
圖1 步進(jìn)電機(jī)內(nèi)部結(jié)構(gòu)
混合式步進(jìn)電動(dòng)機(jī)是一種高度非線性、強(qiáng)耦合的位置伺服執(zhí)行元件。建立準(zhǔn)確的數(shù)學(xué)模型是對(duì)二相混合式步進(jìn)電動(dòng)機(jī)伺服系統(tǒng)進(jìn)行分析和深入研究的基礎(chǔ)[10]。二相混合式步進(jìn)電動(dòng)機(jī)繞組的基本電路方程和轉(zhuǎn)矩方程為[11-13]:
(2)
UA,UB為兩相繞組的端電壓;rA,rB為兩相繞組的相電阻;ω為電角速度;ωr為轉(zhuǎn)子的機(jī)械角速度;ke為反電動(dòng)勢(shì)系數(shù)。
p·Im·Msr·(-iAsinθ+iBcosθ)
(3)
p為電機(jī)轉(zhuǎn)子齒數(shù);Im為勵(lì)磁電流。
混合式步進(jìn)電機(jī)從原理上講,是低速永磁凸極同步電機(jī),因此可以借鑒同步電機(jī)的控制方法。矢量控制的基本思想就是將步進(jìn)電機(jī)等效成一個(gè)直流電機(jī)的模型來控制,其數(shù)學(xué)模型通過由靜止坐標(biāo)系變換到同步坐標(biāo)系下[14],將定子電流矢量分解成按磁場定向的勵(lì)磁分量和轉(zhuǎn)矩分量,分別控制,達(dá)到很好的解禍目的。采用矢量控制的方法,首先需要建立旋轉(zhuǎn)坐標(biāo)系(d-q坐標(biāo)系),即d軸位于轉(zhuǎn)子齒中心線上,q軸為沿旋轉(zhuǎn)方向超前d軸90°電角度。則由定轉(zhuǎn)子相對(duì)位置角θ的定義可知,靜止坐標(biāo)系的α軸與同步旋轉(zhuǎn)坐標(biāo)系的d軸之間的夾角即為θ。兩相混合式步進(jìn)電動(dòng)機(jī)矢量圖如圖2所示。
圖2 步進(jìn)電動(dòng)機(jī)矢量圖
因此,將定子電流iA,iB變換到d-q坐標(biāo)系有:
(4)
轉(zhuǎn)矩方程可同時(shí)簡化為:
Te=p(Ld-Lq)idiq+pImMsriq
(5)
在磁場定向的矢量控制中為了較好地控制電機(jī),在不同的場合可以選擇不同的磁鏈?zhǔn)噶孔鳛槎ㄏ蜃鴺?biāo)軸。這里為了簡化步進(jìn)電機(jī)的數(shù)學(xué)模型,采用id=0的控制策略,即此時(shí)電動(dòng)機(jī)只有主電磁轉(zhuǎn)矩而忽略磁阻轉(zhuǎn)矩。因此轉(zhuǎn)矩方程可進(jìn)一步簡化:
Te=pImMsriq
(6)
兩相混合式步進(jìn)電動(dòng)機(jī)的伺服控制系統(tǒng)可參照交流電機(jī)伺服控制系統(tǒng)的結(jié)構(gòu)。這里采用速度和電流雙閉環(huán)的結(jié)構(gòu),速度環(huán)為外環(huán),電流環(huán)為內(nèi)環(huán)。速度調(diào)節(jié)器采用PID調(diào)節(jié)器,增強(qiáng)抗干擾能力,根據(jù)給定速度和反饋速度做出迅速準(zhǔn)確的反應(yīng),提高調(diào)速精度。電流調(diào)節(jié)器同樣采用PID調(diào)節(jié)器,控制定子電流的轉(zhuǎn)矩分量,快速跟蹤給定電流值,對(duì)干擾做出實(shí)時(shí)快速的響應(yīng)。兩相混合式步進(jìn)電動(dòng)機(jī)伺服控制系統(tǒng)結(jié)構(gòu)如圖3所示。
圖3 步進(jìn)電機(jī)伺服系統(tǒng)控制結(jié)構(gòu)
首先,由上位機(jī)發(fā)送參數(shù)設(shè)置給定速度值,與增量編碼器反饋的實(shí)時(shí)速度值作偏差,經(jīng)過PID調(diào)節(jié)器調(diào)節(jié)之后用公式做轉(zhuǎn)矩電流的估算,為了便于FPGA控制和提高控制效率,這里也可按照一定的分辨率做成轉(zhuǎn)矩電流的查找表,得到電流給定值Iq。而后,由采樣電路采樣得到步進(jìn)電機(jī)兩相繞組電流反饋值,經(jīng)Park變換之后與給定電流值作偏差,作為電流調(diào)節(jié)器的輸入量,而后得到輸出量Uq。最后,再經(jīng)由電壓反Park變換得到Ua和Ub,生成相應(yīng)的控制信號(hào)。
對(duì)于電機(jī)的驅(qū)動(dòng)部分,本設(shè)計(jì)采用PWM控制方式調(diào)制出所需要的相電流波形。步進(jìn)電機(jī)作為感性負(fù)載,如果提供占空比連續(xù)變化的脈沖信號(hào),就可以得到預(yù)期的波形。所以,只需利用PWM的方式調(diào)制出脈沖寬度,按正弦規(guī)律變化的波形來驅(qū)動(dòng)步進(jìn)電機(jī),就能達(dá)到想要的控制效果。
PWM 信號(hào)產(chǎn)生方法主要有軟件和硬件2種。本設(shè)計(jì)采用軟件產(chǎn)生PWM 信號(hào)的方法,此方法將不再使用集成的PWM控制芯片,完全由主控制芯片產(chǎn)生PWM控制信號(hào),簡化了控制系統(tǒng)硬件結(jié)構(gòu)。傳統(tǒng)的步進(jìn)電機(jī)控制系統(tǒng)多采用單片機(jī)作為微處理器,而單片機(jī)是單線程的微處理器,同一周期只能執(zhí)行1條命令,也就是同一控制周期只能產(chǎn)生1相PWM信號(hào),因此輸出波形質(zhì)量較差,從而導(dǎo)致步進(jìn)電機(jī)的控制精度偏低。而FPGA由于其運(yùn)算速度快,且是并行工作模式,可在同一控制周期內(nèi)產(chǎn)生多相PWM信號(hào),因此提高了輸出波形的質(zhì)量。
本設(shè)計(jì)采用Quartus II開發(fā)平臺(tái)和Verilog HDL編程語言,運(yùn)用自頂向下的設(shè)計(jì)思路,將整個(gè)軟件系統(tǒng)主要?jiǎng)澐譃?個(gè)模塊:串口通訊模塊、模擬量采集模塊、步進(jìn)電機(jī)控制模塊和PWM斬波輸出模塊。主要實(shí)現(xiàn)4個(gè)功能:一是解碼上位機(jī)的指令信息,實(shí)現(xiàn)正確的參數(shù)和指令傳遞以及電機(jī)狀態(tài)的反饋;二是采集電機(jī)兩相繞組電流和位置模擬量,作為閉環(huán)系統(tǒng)控制器的輸入;三是完成控制器的核心算法,輸出驅(qū)動(dòng)步進(jìn)電機(jī)需要的兩相電壓給定值Ua和Ub;四是通過同步載波計(jì)數(shù)器比較生成PWM驅(qū)動(dòng)信號(hào)。FPGA驅(qū)動(dòng)程序結(jié)構(gòu)如圖4所示。首先由串口通訊模塊接收來自上位機(jī)的運(yùn)動(dòng)指令,并進(jìn)行指令驗(yàn)證和反饋,驗(yàn)證正確的指令會(huì)被存入步進(jìn)電機(jī)控制模塊執(zhí)行;而后由步進(jìn)電機(jī)控制模塊,根據(jù)上位機(jī)指令以載波周期同步生成控制電機(jī)運(yùn)動(dòng)的電壓值,并送入PWM斬波輸出模塊;最后,由PWM斬波輸出模塊根據(jù)每一個(gè)載波周期的PWM計(jì)數(shù)值與載波計(jì)數(shù)器的計(jì)數(shù)值,比較生成A,B相的PWM控制信號(hào)。
圖4 FPGA驅(qū)動(dòng)程序結(jié)構(gòu)
本模塊實(shí)現(xiàn)RS422串口通訊的接收、發(fā)送以及數(shù)據(jù)的CRC校驗(yàn),接收的數(shù)據(jù)包括指令和參數(shù),發(fā)送的數(shù)據(jù)包括指令驗(yàn)證和狀態(tài)采集。其中指令驗(yàn)證的優(yōu)先級(jí)高于狀態(tài)采集,即當(dāng)正在發(fā)送狀態(tài)數(shù)據(jù)時(shí),需要驗(yàn)證指令,則在當(dāng)前狀態(tài)發(fā)送隊(duì)列中插入指令驗(yàn)證的數(shù)據(jù)發(fā)送,而后在根據(jù)接收到的指令判斷是否繼續(xù)發(fā)送狀態(tài)數(shù)據(jù)。這樣可以防止串口發(fā)送端數(shù)據(jù)的紊亂。另外,在每一幀數(shù)據(jù)中加入CRC校驗(yàn),能夠有效檢測(cè)和規(guī)避串口通訊中的誤碼,提高指令和參數(shù)發(fā)送的準(zhǔn)確性。串口通訊模塊功能結(jié)構(gòu)如圖5所示。
圖5 串口通訊模塊功能結(jié)構(gòu)
模擬量采集包括步進(jìn)電機(jī)兩相繞組的電流采樣和電機(jī)轉(zhuǎn)子位置的采集。AD采樣模塊,根據(jù)AD976官方datasheet,生成R/C,CS等時(shí)序,完成對(duì)電機(jī)A/B相電流采樣功能。本設(shè)計(jì)采用AD976官方datasheet中的模式2,分別進(jìn)行A,B兩路電機(jī)相電流采樣,即通過CS,R/C時(shí)序控制AD976采樣得到電機(jī)相電流值,BYTE接數(shù)字地(D0表示數(shù)據(jù)位最低位,D15表示數(shù)據(jù)位最高位)。由載波同步信號(hào),控制生成采樣時(shí)序信號(hào),采樣完成后,將有效AD碼值輸出到步進(jìn)電機(jī)控制模塊用于電機(jī)控制。AD采樣模塊功能結(jié)構(gòu)如圖6所示。
圖6 AD采樣子模塊功能結(jié)構(gòu)
對(duì)于位置模擬量的采集,本設(shè)計(jì)采用歐姆龍E6B2-CWZ6C型增量編碼器,每轉(zhuǎn)發(fā)送脈沖個(gè)數(shù)為2 000。編碼器控制模塊功能結(jié)構(gòu)如圖7所示。FPGA需要通過A/B/Z相三相信號(hào),完成對(duì)編碼器信號(hào)的解碼,實(shí)現(xiàn)脈沖計(jì)數(shù)和方向判斷的功能,并將有效的脈沖計(jì)數(shù)值發(fā)送給寄存器模塊用于電機(jī)控制。
圖7 編碼器控制子模塊功能結(jié)構(gòu)
步進(jìn)電機(jī)控制模塊需要實(shí)現(xiàn)的功能主要有:控制模式的選擇(速度控制模式和轉(zhuǎn)矩控制模式)、控制時(shí)序的生成和控制信號(hào)的生成。本設(shè)計(jì)中采用兩相四拍步距角為1.8°的步進(jìn)電機(jī),使用矢量控制的方法,合成出驅(qū)動(dòng)電機(jī)轉(zhuǎn)子轉(zhuǎn)動(dòng)的旋轉(zhuǎn)磁場,實(shí)現(xiàn)對(duì)步進(jìn)電機(jī)的速度和電流雙閉環(huán)控制。速度環(huán)和電流環(huán)均采用經(jīng)典的增量式PI控制器。步進(jìn)電機(jī)伺服控制系統(tǒng)功能結(jié)構(gòu)如圖8所示。主要實(shí)現(xiàn)步進(jìn)電機(jī)的閉環(huán)控制,直接生成電機(jī)A/B相電壓的占空比值,用于在PWM生成模塊比較生成PWM控制信號(hào)。
圖8 步進(jìn)電機(jī)控制模塊功能結(jié)構(gòu)
PWM斬波輸出模塊的主要功能是,根據(jù)A,B相的PWM計(jì)數(shù)值和載波計(jì)數(shù)值比較生成PWM控制信號(hào)。其具體功能結(jié)構(gòu)如圖9所示。載波頻率為40 kHz,由于內(nèi)部采用40 MHz時(shí)鐘,所以載波計(jì)數(shù)器的計(jì)數(shù)范圍為0x000~0x3FF(非對(duì)稱三角波),即在40 MHz時(shí)鐘驅(qū)動(dòng)下計(jì)數(shù)器從0遞增到1 023。將從步進(jìn)電機(jī)控制模塊得到的細(xì)分輸出值與載波計(jì)數(shù)值比較, 當(dāng)小于計(jì)數(shù)器值時(shí)PWM信號(hào)輸出0,大于計(jì)數(shù)值時(shí)PWM信號(hào)輸出1,這樣所得的信號(hào)就可以直接控制驅(qū)動(dòng)芯片產(chǎn)生相應(yīng)的電機(jī)驅(qū)動(dòng)信號(hào),實(shí)現(xiàn)對(duì)步進(jìn)電機(jī)的控制。同時(shí),由L298芯片內(nèi)部,將H橋電路中的控制同一側(cè)橋臂上下2個(gè)MOSFET管的信號(hào)邏輯取反,這樣就能保證H橋電路不會(huì)發(fā)生短路的情況,不需要在驅(qū)動(dòng)程序中再加入死區(qū)關(guān)系,簡化了程序設(shè)計(jì)。
圖9 PWM斬波輸出模塊功能結(jié)構(gòu)
采用1臺(tái)42系列步進(jìn)電機(jī)進(jìn)行實(shí)驗(yàn),電機(jī)參數(shù)為:額定電流為1.4 A,內(nèi)阻為3.5 Ω,電感為7.4 mH。本實(shí)驗(yàn)通過上位機(jī)界面及RS422串口將控制參數(shù)和控制指令發(fā)送到電機(jī),控制電機(jī)轉(zhuǎn)動(dòng),利用Quartus II軟件中的邏輯分析儀實(shí)時(shí)采集步進(jìn)電機(jī)繞組電流,同時(shí)將FPGA采集到的電機(jī)A,B兩相電流及合成Q電流返回到上位機(jī),以圖像的形式顯示出來。
通過上位機(jī)輸入恒定的電流Q相給定值時(shí),邏輯分析儀采集到的電機(jī)A,B兩相繞組的實(shí)時(shí)電流值,以及上位機(jī)顯示出的合成Q相電流的反饋曲線如圖10和圖11所示。通過上位機(jī)輸入正弦形式的合成Q相電流給定值時(shí),上位機(jī)顯示出的給定與反饋曲線如圖12所示。由圖10~圖12可知,電流跟蹤效果良好,電機(jī)運(yùn)行平穩(wěn),基本實(shí)現(xiàn)了控制要求。
圖10 恒值輸入時(shí)合成Q相電流曲線
圖11 步進(jìn)電機(jī)A,B兩相繞組電流原碼
圖12 正弦輸入時(shí)合成Q相電流曲線
針對(duì)傳統(tǒng)的步進(jìn)電機(jī)閉環(huán)控制系統(tǒng)中存在的主控芯片實(shí)時(shí)性差、控制電路復(fù)雜以及功耗高等問題,采用FPGA作為主控芯片,運(yùn)用矢量控制方式和經(jīng)典的PID控制算法,實(shí)現(xiàn)了對(duì)步進(jìn)電機(jī)的閉環(huán)控制。利用FPGA并行計(jì)算的優(yōu)勢(shì),從軟件設(shè)計(jì)中縮短了閉環(huán)周期,同時(shí)由于所有的控制功能全部在FPGA內(nèi)部完成,簡化了系統(tǒng)硬件電路設(shè)計(jì),降低了成本。實(shí)驗(yàn)結(jié)果表明,合成電流跟蹤效果良好,系統(tǒng)運(yùn)行平穩(wěn),可以為步進(jìn)電機(jī)的閉環(huán)控制以及閉環(huán)系統(tǒng)實(shí)時(shí)性的研究提供參考。
[1] 史敬灼,徐殿國,王宗培,等.二相混合式步進(jìn)電機(jī)矢量控制伺服系統(tǒng)[J].電機(jī)與控制學(xué)報(bào),2000, 4(3): 136-139, 147.
[2] 高晗纓,程樹康,王軍偉,等.兩相混合式同步電機(jī)的最大轉(zhuǎn)矩/電流控制[J].電機(jī)與控制學(xué)報(bào),2003, 7(1): 5-9, 21.
[3] 劉源晶,楊向宇,趙世偉.兩相SVPWM技術(shù)在位置跟蹤伺服系統(tǒng)中的應(yīng)用[J].微電機(jī),2014, 47(1): 57-60.
[4] Mutlu B R, Yaman U, Dolen M, et al. Performance evaluation of different real time motion controller topologies implemented on a FPGA[C]//International Conference on Electrical Machines and Systems (ICEMS), 2009.
[5] 瞿亮.兩相混合式步進(jìn)電機(jī)的新型控制策略研究[D].杭州:浙江大學(xué),2011.
[6] 陳學(xué)軍.混合式步進(jìn)電機(jī)SPWM細(xì)分驅(qū)動(dòng)控制技術(shù)的研究與實(shí)現(xiàn)[D].杭州:浙江工業(yè)大學(xué),2006.
[7] 陳夢(mèng),高強(qiáng),蔡洪寶.多模態(tài)控制在步進(jìn)電機(jī)位置伺服系統(tǒng)中的應(yīng)用研究[J].計(jì)算機(jī)測(cè)量與控制,2016,24(11):196-200.
[8] 蔡洪寶. 步進(jìn)電機(jī)位置伺服系統(tǒng)的多模態(tài)控制策略研究[D].南京:南京理工大學(xué),2016.
[9] 李信鋒.兩相混合式步進(jìn)電機(jī)矢量控制和位置伺服算法研究[D].深圳:深圳大學(xué),2015.
[10] 李敬一,王會(huì)彬.基于PID算法的步進(jìn)電機(jī)位置控制[J].軍民兩用技術(shù)與產(chǎn)品,2015(7):55-57.
[11] 王娟.步進(jìn)電機(jī)智能控制系統(tǒng)的設(shè)計(jì)[J].機(jī)電工程技術(shù),2013,42(6):15-17,39.
[12] 馬丹丹,張文超.基于CAN總線和STM32的智能步進(jìn)電機(jī)驅(qū)動(dòng)模塊設(shè)計(jì)[J].生命科學(xué)儀器,2012,10(5):43-47.
[13] 趙軼彥.步進(jìn)電機(jī)的智能控制在自動(dòng)聚焦中的應(yīng)用研究[D].太原:太原理工大學(xué),2008.
[14] 陳志聰. 步進(jìn)電機(jī)驅(qū)動(dòng)控制技術(shù)及其應(yīng)用設(shè)計(jì)研究[D].廈門:廈門大學(xué),2008.