賀 敬
(內(nèi)蒙古機(jī)電職業(yè)技術(shù)學(xué)院電氣工程系,呼和浩特 010070)
步進(jìn)電機(jī)是實現(xiàn)電脈沖信號與角位移或線位移轉(zhuǎn)換的開環(huán)控制電機(jī)原件。在非超負(fù)荷的情況下,電機(jī)的轉(zhuǎn)速只取決于脈沖信號的頻率和脈沖數(shù),而不受負(fù)載變化的影響。當(dāng)步進(jìn)電機(jī)驅(qū)動器接收到一個脈沖信號時,它就驅(qū)動步進(jìn)電機(jī)按設(shè)定的方向轉(zhuǎn)過一個固定的角度,稱為“步距角”,它的旋轉(zhuǎn)是以固定的角度一步一步運行的。可以通過控制脈沖個數(shù)來控制角位移量,從而達(dá)到準(zhǔn)確定位的目的;同時可以通過控制輸入脈沖的頻率來控制電機(jī)轉(zhuǎn)動的速度和加速度,從而達(dá)到調(diào)速的目的。
步進(jìn)電機(jī)是一種感應(yīng)電機(jī),它的工作原理是利用電子電路,將直流電變成分時供電的,多相時序控制電流,用這種電流為步進(jìn)電機(jī)供電,步進(jìn)電機(jī)才能正常工作,驅(qū)動器就是為步進(jìn)電機(jī)分時供電的,多相時序控制器。
本設(shè)計將系統(tǒng)分為上位機(jī)和下位機(jī)兩部分以實現(xiàn)預(yù)期的控制效果。下位機(jī)部分是以89C51單片機(jī)為主要控制核心,步進(jìn)電機(jī)驅(qū)動電路為外設(shè)的控制系統(tǒng),通過對單片機(jī)進(jìn)行編程實現(xiàn)電機(jī)的啟停、正反轉(zhuǎn)和調(diào)試。上位機(jī)監(jiān)控系統(tǒng)使用MCGS組態(tài)軟件開發(fā),用戶可以通過可視化見面對步進(jìn)電機(jī)進(jìn)行控制,本系統(tǒng)擁有操作簡單,易于上手的特點。雖然MCGS本身提供了大量設(shè)備的驅(qū)動程序,但是對于特殊設(shè)備仍然沒有固定的程序模塊。因此,開發(fā)者可以利用MCGS提供的可擴(kuò)充接口規(guī)范和開發(fā)工具包來開發(fā)自己需要的設(shè)備驅(qū)動構(gòu)件。實現(xiàn)上位機(jī)中MCGS與單片機(jī)進(jìn)行通訊。
(1)最小系統(tǒng)。89C51單片機(jī)最小系統(tǒng),就是使單片機(jī)正常運行的最低配置:它有一系列模塊組成。包括復(fù)位模塊、振蕩模塊、電源模塊。
復(fù)位模塊: 當(dāng)引腳9出現(xiàn)2個機(jī)器周期以上高電平時,單片機(jī)復(fù)位,程序從頭開始運行。
振蕩模塊:有振蕩器電路產(chǎn)生頻率等于晶振頻率,這時用的是外界晶振。也可以又外部單獨輸入,此時XTAL2腳接地,時鐘信號由XTAL1輸入。
電源系統(tǒng):VCC和GND引腳,供電電壓4--5.5V。
(2)步進(jìn)電機(jī)驅(qū)動電路。通過ULN2803構(gòu)成驅(qū)動電路,電路圖如下圖所示。通過單片機(jī)的P1.0~P1.3輸出脈沖到ULN2803的1B~4B口,經(jīng)信號放大后從1C~4C口分別輸出到電機(jī)的A、B、C、D相
(3)顯示電路。電機(jī)的控制可分為正反轉(zhuǎn)、加速、減速。其中電機(jī)的轉(zhuǎn)速又分為六個等級,為了能夠反映電機(jī)的轉(zhuǎn)速和運行狀態(tài),這里設(shè)計了系統(tǒng)的顯示電路用來反映其工作狀態(tài)。利用單片機(jī)的P0口來連接1602液晶顯示屏。
(1)上位機(jī)程序。MCGS是由昆侖通泰開發(fā)的一套基于Windows平臺的、為工業(yè)過程控制和實時監(jiān)測服務(wù)全中文界面組態(tài)軟件系統(tǒng)。它本身集成了大量現(xiàn)場設(shè)備的驅(qū)動模塊,但實際現(xiàn)場設(shè)備多樣性,因此開發(fā)必要的專業(yè)驅(qū)動是有必要的。本文基于MCGS軟件開發(fā)了上位機(jī)控制程序。(2)下位機(jī)驅(qū)動。下位機(jī)程序主要由接口驅(qū)動程序模塊、步進(jìn)電機(jī)驅(qū)動程序模塊、顯示器程序模塊組成。其中步進(jìn)電機(jī)驅(qū)動程序和顯示器程序比較容易完成,主要完成接口驅(qū)動的開發(fā),實現(xiàn)上位機(jī)與單片機(jī)之間的通訊。
下位單片機(jī)與上位機(jī)之間的數(shù)據(jù)交換采用串口232實現(xiàn),為了提高數(shù)據(jù)通訊的實時性,單片機(jī)接收/發(fā)送數(shù)據(jù)采用中斷方式;單片機(jī)晶振頻率選11.0592MH,
THl=FDH,實現(xiàn)9600bps波特率的傳輸速度,達(dá)到波特率誤差率為0的目的,提高異步傳輸?shù)目煽啃浴?/p>
本系統(tǒng)采用上下兩層式結(jié)構(gòu)體系,上層監(jiān)控層基于MCGS組態(tài)軟件平臺開發(fā),操作界面交互性好,可以直觀地實現(xiàn)對現(xiàn)場運行的步進(jìn)電機(jī)的遠(yuǎn)程控制。下層現(xiàn)場以89C51單片機(jī)為控制器實現(xiàn)對步進(jìn)電機(jī)的啟停、轉(zhuǎn)向及調(diào)速的控制。由于MCGS沒有提供對自主開發(fā)的單片機(jī)應(yīng)用系統(tǒng)的設(shè)備驅(qū)動程序的支持,作者嚴(yán)格遵循MCGS的設(shè)備驅(qū)動程序的接口規(guī)范開發(fā)基于51單片機(jī)驅(qū)動構(gòu)件,采用ModBus通訊協(xié)議實現(xiàn)設(shè)備之間的通訊。實際的掛接測試表明,現(xiàn)場控制層與MCGS之間數(shù)據(jù)交互及時可靠。
[1]葛偉亮.自動控制元件[M].北京:北京理工太學(xué)出版社,2004
[2]孟武勝.李亮基于AT89C52單片機(jī)的步進(jìn)電機(jī)控制系統(tǒng)設(shè)計[J].捆控技術(shù),2006,25(11):45.
[3]邱小文.汪仁和基于MCGS組態(tài)軟件的設(shè)備驅(qū)動開發(fā)[J].露天采礦技術(shù),2007(05):5i,
[4]潘洪躍.基于MODBUS 協(xié)議通信的設(shè)計與實現(xiàn)[J].計量技術(shù),2002,24(04):35-36.
[5]北京昆侖通泰自動化軟件科技有限公司MCGS參考手冊[Z].2006.