版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rè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è)計(jì)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 步進(jìn)電機(jī)的工作原理4</p><p> 2.6 8255的應(yīng)用設(shè)計(jì)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> 步進(jìn)電機(jī)的微機(jī)控制<
4、/b></p><p><b> 摘要:</b></p><p> 微機(jī)原理是自動(dòng)化專業(yè)和計(jì)算機(jī)專業(yè)的基礎(chǔ)專業(yè)課,是對計(jì)算機(jī)系統(tǒng)和微處理器以及匯編語言、外圍芯片的研究和學(xué)習(xí)。本設(shè)計(jì)就是基于8086CPU的微機(jī)控制,利用匯編語言,外圍芯片8255的綜合應(yīng)用實(shí)例,連上硬件驅(qū)動(dòng)電機(jī)電路,實(shí)施對步進(jìn)電機(jī)的控制。通過此課程設(shè)計(jì)鞏固了所學(xué)的知識(shí),以及對匯編、C語言的溫習(xí)
5、和升華,同時(shí)是對我們動(dòng)手、創(chuàng)新、獨(dú)立思考問題能力的培養(yǎng),為將來的計(jì)算機(jī)知識(shí)的進(jìn)一步學(xué)習(xí)打下堅(jiān)實(shí)的基礎(chǔ)。</p><p> 關(guān)鍵字:8086CPU 匯編程序 8255 驅(qū)動(dòng)</p><p><b> 1 引言</b></p><p> 在數(shù)控系統(tǒng)中,電機(jī)是控制系統(tǒng)的控制終端,所有的控制工作的目的就是為了控制電機(jī)的轉(zhuǎn)速和方向。本文主
6、要介紹一種控制步進(jìn)電機(jī)的簡單的系統(tǒng)搭建,和對電機(jī)的控制方法進(jìn)行了論述。包括硬件接口的設(shè)計(jì),匯編控制程序的編寫,此方法簡單,方便,通俗易懂。</p><p><b> 2 系統(tǒng)設(shè)計(jì)</b></p><p> 2.1系統(tǒng)的基本方案</p><p> PC機(jī)的控制模塊,轉(zhuǎn)速控制模塊,轉(zhuǎn)向控制模塊,驅(qū)動(dòng)模塊</p><p>
7、; 2.2 各模塊的方案的選擇和功能簡述</p><p> 由于本設(shè)計(jì)是基于星研環(huán)境下的匯編,以及給定實(shí)驗(yàn)室的實(shí)驗(yàn)儀器,PC機(jī)部分已經(jīng)給定,可以直接利用。</p><p> 轉(zhuǎn)向控制模塊:在設(shè)計(jì)當(dāng)中,利用《微機(jī)原理和接口技術(shù)》所學(xué)知識(shí),用8255外圍接口芯片,通過對PC口的輸出操作,實(shí)現(xiàn)對電機(jī)正反轉(zhuǎn)的控制。</p><p> 轉(zhuǎn)速控制模塊:在做8255并口實(shí)
8、驗(yàn)的時(shí)候,利用對8255 A口或B口進(jìn)行輸入操作,檢測各個(gè)開關(guān)的狀態(tài),而每個(gè)開關(guān)代表不同的速度,可以加速和減速。</p><p> 驅(qū)動(dòng)電路部分:經(jīng)過查詢,有兩種方案可以進(jìn)行驅(qū)動(dòng)。</p><p> 方案一:利用驅(qū)動(dòng)芯片L297/L298芯片。SGS公司的L297單片步進(jìn)電機(jī)控制集成電路適用于雙極性兩相步進(jìn)電機(jī)或四相單極性步進(jìn)電機(jī)的控制,與兩片H橋式驅(qū)動(dòng)芯片L298組合,組成完整的步進(jìn)
9、電機(jī)固定斬波頻率的PWM恒流斬波驅(qū)動(dòng)器。采用L297和L298實(shí)現(xiàn)的步進(jìn)電機(jī)驅(qū)動(dòng),該電路為固定斬波頻率的PWM恒流斬波驅(qū)動(dòng)方式,適用兩相雙極性步進(jìn)電機(jī),最高電壓46V,每相電流可達(dá)2A。采用此設(shè)計(jì)的步進(jìn)電機(jī)驅(qū)動(dòng)系統(tǒng),在驅(qū)動(dòng)二相或四相混合式步進(jìn)電機(jī)時(shí)運(yùn)動(dòng)平穩(wěn),速度快,噪音低,控制精高,而且可選整步半步驅(qū)動(dòng)。外觀采用鋁鎂合金,散熱性好,價(jià)格低廉,可廣泛應(yīng)用于需要驅(qū)動(dòng)電流小于2A的混合式兩相或四相步進(jìn)電機(jī)的系統(tǒng)中。</p>&l
10、t;p> 方案二:利用驅(qū)動(dòng)芯片ULN2003A。ULN2003A是高壓大電流達(dá)林頓晶體管陣列系列產(chǎn)品,具有電流增益高、工作電壓高、溫度范圍寬、帶負(fù)載能力強(qiáng)等特點(diǎn),適應(yīng)于各類要求高速大功率驅(qū)動(dòng)的系統(tǒng)。 輸入5VTTL電平,是高耐壓、大電流、內(nèi)部由七個(gè)硅NPN 達(dá)林頓管組成的驅(qū)動(dòng)芯片,灌電流可達(dá)500mA,并且能夠在關(guān)態(tài)時(shí)承受 50V 的電壓,輸出還可以在高負(fù)載電流并行運(yùn)行。伺服電機(jī)、步進(jìn)電機(jī)驅(qū)動(dòng)等電路中。</p>&
11、lt;p> 最終我選擇了方案二。這兩種驅(qū)動(dòng)電路的不同之處在于驅(qū)動(dòng)能力的不同,ULN2003的驅(qū)動(dòng)電路只有500mA,可以驅(qū)動(dòng)一些小型的電機(jī),而298,297可以帶動(dòng)2A以上的電機(jī)。因?yàn)殡m然方案一有很多的優(yōu)點(diǎn),但是要控制PWM斬波,調(diào)節(jié)占空比,對我來說有點(diǎn)困難,而且在實(shí)驗(yàn)儀器上的步進(jìn)電機(jī)的功率不大,且儀器上用的ULN2003A驅(qū)動(dòng),用方案二完全可以完成實(shí)驗(yàn),鑒于時(shí)間問題,只能在實(shí)驗(yàn)儀器上搭建硬件電路,綜合以上考慮,選擇了方案二。&
12、lt;/p><p> 2.3 最終總體方案</p><p> 以PC機(jī)為信息處理的核心,設(shè)計(jì)一塊以可編程外圍芯片8255為主體的硬件電路另加上驅(qū)動(dòng)電機(jī)部分的ULN2003A芯片驅(qū)動(dòng),配合PC機(jī)對軟件的控制處理,實(shí)現(xiàn)對電機(jī)轉(zhuǎn)速、方向、加速和減速的控制。</p><p> 2.4系統(tǒng)各模塊的最終方案圖</p><p> 系統(tǒng)設(shè)計(jì)方案結(jié)構(gòu)如圖1
13、所示</p><p> 圖1 系統(tǒng)設(shè)計(jì)總體方案</p><p> 2.5 步進(jìn)電機(jī)的工作原理</p><p> 步進(jìn)電機(jī)是將電脈沖信號(hào)轉(zhuǎn)換成角位移或線位移的機(jī)電式元件,結(jié)構(gòu)圖如圖2。這次試驗(yàn)儀上的電機(jī)是四相六線的。分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ù)對各個(gè)相組合進(jìn)行依次通電,便可以獲得相應(yīng)的節(jié)拍。本文采用的是雙四拍的節(jié)拍信號(hào)。如圖2所示為電機(jī)內(nèi)部結(jié)構(gòu).</p><p> 圖2 電機(jī)內(nèi)部鏈接</p><p><b> 正轉(zhuǎn)控制模型</b></p><p><b> 反轉(zhuǎn)控制模型</b></p><p> 2.6 82
15、55的應(yīng)用設(shè)計(jì)</p><p> 可編程外圍接口芯片8255有三個(gè)8位的輸入輸出端口A、B、C,有兩種控制字:一類是定義各端口輸入輸出的工作方式,叫方式選擇控制字。另一種是控制端口C的任一位的置位或復(fù)位操作,叫置位復(fù)位控制字。</p><p> 本設(shè)計(jì)利用8255的方式選擇控制字對其進(jìn)行操作,A作輸入端,C作輸出端,工作于方式0:基本輸入輸出方式。A接在控制轉(zhuǎn)速的開關(guān)上,C作輸出操作A
16、輸入的各種響應(yīng)。K0~K7為不同的速度控制鍵,其中K0為最低速度,K6為最高速度,K7控制電機(jī)的正反轉(zhuǎn),K7為0是反轉(zhuǎn),為1代表正轉(zhuǎn)。硬件設(shè)計(jì)如圖3所示</p><p> 圖3 8255硬件連接設(shè)計(jì)</p><p><b> 2.7 轉(zhuǎn)速的控制</b></p><p> 控制步進(jìn)電機(jī)的速度,實(shí)際上是對控制系統(tǒng)發(fā)出的脈沖頻率或換相的
17、周期,即在升速的過程中使輸出的脈沖頻率逐漸增加;在減速的過程中使輸出的脈沖頻率逐漸減少。脈沖信號(hào)的頻率可有軟件控制和硬件控制。本文中采用了軟件控制法,利用時(shí)間延遲的方法,利用不同的開關(guān),寫入不同的的延遲時(shí)間,表示不同的速度,可以加速,可以減速。</p><p><b> 部分程序如下:</b></p><p> ;定義延時(shí)子程序:延時(shí)程序是由兩曾循環(huán)程序構(gòu)成的BL
18、是外曾循環(huán)的次數(shù) CX是內(nèi)層循環(huán)的次數(shù)延遲時(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> 微機(jī)原理這門課程學(xué)完后我有很大的收獲,對匯編語言有了初步的了解。并且通過本實(shí)驗(yàn)讓我對匯編語言產(chǎn)生很大的興趣,讓我掌握了匯編編程的總體思路,本實(shí)驗(yàn)利用微機(jī)控制步進(jìn)電機(jī)的調(diào)速,在實(shí)驗(yàn)過程中遇到的問題告訴我可以通過改變
21、CX的賦值來控制電們理論的編程要結(jié)合實(shí)際的電動(dòng)機(jī)技術(shù)指標(biāo)調(diào)試延遲時(shí)間和實(shí)驗(yàn)箱的電機(jī)的轉(zhuǎn)動(dòng)速度。CX越小電動(dòng)機(jī)的轉(zhuǎn)動(dòng)速度越大。也可以通過改變BL的值來改變單個(gè)開關(guān)的速度。我們把CX稱為總開關(guān),BL成為分開關(guān)。從而達(dá)到從K0到K6 速度逐漸變快,而K7控制電動(dòng)機(jī)的反轉(zhuǎn)。當(dāng)K7閉合時(shí) 電動(dòng)機(jī)反轉(zhuǎn)。從這次實(shí)驗(yàn)中并讓我進(jìn)一步的學(xué)習(xí)到了8255的應(yīng)用和掌握了8255 的初始化和其編程。對我們以后的工作和學(xué)習(xí)起到的積極的作用。</p>
22、<p> 這次設(shè)計(jì)同時(shí)督促我查了許多的資料,讓我學(xué)到了很多的知識(shí),</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 ;定義一個(gè)字節(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 ;各個(gè)開關(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 ;顯示各個(gè)開關(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口輸出 給后面電機(jī)的正反轉(zhuǎn)提供初只 調(diào)用BIOS功能的INT16的1號(hào)功能,判斷是否按下 如果有則返回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 ;獲得各個(gè)開關(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 ;檢查各個(gè)開關(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> ;判斷完?duì)顟B(tài)則跳轉(zhuǎn)到執(zhí)行的程序 獻(xiàn)給BL復(fù)制 實(shí)現(xiàn)巖石時(shí)間 控制轉(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為延時(shí)子程序的
36、內(nèi)層循環(huán)計(jì)數(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)用延時(shí)子程序</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)用延時(shí)子程序</p><p> MOV AL,BUF</p><p> ROL AL,1</p><p> MOV BUF,AL</p><p> JMP OUT1 ;循環(huán)左移</p><p> ;延時(shí)程序是由兩曾
40、循環(huán)程序構(gòu)成的 BL 是外曾循環(huán)的次數(shù) CX是內(nèi)層循環(huán)的次數(shù)嚴(yán)實(shí)時(shí)間長則脈沖頻率小 轉(zhuǎn)速慢</p><p> DELAY PROC NEAR ;定義延時(shí)子程序</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)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 微機(jī)原理課程設(shè)計(jì)--步進(jìn)電機(jī)控制系統(tǒng)
- 微機(jī)原理課程設(shè)計(jì)---步進(jìn)電機(jī)設(shè)計(jì)
- 微機(jī)原理與技術(shù)課程設(shè)計(jì)--步進(jìn)電機(jī)控制
- 微機(jī)原理課程設(shè)計(jì)---步進(jìn)電機(jī)正反轉(zhuǎn)
- 微機(jī)原理課程設(shè)計(jì)報(bào)告--步進(jìn)電機(jī)設(shè)計(jì)
- 微機(jī)原理課程設(shè)計(jì)說明書---步進(jìn)電機(jī)控制
- 課程設(shè)計(jì)-- 微機(jī)步進(jìn)電機(jī)控制系統(tǒng)設(shè)計(jì)
- 微機(jī)原理課程設(shè)計(jì)--用8051控制步進(jìn)電機(jī)驅(qū)動(dòng)的玩具小車
- 微機(jī)接口課程設(shè)計(jì)-本地步進(jìn)電機(jī)綜合控制
- 微機(jī)控制技術(shù)課程設(shè)計(jì)---步進(jìn)電機(jī)控制系統(tǒng)設(shè)計(jì)
- 微機(jī)課程設(shè)計(jì)報(bào)告 小型步進(jìn)電機(jī)控制系統(tǒng)設(shè)計(jì)
- 微機(jī)原理課程設(shè)計(jì)---基于80x86的步進(jìn)電機(jī)控制系統(tǒng)
- 微機(jī)原理課程設(shè)計(jì)--電機(jī)調(diào)速系統(tǒng)設(shè)計(jì)
- 微機(jī)原理課程設(shè)計(jì)----路燈控制設(shè)計(jì)
- 微機(jī)原理課程設(shè)計(jì)
- 微機(jī)原理課程設(shè)計(jì)報(bào)告
- 2017微機(jī)原理課程設(shè)計(jì)
- 微機(jī)原理課程設(shè)計(jì)報(bào)告
- 微機(jī)原理課程設(shè)計(jì).rar
- 微機(jī)原理課程設(shè)計(jì).rar
評論
0/150
提交評論