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