鄭曉彬, 符秀輝, 韓 良, 林田卓
(沈陽化工大學(xué) 信息工程學(xué)院, 遼寧 沈陽 110142)
步進(jìn)電機(jī)作為控制執(zhí)行設(shè)備,其實(shí)質(zhì)是將電脈沖信號轉(zhuǎn)變?yōu)榻俏灰苹蚓€位移,是開環(huán)控制元件.給電機(jī)加一個脈沖信號,電機(jī)則轉(zhuǎn)過一個步距角.步進(jìn)電機(jī)的轉(zhuǎn)速正相關(guān)于脈沖的頻率.在非超載的情況下,電機(jī)的停止位置只取決于脈沖信號脈沖數(shù),而不受負(fù)載變化的影響.這一線性關(guān)系的存在加上步進(jìn)電機(jī)只有周期性的誤差而無累積誤差等特點(diǎn),使步進(jìn)電機(jī)廣泛應(yīng)用于各種自動化控制系統(tǒng)和精密儀器等領(lǐng)域.在高精度位置控制系統(tǒng)中,既要求步進(jìn)電機(jī)高速運(yùn)動快捷,又要求低速運(yùn)行平穩(wěn).傳統(tǒng)控制方式存在控制精度低、電流突變導(dǎo)致電機(jī)運(yùn)行不夠平穩(wěn)、噪聲大等缺點(diǎn).通過理論和實(shí)踐證明:步進(jìn)電機(jī)細(xì)分驅(qū)動可提高步距精度,減少振動,改善步進(jìn)電機(jī)的各種性能.本文采用PWM方法實(shí)現(xiàn)步進(jìn)電機(jī)連續(xù)多倍細(xì)分驅(qū)動控制,提高了步進(jìn)電機(jī)的分辨率、矩頻特性和動態(tài)、靜態(tài)輸出轉(zhuǎn)矩.
由電磁場理論可知交變的電場產(chǎn)生交變的磁場,步進(jìn)電機(jī)是電磁場理論的一個典型應(yīng)用實(shí)例.步進(jìn)電機(jī)以對各相繞組交替通電的方式產(chǎn)生交變的電場,交變的電場感應(yīng)出交變的磁場,交變磁場帶動轉(zhuǎn)子做步進(jìn)式旋轉(zhuǎn).由于傳統(tǒng)矩形波電流驅(qū)動方式存在著分辨率不高、噪聲大等缺點(diǎn),由此提出用變化平滑近似正弦波的階梯型電流(如圖1所示)代替矩形波電流,當(dāng)階梯型電流變化時,通電相的電流不會馬上上升到位,斷電相的電流不會馬上下降到位,它所產(chǎn)生的磁場合力(如圖2所示)會使轉(zhuǎn)子有一個新的平衡位置,這個新的平衡位置在步距角范圍內(nèi).這種驅(qū)動方式使電機(jī)運(yùn)行更平穩(wěn),噪聲更小,電機(jī)的各相性能指標(biāo)都得以改善,這就是步進(jìn)電機(jī)細(xì)分驅(qū)動的實(shí)質(zhì).

圖1 電流波形

圖2 旋轉(zhuǎn)磁場矢量
步進(jìn)電機(jī)通過細(xì)分驅(qū)動,其步距角變小了.假如驅(qū)動器工作在N(N為常數(shù))細(xì)分狀態(tài)時,其步距角只為‘電機(jī)固有步距角’的N分之一,即當(dāng)驅(qū)動器工作在不細(xì)分的整步狀態(tài)時,控制系統(tǒng)每發(fā)一個步進(jìn)脈沖,電機(jī)轉(zhuǎn)動1°;而用細(xì)分驅(qū)動器工作在N細(xì)分狀態(tài)時,電機(jī)只轉(zhuǎn)動了N分之一度.細(xì)分功能完全是由驅(qū)動器靠精確控制電機(jī)的相電流所產(chǎn)生,與電機(jī)無關(guān).本研究應(yīng)用高性能的單片機(jī)產(chǎn)生精確的PWM信號,用硬件電路實(shí)現(xiàn)PWM信號到電流信號的精確量化.
脈寬調(diào)制(PWM)是利用處理器的數(shù)字輸出對模擬電路進(jìn)行控制的一種非常有效的技術(shù).步進(jìn)電機(jī)細(xì)分驅(qū)動系統(tǒng)利用STM32F103RBT6[1]作為中央處理器,STM32F103RBT6是一款基于Cortex-M3[2]內(nèi)核的處理器;STM32F103RBT6能產(chǎn)生多達(dá)30路PWM[3]數(shù)字信號,能夠滿足步進(jìn)電機(jī)細(xì)分驅(qū)動[4]系統(tǒng)對PWM信號的需求.該系統(tǒng)框圖如圖3所示,框圖以A相PWM細(xì)分信號驅(qū)動為例對步進(jìn)電機(jī)驅(qū)動系統(tǒng)進(jìn)行分析.光電隔離與整形電路用于對單片機(jī)輸出的所有數(shù)字信號進(jìn)行傳遞和電氣隔離.PWM信號經(jīng)過保護(hù)電路進(jìn)入積分電路,積分電路用于獲取PWM細(xì)分信號的直流分量,此直流分量正相關(guān)于步進(jìn)電機(jī)各相電流大小.積分電路輸出信號和觸發(fā)信號作為檢測及驅(qū)動電路的驅(qū)動信號,檢測及驅(qū)動電路中的高端場效應(yīng)管工作在開關(guān)狀態(tài),場效應(yīng)管[5]的開關(guān)控制著各相驅(qū)動電流大小,通過此框圖可以實(shí)現(xiàn)單片機(jī)輸出的PWM信號和步進(jìn)電機(jī)各相電流的精確量化.

圖3 驅(qū)動系統(tǒng)框圖


圖4 PWM-DC轉(zhuǎn)換電路
STM32F103RBT6是一款基于三級流水線具有極強(qiáng)的中斷響應(yīng)能力和運(yùn)算能力的處理器.通過其獨(dú)特的寄存器管理并以硬件處理各種異常和中斷方式,最大程度地提高了中斷響應(yīng)和中斷切換速度.STM32F103RBT6具有豐富的串口資源,功能相當(dāng)強(qiáng)勁,對無線通信提供了強(qiáng)有力的保障.常用無線通信模塊的頻率和手機(jī)頻率很接近,在應(yīng)用過程中容易受外界環(huán)境的干擾,且功耗高,靈敏度低.無線通訊模塊UTC-1212SE對這種缺點(diǎn)進(jìn)行了改進(jìn).UTC-1212SE模塊是高度集成、超低功耗、半雙工、微功率的無線數(shù)據(jù)傳輸模塊.采用新一代高性能射頻芯片,其采用高效的循環(huán)交織糾檢錯誤碼,使抗干擾和靈敏度都大大提高.總線是兩線式串行總線(inter-integrated circuit),用于連接單片機(jī)和E2PROM.因其控制方式簡單,因此在微電子通信控制領(lǐng)域被廣泛采用.E2PROM是掉電能夠保存數(shù)據(jù)的存儲器件,遵循二線制協(xié)議,由于其具有數(shù)據(jù)掉電不丟失、擦寫壽命長等特點(diǎn),被選用為步進(jìn)電機(jī)位置的數(shù)據(jù)存儲器.
步進(jìn)電機(jī)細(xì)分驅(qū)動系統(tǒng)的硬件結(jié)構(gòu)框圖如圖5所示,圖中光電開關(guān)模塊用于檢測滑塊的復(fù)位信號.24C02用于存儲滑塊位置,單片機(jī)通過兩線式串行總線先讀取后存儲24C02的數(shù)據(jù).無線通信模塊用來接收上位機(jī)發(fā)送來的指令.

圖5 硬件結(jié)構(gòu)框圖
串行通信作為一種靈活、方便、可靠的通信方式,廣泛應(yīng)用于計(jì)算機(jī)與其他設(shè)備之間的通信以及工業(yè)控制系統(tǒng)中,是計(jì)算機(jī)與外部設(shè)備進(jìn)行數(shù)據(jù)通信時經(jīng)常使用的方式之一.現(xiàn)利用MSComm控件實(shí)現(xiàn)上位機(jī)與下位機(jī)串口通信.上位機(jī)界面如圖6所示,將絲杠等分為14份,通過上位機(jī)界面設(shè)置串口并且打開,點(diǎn)擊界面上的相應(yīng)滑塊位置按鈕,串口會發(fā)送相應(yīng)命令,點(diǎn)擊界面按鈕時發(fā)送對話框會顯示相應(yīng)字符,下位機(jī)接收上位機(jī)的命令并且完成相應(yīng)動作.

圖6 上位機(jī)界面
下位機(jī)軟件流程如圖7所示.

圖7 軟件流程
2.2.1 零點(diǎn)標(biāo)定
步進(jìn)電機(jī)帶動滾珠絲杠[7]旋轉(zhuǎn),滾珠絲杠上加入滑塊(見圖8).通過控制步進(jìn)電機(jī)的角位移來實(shí)現(xiàn)滑塊位置的精確控制.由于E2PROM 具有字節(jié)擦除的優(yōu)點(diǎn),單片機(jī)通過 E2PROM實(shí)現(xiàn)數(shù)據(jù)的存儲.在絲杠一端邊緣加入光電接近開關(guān),當(dāng)滑塊運(yùn)動到絲杠邊緣時,光電開關(guān)發(fā)出信號送給單片機(jī),單片機(jī)對信號進(jìn)行處理,通過步進(jìn)電機(jī)驅(qū)動器改變滑塊運(yùn)動方向.單片機(jī)輸出固定個數(shù)脈沖定位滑塊位置,并且將此位置標(biāo)定為零點(diǎn),單片機(jī)把零點(diǎn)保存到外部E2PROM中.這個過程稱為零點(diǎn)標(biāo)定.當(dāng)系統(tǒng)運(yùn)行過程中,由于異常情況引起單片機(jī)復(fù)位時,無論滑塊處于滾珠絲杠的什么位置,滑塊都會向光電開關(guān)方向運(yùn)動,系統(tǒng)會重新進(jìn)行一次零點(diǎn)標(biāo)定,保證了系統(tǒng)可靠性和穩(wěn)定性.

圖8 滾珠絲杠結(jié)構(gòu)示意圖
2.2.2 定位過程
當(dāng)單片機(jī)接收到無線信號時,單片機(jī)先讀出E2PROM中的零點(diǎn),通過運(yùn)動位置與零點(diǎn)比較確定電機(jī)運(yùn)動方向及最后停留的位置.步進(jìn)電機(jī)運(yùn)動完成后把新的停留位置保存到E2PROM中,下次步進(jìn)電機(jī)運(yùn)動時先讀出E2PROM中上次存儲的數(shù)據(jù),通過運(yùn)動停留位置與讀出數(shù)據(jù)比較確定電機(jī)新的運(yùn)動方向和驅(qū)動脈沖數(shù).步進(jìn)電機(jī)運(yùn)動完成后把新的停留位置保存到E2PROM中.當(dāng)再次接收到新的指令時重復(fù)上述過程.用此種方法實(shí)現(xiàn)滑塊定位.流程如圖7所示.
滾珠絲杠的結(jié)構(gòu)示意圖如圖8所示.步進(jìn)電機(jī)轉(zhuǎn)動帶動絲杠轉(zhuǎn)動,絲杠通過滾珠帶動滑塊移動,滑塊的位移量正相關(guān)于步進(jìn)電機(jī)轉(zhuǎn)動角位移.實(shí)驗(yàn)將絲杠的長度14等分,用上位機(jī)界面發(fā)送絲杠的停止位置.通過測量滑塊的實(shí)際位置來驗(yàn)證系統(tǒng)的可靠性和精確性.表1為實(shí)驗(yàn)測量數(shù)據(jù).通過實(shí)驗(yàn)數(shù)據(jù)分析可知該系統(tǒng)能夠?qū)崿F(xiàn)步進(jìn)電機(jī)的精確定位,系統(tǒng)具有很好的穩(wěn)定性.

表1 滑塊位置測量數(shù)據(jù)
通常利用電機(jī)實(shí)現(xiàn)位置控制的系統(tǒng)均為閉環(huán)控制系統(tǒng),系統(tǒng)結(jié)構(gòu)復(fù)雜,硬件成本過高,系統(tǒng)的抗干擾能力差,控制方法過于復(fù)雜.本研究利用步進(jìn)電機(jī)作為位置控制的驅(qū)動電機(jī),由其硬件電路框圖可知步進(jìn)電機(jī)的控制簡單且為開環(huán)控制.利用STM32F103RBT6產(chǎn)生精確的PWM細(xì)分信號,用硬件電路實(shí)現(xiàn)了PWM矩形波信號變化到平滑近似正弦波的階梯型電流信號,達(dá)到了精確細(xì)分控制的要求.通過測量滑塊位置可知細(xì)分技術(shù)提高了步進(jìn)電機(jī)的分辨率,改善了電機(jī)的各相性能指標(biāo).應(yīng)用兩線式串行總線實(shí)現(xiàn)了單片機(jī)和存儲器之間數(shù)據(jù)傳輸,方法簡單,便于控制.串行E2PROM選用24C02,單片機(jī)以先讀取24C02的數(shù)據(jù),處理完數(shù)據(jù)后寫入24C02的方式存儲數(shù)據(jù),較其它存儲數(shù)據(jù)方式有更高的可靠性和穩(wěn)定性.通過實(shí)驗(yàn)數(shù)據(jù)驗(yàn)證了本研究的穩(wěn)定性和可靠性.本研究的開機(jī)初始化方面過于繁瑣,希望讀者再做進(jìn)一步改進(jìn).
參考文獻(xiàn):
[1] 王永虹.STM32系列ARM Cortex-M3微控制器原理與實(shí)踐[M].北京:北京航空航天大學(xué)出版社,2008:47-75.
[2] Joseph Yiu.Cortex-M3權(quán)威指南[M].宋巖,譯.北京:北京航空航天大學(xué)出版社,2009:25-48.
[3] 余永權(quán),李小青.單片機(jī)應(yīng)用系統(tǒng)的功率接口技術(shù)[M].北京:北京航空航天大學(xué)出版社,1992:148-152.
[4] 劉寶廷,程樹康.步進(jìn)電動機(jī)及其驅(qū)動控制系統(tǒng)[M].哈爾濱:哈爾濱工業(yè)大學(xué)出版社,1997:159-167.
[5] 蔣永平,徐杜.一種步進(jìn)電機(jī)全數(shù)字任意細(xì)分及驅(qū)動方法[J].微電機(jī),1999(2):19-22.
[6] 葉樹明,李頂立.PWM細(xì)分恒流步進(jìn)電機(jī)驅(qū)動電路的設(shè)計(jì)[J].機(jī)電工程,2004,21(12):20-23.
[7] 張文超.步進(jìn)電機(jī)PWM恒轉(zhuǎn)矩細(xì)分驅(qū)動技術(shù)研究[J].機(jī)械制造,2003,41(6):33-34.