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