凌 廣,唐林杰
(佛山科學(xué)技術(shù)學(xué)院機(jī)電工程與自動化學(xué)院,廣東佛山 528000)
步進(jìn)電機(jī)控制器是集電機(jī)控制、驅(qū)動一體的模塊化控制器,在工業(yè)現(xiàn)場的設(shè)備控制中,步進(jìn)電機(jī)控制器因為具有可靠性高、穩(wěn)定性好、模塊化組裝、維護(hù)方便等優(yōu)點(diǎn)[1],在工業(yè)生產(chǎn)設(shè)備中廣泛應(yīng)用于動力執(zhí)行單元。控制系統(tǒng)對于外部環(huán)境變化的實時響應(yīng)是影響工業(yè)生產(chǎn)中的重要因素,工業(yè)生產(chǎn)環(huán)境復(fù)雜多變,要求控制系統(tǒng)能夠?qū)崟r采集現(xiàn)場數(shù)據(jù),并對所采集的數(shù)據(jù)及時進(jìn)行處理與動作。在這一背景下,步進(jìn)電機(jī)作為工業(yè)控制中的動力輸出單元,需要滿足當(dāng)下復(fù)雜多變的工業(yè)現(xiàn)場中對于負(fù)載變化實時響應(yīng)的需求[2]。屈盼讓等[3]針對步進(jìn)電機(jī)控制器硬件電路維護(hù)升級困難的問題,設(shè)計了通過FPGA將目標(biāo)碼固化至控制器內(nèi)的FLASH中實現(xiàn)在線升級的步進(jìn)電機(jī)控制器以滿足不同的工況需求。王昊天等[4]為解決多軸步進(jìn)電機(jī)控制器中發(fā)送多路脈沖造成的脈沖不準(zhǔn)確問題,設(shè)計了插補(bǔ)算法使從軸跟隨主軸的方法實現(xiàn)多路脈沖發(fā)送。許高齊等[5]為解決步進(jìn)電機(jī)輸出轉(zhuǎn)矩慣性偏大引起的電機(jī)振蕩問題,在電流環(huán)處采用模糊PID控制以獲得正弦階梯波。呂寅新等[6]通過滑膜變結(jié)構(gòu)控制步進(jìn)電機(jī),針對兩相步進(jìn)電機(jī)設(shè)計了多扇區(qū)SPWM分配方式,最終系統(tǒng)效果較于工業(yè)上使用的細(xì)分控制方式相比具有抗擾強(qiáng)、轉(zhuǎn)矩波動小的優(yōu)點(diǎn)。但此類步進(jìn)電機(jī)控制器多采用查表法生成相應(yīng)的脈寬信號,系統(tǒng)實時響應(yīng)效較低。
本文結(jié)合非對稱規(guī)則采樣——正弦脈沖寬度調(diào)制(Sinusoidal Pulse Width Modulation,SPWM)技術(shù),在嵌入式平臺上實現(xiàn)能夠?qū)崟r根據(jù)電機(jī)負(fù)載變化對驅(qū)動信號脈寬進(jìn)行調(diào)節(jié)的恒力矩步進(jìn)電機(jī)控制器,提高工業(yè)生產(chǎn)設(shè)備控制的穩(wěn)定性。
本文所設(shè)計的步進(jìn)電機(jī)控制器系統(tǒng)構(gòu)成主要由主控芯片STM32F407VGT6、光耦隔離電路、驅(qū)動電路、檢流電路、CAN通信電路和穩(wěn)壓電源構(gòu)成。圖1所示為閉環(huán)步進(jìn)電機(jī)控制器系統(tǒng)結(jié)構(gòu)。步進(jìn)電機(jī)控制器采用CAN總線通信,可滿足在工業(yè)現(xiàn)場中多主控制的需求。控制器通過CAN總線接收來自上位機(jī)的控制信號,主控芯片STM32F407VGT6通過解析控制信號確定步進(jìn)電機(jī)的轉(zhuǎn)速和細(xì)分?jǐn)?shù),經(jīng)由光耦隔離電路輸出兩路SPWM至驅(qū)動電路中,驅(qū)動電路產(chǎn)生兩路相位相差90°的正弦電壓來驅(qū)動兩相四線步進(jìn)電機(jī)旋轉(zhuǎn)。同時步進(jìn)電機(jī)相電流檢測電路通過串聯(lián)在步進(jìn)電機(jī)定子繞組上的檢流電阻采樣得到該定子繞組上的相電壓并反饋至主控芯片,形成電流閉環(huán)控制。
圖1 閉環(huán)步進(jìn)電機(jī)控制器系統(tǒng)結(jié)構(gòu)Fig.1 Closed-loop stepper motor con troller systemstructure
CAN通信是一種半雙工通信協(xié)議,可實現(xiàn)總線上所有掛載單元的多主控制,其具有兩根信號線CAN_H與CAN_L,收發(fā)器通過兩根信號線的電位差來判斷總線電平的高低[7]。通信電路采用了第三代高速CAN總線收發(fā)器TJA1042,該收發(fā)器提供差分發(fā)送和接受的功能以滿足不同的總線電平標(biāo)準(zhǔn),最高傳輸速率可達(dá)5 Mbit/s,具有總線喚醒的極低電流待機(jī)模式。STB為待機(jī)模式控制,TXD和RXD分別為傳輸數(shù)據(jù)輸入與總線數(shù)據(jù)讀取。圖2所示為CAN通信電路。
圖2 CAN通信電路Fig.2 CANcommunication circuit
光耦隔離電路采用了雙通道高速光耦,最高傳輸速率可達(dá)10 Mbit/s。通過光耦隔離電路可以避免步進(jìn)電機(jī)在工作時產(chǎn)生的感應(yīng)電壓將主控芯片擊穿損毀,具有較強(qiáng)的抗干擾能力。VO1A、VO2A和VO1B、VO2B分別為步進(jìn)電機(jī)A、B相所連接的H橋電路驅(qū)動信號。圖3所示為光耦隔離電路。
圖3 光耦隔離電路Fig.3 Optocoupler isolation circuit
步進(jìn)電機(jī)驅(qū)動電路采用了高電壓、大電流的全橋驅(qū)動器L298N,最高工作電壓可達(dá)46 V,瞬間峰值電流可達(dá)3 A,內(nèi)部邏輯電路工作在低電壓狀態(tài)下,提供兩相的檢測電阻接口。在驅(qū)動電路的4個輸出端上并聯(lián)了8個快速導(dǎo)通二極管,以形成感生反電動勢泄放回路保護(hù)內(nèi)部三極管。圖4所示為步進(jìn)電機(jī)驅(qū)動電路。
圖4 步進(jìn)電機(jī)驅(qū)動電路Fig.4 Stepper motor drivecircuit
相電流檢測電路并聯(lián)在驅(qū)動器的SenseA和SenseB引腳處的檢流電阻上,步進(jìn)電機(jī)內(nèi)部繞組電阻一般較小,為不對步進(jìn)電機(jī)的正常運(yùn)行造成影響,檢流電阻的阻值只有5 mΩ[8]。因此需要通過集成運(yùn)放芯片MAX44284內(nèi)部的電容耦合儀表放大器將步進(jìn)電機(jī)定子繞組上的檢流電阻兩端的電壓放大,并將該電壓反饋至主控芯片中的ADC形成電流閉環(huán)回路。圖5所示為相電流檢測電路。
圖5 相電流檢測電路Fig.5 Phase current detection circuit
兩相四線混合式步進(jìn)電機(jī)內(nèi)部分為定子和轉(zhuǎn)子兩部分,其中轉(zhuǎn)子為永磁體,定子為線圈,步進(jìn)電機(jī)的A、B相繞組圍繞轉(zhuǎn)子徑向交錯分相。步進(jìn)電機(jī)驅(qū)動細(xì)分的實現(xiàn)是通過有序控制電機(jī)勵磁繞組中的電流大小,在每次輸入脈沖切換時,使得步進(jìn)電機(jī)的合成磁勢只能旋轉(zhuǎn)步距角的一部分,從而實現(xiàn)步距角的細(xì)分,使步進(jìn)電機(jī)具有更高的分辨率,同時可以改善步進(jìn)電機(jī)在低速狀態(tài)下的振動、噪聲等問題。
由于兩相四線步進(jìn)電機(jī)中的A相和B相呈90°相交,故以轉(zhuǎn)子徑向為橫截面時可見在轉(zhuǎn)子旋轉(zhuǎn)過程中,會與來自定子上A、B繞組產(chǎn)生的脈沖電磁場相互作用產(chǎn)生一個大小和角速度不變的矢量磁場V[9]。矢量磁場如圖6所示。
圖6 矢量磁場Fig.6 Vector magnetic field
根據(jù)磁場與電流的線性關(guān)系,步進(jìn)電機(jī)A、B相繞組電流與額定電流I的關(guān)系如下:
在驅(qū)動細(xì)分狀態(tài)下步進(jìn)電機(jī)的A、B相繞組電流呈現(xiàn)為兩個相位差為90°的正弦波,而實際中驅(qū)動電路很難生成理想的正弦波形電流,故需要通過SPWM控制驅(qū)動電路中功率管的通斷來產(chǎn)生多級細(xì)分的階梯波以代替正弦波。
SPWM廣泛應(yīng)用于功率逆變器和電機(jī)控制中,其生成的方式一般有自然采樣法、對稱規(guī)則采樣法和非對稱規(guī)則采樣法。其中自然采樣法通過在正弦波和三角波的交點(diǎn)時刻控制功率開關(guān)器件的通斷,該種方法產(chǎn)生的波形最接近正弦波,但由于該方法的求解是一個超越方程,需要經(jīng)過多次的迭代計算,在微機(jī)控制中占用大量資源難以實現(xiàn)實時控制[10]。對稱規(guī)則采樣法通過在三角波的頂點(diǎn)或底點(diǎn)處對正弦波進(jìn)行采樣,由于其采樣所得脈寬在一個周期內(nèi)是對稱的而被稱為對稱采樣,對稱采樣具有計算簡單、數(shù)據(jù)量小的優(yōu)點(diǎn),但產(chǎn)生的波形與正弦波有一定偏差且高次諧波含量高[11]。非對稱采樣法通過在三角波的頂點(diǎn)和底點(diǎn)處對正弦波進(jìn)行采樣,其在一個脈沖周期內(nèi)采樣兩次,相對于對稱采樣法所得的波形會更接近正弦波且高次諧波含量低。圖7所示為非對稱規(guī)則采樣SPWM原理。
圖7 非對稱規(guī)則采樣SPWMFig.7 Asymmetric regular sampling SPWM
在正弦調(diào)制波的一個周期內(nèi)有任意數(shù)量的三角載波,三角載波的頂點(diǎn)和底點(diǎn)作為階梯波的變換時刻,其與三角載波的交點(diǎn)時刻即為功率管的通斷時刻。對于任意正弦調(diào)制波,其表達(dá)式為:
式中:a為正弦調(diào)制波的幅值;ω為正弦調(diào)制波的角頻率。
階梯波與三角載波及三角載波的中軸線相交處,根據(jù)相似三角形原理,存在如下關(guān)系式:
三角載波的周期為Tc,對于任意的功率管通斷時刻,則有:
對于正弦調(diào)制波與三角載波,可分別設(shè)其調(diào)制頻率為fs和載波頻率ft,故存在如下表達(dá)式:
式中:N為載波比。
將式(6)和式(7)代入式(5)中可以得出在任意功率管的通斷時刻,其表達(dá)式為:
主控芯片STM32F407采用輸出比較模式產(chǎn)生SPWM,通過計數(shù)器與比較寄存器中的數(shù)值比較,當(dāng)計數(shù)器中數(shù)值與比較寄存器中數(shù)值相等時翻轉(zhuǎn)電平。每次電平翻轉(zhuǎn)后計數(shù)器將繼續(xù)計數(shù)至最大值后清零并重新計數(shù),比較寄存器通過中斷進(jìn)入SPWM脈寬解析函數(shù)獲取新的裝載值。SPWM脈寬解析部分函數(shù)如下:
對步進(jìn)電機(jī)繞組電流采用閉環(huán)控制,可以有效降低步進(jìn)電機(jī)的發(fā)熱和振動情況,反饋當(dāng)前步進(jìn)電機(jī)運(yùn)行的狀態(tài)。通過對檢流電阻兩端的電壓進(jìn)行放大后反饋至主控芯片的模數(shù)轉(zhuǎn)換器中,對電壓信號進(jìn)行過采樣和平均濾波,得到當(dāng)前的電壓值。由于步進(jìn)電機(jī)在電路中表現(xiàn)為感性元件,故電流與電壓的關(guān)系是非線性的,根據(jù)電磁感應(yīng)定律與楞次定律得到電壓與電流的關(guān)系。最后,通過將檢測換算后得到的電流值與預(yù)設(shè)值的差作為閉環(huán)控制器的輸入,得到最終的SPWM脈寬輸出。
步進(jìn)電機(jī)繞組上的感應(yīng)電動勢大小取決于其流過電流的變化率,與電流的大小無關(guān),故檢流電路中繞組電流與理想的電流值總是會存在一定的偏差[12]。為了消除在閉環(huán)控制中出現(xiàn)的積分過量問題,閉環(huán)控制器采用了反饋限幅積分PI控制器。圖8所示為反饋限幅積分PI控制器。
圖8 反饋限幅積分PI控制器Fig.8 Feedback limitingintegral PIcontroller
相比于傳統(tǒng)的限幅積分控制器,反饋限幅積分引入了反饋系數(shù)Kc,使得當(dāng)積分器處于深度飽和區(qū)時能夠盡快退出。因此該積分器需要定義深度飽和區(qū)。當(dāng)積分器處于非深度飽和區(qū)時采用傳統(tǒng)的PI控制器調(diào)節(jié),當(dāng)積分器處于深度飽和區(qū)時引入負(fù)反饋補(bǔ)償Kc,使積分器輸出減小。對于深度飽和區(qū)的定義有:
該控制器的輸出為:
其中:
其中a為定義深度飽和區(qū)。
圖9所示為根據(jù)控制器設(shè)計的電流閉環(huán)控制程序流程。
圖9 電流閉環(huán)控制程序流程Fig.9 Flow chart of current closed-loop control program
為了驗證本文所設(shè)計的步進(jìn)電機(jī)控制器的驅(qū)動細(xì)分效果以及對負(fù)載變化的響應(yīng)能力,通過上位機(jī)設(shè)置步進(jìn)電機(jī)工作在細(xì)分狀態(tài)下,其在穩(wěn)定運(yùn)行狀態(tài)下通過串聯(lián)在繞組上的電阻測量的步進(jìn)電機(jī)相電壓如圖10所示。圖11所示為正弦脈沖寬度變化。圖12所示為步進(jìn)電機(jī)控制器驗證板。圖13為搭建的步進(jìn)電機(jī)測試系統(tǒng)。
圖10 步進(jìn)電機(jī)A相電壓波形Fig.10 Stepping motor phase A voltage waveform
圖11 正弦脈沖寬度變化Fig.11 Sinusoidal pulse width variation
圖12 步進(jìn)電機(jī)控制器驗證板Fig.12 Stepper Motor Controller Verification Board
圖13 步進(jìn)電機(jī)測試系統(tǒng)Fig.13 Stepper motor test system
上位機(jī)通過CAN總線設(shè)置步進(jìn)電機(jī)控制器工作在不同細(xì)分?jǐn)?shù)和不同轉(zhuǎn)速的狀態(tài)下。步進(jìn)電機(jī)的轉(zhuǎn)速通過連接在步進(jìn)電機(jī)后端的光電編碼器獲得。光電編碼器為ABZ三相編碼器,通過倍頻其最高精度可達(dá)4 000脈沖。表1所示為步進(jìn)電機(jī)運(yùn)行測試數(shù)據(jù)。
經(jīng)實驗驗證,本文所設(shè)計的基于非對稱采樣SPWM的閉環(huán)步進(jìn)電機(jī)控制器能夠穩(wěn)定輸出正弦脈沖信號,根據(jù)采樣信號實時調(diào)節(jié)相電流實現(xiàn)步進(jìn)電機(jī)的恒力矩輸出,在高細(xì)分高轉(zhuǎn)速、低細(xì)分低轉(zhuǎn)速、高細(xì)分低轉(zhuǎn)速和低細(xì)分高轉(zhuǎn)速4種工作狀態(tài)下,經(jīng)過長時間運(yùn)行測試,步進(jìn)電機(jī)轉(zhuǎn)速保持平穩(wěn),無失步現(xiàn)象,低頻共振小,能夠滿足復(fù)雜工業(yè)生產(chǎn)現(xiàn)場的需求。
本文設(shè)計的基于STM32F407VGT6芯片構(gòu)建的兩相四線步進(jìn)電機(jī)控制器系統(tǒng)采用非對稱規(guī)則采樣算法實時生成SPWM,采用該設(shè)計方法較于傳統(tǒng)的查表法具有較高的動態(tài)響應(yīng)特性。通過檢流電路實時采樣步進(jìn)電機(jī)繞組電流,通過電流閉環(huán)控制實時調(diào)整脈沖寬度數(shù)據(jù)以實現(xiàn)步進(jìn)電機(jī)的恒力矩輸出;在轉(zhuǎn)矩模式下具有較好的抗干擾能力,電機(jī)運(yùn)行平穩(wěn)且失步現(xiàn)象少,滿足在復(fù)雜的工業(yè)生產(chǎn)現(xiàn)場的使用需求。