肖 鋒
(佛山供電局,廣東 佛山 528000)
步進(jìn)電機(jī)的細(xì)分控制,不僅能改善電機(jī)低速運(yùn)行時(shí)的性能,而且可以提高電機(jī)的控制分辨率。目前常用的細(xì)分控制法參見文獻(xiàn)[1-3],主要有插值法、近似波形法、曲線擬合法、矢量控制法。這些方法都是以一定的數(shù)學(xué)模型為基礎(chǔ),且都是在某些理想的條件下提出,如磁路線性化、轉(zhuǎn)矩特性理想化、忽略高次諧波等。本文利用 BP神經(jīng)網(wǎng)絡(luò)不需要具體數(shù)學(xué)模型就能夠以任意精度逼近任意復(fù)雜的非線性映射的特點(diǎn),引入到步進(jìn)電機(jī)細(xì)分控制中,實(shí)現(xiàn)步距角均勻控制。
細(xì)分控制就是將步進(jìn)電機(jī)繞組原來整步運(yùn)行的步距角細(xì)分成若干個(gè)較小的步距角,解決低速運(yùn)行時(shí)出現(xiàn)低頻振蕩、失步,高頻帶負(fù)載能力下降的問題,同時(shí)提高電機(jī)的控制精度[5]。如圖 1所示,步進(jìn)電機(jī)細(xì)分前步距角為θ=π/2通過改變 A、B相繞組電流,轉(zhuǎn)子在兩繞組產(chǎn)生的合成力矩作用下步距角由原來θ=π/2變?yōu)棣?3。
圖1 步進(jìn)電機(jī)細(xì)分后運(yùn)行圖
本文以德 TI公司型號(hào)為 TMS320LF2407A的DSP為控制核心,ST公司生產(chǎn)型號(hào)為L(zhǎng)298N的驅(qū)動(dòng)芯片構(gòu)建控制步進(jìn)電機(jī)定子繞組電流,實(shí)現(xiàn)步距角細(xì)分。檢測(cè)信號(hào)為步進(jìn)電機(jī)步距角,并通過顯示平臺(tái)顯示。細(xì)分控制實(shí)驗(yàn)平臺(tái)示意圖如圖2所示。
圖2 細(xì)分控制實(shí)驗(yàn)平臺(tái)
細(xì)分控制電流是通過PWM(脈沖脈寬調(diào)制)技術(shù)實(shí)現(xiàn)的。本文的控制對(duì)象為兩相永磁步進(jìn)電機(jī),利用TMS320LF2407A兩個(gè)獨(dú)立比較單元產(chǎn)生4路PWM波控制L298N驅(qū)動(dòng)輸出所需的細(xì)分控制電流,實(shí)現(xiàn)對(duì)步距角的控制。在這個(gè)過程中有兩個(gè)非線性的過程:①PWM控制信號(hào)經(jīng)過驅(qū)動(dòng)控制輸出電壓;②輸出電壓通入步進(jìn)電機(jī)定子繞組后輸出的步距角,控制框圖如圖3所示。
圖3 控制信號(hào)到步距角的控制框圖
由于驅(qū)動(dòng)與步進(jìn)電機(jī)無法建立精確的數(shù)學(xué)模型,因此很難實(shí)現(xiàn)對(duì)電機(jī)的精確控制。本文將驅(qū)動(dòng)、繞組電流、步進(jìn)電機(jī)看成一個(gè)非線性過程,利用BP神經(jīng)網(wǎng)絡(luò)具有逼近任意非線性函數(shù)的能力計(jì)算得到這個(gè)過程的相應(yīng)控制信號(hào)。給定步距角為神經(jīng)網(wǎng)絡(luò)輸入,輸出為控制信號(hào)(占空比)。將控制信號(hào)(占空比)輸入到DSP中就可以得到所需要的步距角,這樣利用占空比這個(gè)精確的控制量就可以實(shí)現(xiàn)對(duì)步距角的控制,不需要通過測(cè)量繞組電流值,這樣可以避免電流測(cè)量產(chǎn)生的誤差,提高控制精度,簡(jiǎn)化控制過程。
本文神經(jīng)網(wǎng)絡(luò)的訓(xùn)練是通過 Matlab平臺(tái)實(shí)現(xiàn)的。Matlab神經(jīng)網(wǎng)絡(luò)工具箱為開發(fā)者提供很多基于神經(jīng)網(wǎng)絡(luò)理論為基礎(chǔ)的典型框架和相關(guān)函數(shù)。這些框架和函數(shù)減少了許多手動(dòng)計(jì)算的工作,不僅提高了效率而且還提高了計(jì)算的準(zhǔn)確度和精度。BP神經(jīng)網(wǎng)絡(luò)的建立的基本步驟如下所示。
1)數(shù)據(jù)歸一化,將輸入和輸出的數(shù)據(jù)進(jìn)行歸一化處理,加快網(wǎng)絡(luò)訓(xùn)練的收斂性。首先輸入一組歸一化后的占空比值M= [0 7 8 22 65 143 171 194 207 230 285 306 324 391 404 500;500 404 391 324 230 143 116 94 83 65 35 27 22 8 7 0]/500,然后,用光電編碼器測(cè)出這組控制占空比值所對(duì)應(yīng)步進(jìn)電機(jī)的步距角(角位移),測(cè)出的角位移數(shù)據(jù)為數(shù)組N=[0 4 5 9 14 17 17 18 18 19 20 20 20 22 22 25]/25。
2)用newff函數(shù)創(chuàng)建一個(gè)BP神經(jīng)網(wǎng)絡(luò)。輸入函數(shù)net=newff(N,M, [3, 3]);建立一個(gè)BP神經(jīng)網(wǎng)絡(luò)函數(shù)。其中隱含層的傳遞函數(shù)為tansig(正切函數(shù)),輸出層傳遞函數(shù)為purelin(線性函數(shù)),學(xué)習(xí)函數(shù)為learngdm(帶動(dòng)量的梯度下降法的BP學(xué)習(xí)規(guī)則)。訓(xùn)練函數(shù)為trainlm(Levenberg_Marquardt的BP算法訓(xùn)練函數(shù))。
3)用train函數(shù)訓(xùn)練BP神經(jīng)網(wǎng)絡(luò)。設(shè)置訓(xùn)練步數(shù)。net.trainParam.epochs=1000;訓(xùn)練目標(biāo)誤差net.trainParam.goal=0;學(xué)習(xí)率 net.trainParam.lr=0.02。設(shè)置完成后,輸入命令net=train(net,T,P) 對(duì)BP網(wǎng)絡(luò)進(jìn)行訓(xùn)練。
4)神經(jīng)網(wǎng)絡(luò)訓(xùn)練好后,需要拿測(cè)試樣本進(jìn)行測(cè)試,用來檢驗(yàn)網(wǎng)絡(luò)訓(xùn)練是否達(dá)到所需要的效果。在數(shù)據(jù)采集的過程中,還采集了一組數(shù)據(jù)用來測(cè)試訓(xùn)練結(jié)果。這組數(shù)據(jù)的輸入為步進(jìn)電機(jī)步距角位移數(shù)組N1=[0 5 10 15 20 25]。用sim函數(shù)進(jìn)行仿真,輸入命令M1=sim(net,N1) 后得到結(jié)果為[0 8 26 92 289 500;500 387 312 197 36 -1] /500,理想輸出的占空比值為 [0 8 27 83 285 500; 500 391 306 207 35 0]/500。經(jīng)過比較,用BP神經(jīng)網(wǎng)絡(luò)模擬出來的占空比值是非常理想的,可以很好的滿足要求。為了更直觀的觀察神經(jīng)網(wǎng)絡(luò)的訓(xùn)練情況,輸入命令plot(N,M2,N,M2, '+',N1,M1, '*') 后可以得到數(shù)據(jù)的擬合曲線,如圖4所示。
圖4 訓(xùn)練擬合曲線圖
為驗(yàn)證BP神經(jīng)網(wǎng)絡(luò)在步進(jìn)電機(jī)細(xì)分控制中的效果。對(duì)步進(jìn)電機(jī)做了3細(xì)分、8細(xì)分2組實(shí)驗(yàn)。其中步進(jìn)電機(jī)3細(xì)分和8細(xì)分電流波形如圖5、圖6所示,對(duì)應(yīng)細(xì)分角位移數(shù)據(jù)表1、表2所示。
對(duì)實(shí)驗(yàn)數(shù)據(jù)進(jìn)行分析表明,運(yùn)用 BP神經(jīng)網(wǎng)絡(luò)算法能夠?qū)崿F(xiàn)對(duì)步進(jìn)電機(jī)的均勻細(xì)分控制。從定子繞組電流波形可以看出,要使步距角均勻細(xì)分,定子繞組的電流波形并不是規(guī)則的正弦波,會(huì)有一定的變形,這也進(jìn)一步說明了步進(jìn)電機(jī)的輸入繞組的電流與輸出角位移之間的關(guān)系的非線性和復(fù)雜性特點(diǎn)。
圖5 步進(jìn)電機(jī)3細(xì)分繞組電流波形
圖6 步進(jìn)電機(jī)8細(xì)分繞組電流波形
表1 步進(jìn)電機(jī)3細(xì)分角位移數(shù)據(jù)表
表2 步進(jìn)電機(jī)8細(xì)分角位移數(shù)據(jù)表
本文引入 BP算法,在不需要建立精確的數(shù)學(xué)模型的情況下實(shí)現(xiàn)步進(jìn)電機(jī)步距角均勻細(xì)分控制。相比過去通過采用近似數(shù)學(xué)模型的控制方法得到了很大的簡(jiǎn)化。同時(shí)采用“控制電流占空比—輸出步距角”特殊的訓(xùn)練方式,利用占空比這個(gè)精確的控制信號(hào)代替需要測(cè)量的電流值控制信號(hào),提高控制精度。
[1] 馬西庚, 張衛(wèi)東. 步進(jìn)電機(jī)細(xì)分控制輸入輸出特性的研究[J]. 石油大學(xué)學(xué)報(bào)(自然科學(xué)版), 1998, 22(3):98-100, 11.
[2] 孫宏剛. 兩相混合式步進(jìn)電機(jī)細(xì)分驅(qū)動(dòng)控制器的研究[D]. 武漢: 華中科技大學(xué), 2006: 19-24.
[3] 孫勝利. 步進(jìn)電機(jī)細(xì)分驅(qū)動(dòng)獲得均勻步距的方法研究[J]. 微特電機(jī), 1998(5): 21-23, 26.
[4] 劉闖. 一種基于電壓 SVPWM 的三相步進(jìn)電機(jī)細(xì)分驅(qū)動(dòng)技術(shù)研究[J]. 微電機(jī), 2008, 41(3): 45-47.
[5] 阮建國. 步進(jìn)電機(jī)可變細(xì)分微機(jī)控制系統(tǒng)[J]. 微電機(jī), 1987(2): 25-27.