1引言
步進(jìn)電機(jī)是一種將電脈沖信號(hào)變換成相應(yīng)的角位移或直線位移的機(jī)電執(zhí)行元件。控制步進(jìn)電機(jī)的輸入脈沖數(shù)量、頻率及電機(jī)各項(xiàng)繞組的接通順序,可以得到各種需要的運(yùn)行特性。尤其與數(shù)字設(shè)備配套時(shí),體現(xiàn)了更大的優(yōu)越性,因此廣泛應(yīng)用于數(shù)字控制系統(tǒng)中。本文就是實(shí)現(xiàn)的單片機(jī)對(duì)步進(jìn)電機(jī)的數(shù)字控制系統(tǒng)。在這個(gè)控制系統(tǒng)中,控制器是它的核心,因?yàn)樗鼡?dān)負(fù)著產(chǎn)生脈沖,發(fā)送、接受控制命令的任務(wù)。本文對(duì)控制器的設(shè)計(jì),尤其是脈沖產(chǎn)生電路的設(shè)計(jì)作了詳細(xì)的介紹。
2總體方案設(shè)計(jì)(系統(tǒng)框圖)
系統(tǒng)框圖如圖1所示。通過(guò)上面的系統(tǒng)框圖,我們可以看到本系統(tǒng)主要由四部分組成,即步進(jìn)電機(jī)控制器,步進(jìn)電機(jī)驅(qū)動(dòng)電源,步進(jìn)電機(jī)和LED狀態(tài)顯示,本文著重介紹步進(jìn)電機(jī)控制器,步進(jìn)電機(jī)驅(qū)動(dòng)電源,LED顯示狀態(tài)三部分。
圖1 系統(tǒng)框圖
Fig1 system diagram
2 系統(tǒng)設(shè)計(jì)
2.1步進(jìn)電機(jī)控制器
步進(jìn)電機(jī)控制器主要由單片機(jī)、晶振電路、8K RAM 存儲(chǔ)模塊、光電隔離等電路組成,如圖2所示。
1)晶振電路
單片機(jī)的時(shí)鐘信號(hào)通常用兩種電路形式得到:內(nèi)部振蕩方式和外部振蕩方式。在引腳XTAL1和XTAL2外接晶體振蕩器(簡(jiǎn)稱晶振)或陶瓷諧振器,就構(gòu)成了內(nèi)部振蕩方式。由于單片機(jī)內(nèi)部有一個(gè)高增益反相放大器,當(dāng)外接晶振后,就構(gòu)成了自激振蕩器并產(chǎn)生振蕩時(shí)鐘脈沖。內(nèi)部振蕩方式的外部電路如圖3所示。本系統(tǒng)選C1和C2值為30pF.
Fig2 compose of step-motor controll
圖3 內(nèi)部振蕩電路
Fig3 oscillating circuit inside
2)光電隔離電路
利用光隔離器組成的光電隔離電路將控制器與外部的驅(qū)動(dòng)電路隔離開來(lái),使得外部電路的變化不至于影響或者損壞控制系統(tǒng),從而提高系統(tǒng)的可靠性,增強(qiáng)抗千擾能力。光隔離器最重要的參數(shù)是電流傳輸比CTR,應(yīng)注意通常其值為0.2^0.9.輸入數(shù)字信號(hào)提供一定的電流(5-10mA)時(shí),光隔離器才會(huì)把放大的數(shù)字電平輸出。
光隔離器聯(lián)結(jié)時(shí)注意信號(hào)正負(fù)邏輯。光隔離器的輸入、輸出端地線必須互相隔開,并且輸入、輸出端兩個(gè)電源必須單獨(dú)供電,否則,如果使用同一電源外部干擾信號(hào)可能通過(guò)電源串到系統(tǒng)中來(lái)。
3)存儲(chǔ)模塊
由于
4)步進(jìn)脈沖產(chǎn)生電路
在采用單片機(jī)的步進(jìn)電機(jī)開環(huán)系統(tǒng)中,控制系統(tǒng)的CP脈沖的頻率或者換向周期實(shí)際上就是控制步進(jìn)電機(jī)的運(yùn)行速度。系統(tǒng)可用兩種辦法實(shí)現(xiàn)步進(jìn)電機(jī)的速度控制。一種是延時(shí),一種是定時(shí)。
延時(shí)方法是在每次換向之后調(diào)用一個(gè)延時(shí)子程序,待延時(shí)結(jié)束后再次執(zhí)行換向,這樣周而復(fù)始就可發(fā)出一定頻率的CP脈沖或換向周期。延時(shí)子程序的延時(shí)時(shí)間與換向程序所用的時(shí)間和,就是CP脈沖的周期。該方法簡(jiǎn)單,占用資源少,全部由軟件實(shí)現(xiàn),調(diào)用不同的子程序可以實(shí)現(xiàn)不同速度的運(yùn)行。但占用CPU時(shí)間長(zhǎng),不能在運(yùn)行時(shí)處理其他工作。因此只適合較簡(jiǎn)單的控制過(guò)程。
定時(shí)方法是利用單片機(jī)系統(tǒng)中的定時(shí)器定時(shí)功能產(chǎn)生任意周期的定時(shí)信號(hào),從而可方便的控制系統(tǒng)輸出CP脈沖的周期。當(dāng)定時(shí)器啟動(dòng)后,定時(shí)器從裝載的初值開始對(duì)系統(tǒng)及其周期進(jìn)行加計(jì)數(shù),當(dāng)定時(shí)器溢出時(shí),定時(shí)器產(chǎn)生中斷,系統(tǒng)轉(zhuǎn)去執(zhí)行定時(shí)中斷子程序。將電機(jī)換向子程序放在定時(shí)中斷服務(wù)程序中,定時(shí)中斷一次,電機(jī)換向一次,從而實(shí)現(xiàn)電機(jī)的速度控制。由于從定時(shí)器裝載完重新啟動(dòng)開始至定時(shí)器申請(qǐng)中斷止,有一定的時(shí)間間隔,造成定時(shí)時(shí)間增加,為了減少這種定時(shí)誤差,實(shí)現(xiàn)精確定時(shí),要對(duì)重裝的計(jì)數(shù)初值作適當(dāng)?shù)恼{(diào)整。調(diào)整的重裝初值主要考慮兩個(gè)因素一是中斷響應(yīng)所需的時(shí)間。二是重裝初值指令所占用的時(shí)間,包括在重裝初值前中斷服務(wù)程序重的其他指令因。綜合這兩個(gè)因素后,重裝計(jì)數(shù)初值的修正量取8個(gè)機(jī)器周期,即要使定時(shí)時(shí)間縮短8個(gè)機(jī)器周期。
用定時(shí)中斷方式來(lái)控制電動(dòng)機(jī)變速時(shí),實(shí)際上是不斷改變定時(shí)器裝載值的大小。在控制過(guò)程中,采用離散辦法來(lái)逼近理想的升降速曲線。為了減少每步計(jì)算裝載值的時(shí)間,系統(tǒng)設(shè)計(jì)時(shí)就把各離散點(diǎn)的速度所需的裝載值固化在系統(tǒng)的ROM中,系統(tǒng)在運(yùn)行中用查表法查出所需的裝載值,這樣可大幅度減少占用CPU的時(shí)間,提高系統(tǒng)的響應(yīng)速度。流程圖如圖4所示:
Fig4 Acceleration and deceleration control flow chart
2.2 步進(jìn)電機(jī)驅(qū)動(dòng)電路
步進(jìn)電機(jī)驅(qū)動(dòng)電路是應(yīng)用的專用芯片L297、L298組合而成。L297單片步進(jìn)電機(jī)控制集成電路適用于雙極性兩相步進(jìn)電機(jī)或四相單極性步進(jìn)電機(jī)的控制,與H橋式驅(qū)動(dòng)芯片L298組合,組成完整的步進(jìn)電機(jī)固定斬波頻率的PWM恒流斬波驅(qū)動(dòng)器。
L297步進(jìn)電機(jī)控制集成電路產(chǎn)生四相驅(qū)動(dòng)信號(hào),用以控制雙極性兩相步進(jìn)電機(jī)或四相單極性步進(jìn)電機(jī),可以采用半步、兩相勵(lì)磁和單相勵(lì)磁三種方式的切換。使用L297的突出的特點(diǎn)是外部只需時(shí)鐘、方向和工作方式三個(gè)輸入信號(hào),同時(shí)L297自動(dòng)產(chǎn)生電機(jī)勵(lì)磁相序減輕了微處理器控制和編程負(fù)擔(dān)。L297具有DIP20和SO20兩種封裝形式,可用來(lái)控制集成橋式驅(qū)動(dòng)電路或分立元件組成的驅(qū)動(dòng)電路。
L297主要由譯碼器、兩個(gè)固定斬波頻率的PWM恒流斬波器以及輸出邏輯控制組成。
L298芯片是一種高電壓、大電流雙H橋功率集成電路,可用來(lái)驅(qū)動(dòng)繼電器線圈、直流電機(jī)和步進(jìn)電機(jī)等感性負(fù)載。每個(gè)H橋的下側(cè)橋臂晶體管的發(fā)射極連接在一起,相應(yīng)的外接線端可用來(lái)連接電流檢測(cè)電阻。
由L297、L298組成的步進(jìn)電機(jī)驅(qū)動(dòng)應(yīng)用電路如下圖。該電路微固定斬波頻率恒流斬波驅(qū)動(dòng)方式,適用于兩相雙極性步進(jìn)電機(jī)或四相單極性步進(jìn)電機(jī),最高電壓46V,每相電流可達(dá)
圖5 步進(jìn)電機(jī)驅(qū)動(dòng)器組成
Fig5 the compose of step-motor`s driver
L297有三種工作方式:半步工作方式、雙向勵(lì)磁工作方式和單項(xiàng)勵(lì)磁工作方式。下面給出了雙向勵(lì)磁工作方式下的相序波形。
當(dāng)L297的為低電平,如譯碼器工作在奇數(shù)狀態(tài)(1、3、5、7)時(shí),為雙向勵(lì)磁工作方式,該模式下,禁止信號(hào)
和
輸出保持高電平;如譯碼器工作在偶數(shù)狀態(tài)下(2、4、6、8)為單相勵(lì)磁方式;當(dāng)
為高電平時(shí),譯碼器產(chǎn)生半步工作方式相序,也就是8步格雷碼時(shí)序。下面給出雙相勵(lì)磁工作方式下的相序波形和格雷碼。
圖6 雙向勵(lì)磁時(shí)相序波形
Fig 6 waveform of two-phase excitation
2.3、LED運(yùn)行狀態(tài)顯示
在本系統(tǒng)中,用74LS164作為顯示驅(qū)動(dòng),帶鎖存,采用串行接法,這樣可以節(jié)約I/0口資源,但要使用SIO,發(fā)送數(shù)據(jù)時(shí)容易控制。
圖7 LED串行接法
Fig7 LED serial connection
3總結(jié)
步進(jìn)電機(jī)開環(huán)控制系統(tǒng)具有成本低、簡(jiǎn)單、控制方便等優(yōu)點(diǎn)。在此方案中,負(fù)載位置對(duì)控制電路無(wú)反饋。因此步進(jìn)電機(jī)必須正確響應(yīng)每次勵(lì)磁變化。如果勵(lì)磁頻率選擇不當(dāng),電機(jī)不能夠到新的要求位置,那么實(shí)際的負(fù)載位置相對(duì)于控制器所期待位置便會(huì)出現(xiàn)永久性誤差,也就是“失步”和“過(guò)沖”現(xiàn)象。我們可以采用位置反饋或位置反饋確定與轉(zhuǎn)子位置相適應(yīng)得正確相位轉(zhuǎn)換,可以大大改善步進(jìn)電機(jī)的性能,這樣就可以獲得更加精確的位置控制和高的多、平穩(wěn)的多的速度了。
參考文獻(xiàn):
1] 徐益民. 步進(jìn)電機(jī)的單片機(jī)控制系統(tǒng)的設(shè)計(jì). 黑龍江科技學(xué)院. 2005.
2] 廖高華. 高性能步進(jìn)電機(jī)控制系統(tǒng)的研制. 西安科技大學(xué). 2004.
3] 王福瑞,等. 單片機(jī)微機(jī)測(cè)控系統(tǒng)設(shè)計(jì)大全[M]. 北京:北京航空航天大學(xué)出版社,1998.
4] 陳維山,趙杰. 機(jī)電系統(tǒng)計(jì)算機(jī)控制[M]. 哈爾濱:哈爾濱工業(yè)大學(xué)出版社,1999.