基于單片機(jī)的步進(jìn)電機(jī)畢業(yè)設(shè)計(jì)_第1頁
基于單片機(jī)的步進(jìn)電機(jī)畢業(yè)設(shè)計(jì)_第2頁
基于單片機(jī)的步進(jìn)電機(jī)畢業(yè)設(shè)計(jì)_第3頁
基于單片機(jī)的步進(jìn)電機(jī)畢業(yè)設(shè)計(jì)_第4頁
基于單片機(jī)的步進(jìn)電機(jī)畢業(yè)設(shè)計(jì)_第5頁
免費(fèi)預(yù)覽已結(jié)束,剩余24頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、2007屆畢業(yè)論文(設(shè)計(jì))題目:基于單片機(jī)的步進(jìn)電機(jī)控制系統(tǒng)系別:專業(yè):班級:姓名:指導(dǎo)教師:畢業(yè)設(shè)計(jì)(論文)開題報(bào)告設(shè)計(jì)(論文)題目基于單片機(jī)的步進(jìn)電機(jī)控制系統(tǒng)一、選題的背景和意義:控制系統(tǒng)對步進(jìn)電機(jī)的控制通過步進(jìn)電機(jī)驅(qū)動器來完成。因此它已經(jīng)被廣泛地用于自動控制系統(tǒng)中作為執(zhí)行元件。原來的步進(jìn)電機(jī)控制系統(tǒng)采用分立元件或者集成電路組成的控制回路,不僅調(diào)試安裝復(fù)雜,要消耗大量元器件,實(shí)現(xiàn)起來成本高、費(fèi)時多,而且一旦定型后,電路就很難改動,因此不得不完全重新設(shè)計(jì)控制器。步進(jìn)電機(jī)是機(jī)電控制中一種常用的執(zhí)行機(jī)構(gòu),它的用途是將電脈沖轉(zhuǎn)化為角位移,當(dāng)步進(jìn)驅(qū)動器接收到一個脈沖信號,它就驅(qū)動步進(jìn)電機(jī)按設(shè)定的方向

2、轉(zhuǎn)動一個固定的角度(及步進(jìn)角)。通過控制脈沖個數(shù)即可以控制角位移量,從而達(dá)到準(zhǔn)確定位的目的;同時通過控制脈沖頻率來控制電機(jī)轉(zhuǎn)動的速度和加速度,從而達(dá)到調(diào)速的目的。二、課題研究的主要內(nèi)容:1 .說明步進(jìn)電機(jī)的工作原理2 .說明單片機(jī)對步進(jìn)電機(jī)實(shí)現(xiàn)控制的方法3 .控制系統(tǒng)的硬件設(shè)計(jì)4 .要求能夠控制步進(jìn)電機(jī)的轉(zhuǎn)速、方向等三、主要研究(設(shè)計(jì))方法論述:本設(shè)計(jì)的重點(diǎn)在于對步進(jìn)電機(jī)的控制和驅(qū)動,設(shè)計(jì)中受控電機(jī)為四相六線制的步進(jìn)電機(jī)(內(nèi)阻33歐,步進(jìn)1.8度,額定電壓12V)方案一:使用多個功率放大器件驅(qū)動電機(jī)方案二:使用L298N芯片驅(qū)動電機(jī)兩者進(jìn)行比較,結(jié)果得出結(jié)論方案二比較好。通過比較,使用L298

3、N芯片充分發(fā)揮了它的功能,能穩(wěn)定地驅(qū)動步進(jìn)電機(jī),且價格不高,故選用L298N驅(qū)動電機(jī)。四、設(shè)計(jì)(論文)進(jìn)度安排:時間(第周)工作內(nèi)容熟悉設(shè)計(jì)任務(wù),查閱相關(guān)文獻(xiàn)資料。第二周閱讀文件,了解的步進(jìn)電機(jī)基本知識。第三周了解單片機(jī)的基本知識,進(jìn)行系統(tǒng)方案設(shè)計(jì)第四周在分析的基礎(chǔ)上選擇步進(jìn)電機(jī)及其配套的驅(qū)動器。第五周控制系統(tǒng)的硬件設(shè)計(jì)和程序設(shè)計(jì)。第六周系統(tǒng)可行性分析,搭出論文框架,寫出論文。第七周自己檢查和補(bǔ)充,請老師批閱并指出不足。第八周修改錯誤,打印裝訂,交指導(dǎo)老師。五、指導(dǎo)教師意見:指導(dǎo)教師簽名:年月日六、系部意見:系主任簽名:年月日摘要步進(jìn)電機(jī)是機(jī)電控制中一種常用的執(zhí)行機(jī)構(gòu),它的用途是將電脈沖轉(zhuǎn)化為

4、角位移,當(dāng)步進(jìn)驅(qū)動器接收到一個脈沖信號,它就驅(qū)動步進(jìn)電機(jī)按設(shè)定的方向轉(zhuǎn)動一個固定的角度(及步進(jìn)角)。通過控制脈沖個數(shù)即可以控制角位移量,從而達(dá)到準(zhǔn)確定位的目的;同時通過控制脈沖頻率來控制電機(jī)轉(zhuǎn)動的速度和加速度,從而達(dá)到調(diào)速的目的。本設(shè)計(jì)采用89c51系列單片機(jī)對步進(jìn)電機(jī)進(jìn)行控制,對單片機(jī)控制步進(jìn)電機(jī)系統(tǒng)的控制方式和軟件設(shè)計(jì)進(jìn)行了研究,分別從位置控制、速度控制和加減速控制三方面進(jìn)行了詳細(xì)的分析。關(guān)鍵詞:步進(jìn)電機(jī)單片機(jī)控制系統(tǒng)AbstractSteppermotorelectromechanicalcontroltheimplementationofacommon,itistheuseofelec

5、tricalpulsesintoangulardisplacement,WhensteppingDriversreceiveapulsesignal,itsteppermotordriveninthedirectionsetbyafixedrotationangle(angleandstepper).Bycontrollingthenumberofpulsesthatcancontroltheangulardisplacement,thusachievingthepurposeofaccuratepositioning;passcontroltocontrolthepulsefrequency

6、ofmotorrotationspeedandacceleration,soastoachievethepurposeofspeed.Thedesignused89c51microcontrollerseriesofsteppermotorcontrol.SCMcontrolofthesteppermotorcontrolsystemandsoftwaredesignofthestudy,fromthepositioncontrol,speedcontrolandprocessingspeedcontrolthreeaspectsofadetailedanalysis.Keywords:ste

7、ppermotorSingleslicemachineControlsystem目錄一、步進(jìn)電機(jī)控制原理,71.1 步進(jìn)電機(jī)的分類和主要參數(shù),,,.71.1.1 步進(jìn)電機(jī)的分類,.71.1.2 步進(jìn)電機(jī)的一些基本參數(shù),.71.2 步進(jìn)電機(jī)的原理,.81.2.1 步進(jìn)電機(jī)基本控制原理,,,.81.2.2 步進(jìn)電機(jī)控制系統(tǒng)原理,,,8.二、設(shè)計(jì)方案硬件電路設(shè)計(jì),91 方案論證與比較,.101 理論設(shè)計(jì),11三、步進(jìn)電動機(jī)的單片機(jī)控制,,,131.1.0 脈沖分配,,,13(1) 通過軟件實(shí)現(xiàn)脈沖分配,,,13(1) 通過硬件實(shí)現(xiàn)脈沖分配,,,14四、步進(jìn)電動機(jī)的運(yùn)行控制,14步進(jìn)電動機(jī)的位置控制,

8、14步進(jìn)電動機(jī)的加、減速控制,,,18五、總結(jié),,24參考文獻(xiàn)及外文資料前言步進(jìn)電機(jī)是機(jī)電控制中一種常用的執(zhí)行機(jī)構(gòu),它的用途是將電脈沖轉(zhuǎn)化為角位移,通俗地說:當(dāng)步進(jìn)驅(qū)動器接收到一個脈沖信號,它就驅(qū)動步進(jìn)電機(jī)按設(shè)定的方向轉(zhuǎn)動一個固定的角度(及步進(jìn)角)。通過控制脈沖個數(shù)即可以控制角位移量,從而達(dá)到準(zhǔn)確定位的目的;同時通過控制脈沖頻率來控制電機(jī)轉(zhuǎn)動的速度和加速度,從而達(dá)到調(diào)速的目的。在步進(jìn)電機(jī)的單片機(jī)控制系統(tǒng)中,要求能實(shí)現(xiàn)以下三個基本控制任務(wù):控制換相順序:步進(jìn)電機(jī)的通電換相順序要嚴(yán)格按照步進(jìn)電機(jī)的工作方式進(jìn)行。也稱為脈沖分配,實(shí)現(xiàn)脈沖分配的方法有兩種:軟件法和硬件法。控制步進(jìn)電機(jī)的轉(zhuǎn)向:通過改變通

9、電的相序來實(shí)現(xiàn)??刂撇竭M(jìn)電機(jī)的轉(zhuǎn)速:通過調(diào)節(jié)脈沖頻率來實(shí)現(xiàn)。一、步進(jìn)電機(jī)控制原理步進(jìn)電機(jī)的分類和主要參數(shù)步進(jìn)電機(jī)的分類步進(jìn)電機(jī)是一種將電脈沖轉(zhuǎn)化為角位移的執(zhí)行機(jī)構(gòu)。當(dāng)步進(jìn)驅(qū)動器接收到一個脈沖信號,它就驅(qū)動步進(jìn)電機(jī)按設(shè)定的方向轉(zhuǎn)動一個固定的角度(稱為“步距角”),它的旋轉(zhuǎn)是以固定的角度一步一步運(yùn)行的?,F(xiàn)在比較常用的步進(jìn)電機(jī)包括反應(yīng)式步進(jìn)電機(jī)(VR)、永磁式步進(jìn)電機(jī)(PM、混合式步進(jìn)電機(jī)(HB和單相式步進(jìn)電機(jī)等。步進(jìn)電機(jī)的一些基本參數(shù):電機(jī)固有步距角:它表示控制系統(tǒng)每發(fā)一個步進(jìn)脈沖信號,電機(jī)所轉(zhuǎn)動的角度。電機(jī)出廠時給出了一個步距角的值,如86BYG250Ml電機(jī)給出的值為0.9/1.8(表示半步工

10、作時為0.9、整步工作時為1.8。),這個步距角可以稱之為“電機(jī)固有步距角”,它不一定是電機(jī)實(shí)際工作時的真正步距角,真正的步距角和驅(qū)動器有關(guān)。(2)步進(jìn)電機(jī)的相數(shù):是指電機(jī)內(nèi)部的線圈組數(shù),目前常用的有二相、三相、四相、五相步進(jìn)電機(jī)。電機(jī)相數(shù)不同,其步距角也不同,一般二相電機(jī)的步距角為0.9。/1.8、三相的為0.75/1.5、五相的為0.36/0.72。(3)保持轉(zhuǎn)矩(HOLDINGTORQUE是指步進(jìn)電機(jī)通電但沒有轉(zhuǎn)動時,定子鎖住轉(zhuǎn)子的力矩。它是步進(jìn)電機(jī)最重要的參數(shù)之一,通常步進(jìn)電機(jī)在低速時的力矩接近保持轉(zhuǎn)矩。比如,當(dāng)人們說2N.m的步進(jìn)電機(jī),在沒有特殊說明的情況下是指保持轉(zhuǎn)矩為2N.m的步

11、進(jìn)電機(jī)。(4)DETENTTORQUE是指步進(jìn)電機(jī)沒有通電的情況下,定子鎖住轉(zhuǎn)子的力矩。DETENTTORQU訴國內(nèi)沒有統(tǒng)一的翻譯方式,容易使大家產(chǎn)生誤解;由于反應(yīng)式步進(jìn)電機(jī)的轉(zhuǎn)子不是永磁材料,所以它沒有DETENTTORQUE1.2步進(jìn)電機(jī)的原理步進(jìn)電機(jī)基本控制原理步進(jìn)電機(jī)是數(shù)字控制電機(jī),它將脈沖信號轉(zhuǎn)變成角位移,即給一個脈沖信號,步進(jìn)電機(jī)就轉(zhuǎn)動一個角度,因此非常適合于單片機(jī)控制。步進(jìn)電機(jī)區(qū)別于其他控制電機(jī)的最大特點(diǎn)是,它是通過輸入脈沖信號來進(jìn)行控制的,即電機(jī)的總轉(zhuǎn)動角度由輸入脈沖數(shù)決定,而電機(jī)的轉(zhuǎn)速由脈沖信號頻率決定。步進(jìn)電機(jī)的驅(qū)動電路根據(jù)控制信號工作,控制信號由單片機(jī)產(chǎn)生。其基本原理作用

12、如下:(1)控制換相順序通電換相這一過程稱為脈沖分配。例如:三相步進(jìn)電機(jī)的三拍工作方式,其各相通電順序?yàn)锳-B-C-D,通電控制脈沖必須嚴(yán)格按口這一順序分別控制A,B,C,D相的通斷。(2)控制步進(jìn)電機(jī)的轉(zhuǎn)向如果給定工作方式正序換相通電,步進(jìn)電機(jī)正轉(zhuǎn),如果按反序通電換相,則電機(jī)就反轉(zhuǎn)。(3)控制步進(jìn)電機(jī)的速度如果給步進(jìn)電機(jī)發(fā)一個控制脈沖,它就轉(zhuǎn)一步,再發(fā)一個脈沖,它會再轉(zhuǎn)一步。兩個脈沖的間隔越短,步進(jìn)電機(jī)就轉(zhuǎn)得越快。調(diào)整單片機(jī)發(fā)出的脈沖頻率,就可以對步進(jìn)電機(jī)進(jìn)行調(diào)速。步進(jìn)電機(jī)控制系統(tǒng)原理典型的步進(jìn)電機(jī)控制系統(tǒng)如圖1.1所示,主要是由步進(jìn)控制器,功率放大器及步進(jìn)電機(jī)等組成。圖1.1步進(jìn)電機(jī)控制系

13、統(tǒng)的組成二、設(shè)計(jì)方案-硬件電路設(shè)計(jì)2.1方案論證與比較1、本設(shè)計(jì)的重點(diǎn)在于對步進(jìn)電機(jī)的控制和驅(qū)動,設(shè)計(jì)中受控電機(jī)為四相六線制的步進(jìn)電機(jī)(內(nèi)阻33歐,步進(jìn)1.8度,額定電壓12V)方案一:使用多個功率放大器件驅(qū)動電機(jī)通過使用不同的放大電路和不同參數(shù)的器件,可以達(dá)到不同的放大的要求,放大后能夠得到較大的功率。方案二:使用L298N芯片驅(qū)動電機(jī)L298N芯片可以驅(qū)動兩個二相電機(jī)(如圖2.2),也可以驅(qū)動一個四相電機(jī),輸出電壓最高可達(dá)50V,可以直接通過電源來調(diào)節(jié)輸出電壓;可以直接用單片機(jī)的IO口提供信號;而且電路簡單,使用比較方便。圖2.2L298N芯片2、數(shù)碼管顯示電路的設(shè)計(jì)方案一:申行接法設(shè)計(jì)中

14、要顯示4位數(shù)字,用74LS164作為顯示驅(qū)動,其中帶鎖存,使用串行接法可以節(jié)約IO口資源,但要使用SIO,發(fā)送數(shù)據(jù)時容易控制。方案二:并行接法使用并行接法時要對每個數(shù)碼管用IO口單獨(dú)輸入數(shù)據(jù),占用資源較多。2.2理論設(shè)計(jì)綜合以上選取的方案,總的流程如圖2.3所示。單片機(jī)步進(jìn)電機(jī)74LS164H數(shù)碼管L298N圖2.3控制系統(tǒng)總流程1、步進(jìn)電機(jī)驅(qū)動電路通過L298N構(gòu)成步進(jìn)電機(jī)的驅(qū)動電路,電路圖如圖2.4所示。VCCVDD61C6一.二一|4ENAg+VS-ENH-OUT1SEMSEA15ITI.0mOliTl圖2.4步進(jìn)電機(jī)的驅(qū)動電路圖通過MCS-51單片機(jī)的P1.0P1.5口對L298N的I

15、N1IN4口和ENA、ENB口發(fā)送方波脈沖信號,起時序圖如圖2.5所示。圖2.5時序圖2、數(shù)碼管顯示電路的設(shè)計(jì)數(shù)碼管的顯示驅(qū)動使用74LS164,通過MCS-51單片機(jī)的串行口對DATA和CLK發(fā)送數(shù)據(jù)。圖2.6數(shù)碼管顯示電路的設(shè)計(jì)圖3、4x4鍵盤電路在設(shè)計(jì)中,使用了標(biāo)準(zhǔn)的4x4鍵盤,其電路圖如圖2.7所示。單片機(jī)的P0口為鍵盤的接口。盡管設(shè)計(jì)要求中只需要4個鍵對步進(jìn)電機(jī)的狀態(tài)進(jìn)行控制,但考慮到對控制功能的擴(kuò)展,我們使用了4x4的鍵盤。JF71i-T五1-D-AhAAP-P-P-A-31d-7.-93-1圖2.74x4鍵盤電路圖三、步進(jìn)電動機(jī)的單片機(jī)控制步進(jìn)電動機(jī)的驅(qū)動電路根據(jù)控制信號工作。在

16、步進(jìn)電動機(jī)的單片機(jī)控制中,控制信號由單片機(jī)產(chǎn)生。其基本控制作用如下。(1)控制換相順序步進(jìn)電動機(jī)的通電換相順序嚴(yán)格按照步進(jìn)電動機(jī)的工作方式進(jìn)行。通常我們把通電換相這一過程稱為脈沖分配。(2)控制步進(jìn)電動機(jī)的轉(zhuǎn)向通過前面介紹的步進(jìn)電動機(jī)原理我們已經(jīng)知道,如果按給定的工作方式正序通電換相,步進(jìn)電動機(jī)就正轉(zhuǎn);如果按反序通電換相,則電動機(jī)就反轉(zhuǎn)。(3)控制步進(jìn)電動機(jī)的速度如果給步進(jìn)電動機(jī)發(fā)一個控制脈沖,它就轉(zhuǎn)一步,再發(fā)一個脈沖,它會再轉(zhuǎn)一步。兩個脈沖的間隔時間越短,步進(jìn)電動機(jī)就轉(zhuǎn)的越快。脈沖分配實(shí)現(xiàn)脈沖分配(也就是通電換相控制)的方法有兩種:軟件法和硬件法。通過軟件實(shí)現(xiàn)脈沖分配軟件法是完全用軟件的方式

17、,按照給定的通電換相順序,通過單片機(jī)的I/O向驅(qū)動電路發(fā)出控制脈沖。圖3-1是用這種方法控制五相步進(jìn)電動機(jī)的硬件接口例子。利用8051系列單片機(jī)的P1.0P1.4這5條I/O線,向五相步進(jìn)電動機(jī)傳送控制信號。下面以五相步進(jìn)電動機(jī)工作在十拍方式為例,說明如何設(shè)計(jì)軟件。這10個控制字如表3-1所列。圖3-1用軟件實(shí)現(xiàn)脈沖分配的接口示意圖表3-1五相十拍工作方式的控制字通電狀態(tài)P1.4(E)P1.3(D)P1.2(C)P1.1(B)P1.0(A)控制字AB11100FCHABC11000F8HBC11001F9BCD10001F1HCD10011F3HCDE00011E3HDE00111E7HDEA

18、00110E6HEA01110EEHEAB01100ECH在程序中,只要依次將這10個控制字送到P1口,步進(jìn)電動機(jī)就會轉(zhuǎn)動一個齒距角。每送一個控制字,就完成一拍,步進(jìn)電動機(jī)轉(zhuǎn)過一個步距角。程序就是根據(jù)這個原理進(jìn)行設(shè)計(jì)的。用R0作為狀態(tài)計(jì)數(shù)器,來指示第幾拍,按正轉(zhuǎn)時加1,反轉(zhuǎn)時減1的操作規(guī)律,則正轉(zhuǎn)程序?yàn)椋篊WINCR0CJNER0MOVR0ZZ:MOVAMOVDPTRMOVCAMOVP1,#0AHZZ,#00H,R0,#ABC,A+DPTR,A;正轉(zhuǎn)加1;如果計(jì)數(shù)器等于10修正為0;計(jì)數(shù)器值送A;指向數(shù)據(jù)存放首地址;取控制字;送控制字到P1口RET;10個控制字ABCDB0FCH,0F8H0F

19、9H,0F1H0F3HDB0E3H,0E7H0E6H,0EEH0ECH反轉(zhuǎn)程序?yàn)椋篊CWDECR0CJNER0,#0FFHFZMOVR0,#09HFZ:MOVA,R0MOVDPTR,#ABCMOVCA,A+DPTRMOVP1,A;反轉(zhuǎn)減1(反序);如果計(jì)數(shù)器等于FFH修正為9;指向數(shù)據(jù)存放首地址;取控制字;送P1口RETCPU時間,可能軟件法在電動機(jī)運(yùn)行過程中,要不停地產(chǎn)生控制脈沖,占用了大量的使單片機(jī)無法同時進(jìn)行其他工作,所以,人們更喜歡用硬件法。3.1.2通過硬件實(shí)現(xiàn)脈沖分配所謂硬件法實(shí)際上是使用脈沖分配器芯片,來進(jìn)行通電換相控制。脈沖分配器有很多種,這里介紹一種8713集成電路芯片。87

20、13有幾種型號,如三洋公司生產(chǎn)的PMM8713富士通公司生產(chǎn)的MB8713國產(chǎn)的5G8713等,它們的功能一樣,可以互換。8713是屬于單極性控制,用于控制三相和四相步進(jìn)電動機(jī),可以選擇以下不同的工作方式。三相步進(jìn)電動機(jī):單三拍,雙三拍,六拍;四相步進(jìn)電動機(jī):單四拍,雙四拍,八拍。8713可以選擇單時鐘輸入或雙時鐘輸入;具有正反轉(zhuǎn)控制,初始化復(fù)位,工作方式和輸入脈沖狀態(tài)監(jiān)視等功能;所有輸入端內(nèi)部都設(shè)有斯密特整形電路,提高抗干擾能力;使用478V支流電源,輸出電流為20mA8713有16個引腳。各引腳功能如表3-2所列。表3-28713引腳功能引腳功能說明1正轉(zhuǎn)脈沖輸入端1,2腳為雙時鐘輸入端2

21、反轉(zhuǎn)脈沖輸入端3脈沖輸入端3,4腳為單時鐘輸入端4轉(zhuǎn)向控制端。0為反轉(zhuǎn);1為正轉(zhuǎn)56工作方式選擇:00為雙三(四)拍:01,10為單三(四)拍;11為六(八)拍7三/四相選擇。0為三相;1為四相8地9復(fù)位端,低電平功效10輸出端。四相用13,12,11,10腳,分別代表A,B,C,1112口三相用13,12,11腳,分13另代表A,B,C14工作方式監(jiān)視。0為單三(四)拍;1為雙三(四)拍;脈沖為六(八)拍15輸入脈沖狀態(tài)監(jiān)視,與時鐘同步16電源8713脈沖分配器與單片機(jī)的接口例子如圖3-2所示。本例選用單日鐘輸入方式,8713的3腳為步進(jìn)脈沖輸入端,4腳為轉(zhuǎn)向控制端,這兩個引腳的輸入均由單片

22、機(jī)提供和控制。選用對四相步進(jìn)電動機(jī)進(jìn)行八拍方式控制,所以5,6,7腳均接高電平。圖3-28713脈沖分配器與單片機(jī)接口由于采用了脈沖分配器,單片機(jī)只需要提供步進(jìn)脈沖,進(jìn)行速度控制和轉(zhuǎn)向控制,脈沖分配的工作交給脈沖分配器來自動完成。因此,CPU的負(fù)擔(dān)減輕許多。四、步進(jìn)電動機(jī)的運(yùn)行控制步進(jìn)電動機(jī)的運(yùn)行控制涉及到位置控制和加,減速控制。4.1步進(jìn)電動機(jī)的位置控制步進(jìn)電動機(jī)的位置控制,指的是控制步進(jìn)電動機(jī)帶動執(zhí)行機(jī)構(gòu)從一個位置精確地運(yùn)行到0。因此,用步數(shù)等于0來判另一個位置。對步進(jìn)電動機(jī)位置控制的一般作法是:步進(jìn)電動機(jī)每走一步,步數(shù)減1,如果沒有失步存在,當(dāng)執(zhí)行機(jī)構(gòu)到達(dá)目標(biāo)位置時,步數(shù)正好減到斷是否移

23、動到目標(biāo)位,作為步進(jìn)電動機(jī)停止運(yùn)行的信號。下面給出一個例子。其硬件連接仍如圖3-2所示,所有的操作仍然都發(fā)生在定時器中斷程序中,而且每次中斷仍然改變一次P1.0的狀態(tài),也就是說,每兩次中斷步進(jìn)電動機(jī)才走一步。下面是本程序使用的資源:30H,31H存放定時常數(shù),低位在前;32H34H存放絕對位置參數(shù),低位在前;35、36H-存放步數(shù),低位在前。中斷服務(wù)子程序框圖如圖4-1所示。程序如下:POSCPLP1.0;改變P1.0電平狀態(tài)PUSHACC;累加器A進(jìn)棧PUSHR0LCALLBAOJING;調(diào)報(bào)警子程序POS1MOVR0,#32H;反轉(zhuǎn)。指向絕對位直低位32HDECR0;絕對位直減1CJNER

24、0,#0FFH,POS2;無借位則轉(zhuǎn)向POS2INCR0;指向33HDECR0;(33H)-1CJNER0,#0FFH,POS2;無借位則轉(zhuǎn)向POS2INCR0;指向34HDECR0;(34H)-1CJNER0,#0FFH,POS2;無越界,則轉(zhuǎn)向POS2CLRTR0;發(fā)生越界,停定時器LCALLBAOJING;調(diào)報(bào)警子程序POS2MOVR0,#35H;指向步數(shù)低位35HDECR0;步數(shù)減1CJNER0,#0FFHPOS3;無借位則轉(zhuǎn)向POS3INCR0;指向36HDECR0;(36H)-1;發(fā)生越界,停定時器JNBP1.0,POS4;P1.0=0時,半個脈沖,轉(zhuǎn)至ijPOS4CLREA;關(guān)中

25、斷JNBP1.1,POS1;反轉(zhuǎn),轉(zhuǎn)到POS1MOVR0,#32H;正轉(zhuǎn)。指向絕對位直低位32HINCR0;絕對位直加1CJNER0,#00H,POS2;無進(jìn)位則轉(zhuǎn)向POS2INCR0;指向33HINCR0;(33H)+1CJNER0,#00H,POS2;無進(jìn)位則轉(zhuǎn)向POS2INCR0;指向34HINCR0;(34H)+1CJNER0,#00H,POS2;無越界,則轉(zhuǎn)向POS2CLRTR0POS3SETBEA;開中斷MOVA,35H;檢查步數(shù)=0ORLA,36HJNZPOS4;不等于0轉(zhuǎn)向POS4CLRTR0;等于0。停定時器SJMPPOS5;退出POS4CLRCCLRTR0;停定時器MOVA

26、,TL0;取TL0當(dāng)前值A(chǔ)DDA,#08H;加8個機(jī)器周期ADDA,30H;加定時常數(shù)(低8位)MOVTL0,A;重裝定時常數(shù)(低8位)MOVA,TH0;取TH0當(dāng)前值A(chǔ)DDCA,31H;加定時常數(shù)(高8位)MOVTH0,A;重裝定時常數(shù)(高8位)SETBTR0;開定時器POS5POPR0POPPSWPOPACCRETI;返回步進(jìn)電動機(jī)的正反轉(zhuǎn)控制在主程序中實(shí)現(xiàn)。如果正轉(zhuǎn),使P1.1=1;反轉(zhuǎn),使P1.1=0。所以,不管在正轉(zhuǎn)情況下,還是在反轉(zhuǎn)情況下,上面程序都能適用。4.2步進(jìn)電動機(jī)的加、減速控制實(shí)際上,在3.2一節(jié)中的速度控制中,速度并不是一次升到位。在4.1一節(jié)中的位置控制中,執(zhí)行機(jī)構(gòu)的

27、位移也不總是恒速進(jìn)行的。它們對運(yùn)行的速度都有一定的要求。在這一節(jié)中,我們將討論步進(jìn)電動機(jī)在運(yùn)行中的加、減速問題。為了滿足加、減速要求,步進(jìn)電動機(jī)運(yùn)行通常按照加、減速曲線進(jìn)行。圖4-2是加、減速運(yùn)行曲線。力口、減速運(yùn)行曲線沒有一個固定的模式,一般根據(jù)經(jīng)驗(yàn)和試驗(yàn)得到的。(a)勻加、減速曲線(b)S形加、減速曲線圖4-2力口、減速運(yùn)行曲線最簡單的是勻加速和勻減速曲線,如圖4-2(a)所示,其加、減速曲線都是直線,因此容易編程實(shí)現(xiàn)。按直線加速時,加速度是不變的,因此要求轉(zhuǎn)距也應(yīng)該是不變的。采用指數(shù)加、減速曲線或S形加、減速曲線是最好的選擇,如圖4-2(b)所示。因?yàn)殡妱訖C(jī)的電磁轉(zhuǎn)距與轉(zhuǎn)速的關(guān)系接近指數(shù)

28、規(guī)律。努進(jìn)電動機(jī)的運(yùn)行還可根據(jù)距離的長短分如下3種情況處理。短距離由于距離較短,來不及升到最高速,因此,在這種情況下,步進(jìn)電動機(jī)以接近啟動頻率運(yùn)行過程沒有加、減速。中、短距離在這樣的距離里,步進(jìn)電動機(jī)只有加、減速過程,而沒有恒速過程。中、長距離在這樣的距離里,步進(jìn)電動機(jī)不僅有加、減速過程,還有恒速過程。由于距離較長,要盡量縮短用時,保證快速反應(yīng)性。因此,在加速時,盡量用接近啟動頻率啟動;在恒速時,盡量工作在最搞速。下面舉例來說明步進(jìn)電動機(jī)加、減速控制程序的編制。圖4-3是近似指數(shù)加速曲線。由圖可見,離散后速度并不是一直上升的,而是每升一級都要在該級上保持一段時間,因此實(shí)際加速軌跡呈階梯狀。如果

29、速度是等間距分布,那么在該速度級上保持的時間不一樣長。為了簡化,我們用速度級數(shù)N與一個常數(shù)C的乘積去模擬,并且保持的時間用步數(shù)來代替。因此,速度每升一級,步進(jìn)電動機(jī)都要在該速度級上走NC步(其中N為該速度級數(shù))。為了簡化,減速時也采用與加速時相同的方法,只不過其過程是加速時的逆過程。圖4-3加速曲線離散化本程序的參數(shù)除了有速度級數(shù)N和級步數(shù)NC以外,還有以下參數(shù)加速過程的總步數(shù)電動機(jī)在升速過程中每走一步,加速總步數(shù)就減一,直到減為0,加速過程結(jié)束,進(jìn)入恒速過程。恒速過程的總步數(shù)電動機(jī)在恒速過程中每走一步,恒速總步數(shù)就減一,直到減為0,恒速過程結(jié)束,進(jìn)入減速過程。減速過程的總步數(shù)電動機(jī)在減速過程

30、中每走一步,減速總步數(shù)就減0,減速過程結(jié)束,電動機(jī)停止運(yùn)行。加減速程序框圖如圖4-4所示。JAJ:CPL程序如下:PUSHACC;保存現(xiàn)場PUSHPSWPUSHBPUSHDPTLPUSHDPTHSETBRS0;選用工作寄存器1JNBP1.0,JAJ10;P1.0=0時,半個脈沖,CLREA;關(guān)中斷JNBP1.1,JAJ1;反轉(zhuǎn),轉(zhuǎn)到JAJ1;改變P1.0電平狀態(tài)P1.0轉(zhuǎn)到JAJ10MOVR0,#32H;正轉(zhuǎn),指向絕對位置低位32HINCR0;絕對位直加1CJNER0#00H,JAJ2;無進(jìn)位則轉(zhuǎn)向JAJ2INCR0;指向33HINCR0;(33H)+1CJNER0#00H,JAJ2;無進(jìn)位則

31、轉(zhuǎn)向JAJ2INCR0;指向34HINCR0;(34H)+1CJNER0#00H,JAJ2;無越界,則轉(zhuǎn)JAJ2CLRTR0;發(fā)生越界,停定時器LCALLBAOJING;調(diào)報(bào)警子程序JAJ1:MOVR0,#32H;反轉(zhuǎn),指向絕對位直低位DECR0;絕對位直減1CJNER0#0FFH,JAJ2;無借位則轉(zhuǎn)向JAJ2INCR0;指向33HDECR0;(33H)-1CJNER0#0FFH,JAJ2;無借位則轉(zhuǎn)向JAJ2INCR0;指向34HDECR0;(34H)-1CJNER0#0FFH,JAJ2;無越界,則轉(zhuǎn)JAJ2CLRTR0;發(fā)生越界,停定時器LCALLBAOJING;調(diào)報(bào)警子程序JAJ2:S

32、ETBEA;開中斷CJNER3#35H,JAJ5;不是加速則轉(zhuǎn)JAJ5MOVR0,#35H;指向加速步數(shù)低位35HDECR0;加速步數(shù)減1CJNER0#0FFH,JAJ3;無借位,則轉(zhuǎn)JAJ3INCR0;指向36HDECR0;(36H)-1;判斷該級步數(shù)是否走完32HDJNZR2,JAJ4JAJ3INCR1;走完,速度升-級;計(jì)算級步數(shù);立即數(shù)N;保存級步數(shù)MOVA,R1MOVB,#NMULABMOVR2,AJAJ4:JAJ5:MOVA,35HORLA,36HJNZJAJ10MOVR3,#37HSJMPJAJ10CJNER3,#37H,JAJ7;檢查加速步數(shù)=0;不等于0,轉(zhuǎn)向JAJ10;等于

33、0,加速結(jié)束,指針指向恒速;不是恒速則轉(zhuǎn)JAJ7JAJ6:MOVR0,#37HDECR0CJNER0,#0FFHJAJ6INCR0DECR0CJNER0,#0FFHJAJ6INCR0DECR0MOVA,37HORLA,38HORLA,39HJNZJAJ10MOVR3,#3AHDECR1MOVA,R1MOVB,#NMULABMOVR2,A;指向恒速步數(shù)低位37H;恒速步數(shù)減1;檢查加速步數(shù)=0;不等于0,轉(zhuǎn)向JAJ10;等于0,恒速結(jié)束,指針指向減速;減速一級;計(jì)算級步數(shù);保存級步數(shù)JAJ7:MOVR0,#3AH;指向減速步數(shù)低位3AHDECR0;減速步數(shù)減1CJNER0,#0FFHJAJ8INCR0DECR0JAJ8:DJNZR2,JAJ9;判斷該級步數(shù)是否走完DECR1;走完,速度降一級MOVA,R1;計(jì)算級步數(shù)MOVB,#NMULABMOVR2,A;保存級步數(shù)JAJ9:MOVA,3AH;檢查減速步數(shù)=0ORLA,3BHJNZJAJ10;不等于0,轉(zhuǎn)向JAJ10CLRTR0;等于

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論