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