

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p><b> 課程設(shè)計任務(wù)書</b></p><p> 題 目: 步進電機設(shè)計</p><p><b> 初始條件:</b></p><p> 用匯編語言設(shè)計一個步進電機的控制,在Proteus仿真環(huán)境下完成,功能上實現(xiàn)步進電機的基本功能。</p><p> 要求完成的主
2、要任務(wù): (包括課程設(shè)計工作量及其技術(shù)要求,以及說明書撰寫等具體要求)</p><p> 1. 通過鍵盤控制步進電機的啟動和停止,正轉(zhuǎn)和反轉(zhuǎn);</p><p> 2. 編制完整的程序并調(diào)試;</p><p> 3.撰寫符合學(xué)校要求的課程設(shè)計說明書,內(nèi)容包括:摘要、目錄、正文、參考文獻、附錄(程序清單)。正文部分包括:設(shè)計任務(wù)及要求、方案比較及論證、軟件設(shè)計說明
3、(軟件思想,流程,源程序設(shè)計及說明等)、程序調(diào)試說明和結(jié)果分析、課程設(shè)計收獲及心得體會。</p><p><b> 時間安排:</b></p><p> 1. 1月4日----1月5日 查閱資料及方案設(shè)計</p><p> 1月5日----1月8日 編程</p><p> 1月9日----1月11日 調(diào)
4、試程序</p><p> 1月12日----1月13日 撰寫課程設(shè)計報告</p><p> 1月14日 上午準(zhǔn)備答辯,下午正式答辯</p><p> 指導(dǎo)教師簽名: 年 月 日</p><p> 系主任(或責(zé)任教師)簽名:
5、 年 月 日</p><p><b> 摘要</b></p><p> 步進電機是將電脈沖信號轉(zhuǎn)變?yōu)榻俏灰苹蚓€位移的開環(huán)控制元件。在非超載的情況下,電機的轉(zhuǎn)速、停止的位置只取決于脈沖信號的頻率和脈沖數(shù),而不受負載變化的影響,即給電機加一個脈沖信號,電機則轉(zhuǎn)過一個步距角。步進電機轉(zhuǎn)動控制是通過操作實現(xiàn)電機的加速減速正轉(zhuǎn)與反轉(zhuǎn),廣泛用于現(xiàn)實社
6、會生活生產(chǎn)中,如高樓中的電梯,工廠中的機床。因此,研究步進電機轉(zhuǎn)動控制,有著非?,F(xiàn)實的意義。</p><p> 本課程設(shè)計報告通過步進電機的基本介紹、系統(tǒng)的軟硬件設(shè)計(包括最小系統(tǒng)介紹、接口電路設(shè)計、延時程序設(shè)計、步進電機的驅(qū)動程序設(shè)計等幾個主要模塊)、完整的匯編語言程序等,我們完成了對步進電機系統(tǒng)的設(shè)計,并完成了相應(yīng)的任務(wù),如正轉(zhuǎn)、反轉(zhuǎn)、啟動停止等,使我們進一步掌握了匯編語言,也使我們能很好的把書本上的知識與
7、實踐相結(jié)合,大大提高了我們的動手能力。</p><p> 關(guān)鍵字:步進電機;8086CPU;8255可編程I/O接口芯片;8253可編程定時/計數(shù)器;74LS138譯碼器;匯編語言 </p><p><b> 步進電機控制設(shè)計</b></p><p> 第一章 設(shè)計要求與思路</p><p> 1.1、設(shè)計的目的
8、與要求</p><p> 設(shè)計目的:用匯編語言設(shè)計一個步進電機的控制,在Proteus仿真環(huán)境下完成,功能上實現(xiàn)步進電機的基本功能。</p><p> 設(shè)計要求:通過鍵盤控制步進電機的啟動和停止,正轉(zhuǎn)和反轉(zhuǎn);編制完整的程序并在Proteus仿真環(huán)境下進行調(diào)試;撰寫符合學(xué)校要求的課程設(shè)計說明書,內(nèi)容包括:摘要、目錄、正文、參考文獻、附錄(程序清單)。正文部分包括:設(shè)計任務(wù)及要求、方案比較
9、及論證、軟件設(shè)計說明(軟件思想,流程,源程序設(shè)計及說明等)、程序調(diào)試說明和結(jié)果分析、課程設(shè)計收獲及心得體會。</p><p> 1.2、設(shè)計思路與構(gòu)想</p><p> 本步進電機控制系統(tǒng)通過兩個鍵盤來控制步進電機的正傳和反轉(zhuǎn),當(dāng)K0接通,即K0=0時,步進電機順時針旋轉(zhuǎn),旋轉(zhuǎn)的角度取決于K0接通時間長短,接通時間越長,旋轉(zhuǎn)角度越大,當(dāng)K1接通,即K1=0時,步進電機逆時針旋轉(zhuǎn),旋轉(zhuǎn)角
10、度同樣取決于鍵盤接通時間長短。</p><p><b> 第二章 系統(tǒng)概述</b></p><p> 步進電機控制原理介紹</p><p> 步進電機是將電脈沖信號轉(zhuǎn)變?yōu)榻俏灰苹蚓€位移的開環(huán)控制元件。在非超載的情況下,電機的轉(zhuǎn)速、停止的位置只取決于脈沖信號的頻率和脈沖數(shù),而不受負載變化的影響,即給電機加一個脈沖信號,電機則轉(zhuǎn)過一個步距角。
11、</p><p> 2.1、步進電機的控制原理</p><p> 步進電機2 個相鄰磁極之間的夾角為 60°。線圈繞過相對的2 個磁極 ,構(gòu)成一相 A-A′,B-B′,C-C′。磁極上有5 個均勻分布的矩形小齒 ,轉(zhuǎn)子上沒有繞組 ,而有 40 個小齒均勻分布在其圓周上 ,且相鄰2 個齒之間的夾角為9°</p><p> 當(dāng)某組繞組通電時 ,
12、相應(yīng)的 2 個磁極就分別形成N-S極 ,產(chǎn)生磁場 ,并與轉(zhuǎn)子形成磁路。如果這時定子的小齒與轉(zhuǎn)子沒有對齊 ,則在磁場的作用下轉(zhuǎn)子將轉(zhuǎn)動一定的角度 ,使轉(zhuǎn)子齒與定子齒對齊 ,從而使步進電機向前“走”一步。</p><p> 2.2 步進電機的控制方式</p><p> 如果通過單片機按順序給繞組施加有序的脈沖電流 ,就可以控制電機的轉(zhuǎn)動 ,從而實現(xiàn)數(shù)字 →角度的轉(zhuǎn)換。轉(zhuǎn)動的角度大小與施加的
13、脈沖數(shù)成正比 ,轉(zhuǎn)動的速度與脈沖頻率成正比 ,而轉(zhuǎn)動方向則與脈沖的順序有關(guān)。以三相步進電機為例 ,電流脈沖的施加共有3 種方式。</p><p> 1 單相三拍方式 按單相繞組施加電流脈沖 :→A→B →C→正轉(zhuǎn); →A→C→B →反轉(zhuǎn)。</p><p> 2 雙相三拍方式 按雙相繞組施加電流脈沖 :→AB →BC→CA→正轉(zhuǎn); →AC→CB →AB →反轉(zhuǎn)。</p>&
14、lt;p> 3 三相六拍方式 單相繞組和雙相繞組交替施加電流脈沖 : →A→AB →B →BC→C→CA →正轉(zhuǎn); →A→AC→C→CB →B →BA→反轉(zhuǎn)。</p><p> 單相三拍方式的每一拍步進角為3°,三相六拍的步進角則為1.5°,因此 ,在三相六拍下,步進電機的運行反轉(zhuǎn)平穩(wěn)柔和,但在同樣的運行角度與速度下 ,三相六拍驅(qū)動脈沖的頻率需提高1 倍,對驅(qū)動開關(guān)管的開關(guān)特性要求較
15、高。</p><p> 2.3步進電機的驅(qū)動方式</p><p> 步進電機常用的驅(qū)動方式是全電壓驅(qū)動,即在電機移步與鎖步時都加載額定電壓。為了防止電機過流及改善驅(qū)動特性,需加限流電阻。由于步進電機鎖步時,限流電阻要消耗掉大量的功率,故限流電阻要有較大的功率容量,并且開關(guān)管也要有較高的負載能力。</p><p> 步進電機的另一種驅(qū)動方式是高低壓驅(qū)動,即在電機
16、移步時,加額定或超過額定值的電壓,以便在較大的電流驅(qū)動下,使電機快速移步;而在鎖步時,則加低于額定值的電壓,只讓電機繞組流過鎖步所需的電流值。這樣,既可以減少限流電阻的功率消耗 ,又可以提高電機的運行速度,但這種驅(qū)動方式的電路要復(fù)雜一些。驅(qū)動脈沖的分配可以使用硬件方法,即用脈沖分配器實現(xiàn)。現(xiàn)在 ,脈沖分配器已經(jīng)標(biāo)準(zhǔn)化、芯片化 ,市場上可以買到。但硬件方法結(jié)構(gòu)復(fù)雜,成本也較高。</p><p> 圖2-1步進電機
17、驅(qū)動圖</p><p> 2.4步進電機控制工作原理</p><p> 步進電機實際上是一個數(shù)字\角度轉(zhuǎn)換器,也是一個串行的數(shù)\模轉(zhuǎn)換器。步進電機的基本控制包括啟??刂啤⑥D(zhuǎn)向控制、速度控制、換向控制4 個方面。從結(jié)構(gòu)上看 ,步進電機分為三相、四相、五相等類型 ,常用的則以三相為主。本次課程設(shè)計我們選用四相步進電機進行系統(tǒng)設(shè)計。步進電機控制工作原理系統(tǒng)流程圖如圖2-2:</p>
18、;<p> 圖2-2 步進電機控制工作原理系統(tǒng)流程圖</p><p> 2.4.1步進電機的啟??刂?lt;/p><p> 步進電機由于其電氣特性,運轉(zhuǎn)時會有步進感 ,即振動感。為了使電機轉(zhuǎn)動平滑 ,減小振動 ,可在步進電機控制脈沖的上升沿和下降沿采用細分的梯形波 ,可以減小步進電機的步進角 ,提高電機運行的平穩(wěn)性。在步進電機停轉(zhuǎn)時 ,為了防止因慣性而使電機軸產(chǎn)生順滑 ,則
19、需采用合適的鎖定波形 ,產(chǎn)生鎖定磁力矩 ,鎖定步進電機的轉(zhuǎn)軸 ,使步進電機的轉(zhuǎn)軸不能自由轉(zhuǎn)動。 </p><p> 2.4.2步進電機的轉(zhuǎn)向控制</p><p> 如果給定工作方式正序換相通電 ,步進電機正轉(zhuǎn)。若步進電機的勵磁方式為四相八拍 ,即 A-AB-B-BC-C-CD-D-DA-A。如果按反序通電換相 ,即則電機就反轉(zhuǎn)。其他方式情況類似。</p><p>
20、;<b> 2.5系統(tǒng)設(shè)計思路</b></p><p> 系統(tǒng)總體設(shè)計思路:本次設(shè)計采用8086作為控制的核心元件,利用8255的C口控制步進電機,同時獲取控制轉(zhuǎn)動方向(即正轉(zhuǎn)和反轉(zhuǎn)),因為步進電機是通過改變其數(shù)日脈沖來改變步進電機的輸出狀態(tài)的,所以此方案考慮選擇開罐電路來改變其調(diào)用的子程序已達到改變其輸入的脈沖。故此方案使用開關(guān)電路,8255A的若干端口來實現(xiàn)。</p>
21、<p> 由步進電機的原理可以知道其狀態(tài)的特點,所以,可以考慮通過改變其脈沖的順序來改變步進電機的轉(zhuǎn)向,實現(xiàn)正傳和反轉(zhuǎn),。故此方案可以用8255的PA空和開關(guān)電路來選擇各種狀態(tài)的改變</p><p> 第三章 系統(tǒng)硬件軟件設(shè)計</p><p> 本設(shè)計利用8086系統(tǒng)為主要控制芯片和可編程計數(shù)器/定時器8253及可編程外圍接口芯片8255A設(shè)計的一個步進電機的控制系統(tǒng),主要
22、包括接口電路設(shè)計、延時程序設(shè)計、開關(guān)與計數(shù)初值的關(guān)鍵程序設(shè)計、步進電機驅(qū)動程序設(shè)計等模塊。</p><p> 3.1 protues仿真軟件</p><p> Protues軟件是英國Labcenter electronics公司出版的EDA工具軟件。它不僅具有其它EDA工具軟件的仿真功能,還能仿真單片機及外圍器件。它是目前最好的仿真單片機及外圍器件的工具。雖然目前國內(nèi)推廣剛起步,但已
23、受到單片機愛好者、從事單片機教學(xué)的教師、致力于單片機開發(fā)應(yīng)用的科技工作者的青睞。Proteus是世界上著名的EDA工具(仿真軟件),從原理圖布圖、代碼調(diào)試到單片機與外圍電路協(xié)同仿真,一鍵切換到PCB設(shè)計,真正實現(xiàn)了從概念到產(chǎn)品的完整設(shè)計。是目前世界上唯一將電路仿真軟件、PCB設(shè)計軟件和虛擬模型仿真軟件三合一的設(shè)計平臺,其處理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和
24、MSP430等,2010年即將增加Cortex和DSP系列處理器,并持續(xù)增加其他系列處理器模型。在編譯方面,它也支持IAR、Keil和MPLAB等多種編譯。 </p><p><b> 功能特點:</b></p><p> Protues軟件具有其它EDA工具軟件(例:multisim)的功能。這些功能是: </p><p><b&g
25、t; (1)原理布圖 </b></p><p> ?。?)PCB自動或人工布線 </p><p> (3)SPICE電路仿真 </p><p><b> 革命性的特點: </b></p><p> ?。?)互動的電路仿真。用戶甚至可以實時采用諸如RAM,ROM,鍵盤,馬達,LED,LCD,AD/DA,
26、部分SPI器件,部分IIC器件。 </p><p> ?。?)仿真處理器及其外圍電路??梢苑抡?1系列、AVR、PIC、ARM、等常用主流單片機。還可以直接在基于原理圖的虛擬原型上編程,再配合顯示及輸出,能看到運行后輸入輸出的效果。配合系統(tǒng)配置的虛擬邏輯分析儀、示波器等,Protues建立了完備的電子設(shè)計開發(fā)環(huán)境。 </p><p><b> 3.2最小系統(tǒng)介紹</b&g
27、t;</p><p> 3.2.1.8086CPU構(gòu)成的最小模式系統(tǒng)</p><p> 根據(jù)使用目的的不同,8086系統(tǒng)可以有最小模式和最大模式兩種系統(tǒng)配置,兩種方式的選擇主要取決于硬件,當(dāng)CPU引腳MN/MX端接高電平+5V時,構(gòu)成最小系統(tǒng),用于由8086單一微處理器構(gòu)成的小系統(tǒng)。在這種方式下,由8086CPU直接產(chǎn)生小系統(tǒng)所需要的全部控制信號。器系統(tǒng)特點是:總線控制邏輯直接由808
28、6CPU產(chǎn)生和控制。若有CPU以外的其他模塊想占用總線,則可以向CPU提出請求,在CPU允許并響應(yīng)的情況下,該模塊才可以獲得總線控制權(quán),使用完后,又將總線控制權(quán)還給CPU。最小系統(tǒng)結(jié)構(gòu)示意圖如圖3-1:</p><p> 圖3-1 最小系統(tǒng)結(jié)構(gòu)示意圖</p><p> 在最小模式系統(tǒng)中,除了8086CPU,存儲器及I/O接口芯片外,還加入了一片8284A作為時鐘發(fā)生器,二片8282/8
29、283或74LS373作為地址鎖存器,,數(shù)據(jù)總線和地址總線分時復(fù)用。</p><p> 3.2.2 最小模式系統(tǒng)元器件組成介紹</p><p><b> 74HC373 </b></p><p> 74HC373中文資料:373為三態(tài)輸出的八 D 透明鎖存器,共有 54/74HC373 和54/74HC373 兩種線路 。74373 的輸
30、出端O0~O7 可直接與總線相連。 </p><p> 當(dāng)三態(tài)允許控制端 OE 為低電平時, O0~O7 為正常邏輯狀態(tài),可用來驅(qū)動負載或總線。 當(dāng) OE 為高電平時,O0~O7 呈高阻態(tài),即不驅(qū)動總線,也不為總線的負載,但鎖存器內(nèi)部的邏輯操作不受影響。當(dāng)鎖存允許端 LE 為高電平時,O 隨數(shù)據(jù) D 而變。當(dāng) LE 為低電平時,O 被鎖存在已建立的數(shù)據(jù)電平。當(dāng) LE 端施密特觸發(fā)器的輸入滯后作用,使交流
31、和直流噪聲抗擾度被改善 400mV。 </p><p> 3.2.3 8086最小系統(tǒng)配置模擬圖</p><p> 在最小模式系統(tǒng)中,除了8086CPU,存儲器及I/O接口芯片外,還加入了二片8282/8283或74LS373作為地址鎖存器,數(shù)據(jù)總線和地址總線分時復(fù)用。最小系統(tǒng)配置模擬圖如圖3-2:</p><p> 圖3-2 最小系統(tǒng)模擬圖</p>
32、;<p><b> 3.3接口電路設(shè)計</b></p><p> 3.3.1主要元器件介紹</p><p><b> 74HC138</b></p><p> 74HC138是一款高速CMOS器件,74HC138引腳兼容低功耗肖特基TTL(LSTTL)系列?! ?4HC138譯碼器可接受3位二進制加權(quán)
33、地址輸入(A0, A1和A2),并當(dāng)使能時,提供8個互斥的低有效輸出(Y0至Y7)。74HC138特有3個使能輸入端:兩個低有效(E1和E2)和一個高有效(E3)。除非E1和E2置低且E3置高,否則74HC138將保持所有輸出為高。利用這種復(fù)合使能特性,僅需4片74HC138芯片和1個反相器,即可輕松實現(xiàn)并行擴展,組合成為一個1-32(5線到32線)譯碼器。任選一個低有效使能輸入端作為數(shù)據(jù)輸入,而把其余的使能輸入端作為選通端,則74HC
34、138亦可充當(dāng)一個8輸出多路分配器,未使用的使能輸入端必須保持綁定在各自合適的高有效或低有效狀態(tài)。74HC138與74HC238邏輯功能一致,只不過74HC138為反相輸出。 </p><p> CD74HC138 ,CD74HC238和CD74HCT138 , CD74HCT238是高速硅柵CMOS解碼器,適合內(nèi)存地址解碼或數(shù)據(jù)路由應(yīng)用。74HC138 作用原理于高性能的存貯譯碼或要求傳輸延遲時間短的數(shù)據(jù)傳
35、輸系統(tǒng),在 高性能存貯器系統(tǒng)中,用這種譯碼器可以提高譯碼系統(tǒng)的效率。將快速賦能電路用于高速存貯器時,譯碼器的延遲時間和存貯器的賦能時間通常小于存貯器的典型存取時間,這就是說由肖特基鉗位的系統(tǒng)譯碼器所引起的有效系統(tǒng)延遲可以忽略不計。HC138 按照三位二進制輸入碼和賦能輸入條件,從8 個輸出端中譯出一個 低電平輸出。兩個低電平有效的賦能輸入端和一個高電平有效的賦能輸入端減少了擴展所需要的外接門或倒相器,擴展成24 線譯碼器不需外接門;擴展
36、成32 線譯碼器,只需要接一個外接倒相器。在解調(diào)器應(yīng)用中,賦能輸入端可用作數(shù)據(jù)輸入端。復(fù)合使能輸入,輕松實現(xiàn)擴展 兼容JEDEC標(biāo)準(zhǔn)no.7A 存儲器芯片譯碼選擇的理想選擇 低有效互斥輸出 ESD保護 HBM EIA/JESD22-A114-C超過2000 V MM EIA/JESD22-A115-A超過200 V 溫度范圍 -40~+85 </p><p> 圖3-3 74HC138真值表</p>
37、<p> 3.3.2接口芯片的片選信號的產(chǎn)生</p><p> 在此系統(tǒng)的接口電路中,8255的端口地址從80H開始,因此8255的A、B、C和控制口的地址分別是80H,82H,84H和86H;8253的端口地址從88H開始,而8253的通道0、通道1、通道2和控制口的地址分別是88H、8AH、8CH、8EH。地址總線信號和端口地址之間的關(guān)系如下表1:</p><p>
38、 表1 地址總線信號和端口地址之間的關(guān)系</p><p> 從表格我們可以看出,A7始終為1,即高電平,所以其應(yīng)該接74HC138的G1端,74HC138的1、2A(E2端)、2B(E3端)為控制端,組合為100時輸出才有效(輸出為低電平有效)。此時E2端連接M/為0,原因是因為M/為0即低電平時,此時CPU正在訪問I/O端口。因此我們可以根據(jù)此設(shè)計譯碼電路,本次采用部分譯碼電路,譯碼器的0 8255的片選信號
39、。</p><p> 3.3.3接口電路設(shè)計</p><p> 由于端口地址是偶數(shù),所以接口電路中要取Y。接8255的片選信號為0。如圖3-4:</p><p> 圖3-4 CPU與8255接口電路</p><p><b> 3.4關(guān)鍵模塊實現(xiàn)</b></p><p> 3.4.1 主要
40、元器件介紹</p><p> ULN2003內(nèi)部還集成了一個消線圈反電動勢的二極管,可用來驅(qū)動繼電器。它是雙列16腳封裝,NPN晶體管矩陣,最大驅(qū)動電壓=50V,電流=500mA,輸入電壓=5V,適用于TTL COMS,由達林頓管組成驅(qū)動電路。 ULN是集成達林頓管IC,內(nèi)部還集成了一個消線圈反電動勢的二極管,它的輸出端允許通過電流為200mA,飽和壓降VCE 約1V左右,耐壓BVCEO 約為36V。用戶輸出口
41、的外接負載可根據(jù)以上參數(shù)估算。采用集電極開路輸出,輸出電流大,故可直接驅(qū)動繼電器或固體繼電器,也可直接驅(qū)動低壓燈泡。通常單片機驅(qū)動ULN2003時,上拉2K的電阻較為合適,同時,COM引腳應(yīng)該懸空或接電源。 </p><p> ULN2003是一個非門電路,包含7個單元,單獨每個單元驅(qū)動電流最大可達350mA,9腳可以懸空。 </p><p> 比如1腳輸入,16腳輸出,你的負載接在V
42、CC與16腳之間,不用9腳。</p><p> ULN2003芯片引腳介紹</p><p> 引腳1:CPU脈沖輸入端,端口對應(yīng)一個信號輸出端。 </p><p> 引腳2:CPU脈沖輸入端。 </p><p> 引腳3:CPU脈沖輸入端。 </p><p> 引腳4:CPU脈沖輸入端。 </p>
43、<p> 引腳5:CPU脈沖輸入端。 </p><p> 引腳6:CPU脈沖輸入端。 </p><p> 引腳7:CPU脈沖輸入端。 </p><p><b> 引腳8:接地。 </b></p><p> 引腳9:該腳是內(nèi)部7個續(xù)流二極管負極的公共端,各二極管的正極分別接各達林頓管的集電極。用于感
44、性負載時,該腳接負載電源正極,實現(xiàn)續(xù)流作用。如果該腳接地,實際上就是達林頓管的集電極對地接通。 </p><p> 引腳10:脈沖信號輸出端,對應(yīng)7腳信號輸入端。 </p><p> 引腳11:脈沖信號輸出端,對應(yīng)6腳信號輸入端。 </p><p> 引腳12:脈沖信號輸出端,對應(yīng)5腳信號輸入端。 </p><p> 引腳13:脈沖信
45、號輸出端,對應(yīng)4腳信號輸入端。 </p><p> 引腳14:脈沖信號輸出端,對應(yīng)3腳信號輸入端。 </p><p> 引腳15:脈沖信號輸出端,對應(yīng)2腳信號輸入端?!?</p><p> 引腳16:脈沖信號輸出端,對應(yīng)1腳信號輸入端。</p><p> 3.4.2 控制部分電路設(shè)計</p><p> 步進電
46、機的硬件部分主要是提供輸送相序代碼的并行數(shù)據(jù)線(6根),以及保護電機繞組的器件,所以借口電路以8255A為主芯片,將PA口作數(shù)據(jù)口,傳送加電代碼,再加上鎖存器74HC373做繞組保護作用。另外,還有功率。本實驗中8255中PB0-PB-3分別接ULN2003中B1-B3接口。ULN2003A中4c.2c.1c接步進電機的三個端口。如圖</p><p> 圖3-5控制部分電路設(shè)計</p><p
47、> 3.5 步進電機的軟件設(shè)計</p><p> 3.5.1 程序原理流程圖</p><p> 實現(xiàn)步進電機的運行方式,正反向控制,是借口軟件設(shè)計的主要任務(wù)。為此,在編寫程序之前,要建立一個相序表。相序表的建立應(yīng)根據(jù)步進電機運行方式的要求及各繞組與8255A端口連接情況來確定加電代碼。其主要流程圖如下其流程圖如下:</p><p> 圖3-6 程序流程
48、圖</p><p> 3.5.2實驗程序及分析</p><p> 端口地址的分配:由8086和8255通訊部分電路圖中數(shù)據(jù)總線接線可以算出8255四個控制端口的地址。</p><p> 具體算法:8086數(shù)據(jù)總線的高八位接在一片74HC373的輸入端,而74HC373的輸出高四位又接在一片74HC138譯碼器的輸入端,不難看出8086搞八位應(yīng)為10000000
49、,8086數(shù)據(jù)總線的第八位接在一片74HC373的輸入端,這片74HC373的輸出端又接在8255的端口地址控制線A0、A1上,當(dāng)A1A0=00時選擇8255的A端口,當(dāng)A1A0=01時選擇8255的B端口,當(dāng)A1A0=10時選擇8255的C端口,當(dāng)A1A0=11時選擇8255的控制端口。定義端口的符號地址如下:</p><p> IOA EQU 8000H</p><p>
50、IOB EQU 8002H</p><p> IOC EQU 8004H</p><p> IOCON EQU 8006H</p><p> 由8255連線圖可以看出,A端口是數(shù)據(jù)輸入端口,B端口是數(shù)據(jù)輸出端口,故8255工作在方式0,初始化程序如下:</p><p> MOV AL,90H</p>
51、<p> MOV DX,IOCON</p><p><b> OUT DX,AL</b></p><p> 由步進電機工作原理,當(dāng)其接收到一串正的連續(xù)脈沖時,步進電機的轉(zhuǎn)子就會順時針旋轉(zhuǎn),知道脈沖消失才會停止旋轉(zhuǎn),由此可以寫出步進電機順時針旋轉(zhuǎn)的程序如下:</p><p> MOT2: MOV CX,08H</p&g
52、t;<p> LEA DI,STR2</p><p> IOLED2: MOV AL,[DI]</p><p> MOV DX,IOB</p><p><b> OUT DX,AL</b></p><p> MOV DX,IOA</p><p><b> IN
53、AL,DX</b></p><p> TEST AL,01H</p><p><b> JE MOT1</b></p><p><b> INC DI</b></p><p> CALL DELAY</p><p> LOOP IOLED2</p&
54、gt;<p> JMP MOT2 </p><p> 同理可得步進電機逆時針旋轉(zhuǎn)時的程序如下</p><p> MOT1: MOV CX,08H</p><p> LEA DI,STR1</p><p> IOLED1: MOV AL,[DI]</p><p> MOV DX,I
55、OB</p><p><b> OUT DX,AL</b></p><p> MOV DX,IOA</p><p><b> IN AL,DX</b></p><p> TEST AL,02H</p><p><b> JE MOT2 </b>
56、</p><p><b> INC DI</b></p><p> CALL DELAY</p><p> LOOP IOLED1</p><p><b> JMP MOT1</b></p><p> 在步進電機接收到每一個脈沖的時候都調(diào)用了一段延時程序,因為808
57、6CPU的處理速度和步進電機的運轉(zhuǎn)速度相差太大,調(diào)用了該段延時程序后,8086CPU的處理速度和步進電機的運轉(zhuǎn)速度才會協(xié)調(diào),延時子程序如下: </p><p><b> DELAY:</b></p><p><b> PUSH CX</b></p><p> MOV CX,0D1H<
58、/p><p><b> DELAY1:</b></p><p><b> NOP</b></p><p><b> NOP</b></p><p><b> NOP</b></p><p><b> NOP</
59、b></p><p> LOOP DELAY1</p><p><b> POP CX</b></p><p><b> RET</b></p><p> 第四章 實驗電路圖全圖電路仿真與調(diào)試</p><p> 電路仿真圖如圖4-1所示</p>
60、<p> 圖4-1 整體電路圖</p><p> 首先在ASM環(huán)境下,將步進電機的控制程序編譯出來,運行沒有錯誤后生成可執(zhí)行EXE文件,然后在Proteus環(huán)境下連接出硬件電路,再將之前生成的可執(zhí)行EXE文件加載到8086中,進行仿真,按下K0,電機順時針旋轉(zhuǎn),按下K1,電機逆時針旋轉(zhuǎn)。</p><p> 連接電路圖的時候要特別注意總線的連接,連接完總線后要接標(biāo)簽,否則
61、無法運行。</p><p> 系統(tǒng)工作原理:首先,8086CPU的存儲單元中存入了兩列脈沖信號,一個供步進電機順時針旋轉(zhuǎn),另一個供步進電機逆時針旋轉(zhuǎn)。8086CPU通過數(shù)據(jù)總線高八位來控制8255工作在方式0,當(dāng)鍵盤陪按下時,8255A端口接收到數(shù)據(jù),并通過其八位數(shù)據(jù)線傳入8086CPU中,此時8086CPU分析識別接收到的信號然后根據(jù)需求將其中一列脈沖信號通過數(shù)據(jù)總線低八位傳送給8255,8255接收到脈沖信
62、號后再將此脈沖信號通過B端口輸出給步進電機,因為8255端口輸出的脈沖信號電流有效值很小,不足以驅(qū)動步進電機,因而在8255的B端口和步進電機之間接入一個ULN2003的驅(qū)動芯片。這樣當(dāng)步進電機接收到脈沖信號后就會旋轉(zhuǎn)起來。</p><p> 第五章 課程設(shè)計體會</p><p> 通過這次綜合實驗,我對微機原理與接口技術(shù)有了更深一步的理解,提高了自己的動手能力。在實驗過程中,我會遇到
63、各種問題,我覺得除了向老師和同學(xué)請教外,我更應(yīng)該學(xué)會自己解決問題。</p><p> 在整個過程中,查閱了不少資料,例如步進電機如何工作,速度及方向的控制等是通過自學(xué)完成。知道如何盡快讀懂別人寫的源程序,從中借鑒好的地方來完善自己的程序。</p><p> 剛開始時,我們先熟悉了實驗板上那些可用的器件,初步打算是完成實驗要求的基本功能即電機的啟動、停轉(zhuǎn)、正反轉(zhuǎn)、有級調(diào)速。感覺上是挺容易
64、的,但是到后來才發(fā)現(xiàn)編程是存在一些問題。</p><p> 在老師的悉心指導(dǎo)和嚴格要求下,我們終于完成了四相步進電機設(shè)計課程。從書本上的知識到自己親手的課程設(shè)計,每一步對我們來說無疑是巨大的嘗試和挑戰(zhàn),也成就了我們目前在大學(xué)期間獨立完成的最大的項目。記得在剛接到這個課題時,由于對相關(guān)知識不是很了解,我們都有些茫然不知所措。設(shè)計好一個步進電機需要什么專業(yè)知識?帶著這個疑問我們開始了地學(xué)習(xí)和實驗:去查閱相關(guān)資料、上
65、網(wǎng)去了解相關(guān)的內(nèi)容,漸漸頭腦中的概念清晰了起來。在具體設(shè)計的過程中,我們遇到了更大的困難。我們不斷地給自己提出新的問題,然后去論證、推翻,再接著提出新的問題。在這個循環(huán)往復(fù)的過程中,我們這篇稚嫩的設(shè)計日臻完善。雖然我們的設(shè)計作品不是很成熟,即使借鑒前人的很多資料仍然還有很多不足之處,但我仍然心里有一種莫大的幸福感,因為我們實實在在地走過了一個完整的設(shè)計所應(yīng)該走的每一個過程,并且享受了每一個過程。</p><p>
66、 最后我們獲得收獲的同時也要感謝老師和同學(xué)給予我們的幫助,沒有他們,我們遇到的一些問題不可能很快的解決。</p><p><b> 參考文獻</b></p><p> [1] 彭虎,周佩玲,傅忠謙.微機原理與接口技術(shù)[Z].北京:電子工業(yè)出版社,2008</p><p> [2] 張齊,朱寧西.單片機應(yīng)用系統(tǒng)設(shè)計技術(shù)——基于C51的Pr
67、oteus仿真[Z].北京:電子工業(yè)出版社,2009</p><p> [3] 周荷琴,吳秀清.微型計算機原理與節(jié)后技術(shù)[Z].合肥:中國科技大學(xué)出版社,2008</p><p> [4] 彭虎,周佩玲,傅忠謙.微機原理與接口技術(shù)學(xué)習(xí)指導(dǎo)[Z].北京:電子工業(yè)出版社,2008</p><p> [5]《數(shù)字電子技術(shù)基礎(chǔ)》,伍時和等,清華大學(xué)出版社</p&
68、gt;<p><b> 附錄 實驗源程序</b></p><p> CODE SEGMENT 'CODE' </p><p> ASSUME CS:CODE,SS:STACK,DS:DATA</p><p> IOCON EQU 8006H</p><p> IOA
69、 EQU 8000H</p><p> IOB EQU 8002H</p><p> IOC EQU 8004H</p><p><b> START:</b></p><p> MOV AX, DATA</p><p> MOV DS, AX</p>&
70、lt;p> MOV AX, STACK</p><p> MOV SS, AX</p><p> MOV AX, TOP</p><p> MOV SP, AX</p><p> MOV AL,90H</p><p> MOV DX,IOCON</p><p><b>
71、; OUT DX,AL</b></p><p><b> NOP</b></p><p> MOV AL,0FFH</p><p> MOT2: MOV CX,08H</p><p> LEA DI,STR2</p><p> IOLED2: MOV AL,[DI]<
72、/p><p> MOV DX,IOB</p><p><b> OUT DX,AL</b></p><p> MOV DX,IOA</p><p><b> IN AL,DX</b></p><p> TEST AL,01H</p><p>
73、JE MOT1 ; 為0</p><p><b> INC DI</b></p><p> CALL DELAY</p><p> LOOP IOLED2</p><p> JMP MOT2 </p><p> MOT1: MOV CX,08H</p><p
74、> LEA DI,STR1</p><p> IOLED1: MOV AL,[DI]</p><p> MOV DX,IOB</p><p><b> OUT DX,AL</b></p><p> MOV DX,IOA</p><p><b> IN AL,DX<
75、/b></p><p> TEST AL,02H</p><p> JE MOT2 ; 為0</p><p><b> INC DI</b></p><p> CALL DELAY</p><p> LOOP IOLED1</p><p><b>
76、 JMP MOT1</b></p><p><b> DELAY:</b></p><p><b> PUSH CX</b></p><p> MOV CX,0D1H</p><p><b> DELAY1:</b></p><p>
77、;<b> NOP</b></p><p><b> NOP</b></p><p><b> NOP</b></p><p><b> NOP</b></p><p> LOOP DELAY1</p><p><b
78、> POP CX</b></p><p><b> RET</b></p><p> CODE ENDS</p><p> STACK SEGMENT 'STACK'</p><p> STA DB 100 DUP(?)</p><p>
79、 TOP EQU LENGTH STA</p><p> STACK ENDS </p><p> DATA SEGMENT 'DATA'</p><p> STR1 DB 02H,06H,04H,0CH,08H,09H,01H,03H ;控制數(shù)據(jù)表</p><p> STR2
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 微機原理課程設(shè)計---步進電機設(shè)計
- 微機原理課程設(shè)計---步進電機的微機控制
- 微機原理課程設(shè)計---步進電機正反轉(zhuǎn)
- 微機原理課程設(shè)計--步進電機控制系統(tǒng)
- 微機原理與技術(shù)課程設(shè)計--步進電機控制
- 微機原理課程設(shè)計說明書---步進電機控制
- 微機課程設(shè)計報告 小型步進電機控制系統(tǒng)設(shè)計
- 課程設(shè)計-- 微機步進電機控制系統(tǒng)設(shè)計
- 步進電機課程設(shè)計報告
- 微機原理課程設(shè)計報告
- 微機原理課程設(shè)計報告
- 微機原理課程設(shè)計報告
- 《微機原理》課程設(shè)計報告
- 微機原理課程設(shè)計報告
- 微機原理課程設(shè)計--電機調(diào)速系統(tǒng)設(shè)計
- 步進電機課程設(shè)計報告--步進電機控制系統(tǒng)設(shè)計
- 微機原理課程設(shè)計--用8051控制步進電機驅(qū)動的玩具小車
- 步進電機控制a課程設(shè)計報告
- 步進電機課程設(shè)計報告---步進電機控制系統(tǒng)
- 微機接口課程設(shè)計報告---利用步進電機模擬小車的運行
評論
0/150
提交評論