謝國鋼,王念興,李小海,姜淑忠
(1.上海交通大學(xué),上海200240;2.大慶油田裝備制造集團(tuán)研究院,黑龍江大慶163312)
步進(jìn)電動(dòng)機(jī)是一種通過電脈沖信號(hào)控制相繞組電流實(shí)現(xiàn)角度控制的機(jī)電執(zhí)行元件,與其他類型電機(jī)相比,具有易于開環(huán)精確控制、無積累誤差等優(yōu)點(diǎn),在眾多領(lǐng)域中獲得了廣泛的應(yīng)用。細(xì)分驅(qū)動(dòng)技術(shù)是一種有效改善步進(jìn)電動(dòng)機(jī)低頻特性和提高步進(jìn)精度的驅(qū)動(dòng)技術(shù),且可以減小或消除振蕩、噪聲和轉(zhuǎn)矩波動(dòng)。
傳統(tǒng)的步進(jìn)電動(dòng)機(jī)系統(tǒng)主要包括單片機(jī)、D/A模塊、斬波比較電路、驅(qū)動(dòng)及功放電路、步進(jìn)電動(dòng)機(jī)等幾部分[1],具有以下缺點(diǎn):
(1)器件多,故障率較高、成本高;
(2)開關(guān)頻率不確定,容易導(dǎo)致功率器件過熱;
(3)不能實(shí)現(xiàn)驅(qū)動(dòng)器件對(duì)上位機(jī)命令的加減速控制,增加上位機(jī)的軟件工作量;
(4)細(xì)分?jǐn)?shù)小,不能很好地抑制振動(dòng)、失步現(xiàn)象;
(5)不能實(shí)現(xiàn)閉環(huán)控制,無法滿足更高精度要求。
目前市場上已有很多高性能、功能強(qiáng)大的微處理器,能承擔(dān)步進(jìn)電動(dòng)機(jī)系統(tǒng)的大部分信息處理,可將系統(tǒng)簡化為微處理器、驅(qū)動(dòng)及功放電路、步進(jìn)電動(dòng)機(jī)等三個(gè)主要部分,實(shí)現(xiàn)全數(shù)字化處理,很大程度上克服了上述傳統(tǒng)系統(tǒng)的五個(gè)缺點(diǎn),使步進(jìn)電動(dòng)機(jī)系統(tǒng)的性能大幅度提高。本文設(shè)計(jì)了基于48腳ARM芯片STM32F103的全數(shù)字化步進(jìn)電動(dòng)機(jī)細(xì)分驅(qū)動(dòng)器。
圖1為本文設(shè)計(jì)的系統(tǒng)硬件框圖,主要包括STM32F103芯片、IR驅(qū)動(dòng)芯片及H橋、步進(jìn)電動(dòng)機(jī),以及功能選擇撥位開關(guān)、電流采樣電路、供電電路、編碼器和控制輸入電路。為了提高系統(tǒng)的可擴(kuò)展性和人機(jī)交互能力,還配置了CAN、RS485通訊接口和E2PROM。
圖1 系統(tǒng)硬件框圖
STM32F103芯片是該系統(tǒng)的核心,主要功能為根據(jù)給定輸入信號(hào)運(yùn)算出細(xì)分驅(qū)動(dòng)控制數(shù)據(jù),輸出至后續(xù)環(huán)節(jié),另外還實(shí)現(xiàn)系統(tǒng)的電流閉環(huán)、位置閉環(huán)、保護(hù)、通訊等功能。驅(qū)動(dòng)芯片和 H橋接受STM32F103芯片的控制信號(hào),對(duì)電機(jī)進(jìn)行細(xì)分驅(qū)動(dòng)。步進(jìn)電動(dòng)機(jī)為二相混合式,轉(zhuǎn)子齒數(shù)或極對(duì)數(shù)p=50。功能選擇撥位開關(guān)決定細(xì)分?jǐn)?shù)、電流大小、單雙脈沖模式,給定輸入端口CP、Dir、Enable分別是脈沖、方向、使能信號(hào)的輸入口。傳統(tǒng)步進(jìn)電動(dòng)機(jī)細(xì)分驅(qū)動(dòng)的電流閉環(huán)控制通過硬件模擬電路實(shí)現(xiàn),且都為位置開環(huán)控制。本文設(shè)計(jì)的全數(shù)字化驅(qū)動(dòng)控制通過電流采樣、STM32F103芯片處理實(shí)現(xiàn)電流閉環(huán),并充分利用STM32F103芯片資源,增加編碼器實(shí)現(xiàn)位置閉環(huán)控制,以優(yōu)化系統(tǒng)的性能,減少失步、過沖現(xiàn)象,有效抑制振蕩、噪聲和轉(zhuǎn)矩波動(dòng)。
STM32F103芯片是系統(tǒng)的核心,承擔(dān)了步進(jìn)電動(dòng)機(jī)控制的大部分信息處理。圖2為本文設(shè)計(jì)的由STM32F103實(shí)現(xiàn)的系統(tǒng)控制架構(gòu)。
單脈沖工作模式時(shí),CP、Dir分別為上位機(jī)輸入到本驅(qū)動(dòng)系統(tǒng)的脈沖和方向信號(hào),CP經(jīng)加減速控制環(huán)節(jié)得到CP*,然后經(jīng)角度計(jì)算可以得到每步需要轉(zhuǎn)至的角度θ(絕對(duì)位置),結(jié)合編碼器反饋的電機(jī)實(shí)際位置θ*,經(jīng)PI調(diào)節(jié)后輸入至電流矢量控制環(huán)節(jié)。I為電流選擇模塊設(shè)定的電流值,結(jié)合兩相電流采樣值的合成值I*,經(jīng)PI調(diào)節(jié)輸出給電流矢量控制環(huán)節(jié)。電流矢量控制環(huán)節(jié)為軟件程序的關(guān)鍵,主要根據(jù)θ和I經(jīng)PI后的結(jié)果進(jìn)行計(jì)算處理,輸出兩相電流值Ia、Ib。PWM模塊則根據(jù)兩相電流值及對(duì)應(yīng)關(guān)系經(jīng)驗(yàn),輸出4路PWM。
圖2 系統(tǒng)控制架構(gòu)
一般步進(jìn)電動(dòng)機(jī)驅(qū)動(dòng)器產(chǎn)品不包含加減速控制功能,因此要求上位機(jī)負(fù)責(zé)加減速控制,增加了控制系統(tǒng)的編程難度和軟件負(fù)擔(dān)。本文設(shè)計(jì)由驅(qū)動(dòng)器自身實(shí)現(xiàn)加減速控制,控制系統(tǒng)只需發(fā)簡單的步進(jìn)脈沖,甚至只需通過通訊方式將運(yùn)動(dòng)控制的幾個(gè)關(guān)鍵數(shù)據(jù)發(fā)給驅(qū)動(dòng)器CPU,即能實(shí)現(xiàn)對(duì)步進(jìn)電動(dòng)機(jī)的完整控制,大幅度減少了控制系統(tǒng)的工作量,使控制極為方便。
本文設(shè)計(jì)系統(tǒng)采用二相永磁式步進(jìn)電動(dòng)機(jī),A相繞組電流和B相繞組電流正好相差90°電角度,如圖3所示,因此不需要坐標(biāo)變換處理,A相繞組軸線即為α軸,B相繞組理論軸線即為β軸。
圖3 二相步進(jìn)電動(dòng)機(jī)電流合成矢量
以A相電流為參考,電流合成矢量用復(fù)數(shù)形式可表示:
這是一個(gè)以Im為幅值、θ為輻角的矢量,當(dāng)θ角變化時(shí),該矢量隨之旋轉(zhuǎn)。而電流合成矢量與電機(jī)內(nèi)部合成磁場近似線性相關(guān),因此,只要控制Im恒定、θ角均勻變化,即可實(shí)現(xiàn)恒力矩、等步距角的電流矢量驅(qū)動(dòng)控制。
對(duì)于兩相步進(jìn)電動(dòng)機(jī),當(dāng)采用兩相四拍工作方式時(shí),只有 A+B+、A-B+、A-B-、A+B-四步,p=50時(shí),整步步距角:
以1.8°機(jī)械角度為步距角運(yùn)行時(shí),步進(jìn)電動(dòng)機(jī)振蕩、噪聲和轉(zhuǎn)矩波動(dòng)現(xiàn)象較嚴(yán)重,因此需要采用細(xì)分驅(qū)動(dòng)技術(shù)。其基本思想是控制每相繞組電流的波形,使其階梯上升或下降,定子磁場的旋轉(zhuǎn)過程中也就有了多個(gè)穩(wěn)定的中間狀態(tài),對(duì)應(yīng)于電動(dòng)機(jī)轉(zhuǎn)子旋轉(zhuǎn)的步數(shù)增多、步距角減?。?]。
對(duì)于兩相永磁式步進(jìn)電動(dòng)機(jī),設(shè)細(xì)分?jǐn)?shù)為n,極對(duì)數(shù)為p,則細(xì)分步距角:
本文采用電流矢量恒幅均勻旋轉(zhuǎn)法,即控制每相電流按正弦規(guī)律階梯變化,使得電流合成矢量在空間做恒幅、等距旋轉(zhuǎn)運(yùn)動(dòng)[3]。圖 4 為細(xì)分?jǐn)?shù)n=4時(shí)的兩相電流正弦式階梯波形,而p=50,此時(shí):
圖4 二相步進(jìn)電動(dòng)機(jī)兩相四拍四細(xì)分電流波形
增加細(xì)分?jǐn)?shù)可減小細(xì)分步距角,但細(xì)分?jǐn)?shù)也不可能無限增加,要考慮到微處理器的處理能力、步進(jìn)電動(dòng)機(jī)參數(shù)和負(fù)載轉(zhuǎn)矩。本文設(shè)計(jì)的系統(tǒng)最高細(xì)分?jǐn)?shù)可達(dá)256,即最小細(xì)分步距角:
為了簡化程序、減少計(jì)算量,一般細(xì)分控制系統(tǒng)采取預(yù)制多個(gè)細(xì)分?jǐn)?shù)的電流值設(shè)定表,在系統(tǒng)運(yùn)行時(shí)查表處理[4]。但是受存儲(chǔ)空間的限制,不可能存儲(chǔ)太多的細(xì)分?jǐn)?shù)電流值設(shè)定表,而且要實(shí)現(xiàn)不同細(xì)分?jǐn)?shù)控制間的無縫切換存在很大困難,無法滿足調(diào)速性能要求較高的系統(tǒng)。
本系統(tǒng)通過實(shí)時(shí)計(jì)算步進(jìn)電動(dòng)機(jī)下一步所需電流值,并且儲(chǔ)存一個(gè)周期計(jì)算結(jié)果至E2PROM,那么后續(xù)周期系統(tǒng)就可以做查表處理了,直至細(xì)分?jǐn)?shù)的改變,進(jìn)入新細(xì)分?jǐn)?shù)下的計(jì)算、儲(chǔ)存、查表。這樣,細(xì)分?jǐn)?shù)可以任意改變,存儲(chǔ)空間占用很少,不同細(xì)分驅(qū)動(dòng)之間的切換速度快,增加的計(jì)算量也是芯片力所能及的,整個(gè)細(xì)分驅(qū)動(dòng)性能就大大提高了。
本文控制兩相電流的方式是STM32F103芯片實(shí)時(shí)調(diào)整輸出到驅(qū)動(dòng)電路的PWM波占空比,即先根據(jù)給定信息與閉環(huán)反饋信息等計(jì)算或查表得到兩相電流值Ia、Ib,然后輸出對(duì)應(yīng)占空比的PWM波,使兩相電流按圖4的正弦規(guī)律變化。圖5為電流矢量控制程序流程圖,中斷入口為步進(jìn)動(dòng)作或細(xì)分?jǐn)?shù)改變。計(jì)算結(jié)果主要包括需給定的兩相電流值、電流值對(duì)應(yīng)的PWM波占空比。這種將計(jì)算、存儲(chǔ)、查表結(jié)合為一體的方法,使細(xì)分?jǐn)?shù)可以任意取(在微處理器能力范圍內(nèi)),從而使電流曲線更加平滑,電機(jī)性能大大提高。
圖5 電流矢量控制程序流程圖
為保證電流矢量控制的精度,系統(tǒng)采用電流閉環(huán)控制。傳統(tǒng)的電流閉環(huán)電路是主要通過硬件斬波電路實(shí)現(xiàn)的,本文將電流閉環(huán)也數(shù)字化,在各相H橋接地端串接一個(gè)0.1 Ω的采樣電阻,如圖6所示,采樣信號(hào)經(jīng)過濾波、放大后輸入到STM32103芯片的ADC口,通過STM32F103芯片來實(shí)現(xiàn)電流閉環(huán)控制,并設(shè)計(jì)電流PI調(diào)節(jié)環(huán)節(jié),使電流控制更精確。
圖6 A相H橋和電流采樣電路
步進(jìn)電動(dòng)機(jī)驅(qū)動(dòng)執(zhí)行機(jī)構(gòu)從A點(diǎn)移動(dòng)到B點(diǎn)的過程中,要經(jīng)歷加速、恒速、減速過程。沒有加減速過程容易出現(xiàn)失步和過沖現(xiàn)象,而不合理的加減速控制同樣會(huì)影響步進(jìn)電動(dòng)機(jī)的工作效率[5]。
加減速控制曲線主要有直線型、S型、指數(shù)型。直線型因受極限頻率限制,斜率不能很大,故加速時(shí)間較長;S型加減速性能較好,編程較直線型復(fù)雜;指數(shù)型編程很復(fù)雜,占用機(jī)時(shí)長[6]。綜合考慮,本文設(shè)計(jì)的系統(tǒng)采用S型加減速,如圖7所示。
以圖7曲線為加減速控制策略,根據(jù)運(yùn)動(dòng)信息,可以分析出加速、恒速、減速的步數(shù)及具體的加減速控制處理方法[7],加減速控制子程序流程圖如圖8所示。
圖7 S型加減速曲線
圖8 加減速子程序流程圖
一般步進(jìn)電動(dòng)機(jī)控制系統(tǒng)充分利用其開環(huán)精度較高而沒有配置位置傳感器。但是隨著科技的發(fā)展,很多設(shè)備、儀器的精度要求越來越高,除了改進(jìn)開環(huán)控制,位置閉環(huán)也早已投入實(shí)際應(yīng)用,而且將是趨勢(shì)所在。本文采用編碼器作為位置傳感器,反饋信號(hào)直接輸入到STM32F163芯片作位置閉環(huán)控制處理,實(shí)現(xiàn)了電流、位置雙閉環(huán)控制。
圖9 實(shí)驗(yàn)波形圖
實(shí)驗(yàn)中,為體現(xiàn)加減速控制性能,正轉(zhuǎn)半圈(66 ms)、停 10 ms、反轉(zhuǎn)半圈(66 ms)、停 10 ms,周期循環(huán)動(dòng)作。圖9為實(shí)驗(yàn)中 Dir、Pulse、Ia的波形,下圖為上圖的一小段時(shí)間的放大效果。由圖9可直觀地看到步進(jìn)電動(dòng)機(jī)的加減速控制過程,加速、減速過程時(shí)間分別為20 ms,旋轉(zhuǎn)半圈耗時(shí) 64 ms,共 25個(gè)電流周期。恒速旋轉(zhuǎn)時(shí),一個(gè)電流周期(4 整步)為1.72 ms,則轉(zhuǎn)速:
實(shí)驗(yàn)時(shí)在轉(zhuǎn)軸上做定位標(biāo)記,每轉(zhuǎn)一段時(shí)間讓電機(jī)停止,觀察電機(jī)位置以判斷電機(jī)是否出現(xiàn)失步現(xiàn)象。經(jīng)多次實(shí)驗(yàn),本細(xì)分驅(qū)動(dòng)系統(tǒng)能控制步進(jìn)電動(dòng)機(jī)平穩(wěn)加速起動(dòng)、高速運(yùn)行、減速停止,且保證電機(jī)不失步。
本文設(shè)計(jì)的步進(jìn)電動(dòng)機(jī)驅(qū)動(dòng)器充分利用STM32F103芯片的資源,通過對(duì)電流的矢量控制,實(shí)現(xiàn)了恒幅、均步的任意細(xì)分驅(qū)動(dòng),并將加減速控制亦集于驅(qū)動(dòng)系統(tǒng),使上位機(jī)控制不用考慮加減速,控制更加方便、簡單。增加了位置閉環(huán)控制、通訊接口,使系統(tǒng)能夠適用于高要求的場合。整個(gè)系統(tǒng)以STM32F103芯片為核心,實(shí)現(xiàn)了全數(shù)字化處理,簡化了電路,使系統(tǒng)性能優(yōu)化,降低了故障率和成本,具有很大的應(yīng)用價(jià)值。
[1] 蔣慶斌,張建生.用89C52單片機(jī)實(shí)現(xiàn)反應(yīng)式步進(jìn)電機(jī)變細(xì)分驅(qū)動(dòng)[J].現(xiàn)代驅(qū)動(dòng)與控制,2006(3):21-22.
[2] 史敬灼.步進(jìn)電動(dòng)機(jī)伺服控制技術(shù)[M].北京:科學(xué)出版社,2006:38.
[3] 黃勇,彭強(qiáng).高穩(wěn)定性步進(jìn)電機(jī)細(xì)分驅(qū)動(dòng)控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].微特電機(jī),2008,36(10):34-36.
[4] 惠晶,肖榮.一種實(shí)用的步進(jìn)電機(jī)細(xì)分驅(qū)動(dòng)控制系統(tǒng)[J].微電機(jī),2009,2(10):87-89.
[5] 王曉明.電動(dòng)機(jī)的DSP控制-TI公司DSP應(yīng)用[M].第2版.北京:北京航空航天大學(xué)出版社,2009:312.
[6] 黃法恒,劉利.基于單片機(jī)的步進(jìn)電機(jī)升降速及精度控制研究[J].微電機(jī),2010,43(3):95-97.
[7] 張海英,胡金高.步進(jìn)電機(jī)運(yùn)行曲線的優(yōu)化算法與仿真[J].微特電機(jī),2010,38(11):16-19.