




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、基于8255的步進(jìn)電機(jī)控制系統(tǒng)設(shè)計一、實驗設(shè)計的目的與要求通過步進(jìn)電機(jī)控制系統(tǒng)實驗設(shè)計,用8255擴(kuò)展端口控制步進(jìn)電機(jī),編寫程序輸出脈沖序列到8255的PA口,控制步進(jìn)電機(jī)正傳,反轉(zhuǎn),加速,減速。進(jìn)一步掌握微機(jī)原理與接口的理論和實際方法。培養(yǎng)和鍛煉開發(fā)控制系統(tǒng)的能力。為今后單片機(jī)的學(xué)習(xí)與應(yīng)用開發(fā)打下良好的基礎(chǔ)。要求了解步進(jìn)電機(jī)控制的基本原理,掌握控制步進(jìn)電機(jī)的轉(zhuǎn)動的編程方法,進(jìn)一步了解單片機(jī)控制外部設(shè)備的常用電路。二、步進(jìn)電機(jī)原理1.步進(jìn)電機(jī)的工作原理 該步進(jìn)電機(jī)為一四相步進(jìn)電機(jī),采用單極性直流電源供電。只要對步進(jìn)電機(jī)的各相繞組按合適的時序通電,就能使步進(jìn)電機(jī)步進(jìn)轉(zhuǎn)動。圖1是該四相反應(yīng)式步進(jìn)電
2、機(jī)工作原理示意圖。圖1 四相步進(jìn)電機(jī)步進(jìn)示意圖開始時,開關(guān)SB接通電源,SA、SC、SD斷開,B相磁極和轉(zhuǎn)子0、3號齒對齊,同時,轉(zhuǎn)子的1、4號齒就和C、D相 繞組磁極產(chǎn)生錯齒,2、5號齒就和D、A相繞組磁極產(chǎn)生錯齒。當(dāng)開關(guān)SC接通電源,SB、SA、SD斷開時,由于C相繞組的磁力線和1、4號齒之間磁力線的作用,使轉(zhuǎn)子轉(zhuǎn)動,1、4號齒和C相繞組的磁極對齊。而0、3號齒和A、B相繞組產(chǎn)生錯齒,2、5號齒就和A、D相繞組磁極產(chǎn)生錯齒。依次類推,A、B、C、D四相繞組輪流供電,則轉(zhuǎn)子會沿著A、B、C、D方向轉(zhuǎn)動。四相步進(jìn)電機(jī)按照通電順序的不同,可分為單四拍、雙四拍、八拍三種工作方式。單四拍與雙四拍的步
3、距角相等,但單四拍的轉(zhuǎn)動力矩小。八拍工作方式的步距角是單四拍與雙四拍的一半,因此,八拍工作方式既可以保持較高的轉(zhuǎn)動力矩又可以提高控制精度。單四拍、雙四拍與八拍工作方式的電源通電時序與波形分別如圖2.a、b、c所示:圖2.步進(jìn)電機(jī)工作時序波形圖a. 單四拍 b. 雙四拍
4、0; c八拍2.步進(jìn)電機(jī)的驅(qū)動原理步進(jìn)電動機(jī)是一種數(shù)字元件,易于數(shù)字電路接口,但一般數(shù)字電路的信號的能量遠(yuǎn)遠(yuǎn)不足以驅(qū)動步進(jìn)電動機(jī)。因此,必須有一個與之匹配的驅(qū)動電路來驅(qū)動步進(jìn)電動機(jī)。對步進(jìn)電動機(jī)驅(qū)動一般有如下要求:(1) 能夠提供較快的電流上升和下降速度,使電流波形盡量接近矩形。(2) 具有供截止期間釋放電流流通的回路,以降低繞組兩端的反電動勢,加快電流衰減。(3) 具有較高的功率及效率。步進(jìn)電動機(jī)的驅(qū)動方式很多,如單極性驅(qū)動、雙極性驅(qū)動、高
5、低壓驅(qū)動、斬波驅(qū)動、細(xì)分驅(qū)動、集成電路驅(qū)動等。三、步進(jìn)電機(jī)的控制1. ULN2003由于集成電路集驅(qū)動和保護(hù)于一體,作為小功率步進(jìn)電動機(jī)的專用驅(qū)動芯片, ULN2003 是高耐壓、大電流達(dá)林頓陳列,由七個硅NPN 達(dá)林頓管組成。 該電路的特點如下: ULN2003 的每一對達(dá)林頓都串聯(lián)一個2.7K 的基極電阻,在5V 的工作電壓下它能與TTL CMOS 電路 直接相連,可以直接處理原先需要標(biāo)準(zhǔn)邏輯緩沖器來處理的數(shù)據(jù)。 ULN2003 工作電壓高,工作電流大,灌電流可達(dá)500mA,并且能夠在關(guān)態(tài)時承受50V 的電壓,輸出還 可以在高負(fù)載電流并行運(yùn)行。ULN2003A在各種控制電路中常用它作為驅(qū)動
6、繼電器的芯片,其芯片內(nèi)部做了一個消線圈反電動勢的二極管。ULN2003的輸出端允許通過IC 電流200mA,飽和壓降VCE 約1V左右,耐壓BVCEO 約為36V。輸出電流大,故可以用來直接驅(qū)動步進(jìn)電機(jī)。項目符號數(shù)值單位最大輸入電壓Vi(max)30V集電極-發(fā)射極電壓Vo(max)50V最大基極輸入電流IB(MAX)25mA輸出電流Io500mA貯存溫度Ts-65150結(jié)溫Tj175引線耐焊接溫度TD3002、脈沖的形成實現(xiàn)對步進(jìn)電機(jī)的控制,微機(jī)應(yīng)能輸出有一定周期的控制脈沖。 步驟是:先輸出一個高電平,延時一段時間后,再輸入一個低電平,然后再延時。改變延時時間的長短,即可改變脈沖的周期,脈沖
7、的周期由步進(jìn)電機(jī)的工作頻率確定。用軟件形成環(huán)形脈沖的程序流程圖 3、正反轉(zhuǎn)控制步進(jìn)電機(jī)的旋轉(zhuǎn)方向和內(nèi)部繞組的通電順序及通電方式有密切關(guān)系。通過改變各相脈沖的先后順序,就可以改變電機(jī)的旋轉(zhuǎn)方向.4、轉(zhuǎn)速控制 控制步進(jìn)電機(jī)的運(yùn)行速度,實際上是控制系統(tǒng)發(fā)出時鐘脈沖的頻率或換相的周期,即在升速過程中,使脈沖的輸出頻率逐漸增加;在減速過程中,使脈沖的輸出頻率逐漸減少。脈沖信號的頻率可以用軟件延時和硬件中斷兩種方法來確定。 采用軟件延時,一般是根據(jù)所需的時間常數(shù)來設(shè)計一個子程序,該程序包含一定的指令,設(shè)計者要對這些指令的執(zhí)行時間進(jìn)行嚴(yán)密的計算或者精確的測試,以便確定延時時間是否符合要求。每當(dāng)延時子程序結(jié)束
8、后,可以執(zhí)行下面的操作,也可用輸出指令輸出一個信號作為定時輸出。采用軟件定時, CPU一直被占用,因此CPU利用率低??删幊痰挠布〞r器直接對系統(tǒng)時鐘脈沖或某一固定頻率的時鐘脈沖進(jìn)行計數(shù),計數(shù)值則由編程決定。當(dāng)計數(shù)到預(yù)定的脈沖數(shù)時,產(chǎn)生中斷信號,得到所需的延時時間或定時間隔。由于計數(shù)的初始值由編程決定,因而在不改動硬件的情況下,只通過程序變化即可滿足不同的定時和計數(shù)要求,因此使用很方便。五、硬件連接圖六、 程序設(shè)計1、程序流程圖 開始8255初始化設(shè)初始延時值輸出一拍脈沖(A)延時輸出下一個脈沖(B)延時輸出下個脈沖(C)輸出下一個脈沖(D)延時延時值減小是否提速是否最快否是2、程序代碼:;*
9、;本程序能實現(xiàn)步進(jìn)電機(jī)的正反轉(zhuǎn)與加速,具體過程如下: ;正轉(zhuǎn)加速一段時間,然后停止5秒,然后反向加速一段時間,然后再正轉(zhuǎn),如此循環(huán)往復(fù).;能實現(xiàn)正-停-反,也能實現(xiàn)正-反-停.;*MODE EQU 080H ;8255方式控制字CTL EQU 8000H ;8255端口A地址CONTRL EQU 8003H ;8255控制寄存器地址A EQU 01HB EQU 02HC EQU 04HD EQU 08HQS EQU 300 ;步進(jìn)電機(jī)轉(zhuǎn)過的圈數(shù)DATA SEGMENT DLY_C DW 0 ;DLY_C用以控制延時的長短以實現(xiàn)步進(jìn)電機(jī)的加速 SOURCE DB A,A+B,B,B+C,C,C+
10、D,D,D+A ;步序表,使電機(jī)的工作方式為單/雙8拍DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART:MOV AX,DATA ;初始化數(shù)據(jù)段 MOV DS,AX ;* ;初始化8255,使8255的A口輸出.;* MOV DX,CONTRL ;8255的控制寄存器地址送DX MOV AL,MODE ;8255的A口輸出,故初始化控制字為80H OUT DX,AL ;將控制字從8255輸出以配置8255的工作方式 MOV DX,CTL ;將A口地址送DX MOV AL,0 ;將0送AL OUT DX,AL ;8255的端口寫0以實現(xiàn)初始化 MO
11、V DLY_C,300H ;延時初始值 MOV CX,QS ;將步進(jìn)電機(jī)的圈數(shù)300送CX ;*;以下程序段實現(xiàn)的功能是讓電機(jī)正向加速,速度達(dá)到最大值后勻速轉(zhuǎn)動.;*ZZ:MOV BX,0 ;將0送BX,讓電機(jī)的初始步為ANEXT1:MOV DX,CTL ;將8255的A口地址送DX MOV AL,SOURCEBX ;將電機(jī)的步序送AL OUT DX,AL ;將步序表中的第一個步序通過A口輸出 CALL DELAY ;調(diào)用延時子程序,用來控制電機(jī)轉(zhuǎn)速 INC BX ;BX加1,為取下一個步序做準(zhǔn)備 CMP BX,7 JBE NEXT1 ;判斷電機(jī)是否已經(jīng)走完8拍 PUSH CX ;保存CX的值
12、,因為下面還要用到CX MOV CX,DLY_C ;將DLY_C的值送CX DEC CX ;CX(即DLY_C)減1以實現(xiàn)加速 CMP CX,100H ;CX與100H比較,判斷電機(jī)轉(zhuǎn)速是否已經(jīng)達(dá)到最大值 JNE NN1 ;若電機(jī)轉(zhuǎn)速尚未達(dá)到最大值,則轉(zhuǎn)向NN1 INC CX ;若電機(jī)轉(zhuǎn)速已經(jīng)達(dá)到最大值,則CX加1以實現(xiàn)電機(jī)勻速轉(zhuǎn)動NN1:MOV DLY_C,CX ;將CX的值送DLY_C以實現(xiàn)在一個循環(huán) POP CX ;恢復(fù)CX LOOP ZZ ;CX減1,讓電機(jī)轉(zhuǎn)下一圈 ;*;以下代碼段調(diào)用5次延時子程序以實現(xiàn)延時5秒.正式調(diào)試時時間稍大于5秒,;可見用軟件延時不能實現(xiàn)精確延時.;*TZ:
13、MOV DX,CTL ;將8255的A口地址送DX MOV AL,0 ;將0送AL OUT DX,AL ;將0從A口輸出,使電機(jī)靜止不轉(zhuǎn) CALL DELAY1S ;調(diào)用5次延時1秒子程序,總共延時5秒 CALL DELAY1S CALL DELAY1S CALL DELAY1S CALL DELAY1S ;*;反轉(zhuǎn)加速一段時間,過程與正向加速類似,速度達(dá)到最大值后勻速轉(zhuǎn)動.;* MOV DLY_C,300H ;延時初始值 MOV CX,QS ;將步進(jìn)電機(jī)的圈數(shù)送CX,使電機(jī)反轉(zhuǎn)300圈FZ:MOV BX,7 ;將7送BX使電機(jī)反轉(zhuǎn)的初始相序為D+ANEXT2: MOV DX,CTL ;將82
14、55的A口地址送DX MOV AL,SOURCEBX ;將電機(jī)的步序送AL OUT DX,AL ;將步序表中的第八個步序通過A口輸出,以控制電機(jī)反轉(zhuǎn) CALL DELAY ;調(diào)用延時子程序,用來控制電機(jī)轉(zhuǎn)速 DEC BX ;BX減1,為取下一個步序做準(zhǔn)備 CMP BX,0 JGE NEXT2 ;判斷電機(jī)是否已經(jīng)反向走完8拍 PUSH CX ;保存CX的值,因為下面還要用到CX MOV CX,DLY_C ;將DLY_C的值送CX DEC CX ;CX(即DLY_C)減1以實現(xiàn)加速 CMP CX,100H ;CX與100H比較,判斷電機(jī)轉(zhuǎn)速是否已經(jīng)達(dá)到最大值 JNE NN2 ;若電機(jī)轉(zhuǎn)速尚未達(dá)到最
15、大值,則轉(zhuǎn)向NN1 INC CX ;若電機(jī)轉(zhuǎn)速已經(jīng)達(dá)到最大值,則CX加1以實現(xiàn)電機(jī)勻速轉(zhuǎn)動NN2: MOV DLY_C,CX ;將CX的值送DLY_C以實現(xiàn)在一個循環(huán) POP CX ;恢復(fù)CX LOOP FZ ;CX減1,讓電機(jī)轉(zhuǎn)下一圈 JMP START ;無條件轉(zhuǎn)到START處以實現(xiàn)下一個循環(huán);*;該延時子程序用于控制電機(jī)轉(zhuǎn)速若DLY_C減少,則延時時間將減少,則電機(jī)轉(zhuǎn)速增加,;反之亦然.;*DELAY PROC NEAR PUSH CX ;保存CX,因為下面還要用到CX MOV CX,DLY_C ;將DLY_C的值送CX以控制延時的長短DD1:NOP ;空操作,用于延時,可以用NOP指令
16、的數(shù)目控制延時的長短 NOP NOP NOP NOP NOP NOP LOOP DD1 ;CX減1,若不為0則轉(zhuǎn)向DD1,否則跳出循環(huán) POP CX ;恢復(fù)CX RET ;子程序返回DELAY ENDP;*;8086延時1S子程序,用執(zhí)行PUSHF和POPF指令來延時;之所以選擇這兩條指令,主要是由于這兩條指令執(zhí)行時間比較長;*DELAY1S PROC NEAR PUSHF ;把標(biāo)志寄存器的內(nèi)容保存到堆棧中去 PUSH BX ;保存BX PUSH CX ;保存CX MOV BX,3E8H ;將3E8H送BX,用于控制外循環(huán)次數(shù)LP2: MOV CX,0BAH ;將0BAH送CX,用于控制內(nèi)循環(huán)
17、次數(shù)LP1: PUSHF ;把標(biāo)志寄存器的內(nèi)容保存到堆棧中去 POPF ;將保護(hù)的FLAG內(nèi)容恢復(fù),這兩條指令主要是用于延時 LOOP LP1 ;CX減1,不為0則轉(zhuǎn)至LP1處執(zhí)行 DEC BX ;BX減1 JNZ LP2 ;不為0則轉(zhuǎn)至LP2處執(zhí)行 POP CX ;恢復(fù)CX POP BX ;恢復(fù)BX POPF ;將保護(hù)的FLAG內(nèi)容恢復(fù) RET ;子程序返回DELAY1S ENDPCODE ENDS END START3、 實驗的實現(xiàn) 1、連接計算機(jī)與實驗箱,按電路圖將實驗箱內(nèi)部各個芯片和接口連接。 2、然后打開計算機(jī),執(zhí)行WAVE集成調(diào)試軟件,設(shè)置8086硬件仿真器。 3、新建文件,編寫程
18、序,并以.ASM擴(kuò)展名保存。 4、對程序進(jìn)行匯編,匯編無誤后,單擊全速執(zhí)行,然后查看運(yùn)行結(jié)果。 5、若步進(jìn)電機(jī)運(yùn)行不正常,則需檢查程序的功能是否有誤,直至達(dá)到期望結(jié)果為止。七、實驗設(shè)計總結(jié)這是一個綜合性實驗,也是我做得比較成功的一個微機(jī)接口實驗之一。通過做該實驗,使我受益匪淺,特別是對用8086 CPU去控制步進(jìn)電機(jī)有了進(jìn)一步的認(rèn)識,對步進(jìn)電機(jī)的原理也有了比較深的了解。主要表現(xiàn)在以下幾個方面: 1、對控制步進(jìn)電機(jī)(比如正轉(zhuǎn),反轉(zhuǎn),停止,加速,減速)有了初步的認(rèn)識。步進(jìn)電機(jī)并不像普通的直流電機(jī),交流電機(jī)那樣在常規(guī)下使用, 步進(jìn)電機(jī)的轉(zhuǎn)速、停止的位置只取決于脈沖信號的頻率和脈沖數(shù),而不受負(fù)載變化的影響。因此,用8086控制步進(jìn)電機(jī)不能像控制其它電機(jī)一樣。以前在雜志上看到,電腦的軟驅(qū)就是用步進(jìn)電機(jī)帶動軟盤轉(zhuǎn)動的,我也親手拆下過里面的步進(jìn)電機(jī),但是對步進(jìn)電機(jī)的工作原理,以及計算機(jī)是怎么控制步進(jìn)電機(jī)的并不了解。通過做這個綜合性實驗,我對這些有了一個初步的認(rèn)識。 2、實驗大部分的源代碼都是我自己寫的,花了大概一個晚上的時間。在做實驗之前多已經(jīng)把源代碼輸入計算機(jī)并在WAVE上通過軟件仿真的形式調(diào)試通過。這樣,在正式做實驗時我擁有了充足的
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 太陽能工程招標(biāo)文件3篇
- 工程圍擋施工合同書
- 住宅質(zhì)量保證書重要信息梳理3篇
- 勞動合同管理與員工參與3篇
- 公租房抽簽現(xiàn)場代理書3篇
- 土地承包關(guān)系的結(jié)束法律程序3篇
- 日用百貨批發(fā)市場調(diào)研考核試卷
- 毛皮制品加工質(zhì)量管理手冊考核試卷
- 生物質(zhì)燃燒發(fā)電與氣化發(fā)電對比考核試卷
- 纖維素纖維的生物醫(yī)學(xué)工程應(yīng)用進(jìn)展考核試卷
- 車輛應(yīng)急預(yù)案方案惡劣天氣
- 【部編版】語文五年級下冊第五單元《交流平臺 初試身手》精美課件
- 枇杷文化知識講座
- 浙江偉鋒藥業(yè)有限公司年產(chǎn)100噸拉米夫定、50噸恩曲他濱、30噸卡培他濱技改項目環(huán)境影響報告
- 公路養(yǎng)護(hù)安全作業(yè)規(guī)程-四級公路養(yǎng)護(hù)作業(yè)控制區(qū)布置
- 了解生活中常見的乳化現(xiàn)象
- 八年級家長會領(lǐng)導(dǎo)講話4篇
- 美世國際職位評估體系IPE3.0使用手冊
- 焦慮抑郁患者護(hù)理課件
- 戶外招牌安全承諾書
- JGT471-2015 建筑門窗幕墻用中空玻璃彈性密封膠
評論
0/150
提交評論