微機原理課程設(shè)計---步進電機的微機控制_第1頁
已閱讀1頁,還剩9頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  目 錄</b></p><p><b>  摘要:3</b></p><p><b>  1 引言3</b></p><p><b>  2 系統(tǒng)設(shè)計3</b></p><p>  2.1系統(tǒng)的基本方案3<

2、;/p><p>  2.2 各模塊的方案的選擇和功能簡述3</p><p>  2.3 最終總體方案4</p><p>  2.4系統(tǒng)各模塊的最終方案圖4</p><p>  2.5 步進電機的工作原理4</p><p>  2.6 8255的應(yīng)用設(shè)計5</p><p>  2.7 轉(zhuǎn)速的

3、控制6</p><p>  2.8 軟件程序流程圖7</p><p>  2.9 系統(tǒng)的總體硬件原理圖8</p><p><b>  3總結(jié)與致謝8</b></p><p><b>  附件9</b></p><p><b>  步進電機的微機控制<

4、/b></p><p><b>  摘要:</b></p><p>  微機原理是自動化專業(yè)和計算機專業(yè)的基礎(chǔ)專業(yè)課,是對計算機系統(tǒng)和微處理器以及匯編語言、外圍芯片的研究和學(xué)習(xí)。本設(shè)計就是基于8086CPU的微機控制,利用匯編語言,外圍芯片8255的綜合應(yīng)用實例,連上硬件驅(qū)動電機電路,實施對步進電機的控制。通過此課程設(shè)計鞏固了所學(xué)的知識,以及對匯編、C語言的溫習(xí)

5、和升華,同時是對我們動手、創(chuàng)新、獨立思考問題能力的培養(yǎng),為將來的計算機知識的進一步學(xué)習(xí)打下堅實的基礎(chǔ)。</p><p>  關(guān)鍵字:8086CPU 匯編程序 8255 驅(qū)動</p><p><b>  1 引言</b></p><p>  在數(shù)控系統(tǒng)中,電機是控制系統(tǒng)的控制終端,所有的控制工作的目的就是為了控制電機的轉(zhuǎn)速和方向。本文主

6、要介紹一種控制步進電機的簡單的系統(tǒng)搭建,和對電機的控制方法進行了論述。包括硬件接口的設(shè)計,匯編控制程序的編寫,此方法簡單,方便,通俗易懂。</p><p><b>  2 系統(tǒng)設(shè)計</b></p><p>  2.1系統(tǒng)的基本方案</p><p>  PC機的控制模塊,轉(zhuǎn)速控制模塊,轉(zhuǎn)向控制模塊,驅(qū)動模塊</p><p>

7、;  2.2 各模塊的方案的選擇和功能簡述</p><p>  由于本設(shè)計是基于星研環(huán)境下的匯編,以及給定實驗室的實驗儀器,PC機部分已經(jīng)給定,可以直接利用。</p><p>  轉(zhuǎn)向控制模塊:在設(shè)計當(dāng)中,利用《微機原理和接口技術(shù)》所學(xué)知識,用8255外圍接口芯片,通過對PC口的輸出操作,實現(xiàn)對電機正反轉(zhuǎn)的控制。</p><p>  轉(zhuǎn)速控制模塊:在做8255并口實

8、驗的時候,利用對8255 A口或B口進行輸入操作,檢測各個開關(guān)的狀態(tài),而每個開關(guān)代表不同的速度,可以加速和減速。</p><p>  驅(qū)動電路部分:經(jīng)過查詢,有兩種方案可以進行驅(qū)動。</p><p>  方案一:利用驅(qū)動芯片L297/L298芯片。SGS公司的L297單片步進電機控制集成電路適用于雙極性兩相步進電機或四相單極性步進電機的控制,與兩片H橋式驅(qū)動芯片L298組合,組成完整的步進

9、電機固定斬波頻率的PWM恒流斬波驅(qū)動器。采用L297和L298實現(xiàn)的步進電機驅(qū)動,該電路為固定斬波頻率的PWM恒流斬波驅(qū)動方式,適用兩相雙極性步進電機,最高電壓46V,每相電流可達2A。采用此設(shè)計的步進電機驅(qū)動系統(tǒng),在驅(qū)動二相或四相混合式步進電機時運動平穩(wěn),速度快,噪音低,控制精高,而且可選整步半步驅(qū)動。外觀采用鋁鎂合金,散熱性好,價格低廉,可廣泛應(yīng)用于需要驅(qū)動電流小于2A的混合式兩相或四相步進電機的系統(tǒng)中。</p>&l

10、t;p>  方案二:利用驅(qū)動芯片ULN2003A。ULN2003A是高壓大電流達林頓晶體管陣列系列產(chǎn)品,具有電流增益高、工作電壓高、溫度范圍寬、帶負載能力強等特點,適應(yīng)于各類要求高速大功率驅(qū)動的系統(tǒng)。 輸入5VTTL電平,是高耐壓、大電流、內(nèi)部由七個硅NPN 達林頓管組成的驅(qū)動芯片,灌電流可達500mA,并且能夠在關(guān)態(tài)時承受 50V 的電壓,輸出還可以在高負載電流并行運行。伺服電機、步進電機驅(qū)動等電路中。</p>&

11、lt;p>  最終我選擇了方案二。這兩種驅(qū)動電路的不同之處在于驅(qū)動能力的不同,ULN2003的驅(qū)動電路只有500mA,可以驅(qū)動一些小型的電機,而298,297可以帶動2A以上的電機。因為雖然方案一有很多的優(yōu)點,但是要控制PWM斬波,調(diào)節(jié)占空比,對我來說有點困難,而且在實驗儀器上的步進電機的功率不大,且儀器上用的ULN2003A驅(qū)動,用方案二完全可以完成實驗,鑒于時間問題,只能在實驗儀器上搭建硬件電路,綜合以上考慮,選擇了方案二。&

12、lt;/p><p>  2.3 最終總體方案</p><p>  以PC機為信息處理的核心,設(shè)計一塊以可編程外圍芯片8255為主體的硬件電路另加上驅(qū)動電機部分的ULN2003A芯片驅(qū)動,配合PC機對軟件的控制處理,實現(xiàn)對電機轉(zhuǎn)速、方向、加速和減速的控制。</p><p>  2.4系統(tǒng)各模塊的最終方案圖</p><p>  系統(tǒng)設(shè)計方案結(jié)構(gòu)如圖1

13、所示</p><p>  圖1 系統(tǒng)設(shè)計總體方案</p><p>  2.5 步進電機的工作原理</p><p>  步進電機是將電脈沖信號轉(zhuǎn)換成角位移或線位移的機電式元件,結(jié)構(gòu)圖如圖2。這次試驗儀上的電機是四相六線的。分A、B、C、D四相,其工作方式分為單四拍(A→B→C→D→A)、雙四拍(AB→BC→CD→DA→AB)和單雙八拍(A→AB→B→BC→C→CD→D

14、→DA→A)。根據(jù)對各個相組合進行依次通電,便可以獲得相應(yīng)的節(jié)拍。本文采用的是雙四拍的節(jié)拍信號。如圖2所示為電機內(nèi)部結(jié)構(gòu).</p><p>  圖2 電機內(nèi)部鏈接</p><p><b>  正轉(zhuǎn)控制模型</b></p><p><b>  反轉(zhuǎn)控制模型</b></p><p>  2.6 82

15、55的應(yīng)用設(shè)計</p><p>  可編程外圍接口芯片8255有三個8位的輸入輸出端口A、B、C,有兩種控制字:一類是定義各端口輸入輸出的工作方式,叫方式選擇控制字。另一種是控制端口C的任一位的置位或復(fù)位操作,叫置位復(fù)位控制字。</p><p>  本設(shè)計利用8255的方式選擇控制字對其進行操作,A作輸入端,C作輸出端,工作于方式0:基本輸入輸出方式。A接在控制轉(zhuǎn)速的開關(guān)上,C作輸出操作A

16、輸入的各種響應(yīng)。K0~K7為不同的速度控制鍵,其中K0為最低速度,K6為最高速度,K7控制電機的正反轉(zhuǎn),K7為0是反轉(zhuǎn),為1代表正轉(zhuǎn)。硬件設(shè)計如圖3所示</p><p>  圖3 8255硬件連接設(shè)計</p><p><b>  2.7 轉(zhuǎn)速的控制</b></p><p>  控制步進電機的速度,實際上是對控制系統(tǒng)發(fā)出的脈沖頻率或換相的

17、周期,即在升速的過程中使輸出的脈沖頻率逐漸增加;在減速的過程中使輸出的脈沖頻率逐漸減少。脈沖信號的頻率可有軟件控制和硬件控制。本文中采用了軟件控制法,利用時間延遲的方法,利用不同的開關(guān),寫入不同的的延遲時間,表示不同的速度,可以加速,可以減速。</p><p><b>  部分程序如下:</b></p><p>  ;定義延時子程序:延時程序是由兩曾循環(huán)程序構(gòu)成的BL

18、是外曾循環(huán)的次數(shù) CX是內(nèi)層循環(huán)的次數(shù)延遲時間長則脈沖頻率小轉(zhuǎn)速慢</p><p>  DELAY PROC NEAR ;</p><p>  DELAY1: MOV CX,0FFH</p><p>  MOV BL,10H</p><p>  DELAY2: LOOP DELAY2</p&

19、gt;<p>  DEC BL</p><p>  JNZ DELAY1 </p><p><b>  RET</b></p><p>  DELAY ENDP</p><p>  2.8 軟件程序流程圖</p><p><b>  圖4軟件流程圖<

20、/b></p><p>  2.9 系統(tǒng)的總體硬件原理圖</p><p><b>  3總結(jié)與致謝</b></p><p>  微機原理這門課程學(xué)完后我有很大的收獲,對匯編語言有了初步的了解。并且通過本實驗讓我對匯編語言產(chǎn)生很大的興趣,讓我掌握了匯編編程的總體思路,本實驗利用微機控制步進電機的調(diào)速,在實驗過程中遇到的問題告訴我可以通過改變

21、CX的賦值來控制電們理論的編程要結(jié)合實際的電動機技術(shù)指標(biāo)調(diào)試延遲時間和實驗箱的電機的轉(zhuǎn)動速度。CX越小電動機的轉(zhuǎn)動速度越大。也可以通過改變BL的值來改變單個開關(guān)的速度。我們把CX稱為總開關(guān),BL成為分開關(guān)。從而達到從K0到K6 速度逐漸變快,而K7控制電動機的反轉(zhuǎn)。當(dāng)K7閉合時 電動機反轉(zhuǎn)。從這次實驗中并讓我進一步的學(xué)習(xí)到了8255的應(yīng)用和掌握了8255 的初始化和其編程。對我們以后的工作和學(xué)習(xí)起到的積極的作用。</p>

22、<p>  這次設(shè)計同時督促我查了許多的資料,讓我學(xué)到了很多的知識,</p><p><b>  附件</b></p><p><b>  部分匯編程序</b></p><p>  DATA SEGMENT</p><p>  COM_ADDDW 00F3H;控制口偏移量</

23、p><p>  PA_ADDDW 00F0H;PA口偏移量</p><p>  PB_ADDDW 00F1H;PB口偏移量</p><p>  PC_ADDDW 00F2H ;PC口偏移量</p><p>  BUF DB 0 ;定義一個字節(jié)數(shù)據(jù)(用來存入開關(guān)的狀態(tài))</

24、p><p>  MES DB 'K0-K6 ARE SPEED CONTYOL',0AH,0DH;寫入一些文字用來描述</p><p>  DB 'K6 IS THE HIGHEST SPEED ',0AH,0DH ;各個開關(guān)所代表的速度</p><p>  DB 'K0 IS THE LOWEST SPEED',0AH,

25、0DH ;K0為最低速,K6為最高速</p><p>  DB 'K7 IS THE DIRECTION CONTROL',0AH,0DH,'$';K7為方向鍵</p><p><b>  DATA ENDS</b></p><p><b>  ;2.代碼段代碼</b></p>

26、<p>  CODE SEGMENT</p><p>  ASSUME CS:CODE,DS:DATA</p><p><b>  START:</b></p><p>  MOV AX,DATA</p><p>  MOV DS,AX ;程序的初始化</p><p>

27、;  MOV DX,OFFSET MES</p><p>  MOV AH,09</p><p>  INT 21H ;顯示各個開關(guān)的信息</p><p>  MOV DX,COM_ADD</p><p>  MOV AL,92H ;(92H=10010010B,為控制字)</p>

28、<p>  OUT DX,AL ; C口做輸出,A口做輸入</p><p>  ;送33H到A口輸出 給后面電機的正反轉(zhuǎn)提供初只 調(diào)用BIOS功能的INT16的1號功能,判斷是否按下 如果有則返回DOS 如果沒有判斷開關(guān)的狀態(tài)。</p><p>  MOV BUF,33H</p><p>  OUT1: MOV AL,B

29、UF</p><p>  MOV DX,PC_ADD</p><p>  OUT DX,AL ;間接尋址獲得AL的值</p><p>  PUSH DX</p><p>  MOV AH,06h</p><p>  MOV D1,0ffh</p><p>

30、  INT 21H ;檢查是否有鍵按下 </p><p>  POP DX</p><p>  JE IN1 ;有鍵按下就停止,沒有則轉(zhuǎn)向IN1去執(zhí)行</p><p>  MOV AH,4CH</p><p>  INT 21H</p>&l

31、t;p>  IN1: MOV DX,PA_ADD</p><p>  IN AL,DX ;獲得各個開關(guān)的狀態(tài) </p><p>  TEST AL,01H</p><p>  JNZ K0</p><p>  TEST AL,02H</p>&l

32、t;p>  JNZ K1</p><p>  TEST AL,04H</p><p>  JNZ K2</p><p>  TEST AL,08H</p><p>  JNZ K3</p><p>  TEST AL,10H</p><p>  J

33、NZ K4</p><p>  TEST AL,20H</p><p>  JNZ K5</p><p>  TEST AL,40H</p><p>  JNZ K6 ;檢查各個開關(guān)的狀態(tài),分別轉(zhuǎn)向相應(yīng)的程序 </p><p>  STOP: MOV DX,PA

34、_ADD</p><p>  MOV AL,0FFH</p><p>  JMP OUT1 ;置停止信息并轉(zhuǎn)向OUT1</p><p>  ;判斷完狀態(tài)則跳轉(zhuǎn)到執(zhí)行的程序 獻給BL復(fù)制 實現(xiàn)巖石時間 控制轉(zhuǎn)速 然后判斷K7 的狀態(tài)是1 還是0 。</p><p>  K0: MOV BL,10H&l

35、t;/p><p>  SAM: TEST AL,80H;繼續(xù)判斷K7是否為0</p><p>  JZ ZX0 ;為0就轉(zhuǎn)向ZX0(循環(huán)右移程序)</p><p>  JMP NX0 ;為1就轉(zhuǎn)向NX0(循環(huán)左移程序)</p><p>  K1: MOV BL,2FH ;BL為延時子程序的

36、內(nèi)層循環(huán)計數(shù)器</p><p>  JMP SAM</p><p>  K2: MOV BL,4FH</p><p>  JMP SAM</p><p>  K3: MOV BL,6FH</p><p>  JMP SAM</p><p>

37、  K4: MOV BL,8FH</p><p>  JMP SAM</p><p>  K5: MOV BL,0AFH</p><p>  JMP SAM</p><p>  K6: MOV BL,0CFH</p><p>  JMP SAM&l

38、t;/p><p>  ZX0: CALL DELAY ;調(diào)用延時子程序</p><p>  MOV AL,BUF</p><p>  ROR AL,1</p><p>  MOV BUF,AL</p><p>  JMP OUT1 ;循環(huán)右移</p><

39、p>  NX0: CALL DELAY;調(diào)用延時子程序</p><p>  MOV AL,BUF</p><p>  ROL AL,1</p><p>  MOV BUF,AL</p><p>  JMP OUT1 ;循環(huán)左移</p><p>  ;延時程序是由兩曾

40、循環(huán)程序構(gòu)成的 BL 是外曾循環(huán)的次數(shù) CX是內(nèi)層循環(huán)的次數(shù)嚴實時間長則脈沖頻率小 轉(zhuǎn)速慢</p><p>  DELAY PROC NEAR ;定義延時子程序</p><p>  MOV CX,0FFH</p><p>  DELAY2: LOOP DELAY2</p><p>  DEC BL</p>

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論