DC-5V型步進(jìn)電機(jī)控制系統(tǒng)設(shè)計(jì)_第1頁(yè)
DC-5V型步進(jìn)電機(jī)控制系統(tǒng)設(shè)計(jì)_第2頁(yè)
DC-5V型步進(jìn)電機(jī)控制系統(tǒng)設(shè)計(jì)_第3頁(yè)
DC-5V型步進(jìn)電機(jī)控制系統(tǒng)設(shè)計(jì)_第4頁(yè)
DC-5V型步進(jìn)電機(jī)控制系統(tǒng)設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩32頁(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)介

1、 屆 別 2015 屆 學(xué) 號(hào) 201312240345 畢業(yè)設(shè)計(jì) DC-5V型步進(jìn)電機(jī)控制系統(tǒng)設(shè)計(jì) 姓 名 系 別 電子信息與電氣工程學(xué)院專(zhuān) 業(yè) 電氣工程及其自動(dòng)化 導(dǎo) 師 姓 名、職 稱(chēng) 完 成 時(shí) 間 2015年4月 摘要 隨著微電子和計(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ī)等組成

2、。采用單片機(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)鍵字:

3、STC89C52、步進(jìn)電機(jī)、ULN2003驅(qū)動(dòng) ABSTRACT With the development of microelectronics and computer echnology, the growing demand for the stepper motor, which is widely used in printers, electric toys and other consumer products as well as CNC machine tools, industrial robots, medical equipment and other mechani

4、cal and electrical products in its various areas of the national economy have applications. Research stepper motor control system to improve the control accuracy and response speed, and so has the importance of energy conservation. Stepper motor is an electrical pulse signal can be converted into an

5、gular displacement or linear displacement of electromechanical components, stepper motor control system consists of stepper controllers, power amplifiers and stepper motors and other components. SCM control, using software instead of the step controller, making the line of simple, low cost, reliabil

6、ity is greatly increased. Software programming flexibility to produce different types of stepper motor excitation sequences to control a variety of stepper motor operation mode.This design is the use of microprocessor controlled stepper motor STC89C52 by the timing of the square wave output IO port

7、stepper motor as a control signal, the signal through ULN2003 chip stepper motor drive; at the same time, with four buttons to the state of the motor control, and with 4 LED light-emitting diode display motor speed.System consists of hardware and software design of two parts. Among them, including t

8、he minimum system hardware design STC89C52 microcontroller, power module, keyboard control module, stepper motor drive (integrated Darlington ULN2003) module, LED indicator modules. In the Keil software using editing software environment.Keywords: STC89C52, stepper motor, ULN2003 driver1 緒論1.1 課題的背景

9、當(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)速的目

10、的。步進(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è)

11、計(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)

12、的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ì)

13、小車(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ù)載

14、。功率驅(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ī)是一種能

15、夠?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ù)字量的輸

16、入,所以特別適合于微機(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)矩

17、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是DC-5V型步進(jìn)電機(jī)的外

18、形圖,圖2-2是該電機(jī)的接線圖。 圖2-1 DC-5V型步進(jìn)電機(jī)外形圖 圖2-2 DC-5V型步進(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

19、.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/

20、脈沖。而在最高轉(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.

21、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ù)位

22、電路和時(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)模塊和

23、單片機(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è)

24、計(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 單片主控電路 STC89C52是一種低功耗、高性能

25、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)邏輯操作,

26、支持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)警電路等子模塊。 下面對(duì)AT89C52各引腳的功能進(jìn)行較為詳細(xì)的介紹:1)電源引腳Vcc和Vss Vcc(40腳):電源端為+5V Vss(20腳):接地端。 2)時(shí)鐘電路引腳XTAL1和XTAL2XTAL2(18腳):接外部晶體和微調(diào)電容的一端。在單片機(jī)內(nèi)部它是振蕩電路反向放大器的輸出端,振蕩電路

27、的頻率就是晶體固有頻率。若需采用外部時(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)。此頻率為振蕩器頻

28、率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的

29、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ǔ)器

30、的程序。當(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)第二

31、功能操作)。見(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ě)通)本系統(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ì)

32、 供電電源采用3接1.5V干電池給傳感器,單片機(jī)供電。電路如圖5所示。P2為電源接線端,SW1為電源總開(kāi)關(guān)。D4為電源指示燈。圖5 電源電路 3.5 步進(jìn)電機(jī)驅(qū)動(dòng)電路3.5.1 ULN2003芯片介紹ULN是集成達(dá)林頓管IC,內(nèi)部還集成了一個(gè)消線圈反電動(dòng)勢(shì)的二極管,可用來(lái)驅(qū)動(dòng)繼電器。它是雙列16腳封裝,NPN晶體管矩陣,最大驅(qū)動(dòng)電壓=50V,電流=500mA,輸入電壓=5V,適用于TTL COMS,由達(dá)林頓管組成驅(qū)動(dòng)電路。 ULN是集成達(dá)林頓管IC,內(nèi)部還集成了一個(gè)消線圈反電動(dòng)勢(shì)的二極管,它的輸出端允許通過(guò)電流為200mA,飽和壓降VCE 約1V左右,耐壓BVCEO 約為36V。用戶(hù)輸出口的外

33、接負(fù)載可根據(jù)以上參數(shù)估算。采用集電極開(kāi)路輸出,輸出電流大,故可直接驅(qū)動(dòng)繼電器或固體繼電器,也可直接驅(qū)動(dòng)低壓燈泡。通常單片機(jī)驅(qū)動(dòng)ULN2003時(shí),上拉2K的電阻較為合適,同時(shí),COM引腳應(yīng)該懸空或接電源。ULN2003是一個(gè)非門(mén)電路,包含7個(gè)單元,但獨(dú)每個(gè)單元驅(qū)動(dòng)電流最大可達(dá)350mA.資料的最后有引用電路,9腳可以懸空。比如1腳輸入,16腳輸出,你的負(fù)載接在VCC與16腳之間,不用9腳。3.5.2 ULN2003作用ULN2003是大電流驅(qū)動(dòng)陣列,多用于單片機(jī)、智能儀表、PLC、數(shù)字量輸出卡等控制電路中??芍苯域?qū)動(dòng)繼電器等負(fù)載。輸入5VTTL電平,輸出可達(dá)500mA/50V。ULN2003是高

34、耐壓、大電流達(dá)林頓陳列,由七個(gè)硅NPN達(dá)林頓管組成。 該電路的特點(diǎn)如下: ULN2003的每一對(duì)達(dá)林頓都串聯(lián)一個(gè)2.7K的基極電阻,在5V的工作電壓下它能與TTL和CMOS電路 直接相連,可以直接處理原先需要標(biāo)準(zhǔn)邏輯緩沖器。ULN2003 是高壓大電流達(dá)林頓晶體管陣列系列產(chǎn)品,具有電流增益高、工作電壓高、溫度范圍寬、帶負(fù)載能力強(qiáng)等特點(diǎn),適應(yīng)于各類(lèi)要求高速大功率驅(qū)動(dòng)的系統(tǒng)。 3.5.3 驅(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 速度

35、等級(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

36、.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)的方

37、向,達(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.1

38、 .1主程序/*主程序*/void main()unsigned char i;while(1)key();if(key_can = 4)flag_shudu = 0;switch(flag_shudu)case 0: flag_shudu_value = 500; P2 = 0xf0; break;/速度1 最快case 1: flag_shudu_value = 800; P2 = 0xf9; break;case 2: flag_shudu_value = 1000; P2 = 0xfc; break;case 3: flag_shudu_value = 1500;P2 = 0xfe;

39、break;/速度4 最慢if(key_can = 4) /加速if(flag_shudu = 0)flag_shudu = 4;flag_shudu -;switch(flag_shudu)case 0: flag_shudu_value = 500; P2 = 0xf0; break;/速度1 最快case 1: flag_shudu_value = 800; P2 = 0xf8; break;case 2: flag_shudu_value = 1000; P2 = 0xfc; break;case 3: flag_shudu_value = 1500;P2 = 0xfe; break;

40、/速度4 最慢if(flag_start = 1)for(i=0;i4;i+) /4相if(flag_z_f = 0)P1=zhengi; /電機(jī)正轉(zhuǎn)else P1=fani; /電機(jī)反轉(zhuǎn)Delay(flag_shudu_value); /改變這個(gè)參數(shù)可以調(diào)整電機(jī)轉(zhuǎn)速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)處理

41、子程序做準(zhǔn)備。啟動(dòng)否是否有鍵按下處理鍵盤(pán)子程序是圖3-3 掃描鍵盤(pán)字程序流程圖4.3.2 .1 讀鍵盤(pán)子程序if(P3 & 0xf0) != 0xf0) & (key_new = 1)/確認(rèn)是按鍵按下key_new = 0;switch(P3 & 0xf0)case 0xe0: key_can = 1; break; /得到按鍵值case 0xd0: key_can = 2; break; /得到按鍵值case 0xb0: key_can = 3; break; /得到按鍵值case 0x70: key_can = 4; break; /得到按鍵值4.3.3 鍵盤(pán)處理子程序流程圖按鍵處理子程序

42、流程圖如圖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.3.1 鍵盤(pán)處理子程序/*獨(dú)立按鍵程序*/void key()static uchar key_new;key_can = 20;/按鍵值還原if(P3 & 0xf0) != 0xf0)/按鍵按下Delay(5);/按鍵消

43、抖動(dòng)if(P3 & 0xf0) != 0xf0) & (key_new = 1)/確認(rèn)是按鍵按下key_new = 0;switch(P3 & 0xf0)case 0xe0: key_can = 1; break; /得到按鍵值case 0xd0: key_can = 2; break; /得到按鍵值case 0xb0: key_can = 3; break; /得到按鍵值case 0x70: key_can = 4; break; /得到按鍵值else /按鍵松開(kāi)key_new = 1;4.3.4 電機(jī)控制中斷程序流程圖定時(shí)器中斷0服務(wù)程序流程圖如圖3-4所示: 圖3-4 定時(shí)器中斷0服務(wù)程

44、序流程圖定時(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)方向的控制。 4.3.4 .1 電機(jī)控制中斷程序void Delay(unsigned i

45、nt i)/延時(shí) while(-i);uchar key_can;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è)

46、計(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不顯示;

47、按下啟停鍵,步進(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)行提

48、供一個(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í)器T0根據(jù)系統(tǒng)參數(shù)控制步進(jìn)電機(jī)的轉(zhuǎn)動(dòng);實(shí)現(xiàn)步進(jìn)電機(jī)轉(zhuǎn)動(dòng)速度的動(dòng)態(tài)顯示。本系統(tǒng)具有相當(dāng)?shù)膶?shí)用功能,兩片單片機(jī)分別實(shí)現(xiàn)步進(jìn)電機(jī)控制和測(cè)速,能基本符合實(shí)際應(yīng)用需求,本次設(shè)計(jì)由于設(shè)計(jì)時(shí)間較短,個(gè)人能力以及精力等因素的限制,加之設(shè)計(jì)經(jīng)驗(yàn)的不足,該系統(tǒng)還有許多不盡如人意的地方。該系統(tǒng)未能完全的實(shí)現(xiàn)設(shè)計(jì)的所有功能。如:利用鍵盤(pán)輸入轉(zhuǎn)速值實(shí)現(xiàn)轉(zhuǎn)速的控制,動(dòng)態(tài)設(shè)置最低轉(zhuǎn)速和最高轉(zhuǎn)速等。在把理論設(shè)計(jì)轉(zhuǎn)換成實(shí)物的整個(gè)過(guò)程,如:電路設(shè)計(jì)、分析計(jì)算、畫(huà)電路圖、焊接電路、檢查調(diào)試、軟件流程控制設(shè)計(jì)分析、編寫(xiě)調(diào)試軟件、燒寫(xiě)軟件到整個(gè)軟硬件系統(tǒng)的調(diào)試,最后直到系統(tǒng)完成。其中整個(gè)系統(tǒng)的前期準(zhǔn)備是首先必須做到位的,如控制什么、用什么控制、得到什么結(jié)果,進(jìn)而對(duì)各部分應(yīng)選擇具體的芯片作進(jìn)一步的考慮,以使系統(tǒng)得到最優(yōu)的表現(xiàn)。致 謝本論文是在謝老師的精心指導(dǎo)下完成的。在做畢業(yè)設(shè)計(jì)的整個(gè)過(guò)程中,得到了謝老師的耐心指導(dǎo),

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論