版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(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> 學(xué)生姓名: </p><p> 同
2、組 者: </p><p> 指導(dǎo)教師: </p><p> 2010年11月18日</p><p><b> 目錄</b></p><p> 摘要 ……………………………………………
3、……………………4</p><p> 第一章緒論…………………………………………………………5</p><p> 1.1 關(guān)于步進(jìn)電機(jī)……………………………………………5</p><p> 1.2 選題的目的和意義…………………………………………6</p><p> 第二章 元器件的介紹…………………………………………………8&l
4、t;/p><p> 2.1 步進(jìn)電機(jī)………………………………………………8</p><p> 2.2 89C51…………………………………………………9</p><p> 第三章步進(jìn)電機(jī)控制系統(tǒng)硬件電路設(shè)計(jì)………………………………11</p><p> 3.1 控制電路………………………………………………10</p>
5、<p> 3.2 最小系統(tǒng)………………………………………………12</p><p> 3.3 驅(qū)動(dòng)電路………………………………………………13</p><p> 3.4 顯示電路………………………………………………14</p><p> 3.5 總體電路………………………………………………14</p><p> 第四章軟
6、件的設(shè)計(jì)………………………………………………16</p><p> 4.1 方案論證………………………………………………16</p><p> 4.2 主程序設(shè)計(jì)………………………………………………17</p><p> 4.3 定時(shí)中斷設(shè)計(jì)…………………………………………18</p><p> 4.4 外部中斷設(shè)計(jì)………………………
7、…………………19</p><p> 第五章仿真與調(diào)試……………………………………………25</p><p> 5.1 Proteus軟件介紹……………………………………25</p><p> 5.2 keil軟件介紹…………………………………………25</p><p> 5.3 仿真過(guò)程………………………………………………25&l
8、t;/p><p> 心得體會(huì)……………………………………………………………27</p><p> 附錄 PCB板圖及其三視圖……………………………………………28</p><p><b> 摘 要</b></p><p> 能夠?qū)崿F(xiàn)步進(jìn)電機(jī)控制的方式有多種,可以采用前期的模擬電路、 數(shù)字電路或模擬與數(shù)字電路相
9、結(jié)合的方式。近年來(lái)隨著科技的飛速發(fā)展,單片機(jī)的應(yīng)用正在不斷深入,同時(shí)帶動(dòng)傳統(tǒng)控制檢測(cè)日新月異更新。本文介紹一種用AT89C51作為核心部件進(jìn)行邏輯控制及信號(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ò)人為
10、按動(dòng)開(kāi)關(guān)實(shí)現(xiàn)步進(jìn)電機(jī)的開(kāi)關(guān),復(fù)位。該系統(tǒng)還增加了步進(jìn)電機(jī)的加速及減速功能。具有靈活方便、適用范圍廣的特點(diǎn),基本能夠滿(mǎn)足實(shí)踐需求。</p><p> 關(guān)鍵字:步進(jìn)電機(jī) 單片機(jī)</p><p><b> Abstract</b></p><p> Stepper motor control can be achieved in differe
11、nt ways, can be used early analog circuits, digital circuits or a combination of analog and digital circuit means. With the rapid development of science and technology in recent years, the application of SCM is a growing
12、, while traditional control test drive rapid updates. This paper describes a core component of the AT89C51, as the signal generated by logic control and microcontroller technology and assembly language programming design
13、ed stepper m</p><p> The control system uses SCM control, pressing the switch through the realization of human stepper motor switch, reset. The system also increased the stepper motor acceleration and decel
14、eration. Has the flexibility for a wide range of features, the basic practice to meet the demand. </p><p> Keywords: stepper motor microcontroller </p><p><b> 第一章 緒論</b></p>
15、<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è)脈沖信號(hào),它就驅(qū)動(dòng)步進(jìn)電機(jī)按設(shè)定的方向轉(zhuǎn)動(dòng)一個(gè)固定的角度,稱(chēng)為“步距角”,它的旋轉(zhuǎn)是以固定的角度一步一步運(yùn)行的??梢酝ㄟ^(guò)控制脈沖個(gè)數(shù)來(lái)控制角位移量,從而達(dá)到準(zhǔn)確定位的目
16、的;同時(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> 產(chǎn)生不同對(duì)極N、S磁場(chǎng)的激磁線圈對(duì)數(shù),是指電機(jī)內(nèi)部的線圈組數(shù),目前常用的有二相、三相、四相、五相步進(jìn)電機(jī)。電機(jī)相數(shù)不同,其步距角也不同,一般二相電機(jī)的步距角為
17、0.9°/1.8°、三相的為0.75°/1.5°、五相的為0.36°/0.72° 。在沒(méi)有細(xì)分驅(qū)動(dòng)器時(shí),用戶(hù)主要靠選擇不同相數(shù)的步進(jìn)電機(jī)來(lái)滿(mǎn)足自己步距角的要求。如果使用細(xì)分驅(qū)動(dòng)器,則‘相數(shù)’將變得沒(méi)有意義,用戶(hù)只需在驅(qū)動(dòng)器上改變細(xì)分?jǐn)?shù),就可以改變步距角。目前應(yīng)用最廣泛的是兩相和四相,四相電機(jī)一般用作兩相,五相的成本較高。</p><p><b>
18、; 拍數(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-CD-D-DA-A.</p><p><b> 固有步距角 </b></p><p> 對(duì)應(yīng)
19、一個(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度(俗稱(chēng)整步),八拍運(yùn)行時(shí)步距角為θ=360度/(50*8)=0.9度(俗稱(chēng)半步)。這個(gè)步距角可以稱(chēng)之為‘電機(jī)固有步距角’,它不一定是電機(jī)實(shí)際工作時(shí)的真正步距角,真正的步距角和驅(qū)動(dòng)器有關(guān)。</p><p><b> 定位轉(zhuǎn)矩 &
20、lt;/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)有DETENT TORQUE。</p><p><b> 最大靜轉(zhuǎn)矩 </b></p><p>
21、也叫保持轉(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ī)的輸出力矩隨速度的增大而不斷衰減,輸出功率也隨速度的增大而變化,所以保持轉(zhuǎn)矩就成為了衡量步進(jìn)電機(jī)最重要的參數(shù)之一。比如,當(dāng)人們說(shuō)2N.m的步進(jìn)電機(jī),在沒(méi)有特殊說(shuō)明的情況下是指保持轉(zhuǎn)
22、矩為2N.m的步進(jìn)電機(jī)。</p><p><b> 步距角精度 </b></p><p> 步進(jìn)電機(jī)每轉(zhuǎn)過(guò)一個(gè)步距角的實(shí)際值與理論值的誤差。用百分比表示:誤差/步距角*100%。不同運(yùn)行拍數(shù)其值不同,四拍運(yùn)行時(shí)應(yīng)在5%之內(nèi),八拍運(yùn)行時(shí)應(yīng)在15%以?xún)?nèi)。</p><p><b> 失步 </b></p>
23、<p> 電機(jī)運(yùn)轉(zhuǎn)時(shí)運(yùn)轉(zhuǎn)的步數(shù),不等于理論上的步數(shù)。稱(chēng)之為失步。</p><p><b> 失調(diào)角 </b></p><p> 轉(zhuǎn)子齒軸線偏移定子齒軸線的角度,電機(jī)運(yùn)轉(zhuǎn)必存在失調(diào)角,由失調(diào)角產(chǎn)生的誤差,采用細(xì)分驅(qū)動(dòng)是不能解決的。</p><p> 最大空載啟動(dòng)頻率 </p><p> 電機(jī)在某種
24、驅(qū)動(dòng)形式、電壓及額定電流下,在不加負(fù)載的情況下,能夠直接起動(dòng)的最大頻率。</p><p> 最大空載運(yùn)行頻率 </p><p> 電機(jī)在某種驅(qū)動(dòng)形式,電壓及額定電流下,電機(jī)不帶負(fù)載的最高轉(zhuǎn)速頻率。</p><p><b> 運(yùn)行矩頻特性</b></p><p> 電機(jī)在某種測(cè)試條件下測(cè)得運(yùn)行中輸出力矩與頻率關(guān)系
25、的曲線稱(chēng)為運(yùn)行矩頻特性,這是電機(jī)諸多動(dòng)態(tài)曲線中最重要的,也是電機(jī)選擇的根本依據(jù)。</p><p> 1.2 選題的目的和意義</p><p> 通過(guò)這次課程設(shè)計(jì),掌握51單片機(jī)的原理,了解步進(jìn)電機(jī)的工作原理,提高動(dòng)手能力和排除故障的能力。同時(shí)通過(guò)本次設(shè)計(jì)與調(diào)試,調(diào)高自己的動(dòng)手能力,鞏固已學(xué)的理論知識(shí),建立單片機(jī)理論和實(shí)踐的結(jié)合,了解步進(jìn)電機(jī)控制系統(tǒng)中電路之間的關(guān)系及相互影響,從而能正確
26、設(shè)計(jì)各個(gè)單元電路。初步掌握步進(jìn)電機(jī)控制系統(tǒng)的測(cè)試方法。提高動(dòng)手能力和排除故障的能力。</p><p> 第二章 元器件的介紹</p><p><b> 2.1步進(jìn)電機(jī)</b></p><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ī)的
27、最大特點(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ī)又稱(chēng)為脈沖電機(jī),是工業(yè)過(guò)程控制和儀表中一種能夠快速啟動(dòng),反轉(zhuǎn)和制動(dòng)的執(zhí)行</p><p> 元件,其功用是將電脈沖轉(zhuǎn)換為相應(yīng)的角位移或直線位移,由于開(kāi)環(huán)下就能實(shí)現(xiàn)精確定位的特點(diǎn),使其
28、在工業(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ù)確定,所以,也有人稱(chēng)步進(jìn)電機(jī)為數(shù)字/角度轉(zhuǎn)換器。</p><p> 四相步進(jìn)電機(jī)的工作原理</p><p> 該設(shè)計(jì)采用了20BY-0型步進(jìn)電機(jī),該電機(jī)為四相步進(jìn)電機(jī),采用單極性直流電源供
29、電。只要對(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ò)齒是促使電機(jī)旋轉(zhuǎn)的原因。</p><p> 步進(jìn)電機(jī)的靜態(tài)指標(biāo)及術(shù)語(yǔ)</p><p> 相數(shù):產(chǎn)生不同隊(duì)N、S磁
30、場(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→DA→A。</p><p> 步距角:對(duì)應(yīng)一個(gè)脈沖信號(hào),電機(jī)轉(zhuǎn)子轉(zhuǎn)過(guò)的角位移用θ表示。Θ=360度(轉(zhuǎn)子齒角運(yùn)行拍數(shù)),以常規(guī)二、四相,轉(zhuǎn)子
31、齒角為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ī)械誤差造成的)。</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)電源
32、等無(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> 目前,對(duì)步進(jìn)電機(jī)的控制主要有分散器件組成的環(huán)形脈沖分配器、軟件環(huán)形脈沖分配器、專(zhuān)用集成芯片環(huán)形脈沖分配器等。本設(shè)計(jì)利用單片機(jī)進(jìn)行控制,主要是利用軟件進(jìn)行環(huán)形脈沖分配。
33、四相步進(jìn)電機(jī)的工作方式為四相單四拍,雙四拍和四相八拍工作的方式。各種工作方式在電源通電時(shí)的時(shí)序 與波形分別如圖1 a、b、c所示。本設(shè)計(jì)的電機(jī)工作方式為四相單四拍,根據(jù)步進(jìn)電機(jī)的工作的時(shí)序和波形圖,總結(jié)出其工作方式為四相單四拍時(shí)的脈沖分配規(guī)律,四相雙四拍的脈沖分配規(guī)律,在每一種工作方式中,脈沖的頻率越高,其轉(zhuǎn)速就越快,但脈沖頻率高到一定程度,步進(jìn)電機(jī)跟不上頻率的變化后電機(jī)會(huì)出現(xiàn)失步現(xiàn)象,所以脈沖頻率一定要控制在步進(jìn)電機(jī)允許的范圍內(nèi)。&l
34、t;/p><p> 2.2 89C51單片機(jī)</p><p> Atmel公司生產(chǎn)的89C51單片機(jī)是一種低功耗/低電壓‘高性能的8位單片機(jī),它采用CMOS和高密度非易失性存儲(chǔ)技術(shù),而且其輸出引腳和指令系統(tǒng)都與MCS-51兼容;片內(nèi)的Flash ROM允許在系統(tǒng)內(nèi)改編程序或用常規(guī)的非易失性編程器來(lái)編程,內(nèi)部除CPU外,還包括256字節(jié)RAM,4個(gè)8位并行I/O口,5個(gè)中斷源,2個(gè)中斷優(yōu)先
35、級(jí),2個(gè)16位可編程定時(shí)計(jì)數(shù)器,89C51單片機(jī)是一種功能強(qiáng)、靈活性高且價(jià)格合理的單片機(jī),完全滿(mǎn)足本系統(tǒng)設(shè)計(jì)需要。</p><p> 第三章 步進(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ī)的
36、工作狀態(tài)和轉(zhuǎn)速。驅(qū)動(dòng)電路主要是對(duì)單片機(jī)輸出的脈沖進(jìn)行功率放大,從而驅(qū)動(dòng)電機(jī)轉(zhuǎn)動(dòng)。</p><p><b> 3.1控制電路</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)部程序
37、檢測(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ī)的工作原理可以知道,步進(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ù),改變速度值存
38、儲(chǔ)區(qū)中的數(shù)據(jù)(該數(shù)據(jù)為定時(shí)器的中斷次數(shù)),這樣就改變了步進(jìn)電機(jī)的輸出脈沖頻率,從而改變了電機(jī)的轉(zhuǎn)速。</p><p> 圖2 控制電路原理圖</p><p><b> 3.2最小系統(tǒng)</b></p><p> 單片機(jī)最小系統(tǒng)或者稱(chēng)為最小應(yīng)用系統(tǒng),素質(zhì)用最少的元件組成的單片機(jī)可以工作的系統(tǒng),對(duì)51系列單片機(jī)來(lái)說(shuō),最小系統(tǒng)一般應(yīng)該包括:?jiǎn)纹瑱C(jī)
39、、復(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ù)位電路采用手動(dòng)復(fù)位,所謂手動(dòng)復(fù)位,是指通過(guò)接通一按鈕開(kāi)關(guān),使單片機(jī)進(jìn)入復(fù)位狀態(tài),晶振電路用30PF的電容和一12M晶體振蕩器組成為整個(gè)電路提供時(shí)鐘頻率。如圖3示。</p><p> 晶振電路:80
40、51單片機(jī)的時(shí)鐘信號(hào)通常用兩種電路形式電路得到:內(nèi)部震蕩方式和外部中斷方式。在引腳XTAL1和XTAL2外部接晶振電路器(簡(jiǎn)稱(chēng)晶振)或陶瓷晶振器,就構(gòu)成了內(nèi)部晶振方式。由于單片機(jī)內(nèi)部有一個(gè)高增益反相放大器,當(dāng)外接晶振后,就構(gòu)成了自激振蕩器并產(chǎn)生振蕩時(shí)鐘脈沖。內(nèi)部振蕩方式的外部電路如圖5示。其電容值一般在5~30pf,晶振頻率的典型值為12MHz,采用6MHz的情況也比較多。內(nèi)部振蕩方式所得的時(shí)鐘信號(hào)比較穩(wěn)定,實(shí)用電路實(shí)用較多。</
41、p><p> 圖3復(fù)位及時(shí)鐘振蕩電路</p><p><b> 3.3驅(qū)動(dòng)電路</b></p><p> 通過(guò)ULN2803構(gòu)成比較多的驅(qū)動(dòng)電路,電路圖如圖4所示。通過(guò)單片機(jī)的P1.0~P1.3輸出脈沖到ULN2803的1B~4B口,經(jīng)信號(hào)放大后從1C~4C口分別輸出到電機(jī)的A、B、C、D相。</p><p> 圖4
42、 步進(jìn)電機(jī)驅(qū)動(dòng)電路</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)數(shù)碼管作顯示。第一個(gè)數(shù)碼管接的a、b、c
43、、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)速為零。電路如圖5所示。</p><p><b> 圖5 顯示電路</b></p><p><b
44、> 3.5總體電路圖</b></p><p> 把各個(gè)部分的電路圖組合成總電路圖,如圖6所示。</p><p><b> 圖6 總體電路圖</b></p><p> 第四章 軟件的設(shè)計(jì)</p><p><b> 4.1方案論證</b></p><p
45、> 從該系統(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口的P1.0~P1.3控制,由于P1口驅(qū)動(dòng)能力不夠,因而用一片2803增加驅(qū)動(dòng)
46、能力。用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è)部分的工作才能滿(mǎn)足課題要求,即主程序部分、定時(shí)器中斷部分、外部中斷0和外部中斷1部分,其中主程序的主要功能是系統(tǒng)初始參數(shù)的設(shè)置及啟動(dòng)開(kāi)關(guān)的檢測(cè),若啟動(dòng)開(kāi)關(guān)
47、合上則系統(tǒng)開(kāi)始工作,反之系統(tǒng)停止工作;定時(shí)器部分控制脈沖頻率,它決定了步進(jìn)電機(jī)轉(zhuǎn)速的快慢;兩個(gè)外部中斷程序要做的工作都是為了完成改變速度這一功能。下面分析主程序與定時(shí)器中斷程序及外部中斷程序。</p><p><b> 4.2主程序設(shè)計(jì)</b></p><p> 主程序中要完成的工作主要有系統(tǒng)初始值的設(shè)置、系統(tǒng)狀態(tài)的顯示以及各種開(kāi)關(guān)狀態(tài)的檢測(cè)判斷等。其中系統(tǒng)初始狀
48、態(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”,主程序流程圖如圖7所示。</p><p><b> 4.3定
49、時(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è)脈沖,以及保存當(dāng)前的各種狀態(tài)。程序流程圖如圖8所示。</p>&
50、lt;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ù)據(jù)加1后返回;速度減少按鈕S3,當(dāng)原數(shù)據(jù)不為0,減1保存數(shù)據(jù),原數(shù)據(jù)為
51、0則保持不變。程序流程圖如圖9所示。</p><p><b> C語(yǔ)言程序如下:</b></p><p> #include <reg51.h></p><p> #define uint unsigned int </p><p> sbit k1=P3^4; //啟動(dòng)開(kāi)關(guān)</p>&
52、lt;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><p> void isr_int1(void);<
53、;/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></p><p><b> t=0;
54、</b></p><p> r1=0x11 ;</p><p><b> speed=0;</b></p><p><b> count=1;</b></p><p> TMOD=0x01;</p><p><b> ET0=1;</b
55、></p><p><b> EA=1;</b></p><p><b> EX0=1;</b></p><p><b> EX1=1;</b></p><p><b> TH0=0xcf;</b></p><p>&
56、lt;b> TL0=0x2c;</b></p><p><b> for(;;)</b></p><p> {if(k1==0)</p><p><b> {P0=0xff;</b></p><p><b> P2=0xff;</b></p&g
57、t;<p><b> speed=0;</b></p><p><b> TR0=0;</b></p><p><b> }</b></p><p><b> else </b></p><p><b> {</b&
58、gt;</p><p><b> if(k2==0)</b></p><p><b> P0=0xbf;</b></p><p> else P0=0xf9;</p><p> if(speed==0)</p><p><b> {P2=0xc0;<
59、/b></p><p><b> TR0=0;</b></p><p><b> }</b></p><p> else TR0=1;</p><p><b> }</b></p><p><b> }</b><
60、;/p><p><b> }</b></p><p> void isr_int0(void) interrupt 0</p><p><b> {</b></p><p> if(speed<7)</p><p> speed=speed+1;</p>
61、;<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><b> {</b></p&g
62、t;<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></p><p> void zd
63、_t0ist(void) interrupt 1</p><p><b> {</b></p><p><b> TH0=0xd8;</b></p><p><b> TL0=0xf0;</b></p><p> switch(speed)</p><
64、;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;</p><p> case 3:P2=0
65、xb0;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><p> case 7:P2=0xf8;coun
66、t=21;break;</p><p> default :break;</p><p><b> }</b></p><p><b> if(t==0)</b></p><p><b> t=count;</b></p><p><b&g
67、t; if(t>0)</b></p><p><b> t=t-1;</b></p><p><b> if(k2==0)</b></p><p><b> {</b></p><p><b> if(t==0)</b><
68、/p><p><b> {</b></p><p><b> switch(k)</b></p><p><b> {</b></p><p> case 0:P1=0x01;break;</p><p> case 1:P1=0x02;break
69、;</p><p> case 2:P1=0x04;break;</p><p> case 3:P1=0x08;break;</p><p> default :break;</p><p><b> }</b></p><p><b> k=k+1;</b>&l
70、t;/p><p><b> if(k==4)</b></p><p><b> k=0;</b></p><p><b> }</b></p><p><b> }</b></p><p><b> else <
71、;/b></p><p><b> {</b></p><p><b> if(t==0)</b></p><p><b> {</b></p><p><b> switch(k)</b></p><p><b
72、> {</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;break;</p><p> defa
73、ult :break;</p><p><b> }</b></p><p><b> k=k+1;</b></p><p><b> if(k==4)</b></p><p><b> k=0;</b></p><p>&
74、lt;b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> 第五章 仿真與調(diào)試</p><p><b> 5.1軟件介紹</b></p><p> Proteus
75、軟件介紹</p><p> Proteus(海神)的ISIS是一款Labcenter出品的電路分析實(shí)物仿真系統(tǒng),可仿真各種電路和IC,并支持單片機(jī),元件庫(kù)齊全,使用方便,是不可多得的專(zhuān)業(yè)的單片機(jī)軟件仿真系統(tǒng)。 </p><p> ?、?全部滿(mǎn)足我們提出的單片機(jī)軟件仿真系統(tǒng)的標(biāo)準(zhǔn),并在同類(lèi)產(chǎn)品中具有明顯的優(yōu)勢(shì)。 </p><p> ?、诰哂心M電路仿真、數(shù)字電路仿真
76、、單片機(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ī)類(lèi)型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各種外圍芯片。④ 支持大量的存儲(chǔ)器和外圍芯片??傊撥浖且豢罴瘑纹瑱C(jī)和SPICE分析于一身的仿真軟件,功能極其強(qiáng)大 ,可仿真
77、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),從某種意義上講,是彌補(bǔ)了實(shí)驗(yàn)和工程應(yīng)用間脫節(jié)的矛盾和現(xiàn)象。 </p&
78、gt;<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)將這些部份組合在一起。</p><p>&l
79、t;b> 5.3仿真過(guò)程</b></p><p><b> 操作如下:</b></p><p> 在Protues中畫(huà)出系統(tǒng)電路圖 </p><p> 將程序在keil中編譯并生成hex文件。3)把在ke
80、il中編譯生成的HEX文件載入AT89C51芯片中;</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ǔ)充和鞏固,還使我提高了將理論知識(shí)運(yùn)用到實(shí)際中的能力。</p>
81、;<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ì)及測(cè)試方法,提高了動(dòng)手能力和排除故障的能力。</p>
82、<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í)中所不曾了解的知識(shí),更加明白了在如今的信息時(shí)代下電子技能知識(shí)的重要性,豐富了我
83、們對(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ú)疑是相當(dāng)有幫助的。相信有了這次累積,畢業(yè)后的工作學(xué)習(xí)將會(huì)更加順利。&l
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于51單片機(jī)的步進(jìn)電機(jī)的課程設(shè)計(jì)
- 基于51單片機(jī)的步進(jìn)電機(jī)控制課程設(shè)計(jì)
- 單片機(jī)步進(jìn)電機(jī)課程設(shè)計(jì)--單片機(jī)控制步進(jìn)電機(jī)的設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--基于單片機(jī)的步進(jìn)電機(jī)控制
- 課程設(shè)計(jì)--基于at89c51單片機(jī)控制步進(jìn)電機(jī)
- 單片機(jī)課程設(shè)計(jì)--步進(jìn)電機(jī)
- 基于單片機(jī)的步進(jìn)電機(jī)控制單片機(jī)課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)---步進(jìn)電機(jī)
- 單片機(jī)課程設(shè)計(jì)--單片機(jī)控制步進(jìn)電機(jī)
- 單片機(jī)課程設(shè)計(jì)-單片機(jī)控制步進(jìn)電機(jī)
- 單片機(jī)課程設(shè)計(jì)-步進(jìn)電機(jī)
- 基于單片機(jī)的步進(jìn)電機(jī)控制課程設(shè)計(jì)
- 基于單片機(jī)的步進(jìn)電機(jī)控制課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--基于單片機(jī)的四相步進(jìn)電機(jī)控制
- 單片機(jī)課程設(shè)計(jì)-步進(jìn)電機(jī)的控制
- 單片機(jī)課程設(shè)計(jì)——基于單片機(jī)的步進(jìn)電機(jī)控制器設(shè)計(jì)
- 基于51單片機(jī)的步進(jìn)電機(jī)控制-
- 單片機(jī)課程設(shè)計(jì)報(bào)告——單片機(jī)控制步進(jìn)電機(jī)
- 基于51單片機(jī)的步進(jìn)電機(jī)的控制設(shè)計(jì)
- 單片機(jī)-控制步進(jìn)電機(jī)課程設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論