版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 引言</b></p><p> 步進(jìn)電動機是一種將電脈沖信號轉(zhuǎn)換成角位移或線位移的精密執(zhí)行元件,由于步進(jìn)電機具有控制方便、體積小等特點,所以在數(shù)控系統(tǒng)、自動生產(chǎn)線、自動化儀表、繪圖機和計算機外圍設(shè)備中得到廣泛應(yīng)用。微電子學(xué)的迅速發(fā)展和微型計算機的普及與應(yīng)用,為步進(jìn)電動機的應(yīng)用開辟了廣闊前景,使得以往用硬件電路構(gòu)成的龐大復(fù)雜的控制器得以用軟件實現(xiàn),既降低了硬件成
2、本又提高了控制的靈活性,可靠性及多功能性。在當(dāng)今社會的各個領(lǐng)域步進(jìn)電機無處不在,應(yīng)用領(lǐng)域涉及機器人、工業(yè)電子自動化設(shè)備、醫(yī)療器件、廣告器材、舞臺燈光設(shè)備、印刷設(shè)備、計算機外部應(yīng)用設(shè)備等等。因此,設(shè)計出高精確度、實時監(jiān)控、語音提示的步進(jìn)電機具有重要的現(xiàn)實意義和實用價值?;趩纹瑱C的步進(jìn)電機控制系統(tǒng),能夠有效地對步進(jìn)電機轉(zhuǎn)速、方向等進(jìn)行控制。</p><p> 本設(shè)計采用16位單片機AT89S52對步進(jìn)電機進(jìn)行控制
3、,通過I/O口輸出的具有時序的方波作為步進(jìn)電機的控制信號,信號經(jīng)過驅(qū)動芯片驅(qū)動步進(jìn)電機;同時,用按鍵來對電機的狀態(tài)進(jìn)行控制,并用數(shù)碼管顯示電機的轉(zhuǎn)速,</p><p><b> 1 課題背景</b></p><p> 步進(jìn)電機是機電一體化產(chǎn)品中的關(guān)鍵組件之一,是一種性能良好的數(shù)字執(zhí)行元件,隨著計算機應(yīng)用技術(shù)、電子技術(shù)和自動控制技術(shù)在國民經(jīng)濟各個領(lǐng)域中的普及與深入
4、,步進(jìn)電機的需求量越練越大。</p><p> 隨著工業(yè)技術(shù)的不斷發(fā)展,以及同類產(chǎn)品的不斷出現(xiàn),步進(jìn)電機面臨著前所未有的挑戰(zhàn)。但近30年來,數(shù)字技術(shù)、計算機技術(shù)和永磁材料的迅速發(fā)展,推動步進(jìn)電機的發(fā)展,為步進(jìn)電機的應(yīng)用開辟了廣闊的前景,近幾年來,步進(jìn)電機 需求量一直呈現(xiàn)出較快的增長速度,其中掃描儀、打印機、傳真、DVD-ROM/CD-ROM驅(qū)動器、空調(diào)及多功能自動化辦公設(shè)備等應(yīng)用對步進(jìn)電機的需求增長
5、最強。此外由于USB2.0的日益流行促進(jìn)了高分辨率掃描儀的銷售,步進(jìn)電機向著小型、薄型和更小的步進(jìn)角度發(fā)展。</p><p> 步進(jìn)電機有著方方面面重要應(yīng)用,如何對其進(jìn)行有效控制,使其能夠發(fā)揮最大的優(yōu)勢是各個行業(yè)技術(shù)開發(fā)人員所共同關(guān)注的,本次設(shè)計了一套簡單的通用控制系統(tǒng),對步進(jìn)電機的轉(zhuǎn)速、方向?qū)嵭惺謩涌刂疲⒛芡ㄟ^數(shù)碼管顯示其轉(zhuǎn)速。</p><p><b> 2 設(shè)計要求&
6、lt;/b></p><p> 本設(shè)計主要研究單片機控制步進(jìn)電機,對步進(jìn)電機的轉(zhuǎn)速、方向進(jìn)行控制和顯示。</p><p> 該系統(tǒng)的主要技術(shù)參數(shù)</p><p> ?。?)系統(tǒng)供電電源:電壓:12V、5V;額定電流:0.5A。</p><p> (2)驅(qū)動電源輸出:四相八拍方式。</p><p> (3)
7、步踞角:0.9°。</p><p> 該系統(tǒng)要實現(xiàn)的主要功能:</p><p> ?。?)能實現(xiàn)步進(jìn)電機的正轉(zhuǎn)、反轉(zhuǎn)控制。</p><p> (2)能實現(xiàn)步進(jìn)電機的轉(zhuǎn)速控制。</p><p> ?。?)擴展功能:實現(xiàn)步進(jìn)電機點動的轉(zhuǎn)動控制及正反轉(zhuǎn)控制。</p><p><b> 3 方案論證
8、</b></p><p> 3.1 步進(jìn)電機選擇</p><p> 由于本系統(tǒng)是基于單片機的步進(jìn)電機系統(tǒng),實際上是設(shè)計步進(jìn)電機的驅(qū)動電路,而設(shè)計步進(jìn)電機的驅(qū)動電路有一個必須遵循的原則:先選擇步進(jìn)電機后進(jìn)行驅(qū)動電路設(shè)計。所以在此先介紹步進(jìn)電機的選擇,而這個問題的又分為步進(jìn)電機在理論上的選用以及理論聯(lián)系實際對步進(jìn)電機的選用。</p><p> 3.1.
9、1理論上對步進(jìn)電機的選用</p><p> 步進(jìn)電機作為本系統(tǒng)的主要組成部件,它的參數(shù)選取以及電機的性能指標(biāo)直接影響到系統(tǒng)控制精度及運行可靠性。步進(jìn)電機和一般直流電機不同,它的性能指標(biāo)與驅(qū)動電源及測試條件關(guān)系很大。同樣一個步進(jìn)電機,當(dāng)驅(qū)動電源或測試方法改變了,其性能會千差萬別。不同廠家制造的步進(jìn)電機,只有在相同的控制電源以及測試條件下進(jìn)行比較才有意義。因此只有對步進(jìn)電機的參數(shù)和特性有比較深刻的了解,才會更好地選
10、用和使用步進(jìn)電機。</p><p> (1)步進(jìn)電機的主要參數(shù)</p><p><b> ① 步距角</b></p><p> 在電機內(nèi)不帶任何減速裝置的情況下,輸入一個脈沖信號,步進(jìn)電機所轉(zhuǎn)過的機械位移即為步距角。電機的步距角取決于負(fù)載精度的要求,將負(fù)載的最小分辨率(當(dāng)量)換算到電機軸上,每個當(dāng)量電機應(yīng)走多少角度(包括減速)。電機的步距
11、角應(yīng)等于或小于此角度。目前市場上步進(jìn)電機的步距角一般有0.36°/0.72°(五相電機)、0.9°/1.8°(二相、四相電機)、1.5°/3° (三相電機)等。鑒于在本市購買步進(jìn)電機的困難以及目前市場上廣泛應(yīng)用的是二相、四相混合式電機,所以本系統(tǒng)采用的是步距角0.9°四相混合式步進(jìn)電機。</p><p> 步距角為0.9度,通過計算
12、:360°/0.9°=400,則步進(jìn)電機轉(zhuǎn)一圈需要400步。</p><p><b> ?、?步進(jìn)電機的相數(shù)</b></p><p> 步進(jìn)電機的相數(shù)是指電機內(nèi)部的線圈組數(shù),目前常用的有二相、三相、四相、五相步進(jìn)電機。每相都包括電機繞組以及和繞組串聯(lián)成一個支路的其他元件。在沒有細(xì)分驅(qū)動器時,主要靠選擇不同相數(shù)的步進(jìn)電機來滿足自己步距角的要求。&l
13、t;/p><p><b> ?、?額定電壓</b></p><p> 指步進(jìn)電機各相繞組主回路上的直流電壓。電壓波紋系數(shù)不宜過大,一般情況下應(yīng)小于5%。為了步進(jìn)電機及其配套電源的標(biāo)準(zhǔn)化,國家標(biāo)準(zhǔn)GBn113-81規(guī)定步進(jìn)電機的額定電壓為:</p><p> 單電壓驅(qū)動:6,12,27,48,60,80(V);</p><p&
14、gt; 雙電壓驅(qū)動:6/12,80/12(V)。</p><p><b> ?、?功率</b></p><p> 步進(jìn)電機典型功率范圍從幾百微瓦(用于較小電機)直到幾瓦(用于大型電機)。步進(jìn)電機的最大功耗受繞組中溫度限制。出于本系統(tǒng)設(shè)計的考慮只須選擇功率范圍在十瓦以內(nèi)的小功率電機即可。</p><p><b> ?、?最高運行轉(zhuǎn)速
15、</b></p><p> 確定步進(jìn)電機的最高運行轉(zhuǎn)速。轉(zhuǎn)速指標(biāo)在步進(jìn)電機的選取時至關(guān)重要,步進(jìn)電機的特性是隨著電機轉(zhuǎn)速的升高,扭矩下降,其下降的快慢和很多參數(shù)有關(guān),如:驅(qū)動器的驅(qū)動電壓、電機的相電流、電機的相電感、電機大小等等,一般的規(guī)律是:驅(qū)動電壓越高,力矩下降越慢;電機的相電流越大,力矩下降越慢。在設(shè)計方案時,電機的轉(zhuǎn)速控制可以參考廠家提供的矩頻特性圖。</p><p>
16、; (2)步進(jìn)電機動態(tài)指標(biāo):</p><p><b> ① 步距角精度</b></p><p> 即為步進(jìn)電機每轉(zhuǎn)過一個步距角的實際值與理論值的誤差。用百分比表示:誤差/步距角*100%。不同運行拍數(shù)其值不同,四拍運行時應(yīng)在5%之內(nèi),八拍運行時應(yīng)在15%以內(nèi)。</p><p><b> ?、?失步</b></p
17、><p> 電機運轉(zhuǎn)時運轉(zhuǎn)的步數(shù),不等于理論上的步數(shù),稱之為失步。</p><p><b> ?、?失調(diào)角</b></p><p> 轉(zhuǎn)子齒軸線偏移定子齒軸線的角度,電機運轉(zhuǎn)必存在失調(diào)角,由失調(diào)角產(chǎn)生的誤差,采用細(xì)分驅(qū)動是不能解決的。</p><p> ?、?最大空載起動頻率 </p><p>
18、 電機在某種驅(qū)動形式、電壓及額定電流下,在不加負(fù)載的情況下,能夠直接起動的最大頻率。</p><p> ?、?最大空載運行頻率</p><p> 電機在某種驅(qū)動形式,電壓及額定電流下,電機不帶負(fù)載的最高轉(zhuǎn)速頻率。</p><p> 3.1.2實際對步進(jìn)電機的選用</p><p> 以上是出于理論上對步進(jìn)電機的選用,實際上由于本系統(tǒng)只須簡
19、單地控制步進(jìn)電機正反轉(zhuǎn)、點動正反轉(zhuǎn),而沒有涉及到使用步進(jìn)電機拖動負(fù)載,因此諸如靜力矩和動力矩</p><p> 、轉(zhuǎn)子的轉(zhuǎn)動慣量、失調(diào)角、力矩負(fù)載、慣性負(fù)載這些因素就不需要考慮了;其次由于本設(shè)計采用的是小功率的步進(jìn)電機,因此也不需要過分考慮步距角精度這個因素;再則在本市購買步進(jìn)電機存在著少選擇且價格昂貴的客觀因素,所以最終只購買到如下圖所示這款價格低廉,型號老舊的二手步進(jìn)電機,該電機型號太古老且沒有說明書,因此
20、現(xiàn)有的參數(shù)如下:該電機為二相四相混合式步進(jìn)電機,步距角為0.9°,相數(shù)m為4,額定電壓Ue值為12V,相電阻值為34Ω,電機引出線數(shù)目為6,分別為紅、紅、黃、橙、灰、黑六色。</p><p> 圖3-1-3 步進(jìn)電機實體圖</p><p> 3.2 步進(jìn)電機驅(qū)動的幾種方案論證與比較</p><p> 本設(shè)計的重點在于對步進(jìn)電機的控制和驅(qū)動,設(shè)計中受控
21、電機為四相八拍制的步進(jìn)電機。 </p><p> 3.2.1使用分立元件驅(qū)動步進(jìn)電機</p><p> 以往步進(jìn)電機控制系統(tǒng)采用分立元件或者集成電路組成的控制回路,不僅調(diào)試安裝復(fù)雜,要消耗大量元器件,而且一旦定型之后,要改變控制方案就得重新設(shè)計電路。隨著微電子和計算機技術(shù)的發(fā)展,對步進(jìn)電機的控制變得非常靈活方便,可以通過軟件來控制步進(jìn)電機。因此,用微電腦控制步進(jìn)電機已經(jīng)成為了一種必然的
22、趨勢,也符合數(shù)字化的時代趨勢。</p><p> 3.2.2 使用多個功率放大器件驅(qū)動電機</p><p> 通過使用不同的放大電路和不同參數(shù)的器件,可以達(dá)到不同的放大的要求,放大后能夠得到較大的功率。但是由于使用的是四相的步進(jìn)電機,就需要對四路信號分別進(jìn)行放大,由于放大電路很難做到完全一致,當(dāng)電機的功率較大時運行起來會不穩(wěn)定,而且電路的制作也比較復(fù)雜。 </p><
23、;p> 3.2.3使用CH250芯片驅(qū)動電機</p><p> 在這種形式里,脈沖分配器(CH250)、驅(qū)動電路由硬件完成。單片機只提供步進(jìn)脈沖和正、反轉(zhuǎn)控制信號,步進(jìn)脈沖的產(chǎn)生與停止、步進(jìn)脈沖的頻率和個數(shù)都可用軟件控制。 但相比于用軟件代替脈沖分配器的方式來說,硬件一旦確定下來,不易更改,更主要的是此種芯片已經(jīng)在世面上買不到了,所以不采取該方案。</p><p> 3.2.4
24、使用L298N芯片驅(qū)動電機</p><p> L298N芯片可以驅(qū)動兩個二相電機,也可以驅(qū)動一個四相電機,輸出電壓最高可達(dá)50V,每相電流達(dá)2 A??梢灾苯油ㄟ^電源來調(diào)節(jié)輸出電壓;可以直接用單片機的IO口提供信號;電路簡單,使用方便。</p><p> 3.2.5使用ULN2003高壓大電流達(dá)林頓晶體管陣列驅(qū)動電機</p><p> ULN2003承受高達(dá)50
25、V工作電壓和0.5A工作電流,而本設(shè)計電機也僅需要0.35A相電流驅(qū)動即可。由此芯片構(gòu)成的驅(qū)動電路簡單,驅(qū)動功率大且成本低,且由軟件完成脈沖分配工作,不僅使線路簡化,而且可根據(jù)應(yīng)用系統(tǒng)的需要,靈活地改變步進(jìn)電機的控制方案。</p><p> 3.3 驅(qū)動芯片的選擇</p><p> 本系統(tǒng)是用單片機來實現(xiàn)的,單片機種類繁多,不過又以MCS—51/52系列的單片機使用最廣泛,而且本系統(tǒng)的
26、主要功能和51/52系列的單片機用途很合適,所以選用了ATMEL公司的51/52系列芯片。AT89S52是A典型代表,使用相當(dāng)?shù)亩?,?yīng)用資料很多,價格便宜,是初學(xué)51/52的首選芯片,該單片機還有一個優(yōu)點就是在板子上加上下載電路就可以在線下載了,使用調(diào)試起來很是方便。所以本系統(tǒng)的單片機采用AT89S52。由于設(shè)計要求用L298N驅(qū)動芯片,所以本次設(shè)計使用L298N芯片驅(qū)動電機。</p><p> 3.4步進(jìn)電機
27、與單片機的連接形式: </p><p> 3.4.1 由硬件完成脈沖分配的功能</p><p> 在這種形式里,脈沖分配器、驅(qū)動電路由硬件完成。單片機只提供步進(jìn)脈沖和正、反轉(zhuǎn)控制信號,步進(jìn)脈沖的產(chǎn)生與停止、步進(jìn)脈沖的頻率和個數(shù)都可用軟件控制。單片機輸出步進(jìn)脈沖后,再由脈沖分配電路按事先確定的順序控制各相的通斷。一般來說,硬件一旦確定下來,不易更改,這種方案,硬設(shè)備成本高,它的應(yīng)用受到了
28、限制。硬件環(huán)形分配器由門電路和雙穩(wěn)態(tài)觸發(fā)器組成的邏輯電路構(gòu)成。</p><p> 3.4.2 由軟件完成脈沖分配工作</p><p> 所謂軟件完成脈沖分配就是用軟件改變單片機與步進(jìn)電機接口輸出值,進(jìn)而達(dá)到控制步進(jìn)電機繞組的通電順序和通電方式之目的。由軟件完成脈沖分配工作,不僅使線路簡化,成本下降,而且可根據(jù)應(yīng)用系統(tǒng)的需要,靈活地改變步進(jìn)電機的控制方案。硬件的主要任務(wù)是完成驅(qū)動功能。&
29、lt;/p><p> 一般微機系統(tǒng)需要進(jìn)行如下設(shè)置:設(shè)置輸出接口;設(shè)計環(huán)形分配子程序,在存儲器中建立環(huán)形分配表;設(shè)計延時子程序,設(shè)計延時子程序來控制步進(jìn)頻率。</p><p> 本電路是以單片機為基礎(chǔ),主要通過軟件實現(xiàn)脈沖發(fā)生器功能,因此外圍電路的設(shè)計得到了簡化。</p><p> 電路工作過程: 接電源+5V和+12V, 從正反轉(zhuǎn)及點動控制模塊里選擇電機工作方式
30、按鈕,比如選擇正轉(zhuǎn)控制按鈕, 單片機AT89S52接收到響應(yīng)信號后產(chǎn)生脈沖信號,經(jīng)過接口的上拉電阻后稍微加大輸出引腳的驅(qū)動能力、提高輸出電平,使輸出電流變大。接著就是通過L298N芯片驅(qū)動電機來給予電機啟動電流。步進(jìn)電機四個相分別為A、B、C、D,本系統(tǒng)步進(jìn)電機工作于四相八拍的工作方式。</p><p> 通電繞組順序: A-AB-B-BC-C-CD-D-DA-A</p><p> 這
31、樣電機轉(zhuǎn)子便順時針方向一步一步地轉(zhuǎn)動;</p><p> 相反要使電機自動反轉(zhuǎn)則各相繞組的通電繞組順序為:</p><p> 通電繞組順序: A-AD-D-DC-C-CB-B-BA-A </p><p> 注意這里的正反轉(zhuǎn)和點動控制的通電繞組順序的輸出狀態(tài)是一致的。</p><p> 4 系統(tǒng)主要芯片介紹</p>&l
32、t;p> 4.1 AT89S52</p><p> AT89S52是一種低功耗、高性能CMOS8位微控制器,具有8K在系統(tǒng)可編程Flash存儲器。使用Atmel公司高密度非易失性存儲器技術(shù)制造,與工業(yè)80C51產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8位CPU和在系統(tǒng)可編程Flash,使得AT89S52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、
33、超有效的解決方案。</p><p> AT89S52具有以下標(biāo)準(zhǔn)功能:8K字節(jié)Flash,256字節(jié)RAM,32位I/O口線,看門狗定時器,2個數(shù)據(jù)指針,三個16位定時器/計數(shù)器,一個6向量2級中斷結(jié)構(gòu),全雙工串行口。</p><p> 片內(nèi)晶振及時鐘電路。另外,AT89S52可降至0Hz靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU停止工作,允許RAM、定時器/計數(shù)器、
34、串口、中斷繼續(xù)工作。掉電保護方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機一切工作停止,直到下一個中斷或硬件復(fù)位為止。</p><p> 圖4-1 AT89S52芯片圖</p><p><b> 4.2 L298N</b></p><p> L298N采用由達(dá)林頓管組成的H型PWM電路。PWM電路由四個大功率晶體管組成H橋電路構(gòu)成,四個
35、晶體管分為兩組,交替導(dǎo)通和截止,用單片機控制達(dá)林頓管使之工作在開關(guān)狀態(tài),根據(jù)調(diào)整輸入控脈沖的占空比,精確調(diào)整電動機轉(zhuǎn)速。這種電路由于管子工作只在飽合和截止?fàn)顟B(tài)下,效率非常高。H型電路使實現(xiàn)轉(zhuǎn)速和方向的控制的簡單化,且電子開關(guān)的速度很快,穩(wěn)定性也極強,是一種廣泛采用的PWN調(diào)整技術(shù)。</p><p> L298N是SGS公司的產(chǎn)品,常見的是15腳Multiwatt封裝,內(nèi)部包含4通道邏輯驅(qū)動電路。是一種二相和四相
36、電機的專用驅(qū)動器,即內(nèi)含雙H橋高電壓大電流集成電路。由圖4-2可見L298N的內(nèi)部結(jié)構(gòu),每個H橋的下側(cè)橋臂晶體管發(fā)射極連在一起,其輸出腳(SENSEA和SENSEB)用來連接電流檢測電阻。Vss接邏輯控制的電源。Vs為電機驅(qū)動電源。IN1-IN4輸入引腳為標(biāo)準(zhǔn)TTL 邏輯電平信號,用來控制H橋的開與關(guān)即實現(xiàn)電機的正反轉(zhuǎn),ENA、ENB引腳則為使能控制端,用來輸入PWM信號實現(xiàn)電機調(diào)速。</p><p> 圖4-
37、2 L298N芯片圖</p><p><b> 4.3 7805</b></p><p> 集成穩(wěn)壓器是指將不穩(wěn)定的直流電壓變?yōu)榉€(wěn)定的直流電壓的集成電路。在電子制用中應(yīng)用較多的是三端固定輸出穩(wěn)壓器。圖4-3-1所示為應(yīng)用最廣泛的串聯(lián)式集成穩(wěn)壓器內(nèi)部電路方框圖,其工作原理是:取樣電路將輸出電壓Uo按比例取出,送入比較放大器與基準(zhǔn)電壓進(jìn)行比較,差值被放大后去控制調(diào)整
38、管,以使輸出電壓Uo保持穩(wěn)定。</p><p> H7805系列為3端正穩(wěn)電壓電路,TO-220封裝,能提供多種固定的輸出電壓,應(yīng)用范圍廣。內(nèi)含過流,過熱和過載保護電路。帶散熱時,輸出電流可達(dá)1A。雖然是固定穩(wěn)壓電路,但使用外接元件,可獲得不同的電壓和電流。</p><p><b> 主要特點</b></p><p><b>
39、輸出電流可達(dá)1A</b></p><p><b> 輸出電壓有5V</b></p><p><b> 過熱保護</b></p><p><b> 短路保護</b></p><p> 輸出晶體管SOA保護</p><p> 極限值(T
40、a=25℃)</p><p> V1——輸入電壓(Vo=5~18V)……………………………………35V</p><p> Rojc――熱阻(結(jié)到殼)……………………………………5℃/W</p><p> RojA――熱阻(結(jié)到空氣) ……………………………………65℃/W</p><p> TopR——工作結(jié)溫范圍…………………………
41、…………0~125℃</p><p> TstG――貯存溫度范圍……………………………………-65~150℃ </p><p><b> 功能框圖:</b></p><p> 圖4-3-1 7805的功能圖 </p><p> 圖4-3-2 7805實物圖</p><p><
42、;b> 4.4 光電耦合器</b></p><p> 基本的光電耦合器包括發(fā)光二極管(LED)、光檢測器和光學(xué)透明、電氣絕緣電介質(zhì)。電流啟動LED后,該二極管發(fā)光,并通過電介質(zhì)與光電探測器耦合。光檢測器產(chǎn)生的電流與耦合光成正比。該電流可以通過不同的電路來操縱,以進(jìn)行不同的功能。光電耦合器的主要功能是防止電路一側(cè)出現(xiàn)過高的電壓,或快速變化的電壓損壞元器件或扭曲另一側(cè)的傳輸。具體方法是使需要的信
43、號以光學(xué)的形式通過,同時在兩個系統(tǒng)之間保持電性隔離。</p><p> 本設(shè)計選用TLP521-2型光電耦合器,如圖4-4所示TLP521-2中由兩個隔離通道TLP521-4組成的DIP包裝。</p><p> 圖4-4 TLP521-2芯片圖</p><p> 5 系統(tǒng)主要硬件電路設(shè)計</p><p> 5.1 單片機控制系統(tǒng)框
44、圖</p><p> 圖5-1 單片機控制系統(tǒng)原理框圖</p><p> 5.2 步進(jìn)電機基本原理</p><p> 步進(jìn)電機是將電脈沖信號轉(zhuǎn)變?yōu)榻俏灰苹蚓€位移的開環(huán)控制元件。在非超載的情況下,電機的轉(zhuǎn)速、停止的位置只取決于脈沖信號的頻率和脈沖數(shù),而不受負(fù)載變化的影響,即給電機加一個脈沖信號,電機則轉(zhuǎn)過一個步距角。這一線性關(guān)系的存在,加上步進(jìn)電機只有周期性的
45、誤差而無累積誤差等特點。使得在速度、位置等控制領(lǐng)域用步進(jìn)電機來控制變的非常的簡單。</p><p> 5.2.1步進(jìn)電機的特點</p><p> (1) 輸出轉(zhuǎn)角大小與輸入脈沖數(shù)嚴(yán)格成比例,即來一個脈沖,轉(zhuǎn)一個步距角,且在時間上與輸入脈沖同步。</p><p> (2) 電機轉(zhuǎn)子轉(zhuǎn)速隨輸入信號的脈沖頻率而變化。即控制脈沖頻率,可控制電機轉(zhuǎn)速。</p>
46、;<p> (3) 借助控制線路,易于獲得正反轉(zhuǎn)、間歇運動等特殊功能。即改變脈沖順序,改變方向。</p><p> (4) 轉(zhuǎn)子的轉(zhuǎn)動慣量小,啟動、停止時間短。一般在信號輸入幾毫秒或幾十毫秒后,即能使電機轉(zhuǎn)動或達(dá)到同步轉(zhuǎn)速。信號切斷后,電機立即停止轉(zhuǎn)動。</p><p> (5) 輸出轉(zhuǎn)角精度高,無累積誤差。</p><p> (6) 步進(jìn)電機
47、的工作狀態(tài)對各種干擾因素不敏感。</p><p> (7) 控制特性好。</p><p> (8) 步距值不受各種干擾因素的影響。</p><p> (9) 總位移量取決于總的脈沖數(shù)</p><p> 5.2.2步進(jìn)電機換相、轉(zhuǎn)向及加/減速控制方案</p><p> (1) 控制換相順序 </p>
48、<p> 通電換相這一過程稱為脈沖分配。四相步進(jìn)電機的八拍工作方式,其各相通電順序為 A-AB-B-BC-C-CD-D-DA-A. ,通電控制脈沖必須嚴(yán)格按照這一順序分別控制A,B,C,D相的通斷。</p><p> (2) 控制步進(jìn)電機的轉(zhuǎn)向 </p><p> 如果給定工作方式正序通電,步進(jìn)電機正轉(zhuǎn),如果按反序通電換相,則電機就反轉(zhuǎn)。 </p><
49、;p> (3) 控制步進(jìn)電機的速度 </p><p> 如果給步進(jìn)電機發(fā)一個控制脈沖,它就轉(zhuǎn)一步,再發(fā)一個脈沖,它會再轉(zhuǎn)一步。兩個脈沖的間隔越短,步進(jìn)電機就轉(zhuǎn)得越快。調(diào)整單片機發(fā)出的脈沖頻率,就可以對步進(jìn)電機進(jìn)行調(diào)速。 </p><p> 5.2.3步進(jìn)電機的選擇</p><p> 電機的步距角取決于負(fù)載精度的要求,將負(fù)載的最小分辨率(當(dāng)量)換算到電機
50、軸上,每個當(dāng)量電機應(yīng)走多少角度(包括減速)。電機的步距角應(yīng)等于或小于此角度。根據(jù)設(shè)計要求需要步進(jìn)電機的步距角為0.9度所以選擇四相步進(jìn)電機。</p><p> 四相步進(jìn)電機按照通電順序的不同,可分為單四拍、雙四拍、八拍三種工作方式。單四拍與雙四拍的步距角相等,但單四拍的轉(zhuǎn)動力矩小。八拍工作方式的步距角是單四拍與雙四拍的一半,因此,八拍工作方式既可以保持較高的轉(zhuǎn)動力矩又可以提高控制精度。</p>&
51、lt;p> 單四拍、雙四拍與八拍工作方式的電源通電時序與波形分別如圖5-2-2.a、b、c所示:</p><p> a. 單四拍 b. 雙四拍 &
52、#160; c 八拍</p><p> 圖5-2-3 步進(jìn)電機工作時序波形圖</p><p> 5.2.4應(yīng)用中的注意點:</p><p> (1) 步進(jìn)電機應(yīng)用于低速場合---每分鐘轉(zhuǎn)速不超過1000轉(zhuǎn),(0.9度時6666PPS),最好在1000-3000PPS
53、(0.9度)間使用,此時電機工作效率高,噪音低。</p><p> (2) 步進(jìn)電機最好不使用整步狀態(tài),整步狀態(tài)時振動大。</p><p> (3) 由于歷史原因,只有標(biāo)稱為12V電壓的電機使用12V外,其他電機的電壓值不是驅(qū)動電壓伏值 ,可根據(jù)驅(qū)動器選擇驅(qū)動電壓(建議:57BYG采用直流24V-36V,86BYG采用直流50V,110BYG采用高于直流80V),當(dāng)然12伏的電壓除12
54、V恒壓驅(qū)動外也可以采用其他驅(qū)動電源, 不過要考慮溫升。</p><p> (4) 轉(zhuǎn)動慣量大的負(fù)載應(yīng)選擇大機座號電機。</p><p> (5) 電機在較高速或大慣量負(fù)載時,一般不在工作速度起動,而采用逐漸升頻提速,一電機不失步,二可以減少噪音同時可以提高停止的定位精度。</p><p> (6) 高精度時,應(yīng)通過機械減速、提高電機速度,或采用高細(xì)分?jǐn)?shù)的驅(qū)動器
55、來解決,也可以采用5相電機,不過其整個系統(tǒng)的價格較貴,生產(chǎn)廠家少,其被淘汰的說法是外行話。</p><p> (7) 電機不應(yīng)在振動區(qū)內(nèi)工作,如若必須可通過改變電壓、電流或加一些阻尼的解決。</p><p> (8) 電機在600PPS(0.9度)以下工作,應(yīng)采用小電流、大電感、低電壓來驅(qū)動。</p><p> (9) 應(yīng)遵循先選電機后選驅(qū)動的原則。</
56、p><p><b> 5.3 時鐘電路</b></p><p> 單片機的時鐘信號用來提供單片機片內(nèi)各種微操作的時間基準(zhǔn),時鐘信號通常用兩種電路形式得到:內(nèi)部振蕩和外部振蕩。MCS-51單片機內(nèi)部有一個用于構(gòu)成振蕩器的高增益反向放大器,引腳XTALl和XTAL2分別是此放大電器的輸入端和輸出端,由于采用內(nèi)部方式時,電路簡單,所得的時鐘信號比較穩(wěn)定,實際使用中常采用這種
57、方式,如圖5-3所示在其外接晶體振蕩器(簡稱晶振)或陶瓷諧振器就構(gòu)成了內(nèi)部振蕩方式,片內(nèi)高增益反向放大器與作為反饋元件的片外石英晶體或陶瓷諧振器一起可構(gòu)成一個自激振蕩器并產(chǎn)生振蕩時鐘脈沖。圖3-3中外接晶體以及電容C2和C1構(gòu)成并聯(lián)諧振電路,它們起穩(wěn)定振蕩頻率、快速起振的作用,其值均為30P左右,晶振頻率選12MHz </p><p> 圖5-3 時鐘電路原理圖</p><p> 5
58、.4 電源部分: </p><p> 因為電路中的AT89S52單片機的工作電壓是+5V,而步進(jìn)電機的工作電壓是+12V ,根據(jù)穩(wěn)壓電源的設(shè)計要求及其技術(shù)指標(biāo),結(jié)合本系統(tǒng)的功率要求及安裝方便實用,本實驗用電容整流濾波再經(jīng)集成穩(wěn)壓管7805/7812后得到直流 +5V和+12V電壓。提供給AT89S52芯片、步進(jìn)電機及其他外圍電路。其硬件電路如下示:</p><p> 圖5-4-1 輸
59、出+5V電壓</p><p> 圖5-4-2 輸出+12V電壓</p><p><b> 5.5 復(fù)位電路</b></p><p> 為了初始化單片機內(nèi)部的某些特殊功能寄存器,必須采用復(fù)位的方式,復(fù)位后可使CPU及系統(tǒng)各部件處于確定的初始狀態(tài),并從初始狀態(tài)開始正常工作。單片機的復(fù)位是靠外電路來實現(xiàn)的,在正常運行情況下,只要RST引腳上出
60、現(xiàn)兩個機器周期時間以上的高電平,要保證單片機可靠地復(fù)位,接個電容就是為了這個時間,即可引起系統(tǒng)復(fù)位。但如果RST引腳上持續(xù)為高電平,單片機就處于循環(huán)復(fù)位狀態(tài)。復(fù)位后系統(tǒng)將輸入/輸出(1/0)端口寄存器置為FFH,堆棧指針SP置為07H, SBUF內(nèi)置為不定值,其余的寄存器全部清0,內(nèi)部RAM的狀態(tài)不受復(fù)位的影響,在系統(tǒng)上電時RAM的內(nèi)容是不定的。復(fù)位操作有兩種情況,即上電復(fù)位和手動(開關(guān))復(fù)位。本系統(tǒng)采用上電復(fù)位方式。</p>
61、;<p> 圖5-5 復(fù)位電路原理圖</p><p> 5.6 步進(jìn)電機驅(qū)動電路</p><p> 驅(qū)動電路集成化成為一種趨勢。目前,已有多種步進(jìn)電機驅(qū)動集成電路芯片,它們大多集驅(qū)動和保護于一體,作為小功率步進(jìn)電機的專用驅(qū)動芯片,廣泛用于小型儀表、計算機外設(shè)等領(lǐng)域,使用起來非常方便。本設(shè)計采用L298N芯片。L298N芯片適用于四相步進(jìn)電機的驅(qū)動。它最大能輸出2A電流
62、、46V電壓。內(nèi)部集成有驅(qū)動電路,上電自行復(fù)位,可以控制轉(zhuǎn)向和輸出使能。</p><p> 圖5-6-1 驅(qū)動電路原理圖</p><p> 本設(shè)計在單片機與步進(jìn)電動機驅(qū)動器的連接電路間利用三個8引腳光電耦合器件TLP521-2組成如圖5-6-2所示的隔離電路。其作用是切斷了單片機與步進(jìn)電動機驅(qū)動回路之間電的直接聯(lián)系,實現(xiàn)了單片機與驅(qū)動回路系統(tǒng)地線的分別聯(lián)接.防止處于大電流感性負(fù)載下工
63、作的驅(qū)動電路產(chǎn)生的干擾信號以及電網(wǎng)負(fù)載突變產(chǎn)生的干擾信號通過線路串入單片機,影響單片機的正常工作</p><p> 圖5-6-2 隔離電路圖</p><p> 5.7 LED顯示電路</p><p> 由于系統(tǒng)顯示的內(nèi)容比較簡單,顯示量不多,所以顯示選用數(shù)碼管既方便又經(jīng)濟。LED有共陰極和共陽極兩種。如圖5-7-1所示。</p><p&g
64、t; 符號和引腳 共陰極 共陽極</p><p> 圖5-7-1 LED數(shù)碼管結(jié)構(gòu)原理圖</p><p> 共陽數(shù)碼管是指將所有發(fā)光二極管的陽極接到一起形成公共陽極(COM)的數(shù)碼管。共陽數(shù)碼管在應(yīng)用時應(yīng)將公共極COM接到+5V,當(dāng)某一字段發(fā)光二極管的陰極為低電平時,相應(yīng)字段就點亮。當(dāng)某一字段的陰極為高電平時,相應(yīng)字
65、段就不亮。。共陰數(shù)碼管是指將所有發(fā)光二極管的陰極接到一起形成公共陰極(COM)的數(shù)碼管。共陰數(shù)碼管在應(yīng)用時應(yīng)將公共極COM接到地線GND上,當(dāng)某一字段發(fā)光二極管的陽極為高電平時,相應(yīng)字段就點亮。當(dāng)某一字段的陽極為低電平時,相應(yīng)字段就不亮。</p><p> 數(shù)碼管顯示器有兩種工作方式,即靜態(tài)顯示方式和動態(tài)掃描顯示方式。靜態(tài)顯示是指每個數(shù)碼管的每一個段碼都由一個單片機的I/O端口進(jìn)行驅(qū)動,或者使用如BCD碼二-十
66、進(jìn)制譯碼器譯碼進(jìn)行驅(qū)動。靜態(tài)驅(qū)動的優(yōu)點是編程簡單,顯示亮度高,缺點是占用I/O端口多。動態(tài)顯示是將所有數(shù)碼管的8個顯示筆劃"a,b,c,d,e,f,g,dp"的同名端連在一起,另外為每個數(shù)碼管的公共極COM增加位選通控制電路,位選通由各自獨立的I/O線控制,當(dāng)單片機輸出字形碼時,所有數(shù)碼管都接收到相同的字形碼,但究竟是那個數(shù)碼管會顯示出字形,取決于單片機對位選通COM端電路的控制,所以我們只要將需要顯示的數(shù)碼管的選通
67、控制打開,該位就顯示出字形,沒有選通的數(shù)碼管就不會亮。通過分時輪流控制各個數(shù)碼管的的COM端,就使各個數(shù)碼管輪流受控顯示,在輪流顯示過程中,每位數(shù)碼管的點亮?xí)r間為1~2ms,由于人的視覺暫留現(xiàn)象及發(fā)光二極管的余輝效應(yīng),盡管實際上各位數(shù)碼管并非同時點亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù),不會有閃爍感,動態(tài)顯示的效果和靜態(tài)顯示是一樣的,能夠節(jié)省大量的I/O端口,而且功耗更低。為節(jié)省端口及降低功耗,本系</p&g
68、t;<p> 5-7-2 數(shù)碼管連接圖</p><p> 5.8 下載線介紹:單片機ISP下載線 (51AVRISP) 3</p><p> AVR和ATMEL的AT89S系列單片機可以使用ISP下載線在線編程擦寫,即不必將IC芯片拆下,直接在電路板上進(jìn)行程序修改、下載等操作。這樣對程序的調(diào)試和升級都很方便。目前支持芯片有AT89S51,AT89S52,AT89S53
69、,</p><p><b> 下載線引腳定義:</b></p><p> 圖5-8-1 ISP原理圖</p><p> 圖5-8-2 下載線實物圖</p><p> 6 電子電路的調(diào)試與運行</p><p> 6.1 WAVE系列仿真軟件及其軟件調(diào)試</p><
70、;p> 本次設(shè)計的程序是用C語言編寫的,原本想用匯編語言編寫,但匯編語句太多太長,看起來很麻煩沒有C語言簡潔,比如一些循環(huán)語句比匯編寫出來簡單很多,短很多。</p><p> 程序用仿真軟件進(jìn)行仿真,我用的是WAVE仿真軟件,它是集編輯、編譯/連接、加載、調(diào)試等為一體的集成開發(fā)環(huán)境(IDE)。用戶可以在同一界面環(huán)境中完成所有任務(wù)。它是利用宿主機上豐富的資源及良好的開發(fā)環(huán)境開發(fā)和仿真調(diào)試目標(biāo)機上的軟件。然
71、后通過串行口將編譯生成的目標(biāo)代碼傳輸下載到目標(biāo)板上,并用調(diào)試器在調(diào)試軟件支持下進(jìn)行實時分析和在線仿真調(diào)試。最后,目標(biāo)板在特定環(huán)境下編程脫機運行。</p><p> 我們用仿真器主要是檢查程序是否有錯,并且在沒燒入單片機前可以對其進(jìn)行仿真對程序是否實現(xiàn)所要求的性能進(jìn)行檢測。</p><p> 在程序輸入后對其進(jìn)行編譯,由于我的程序有些是從網(wǎng)上下載的,編譯沒出現(xiàn)多少錯誤,主要是變量總是漏了
72、忘記定義,我把在程序中沒定義的除了是局部變量的,我會在該程序前對它進(jìn)行定義,其他我都是在最前面進(jìn)行全局變量定義。我把程序分為幾部分,每部分都實現(xiàn)的功能不同,把所要用的全局變量在其中一部分進(jìn)行統(tǒng)一定義,如bit on_off;//運行與停止標(biāo)志,bit dir;//方向標(biāo)志,unsigned char motor_mode;//運行模式選擇等。還有for循環(huán)和while循環(huán)的跳出調(diào)入我經(jīng)常弄不懂,我就用WAVE仿真器的單步跟蹤看它的跳
73、轉(zhuǎn)。最讓人郁悶的是明明覺得程序沒錯,可編譯顯示有錯。有時看半天就是找不出來,后來跟同學(xué)討論,很多是沒有正確調(diào)用語句,想調(diào)用別的語句沒有加以說明。其實在程序方面由于部分是從網(wǎng)上下的,錯誤并不是很多??赏ㄟ^WAVE仿真器對程序進(jìn)行仿真時就出了很多問題。</p><p> 在進(jìn)行仿真時首先出現(xiàn)的是程序和我設(shè)計的按鍵連接管腳不符,我的按鍵接法是K1接P1.3;K2接P1.7;K3接P1.5;K2接P1.4,它們和程序的
74、按鍵接口不符,我就在全局定義中把按鍵定義成全局變量如下sbit KEY1=P1^3;//-> K1;sbit KEY2=P1^7;//-> K2 ;sbit KEY3=P1^5;//-> K3 ;sbit KEY4=P1^4;//-> K4 這樣在下面的程序中就直接引用KEY變量就可以了。</p><p> 還有就是顯示部分我按照自己的設(shè)計用RUN1、RUN來顯示工作的兩種功
75、能,我對顯示程序的寄存器地址進(jìn)行了修改,還有我把4個數(shù)碼管的個、十、百、千位用自己的算法進(jìn)行了修改。</p><p> 要注意的是顯示中斷和步進(jìn)中斷要處理好它們的協(xié)調(diào),開始我設(shè)計它們的中斷是同一個,但經(jīng)過仿真發(fā)現(xiàn)問題就對他們使用了不同的中斷,而且輸入的頻率不能太高,步進(jìn)電機的每拍的間隔時間不能太短,否則電機來不及響應(yīng)。</p><p> 這程序最主要的部分是主程序,我設(shè)計的步進(jìn)電機加電
76、后只要有脈沖就可以運行,但要對它進(jìn)行控制就要在主程序中對它進(jìn)行編程,其中主要的是對它的按鍵情況判斷來實現(xiàn)相應(yīng)的功能。</p><p> 按鍵程序的主要功能是:通過不同的按鍵控制步進(jìn)電機的運行狀態(tài)。</p><p> 本設(shè)計有3個功能模塊:</p><p> 模塊1:實現(xiàn)步進(jìn)電機轉(zhuǎn)數(shù)的控制如加速或減速。</p><p> 按K1數(shù)碼管顯
77、示RUN1,進(jìn)入模式1。</p><p> 按K3 每按一次速度加1,K4 每按一次速度減1。</p><p> 長按K3 每次速度加10,長按K4每次速度減10。</p><p><b> 長按K2 推出</b></p><p> 功能2:實現(xiàn)步進(jìn)電機轉(zhuǎn)數(shù)的正反轉(zhuǎn)控制。</p><p>
78、 按K1數(shù)碼管顯示RUN1,進(jìn)入模式2.</p><p><b> 再按K1 正轉(zhuǎn)</b></p><p><b> 再按K1反轉(zhuǎn)</b></p><p><b> 長按K2 推出</b></p><p> 模塊3:實現(xiàn)步進(jìn)電機的點動。</p><
79、p> 按K1 看到數(shù)碼管顯示RUN2,再長按K1顯示RUN就進(jìn)去模塊3,進(jìn)行點動。 </p><p><b> 6.2硬件調(diào)試:</b></p><p> 我的電路板分為兩部分控制部分和驅(qū)動部分,中間用光電耦合器進(jìn)行隔離,用AT89S52單片機輸出脈沖并通過驅(qū)動器控制步進(jìn)電機的轉(zhuǎn)動。 </p><p> 我這次的畢設(shè)第一次嘗試用貼
80、片電阻和雙面板。由于設(shè)計時電阻太多如果用普通插件電阻的話,我要打很多孔而且在布線上增加了一定難度,電路板的面積也一定不小。因此我用貼片電阻可以不用打孔,板子做出后看起來器件較少比較整潔,所占面積也不大。但問題也出來了,在印刷PCB時底面和頂面容易對不齊,那打孔時造成底面和頂面不能互連。我采取的方法是在雙面敷銅板擦洗干凈,先用針將打印在敷臘紙上的頂層鏡像銅膜走線圖的四角的定位過孔中心鉆個小孔,再將頂層鏡像銅膜走線圖復(fù)蓋在敷銅板上,四周用小
81、片透明膠紙暫固定,用臺鉆將四個定位小孔鉆透。再將打印在敷臘紙上的底層銅膜走線圖小心地復(fù)蓋到另一面敷銅板上,注意對準(zhǔn)定位過孔位置,四周仍用小片透明膠紙暫固定,最后再用電熨斗進(jìn)行兩面輪流熱壓,冷卻后敷臘紙掀起,底層銅膜走線圖和頂層鏡像銅膜走線圖就準(zhǔn)確地轉(zhuǎn)印到雙面敷銅板上了。這樣就解決了雙面板布線的問題??偟膩碚f布線還挺成功,就是在布局方面要加強下。焊好后看PCB圖仔細(xì)對照板子看是否有漏焊的地方,我還在陽光下對太陽看了下是否有虛焊,總體來說板
82、子沒出現(xiàn)什么問題。有幾個過孔我用鐵絲插入過孔焊死整個孔。</p><p> 在我的調(diào)試過程中,我想調(diào)試電源部分,我用7805和7812來提供電源,但剛工作沒多久就發(fā)現(xiàn)7812出現(xiàn)發(fā)熱并可以聞到燒焦的聞到,當(dāng)時還以為7812燒掉了,理論我是用7805輸入+7.5V輸出+5V,7812輸入+15V輸出+12,但由于步進(jìn)電機沒買到合適的就在二手市場買了個二手步進(jìn)電機,上面沒有表明參數(shù),它的輸入電壓我就不能按設(shè)計加入。
83、經(jīng)過實際調(diào)試,我發(fā)現(xiàn)7812輸人電壓的電壓要在7~12V范圍內(nèi),輸入輸出電壓差控制在3V以內(nèi),要不然7812會很快發(fā)燙,并給7812加了塊散熱片。</p><p> 在檢測我設(shè)計的上電復(fù)位時,我發(fā)現(xiàn)雖然沒什么問題,但可以在設(shè)計好點。在實際工作中我給電路板通電后顯示的是我設(shè)置的初始狀態(tài)。本來我可以使用按鍵復(fù)位這樣可以手動控制復(fù)位方式,這樣運行中復(fù)位可以不斷開電源,由于設(shè)計時沒想到那么多,這是我設(shè)計的一個不足。&l
84、t;/p><p> 我檢測AT89S51的20和40引腳之間的電壓為+5V,單片機可以正常工作。其他器件連接沒錯能正常工作,而L298N沒有控制功能所以我檢測它的引腳焊接。在都沒問題后,給電路板接電后通過控制4個鍵讓步進(jìn)電機按程序設(shè)計的狀態(tài)運行。經(jīng)過測量在電壓不變的情況下,當(dāng)步進(jìn)電機轉(zhuǎn)速為2時電流為0.7A,當(dāng)轉(zhuǎn)速為50時電流為0.4A,轉(zhuǎn)速越快電流越小,因為當(dāng)步進(jìn)電機轉(zhuǎn)動時,電機各相繞組的電感將形成一個反向電動勢
85、;頻率越高,反向電動勢越大。在它的作用下,電機隨頻率(或速度)的增大而相電流減小,供電電源電流一般根據(jù)驅(qū)動器的輸出相電流來確定,當(dāng)轉(zhuǎn)速大于50后步進(jìn)電機的運動基本看不出來,盡量把轉(zhuǎn)速設(shè)置在2到50范圍內(nèi)。。</p><p><b> 6.3程序部分</b></p><p> 程序分成以下幾部分:</p><p> ?。?)判斷鍵號部分:判斷
86、是否有鍵按下。</p><p> ?。?)顯示部分:使用動態(tài)掃描方式,顯示工作模式和轉(zhuǎn)速。。</p><p> ?。?)通電方向部分:控制步進(jìn)電機的正、反轉(zhuǎn)的判斷。</p><p> (4)步進(jìn)電機控制部分及主程序:控制步進(jìn)電機的各項工作模式。</p><p> 按鍵程序流程圖:(按鍵鍵號說明:K1、K2、K3、K4長按時鍵號為K5、K6
87、、K7、K8)</p><p><b> //按鍵掃描程序 </b></p><p> char key(void)</p><p><b> {</b></p><p> unsigned char key_code,kk;</p><p> if(0xff!=(
88、0x47|P1))//按鍵是否按下</p><p><b> {</b></p><p> delay10ms();//延時去抖</p><p> if(0xff!=(0x47|P1))//按鍵是否按下</p><p><b> {</b></p><p> s
89、witch(0x47|P1)//有鍵按下</p><p><b> {</b></p><p> case 0xf7:</p><p> key_code=1;break;//k1按下</p><p> case 0x7f:</p><p> key_code=2;break
90、;//k2按下</p><p> case 0xdf:</p><p> key_code=3;break;//k3按下 </p><p> case 0xef:</p><p> key_code=4;break;//k4按下</p><p><b> default:</b&g
91、t;</p><p> key_code=0;break;</p><p><b> }</b></p><p> for(kk=0;0xff!=(0x47|P1);kk++)//等待按鍵釋放</p><p><b> {</b></p><p> delay
92、10ms();</p><p> if(kk>20) //按鍵按下超過200MS為長按</p><p><b> {</b></p><p><b> kk=20;</b></p><p> key_code=key_code+4; //長按時鍵號加4</p><
93、;p> return(key_code);</p><p><b> }</b></p><p><b> }</b></p><p> if(kk>=20)//長短鍵識別</p><p> key_code=key_code+4;</p><p>&l
94、t;b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> key_code=0;</p><p><b> }</b></p><p><b> }&
95、lt;/b></p><p><b> else</b></p><p><b> {</b></p><p> key_code=0;</p><p><b> }</b></p><p> return(key_code);</
96、p><p><b> }</b></p><p><b> 6.4擴展部分</b></p><p> 除了完成畢設(shè)的要求,在原來的基礎(chǔ)上擴展了點動的功能。由于單片機是通過程序產(chǎn)生的脈沖來控制步進(jìn)電機。所以在原有的程序上加上了點動程序,它實現(xiàn)步進(jìn)電機一步一步的轉(zhuǎn)動,進(jìn)入點動功能后除用K2退出鍵就只能用K3、K4鍵控制電機運
97、動,如果按鍵K3控制電機正向點動,那么K4控制反向的點動,長按K2鍵退出。</p><p> 實現(xiàn)點動功能程序如下</p><p><b> case 1:</b></p><p><b> {</b></p><p> disp_bit=0;</p><p> L
98、ed_disp[0]=0x18;</p><p> Led_disp[1]=0x1d;</p><p> Led_disp[2]=0x14;</p><p> Led_disp[3]=0x02;//顯示RUN2</p><p> if(key_code==5) //長按K1</p><p><b>
99、 {</b></p><p><b> //模式1 點動</b></p><p> disp_bit=0;</p><p> Led_disp[0]=0x18;</p><p> Led_disp[1]=0x1d;</p><p> Led_disp[2]=0x14;&l
100、t;/p><p> Led_disp[3]=0x1c;//顯示RUN進(jìn)入點動模式</p><p><b> TR1=1;</b></p><p> while(key_code==5) </p><p><b> {</b></p><p> if(KEY3==0)//
101、如果按K3為正轉(zhuǎn)</p><p><b> {</b></p><p> motor_mode=1;//模式1:每次按下轉(zhuǎn)速加1</p><p><b> on_off=1;</b></p><p> dir=0; //正轉(zhuǎn)</p><p><b>
102、 //rev=5;</b></p><p><b> }</b></p><p> else if (KEY4==0) //如果按K4為反轉(zhuǎn)</p><p><b> {</b></p><p> motor_mode=1;</p><p><b&
103、gt; on_off=1;</b></p><p> dir=1; //反轉(zhuǎn)</p><p><b> //rev=5;</b></p><p><b> }</b></p><p> else if (KEY2==0) //如果K2按下</p><
104、p><b> {</b></p><p> key_code=6;//長按K2退出</p><p> on_off=0; //停止</p><p><b> }</b></p><p><b> else </b></p><p>
105、;<b> {</b></p><p><b> on_off=0;</b></p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p
106、><b> break;</b></p><p><b> }</b></p><p><b> 主程序框圖</b></p><p><b> 7 結(jié)論</b></p><p> 本次畢業(yè)設(shè)計是在大學(xué)4年最后一次實踐,第一次從頭到尾的自己
107、做一遍。開始的時候?qū)υO(shè)計一點頭緒都沒有,看了大量的網(wǎng)站很書籍有了點自己的想法。我把所需要的芯片都找出來并在網(wǎng)上找到它們的外圍電路,像AT89S52的復(fù)位電路、晶振電路、按鍵電路,顯示電路有很多種接法如靜態(tài)和動態(tài),我通過確定驅(qū)動電路后覺得用動態(tài)掃描方式節(jié)省I/O口,而像L298N驅(qū)動芯片的外圍電路在網(wǎng)上可以找到正確的接法。電源部分我看了些別人的介紹選用7085輸入+5V、7812輸入+12V的電壓給AT89S52、L298N和步進(jìn)電機供電
108、,完成芯片外圍電路的連接后就剩下把個個芯片連接在一起組成所需的電路,這樣一步一步過來慢慢的就把硬件部分設(shè)計完成。</p><p> 在軟件設(shè)計方面,一部分參考文獻(xiàn)的已成程序進(jìn)行修改編寫,一部分則是平時的經(jīng)驗積累,擴展部分是我在網(wǎng)上找到別人的經(jīng)過修改來的。</p><p> 本次畢業(yè)設(shè)計使我受益匪淺,主要是了解了AT89S52單片機及其相關(guān)芯片的系統(tǒng)結(jié)構(gòu)、工作原理,且學(xué)到一個新的芯片L2
109、98N的使用,還有就是有了獨立思考問題的經(jīng)歷。</p><p> 應(yīng)該說這次畢業(yè)設(shè)計基本達(dá)到了設(shè)計的要求,并在原有要求上有了擴展設(shè)計。但是系統(tǒng)還有許多不完善之處。比如用雙面板使印刷、焊接、調(diào)試增加的一點難度,步進(jìn)電機沒按設(shè)計所需的去買這樣在電壓方面不能準(zhǔn)確施加電壓。也有比以前進(jìn)步的地方,這次應(yīng)用了貼片電阻使得電路板器件看起來少了很多;在布局上我下了一定功夫,把板子分成兩部分一面控制一面驅(qū)動,讓我在調(diào)試時可以分塊
110、檢測、修改。</p><p> 個人還有不少想法沒有應(yīng)用到系統(tǒng)設(shè)計中去。例如:給步進(jìn)電機設(shè)置一定的步數(shù)讓它按設(shè)定值轉(zhuǎn)動,語音報出轉(zhuǎn)動的步數(shù)及速度,液晶顯示功能等這些設(shè)計會讓系統(tǒng)的實用型大大提高。</p><p><b> 謝 辭</b></p><p> 在本次畢業(yè)設(shè)計的制作調(diào)試過程中,得到了老師和同學(xué)的極大的支持和幫助。首先,要特別感
111、謝我的導(dǎo)師趙志鵬老師,本次畢設(shè)是在趙老師悉心指導(dǎo)和鼓勵下完成的。趙老師在百忙之中常抽出寶貴的時間和我研究、討論課題中所遇到的困難,指導(dǎo)我尋求解決問題的途徑。趙老師以嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度和一絲不茍的工作精神為我樹立了良好的榜樣,以言傳身教培養(yǎng)了我開展科學(xué)研究的獨立工作能力。在此謹(jǐn)向趙老師表示衷心的感謝崇高的敬禮。</p><p> 同時,我也要感謝在這次設(shè)計過程中給予過我很大幫助的老師和同學(xué),另外我也要感謝學(xué)校圖書館,
112、它種類繁多的圖書,讓我方便地找到了許多有用的資料,正是有了這么多的關(guān)心和支持,我的畢業(yè)設(shè)計才能如此順利進(jìn)行!</p><p><b> 參考文獻(xiàn)</b></p><p> [1] 吳金戌,沈慶陽,郭廷吉.8051單片機實踐與應(yīng)[M] 清華大學(xué)出版社 2004.3</p><p> [2] 詹躍東,電機及拖動基礎(chǔ)[M].重慶:重慶大學(xué)出
113、版社,2002,12. </p><p> [3] 譚建成. 機控制專用集成電路[M]北京:機械工業(yè)出版社, 1997 </p><p> [4] 王曉明,電動機的單片機控制[M]北京:北京航空航天大學(xué)出版社,</p><p> [5] 丁煒,魏孔平.可編程控制器在工業(yè)控制中的應(yīng)用[M].北京:化學(xué)工業(yè)出版社,2004</p><p&
114、gt; [6] 胡漢才.單片機原理及其接口技術(shù)[M]北京:清華大學(xué)出版社,199.6 </p><p> [7] 黃濤,李晶,李志剛.電動車直流無刷電動機的調(diào)速控制[J].微計算機信息,2006,4</p><p> [8] 鐵才, 電機控制技術(shù)[M] 哈爾濱: 哈爾濱工業(yè)大學(xué)出版</p><p> [9] 楊莉,魏萍.基于單片機控制的步進(jìn)電機轉(zhuǎn)速
115、控制系統(tǒng)[J].南昌工程學(xué)院學(xué)報 2005(6).</p><p><b> 附 錄1</b></p><p><b> 附 錄2</b></p><p><b> 附 錄3</b></p><p> 程序:步進(jìn)電機控制系統(tǒng)</p><p>
116、; #include <reg51.h> </p><p> #include <stdio.h></p><p> sbit IN1=P3^0;//-> A相</p><p> sbit IN2=P3^1;//-> B相</p><p> sbit IN3=P3^2;//-> C相
117、</p><p> sbit IN4=P3^3;//-> D相</p><p> sbit EnA=P1^0;//-> AB相</p><p> sbit EnB=P1^1;//-> CD相</p><p> sbit KEY1=P1^3;//-> K1</p><p> sb
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 步進(jìn)電機畢業(yè)設(shè)計---基于單片機的步進(jìn)電機控制系統(tǒng)畢業(yè)設(shè)計論文
- 基于單片機的步進(jìn)電機控制畢業(yè)設(shè)計論文5
- 基于單片機的步進(jìn)電機控制畢業(yè)設(shè)計
- 基于單片機的步進(jìn)電機控制畢業(yè)設(shè)計
- 畢業(yè)設(shè)計----基于單片機的步進(jìn)電機控制
- 基于51單片機控制步進(jìn)電機畢業(yè)設(shè)計論文(doc)
- 基于51單片機控制步進(jìn)電機畢業(yè)設(shè)計
- 基于單片機的步進(jìn)電機控制系統(tǒng)畢業(yè)設(shè)計論文
- 單片機步進(jìn)電機課程設(shè)計--單片機控制步進(jìn)電機的設(shè)計
- 單片機(與pc機連接)步進(jìn)電機畢業(yè)設(shè)計論文
- 本科畢業(yè)設(shè)計(論文)基于單片機的步進(jìn)電機控制的設(shè)計
- 基于單片機的步進(jìn)電機控制-畢業(yè)論文
- 基于單片機控制的步進(jìn)電機畢業(yè)論文
- 畢業(yè)設(shè)計--基于單片機的步進(jìn)電機控制器
- 畢業(yè)設(shè)計----單片機的步進(jìn)電機控制器的設(shè)計
- 基于單片機的步進(jìn)電機控制-畢業(yè)論文
- 畢業(yè)設(shè)計----基于單片機的步進(jìn)電機控制系統(tǒng)
- 基于單片機的步進(jìn)電機控制畢業(yè)論文
- 畢業(yè)設(shè)計---基于單片機的步進(jìn)電機控制系統(tǒng)設(shè)計
- 畢業(yè)設(shè)計----基于單片機的步進(jìn)電機控制系統(tǒng)設(shè)計
評論
0/150
提交評論