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