何 沖 王淑紅 侯勝偉 ?;畚?/p>
(太原理工大學(xué)電氣與動力工程學(xué)院,太原 030024)
作為工業(yè)領(lǐng)域廣泛應(yīng)用的控制電機(jī),步進(jìn)電機(jī)具有出色的開環(huán)性能,易于實現(xiàn)數(shù)字化、智能化控制。步進(jìn)電機(jī)組成的控制系統(tǒng)具有結(jié)構(gòu)簡單、性能穩(wěn)定、造價便宜等特點(diǎn),在工業(yè)控制領(lǐng)域中得到了廣泛的應(yīng)用。單片機(jī)對步進(jìn)電機(jī)的控制成本低、操作靈活,在步進(jìn)電機(jī)的控制中得到了廣泛的應(yīng)用。本文以AT89C52 單片機(jī)作為控制器設(shè)計一種新型的兩相混合式步進(jìn)電機(jī)的控制系統(tǒng)。
控制系統(tǒng)主要由單片機(jī)、鍵盤、顯示、驅(qū)動、PC上位機(jī)等5 個模塊組成,其中PC 上位機(jī)用于編寫及燒錄程序??刂破魍ㄟ^相應(yīng)的ΙO 接口,將控制指令發(fā)送至驅(qū)動電路,可以控制步進(jìn)電機(jī)的運(yùn)行,完成系統(tǒng)的伺服控制??刂葡到y(tǒng)可實現(xiàn)以下功能:①控制步進(jìn)電機(jī)的啟動和停止、運(yùn)行方向、運(yùn)行速度;②顯示步進(jìn)電機(jī)的運(yùn)行狀態(tài)、方向、轉(zhuǎn)速;③通過軟件實現(xiàn)細(xì)分控制。圖1為控制系統(tǒng)總體結(jié)構(gòu)圖。
圖1 控制系統(tǒng)總體結(jié)構(gòu)圖
單片機(jī)模塊主要由AT89C52 單片機(jī)及外圍濾波、電源管理、晶振和復(fù)位電路組成。AT89C52 單片機(jī)具有8KB 內(nèi)存的可編程可擦除只讀存儲器,便于反復(fù)的進(jìn)行程序的編寫。電源管理電路提供的3.5V 和5V 電壓分別給單片機(jī)、晶振、LED 和控制電路供電。12MHz 的晶振給單片機(jī)提供時鐘信號。單片機(jī)的串口用于和PC 上位機(jī)的通信以及燒錄軟件程序。P1 口控制驅(qū)動電路開關(guān)管的通斷。P0 和P2 口控制LCD1602 和LED 組成的顯示模塊。P3 口檢測鍵盤信號及外部中斷信號。
控制系統(tǒng)設(shè)置了5 位獨(dú)立按鍵組成的鍵盤模塊以及由LCD1602 和5 位LED 組成的顯示模塊。通過鍵盤可以對步進(jìn)電機(jī)進(jìn)行正轉(zhuǎn)、反轉(zhuǎn)、加速、減速、停止功能的操作。步進(jìn)電機(jī)運(yùn)行時的狀態(tài)信息可以通過顯示模塊直觀的顯示出來。圖2為鍵盤及顯示模塊硬件原理圖。
圖2 鍵盤及顯示模塊硬件原理圖
鍵盤模塊的特點(diǎn)在于用單片機(jī)的兩個外部中斷來控制步進(jìn)電機(jī)進(jìn)行加、減速,即每引入一次外部中斷,步進(jìn)電機(jī)加/減速一次。正轉(zhuǎn)、反轉(zhuǎn)、停止按鍵分別由單片機(jī)的P3.0、P3.1、P3.4 口引入。加速、減速按鍵分別由單片機(jī)的P3.2 和P3.3 口引入。
LCD1602 的數(shù)據(jù)/命令選擇端、讀寫選擇端、使能信號分別接在單片機(jī)的P2.0、P2.1、P2.2 口上,數(shù)據(jù)口接在單片機(jī)的P0 口上。LCD1602 可以顯示步進(jìn)電機(jī)的5 種運(yùn)行狀態(tài)以及運(yùn)行速度。5 位LED通過74LS138 接在單片機(jī)的P2.3—P2.5 口上,5 位LD 分別用于表示步進(jìn)電機(jī)的正轉(zhuǎn)、反轉(zhuǎn)、加速、減速、停止5 種運(yùn)行狀態(tài)。
控制系統(tǒng)的電機(jī)驅(qū)動模塊采用雙極性驅(qū)動的方式。雙極性驅(qū)動是指步進(jìn)電機(jī)線圈中電流的流動方向不是單向的,即繞組中的電流有時沿某一方向流動,有時沿相反的方向流動。雙極性驅(qū)動電路可以同時驅(qū)動四線式或六線式的兩相混合式步進(jìn)電機(jī)。
控制系統(tǒng)所選用的二相混合式步進(jìn)電機(jī)工作時的額定電壓為12V,繞組的阻值為1.5Ω,額定電流為8A。由于該步進(jìn)電機(jī)工作時的電流較大,因此需要選擇額定電流較大的功率開關(guān)管,否則步進(jìn)電機(jī)工作時較大的工作電流產(chǎn)生的熱效應(yīng)極易燒毀開關(guān)管。功率開關(guān)管BUW49 工作時的額定電壓為80V,額定電流為30A,屬于高電流型功率開關(guān)管,因此完全能夠滿足需要。
根據(jù)步進(jìn)電機(jī)的工作原理,當(dāng)控制電路給驅(qū)動電路發(fā)出相應(yīng)的脈沖信號時,電機(jī)繞組的通電順序為A+B+→A-B+→A-B-→A+B-,其4 個狀態(tài)按順序進(jìn)行循環(huán),電機(jī)則正向轉(zhuǎn)動。若相序變?yōu)锳+B-→A-B-→A-B+→A+B+,電機(jī)則逆向轉(zhuǎn)動。因此,當(dāng)單片機(jī)AT89C52 的引腳P1.0 至P1.7 輸出的脈沖時序依次為10011001→01101001→01100110→ 10010110 時,控制各個開關(guān)管依次導(dǎo)通,產(chǎn)生相應(yīng)的正向通電時序,從而驅(qū)動步進(jìn)電機(jī)正向旋轉(zhuǎn)。同樣,當(dāng)單片機(jī)的引腳輸出的脈沖時序相反時,電機(jī)則反向旋轉(zhuǎn)。圖3為驅(qū)動電路硬件原理圖。
圖3 驅(qū)動電路硬件原理圖
控制系統(tǒng)的硬件原理圖由電子技術(shù)虛擬仿真軟件Proteus 7.5 進(jìn)行仿真,仿真時兩相混合式步進(jìn)電機(jī)的參數(shù)按照控制系統(tǒng)所選用的步進(jìn)電機(jī)實際參數(shù)設(shè)置。經(jīng)過仿真得出該系統(tǒng)能夠?qū)崿F(xiàn)對步進(jìn)電機(jī)的正/反轉(zhuǎn)、停止、加/減速的控制,并且控制非常靈敏、工作可靠、不會出現(xiàn)誤操作。步進(jìn)電機(jī)在運(yùn)行時的運(yùn)行狀態(tài)、速度參數(shù)以及按鍵的操作狀態(tài)能夠以英文的形式非常直觀的顯示在LCD1602 和5 位LED上。通過分析仿真時虛擬示波器測出的A、B 兩相的繞組電壓波形得知,步進(jìn)電機(jī)在系統(tǒng)仿真運(yùn)行的過程中具有良好的動態(tài)響應(yīng)。圖4為控制系統(tǒng)整體硬件原理圖。
圖4 控制系統(tǒng)整體硬件原理圖
由于按雙四拍方式工作時步進(jìn)電機(jī)不容易失步,并且控制精度較高,因此步進(jìn)電機(jī)采用雙四拍的工作方式。這種工作方式每次都有兩相繞組導(dǎo)通,兩相繞組處在相同的電壓之下,以A+B+→A-B+→ A-B-→A+B-(或反向)方式導(dǎo)通。當(dāng)A、B 繞組完成一次通電循環(huán)以后,磁場旋轉(zhuǎn)一周,轉(zhuǎn)子則前進(jìn)一個步距角。其步距角θ為
式中,m為定子相數(shù);z為轉(zhuǎn)子齒數(shù)。
步進(jìn)電機(jī)的運(yùn)行方向由其內(nèi)部繞組的通電順序及通電方式?jīng)Q定。由于兩相雙四拍步進(jìn)電機(jī)不容易失步,控制精度比較高,所以本文采用兩相雙四拍的工作方式對步進(jìn)電機(jī)進(jìn)行控制。
兩相雙四拍工作方式如下。
正向旋轉(zhuǎn):A+B+→A-B+→A-B-→A+B-
反向旋轉(zhuǎn):A+B-→A-B-→A-B+→A+B+
兩相雙四拍控制模型如表1所示。
控制步進(jìn)電機(jī)的運(yùn)行速度,實際上是控制驅(qū)動脈沖的發(fā)出頻率或換相周期,即在加速的過程中,使驅(qū)動脈沖的發(fā)出頻率升高;在減速的過程中,使驅(qū)動脈沖的發(fā)出頻率降低。對驅(qū)動脈沖頻率的控制可以通過軟件延時和硬件中斷的方式來實現(xiàn)。
(1)正轉(zhuǎn)運(yùn)行 步序 通電 方式 二進(jìn)制 十六進(jìn)制 單片機(jī)P1 口 1 A+B+ 10011001 0x99 2 A-B+ 01101001 0x69 3 A-B- 01100110 0x66 4 A+B- 10010110 0x96 (2)反轉(zhuǎn)運(yùn)行 步序 通電 方式 二進(jìn)制 十六進(jìn)制 單片機(jī)P1 口 1 A+B- 10010110 0x96 2 A-B- 01100110 0x66 3 A-B+ 01101001 0x69 4 A+B+ 10011001 0x99
軟件延時是指根據(jù)所需的延時時間常數(shù)編寫一個延時子程序,當(dāng)CPU 執(zhí)行延時子程序時,系統(tǒng)達(dá)到延時的目的。采用軟件延時方式,CPU 一直被占用,使得CPU 的利用率降低。
可編程的硬件定時器可以對系統(tǒng)的時鐘脈沖進(jìn)行計數(shù),計數(shù)值可以通過編程的方式設(shè)定。當(dāng)計數(shù)到預(yù)定的脈沖數(shù)時,定時器產(chǎn)生中斷信號,系統(tǒng)得到所需的延時時間。定時器延時可以提高CPU 的利用率。
系統(tǒng)程序設(shè)計的思想是:①對單片機(jī)進(jìn)行初始化:首先應(yīng)該關(guān)中斷,然后對用到的一些寄存器和功能模塊進(jìn)行初始化,最后再開中斷,并且給定步進(jìn)電機(jī)的速度初值和每次加速/減速時速度變化的幅值;②調(diào)入子程序:分塊調(diào)入方向、速度、鍵盤、顯示的子程序。速度控制程序?qū)懭胪獠恐袛喑绦蛑?,這樣可以在不改變運(yùn)動方向的前提下改變速度的參數(shù);③等待功能按鍵按下:采用查詢方式編寫按鍵程序,通過按鍵程序掃描等待功能按鍵的按下;④執(zhí)行按鍵功能:在程序檢測到有按鍵被按下后,執(zhí)行相應(yīng)的功能,并且顯示步進(jìn)電機(jī)對應(yīng)的運(yùn)行狀態(tài)信息。圖5為系統(tǒng)程序結(jié)構(gòu)圖。
在實驗中本系統(tǒng)選57HS56DF101TK-01 混合式步進(jìn)電機(jī)作為控制對象。該步進(jìn)電機(jī)為兩相四線步進(jìn)電機(jī),步距角為1.8°,額定電流為8A,靜轉(zhuǎn)矩為10kg·cm。圖6為控制系統(tǒng)實物圖。
圖5 系統(tǒng)程序結(jié)構(gòu)圖
圖6 控制系統(tǒng)實物圖
實驗時,測得電機(jī)繞組阻值Rs為1.5Ω,系統(tǒng)選擇12V 直流電源供電,符合步進(jìn)電機(jī)的要求。圖7為步進(jìn)電機(jī)運(yùn)行時A 相的電壓波形圖。圖8為步進(jìn)電機(jī)的靜態(tài)矩角特性曲線圖。
圖7 步進(jìn)電機(jī)A 相電壓圖
圖8 步進(jìn)電機(jī)矩角特性曲線圖
實驗結(jié)果說明,本控制系統(tǒng)在步進(jìn)電機(jī)的運(yùn)行過程中可以實現(xiàn)對步進(jìn)電機(jī)的運(yùn)行控制,改變步進(jìn)電機(jī)的工作狀態(tài),控制精確,能夠較好的滿足工作要求。
本文基于AT89C52 單片機(jī)設(shè)計的兩相混合式步進(jìn)電機(jī)控制系統(tǒng)具有體積小、可靠性高、功能豐富、造價便宜等特點(diǎn),適用范圍廣,具有很強(qiáng)的實用價值和經(jīng)濟(jì)價值。
[1] 王曉明.電動機(jī)的單片機(jī)控制[M].北京:北京航空航天大學(xué)出版社,2007.
[2] 王宗培.步進(jìn)電動機(jī)及其控制系統(tǒng)[M].哈爾濱:哈爾濱工業(yè)大學(xué)出版社,1986.
[3] 李仁定.電動機(jī)的微機(jī)控制[M].北京:機(jī)械工業(yè)出版社,1999.
[4] 彭偉.單片機(jī)C 語言程序設(shè)計實訓(xùn)100 例[M].北京:電子工業(yè)出版社,2009.
[5] 郭天祥.新概念51 單片機(jī)C 語言教程[M].北京:電子工業(yè)出版社,2009.