基于單片機及VC++的步進電機控制系統(tǒng)設計
當我們安裝VC++6.0時,如果選擇了ACtiveX控件項(自定義安裝),MSComm控件就 會自動安裝在計算機上了,并在系統(tǒng)文件夾下多了3個文件:Mscomm.srg,Mscomm32.ocx, Mscomm32.dep,即MSComm控件已經(jīng)過授權,但要注意的是,如果程序移植到其它沒有安 裝VC軟件的PC機上,必須將其使用“執(zhí)照”License 在注冊表中登記注冊,才可以正常運行。 為了正常運行, 還需要將VC開發(fā)的可執(zhí)行文件與運行所需的三個動態(tài)鏈接文件 MFC42D.DLL,MFCO42D.DLL,MSVCRTD.DLL放在同一個文件夾中。使用Installshield軟 件進行封裝實現(xiàn)以上要求即可。
4.2 下位機軟件設計
本文所設計系統(tǒng)中,采用單相驅(qū)動和單-雙相驅(qū)動兩種加電方式驅(qū)動步進電機運轉(zhuǎn),即 單相四拍和單-雙相八拍驅(qū)動,分別為整步和半步運轉(zhuǎn),步進角分別為7.5度和3.75度,不同 的驅(qū)動方式其狀態(tài)表不同,兩種驅(qū)動方式的波形及狀態(tài)表如下,其中1代表高電平,表示驅(qū) 動的磁極繞組通電;0代表低電平,表示驅(qū)動的磁極繞組不通電。
按照設計要求改變轉(zhuǎn)速,則只要改變P2.7-P2.4輪流改變電平的時間即可達到要求,這個 時間不應采用延時來實現(xiàn),因為會影響到其他功能的實現(xiàn)。這里以定時的方式來實現(xiàn),晶振 頻率為11.0592M,采用T0方式1定時。主程序流程圖如圖7所示:
系統(tǒng)上電后,首先進行初始化,包括液晶屏初始化及將程序所用到的內(nèi)存單元(開關機 狀態(tài)標志位7FH、正反轉(zhuǎn)標志位7EH、單相勵磁或單雙相勵磁標志位7DH、測試標志位7CH、 當前速度寄存單元2EH)清零。然后檢測是否開啟電機,檢測到開信號后,設置狀態(tài)位,7FH=1,7EH=1,7DH=1,2EH=10,代表起始狀態(tài)設置為:單雙相勵磁正轉(zhuǎn),起始速度為10r/m。
設置 T0 相關參數(shù)后,開始定時,同時檢測鍵盤是否有其它請求發(fā)生,如果有,則改變 相應的狀態(tài)位,并改變單片機輸出波形,控制步進電機運行狀態(tài)改變。
串行通信的編程方式有兩種查詢方式:查TI 或RI 是否為“1”。中斷方式:如果預先開 了中斷,當TI、RI 為“1”,會自動產(chǎn)生中斷。兩種方式中當發(fā)送或接受數(shù)據(jù)后都要注意清 TI 或RI。本文所設計系統(tǒng)中,下位機采用查詢及中斷兩種接收方式,接收上位機的控制指 令;發(fā)送采用查詢方式,將當前電機運行狀態(tài)信息發(fā)給上位機實時顯示。
5 功能驗證
利用示波器測量P2.7-P2.4口產(chǎn)生的波形,以測試電機的激勵脈沖是否與理論相符,所測 波形如圖8、9所示。圖8是在單-雙相八拍勵磁方式,轉(zhuǎn)速為10轉(zhuǎn)/分的情況下,測量出的P2.7 和P2.5波形,即A,/A的激勵波形。圖9是在單相四拍勵磁方式,轉(zhuǎn)速為30轉(zhuǎn)/分的情況下, 測量出的P2.7和P2.6波形,即A,/B的激勵波形。
上位機控制操作和鍵盤控制操作可以單獨發(fā)出指令,也可以交互發(fā)出指令,該系統(tǒng)應用 環(huán)境較廣。經(jīng)測試,所設計系統(tǒng)可以很好的達到設計要求,可以實現(xiàn)對步進電機的基本控制 及狀態(tài)實時顯示。
6 結(jié)論
本文設計出的步進電機控制系統(tǒng),可以實現(xiàn)對步進電機的基本控制及運行狀態(tài)的實時顯 示。該系統(tǒng)實用性強,操作方便,經(jīng)測試取得了良好效果。經(jīng)過一定的技術改進后,可以應 用于包裝機械的物料計量、包裝膜供送、橫封等過程中,精確控制執(zhí)行機構的運行速度和運 行位置。利用步進電機替代傳統(tǒng)的機械或其它方式,不僅能使包裝機械結(jié)構變得簡單、調(diào)節(jié) 方便、可靠性增加,而且精度會得到很大提高。
參考文獻:
[1].AT89S52 datasheethttp://www.dzsc.com/datasheet/AT89S52+_970343.html.
[2].MAX232datasheethttp://www.dzsc.com/datasheet/MAX232_1074207.html.
陀螺儀相關文章:陀螺儀原理
評論