




已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
東北大學(xué)接口技術(shù)報告步進電機控制系統(tǒng)學(xué) 院 XXXXXXXXXXXXXXXXX班 級 XXXXXXXXXXXXXXXXXXX 姓 名 XXXXX學(xué) 號 XXXXXXXXXX日 期 XXXXXXXXXXXX【實驗?zāi)康摹?、利用PC機和實驗箱,設(shè)計并實現(xiàn)給定步進電機的控制。2、進一步掌握對芯片的硬件和軟件綜合設(shè)計方法。3、了解微機的工作原理,微型計算機的基本結(jié)構(gòu),接口技術(shù)及匯編語言程序設(shè)計。【實驗內(nèi)容】1、控制步進電機轉(zhuǎn)動,要求轉(zhuǎn)速1步/秒。2、基于實驗箱,設(shè)計并實現(xiàn)接口和驅(qū)動電路。3、用匯編語言編制程序。4、改善步進電機的控制性能,控制步進電機轉(zhuǎn)/停;正轉(zhuǎn)/反轉(zhuǎn);改變轉(zhuǎn)速(至少3檔);單步?!緦嶒炘O(shè)備】1)MUT-III型實驗箱2)計算機【總體設(shè)計】1、8253定時控制步進速度。2、8255輸出控制脈沖,再經(jīng)75452驅(qū)動電機。3、系統(tǒng)運行時,通過按鍵的不同來控制電機轉(zhuǎn)/停;正轉(zhuǎn)/反轉(zhuǎn);改變轉(zhuǎn)速(至少3檔);單步?!居布O(shè)計】 因采用了PC機和PC總線接口應(yīng)用平臺,硬件電路相對簡單,除利用了PC機本身資源外(如中斷資源),還利用了平臺上的8253計數(shù)/定時器、8255并行接口單元,再加上外圍驅(qū)動電路,便構(gòu)成可步進電機控制電路,硬件原理圖如圖1:圖中75452元件是正與非驅(qū)動器,OC門輸出,所以加上拉電阻;8253的作用是輸出定時信號向CPU申請中斷要求輸出電機走步的控制信號。圖1【芯片介紹】(1)8253定時器/計數(shù)器電路該電路由片8253組成,8253的片選輸入端插孔CS8253,數(shù)據(jù)口、地址、讀、寫線均已接好,T0、T1、T2時鐘輸入分別為8253CLK0、8253CLK1、8253CLK2。定時器輸出、GATE控制孔對應(yīng)如下:OUT0、GATE0、OUT1、GATE1、OUT2、GATE2、CLK2。原理圖如下:注:GATE信號無輸入時為高電平(2)82558255可編程并口電路:該電路由片8255組成,8255的數(shù)據(jù)口,地址,讀寫線,復(fù)位控制線均已接好,片選輸入端插孔為8255CS,A,B,C三端口的插孔分別為:PA0PA7,PB0PB7,PC0PC7.電路原理如圖: 8255A是比較常用的一種并行接口芯片,其特點在許多教科書中均有介紹。8255A有三個8位的輸入輸出端口,通常將A端口作為輸入用,B端口作為輸出用,C端口作為輔助控制用,本實驗也是如此。實驗中,8255A工作于基本輸入輸出方式(方式0)。 另外,從原理圖中看到,8255芯片的端口選擇信號A0、A1,分別與地址總線A1、A2相連,因此,8255的四個端口地址應(yīng)是:04A0H、04A2H、04A4H、04A6H。用8255A的PA03分別控制步進電機的A、B、C、D四相,“1”則該相繞組通電,“0”則不通電。步進電機的驅(qū)動原理是使各相繞組依次通電來使其作步進式旋轉(zhuǎn),通過通電順序和切換頻率來調(diào)節(jié)其轉(zhuǎn)速和轉(zhuǎn)向。步進電機可以四相四拍或四相八拍方式工作,即通電順序為:ABCDA;AABBBCCCDDDAA。按相反的順序即可改變電機的旋轉(zhuǎn)方向。本實驗系統(tǒng)采用的是:ABBCCDDAAB。B8255APA17407PA0+12VPA3PA2ACD【軟件設(shè)計】 本設(shè)計通過軟件編程使8253輸出定時信號申請中斷,CPU發(fā)出命令由8255的下C口輸出脈寬信號來控制步進電機的走步。電機的轉(zhuǎn)動和停止則是通過8255的A0端子輸出高低電平來繼續(xù)或暫停8253的計數(shù)從而控制中斷申請來實現(xiàn)的。8253的定時時間決定了電機轉(zhuǎn)動的快慢。相對簡單的硬件電路,使軟件設(shè)計成為本實驗的中心內(nèi)容??刂葡到y(tǒng)分五個功能模塊,分別是轉(zhuǎn)速設(shè)置、轉(zhuǎn)向設(shè)置、固定步數(shù)轉(zhuǎn)動、連續(xù)轉(zhuǎn)動、退出系統(tǒng),在前四個功能塊中都設(shè)置了ESC鍵來取消或暫停執(zhí)行當(dāng)前操作。(1)轉(zhuǎn)速設(shè)置根據(jù)賦給計數(shù)器的計數(shù)初值,我們可以計算出步進電機各相脈寬信號的頻率和電機轉(zhuǎn)速,也可以反過來根據(jù)對電機轉(zhuǎn)速要求,計算并調(diào)整計算初值。這里采用的是8253的0號計數(shù)器和方波產(chǎn)生方式,輸入時鐘為f=46875hz,設(shè)計數(shù)初值為n,要求轉(zhuǎn)速為0.25轉(zhuǎn)/秒,對四相步進電機而言即為5步/秒,則有:f / n = 5 n=f/5=46875/5=9375反過來,當(dāng)計數(shù)器初值確定時,決定了電機的轉(zhuǎn)速,如計數(shù)初值為0時,有電機轉(zhuǎn)速為1步每秒(本設(shè)計中最慢速度);當(dāng)計數(shù)初值為125時,電機轉(zhuǎn)速為375步每秒(本設(shè)計中最快速度)。具體設(shè)置初值及轉(zhuǎn)速見表2。步速轉(zhuǎn)速按鍵計數(shù)初值10.05F14687530.15F21562550.25F39375150.75F43125251.25F51875753.75F66251256.25F737537518.75F8125(2)轉(zhuǎn)向設(shè)置在內(nèi)存單元中設(shè)置一方向標(biāo)志FLAG1,假設(shè)FLAG1為0時為順時針轉(zhuǎn)向,則當(dāng)設(shè)置FLAG1不為0時即可使電機轉(zhuǎn)逆時針轉(zhuǎn)動。判斷操作在中斷子程序中進行。(3)連續(xù)轉(zhuǎn)動設(shè)置在此功能模塊中,通過讓8255的A0口輸出高電平到8253的GATE0使其0號計數(shù)器繼續(xù)工作(平常時A0口為低電平使8253的0號計數(shù)器暫停計數(shù)),并開放中斷進入循環(huán)等待中斷狀態(tài),在等待狀態(tài)中若有鍵盤的ESC鍵按下,則認(rèn)為暫停要求而關(guān)閉中斷和暫停8253計數(shù)回到主菜單。需要繼續(xù)原轉(zhuǎn)向原速度運行,再選擇此功能模塊即可。(4)固定步數(shù)轉(zhuǎn)動設(shè)置通過鍵盤輸入0到999的十進制值來設(shè)定轉(zhuǎn)動步數(shù)。判斷已轉(zhuǎn)步數(shù)即中斷次數(shù)是這樣實現(xiàn)的,設(shè)置一內(nèi)存單元FLAG0,中斷時在中斷子程序中求反,而在循環(huán)等待中斷的程序中判斷其有無變化,無變化繼續(xù)循環(huán),有變化則使計數(shù)寄存器CX減1后繼續(xù)循環(huán),當(dāng)CX=0時退出等待中斷狀態(tài),并關(guān)中斷和暫停8253計數(shù)。在這個等待程序中也判斷鍵盤有無ESC鍵按下,若有則認(rèn)為暫停要求而退出。(6)中斷子程序在中斷子程序中,將值為11001100B的內(nèi)存單元循環(huán)左移或右移一位,通過8255的下C口輸出低四位,控制步進電機的相序變化,從而使電機連續(xù)轉(zhuǎn)動。左移或右移將使電機順時針或逆時針轉(zhuǎn)動,它由標(biāo)志FLAG1來決定?!境绦蛄鞒虉D】(1)主程序框圖如圖2圖2 主程序框圖(2)中斷服務(wù)子程序框圖如圖3圖3 中斷服務(wù)子程序框圖(3)速度設(shè)置自程序和方向設(shè)置單元程序的流程比較簡單,如圖4,5。(4)固定步數(shù)轉(zhuǎn)動單元子程序框圖如圖6圖6 固定步數(shù)轉(zhuǎn)動單元子程序框圖(5)連續(xù)轉(zhuǎn)動單元子程序框圖如圖7圖7 連續(xù)轉(zhuǎn)動單元子程序框圖(6)8253和8255初始化子程序、菜單顯示子程序請參考程序清單?!緦嶒灣绦颉緿ATA SEGMENTIRQ EQU 0DHIMR1 EQU 0DFHIMR2 EQU 20HPA55 EQU 280HPC55 EQU 282HCTL55 EQU 283HP0_53 EQU 290HCTL53 EQU 293HINTA0 EQU 20HINTA1 EQU 21HMES0 DB 0DH,0AH,* STEPPING MOTOR CONTROL SYSTEM ! *,0DH,0AH,0DH,0AH DB PRESS 1 TO SPEED SET!,0DH,0AH DB PRESS 2 TO DIRECTION SET! ,0DH,0AH DB PRESS 3 TO TURN REQUIRED STEPS! ,0DH,0AH DB PRESS 4 TO START RUNNING!,0DH,0AH DB PRESS 5 TO EXIT!,0DH,0AH,$ MES1 DB 0DH,0AH,* SPEED SET *,0DH,0AH,0DH,0AH DB PRESS A FOR 0.05 R/S !,0DH,0AH DB PRESS B FOR 0.15 R/S !,0DH,0AH DB PRESS C FOR 0.25 R/S !,0DH,0AH DB PRESS D FOR 0.75 R/S !,0DH,0AH DB PRESS E FOR 1.25 R/S !,0DH,0AH DB PRESS F FOR 3.75 R/S !,0DH,0AH DB PRESS G FOR 6.25 R/S !,0DH,0AH DB PRESS H FOR 18.75 R/S !,0DH,0AH DB PRESS ESC TO CANCEL !,0DH,0AH,$ MES2 DB 0DH,0AH,* DIRECTION SET *,0DH,0AH,0DH,0AH DB PRESS 1 TO RIGHT !, 0DH,0AH DB PRESS 0 TO LEFT !,0DH,0AH,$ MES3 DB 0DH,0AH,* STEPS(1000) SET *,0DH,0AH,0DH,0AH DB PRESS ESC TO CANCEL !,0DH,0AH DB PLEASE INPUT STEPS:,$ MES4 DB 0DH,0AH, RUNNING .,0DH,0AH DB PRESS ESC TO STOP!,0DH,0AH,$ INTSEG DW ? INTOFF DW ? INTIMR DB ? FLAG1 DB 0 FLAG0 DB 0 NUM DB 11001100B CNTFF DW 0B71BH,3D09H,249FH,0C35H,753H,271H,177H,7DH DATA ENDS STACK SEGMENT PARA STACK STACK DB 256 DUP(?) STACK ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK START: MOV AX,DATA MOV DS,AX MOV DX,CTL53 MOV AL,00110110B OUT DX,AL MOV DX,P0_53 MOV AL,1BH OUT DX,AL MOV AL,0B7H OUT DX,AL MOV DX,CTL55 MOV AL,10000000B OUT DX,AL MOV DX,PA55 MOV AL,0 OUT DX,AL MOV AL,11001100B MOV DX,PC55 OUT DX,AL CLI MOV AH,35H MOV AL,IRQ INT 21H MOV AX,ES MOV INTSEG,AX MOV INTOFF,BX PUSH DS MOV AX,SEG INTPROC MOV DS,AX LEA DX,INTPROC MOV AH,25H MOV AL,IRQ INT 21H MOV DX,INTA1 IN AL,DX MOV INTIMR,AL AND AL,IMR1 OUT DX,AL POP DS STI MAIN: LEA DX,MES0 MOV AH,09H INT 21H LP0: MOV AH,8 INT 21H CMP AL,1 JE LP1 CMP AL,2 JE LP2 CMP AL,3 JE LP3 CMP AL,4 JE LP4 CMP AL,5 JE EXIT JMP LP0 LP1: CALL AA JMP MAIN LP2: CALL BB JMP MAIN LP3: CALL CC JMP MAIN LP4: CALL DD1 JMP MAIN EXIT: CLI MOV AL,INTIMR MOV DX,INTA1 OUT DX,AL MOV DX,INTOFF MOV AX,INTSEG MOV DS,AX MOV AH,25H MOV AL,IRQ INT 21H STI MOV AH,4CH INT 21H INTPROC PROC PUSH AX PUSH DS PUSH DX PUSH CX STI MOV AX,DATA MOV DS,AX CMP FLAG1,0 JE KK ROR NUM,1 JMP YY KK: ROL NUM,1 YY: MOV AL,NUM AND AL,00001111B MOV DX,PC55 OUT DX,AL NOT FLAG0 ;INC FLAG0 MOV DX,INTA0 MOV AL,20H OUT DX,AL POP CX POP DX POP DS POP AX IRET INTPROC ENDP AA PROC PUSH AX PUSH BX PUSH DX PUSH DI MOV AH,9 LEA DX,MES1 INT 21H MOV AH,8 INT 21H CMP AL,1BH JZ KK0 SUB AL,A MOV AH,0 ADD AX,AX MOV DI,AX MOV BX,OFFSET CNTFF MOV AX,WORD PTR BX+DI MOV DX,P0_53 OUT DX,AL XCHG AH,AL OUT DX,AL KK0: POP DI POP DX POP BX POP AX RET AA ENDP BB PROC PUSH AX PUSH DX MOV AH,9 LEA DX,MES2 INT 21H MOV AH,8 INT 21H CMP AL,1BH JZ XX SUB AL,0 MOV FLAG1,AL XX: POP DX POP AX RET BB ENDP CC PROC PUSH AX PUSH BX PUSH CX PUSH DX MOV AH,9 MOV DX,OFFSET MES3 INT 21H MOV BX,0 GETCHAR: MOV AH,1 INT 21H SUB AL,30H JL XX0 CMP AL,09H JG XX0 MOV AH,0 XCHG AX,BX MOV CX,0AH MUL CX XCHG AX,BX ADD BX,AX JMP GETCHAR XX0: MOV AH,9 LEA DX,MES4 INT 21H MOV CX,BX ; MOV CX,10 STI MOV DX,PA55 MOV AL,1 OUT DX,AL MOV BL,FLAG0 XX1: ;CLI MOV AH,6 MOV DL,0FFH INT 21H CMP AL,1BH JE XX2 ;STI HLT CMP BL,FLAG0 JE XX1 MOV BL,FLAG0 LOOP XX1 XX2: CLI MOV DX,PA55 MOV AL,0 OUT DX,AL POP DX POP CX POP BX POP AX RET CC ENDP DD1 PROC PUS
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025網(wǎng)絡(luò)設(shè)備采購合同模板
- 2025年水利管理及技術(shù)咨詢服務(wù)項目建議書
- 2025合作伙伴簽約儀式活動合同補充協(xié)議
- 2025四川省委托拍賣合同
- 2025年智能采購系統(tǒng)技術(shù)合同協(xié)議書
- 2025共同擔(dān)保借款合同書
- 2025陜西勞動合同樣本
- 2025混凝土澆筑勞務(wù)合同范本
- 《企業(yè)員工安全培訓(xùn)》課件
- 2025年惡唑禾草靈項目合作計劃書
- 《消防器材使用教程》課件
- 《小兒靜脈穿刺》課件
- DB11-T 212-2024 園林綠化工程施工及驗收規(guī)范
- 托盤貿(mào)易合作合同范例
- 勞動節(jié)安全教育家長會
- 品類運營管理
- 用工單位與勞務(wù)派遣公司合同
- 我的家鄉(xiāng)浙江衢州
- 國家開放大學(xué)國開電大《兒童心理學(xué)》形考任務(wù)+大作業(yè)答案
- 股骨下端骨折的臨床特征
- 學(xué)前兒童衛(wèi)生與保健-期末大作業(yè):案例分析-國開-參考資料
評論
0/150
提交評論