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