版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 單片機(jī)課程設(shè)計(jì)</b></p><p> 題目:步進(jìn)電機(jī)控制系統(tǒng)的設(shè)計(jì)</p><p> 編 號(hào): </p><p> 姓 名: </p><p
2、><b> 年 月 日</b></p><p><b> 摘 要</b></p><p> 能夠?qū)崿F(xiàn)步進(jìn)電機(jī)控制的方式有多種,可以采用前期的模擬電路、 數(shù)字電路或模擬與數(shù)字電路相結(jié)合的方式。近年來(lái)隨著科技的飛速發(fā)展,單片機(jī)的應(yīng)用正在不斷深入,同時(shí)帶動(dòng)傳統(tǒng)控制檢測(cè)日新月異更新。本文介紹一種用MCS-51作為核心部件進(jìn)行邏輯控
3、制及信號(hào)產(chǎn)生的單片機(jī)技術(shù)和匯編語(yǔ)言編程設(shè)計(jì)的步進(jìn)電機(jī)控制系統(tǒng),步進(jìn)電機(jī)背景與現(xiàn)狀、硬件設(shè)計(jì)、軟件設(shè)計(jì)及其仿真都做了詳細(xì)的介紹,使我們不僅對(duì)步進(jìn)電機(jī)的原理有了深入的了解,也對(duì)單片機(jī)的設(shè)計(jì)研發(fā)過(guò)程有了更加深刻的體會(huì)。</p><p> 本控制系統(tǒng)采用單片機(jī)控制,通過(guò)人為按動(dòng)開(kāi)關(guān)實(shí)現(xiàn)步進(jìn)電機(jī)的開(kāi)關(guān),復(fù)位。該系統(tǒng)還增加了步進(jìn)電機(jī)的加速及減速功能。具有靈活方便、適用范圍廣的特點(diǎn),基本能夠滿足實(shí)踐需求。</p>
4、<p> 關(guān)鍵字:步進(jìn)電機(jī) 單片機(jī)</p><p><b> 第一章 緒論</b></p><p> 1.1 關(guān)于步進(jìn)電機(jī)</p><p> 步進(jìn)電機(jī)是將電脈沖信號(hào)轉(zhuǎn)變?yōu)榻俏灰苹蚓€位移的開(kāi)環(huán)控制元步進(jìn)電機(jī)件。在非超載的情況下,電機(jī)的轉(zhuǎn)速、停止的位置只取決于脈沖信號(hào)的頻率和脈沖數(shù),而不受負(fù)載變化的影響,當(dāng)步進(jìn)驅(qū)動(dòng)器接收到一個(gè)
5、脈沖信號(hào),它就驅(qū)動(dòng)步進(jìn)電機(jī)按設(shè)定的方向轉(zhuǎn)動(dòng)一個(gè)固定的角度,稱為“步距角”,它的旋轉(zhuǎn)是以固定的角度一步一步運(yùn)行的??梢酝ㄟ^(guò)控制脈沖個(gè)數(shù)來(lái)控制角位移量,從而達(dá)到準(zhǔn)確定位的目的;同時(shí)可以通過(guò)控制脈沖頻率來(lái)控制電機(jī)轉(zhuǎn)動(dòng)的速度和加速度,從而達(dá)到調(diào)速的目的。</p><p> 步進(jìn)電機(jī)的相關(guān)參數(shù):</p><p><b> 相數(shù) </b></p><p&
6、gt; 產(chǎn)生不同對(duì)極N、S磁場(chǎng)的激磁線圈對(duì)數(shù),是指電機(jī)內(nèi)部的線圈組數(shù),目前常用的有二相、三相、四相、五相步進(jìn)電機(jī)。電機(jī)相數(shù)不同,其步距角也不同,一般二相電機(jī)的步距角為0.9°/1.8°、三相的為0.75°/1.5°、五相的為0.36°/0.72° 。在沒(méi)有細(xì)分驅(qū)動(dòng)器時(shí),用戶主要靠選擇不同相數(shù)的步進(jìn)電機(jī)來(lái)滿足自己步距角的要求。如果使用細(xì)分驅(qū)動(dòng)器,則‘相數(shù)’將變得沒(méi)有意義,用戶只
7、需在驅(qū)動(dòng)器上改變細(xì)分?jǐn)?shù),就可以改變步距角。目前應(yīng)用最廣泛的是兩相和四相,四相電機(jī)一般用作兩相,五相的成本較高。</p><p><b> 拍數(shù)</b></p><p> 完成一個(gè)磁場(chǎng)周期性變化所需脈沖數(shù)或?qū)щ姞顟B(tài)用n表示,或指電機(jī)轉(zhuǎn)過(guò)一個(gè)齒距角所需脈沖數(shù),以四相電機(jī)為例,有四相四拍運(yùn)行方式即AB-BC-CD-DA-AB,四相八拍運(yùn)行方式即 A-AB-B-BC-C-
8、CD-D-DA-A.</p><p><b> 固有步距角 </b></p><p> 對(duì)應(yīng)一個(gè)脈沖信號(hào),電機(jī)轉(zhuǎn)子轉(zhuǎn)過(guò)的角位移用θ表示。θ=360度(轉(zhuǎn)子齒數(shù)J*運(yùn)行拍數(shù)),以常規(guī)二、四相,轉(zhuǎn)子齒為50齒電機(jī)為例。四拍運(yùn)行時(shí)步距角為θ=360度/(50*4)=1.8度(俗稱整步),八拍運(yùn)行時(shí)步距角為θ=360度/(50*8)=0.9度(俗稱半步)。這個(gè)步距角可以
9、稱之為‘電機(jī)固有步距角’,它不一定是電機(jī)實(shí)際工作時(shí)的真正步距角,真正的步距角和驅(qū)動(dòng)器有關(guān)。</p><p><b> 定位轉(zhuǎn)矩 </b></p><p> 電機(jī)在不通電狀態(tài)下,電機(jī)轉(zhuǎn)子自身的鎖定力矩(由磁場(chǎng)齒形的諧波以及機(jī)械誤差造成的),DETENT TORQUE 在國(guó)內(nèi)沒(méi)有統(tǒng)一的翻譯方式,容易使大家產(chǎn)生誤解;由于反應(yīng)式步進(jìn)電機(jī)的轉(zhuǎn)子不是永磁材料,所以它沒(méi)有DE
10、TENT TORQUE。</p><p><b> 最大靜轉(zhuǎn)矩 </b></p><p> 也叫保持轉(zhuǎn)矩(HOLDING TORQUE),電機(jī)在額定靜態(tài)電作用下(通電),電機(jī)不作旋轉(zhuǎn)運(yùn)動(dòng)時(shí),電機(jī)轉(zhuǎn)軸的鎖定力矩,即定子鎖住轉(zhuǎn)子的力矩。此力矩是衡量電機(jī)體積(幾何尺寸)的標(biāo)準(zhǔn),與驅(qū)動(dòng)電壓及驅(qū)動(dòng)電源等無(wú)關(guān)。通常步進(jìn)電機(jī)在低速時(shí)的力矩接近保持轉(zhuǎn)矩。由于步進(jìn)電機(jī)的輸出力矩隨
11、速度的增大而不斷衰減,輸出功率也隨速度的增大而變化,所以保持轉(zhuǎn)矩就成為了衡量步進(jìn)電機(jī)最重要的參數(shù)之一。比如,當(dāng)人們說(shuō)2N.m的步進(jìn)電機(jī),在沒(méi)有特殊說(shuō)明的情況下是指保持轉(zhuǎn)矩為2N.m的步進(jìn)電機(jī)。</p><p><b> 步距角精度 </b></p><p> 步進(jìn)電機(jī)每轉(zhuǎn)過(guò)一個(gè)步距角的實(shí)際值與理論值的誤差。用百分比表示:誤差/步距角*100%。不同運(yùn)行拍數(shù)其值不
12、同,四拍運(yùn)行時(shí)應(yīng)在5%之內(nèi),八拍運(yùn)行時(shí)應(yīng)在15%以內(nèi)。</p><p><b> 失步 </b></p><p> 電機(jī)運(yùn)轉(zhuǎn)時(shí)運(yùn)轉(zhuǎn)的步數(shù),不等于理論上的步數(shù)。稱之為失步。</p><p><b> 失調(diào)角 </b></p><p> 轉(zhuǎn)子齒軸線偏移定子齒軸線的角度,電機(jī)運(yùn)轉(zhuǎn)必存在失調(diào)角,
13、由失調(diào)角產(chǎn)生的誤差,采用細(xì)分驅(qū)動(dòng)是不能解決的。</p><p> 最大空載啟動(dòng)頻率 </p><p> 電機(jī)在某種驅(qū)動(dòng)形式、電壓及額定電流下,在不加負(fù)載的情況下,能夠直接起動(dòng)的最大頻率。</p><p> 最大空載運(yùn)行頻率 </p><p> 電機(jī)在某種驅(qū)動(dòng)形式,電壓及額定電流下,電機(jī)不帶負(fù)載的最高轉(zhuǎn)速頻率。</p>
14、<p><b> 運(yùn)行矩頻特性</b></p><p> 電機(jī)在某種測(cè)試條件下測(cè)得運(yùn)行中輸出力矩與頻率關(guān)系的曲線稱為運(yùn)行矩頻特性,這是電機(jī)諸多動(dòng)態(tài)曲線中最重要的,也是電機(jī)選擇的根本依據(jù)。</p><p> 第二章 元器件的介紹</p><p><b> 2.1步進(jìn)電機(jī)</b></p>&l
15、t;p> 步進(jìn)電機(jī)是數(shù)字控制電機(jī),它將脈沖信號(hào)轉(zhuǎn)變成角位移,即給一個(gè)脈沖信號(hào),步進(jìn)電機(jī)就轉(zhuǎn)動(dòng)一個(gè)角度,因此非常適合于單片機(jī)控制。步進(jìn)電機(jī)區(qū)別于其他控制電機(jī)的最大特點(diǎn)是:它是通過(guò)輸入脈沖信號(hào)來(lái)進(jìn)行控制的,即電機(jī)的總轉(zhuǎn)動(dòng)角度由輸入脈沖數(shù)決定,而電機(jī)的轉(zhuǎn)速由脈沖信號(hào)頻率決定。</p><p> 步進(jìn)電機(jī)分三種:永磁式(PM),反應(yīng)式(VR)和混合式(HB),步進(jìn)電機(jī)又稱為脈沖電機(jī),是工業(yè)過(guò)程控制和儀表中一種能
16、夠快速啟動(dòng),反轉(zhuǎn)和制動(dòng)的執(zhí)行</p><p> 元件,其功用是將電脈沖轉(zhuǎn)換為相應(yīng)的角位移或直線位移,由于開(kāi)環(huán)下就能實(shí)現(xiàn)精確定位的特點(diǎn),使其在工業(yè)控制領(lǐng)域獲得了廣泛應(yīng)用。步進(jìn)電機(jī)的運(yùn)轉(zhuǎn)是由電脈沖信號(hào)控制的,其角位移量或線位移量與脈沖數(shù)成正比,每個(gè)一個(gè)脈沖,步進(jìn)電機(jī)就轉(zhuǎn)動(dòng)一個(gè)角度(不距角)或前進(jìn)、倒退一步。步進(jìn)電機(jī)旋轉(zhuǎn)的角度由輸入的電脈沖數(shù)確定,所以,也有人稱步進(jìn)電機(jī)為數(shù)字/角度轉(zhuǎn)換器。</p>&l
17、t;p> 四相步進(jìn)電機(jī)的工作原理</p><p> 該設(shè)計(jì)采用了20BY-0型步進(jìn)電機(jī),該電機(jī)為四相步進(jìn)電機(jī),采用單極性直流電源供電。只要對(duì)步進(jìn)電機(jī)的各相繞組按合適的時(shí)序通電,就能使步進(jìn)電機(jī)轉(zhuǎn)動(dòng)。當(dāng)某一相繞組通電時(shí),對(duì)應(yīng)的磁極產(chǎn)生磁場(chǎng),并與轉(zhuǎn)子形成磁路,這時(shí),如果定子和轉(zhuǎn)子的小齒沒(méi)有對(duì)齊,在磁場(chǎng)的作用下,由于磁通具有力圖走磁阻最小路徑的特點(diǎn),則轉(zhuǎn)子將轉(zhuǎn)動(dòng)一定的角度,使轉(zhuǎn)子與定子的齒相互對(duì)齊,由此可見(jiàn),錯(cuò)
18、齒是促使電機(jī)旋轉(zhuǎn)的原因。</p><p> 步進(jìn)電機(jī)的靜態(tài)指標(biāo)及術(shù)語(yǔ)</p><p> 相數(shù):產(chǎn)生不同隊(duì)N、S磁場(chǎng)的激磁線圈對(duì)數(shù),常用m表示。</p><p> 拍數(shù):完成一個(gè)磁場(chǎng)周期性變化所需脈沖用n表示,或指電機(jī)轉(zhuǎn)過(guò)一個(gè)齒距角所需脈沖數(shù),以四相電機(jī)為例,有四相四拍運(yùn)行方式即AB→BC→CD→DA→AB,四相八拍運(yùn)行方式即A→AB→B→BC→C→CD→D→D
19、A→A。</p><p> 步距角:對(duì)應(yīng)一個(gè)脈沖信號(hào),電機(jī)轉(zhuǎn)子轉(zhuǎn)過(guò)的角位移用θ表示。Θ=360度(轉(zhuǎn)子齒角運(yùn)行拍數(shù)),以常規(guī)二、四相,轉(zhuǎn)子齒角為50齒角電機(jī)為例。四相運(yùn)行時(shí)步距角為θ=360度/(50*4)=1.8度,八拍運(yùn)行時(shí)步距角為θ=360度/(50*8)=0.9度。</p><p> 定位轉(zhuǎn)矩:電機(jī)在不通電的狀態(tài)下,電機(jī)轉(zhuǎn)子自身的鎖定力矩(由磁場(chǎng)齒形的諧波以及機(jī)械誤差造成的)。
20、</p><p> 靜轉(zhuǎn)矩:電機(jī)在額定靜態(tài)作業(yè)下,電機(jī)不做旋轉(zhuǎn)運(yùn)動(dòng)時(shí),電機(jī)轉(zhuǎn)軸的鎖定力矩。此力矩是衡量電機(jī)體積的標(biāo)準(zhǔn),與驅(qū)動(dòng)電壓及驅(qū)動(dòng)電源等無(wú)關(guān)。雖然靜態(tài)轉(zhuǎn)矩與電磁激磁匝數(shù)成正比,與定子和轉(zhuǎn)子間的氣隙有關(guān)。但過(guò)分采用減小氣隙,增加勵(lì)磁匝數(shù)來(lái)提高靜轉(zhuǎn)矩是不可取的,這樣會(huì)造成電機(jī)的發(fā)熱及機(jī)械噪音。</p><p> 四相步進(jìn)電機(jī)的脈沖分配規(guī)律</p><p> 目
21、前,對(duì)步進(jìn)電機(jī)的控制主要有分散器件組成的環(huán)形脈沖分配器、軟件環(huán)形脈沖分配器、專用集成芯片環(huán)形脈沖分配器等。本設(shè)計(jì)利用單片機(jī)進(jìn)行控制,主要是利用軟件進(jìn)行環(huán)形脈沖分配。四相步進(jìn)電機(jī)的工作方式為四相單四拍,雙四拍和四相八拍工作的方式。各種工作方式在電源通電時(shí)的時(shí)序 與波形分別如圖1 a、b、c所示。本設(shè)計(jì)的電機(jī)工作方式為四相單四拍,根據(jù)步進(jìn)電機(jī)的工作的時(shí)序和波形圖,總結(jié)出其工作方式為四相單四拍時(shí)的脈沖分配規(guī)律,四相雙四拍的脈沖分配規(guī)律,在每一
22、種工作方式中,脈沖的頻率越高,其轉(zhuǎn)速就越快,但脈沖頻率高到一定程度,步進(jìn)電機(jī)跟不上頻率的變化后電機(jī)會(huì)出現(xiàn)失步現(xiàn)象,所以脈沖頻率一定要控制在步進(jìn)電機(jī)允許的范圍內(nèi)。</p><p> 2.2MCS-51單片機(jī)</p><p> 在HMOS技術(shù)大發(fā)展的背景下,Intel公司在MCS-48系列的基礎(chǔ)上,于1980年推出了8位MCS-51系列單片機(jī)。它與以前的機(jī)型相比,功能增強(qiáng)了許多,就其指令和
23、運(yùn)行速度而言,超過(guò)了INTEL8085的CPU和Z80的CPU,成為工業(yè)控制系統(tǒng)中較為理想的機(jī)種。較早的MCS-51典型時(shí)鐘為12MHz,而目前與MCS-51單片機(jī)兼容的一些單片機(jī)的時(shí)鐘頻率達(dá)到40MHz甚至更高,現(xiàn)在已有400MHz的單片機(jī)問(wèn)世。</p><p> 51系列是基本型,包括8051、8751、8031、8951.這四個(gè)機(jī)種區(qū)別,僅在于片內(nèi)程序儲(chǔ)存器。8051為4KB ROM,8751為
24、4KB EPROM,8031片內(nèi)無(wú)程序儲(chǔ)存器,8951為4KB EEPROM。其他性能結(jié)構(gòu)一樣,有片內(nèi)128B RAM,2個(gè)16位定時(shí)器/計(jì)數(shù)器,5個(gè)中斷源。其中,8031性價(jià)比較高,又易于開(kāi)發(fā),目前應(yīng)用面廣泛。</p><p> MCS-51 系列單片機(jī)</p><p><b> [1]</b></p><p> 第
25、三章 步進(jìn)電機(jī)原理及硬件設(shè)計(jì)</p><p> 本設(shè)計(jì)的硬件電路只要包括控制電路、最小系統(tǒng)、驅(qū)動(dòng)電路、顯示電路四大部分。最小系統(tǒng)只要是為了使單片機(jī)正常工作??刂齐娐分灰砷_(kāi)關(guān)和按鍵組成,由操作者根據(jù)相應(yīng)的工作需要進(jìn)行操作。顯示電路主要是為了顯示電機(jī)的工作狀態(tài)和轉(zhuǎn)速。驅(qū)動(dòng)電路主要是對(duì)單片機(jī)輸出的脈沖進(jìn)行功率放大,從而驅(qū)動(dòng)電機(jī)轉(zhuǎn)動(dòng)。</p><p><b> 3.1控制電路&l
26、t;/b></p><p> 根據(jù)系統(tǒng)的控制要求,控制輸入部分設(shè)置了啟動(dòng)控制,換向控制,加速控制和減速控制按鈕,分別是K1、K2、S2、S3,控制電路如圖2所示。通過(guò)K1、K2狀態(tài)變化來(lái)實(shí)現(xiàn)電機(jī)的啟動(dòng)和換向功能。當(dāng)K1、K2的狀態(tài)變化時(shí),內(nèi)部程序檢測(cè)P1.0和P1.1的狀態(tài)來(lái)調(diào)用相應(yīng)的啟動(dòng)和換向程序,發(fā)現(xiàn)系統(tǒng)的電機(jī)的啟動(dòng)和正反轉(zhuǎn)控制。</p><p> 根據(jù)步進(jìn)電機(jī)的工作原理可以
27、知道,步進(jìn)電機(jī)轉(zhuǎn)速的控制主要是通過(guò)控制通入電機(jī)的脈沖頻率,從而控制電機(jī)的轉(zhuǎn)速。對(duì)于單片機(jī)而言,主要的方法有:軟件延時(shí)和定時(shí)中斷在此電路中電機(jī)的轉(zhuǎn)速控制主要是通過(guò)定時(shí)器的中斷來(lái)實(shí)現(xiàn)的,該電路控制電機(jī)加速度主要是通過(guò)S2、S3的斷開(kāi)和閉合,從而控制外部中斷根據(jù)按鍵次數(shù),改變速度值存儲(chǔ)區(qū)中的數(shù)據(jù)(該數(shù)據(jù)為定時(shí)器的中斷次數(shù)),這樣就改變了步進(jìn)電機(jī)的輸出脈沖頻率,從而改變了電機(jī)的轉(zhuǎn)速。</p><p><b>
28、 3.2最小系統(tǒng)</b></p><p> 單片機(jī)最小系統(tǒng)或者稱為最小應(yīng)用系統(tǒng),素質(zhì)用最少的元件組成的單片機(jī)可以工作的系統(tǒng),對(duì)51系列單片機(jī)來(lái)說(shuō),最小系統(tǒng)一般應(yīng)該包括:?jiǎn)纹瑱C(jī)、復(fù)位電路、晶振電路。</p><p> 復(fù)位電路:使用了獨(dú)立式鍵盤(pán),單片機(jī)的P1口鍵盤(pán)的接口。該設(shè)計(jì)要求只需4個(gè)鍵對(duì)步進(jìn)電機(jī)的狀態(tài)進(jìn)行控制,但考慮到對(duì)控制功能的擴(kuò)展,使用了6路獨(dú)立式鍵盤(pán)。復(fù)位電路采用
29、手動(dòng)復(fù)位,所謂手動(dòng)復(fù)位,是指通過(guò)接通一按鈕開(kāi)關(guān),使單片機(jī)進(jìn)入復(fù)位狀態(tài),晶振電路用30PF的電容和一12M晶體振蕩器組成為整個(gè)電路提供時(shí)鐘頻率。</p><p> 晶振電路:8051單片機(jī)的時(shí)鐘信號(hào)通常用兩種電路形式電路得到:內(nèi)部震蕩方式和外部中斷方式。在引腳XTAL1和XTAL2外部接晶振電路器(簡(jiǎn)稱晶振)或陶瓷晶振器,就構(gòu)成了內(nèi)部晶振方式。由于單片機(jī)內(nèi)部有一個(gè)高增益反相放大器,當(dāng)外接晶振后,就構(gòu)成了自激振蕩器
30、并產(chǎn)生振蕩時(shí)鐘脈沖。內(nèi)部振蕩方式的外部電路。其電容值一般在5~30pf,晶振頻率的典型值為12MHz,采用6MHz的情況也比較多。內(nèi)部振蕩方式所得的時(shí)鐘信號(hào)比較穩(wěn)定,實(shí)用電路實(shí)用較多。</p><p><b> 3.3驅(qū)動(dòng)電路</b></p><p> 通過(guò)ULN2803構(gòu)成比較多的驅(qū)動(dòng)電路。通過(guò)單片機(jī)的P1.0~P1.3輸出脈沖到ULN2803的1B~4B口,經(jīng)
31、信號(hào)放大后從1C~4C口分別輸出到電機(jī)的A、B、C、D相。</p><p><b> 3.4顯示電路</b></p><p> 在該步進(jìn)電機(jī)的控制器中,電機(jī)可以正反轉(zhuǎn),可以加速、減速,其中電機(jī)轉(zhuǎn)速的等級(jí)分為七級(jí),為了方便知道電機(jī)的運(yùn)行狀態(tài)和電機(jī)的轉(zhuǎn)速的等級(jí),這里設(shè)計(jì)了電機(jī)轉(zhuǎn)速和電機(jī)的工作狀態(tài)的顯示電路。在顯示電路中,主要是利用了單片機(jī)的P0口和P2口。采用兩個(gè)共陽(yáng)
32、數(shù)碼管作顯示。第一個(gè)數(shù)碼管接的a、b、c、d、e、f、g、h分別接P0.0~P0.7口,用于顯示電機(jī)正反轉(zhuǎn)狀態(tài),正轉(zhuǎn)時(shí)顯示“1”,反轉(zhuǎn)時(shí)顯示“一”,不轉(zhuǎn)時(shí)顯示“0”。第二個(gè)數(shù)碼管的a、b、c、d、e、f、g、h分別接P2.0~P2.7口,用于顯示電機(jī)的轉(zhuǎn)速級(jí)別,共七級(jí),即從1~7轉(zhuǎn)速依次遞增,“0”表示轉(zhuǎn)速為零。</p><p> 第四章 軟件的設(shè)計(jì)</p><p><b>
33、; 4.1方案論證</b></p><p> 從該系統(tǒng)的設(shè)計(jì) 要求可知,該系統(tǒng)的輸入量為速度和方向,速度應(yīng)該有增減變化,通常用加減按鈕控制速度,這樣只要2根口線,再加上一根方向線和一根啟動(dòng)信號(hào)線共需要4根輸入線。系統(tǒng)的輸出線與步進(jìn)電機(jī)的繞組數(shù)有關(guān)。這里選</p><p> 進(jìn)電機(jī),該電機(jī)共有四相繞組,工作電壓為+5V,可以個(gè)單片機(jī)共用一個(gè)電源。步進(jìn)電機(jī)的四相繞組用P1口的
34、P1.0~P1.3控制,由于P1口驅(qū)動(dòng)能力不夠,因而用一片2803增加驅(qū)動(dòng)能力。用P0口控制第一數(shù)碼管用于顯示正反轉(zhuǎn),用P2口控制第二個(gè)數(shù)碼管用于顯示轉(zhuǎn)速等級(jí)。數(shù)碼管采用共陽(yáng)的。</p><p> 通過(guò)分析可以看出,實(shí)現(xiàn)系統(tǒng)功能可以采用多種方法,由于隨時(shí)有可能輸入加速、加速信號(hào)和方向信號(hào),因而采用中斷方式效率最高,這樣總共要完成4個(gè)部分的工作才能滿足課題要求,即主程序部分、定時(shí)器中斷部分、外部中斷0和外部中斷1
35、部分,其中主程序的主要功能是系統(tǒng)初始參數(shù)的設(shè)置及啟動(dòng)開(kāi)關(guān)的檢測(cè),若啟動(dòng)開(kāi)關(guān)合上則系統(tǒng)開(kāi)始工作,反之系統(tǒng)停止工作;定時(shí)器部分控制脈沖頻率,它決定了步進(jìn)電機(jī)轉(zhuǎn)速的快慢;兩個(gè)外部中斷程序要做的工作都是為了完成改變速度這一功能。下面分析主程序與定時(shí)器中斷程序及外部中斷程序。</p><p><b> 4.2主程序設(shè)計(jì)</b></p><p> 主程序中要完成的工作主要有系
36、統(tǒng)初始值的設(shè)置、系統(tǒng)狀態(tài)的顯示以及各種開(kāi)關(guān)狀態(tài)的檢測(cè)判斷等。其中系統(tǒng)初始狀態(tài)的設(shè)置內(nèi)容較多,該系統(tǒng)中,需要初始化定時(shí)器、外部中斷;對(duì)P1口送初值以決定脈沖分配方式,速度值存儲(chǔ)區(qū)送初值決定步進(jìn)電機(jī)的啟動(dòng)速度,對(duì)方向值存儲(chǔ)區(qū)送初值決定步進(jìn)電機(jī)旋轉(zhuǎn)方向等內(nèi)容。若初始化P1=11H、速度和方向初始值均設(shè)為0,就意味著步進(jìn)電機(jī)按四相單四拍運(yùn)行,系統(tǒng)上電后在沒(méi)有操作的情況下,步進(jìn)電機(jī)不旋轉(zhuǎn),方向值顯示“0”,速度值顯示“0”,主程序流程圖如圖所示。
37、</p><p><b> 4.3定時(shí)中斷設(shè)計(jì)</b></p><p> 步進(jìn)電機(jī)的轉(zhuǎn)動(dòng)主要是給電機(jī)各繞組按一定的時(shí)間間隔連續(xù)不斷地按規(guī)律通入電流,步進(jìn)電機(jī)才會(huì)旋轉(zhuǎn),時(shí)間間隔越短,速度就越快。在這個(gè)系統(tǒng)中,這個(gè)時(shí)間間隔是用定時(shí)器重復(fù)中斷一定次數(shù)產(chǎn)生的,即調(diào)節(jié)時(shí)間間隔就是調(diào)節(jié)定時(shí)器的中斷次數(shù),因而在定時(shí)器中斷程序中,要做的工作主要是判斷電機(jī)的運(yùn)行方向、發(fā)下一個(gè)脈沖,
38、以及保存當(dāng)前的各種狀態(tài)。程序流程圖如圖所示。</p><p><b> 4.4外部中斷設(shè)計(jì)</b></p><p> 外部中斷所要完成的工作是根據(jù)按鍵次數(shù),改變速度值存儲(chǔ)區(qū)中的數(shù)據(jù)(該數(shù)據(jù)為定時(shí)器的中斷次數(shù)),這樣就改變了步進(jìn)電機(jī)的輸出脈沖頻率,也就是改變了電機(jī)的轉(zhuǎn)速。速度增加按鈕S2為INT0中斷,其程序流程為原數(shù)據(jù),當(dāng)值等于7時(shí),不改變?cè)瓟?shù)值返回,小于7時(shí),數(shù)
39、據(jù)加1后返回;速度減少按鈕S3,當(dāng)原數(shù)據(jù)不為0,減1保存數(shù)據(jù),原數(shù)據(jù)為0則保持不變。程序流程圖如圖所示。</p><p><b> C語(yǔ)言程序如下:</b></p><p> #include <reg51.h></p><p> #define uint unsigned int </p><p>
40、 sbit k1=P3^4; //啟動(dòng)開(kāi)關(guān)</p><p> sbit k2=P3^5; //換向開(kāi)關(guān)</p><p> sbit s2=P3^2; //加速按鈕</p><p> sbit s3=P3^3; //減速按鈕</p><p> void isr_int0(void);//外部中斷0中斷服務(wù)函數(shù)聲明</p>
41、<p> void isr_int1(void);</p><p> void zd_t0ist(void);</p><p> uint speed,count,r1,i,t,k;</p><p><b> main()</b></p><p><b> {k=0;</b>&l
42、t;/p><p><b> t=0;</b></p><p> r1=0x11 ;</p><p><b> speed=0;</b></p><p><b> count=1;</b></p><p> TMOD=0x01;</p>
43、<p><b> ET0=1;</b></p><p><b> EA=1;</b></p><p><b> EX0=1;</b></p><p><b> EX1=1;</b></p><p><b> TH0=0xc
44、f;</b></p><p><b> TL0=0x2c;</b></p><p><b> for(;;)</b></p><p> {if(k1==0)</p><p><b> {P0=0xff;</b></p><p><
45、;b> P2=0xff;</b></p><p><b> speed=0;</b></p><p><b> TR0=0;</b></p><p><b> }</b></p><p><b> else </b></p
46、><p><b> {</b></p><p><b> if(k2==0)</b></p><p><b> P0=0xbf;</b></p><p> else P0=0xf9;</p><p> if(speed==0)</p>
47、<p><b> {P2=0xc0;</b></p><p><b> TR0=0;</b></p><p><b> }</b></p><p> else TR0=1;</p><p><b> }</b></p>
48、<p><b> }</b></p><p><b> }</b></p><p> void isr_int0(void) interrupt 0</p><p><b> {</b></p><p> if(speed<7)</p>
49、<p> speed=speed+1;</p><p> while(s2==0)</p><p> {for(i=0;i<10;i++);}</p><p><b> }</b></p><p> void isr_int1(void) interrupt 2</p><p
50、><b> {</b></p><p> if(speed>0)</p><p> speed=speed-1;</p><p> while(s3==0)</p><p> {for(i=0;i<10;i++);}</p><p><b> }</b
51、></p><p> void zd_t0ist(void) interrupt 1</p><p><b> {</b></p><p><b> TH0=0xd8;</b></p><p><b> TL0=0xf0;</b></p><p
52、> switch(speed)</p><p><b> {</b></p><p> case 0:P2=0xc0;count=0;break;</p><p> case 1:P2=0xf9;count=60;break;</p><p> case 2:P2=0xa4;count=40;break;
53、</p><p> case 3:P2=0xb0;count=35;break;</p><p> case 4:P2=0x99;count=30;break;</p><p> case 5:P2=0x92;count=28;break;</p><p> case 6:P2=0x82;count=25;break;</p&g
54、t;<p> case 7:P2=0xf8;count=21;break;</p><p> default :break;</p><p><b> }</b></p><p><b> if(t==0)</b></p><p><b> t=count;<
55、/b></p><p><b> if(t>0)</b></p><p><b> t=t-1;</b></p><p><b> if(k2==0)</b></p><p><b> {</b></p><p>
56、;<b> if(t==0)</b></p><p><b> {</b></p><p><b> switch(k)</b></p><p><b> {</b></p><p> case 0:P1=0x01;break;</p>
57、;<p> case 1:P1=0x02;break;</p><p> case 2:P1=0x04;break;</p><p> case 3:P1=0x08;break;</p><p> default :break;</p><p><b> }</b></p><
58、p><b> k=k+1;</b></p><p><b> if(k==4)</b></p><p><b> k=0;</b></p><p><b> }</b></p><p><b> }</b></p
59、><p><b> else </b></p><p><b> {</b></p><p><b> if(t==0)</b></p><p><b> {</b></p><p><b> switch(k)&l
60、t;/b></p><p><b> {</b></p><p> case 0:P1=0x08;break;</p><p> case 1:P1=0x04;break;</p><p> case 2:P1=0x02;break;</p><p> case 3:P1=0x01
61、;break;</p><p> default :break;</p><p><b> }</b></p><p><b> k=k+1;</b></p><p><b> if(k==4)</b></p><p><b> k=
62、0;</b></p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> 第五章 仿真與調(diào)試</p><p><b> 5.1軟件介紹</b
63、></p><p> Proteus軟件介紹</p><p> Proteus(海神)的ISIS是一款Labcenter出品的電路分析實(shí)物仿真系統(tǒng),可仿真各種電路和IC,并支持單片機(jī),元件庫(kù)齊全,使用方便,是不可多得的專業(yè)的單片機(jī)軟件仿真系統(tǒng)。 </p><p> ① 全部滿足我們提出的單片機(jī)軟件仿真系統(tǒng)的標(biāo)準(zhǔn),并在同類產(chǎn)品中具有明顯的優(yōu)勢(shì)。 </
64、p><p> ②具有模擬電路仿真、數(shù)字電路仿真、單片機(jī)及其外圍電路組成的系統(tǒng)的仿真、RS一232動(dòng)態(tài)仿真、1 C調(diào)試器、SPI調(diào)試器、鍵盤(pán)和LCD系統(tǒng)仿真的功能;有各種虛擬儀器,如示波器、邏輯分析儀、信號(hào)發(fā)生器等。③ 目前支持的單片機(jī)類型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各種外圍芯片。④ 支持大量的存儲(chǔ)器和外圍芯片??傊撥浖?/p>
65、一款集單片機(jī)和SPICE分析于一身的仿真軟件,功能極其強(qiáng)大 ,可仿真51、AVR、PIC。 </p><p> Proteus與其它單片機(jī)仿真軟件不同的是,它不僅能仿真單片機(jī)CPU的工作情況,也能仿真單片機(jī)外圍電路或沒(méi)有單片機(jī)參與的其它電路的工作情況。因此在仿真和程序調(diào)試時(shí),關(guān)心的不再是某些語(yǔ)句執(zhí)行時(shí)單片機(jī)寄存器和存儲(chǔ)器內(nèi)容的改變,而是從工程的角度直接看程序運(yùn)行和電路工作的過(guò)程和結(jié)果。對(duì)于這樣的仿真實(shí)驗(yàn),從某種
66、意義上講,是彌補(bǔ)了實(shí)驗(yàn)和工程應(yīng)用間脫節(jié)的矛盾和現(xiàn)象。 </p><p> 5.2 keil軟件介紹</p><p> Keil 軟件是目前最流行開(kāi)發(fā) MCS-51 系列單片 機(jī)的軟件,這從近年來(lái)各仿真機(jī)廠商紛紛宣布全面支持 Keil 即可看出。Keil 提供了包括 C 編譯器、宏匯編、連接器、庫(kù)管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開(kāi)發(fā)方案,通 過(guò)一個(gè)集成開(kāi)發(fā)環(huán)境(uVision)
67、將這些部份組合在一起。</p><p><b> 5.3仿真過(guò)程</b></p><p><b> 操作如下:</b></p><p> 在Protues中畫(huà)出系統(tǒng)電路圖 </p><
68、p> 將程序在keil中編譯并生成hex文件。3)把在keil中編譯生成的HEX文件載入MCS-51芯片中;</p><p><b> 運(yùn)行仿真。 </b></p><p><b> 心得體會(huì)</b></p><p> 經(jīng)過(guò)這么長(zhǎng)時(shí)間的努力終于將課程設(shè)計(jì)完成了,在這次設(shè)計(jì)中,我們的電路知識(shí)得到了很好的補(bǔ)充和
69、鞏固,還使我提高了將理論知識(shí)運(yùn)用到實(shí)際中的能力。</p><p> 通過(guò)這次課程設(shè)計(jì),更深一步掌握了51單片機(jī)的原理,了解了簡(jiǎn)單步進(jìn)電機(jī)控制系統(tǒng)的組成原理,并初步掌握了步進(jìn)電機(jī)設(shè)計(jì)及測(cè)試方法。提高了動(dòng)手能力和排除故障的能力。同時(shí)通過(guò)本次設(shè)計(jì)與調(diào)試,鞏固了已學(xué)的理論知識(shí),將單片機(jī)的理論和實(shí)踐相結(jié)合,了解到步進(jìn)電機(jī)各單元電路之間的關(guān)系及影響,從而能正確設(shè)計(jì)、計(jì)算定時(shí)計(jì)數(shù)的各個(gè)單元電路。初步掌握步進(jìn)電機(jī)控制系統(tǒng)的設(shè)計(jì)
70、及測(cè)試方法,提高了動(dòng)手能力和排除故障的能力。</p><p> 通過(guò)本次課程設(shè)計(jì)我們不僅對(duì)前面所學(xué)知識(shí)作出了檢驗(yàn),也讓自己能力得到了很大的提高。在這次課程設(shè)計(jì)中,我們發(fā)現(xiàn)了自己原來(lái)的知識(shí)還比較欠缺,要學(xué)習(xí)的東西還太多,深切的感受到學(xué)習(xí)是一個(gè)長(zhǎng)期積累的過(guò)程,在以后的工作、生活中都應(yīng)該不斷的學(xué)習(xí),努力提高自己的知識(shí)和綜合素質(zhì)。</p><p> 這次設(shè)計(jì)使我們學(xué)到了以前書(shū)本知識(shí)中所不曾了解
71、的知識(shí),更加明白了在如今的信息時(shí)代下電子技能知識(shí)的重要性,豐富了我們對(duì)實(shí)際工藝技術(shù)、電子技術(shù)和設(shè)備技術(shù)等方面的認(rèn)識(shí),掌握了分析問(wèn)題、處理問(wèn)題的方法以及調(diào)試、計(jì)算等基本技能,使實(shí)際工作能力得到了有效提高。</p><p> 在這次的課程設(shè)計(jì)中非常感謝老師的指導(dǎo)與幫助,使我們的課程設(shè)計(jì)能更好的完成,這對(duì)于我們今后的學(xué)習(xí)、工作和生活都有很大幫助。同時(shí),我們也充分認(rèn)識(shí)到團(tuán)隊(duì)合作的重要性,這次經(jīng)歷對(duì)于我們以后的發(fā)展無(wú)疑是
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 步進(jìn)電機(jī)課程設(shè)計(jì)--步進(jìn)電機(jī)控制系統(tǒng)
- 步進(jìn)電機(jī)課程設(shè)計(jì)---步進(jìn)電機(jī)控制系統(tǒng)的設(shè)計(jì)
- 步進(jìn)電機(jī)課程設(shè)計(jì)報(bào)告---步進(jìn)電機(jī)控制系統(tǒng)
- 步進(jìn)電機(jī)課程設(shè)計(jì)報(bào)告--步進(jìn)電機(jī)控制系統(tǒng)設(shè)計(jì)
- 步進(jìn)電機(jī)專業(yè)課程設(shè)計(jì)--步進(jìn)電機(jī)控制系統(tǒng)設(shè)計(jì)
- 步進(jìn)電機(jī)控制系統(tǒng)課程設(shè)計(jì)
- 課程設(shè)計(jì)-- 微機(jī)步進(jìn)電機(jī)控制系統(tǒng)設(shè)計(jì)
- 步進(jìn)電機(jī)控制系統(tǒng)設(shè)計(jì)課程設(shè)計(jì)報(bào)告
- 課程設(shè)計(jì)-步進(jìn)電機(jī)控制步進(jìn)電機(jī)轉(zhuǎn)速實(shí)時(shí)控制
- 微機(jī)原理課程設(shè)計(jì)--步進(jìn)電機(jī)控制系統(tǒng)
- 課程設(shè)計(jì)---步進(jìn)電機(jī)控制
- 課程設(shè)計(jì)----二相步進(jìn)電機(jī)控制系統(tǒng)的設(shè)計(jì)
- 步進(jìn)電機(jī)控制課程設(shè)計(jì)---基于intel 8086 cpu的步進(jìn)電機(jī)控制系統(tǒng)的設(shè)計(jì)與驗(yàn)證
- 單片機(jī)課程設(shè)計(jì)--步進(jìn)電機(jī)控制系統(tǒng)
- 步進(jìn)電機(jī)控制課程設(shè)計(jì)--步進(jìn)電機(jī)脈沖分配電路的設(shè)計(jì)
- 微機(jī)控制技術(shù)課程設(shè)計(jì)---步進(jìn)電機(jī)控制系統(tǒng)設(shè)計(jì)
- 步進(jìn)電機(jī)課程設(shè)計(jì)
- 課程設(shè)計(jì)步進(jìn)電機(jī)
- 步進(jìn)電機(jī)控制系統(tǒng)設(shè)計(jì)
- 課程設(shè)計(jì)---三相步進(jìn)電機(jī)控制系統(tǒng)的設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論