步進(jìn)電機(jī)控制系統(tǒng)_第1頁
步進(jìn)電機(jī)控制系統(tǒng)_第2頁
步進(jìn)電機(jī)控制系統(tǒng)_第3頁
步進(jìn)電機(jī)控制系統(tǒng)_第4頁
步進(jìn)電機(jī)控制系統(tǒng)_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、成績 電機(jī)控制課程設(shè)計報告書 題 目 步進(jìn)電機(jī)控制系統(tǒng) 院 部 名 稱 機(jī)電工程學(xué)院/龍蟠學(xué)院 專 業(yè) 電氣工程及其自動/自動化 班 級 M11電氣工程及其自動化 組 長 姓 名 馬凱文 學(xué) 號 1121109009 同 組 學(xué) 生 周黎飛 耿培元 設(shè) 計 地 點(diǎn) 工科樓C 設(shè) 計 學(xué) 時 1周 指 導(dǎo) 教 師 周洪 金陵科技學(xué)院教務(wù)處制摘要 隨著微電子和計算機(jī)技術(shù)的發(fā)展,步進(jìn)電機(jī)的需求量與日俱增,它廣泛用于打印機(jī)、電動玩具等消費(fèi)類產(chǎn)品以及數(shù)控機(jī)床、工業(yè)機(jī)器人、醫(yī)療器械等機(jī)電產(chǎn)品中,其在各個國民經(jīng)濟(jì)領(lǐng)域都有應(yīng)用。研究步進(jìn)電機(jī)的控制系統(tǒng),對提高控制精度和響應(yīng)速度、節(jié)約能源等都具有重要意義。 步進(jìn)

2、電機(jī)是一種能將電脈沖信號轉(zhuǎn)換成角位移或線位移的機(jī)電元件,步進(jìn)電機(jī)控制系統(tǒng)主要由步進(jìn)控制器,功率放大器及步進(jìn)電機(jī)等組成。采用單片機(jī)控制,用軟件代替上述步進(jìn)控制器,使得線路簡單,成本低,可靠性大大增加。軟件編程可靈活產(chǎn)生不同類型步進(jìn)電機(jī)勵磁序列來控制各種步進(jìn)電機(jī)的運(yùn)行方式。 本設(shè)計是采用STC89C52單片機(jī)對步進(jìn)電機(jī)的控制,通過IO口輸出的時序方波作為步進(jìn)電機(jī)的控制信號,信號經(jīng)過芯片ULN2003驅(qū)動步進(jìn)電機(jī);同時,用 4個按鍵來對電機(jī)的狀態(tài)進(jìn)行控制,并用4個LED發(fā)光二極管顯示電機(jī)的轉(zhuǎn)速。 系統(tǒng)由硬件設(shè)計和軟件設(shè)計兩部分組成。其中,硬件設(shè)計包括STC89C52單片機(jī)的最小系統(tǒng)、電源模塊、鍵盤控

3、制模塊、步進(jìn)電機(jī)驅(qū)動(集成達(dá)林頓ULN2003)模塊、LED指示燈模塊。軟件采用在Keil軟件環(huán)境下編輯。 關(guān)鍵字:STC89C52、步進(jìn)電機(jī)、ULN2003驅(qū)動 1 緒論1.1 課題的背景當(dāng)今社會,電動機(jī)在工農(nóng)業(yè)生產(chǎn)、人們?nèi)粘I钪衅鹬种匾淖饔?。步進(jìn)電機(jī)是最常見的一種控制電機(jī),在各領(lǐng)域中得到廣泛應(yīng)用。步進(jìn)電機(jī)作為執(zhí)行元件,是機(jī)電一體化的關(guān)鍵產(chǎn)品之一, 廣泛應(yīng)用在各種自動化控制系統(tǒng)中。隨著微電子和計算機(jī)技術(shù)的發(fā)展,步進(jìn)電機(jī)的需求量與日俱增,在各個國民經(jīng)濟(jì)領(lǐng)域都有應(yīng)用。步進(jìn)電機(jī)是一種將電脈沖轉(zhuǎn)化為角位移的執(zhí)行機(jī)構(gòu)。當(dāng)步進(jìn)驅(qū)動器接收到一個脈沖信號,它就驅(qū)動步進(jìn)電機(jī)按設(shè)定的方向轉(zhuǎn)動一個固定的角

4、度(稱為“步距角”),它的旋轉(zhuǎn)是以固定的角度一步一步運(yùn)行的。可以通過控制脈沖個數(shù)來控制角位移量,從而達(dá)到準(zhǔn)確定位的目的;同時可以通過控制脈沖頻率來控制電機(jī)轉(zhuǎn)動的速度和加速度,從而達(dá)到調(diào)速的目的。步進(jìn)電機(jī)可以作為一種控制用的特種電機(jī),其優(yōu)點(diǎn)是結(jié)構(gòu)簡單、運(yùn)行可靠、控制方便。尤其是步距值不受電壓、溫度的變化的影響、誤差不會長期積累的特點(diǎn),給實(shí)際的應(yīng)用帶來了很大的方便。它廣泛用于消費(fèi)類產(chǎn)品(打印機(jī)、照相機(jī)、雕刻機(jī))、工業(yè)控制(數(shù)控機(jī)床、工業(yè)機(jī)器人)、醫(yī)療器械等機(jī)電產(chǎn)品中。研究步進(jìn)電機(jī)的控制和測量方法,對提高控制精度和響應(yīng)速度、節(jié)約能源等都具有重要意義。控制核心采用C51芯片,它以其獨(dú)特的低成本,小體積

5、廣受歡迎,當(dāng)然其易編程也是不可多得的優(yōu)點(diǎn)為此,本文設(shè)計了一個單片機(jī)控制步進(jìn)電機(jī)的控制系統(tǒng),可以實(shí)現(xiàn)對步進(jìn)電機(jī)轉(zhuǎn)動速度和轉(zhuǎn)動方向的高效控制。1.2 研究的主要內(nèi)容本設(shè)計的目的是以單片機(jī)為核心設(shè)計出一個單片機(jī)控制步進(jìn)電機(jī)的控制系統(tǒng)。本系統(tǒng)采用STC89C52作為控制單元,通過鍵盤實(shí)現(xiàn)對步進(jìn)電機(jī)轉(zhuǎn)動方向及轉(zhuǎn)動速度的控制,并且將步進(jìn)電機(jī)的轉(zhuǎn)動用四個LED燈指示。2 總體方案設(shè)計 本步進(jìn)電機(jī)控制系統(tǒng),按照系統(tǒng)設(shè)計功能的要求,確定系統(tǒng)由4個模塊組成:主控制器、電機(jī)驅(qū)動模塊、LED指示燈電路、鍵盤電路。溫度無線采集報警系統(tǒng)結(jié)構(gòu)框圖如圖1所示按鍵電路電機(jī)驅(qū)動電源STC89C52單片機(jī)步進(jìn)電機(jī)LED指示燈 圖1

6、 系統(tǒng)結(jié)構(gòu)框圖2.1 方案的選擇 主控芯片方案 方案一: 采用傳統(tǒng)的STC89C52單片機(jī)作為主控芯片。此芯片價格便宜、操作簡便,低功耗,比較經(jīng)濟(jì)實(shí)惠。 方案二: 采用TI公司生產(chǎn)的MSP430F149系列單片機(jī)作為主控芯片。此單片機(jī)是一款高性能的低功耗的16位單片機(jī),具有非常強(qiáng)大的功能,且內(nèi)置高速12位ADC。但其價格比較昂貴,而且是TPFQ貼片封裝,不利于焊接,需要PCB制板,大大增加了成本和開發(fā)周期。 方案三: 采用宏晶科技有限公司的STC12C5A60S2增強(qiáng)型51單片機(jī)作為主控芯片。此芯片內(nèi)置ADC和SPI總線接口,且內(nèi)部時鐘不分頻,可達(dá)到1MPS。而且價格適中??紤]到此系統(tǒng)需要不用

7、到ADC,從性能和價格上綜合考慮我們選擇方案一,即用STC89C52作為本系統(tǒng)的主控芯片。 步進(jìn)電機(jī)驅(qū)動方案方案1: 采用繼電器對電動機(jī)的開或關(guān)進(jìn)行控制,通過開關(guān)的切換對小車的速度進(jìn)行調(diào)整.此方案的優(yōu)點(diǎn)是電路較為簡單,缺點(diǎn)是繼電器的響應(yīng)時間慢,易損壞,壽命較短,可靠性不高。方案2:采用電阻網(wǎng)絡(luò)或數(shù)字電位器調(diào)節(jié)電動機(jī)的分壓,從而達(dá)到分壓的目的。但電阻網(wǎng)絡(luò)只能實(shí)現(xiàn)有級調(diào)速,而數(shù)字電阻的元器件價格比較昂貴。更主要的問題在于一般的電動機(jī)電阻很小,但電流很大,分壓不僅會降低效率,而且實(shí)現(xiàn)很困難。方案3:采用ULN2003達(dá)林頓管電機(jī)驅(qū)動芯片,ULN2003芯片是高耐壓、大電流達(dá)林頓陣列,由7組達(dá)林頓晶體

8、管陣列和相應(yīng)的電阻網(wǎng)絡(luò)以及鉗位二極管網(wǎng)絡(luò)構(gòu)成,具有同時驅(qū)動7組負(fù)載的能力,為單片雙極型大功率高速集成電路。功率電子電路大多要求具有大電流輸出能力,以便于驅(qū)動各種類型的負(fù)載。功率驅(qū)動電路是功率電子設(shè)備輸出電路的一個重要組成部分。ULN2003芯片高壓大電流達(dá)林頓晶體管陣列產(chǎn)品屬于可控大功率器件。對步進(jìn)電機(jī)控制方便靈活。因此我們選用了方案3。 顯示模塊方案方案一: 選擇主控為ST7920的帶字庫的LCD12864來顯示信息。12864是一款通用的液晶顯示屏,能夠顯示多數(shù)常用的漢字及ASCII碼,而且能夠繪制圖片,描點(diǎn)畫線,設(shè)計成比較理想的結(jié)果。方案二: 采用四個LED發(fā)光二極管顯示,其成本低,簡單

9、明了,容易顯示控制。綜合以上方案,我們選擇了經(jīng)濟(jì)實(shí)惠LED來作為速度級別顯示。3 硬件系統(tǒng)的設(shè)計與實(shí)現(xiàn) 3.1 步進(jìn)電機(jī) 步進(jìn)電機(jī)概述步進(jìn)電機(jī)是一種能夠?qū)㈦娒}沖信號轉(zhuǎn)換成角位移或線位移的機(jī)電元件,它實(shí)際上是一種單相或多相同步電動機(jī)。單相步進(jìn)電動機(jī)有單路電脈沖驅(qū)動,輸出功率一般很小,其用途為微小功率驅(qū)動。多相步進(jìn)電動機(jī)有多相方波脈沖驅(qū)動,用途很廣。使用多相步進(jìn)電動機(jī),單路電脈沖信號可先通過脈沖分配器轉(zhuǎn)換為多相脈沖信號,在經(jīng)功率放大后分別送入步進(jìn)電動機(jī)各相繞組。每輸入一個脈沖到脈沖分配器,電動機(jī)各相的通電狀態(tài)就發(fā)生變化,轉(zhuǎn)子會轉(zhuǎn)過一定的角度(稱為步距角)。正常情況下,步進(jìn)電機(jī)轉(zhuǎn)過的總角度和輸入的脈

10、沖數(shù)成正比;連續(xù)輸入一定頻率的脈沖時,電動機(jī)的轉(zhuǎn)速與輸入脈沖的頻率保持嚴(yán)格的對應(yīng)關(guān)系,不受電壓波動和負(fù)載變化的影響。由于步進(jìn)電動機(jī)能直接接收數(shù)字量的輸入,所以特別適合于微機(jī)控制。 步進(jìn)電機(jī)的特性步進(jìn)電機(jī)轉(zhuǎn)動使用的是脈沖信號,而脈沖是數(shù)字信號,這恰是計算機(jī)所擅長處理的數(shù)據(jù)類型。從20世紀(jì)80年代開始開發(fā)出了專用的IC驅(qū)動電路,今天,在打印機(jī)、磁盤器等的OA裝置的位置控制中,步進(jìn)電機(jī)都是不可缺少的組成部分之一??傮w上說,步進(jìn)電機(jī)有如下優(yōu)點(diǎn):1不需要反饋,控制簡單。2與微機(jī)的連接、速度控制(啟停和反轉(zhuǎn))及驅(qū)動電路的設(shè)計比較簡單。3沒有角累積誤差。4停止時也可保持轉(zhuǎn)距。5沒有轉(zhuǎn)向器等機(jī)械部分,不需要保

11、養(yǎng),故造價較低。6即使沒有傳感器,也能精確定位。7根椐給定的脈沖周期,能夠以任意速度轉(zhuǎn)動。但是,這種電機(jī)也有自身的缺點(diǎn):1難以獲得較大的轉(zhuǎn)矩2.不宜用作高速轉(zhuǎn)動3在體積重量方面沒有優(yōu)勢,能源利用率低。4超過負(fù)載時會破壞同步,高速工作時會發(fā)出振動和噪聲。3.1.3 步進(jìn)電機(jī)的種類目前常用的步進(jìn)電機(jī)有三類:表1 步進(jìn)電機(jī)分類類別結(jié)構(gòu)步距力矩動態(tài)性能反應(yīng)式步進(jìn)電動機(jī)(VR)采用高導(dǎo)磁材料構(gòu)成齒狀轉(zhuǎn)子和定子小小較差永磁式步進(jìn)電動機(jī)(PM)轉(zhuǎn)子采用多磁極圓筒形的永磁鐵,其外側(cè)配置齒狀定子吸引和排斥力產(chǎn)生轉(zhuǎn)動大大好混合步進(jìn)電動機(jī)(HB)這是PM和VR的復(fù)合產(chǎn)品,其轉(zhuǎn)子采用齒狀的稀土永磁材料,定子則為齒狀的

12、突起結(jié)構(gòu)小大好 永磁步進(jìn)電機(jī)的控制原理在本設(shè)計以常用的永磁式步進(jìn)電機(jī)為例,用單片機(jī)控制步進(jìn)電機(jī)。圖2-1是CZ-2801型永磁步進(jìn)電機(jī)的外形圖,圖2-2是該電機(jī)的接線圖。 圖2-1 CZ-2801型永磁步進(jìn)電機(jī)外形圖 圖2-2 CZ-2801型永磁步進(jìn)電機(jī)接線圖從圖中可以看出,電機(jī)共有四組線圈,四組線圈的一個端點(diǎn)連在一起引出,這樣一共有 5根引出線。要使用步進(jìn)電機(jī)轉(zhuǎn)動,只要輪流給各引出端通電即可。將 COM 端標(biāo)識為C,只要 AC、BC或/AC、/BC,輪流加電就能驅(qū)動步進(jìn)電機(jī)運(yùn)轉(zhuǎn),加電的方式可以有多種,如果將 COM 端接正電源,那么只要用開關(guān)元件(如三極管) ,將 A、B或/A、/B輪流接

13、地。不難設(shè)計出控制電路,因其工作電壓為 12V,因此用一塊開路輸出達(dá)林頓驅(qū)動器(這里用ULN2003,關(guān)于ULN2003將在后面介紹)作為驅(qū)動,通過 P1.0、 P1.3來控制各線圈的接通與切斷。開機(jī)時,P1.0、 P1.3均為高電平,依次將 P1.0、 P1.2 (或P1.1、 P1.3反向)切換為低電平即可驅(qū)動步進(jìn)電機(jī)運(yùn)行。如果要改變電機(jī)的轉(zhuǎn)動速度只要改變兩次接通之間的時間。改變轉(zhuǎn)速,只要改變 P1.0、 P1.2 (或P1.1、 P1.3反向)輪流變低電平的時間即可達(dá)到要求,因?yàn)椴粫绊懙狡渌δ艿膶?shí)現(xiàn),這個時間可以用延時來實(shí)現(xiàn),。這里以定時的方式來實(shí)現(xiàn)。下面首先計算一下定時時間。 按要

14、求,最低轉(zhuǎn)速為 20 轉(zhuǎn)/分,而上述步進(jìn)電機(jī)的步距角為 7.5,即每 48 個脈沖為 1 周,即在最低轉(zhuǎn)速時,要求為960脈沖/分,相當(dāng)于 62.5ms/脈沖。而在最高轉(zhuǎn)速時,要求為 100轉(zhuǎn)/分,即 48000 脈沖/分,相當(dāng)于 12.5ms/脈沖??梢粤谐鱿卤恚罕?-2 步進(jìn)電機(jī)轉(zhuǎn)速與定時器定時常數(shù)關(guān)系轉(zhuǎn)速單步時間(ms)TH0TL02062.51F02159.5238095229B62256.8181818233742354.347826093C592452.08333333448025504C02648.0769230852EC2746.296296359552844.64285714

15、5F499313.44086022CF9C9413.29787234D0209513.15789474D0A19613.02083333D1209712.88659794D19B9812.75510204D2149912.62626263D28B10012.5D30表中不僅計算出了 TH0和 TL0,而且還計算出了在這個定時常數(shù)下,真實(shí)的定時時間,可以根據(jù)這個計算值來估算真實(shí)速度與理論速度的誤差值。 表中 TH0 和TL0 是根據(jù)定時時間算出來的定時初值,這里用到的晶振是 12.000M。有了上述表格,程序就不難實(shí)現(xiàn)了,使用定時/計數(shù)器 T0為定時器,定時時間到后切換輸出腳即可。3.2 步進(jìn)電

16、機(jī)控制系統(tǒng)的組成步進(jìn)電機(jī)控制系統(tǒng)共分為五個模塊:單片機(jī)最小系統(tǒng)模塊、鍵盤控制模塊、LED指示模塊、步進(jìn)電機(jī)驅(qū)動模塊和電源模塊。1.單片機(jī)最小系統(tǒng)主要由復(fù)位電路和時鐘電路組成。復(fù)位電路為單片機(jī)系統(tǒng)提供可靠復(fù)位,使單片機(jī)能正常啟動。時鐘電路采用外部時鐘方式,保證單片機(jī)個功能部件都是以時鐘頻率為基準(zhǔn),有條不紊地一拍一拍地工作。2.鍵盤控制模塊包括方向控制鍵、加速鍵和減速鍵、啟停鍵,分別與單片機(jī)的P3.4、p3.5、p3.6和P3.7相連。實(shí)現(xiàn)對步進(jìn)電機(jī)的控制。3.四個LED發(fā)光二極管顯示步進(jìn)電機(jī)的速度等級。分成四個等級,四個LED全亮速度最快,亮一個速度最慢。4.步進(jìn)電機(jī)驅(qū)動模塊選用七個NPN達(dá)林頓

17、連接晶體管ULN2003為步進(jìn)電機(jī)提供脈沖信號,驅(qū)動步進(jìn)電機(jī)轉(zhuǎn)動。該模塊與單片機(jī)的P1.0P1.3相連。5.電源模塊3接5號電池4.5V分別供給驅(qū)動模塊和單片機(jī)模塊。3.3 主控制模塊 單片機(jī)最小系統(tǒng)包括單片機(jī)、復(fù)位電路、時鐘電路構(gòu)成。STC89C52 單片機(jī)的工作電壓范圍:4V-5.5V,所以通常給單片機(jī)外界5V直流電源。連接方式為單片機(jī)中的40腳VCC接正極5V,而20腳VSS接電源地端。復(fù)位電路就是確定單片機(jī)的工作起始狀態(tài),完成單片機(jī)的啟動過程。單片機(jī)接通電源時產(chǎn)生復(fù)位信號,完成單片機(jī)啟動確定單片機(jī)起始工作狀態(tài)。當(dāng)單片機(jī)系統(tǒng)在運(yùn)行中,受到外界環(huán)境干擾出現(xiàn)程序跑飛的時候,按下復(fù)位按鈕內(nèi)部的

18、程序自動從頭開始執(zhí)行。一般有上電自動復(fù)位和外部按鍵手動復(fù)位,單片機(jī)在時鐘電路工作以后,在RESET端持續(xù)給出2個機(jī)器周期的高電平時就可以完成復(fù)位操作。本設(shè)計采用的是外部手動按鍵復(fù)位電路,需要接上上拉電阻來提高輸出高電平的值。 時鐘電路好比單片機(jī)的心臟,它控制著單片機(jī)的工作節(jié)奏。時鐘電路就是振蕩電路,是向單片機(jī)提供一個正弦波信號作為基準(zhǔn),決定單片機(jī)的執(zhí)行速度。XTAL1和XTAL2分別為反向放大器的輸入和輸出,該反向放大器可以配置為片內(nèi)振蕩器。如采用外部時鐘源驅(qū)動器件,XTAL2應(yīng)不接。因?yàn)橐粋€機(jī)器周期含有6個狀態(tài)周期,而每個狀態(tài)周期為2個振蕩周期,所以一個機(jī)器周期共有12個振蕩周期,如果外接石

19、英晶體振蕩器的振蕩頻率為12MHZ,一個振蕩周期為1/12us。 主控制最小系統(tǒng)電路如圖2所示。 圖2 單片主控電路 STC89C52單片機(jī)簡介 STC89C52是一種低功耗、高性能CMOS8位微控制器,具有8K 在系統(tǒng)可編程Flash 存儲器。使用高密度非易失性存儲器技術(shù)制造,與工業(yè)80C51 產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8 位CPU 和在系統(tǒng)可編程Flash,使得STC89C52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。STC89C52具有以下標(biāo)準(zhǔn)功能: 8k字節(jié)Flash,256字節(jié)RAM,32 位

20、I/O 口線,看門狗定時器,2 個數(shù)據(jù)指針,三個16 位定時器/計數(shù)器,一個6向量2級中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時鐘電路。另外,STC89C52 可降至0Hz 靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式。空閑模式下,CPU停止工作,允許RAM、定時器/計數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個中斷或硬件復(fù)位為止。這一模塊以單片機(jī)為中心把程序代碼燒進(jìn)去然后外圍接上復(fù)位電路、振蕩電路、鍵盤控制、LED顯示電路、報警電路等子模塊。 單片機(jī)的引腳功能描述 下面對AT89C52各引腳的功能進(jìn)行較為詳細(xì)的介紹:1)電源引腳Vcc和Vss

21、 Vcc(40腳):電源端為+5V Vss(20腳):接地端。 2)時鐘電路引腳XTAL1和XTAL2XTAL2(18腳):接外部晶體和微調(diào)電容的一端。在單片機(jī)內(nèi)部它是振蕩電路反向放大器的輸出端,振蕩電路的頻率就是晶體固有頻率。若需采用外部時針電路時,該引腳輸入外時鐘脈沖。要檢查89C52的振蕩電路是否正常工作,可用示波器查看XTAL2端是否有脈沖信號輸出。XTAL1(19腳):接外部晶體和微調(diào)電容的另一端。在片內(nèi),它是振蕩電路反向放大器的輸入端。在采用外部時鐘時,該引腳必須接地。 3)控制信號腳 RST ALE PSEN 和EA。 RST(9腳):RST是復(fù)位信號輸入端,高電平有效。在此輸入

22、端保持兩個機(jī)器周期(24個時鐘振蕩周期)的高電平時,就可以完成復(fù)位操作。ALE/PROG(30引腳):地址鎖存允許信號端。當(dāng)AT89C52上電正常工作后,ALE引腳不斷向外輸出正脈沖信號。此頻率為振蕩器頻率fosc的1/6,當(dāng)CPU訪問片外存儲器時,ALE輸出信號作為鎖存低8位地址的控制信號。在CPU訪問片外數(shù)據(jù)存儲時,每取值一次(一個機(jī)器周期)會丟失一個脈沖。平時不訪問片外存儲時,ALE端也以1/6的振蕩頻率固定輸出正脈沖,因而ALE信號可以用作對外輸出時鐘或定時信號。如果你想看一下AT89C52芯片的好壞,可用示波器查看ALE端是否有脈沖信號輸出,如有脈沖信號輸出,則AT89C52基本上是

23、好的。ALE的負(fù)載驅(qū)動能力為8個LS型TTL(低功耗高速TTL)。 PSEN(29腳);程序存儲允許輸出信號引腳,在訪問片外程序存儲器時,此端定時輸出負(fù)脈沖作為讀片外存儲器的選通信號。此引腳接ERROM的OE端。PSEN端有效,即允許讀出ERROM/ROM中的指令碼。CPU在從外部ERROM/ROM取指令期間,每個周期PSEN兩次有效。不過,在訪問片外RAM時,要少產(chǎn)生兩次PSEN負(fù)脈沖信號。要檢查一個AT89C52小系統(tǒng)上電后CPU能否正常到ERROM/ROM中讀取指令碼,也可用于示波器看PSEN端有無脈沖輸出。如有,說明基本上工作正常。EA/VPP(31腳):外部程序存儲器地址允許輸入端/

24、固化編程電壓輸入端。當(dāng)EA引腳接高電平時,CPU只訪問片內(nèi)ERROM/ROM并執(zhí)行內(nèi)部程序存儲器中的指令。但在PC(程序計數(shù)器)的值超過OFFFH(對8751/8051為4k)時,將自動轉(zhuǎn)向執(zhí)行片外存儲器的程序。當(dāng)出入信號EA引腳接低電平(接地)時,CPU只訪問外部ERROM/ROM并執(zhí)行外部程序存儲器中的指令,而不管是否有片內(nèi)程序存儲器。對于無芯片內(nèi)的ROM的8031或8032,須外擴(kuò)ERROM,此時必須將EA引腳接地。如果使用有片內(nèi)ROM的AT89C52,外擴(kuò)ERROM也是可以的,但也要使EA接地。4)I/O(輸入/輸出端口,P0,P1,P2,P3)P0口:P0口是一個漏極開路的8位準(zhǔn)雙向

25、I/O端口。P1口:8位準(zhǔn)雙向I/O端口。P2口:即可以做地址總線輸出地址高8位,也可以做普通I/O用,(此時為準(zhǔn)雙向口)。P3口:雙功能口,即可以做普通I/O口用(此時為準(zhǔn)向口,也可以按每位定義實(shí)現(xiàn)第二功能操作)。見表1。表1 P3口的第二功能表引腳第二功能P3.0RXD (串行輸入口)P3.1TXD (串行輸出口)P3.2INT0(外部中斷0)P3.3INT1(外部中斷1)P3.4T0(定時器0外部中斷)P3.5T1(定時器1外部中斷)P3.6WR(外部存儲器寫選通)P3.7RD(外部存儲器讀寫通) 單片機(jī)的時鐘電路與復(fù)位電路設(shè)計 本系統(tǒng)采用stc系統(tǒng)列單片機(jī),相比其他系列單片機(jī)具有很多優(yōu)

26、點(diǎn)。本系統(tǒng)采用內(nèi)部方式的時鐘電路和加電自復(fù)位的復(fù)位電路,如下圖3圖4所示:圖3 時鐘電路圖4 復(fù)位電路由于單片機(jī)P0口內(nèi)部不含上拉電阻,為高阻態(tài),不能正常地輸出高/低電平,因而該組I/O口在使用時必須外接上拉電阻R6。3.4 電源電路設(shè)計 供電電源采用3接1.5V干電池給傳感器,單片機(jī)供電。電路如圖5所示。P2為電源接線端,SW1為電源總開關(guān)。D4為電源指示燈。圖5 電源電路 3.5 步進(jìn)電機(jī)驅(qū)動電路 步進(jìn)電機(jī)采用ULN2003驅(qū)動,驅(qū)動原理圖如圖6。圖6 蜂鳴器報警電路圖 3.6 按鍵電路系統(tǒng)采用了4個,一個啟動鍵,一個停止鍵,一個速度調(diào)節(jié)鍵,一個正反轉(zhuǎn)切換鍵。電路如圖7。圖7 按鍵電路3.

27、7 速度等級指示燈電路 速度等級采用LED指示燈指示。接口電路如圖8所示圖8 指示電路4 軟件系統(tǒng)的設(shè)計與系統(tǒng)功能實(shí)現(xiàn)4.1 軟件設(shè)計原則及編程思路應(yīng)用系統(tǒng)中的應(yīng)用軟件是根據(jù)系統(tǒng)功能要求設(shè)計的,應(yīng)穩(wěn)定正確的實(shí)現(xiàn)系統(tǒng)的各種功能。在本系統(tǒng)中,軟件設(shè)計要求做到以下幾點(diǎn):1. 軟件結(jié)構(gòu)清晰,簡捷,流程合理。2. 各功能程序?qū)崿F(xiàn)模塊化。這樣,即便于調(diào)試,鏈接,又便于移植,修改。3. 程序存儲區(qū),數(shù)據(jù)存儲區(qū)要合理規(guī)劃,既能節(jié)約內(nèi)存容量,又使操作方便。4. 運(yùn)行狀態(tài)實(shí)現(xiàn)標(biāo)志化管理。各個功能程序運(yùn)行狀態(tài),運(yùn)行結(jié)果以及運(yùn)行要求都要設(shè)置狀態(tài)標(biāo)志以便查詢,程序轉(zhuǎn)移,控制都可通過狀態(tài)標(biāo)志條件來控制。4.2 程序設(shè)計前

28、期準(zhǔn)備 程序設(shè)計平臺考慮到程序的易讀性和簡練,程序設(shè)計采用C語言。程序編輯平臺采用Keil。圖3-1 Keil軟件界面 程序設(shè)計思路步進(jìn)電機(jī)控制系統(tǒng)的軟件需要同時完成讀取鍵盤、處理鍵盤、控制步進(jìn)電機(jī)轉(zhuǎn)動、控制數(shù)碼管動態(tài)顯示等任務(wù),這就必須通過中斷技術(shù)來實(shí)現(xiàn)。在本設(shè)計中,主程序采用查詢方式掃描鍵盤端口,檢測按鍵動作是否發(fā)生,若有按鍵動作則處理鍵盤,根據(jù)按鍵值修改相應(yīng)參數(shù)值,實(shí)現(xiàn)鍵盤的實(shí)時處理功能。定時器0中斷服務(wù)程序控制步進(jìn)電機(jī)的轉(zhuǎn)動:根據(jù)當(dāng)前顯示的速度進(jìn)行鍵盤手動改變T0定時時間常數(shù),設(shè)置TH0和TL0的值,達(dá)到對轉(zhuǎn)速精確控制的目的;根據(jù)轉(zhuǎn)動方向控制位的值,控制脈沖信號循環(huán)移動的方向,達(dá)到對轉(zhuǎn)

29、動方向控制的目的。說明如下:1.單片機(jī)接受鍵盤信息,改變系統(tǒng)內(nèi)部變量值。2.單片機(jī)輸出脈沖信號,控制步進(jìn)電機(jī)轉(zhuǎn)動。3.單片機(jī)根據(jù)步進(jìn)電機(jī)實(shí)際轉(zhuǎn)動值,控制數(shù)碼管顯示。4.3 程序流程圖 主程序流程圖步進(jìn)電機(jī)控制系統(tǒng)的主程序在對整個系統(tǒng)初始化后主要完成讀鍵盤和處理鍵盤的功能,如圖3-2所示:圖3-2 步進(jìn)電機(jī)控制系統(tǒng)主程序流程圖系統(tǒng)上電復(fù)位后,先調(diào)用初始化子程序,對步進(jìn)電機(jī)各端口,相關(guān)參數(shù)進(jìn)行初始化,設(shè)置T0工作方式控制時間常數(shù)。初始化完成后,步進(jìn)電機(jī)處于停止?fàn)顟B(tài),T0定時器處于關(guān)閉狀態(tài)。然后循環(huán)調(diào)用讀鍵盤子程序和鍵盤處理子程序,等待中斷,以便實(shí)現(xiàn)步進(jìn)電機(jī)轉(zhuǎn)動控制。 讀鍵盤子程序流程圖首先初始化實(shí)

30、際鍵值參數(shù)為0FH,然后掃描P2口,與初始值比較,相等則說明沒有鍵按下,不相等則軟件消抖,以便確認(rèn)是否真的有鍵按下。延時10ms后再次掃描P2口,第二次與初始值比較,若相等則表明前一次比較不相等是由抖動產(chǎn)生;如果相等則表明確實(shí)有鍵按下。執(zhí)行鍵盤之程序里的指令,將相應(yīng)的變量值改變,為鍵盤處理子程序做準(zhǔn)備。啟動否是否有鍵按下處理鍵盤子程序是圖3-3 掃描鍵盤字程序流程圖 鍵盤處理子程序流程圖按鍵處理子程序流程圖如圖3-3所示:初始化變量開始P2.3是否按下P2.2是否按下P2.0是否按下P2.1是否按下退出TR0取反,通過啟停T0啟停步進(jìn)電機(jī)取反方向控制為,改變電機(jī)轉(zhuǎn)動方向修改速度參數(shù)值,減速修改

31、速度參數(shù)值,加速 是是是是圖3-3鍵盤處理子程序流程圖步進(jìn)電機(jī)的啟停控制通過啟停定時器T0來實(shí)現(xiàn),因?yàn)槎〞r器T0控制著脈沖信號的輸出,關(guān)閉定時器T0也就阻止了脈沖信號的輸出。 電機(jī)控制中斷程序流程圖定時器中斷0服務(wù)程序流程圖如圖3-4所示: 圖3-4 定時器中斷0服務(wù)程序流程圖定時器中斷0服務(wù)程序的中斷時間由當(dāng)前的轉(zhuǎn)速決定。進(jìn)入中斷程序后,首先要保護(hù)現(xiàn)場,再根據(jù)當(dāng)前值設(shè)置TH0和TL0的值。然后判斷轉(zhuǎn)動方向控制位的值,如果是0則控制脈沖信號P1.0、P1.2輸出,如果是1則控制脈沖信號P1.1、P1.3輸出。最后恢復(fù)現(xiàn)場,返回,等待下次中斷。通過用當(dāng)前轉(zhuǎn)速控制中斷時間,控制了脈沖的輸出頻率,也

32、就到達(dá)了控制步進(jìn)電機(jī)轉(zhuǎn)動速度的目的;通過檢測方向控制位的電平,選擇脈沖信號P1.0、P1.2與P1.1、P1.3間的切換,控制了步進(jìn)電機(jī)各引出端的接通順序,也就到實(shí)現(xiàn)了步進(jìn)電機(jī)轉(zhuǎn)動方向的控制。各模塊控制的詳細(xì)程序附于最后。5 調(diào)試與改進(jìn)5.1 調(diào)試與改進(jìn)在系統(tǒng)完成后測試系統(tǒng),檢查硬件和軟件是否能夠協(xié)調(diào)運(yùn)行,并對系統(tǒng)出現(xiàn)的情況進(jìn)行分析,看是否能夠達(dá)到系統(tǒng)創(chuàng)作之初所設(shè)想的效果,如達(dá)不到則重新修改系統(tǒng)的硬件結(jié)構(gòu)或者修改軟件的程序部分,直到達(dá)到設(shè)計需要為止。本系統(tǒng)的設(shè)計思路為:首先從整體上劃分出各功能模塊,然后硬件和軟件同時進(jìn)行依次完成各個功能模塊,最后將各個模塊聯(lián)系起來完成整個系統(tǒng)。在硬件調(diào)試的過程

33、中,遇到了很多問題。主要有:1. 確定步進(jìn)電機(jī)的使用方法,和控制模式。此處尤為重要,這是整個系統(tǒng)的基礎(chǔ),也是確定軟件是否能控制步進(jìn)電機(jī)思路的開端。2.鍵盤設(shè)計完成后,在多次運(yùn)行過程中發(fā)現(xiàn)按鍵是否按下難以直觀準(zhǔn)確判斷。軟件測試的時候也有些問題,主要有:1.軟件去抖方式,和時間的控制。2.控制步進(jìn)電機(jī)轉(zhuǎn)動的程序段完成后,調(diào)試發(fā)現(xiàn)對步進(jìn)電機(jī)速度的控制范圍過小,查閱資料后發(fā)現(xiàn)設(shè)計思路不太合理,原先的設(shè)計思路是用主程序控制步進(jìn)電機(jī)轉(zhuǎn)動,采用延時方式控制步進(jìn)電機(jī)速度,由定時器處理鍵盤;改進(jìn)程序,主程序用來處理鍵盤,由定時器控制步進(jìn)電機(jī)轉(zhuǎn)動,步進(jìn)電機(jī)轉(zhuǎn)動速度由定時器定時時間決定。問題得到解決,不僅擴(kuò)大了步進(jìn)

34、電機(jī)速度的控制范圍,也使得單片機(jī)對步進(jìn)電機(jī)速度的控制更加精確。5.2 運(yùn)行結(jié)果連接好硬件電路,上電復(fù)位,程序開始運(yùn)行。1.此時步進(jìn)電機(jī)不轉(zhuǎn)動,LED不顯示;按下啟停鍵,步進(jìn)電機(jī)開始轉(zhuǎn)動,LED數(shù)碼管顯示數(shù)值當(dāng)前數(shù)值,即當(dāng)前步進(jìn)電機(jī)的轉(zhuǎn)速為25轉(zhuǎn)/分;2.此時每按下加速鍵一次,LED亮的個數(shù)值加1,步進(jìn)電機(jī)轉(zhuǎn)動速度相應(yīng)增加;此時每按下減速鍵一次,LED亮的個數(shù)值減1,步進(jìn)電機(jī)轉(zhuǎn)動速度相應(yīng)減少;此時若按下方向控制鍵,步進(jìn)電機(jī)立即向相反方向轉(zhuǎn)動,轉(zhuǎn)動速度保持不變???結(jié)經(jīng)過老師耐心細(xì)致的指導(dǎo),經(jīng)過近一個月的努力,本次畢業(yè)設(shè)計課題步進(jìn)電機(jī)控制系統(tǒng)告一段落。步進(jìn)電機(jī)控制系統(tǒng)主要分為硬件設(shè)計和軟件設(shè)計兩個部分:硬件設(shè)計主要是把單片機(jī)最小系統(tǒng)、鍵盤控制模塊、步進(jìn)電機(jī)驅(qū)動模塊、數(shù)碼顯示模塊、測速模塊各個硬件功能模塊及其它元件合理搭配并連接起來使其能夠?yàn)檐浖\(yùn)行提供一個硬件平臺。軟件設(shè)計主要是通過編寫程序代碼,實(shí)現(xiàn)對整個系統(tǒng)的控制。在系統(tǒng)上電復(fù)位后程序自動運(yùn)行,通過接受外部的鍵盤操作修改系統(tǒng)參數(shù)值,控制步進(jìn)電機(jī)的啟停,以及轉(zhuǎn)速的增減和轉(zhuǎn)動方向的改變;定時器T0根據(jù)系統(tǒng)參數(shù)

溫馨提示

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

評論

0/150

提交評論