




已閱讀5頁(yè),還剩23頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
成績(jī) 電機(jī)控制課程設(shè)計(jì)報(bào)告書(shū) 題 目 步進(jìn)電機(jī)控制系統(tǒng) 院 部 名 稱(chēng) 機(jī)電工程學(xué)院/龍?bào)磳W(xué)院 專(zhuān) 業(yè) 電氣工程及其自動(dòng)/自動(dòng)化 班 級(jí) M11電氣工程及其自動(dòng)化 組 長(zhǎng) 姓 名 馬凱文 學(xué) 號(hào) 1121109009 同 組 學(xué) 生 周黎飛 耿培元 設(shè) 計(jì) 地 點(diǎn) 工科樓C 設(shè) 計(jì) 學(xué) 時(shí) 1周 指 導(dǎo) 教 師 周洪 金陵科技學(xué)院教務(wù)處制摘要 隨著微電子和計(jì)算機(jī)技術(shù)的發(fā)展,步進(jìn)電機(jī)的需求量與日俱增,它廣泛用于打印機(jī)、電動(dòng)玩具等消費(fèi)類(lèi)產(chǎn)品以及數(shù)控機(jī)床、工業(yè)機(jī)器人、醫(yī)療器械等機(jī)電產(chǎn)品中,其在各個(gè)國(guó)民經(jīng)濟(jì)領(lǐng)域都有應(yīng)用。研究步進(jìn)電機(jī)的控制系統(tǒng),對(duì)提高控制精度和響應(yīng)速度、節(jié)約能源等都具有重要意義。 步進(jìn)電機(jī)是一種能將電脈沖信號(hào)轉(zhuǎn)換成角位移或線位移的機(jī)電元件,步進(jìn)電機(jī)控制系統(tǒng)主要由步進(jìn)控制器,功率放大器及步進(jìn)電機(jī)等組成。采用單片機(jī)控制,用軟件代替上述步進(jìn)控制器,使得線路簡(jiǎn)單,成本低,可靠性大大增加。軟件編程可靈活產(chǎn)生不同類(lèi)型步進(jìn)電機(jī)勵(lì)磁序列來(lái)控制各種步進(jìn)電機(jī)的運(yùn)行方式。 本設(shè)計(jì)是采用STC89C52單片機(jī)對(duì)步進(jìn)電機(jī)的控制,通過(guò)IO口輸出的時(shí)序方波作為步進(jìn)電機(jī)的控制信號(hào),信號(hào)經(jīng)過(guò)芯片ULN2003驅(qū)動(dòng)步進(jìn)電機(jī);同時(shí),用 4個(gè)按鍵來(lái)對(duì)電機(jī)的狀態(tài)進(jìn)行控制,并用4個(gè)LED發(fā)光二極管顯示電機(jī)的轉(zhuǎn)速。 系統(tǒng)由硬件設(shè)計(jì)和軟件設(shè)計(jì)兩部分組成。其中,硬件設(shè)計(jì)包括STC89C52單片機(jī)的最小系統(tǒng)、電源模塊、鍵盤(pán)控制模塊、步進(jìn)電機(jī)驅(qū)動(dòng)(集成達(dá)林頓ULN2003)模塊、LED指示燈模塊。軟件采用在Keil軟件環(huán)境下編輯。 關(guān)鍵字:STC89C52、步進(jìn)電機(jī)、ULN2003驅(qū)動(dòng) 1 緒論1.1 課題的背景當(dāng)今社會(huì),電動(dòng)機(jī)在工農(nóng)業(yè)生產(chǎn)、人們?nèi)粘I钪衅鹬种匾淖饔谩2竭M(jìn)電機(jī)是最常見(jiàn)的一種控制電機(jī),在各領(lǐng)域中得到廣泛應(yīng)用。步進(jìn)電機(jī)作為執(zhí)行元件,是機(jī)電一體化的關(guān)鍵產(chǎn)品之一, 廣泛應(yīng)用在各種自動(dòng)化控制系統(tǒng)中。隨著微電子和計(jì)算機(jī)技術(shù)的發(fā)展,步進(jìn)電機(jī)的需求量與日俱增,在各個(gè)國(guó)民經(jīng)濟(jì)領(lǐng)域都有應(yīng)用。步進(jìn)電機(jī)是一種將電脈沖轉(zhuǎn)化為角位移的執(zhí)行機(jī)構(gòu)。當(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)確定位的目的;同時(shí)可以通過(guò)控制脈沖頻率來(lái)控制電機(jī)轉(zhuǎn)動(dòng)的速度和加速度,從而達(dá)到調(diào)速的目的。步進(jìn)電機(jī)可以作為一種控制用的特種電機(jī),其優(yōu)點(diǎn)是結(jié)構(gòu)簡(jiǎn)單、運(yùn)行可靠、控制方便。尤其是步距值不受電壓、溫度的變化的影響、誤差不會(huì)長(zhǎng)期積累的特點(diǎn),給實(shí)際的應(yīng)用帶來(lái)了很大的方便。它廣泛用于消費(fèi)類(lèi)產(chǎn)品(打印機(jī)、照相機(jī)、雕刻機(jī))、工業(yè)控制(數(shù)控機(jī)床、工業(yè)機(jī)器人)、醫(yī)療器械等機(jī)電產(chǎn)品中。研究步進(jìn)電機(jī)的控制和測(cè)量方法,對(duì)提高控制精度和響應(yīng)速度、節(jié)約能源等都具有重要意義??刂坪诵牟捎肅51芯片,它以其獨(dú)特的低成本,小體積廣受歡迎,當(dāng)然其易編程也是不可多得的優(yōu)點(diǎn)為此,本文設(shè)計(jì)了一個(gè)單片機(jī)控制步進(jìn)電機(jī)的控制系統(tǒng),可以實(shí)現(xiàn)對(duì)步進(jìn)電機(jī)轉(zhuǎn)動(dòng)速度和轉(zhuǎn)動(dòng)方向的高效控制。1.2 研究的主要內(nèi)容本設(shè)計(jì)的目的是以單片機(jī)為核心設(shè)計(jì)出一個(gè)單片機(jī)控制步進(jìn)電機(jī)的控制系統(tǒng)。本系統(tǒng)采用STC89C52作為控制單元,通過(guò)鍵盤(pán)實(shí)現(xiàn)對(duì)步進(jìn)電機(jī)轉(zhuǎn)動(dòng)方向及轉(zhuǎn)動(dòng)速度的控制,并且將步進(jìn)電機(jī)的轉(zhuǎn)動(dòng)用四個(gè)LED燈指示。2 總體方案設(shè)計(jì) 本步進(jìn)電機(jī)控制系統(tǒng),按照系統(tǒng)設(shè)計(jì)功能的要求,確定系統(tǒng)由4個(gè)模塊組成:主控制器、電機(jī)驅(qū)動(dòng)模塊、LED指示燈電路、鍵盤(pán)電路。溫度無(wú)線采集報(bào)警系統(tǒng)結(jié)構(gòu)框圖如圖1所示按鍵電路電機(jī)驅(qū)動(dòng)電源STC89C52單片機(jī)步進(jìn)電機(jī)LED指示燈 圖1 系統(tǒng)結(jié)構(gòu)框圖2.1 方案的選擇2.1.1 主控芯片方案 方案一: 采用傳統(tǒng)的STC89C52單片機(jī)作為主控芯片。此芯片價(jià)格便宜、操作簡(jiǎn)便,低功耗,比較經(jīng)濟(jì)實(shí)惠。 方案二: 采用TI公司生產(chǎn)的MSP430F149系列單片機(jī)作為主控芯片。此單片機(jī)是一款高性能的低功耗的16位單片機(jī),具有非常強(qiáng)大的功能,且內(nèi)置高速12位ADC。但其價(jià)格比較昂貴,而且是TPFQ貼片封裝,不利于焊接,需要PCB制板,大大增加了成本和開(kāi)發(fā)周期。 方案三: 采用宏晶科技有限公司的STC12C5A60S2增強(qiáng)型51單片機(jī)作為主控芯片。此芯片內(nèi)置ADC和SPI總線接口,且內(nèi)部時(shí)鐘不分頻,可達(dá)到1MPS。而且價(jià)格適中??紤]到此系統(tǒng)需要不用到ADC,從性能和價(jià)格上綜合考慮我們選擇方案一,即用STC89C52作為本系統(tǒng)的主控芯片。2.1.2 步進(jìn)電機(jī)驅(qū)動(dòng)方案方案1: 采用繼電器對(duì)電動(dòng)機(jī)的開(kāi)或關(guān)進(jìn)行控制,通過(guò)開(kāi)關(guān)的切換對(duì)小車(chē)的速度進(jìn)行調(diào)整.此方案的優(yōu)點(diǎn)是電路較為簡(jiǎn)單,缺點(diǎn)是繼電器的響應(yīng)時(shí)間慢,易損壞,壽命較短,可靠性不高。方案2:采用電阻網(wǎng)絡(luò)或數(shù)字電位器調(diào)節(jié)電動(dòng)機(jī)的分壓,從而達(dá)到分壓的目的。但電阻網(wǎng)絡(luò)只能實(shí)現(xiàn)有級(jí)調(diào)速,而數(shù)字電阻的元器件價(jià)格比較昂貴。更主要的問(wèn)題在于一般的電動(dòng)機(jī)電阻很小,但電流很大,分壓不僅會(huì)降低效率,而且實(shí)現(xiàn)很困難。方案3:采用ULN2003達(dá)林頓管電機(jī)驅(qū)動(dòng)芯片,ULN2003芯片是高耐壓、大電流達(dá)林頓陣列,由7組達(dá)林頓晶體管陣列和相應(yīng)的電阻網(wǎng)絡(luò)以及鉗位二極管網(wǎng)絡(luò)構(gòu)成,具有同時(shí)驅(qū)動(dòng)7組負(fù)載的能力,為單片雙極型大功率高速集成電路。功率電子電路大多要求具有大電流輸出能力,以便于驅(qū)動(dòng)各種類(lèi)型的負(fù)載。功率驅(qū)動(dòng)電路是功率電子設(shè)備輸出電路的一個(gè)重要組成部分。ULN2003芯片高壓大電流達(dá)林頓晶體管陣列產(chǎn)品屬于可控大功率器件。對(duì)步進(jìn)電機(jī)控制方便靈活。因此我們選用了方案3。2.1.3 顯示模塊方案方案一: 選擇主控為ST7920的帶字庫(kù)的LCD12864來(lái)顯示信息。12864是一款通用的液晶顯示屏,能夠顯示多數(shù)常用的漢字及ASCII碼,而且能夠繪制圖片,描點(diǎn)畫(huà)線,設(shè)計(jì)成比較理想的結(jié)果。方案二: 采用四個(gè)LED發(fā)光二極管顯示,其成本低,簡(jiǎn)單明了,容易顯示控制。綜合以上方案,我們選擇了經(jīng)濟(jì)實(shí)惠LED來(lái)作為速度級(jí)別顯示。3 硬件系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 3.1 步進(jìn)電機(jī)3.1.1 步進(jìn)電機(jī)概述步進(jìn)電機(jī)是一種能夠?qū)㈦娒}沖信號(hào)轉(zhuǎn)換成角位移或線位移的機(jī)電元件,它實(shí)際上是一種單相或多相同步電動(dòng)機(jī)。單相步進(jìn)電動(dòng)機(jī)有單路電脈沖驅(qū)動(dòng),輸出功率一般很小,其用途為微小功率驅(qū)動(dòng)。多相步進(jìn)電動(dòng)機(jī)有多相方波脈沖驅(qū)動(dòng),用途很廣。使用多相步進(jìn)電動(dòng)機(jī),單路電脈沖信號(hào)可先通過(guò)脈沖分配器轉(zhuǎn)換為多相脈沖信號(hào),在經(jīng)功率放大后分別送入步進(jìn)電動(dòng)機(jī)各相繞組。每輸入一個(gè)脈沖到脈沖分配器,電動(dòng)機(jī)各相的通電狀態(tài)就發(fā)生變化,轉(zhuǎn)子會(huì)轉(zhuǎn)過(guò)一定的角度(稱(chēng)為步距角)。正常情況下,步進(jìn)電機(jī)轉(zhuǎn)過(guò)的總角度和輸入的脈沖數(shù)成正比;連續(xù)輸入一定頻率的脈沖時(shí),電動(dòng)機(jī)的轉(zhuǎn)速與輸入脈沖的頻率保持嚴(yán)格的對(duì)應(yīng)關(guān)系,不受電壓波動(dòng)和負(fù)載變化的影響。由于步進(jìn)電動(dòng)機(jī)能直接接收數(shù)字量的輸入,所以特別適合于微機(jī)控制。3.1.2 步進(jìn)電機(jī)的特性步進(jìn)電機(jī)轉(zhuǎn)動(dòng)使用的是脈沖信號(hào),而脈沖是數(shù)字信號(hào),這恰是計(jì)算機(jī)所擅長(zhǎng)處理的數(shù)據(jù)類(lèi)型。從20世紀(jì)80年代開(kāi)始開(kāi)發(fā)出了專(zhuān)用的IC驅(qū)動(dòng)電路,今天,在打印機(jī)、磁盤(pán)器等的OA裝置的位置控制中,步進(jìn)電機(jī)都是不可缺少的組成部分之一??傮w上說(shuō),步進(jìn)電機(jī)有如下優(yōu)點(diǎn):1不需要反饋,控制簡(jiǎn)單。2與微機(jī)的連接、速度控制(啟停和反轉(zhuǎn))及驅(qū)動(dòng)電路的設(shè)計(jì)比較簡(jiǎn)單。3沒(méi)有角累積誤差。4停止時(shí)也可保持轉(zhuǎn)距。5沒(méi)有轉(zhuǎn)向器等機(jī)械部分,不需要保養(yǎng),故造價(jià)較低。6即使沒(méi)有傳感器,也能精確定位。7根椐給定的脈沖周期,能夠以任意速度轉(zhuǎn)動(dòng)。但是,這種電機(jī)也有自身的缺點(diǎn):1難以獲得較大的轉(zhuǎn)矩2.不宜用作高速轉(zhuǎn)動(dòng)3在體積重量方面沒(méi)有優(yōu)勢(shì),能源利用率低。4超過(guò)負(fù)載時(shí)會(huì)破壞同步,高速工作時(shí)會(huì)發(fā)出振動(dòng)和噪聲。3.1.3 步進(jìn)電機(jī)的種類(lèi)目前常用的步進(jìn)電機(jī)有三類(lèi):表1 步進(jìn)電機(jī)分類(lèi)類(lèi)別結(jié)構(gòu)步距力矩動(dòng)態(tài)性能反應(yīng)式步進(jìn)電動(dòng)機(jī)(VR)采用高導(dǎo)磁材料構(gòu)成齒狀轉(zhuǎn)子和定子小小較差永磁式步進(jìn)電動(dòng)機(jī)(PM)轉(zhuǎn)子采用多磁極圓筒形的永磁鐵,其外側(cè)配置齒狀定子吸引和排斥力產(chǎn)生轉(zhuǎn)動(dòng)大大好混合步進(jìn)電動(dòng)機(jī)(HB)這是PM和VR的復(fù)合產(chǎn)品,其轉(zhuǎn)子采用齒狀的稀土永磁材料,定子則為齒狀的突起結(jié)構(gòu)小大好3.1.4 永磁步進(jìn)電機(jī)的控制原理在本設(shè)計(jì)以常用的永磁式步進(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ī)共有四組線圈,四組線圈的一個(gè)端點(diǎn)連在一起引出,這樣一共有 5根引出線。要使用步進(jìn)電機(jī)轉(zhuǎn)動(dòng),只要輪流給各引出端通電即可。將 COM 端標(biāo)識(shí)為C,只要 AC、BC或/AC、/BC,輪流加電就能驅(qū)動(dòng)步進(jìn)電機(jī)運(yùn)轉(zhuǎn),加電的方式可以有多種,如果將 COM 端接正電源,那么只要用開(kāi)關(guān)元件(如三極管) ,將 A、B或/A、/B輪流接地。不難設(shè)計(jì)出控制電路,因其工作電壓為 12V,因此用一塊開(kāi)路輸出達(dá)林頓驅(qū)動(dòng)器(這里用ULN2003,關(guān)于ULN2003將在后面介紹)作為驅(qū)動(dòng),通過(guò) P1.0、 P1.3來(lái)控制各線圈的接通與切斷。開(kāi)機(jī)時(shí),P1.0、 P1.3均為高電平,依次將 P1.0、 P1.2 (或P1.1、 P1.3反向)切換為低電平即可驅(qū)動(dòng)步進(jìn)電機(jī)運(yùn)行。如果要改變電機(jī)的轉(zhuǎn)動(dòng)速度只要改變兩次接通之間的時(shí)間。改變轉(zhuǎn)速,只要改變 P1.0、 P1.2 (或P1.1、 P1.3反向)輪流變低電平的時(shí)間即可達(dá)到要求,因?yàn)椴粫?huì)影響到其他功能的實(shí)現(xiàn),這個(gè)時(shí)間可以用延時(shí)來(lái)實(shí)現(xiàn),。這里以定時(shí)的方式來(lái)實(shí)現(xiàn)。下面首先計(jì)算一下定時(shí)時(shí)間。 按要求,最低轉(zhuǎn)速為 20 轉(zhuǎn)/分,而上述步進(jìn)電機(jī)的步距角為 7.5,即每 48 個(gè)脈沖為 1 周,即在最低轉(zhuǎn)速時(shí),要求為960脈沖/分,相當(dāng)于 62.5ms/脈沖。而在最高轉(zhuǎn)速時(shí),要求為 100轉(zhuǎn)/分,即 48000 脈沖/分,相當(dāng)于 12.5ms/脈沖??梢粤谐鱿卤恚罕?-2 步進(jìn)電機(jī)轉(zhuǎn)速與定時(shí)器定時(shí)常數(shù)關(guān)系轉(zhuǎn)速單步時(shí)間(ms)TH0TL02062.51F02159.5238095229B62256.8181818233742354.347826093C592452.08333333448025504C02648.0769230852EC2746.296296359552844.642857145F499313.44086022CF9C9413.29787234D0209513.15789474D0A19613.02083333D1209712.88659794D19B9812.75510204D2149912.62626263D28B10012.5D30表中不僅計(jì)算出了 TH0和 TL0,而且還計(jì)算出了在這個(gè)定時(shí)常數(shù)下,真實(shí)的定時(shí)時(shí)間,可以根據(jù)這個(gè)計(jì)算值來(lái)估算真實(shí)速度與理論速度的誤差值。 表中 TH0 和TL0 是根據(jù)定時(shí)時(shí)間算出來(lái)的定時(shí)初值,這里用到的晶振是 12.000M。有了上述表格,程序就不難實(shí)現(xiàn)了,使用定時(shí)/計(jì)數(shù)器 T0為定時(shí)器,定時(shí)時(shí)間到后切換輸出腳即可。3.2 步進(jìn)電機(jī)控制系統(tǒng)的組成步進(jìn)電機(jī)控制系統(tǒng)共分為五個(gè)模塊:?jiǎn)纹瑱C(jī)最小系統(tǒng)模塊、鍵盤(pán)控制模塊、LED指示模塊、步進(jìn)電機(jī)驅(qū)動(dòng)模塊和電源模塊。1.單片機(jī)最小系統(tǒng)主要由復(fù)位電路和時(shí)鐘電路組成。復(fù)位電路為單片機(jī)系統(tǒng)提供可靠復(fù)位,使單片機(jī)能正常啟動(dòng)。時(shí)鐘電路采用外部時(shí)鐘方式,保證單片機(jī)個(gè)功能部件都是以時(shí)鐘頻率為基準(zhǔn),有條不紊地一拍一拍地工作。2.鍵盤(pán)控制模塊包括方向控制鍵、加速鍵和減速鍵、啟停鍵,分別與單片機(jī)的P3.4、p3.5、p3.6和P3.7相連。實(shí)現(xiàn)對(duì)步進(jìn)電機(jī)的控制。3.四個(gè)LED發(fā)光二極管顯示步進(jìn)電機(jī)的速度等級(jí)。分成四個(gè)等級(jí),四個(gè)LED全亮速度最快,亮一個(gè)速度最慢。4.步進(jìn)電機(jī)驅(qū)動(dòng)模塊選用七個(gè)NPN達(dá)林頓連接晶體管ULN2003為步進(jìn)電機(jī)提供脈沖信號(hào),驅(qū)動(dòng)步進(jìn)電機(jī)轉(zhuǎn)動(dòng)。該模塊與單片機(jī)的P1.0P1.3相連。5.電源模塊3接5號(hào)電池4.5V分別供給驅(qū)動(dòng)模塊和單片機(jī)模塊。3.3 主控制模塊 單片機(jī)最小系統(tǒng)包括單片機(jī)、復(fù)位電路、時(shí)鐘電路構(gòu)成。STC89C52 單片機(jī)的工作電壓范圍:4V-5.5V,所以通常給單片機(jī)外界5V直流電源。連接方式為單片機(jī)中的40腳VCC接正極5V,而20腳VSS接電源地端。復(fù)位電路就是確定單片機(jī)的工作起始狀態(tài),完成單片機(jī)的啟動(dòng)過(guò)程。單片機(jī)接通電源時(shí)產(chǎn)生復(fù)位信號(hào),完成單片機(jī)啟動(dòng)確定單片機(jī)起始工作狀態(tài)。當(dāng)單片機(jī)系統(tǒng)在運(yùn)行中,受到外界環(huán)境干擾出現(xiàn)程序跑飛的時(shí)候,按下復(fù)位按鈕內(nèi)部的程序自動(dòng)從頭開(kāi)始執(zhí)行。一般有上電自動(dòng)復(fù)位和外部按鍵手動(dòng)復(fù)位,單片機(jī)在時(shí)鐘電路工作以后,在RESET端持續(xù)給出2個(gè)機(jī)器周期的高電平時(shí)就可以完成復(fù)位操作。本設(shè)計(jì)采用的是外部手動(dòng)按鍵復(fù)位電路,需要接上上拉電阻來(lái)提高輸出高電平的值。 時(shí)鐘電路好比單片機(jī)的心臟,它控制著單片機(jī)的工作節(jié)奏。時(shí)鐘電路就是振蕩電路,是向單片機(jī)提供一個(gè)正弦波信號(hào)作為基準(zhǔn),決定單片機(jī)的執(zhí)行速度。XTAL1和XTAL2分別為反向放大器的輸入和輸出,該反向放大器可以配置為片內(nèi)振蕩器。如采用外部時(shí)鐘源驅(qū)動(dòng)器件,XTAL2應(yīng)不接。因?yàn)橐粋€(gè)機(jī)器周期含有6個(gè)狀態(tài)周期,而每個(gè)狀態(tài)周期為2個(gè)振蕩周期,所以一個(gè)機(jī)器周期共有12個(gè)振蕩周期,如果外接石英晶體振蕩器的振蕩頻率為12MHZ,一個(gè)振蕩周期為1/12us。 主控制最小系統(tǒng)電路如圖2所示。 圖2 單片主控電路3.3.1 STC89C52單片機(jī)簡(jiǎn)介 STC89C52是一種低功耗、高性能CMOS8位微控制器,具有8K 在系統(tǒng)可編程Flash 存儲(chǔ)器。使用高密度非易失性存儲(chǔ)器技術(shù)制造,與工業(yè)80C51 產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲(chǔ)器在系統(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 位I/O 口線,看門(mén)狗定時(shí)器,2 個(gè)數(shù)據(jù)指針,三個(gè)16 位定時(shí)器/計(jì)數(shù)器,一個(gè)6向量2級(jí)中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時(shí)鐘電路。另外,STC89C52 可降至0Hz 靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止。這一模塊以單片機(jī)為中心把程序代碼燒進(jìn)去然后外圍接上復(fù)位電路、振蕩電路、鍵盤(pán)控制、LED顯示電路、報(bào)警電路等子模塊。3.3.2 單片機(jī)的引腳功能描述 下面對(duì)AT89C52各引腳的功能進(jìn)行較為詳細(xì)的介紹:1)電源引腳Vcc和Vss Vcc(40腳):電源端為+5V Vss(20腳):接地端。 2)時(shí)鐘電路引腳XTAL1和XTAL2XTAL2(18腳):接外部晶體和微調(diào)電容的一端。在單片機(jī)內(nèi)部它是振蕩電路反向放大器的輸出端,振蕩電路的頻率就是晶體固有頻率。若需采用外部時(shí)針電路時(shí),該引腳輸入外時(shí)鐘脈沖。要檢查89C52的振蕩電路是否正常工作,可用示波器查看XTAL2端是否有脈沖信號(hào)輸出。XTAL1(19腳):接外部晶體和微調(diào)電容的另一端。在片內(nèi),它是振蕩電路反向放大器的輸入端。在采用外部時(shí)鐘時(shí),該引腳必須接地。 3)控制信號(hào)腳 RST ALE PSEN 和EA。 RST(9腳):RST是復(fù)位信號(hào)輸入端,高電平有效。在此輸入端保持兩個(gè)機(jī)器周期(24個(gè)時(shí)鐘振蕩周期)的高電平時(shí),就可以完成復(fù)位操作。ALE/PROG(30引腳):地址鎖存允許信號(hào)端。當(dāng)AT89C52上電正常工作后,ALE引腳不斷向外輸出正脈沖信號(hào)。此頻率為振蕩器頻率fosc的1/6,當(dāng)CPU訪問(wèn)片外存儲(chǔ)器時(shí),ALE輸出信號(hào)作為鎖存低8位地址的控制信號(hào)。在CPU訪問(wèn)片外數(shù)據(jù)存儲(chǔ)時(shí),每取值一次(一個(gè)機(jī)器周期)會(huì)丟失一個(gè)脈沖。平時(shí)不訪問(wèn)片外存儲(chǔ)時(shí),ALE端也以1/6的振蕩頻率固定輸出正脈沖,因而ALE信號(hào)可以用作對(duì)外輸出時(shí)鐘或定時(shí)信號(hào)。如果你想看一下AT89C52芯片的好壞,可用示波器查看ALE端是否有脈沖信號(hào)輸出,如有脈沖信號(hào)輸出,則AT89C52基本上是好的。ALE的負(fù)載驅(qū)動(dòng)能力為8個(gè)LS型TTL(低功耗高速TTL)。 PSEN(29腳);程序存儲(chǔ)允許輸出信號(hào)引腳,在訪問(wèn)片外程序存儲(chǔ)器時(shí),此端定時(shí)輸出負(fù)脈沖作為讀片外存儲(chǔ)器的選通信號(hào)。此引腳接ERROM的OE端。PSEN端有效,即允許讀出ERROM/ROM中的指令碼。CPU在從外部ERROM/ROM取指令期間,每個(gè)周期PSEN兩次有效。不過(guò),在訪問(wèn)片外RAM時(shí),要少產(chǎn)生兩次PSEN負(fù)脈沖信號(hào)。要檢查一個(gè)AT89C52小系統(tǒng)上電后CPU能否正常到ERROM/ROM中讀取指令碼,也可用于示波器看PSEN端有無(wú)脈沖輸出。如有,說(shuō)明基本上工作正常。EA/VPP(31腳):外部程序存儲(chǔ)器地址允許輸入端/固化編程電壓輸入端。當(dāng)EA引腳接高電平時(shí),CPU只訪問(wèn)片內(nèi)ERROM/ROM并執(zhí)行內(nèi)部程序存儲(chǔ)器中的指令。但在PC(程序計(jì)數(shù)器)的值超過(guò)OFFFH(對(duì)8751/8051為4k)時(shí),將自動(dòng)轉(zhuǎn)向執(zhí)行片外存儲(chǔ)器的程序。當(dāng)出入信號(hào)EA引腳接低電平(接地)時(shí),CPU只訪問(wèn)外部ERROM/ROM并執(zhí)行外部程序存儲(chǔ)器中的指令,而不管是否有片內(nèi)程序存儲(chǔ)器。對(duì)于無(wú)芯片內(nèi)的ROM的8031或8032,須外擴(kuò)ERROM,此時(shí)必須將EA引腳接地。如果使用有片內(nèi)ROM的AT89C52,外擴(kuò)ERROM也是可以的,但也要使EA接地。4)I/O(輸入/輸出端口,P0,P1,P2,P3)P0口:P0口是一個(gè)漏極開(kāi)路的8位準(zhǔn)雙向I/O端口。P1口:8位準(zhǔn)雙向I/O端口。P2口:即可以做地址總線輸出地址高8位,也可以做普通I/O用,(此時(shí)為準(zhǔn)雙向口)。P3口:雙功能口,即可以做普通I/O口用(此時(shí)為準(zhǔn)向口,也可以按每位定義實(shí)現(xiàn)第二功能操作)。見(jiàn)表1。表1 P3口的第二功能表引腳第二功能P3.0RXD (串行輸入口)P3.1TXD (串行輸出口)P3.2INT0(外部中斷0)P3.3INT1(外部中斷1)P3.4T0(定時(shí)器0外部中斷)P3.5T1(定時(shí)器1外部中斷)P3.6WR(外部存儲(chǔ)器寫(xiě)選通)P3.7RD(外部存儲(chǔ)器讀寫(xiě)通)3.3.3 單片機(jī)的時(shí)鐘電路與復(fù)位電路設(shè)計(jì) 本系統(tǒng)采用stc系統(tǒng)列單片機(jī),相比其他系列單片機(jī)具有很多優(yōu)點(diǎn)。本系統(tǒng)采用內(nèi)部方式的時(shí)鐘電路和加電自復(fù)位的復(fù)位電路,如下圖3圖4所示:圖3 時(shí)鐘電路圖4 復(fù)位電路由于單片機(jī)P0口內(nèi)部不含上拉電阻,為高阻態(tài),不能正常地輸出高/低電平,因而該組I/O口在使用時(shí)必須外接上拉電阻R6。3.4 電源電路設(shè)計(jì) 供電電源采用3接1.5V干電池給傳感器,單片機(jī)供電。電路如圖5所示。P2為電源接線端,SW1為電源總開(kāi)關(guān)。D4為電源指示燈。圖5 電源電路 3.5 步進(jìn)電機(jī)驅(qū)動(dòng)電路 步進(jìn)電機(jī)采用ULN2003驅(qū)動(dòng),驅(qū)動(dòng)原理圖如圖6。圖6 蜂鳴器報(bào)警電路圖 3.6 按鍵電路系統(tǒng)采用了4個(gè),一個(gè)啟動(dòng)鍵,一個(gè)停止鍵,一個(gè)速度調(diào)節(jié)鍵,一個(gè)正反轉(zhuǎn)切換鍵。電路如圖7。圖7 按鍵電路3.7 速度等級(jí)指示燈電路 速度等級(jí)采用LED指示燈指示。接口電路如圖8所示圖8 指示電路4 軟件系統(tǒng)的設(shè)計(jì)與系統(tǒng)功能實(shí)現(xiàn)4.1 軟件設(shè)計(jì)原則及編程思路應(yīng)用系統(tǒng)中的應(yīng)用軟件是根據(jù)系統(tǒng)功能要求設(shè)計(jì)的,應(yīng)穩(wěn)定正確的實(shí)現(xiàn)系統(tǒng)的各種功能。在本系統(tǒng)中,軟件設(shè)計(jì)要求做到以下幾點(diǎn):1. 軟件結(jié)構(gòu)清晰,簡(jiǎn)捷,流程合理。2. 各功能程序?qū)崿F(xiàn)模塊化。這樣,即便于調(diào)試,鏈接,又便于移植,修改。3. 程序存儲(chǔ)區(qū),數(shù)據(jù)存儲(chǔ)區(qū)要合理規(guī)劃,既能節(jié)約內(nèi)存容量,又使操作方便。4. 運(yùn)行狀態(tài)實(shí)現(xiàn)標(biāo)志化管理。各個(gè)功能程序運(yùn)行狀態(tài),運(yùn)行結(jié)果以及運(yùn)行要求都要設(shè)置狀態(tài)標(biāo)志以便查詢(xún),程序轉(zhuǎn)移,控制都可通過(guò)狀態(tài)標(biāo)志條件來(lái)控制。4.2 程序設(shè)計(jì)前期準(zhǔn)備4.2.1 程序設(shè)計(jì)平臺(tái)考慮到程序的易讀性和簡(jiǎn)練,程序設(shè)計(jì)采用C語(yǔ)言。程序編輯平臺(tái)采用Keil。圖3-1 Keil軟件界面4.2.2 程序設(shè)計(jì)思路步進(jìn)電機(jī)控制系統(tǒng)的軟件需要同時(shí)完成讀取鍵盤(pán)、處理鍵盤(pán)、控制步進(jìn)電機(jī)轉(zhuǎn)動(dòng)、控制數(shù)碼管動(dòng)態(tài)顯示等任務(wù),這就必須通過(guò)中斷技術(shù)來(lái)實(shí)現(xiàn)。在本設(shè)計(jì)中,主程序采用查詢(xún)方式掃描鍵盤(pán)端口,檢測(cè)按鍵動(dòng)作是否發(fā)生,若有按鍵動(dòng)作則處理鍵盤(pán),根據(jù)按鍵值修改相應(yīng)參數(shù)值,實(shí)現(xiàn)鍵盤(pán)的實(shí)時(shí)處理功能。定時(shí)器0中斷服務(wù)程序控制步進(jìn)電機(jī)的轉(zhuǎn)動(dòng):根據(jù)當(dāng)前顯示的速度進(jìn)行鍵盤(pán)手動(dòng)改變T0定時(shí)時(shí)間常數(shù),設(shè)置TH0和TL0的值,達(dá)到對(duì)轉(zhuǎn)速精確控制的目的;根據(jù)轉(zhuǎn)動(dòng)方向控制位的值,控制脈沖信號(hào)循環(huán)移動(dòng)的方向,達(dá)到對(duì)轉(zhuǎn)動(dòng)方向控制的目的。說(shuō)明如下:1.單片機(jī)接受鍵盤(pán)信息,改變系統(tǒng)內(nèi)部變量值。2.單片機(jī)輸出脈沖信號(hào),控制步進(jìn)電機(jī)轉(zhuǎn)動(dòng)。3.單片機(jī)根據(jù)步進(jìn)電機(jī)實(shí)際轉(zhuǎn)動(dòng)值,控制數(shù)碼管顯示。4.3 程序流程圖4.3.1 主程序流程圖步進(jìn)電機(jī)控制系統(tǒng)的主程序在對(duì)整個(gè)系統(tǒng)初始化后主要完成讀鍵盤(pán)和處理鍵盤(pán)的功能,如圖3-2所示:圖3-2 步進(jìn)電機(jī)控制系統(tǒng)主程序流程圖系統(tǒng)上電復(fù)位后,先調(diào)用初始化子程序,對(duì)步進(jìn)電機(jī)各端口,相關(guān)參數(shù)進(jìn)行初始化,設(shè)置T0工作方式控制時(shí)間常數(shù)。初始化完成后,步進(jìn)電機(jī)處于停止?fàn)顟B(tài),T0定時(shí)器處于關(guān)閉狀態(tài)。然后循環(huán)調(diào)用讀鍵盤(pán)子程序和鍵盤(pán)處理子程序,等待中斷,以便實(shí)現(xiàn)步進(jìn)電機(jī)轉(zhuǎn)動(dòng)控制。4.3.2 讀鍵盤(pán)子程序流程圖首先初始化實(shí)際鍵值參數(shù)為0FH,然后掃描P2口,與初始值比較,相等則說(shuō)明沒(méi)有鍵按下,不相等則軟件消抖,以便確認(rèn)是否真的有鍵按下。延時(shí)10ms后再次掃描P2口,第二次與初始值比較,若相等則表明前一次比較不相等是由抖動(dòng)產(chǎn)生;如果相等則表明確實(shí)有鍵按下。執(zhí)行鍵盤(pán)之程序里的指令,將相應(yīng)的變量值改變,為鍵盤(pán)處理子程序做準(zhǔn)備。啟動(dòng)否是否有鍵按下處理鍵盤(pán)子程序是圖3-3 掃描鍵盤(pán)字程序流程圖4.3.3 鍵盤(pán)處理子程序流程圖按鍵處理子程序流程圖如圖3-3所示:初始化變量開(kāi)始P2.3是否按下P2.2是否按下P2.0是否按下P2.1是否按下退出TR0取反,通過(guò)啟停T0啟停步進(jìn)電機(jī)取反方向控制為,改變電機(jī)轉(zhuǎn)動(dòng)方向修改速度參數(shù)值,減速修改速度參數(shù)值,加速 是是是是圖3-3鍵盤(pán)處理子程序流程圖步進(jìn)電機(jī)的啟??刂仆ㄟ^(guò)啟停定時(shí)器T0來(lái)實(shí)現(xiàn),因?yàn)槎〞r(shí)器T0控制著脈沖信號(hào)的輸出,關(guān)閉定時(shí)器T0也就阻止了脈沖信號(hào)的輸出。4.3.4 電機(jī)控制中斷程序流程圖定時(shí)器中斷0服務(wù)程序流程圖如圖3-4所示: 圖3-4 定時(shí)器中斷0服務(wù)程序流程圖定時(shí)器中斷0服務(wù)程序的中斷時(shí)間由當(dāng)前的轉(zhuǎn)速?zèng)Q定。進(jìn)入中斷程序后,首先要保護(hù)現(xiàn)場(chǎng),再根據(jù)當(dāng)前值設(shè)置TH0和TL0的值。然后判斷轉(zhuǎn)動(dòng)方向控制位的值,如果是0則控制脈沖信號(hào)P1.0、P1.2輸出,如果是1則控制脈沖信號(hào)P1.1、P1.3輸出。最后恢復(fù)現(xiàn)場(chǎng),返回,等待下次中斷。通過(guò)用當(dāng)前轉(zhuǎn)速控制中斷時(shí)間,控制了脈沖的輸出頻率,也就到達(dá)了控制步進(jìn)電機(jī)轉(zhuǎn)動(dòng)速度的目的;通過(guò)檢測(cè)方向控制位的電平,選擇脈沖信號(hào)P1.0、P1.2與P1.1、P1.3間的切換,控制了步進(jìn)電機(jī)各引出端的接通順序,也就到實(shí)現(xiàn)了步進(jìn)電機(jī)轉(zhuǎn)動(dòng)方向的控制。各模塊控制的詳細(xì)程序附于最后。26 5 調(diào)試與改進(jìn)5.1 調(diào)試與改進(jìn)在系統(tǒng)完成后測(cè)試系統(tǒng),檢查硬件和軟件是否能夠協(xié)調(diào)運(yùn)行,并對(duì)系統(tǒng)出現(xiàn)的情況進(jìn)行分析,看是否能夠達(dá)到系統(tǒng)創(chuàng)作之初所設(shè)想的效果,如達(dá)不到則重新修改系統(tǒng)的硬件結(jié)構(gòu)或者修改軟件的程序部分,直到達(dá)到設(shè)計(jì)需要為止。本系統(tǒng)的設(shè)計(jì)思路為:首先從整體上劃分出各功能模塊,然后硬件和軟件同時(shí)進(jìn)行依次完成各個(gè)功能模塊,最后將各個(gè)模塊聯(lián)系起來(lái)完成整個(gè)系統(tǒng)。在硬件調(diào)試的過(guò)程中,遇到了很多問(wèn)題。主要有:1. 確定步進(jìn)電機(jī)的使用方法,和控制模式。此處尤為重要,這是整個(gè)系統(tǒng)的基礎(chǔ),也是確定軟件是否能控制步進(jìn)電機(jī)思路的開(kāi)端。2.鍵盤(pán)設(shè)計(jì)完成后,在多次運(yùn)行過(guò)程中發(fā)現(xiàn)按鍵是否按下難以直觀準(zhǔn)確判斷。軟件測(cè)試的時(shí)候也有些問(wèn)題,主要有:1.軟件去抖方式,和時(shí)間的控制。2.控制步進(jìn)電機(jī)轉(zhuǎn)動(dòng)的程序段完成后,調(diào)試發(fā)現(xiàn)對(duì)步進(jìn)電機(jī)速度的控制范圍過(guò)小,查閱資料后發(fā)現(xiàn)設(shè)計(jì)思路不太合理,原先的設(shè)計(jì)思路是用主程序控制步進(jìn)電機(jī)轉(zhuǎn)動(dòng),采用延時(shí)方式控制步進(jìn)電機(jī)速度,由定時(shí)器處理鍵盤(pán);改進(jìn)程序,主程序用來(lái)處理鍵盤(pán),由定時(shí)器控制步進(jìn)電機(jī)轉(zhuǎn)動(dòng),步進(jìn)電機(jī)轉(zhuǎn)動(dòng)速度由定時(shí)器定時(shí)時(shí)間決定。問(wèn)題得到解決,不僅擴(kuò)大了步進(jìn)電機(jī)速度的控制范圍,也使得單片機(jī)對(duì)步進(jìn)電機(jī)速度的控制更加精確。5.2 運(yùn)行結(jié)果連接好硬件電路,上電復(fù)位,程序開(kāi)始運(yùn)行。1.此時(shí)步進(jìn)電機(jī)不轉(zhuǎn)動(dòng),LED不顯示;按下啟停鍵,步進(jìn)電機(jī)開(kāi)始轉(zhuǎn)動(dòng),LED數(shù)碼管顯示數(shù)值當(dāng)前數(shù)值,即當(dāng)前步進(jìn)電機(jī)的轉(zhuǎn)速為25轉(zhuǎn)/分;2.此時(shí)每按下加速鍵一次,LED亮的個(gè)數(shù)值加1,步進(jìn)電機(jī)轉(zhuǎn)動(dòng)速度相應(yīng)增加;此時(shí)每按下減速鍵一次,LED亮的個(gè)數(shù)值減1,步進(jìn)電機(jī)轉(zhuǎn)動(dòng)速度相應(yīng)減少;此時(shí)若按下方向控制鍵,步進(jìn)電機(jī)立即向相反方向轉(zhuǎn)動(dòng),轉(zhuǎn)動(dòng)速度保持不變???結(jié)經(jīng)過(guò)老師耐心細(xì)致的指導(dǎo),經(jīng)過(guò)近一個(gè)月的努力,本次畢業(yè)設(shè)計(jì)課題步進(jìn)電機(jī)控制系統(tǒng)告一段落。步進(jìn)電機(jī)控制系統(tǒng)主要分為硬件設(shè)計(jì)和軟件設(shè)計(jì)兩個(gè)部分:硬件設(shè)計(jì)主要是把單片機(jī)最小系統(tǒng)、鍵盤(pán)控制模塊、步進(jìn)電機(jī)驅(qū)動(dòng)模塊、數(shù)碼顯示模塊、測(cè)速模塊各個(gè)硬件功能模塊及其它元件合理搭配并連接起來(lái)使其能夠?yàn)檐浖\(yùn)行提供一個(gè)硬件平臺(tái)。軟件設(shè)計(jì)主要是通過(guò)編寫(xiě)程序代碼,實(shí)現(xiàn)對(duì)整個(gè)系統(tǒng)的控制。在系統(tǒng)上電復(fù)位后程序自動(dòng)運(yùn)行,通過(guò)接受外部的鍵盤(pán)操作修改系統(tǒng)參數(shù)值,控制步進(jìn)電機(jī)的啟停,以及轉(zhuǎn)速的增減和轉(zhuǎn)動(dòng)方向的改變;定時(shí)器
溫馨提示
- 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ù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 新一代大學(xué)英語(yǔ)(第二版)綜合教程1-U3-教師用書(shū) Unit 3 Culture Counts
- 家具制造業(yè)原材料價(jià)格波動(dòng)應(yīng)對(duì)2025年產(chǎn)業(yè)鏈整合策略報(bào)告
- 2025年醫(yī)藥流通企業(yè)供應(yīng)鏈優(yōu)化與成本控制創(chuàng)新策略報(bào)告
- 特色農(nóng)產(chǎn)品冷鏈物流中心建設(shè)對(duì)農(nóng)村經(jīng)濟(jì)發(fā)展的推動(dòng)作用報(bào)告
- 新能源商用車(chē)型號(hào)2025年市場(chǎng)需求與電動(dòng)物流車(chē)售后服務(wù)滿意度研究報(bào)告
- 磅房安全培訓(xùn)試題及答案
- 傳統(tǒng)食品工業(yè)化生產(chǎn)2025年智能檢測(cè)技術(shù)改造與創(chuàng)新案例報(bào)告
- 安全生產(chǎn)管理知識(shí)試題及答案
- 快時(shí)尚行業(yè)在2025年時(shí)尚零售市場(chǎng)中的品牌合作與跨界營(yíng)銷(xiāo)報(bào)告
- 2025年土壤污染修復(fù)技術(shù)土壤修復(fù)藥劑市場(chǎng)發(fā)展趨勢(shì)報(bào)告
- 小浣熊的課件
- 2024北京西城區(qū)五年級(jí)(下)期末語(yǔ)文試題及答案
- 屋頂樹(shù)脂瓦安裝合同協(xié)議
- 湖南能源集團(tuán)有限公司招聘筆試題庫(kù)2025
- 美容皮膚科試題及答案
- 2025年質(zhì)量員(市政工程)專(zhuān)業(yè)技能練習(xí)題庫(kù)及答案(完整版)
- 客戶(hù)投訴管理和考核辦法
- 譫妄狀態(tài)患者的護(hù)理常規(guī)
- DB3402-T 78-2024 高標(biāo)準(zhǔn)農(nóng)田數(shù)字化建設(shè)規(guī)范
- 2025年湖北省中考?xì)v史模擬試卷附答案
- 高血壓腦出血治療指南
評(píng)論
0/150
提交評(píng)論