單片機控制步進電機課程設(shè)計_第1頁
單片機控制步進電機課程設(shè)計_第2頁
單片機控制步進電機課程設(shè)計_第3頁
單片機控制步進電機課程設(shè)計_第4頁
單片機控制步進電機課程設(shè)計_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、 第一章系統(tǒng)分析概述步進電機是用電脈沖信號控制,以實現(xiàn)對生產(chǎn)過程或設(shè)備的數(shù)字控制,它是過程控制中一種十分重要和常用的功率執(zhí)行器件,它可以把脈沖信號轉(zhuǎn)換成角位移,并且可用作電磁制動輪、電磁差分器或角位移發(fā)生器等,近年來由于計算機應(yīng)用技術(shù)的迅速發(fā)展,步進電機常常和計算機一起組成高精度的數(shù)字控制系統(tǒng)。由于它是由數(shù)字脈沖控制,因此非常適合于用單片機控制,本設(shè)計便是在此基礎(chǔ)上,以MCS51型單片機為核心,并結(jié)合外圍電路以步進電機為控制對象的控制系統(tǒng)。1.1功能簡介本設(shè)計系統(tǒng)有單片機最小系統(tǒng)、8個按鍵輸入控制、四個數(shù)碼管顯示和步進電機驅(qū)動電路一共四大部分組成,通過按鍵輸入數(shù)值來控制步進電機轉(zhuǎn)速,并且在數(shù)碼

2、管上顯示數(shù)值(1)8個按鍵包括:數(shù)字鍵15;3個功能鍵:設(shè)置SET、清零CLR、開始START;(2)顯示器上第一位顯示次數(shù),后三位顯示每次行走的角度;通過鍵盤的按鍵,設(shè)置步進電機各次的角度值;第一位設(shè)置次數(shù),后三位設(shè)置角度值。按START鍵啟動步進電機開始轉(zhuǎn)動,按SET鍵停止;按CLR鍵清零。1.2方案選擇1.2.1步進電機驅(qū)動電路方案本設(shè)計的重點在于對步進電機的控制和驅(qū)動,設(shè)計中受控電機為四相六線制的步進電機(內(nèi)阻33歐,步進1.8度,額定電壓12V)方案一:使用多個功率放大器件驅(qū)動電機通過使用不同的放大電路和不同參數(shù)的器件,可以達到不同的放大的要求,放大后能夠得到較大的功率,如圖1-1,

3、使用三極管組成的步進電機驅(qū)動電路。但是由于使用的是四相的步進電機,就需要對四路信號分別進行放大,由于放大電路很難做到完全一致,當電機的功率較大時運行起來會不穩(wěn)定,而且電路的制作也比較復(fù)雜。注:A、B、C、D分別為步進電機四相輸入方案二:使用ULN2003芯片驅(qū)動電機ULN2003芯片可以驅(qū)動兩個二相電機,也可以驅(qū)動一個四相電機,如圖1-2。ULN2003工作電壓高,工作電流大,灌電流可達500mA,并且能夠在關(guān)態(tài)時承受50V的電壓,輸出還可以在高負載電流并行運行;可以直接用單片機的IO口提供信號;而且電路簡單,使用比較方便。(注:IN1-IN7為單片機I/O輸入,OUT為與輸入對應(yīng)的的驅(qū)動輸出

4、,接電機的四相A、B、C、D)圖1-2ULN2003芯片驅(qū)動電路通過比較,使用ULN2003芯片充分發(fā)揮了它的功能,能穩(wěn)定地驅(qū)動步進電機,且價格不高,故選用ULN2003驅(qū)動電機。由于控制并不復(fù)雜,直接用單片機I/O模擬出時序信號。1.2.2數(shù)碼管顯示電路的設(shè)計方案一:串行接法設(shè)計中要顯示4位數(shù)字,用74LS164作為顯示驅(qū)動,其中帶鎖存,使用串行接法可以節(jié)約IO口資源,但要使用SIO,發(fā)送數(shù)據(jù)時容易控制。如圖1-3圖1-3數(shù)碼管顯示驅(qū)動電路方案二:并行接法使用并行接法時要對每個數(shù)碼管用IO口單獨輸入數(shù)據(jù),如果采用并行接法,每個數(shù)碼管的控制需要8個I/O,本設(shè)計有四個數(shù)碼管,占用資源較多,如圖

5、1-4。1rininnninnrnfirnnrininrnon1nfl_JULJLJJLrLJLLLILILJLrLJLJUtJl*nurg5i-旳r-li密r-列E乃-T*r.9I-44F-IEE1單片.o圖1-4數(shù)碼管并行驅(qū)動電路由于設(shè)計中用一塊單片機進行控制,資源有限,故需要選擇了方案一。另外,使用鎖存也起到節(jié)約資源的作用。 第二章硬件電路設(shè)計21步進電機控制原理步進電機是數(shù)字控制電機,它將脈沖信號轉(zhuǎn)變成角位移,即給一個脈沖信號,步進電機就轉(zhuǎn)動一個角度。步進電機可分為反應(yīng)式步進電機、永磁式步進電機和混合式步進電機。步進電機區(qū)別于其他控制電機的最大特點是,它是通過輸入脈沖信號來進行控制的,

6、即電機的總轉(zhuǎn)動角度由輸入脈沖數(shù)決定,而電機的轉(zhuǎn)速由脈沖信號頻率決定,圖2-1為電機內(nèi)部原理圖。B圖2-1四相步進電機內(nèi)部原理圖開始時,B相接通電源,A、C、D斷開,B相磁極和轉(zhuǎn)子0、3號齒對齊,同時轉(zhuǎn)子1、4號齒就和C、D相繞組磁極產(chǎn)生錯齒,2、5齒和A、D相繞組產(chǎn)生錯齒。當C相接通電源,B、A、D斷開,由于C相繞組的磁力線和1、4號之間磁力線的作用使轉(zhuǎn)子轉(zhuǎn)動,C相磁極和轉(zhuǎn)子1、4號齒對齊,而轉(zhuǎn)子0、3號齒就和A、B相繞組磁極產(chǎn)生錯齒,2、5齒和A、D相繞組磁極產(chǎn)生錯齒。以此類推,A、B、C、D四相繞組輪流供電,轉(zhuǎn)子就會沿著A、B、C、D方向轉(zhuǎn)動。四相步進電機按照通電順序的不同,可分為單四拍,

7、雙四拍,八拍三種工作方式。單四拍與雙四拍的步距角,但單四拍的轉(zhuǎn)動力矩小。八拍工作方式的步距角是單四拍與雙四拍的一半,因此,八拍工作方式既可以保持較高的轉(zhuǎn)動力矩又可以提高控制精度,圖2-2為三種節(jié)拍控制方式的時序圖。脈沖jinrLnjLrmrLTLrmrLA相TL口nTL_n_TLc相nn口D相11nn圖2-2-a單四拍juinjTruiTuuirLTLn-juLrLnnrLnruuLnjrnjuuiJIIILnL_nLr圖2-2-b雙四拍圖2-2-c八拍控制換相順序通電換相這一過程稱為脈沖分配。例如:四相步進電機的單四拍工作方式,其各相通電順序為A-B-CD,通電控制脈沖必須嚴格按照這一順序分

8、別控制A,B,C,D相的通斷??刂撇竭M電機的轉(zhuǎn)向如果給定工作方式正序換相通電,步進電機正轉(zhuǎn),如果按反序通電換相,則電機就反轉(zhuǎn)。控制步進電機的速度如果給步進電機發(fā)一個控制脈沖,它就轉(zhuǎn)一步,再發(fā)一個脈沖,它會再轉(zhuǎn)一步。兩個脈沖的間隔越短,步進電機就轉(zhuǎn)得越快。調(diào)整單片機發(fā)出的脈沖頻率,就可以對步進電機進行調(diào)速。2.2步進電機轉(zhuǎn)速與脈沖關(guān)系計算首先介紹一個概念:步距角,步進電機每改變一次通電狀態(tài)(一拍)轉(zhuǎn)子所轉(zhuǎn)過的角度稱為步進電機的步距角。假設(shè)我們想實現(xiàn)25轉(zhuǎn)/分的轉(zhuǎn)速,而上述四相步進電機的步距角為7.5,即每48個脈沖為1周,也就是要求為1200脈沖/分,相當于50ms/脈沖。若我們想實現(xiàn)要求為10

9、0轉(zhuǎn)/分的轉(zhuǎn)速,即48000脈沖/分,相當于12.5ms/脈沖。其他轉(zhuǎn)速與脈沖關(guān)系如下:步進電機轉(zhuǎn)速與定時器定時常數(shù)關(guān)系速度單步時間(us)TH1TL1實際定時(us)255000076049996.82648077822368074.182746296898646292.612844643957344640.15510012500211012499.2表中不僅計算出了TH1和TL1,而且還計算出了在這個定時常數(shù)下,真實的定時時間,可以根據(jù)這個計算值來估算真實速度與理論速度的誤差值。表中TH1和TL1是根據(jù)定時時間算出來的定時初值,這里用到的晶振是11.0592M。有了上述表格,程序就不難實現(xiàn)

10、了,使用定時/計數(shù)器T1為定時器,定時時間到后切換輸出腳即可。23硬件電路中的主要芯片功能介紹及原理圖231單片機最小系統(tǒng)本設(shè)計單片機最小系統(tǒng)米用單片機的型號為STC89C52,結(jié)構(gòu)包括CPU、存儲器、并行接口、串行接口、兩個定時/計數(shù)器T0和TI、兩個外部中斷INTO和INT1和中斷系統(tǒng),外接晶振頻率為11.0592MHZP3.2-W0P3.VNTrP3.4T0P35T1P3-M6丄21920圖2-3-1單片機最小體統(tǒng)如圖2-3-1|V(tC_10TT16Pl0VCCdFl.lPO.VPl2P0.1Pl3P0.2Pl4P03Pl5P04Pl.6P0.?Pl7PO.6RESTATIJP07P3

11、bRXDEA.-TPF3.1TXIALE.FKCHJXTAL丄NT.AL2好ND383b-3176?!437-1O.X2a22.2.X2aXpFppFrFF302928互26I232數(shù)碼管驅(qū)動芯片由于本設(shè)計有8個按鍵,4位數(shù)碼管顯示,四相步進電機驅(qū)動。而且還不包括其它的外圍器件。這時整個系統(tǒng)的I/O資源就很吃緊了。系統(tǒng)的擴展性也不好。這時我們就需要考慮對單片機的I/O進行擴展,即采用串行接法控制數(shù)碼管顯示。雖然專門的I/O擴展芯片市場上也有不少,但對于我們一般的應(yīng)用,沒有必要設(shè)計的那么復(fù)雜。用一些簡單的移位寄存器芯片一樣可以實現(xiàn)我們的目標。下面我們來認識一下74HC164這款芯片。這款芯片的作

12、用是把串行輸入的數(shù)據(jù)并行輸出。在允許輸出的情況下,每一個時鐘的上升沿,數(shù)據(jù)依次從最低位移向最高位。因此,在做數(shù)碼管的輸出顯示的時候會出現(xiàn)拖影的想象,在設(shè)計此電路時要注意考慮此情況,如圖2-3-2-1所示為74HC164芯片管腳圖。AlIVA233二QiTGNDC1iSlQh小J1QImJg巒】BFSFTS,3OjXX圖2-3-2-174HC164芯片管腳圖74HC164是高速硅門CMOS器件,與低功耗肖特基型TTL(LSTTL)器件的引腳兼容。74HC164是8位邊沿觸發(fā)式移位寄存器,串行輸入數(shù)據(jù),然后并行輸出。數(shù)據(jù)通過兩個輸入端(A1或A2)之一串行輸入;任一輸入端可以用作高電平使能端,控制

13、另一輸入端的數(shù)據(jù)輸入。兩個輸入端或者連接在一起,或把不用的輸入短接接高電平,一定不要懸空。下面我們再看看它的真值表,有了真值表我們才知道如何正確的去編寫程序去驅(qū)動它:表2-3-274HC164真值表由真值表可知,當Reset為低電平時不管時鐘為高電平還是低電平也不管輸入引腳A1,A2為何值,輸出的并行數(shù)據(jù)均為低電平。當Reset為高電平時,只有在時鐘的上升沿,A1,A2上的值才被移位輸出。明白了使用原理,我們就可以設(shè)計數(shù)碼管顯示驅(qū)動了,設(shè)計采用4片74HC164通過串級連接的方式來驅(qū)動數(shù)碼管,幾種方法僅需要占用兩個I/O口,大大節(jié)約了I/O資源如圖2-3-2-2所示圖2-3-2-274HC16

14、4級聯(lián)方式驅(qū)動數(shù)碼管233步進電機驅(qū)動芯片功率電子電路大多要求具有大電流輸出能力,以便于驅(qū)動各種類型的負載。功率驅(qū)動電路是功率電子設(shè)備輸出電路的一個重要組成部分。在大型儀器儀表系統(tǒng)中,經(jīng)常要用到伺服電機、步進電機、各種電磁閥、泵等驅(qū)動電壓高且功率較大的器件。ULN2000、ULN2800高壓大電流達林頓晶體管陣列系列產(chǎn)品就屬于這類可控大功率器件,由于這類器件功能強、應(yīng)用范圍語廣,深受用戶的歡迎。本設(shè)計采用ULN2003作為步進電機的驅(qū)動芯片,ULN2003電路具有以下特點:電流增益高(大于1000)帶負載能力強(輸出電流大于500mA)溫度范圍寬(-40C85C)工作電壓高(大于50V)管腳排

15、列如圖2-3-3-1(TOPVIEW)1Bu1C1162B2152C3B3143C4B4134C5B5125C6B6116C7B7WE89COM圖2-3-3-1ULN2003管腳圖引出端功能符號引出端序號符號功能引出端序號符號同意功能1IB輸入9COM公共端22B輸入107C輸出33B輸入116C輸出44B輸入125C輸出55B輸入134C輸出66B輸入143C輸出77B輸入152C輸出8E發(fā)射極161C輸出ULN2003是由高壓大電流達林頓晶體管陣列組成,因此一對輸入輸出最小單元其內(nèi)部結(jié)構(gòu)如下圖2-3-3-2:COMOutputC234按鍵輸入電路輸入電路由8個按鍵組成,數(shù)字鍵15;3個功能

16、鍵:設(shè)置SET、清零CLR、開始START;用P0口控制,當按鍵按下時,對應(yīng)的管腳電平變?yōu)榈碗娖健H鐖D2-3-4-1限流電阻和按鍵之間對應(yīng)接單片機P1口。圖2-3-4-1八只輸入按鍵連接電路圖第三章軟件設(shè)計系統(tǒng)電路流程圖:卑片機系統(tǒng)程序系統(tǒng)程序主要由鍵盤程序、顯示器程序、步進電機驅(qū)動程序三部份組成,主程序首先初始化各變量,將顯示器的高3位消隱,步進電機驅(qū)動的各引腳均輸出高電平,然后調(diào)用鍵盤程序,并作判斷,如果有鍵按下,則調(diào)用鍵盤處理程序,否則直接轉(zhuǎn)下一步。下一步是將當前的轉(zhuǎn)速值轉(zhuǎn)換為BCD碼,送入顯示緩沖區(qū);接著判斷StartEnd這個位變量,是“1”還是“0”,如果是“1”,則開啟定時器T1

17、,否則關(guān)閉定時器T1,為防止關(guān)閉時某一相線圈長期通電,因此,在關(guān)閉定時器T1時,將P2.4P2.7均置高。主程序的工作即結(jié)束。主程序流程 鍵盤處理程序流程定時器中斷處理程序流程 第四章總結(jié)本設(shè)計系統(tǒng)各種新片選型都為市場上常用的芯片,價格便宜,資源開放,例如STC89C52型單片機雖然功能不如別的加強型的單片機CPU,但他的基本功能已經(jīng)滿足了設(shè)計的要求,市場價個格35元,又以低廉的價格,和良好的性能,使其性價比非常高。使用串入并出數(shù)據(jù)傳輸芯片74HC164進行I/O擴展,使數(shù)碼管驅(qū)動電路只需時鐘CLK和數(shù)據(jù)DATA兩條信號線便可以控制,大大的節(jié)約了I/O資源。步進電機驅(qū)動電路由功率放大芯片ULN2003進行電流電壓的放大,最高耐壓50V,輸出可以在高負載電流并行運行;可以直接用單片機的IO口提供信號;而且電路簡單,使用比較方便設(shè)計的步進電機基本能實現(xiàn)預(yù)期目標,經(jīng)過調(diào)試和修改,但還是存在問題,比如按開關(guān)的時候會出現(xiàn)不穩(wěn)定情況,轉(zhuǎn)速有時比較亂,顯示有時也有些不理想,這些原

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論