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

下載本文檔

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

文檔簡介

1、XXX 學(xué)生姓名:學(xué)號: 學(xué)院:專業(yè): 指導(dǎo)教師:2016年 5 月基于Protues的步進(jìn)電機(jī)控制系統(tǒng)設(shè)計(jì)摘要本文設(shè)計(jì)了一種基于Protues軟件的步進(jìn)電機(jī)控制系統(tǒng),該系統(tǒng)由AT89C52主控模塊,LCD1602液晶顯示模塊,按鍵控制模塊,步進(jìn)電機(jī)模塊,步進(jìn)電機(jī)驅(qū)動(dòng)模塊構(gòu)成,由AT89C52單片機(jī)產(chǎn)生驅(qū)動(dòng)脈沖信號,來控制步進(jìn)電機(jī)的運(yùn)動(dòng)狀態(tài),按鍵設(shè)定可以控制步進(jìn)電機(jī)的步進(jìn)方向和步進(jìn)速度,并在LCD1602液晶上實(shí)時(shí)顯示步進(jìn)角度,步進(jìn)方向以及當(dāng)前速度,該設(shè)計(jì)采用仿真軟件protues進(jìn)行電路圖的繪制并進(jìn)行仿真,整個(gè)系統(tǒng)采用模塊化設(shè)計(jì),結(jié)構(gòu)簡單,具有很強(qiáng)的可靠性以及穩(wěn)定性。關(guān)鍵詞:AT89C52;

2、步進(jìn)電機(jī);LCD1602;Protues;按鍵Based on protues stepping motor control system designAbstractThis paper designs a kind of stepping motor control system based on Protues software, the system consists of main control module, AT89C52 LCD1602 LCD display module, the key control module, stepper motor module, step

3、per motor driver module, drive pulse signal generated by the single chip microcomputer AT89C52, to control the movement of step motor, set keys can control the stepper motor step and direction and step speed, and real-time display on the LCD1602 LCD stepper Angle, step and direction and the current

4、speed, the design adopts the Protues simulation software of circuit diagram drawing and carry on the simulation of the whole system USES modular design, simple structure, strong reliability and stability.Keywords: AT89C52; Stepping motor; LCD1602; Protues;keys目錄1 引言12 系統(tǒng)方案設(shè)計(jì)及論證1設(shè)計(jì)要求1系統(tǒng)總體方案12.3 設(shè)計(jì)方案的

5、論證22.3.1 單片機(jī)模塊的選擇與論證22.3.2 電機(jī)驅(qū)動(dòng)模塊的選擇與論證23 硬件電路設(shè)計(jì)33.1 硬件設(shè)計(jì)概述33.2 AT89C52單片機(jī)最小系統(tǒng)設(shè)計(jì)33.3 步進(jìn)電機(jī)驅(qū)動(dòng)模塊設(shè)計(jì)43.3.1 步進(jìn)電機(jī)43.3.2 步進(jìn)電機(jī)原理43.3.3 L297介紹63.2.4 L298簡介73.3.5 步進(jìn)電機(jī)驅(qū)動(dòng)模塊設(shè)計(jì)83.4 液晶顯示模塊設(shè)計(jì)93.5 控制電路設(shè)計(jì)103.6 總體電路圖114 程序設(shè)計(jì)及仿真114.1 主程序框圖124.2 程序下載以及軟件說明134.3 仿真結(jié)果135 總結(jié)17附錄A部分程序代碼17參考文獻(xiàn)24致謝251 引言隨著經(jīng)濟(jì)和科學(xué)技術(shù)的發(fā)展,步進(jìn)電機(jī)的應(yīng)用范圍

6、越來越廣泛。步進(jìn)電機(jī)是一種高精度的電機(jī)執(zhí)行元件,在農(nóng)業(yè)、工業(yè)、智能控制領(lǐng)域應(yīng)用的非常廣泛。它的使用能提高系統(tǒng)的可靠性。常見的儀器如復(fù)印機(jī)、傳真機(jī)、打字機(jī)、FDD、監(jiān)視攝影機(jī)、照明裝置、自動(dòng)機(jī)械、游戲機(jī)、醫(yī)療機(jī)械等都用到了步進(jìn)電機(jī)本次畢業(yè)設(shè)計(jì)中使用了電路分析與仿真軟件-Protues,設(shè)計(jì)者可以根據(jù)設(shè)計(jì)需要搭建開發(fā)平臺,可以將在編譯器中編譯好的程序加載到芯片中運(yùn)行。Protues軟件目前支持的編譯器有Keil、IAR等。Protues軟件有大量的元件庫,支持大型設(shè)計(jì),在仿真中可以觀察各元件的狀態(tài)。將需要的程序在Protues軟件中仿真,調(diào)試好功能,再導(dǎo)入到相應(yīng)的硬件電路中,這樣可以縮短開發(fā)產(chǎn)品周

7、期,降低研發(fā)成本。2 系統(tǒng)方案設(shè)計(jì)及論證本次設(shè)計(jì),通過編程控制單片機(jī),實(shí)現(xiàn)對四相步進(jìn)電機(jī)轉(zhuǎn)動(dòng)的控制,控制電機(jī)實(shí)現(xiàn)正轉(zhuǎn)、反轉(zhuǎn)、加速與減速運(yùn)行。整個(gè)控制系統(tǒng)的工作過程是:通電之后,電機(jī)按照程序設(shè)計(jì)的轉(zhuǎn)速和轉(zhuǎn)動(dòng)方向轉(zhuǎn)動(dòng)。當(dāng)按下正(反)轉(zhuǎn)按鍵時(shí),通電后電機(jī)實(shí)現(xiàn)正(反)轉(zhuǎn);按下加速按鍵電機(jī)加速轉(zhuǎn)動(dòng);按下減速按鍵電機(jī)減速轉(zhuǎn)動(dòng)本次設(shè)計(jì)了使用AT89C52單片機(jī)作為控制核心的四相步進(jìn)電機(jī)的開環(huán)控制系統(tǒng)。系統(tǒng)總體設(shè)計(jì)方案如圖2.1所示,整個(gè)步進(jìn)電機(jī)控制系統(tǒng)以單片機(jī)為控制核心,單片機(jī)產(chǎn)生的脈沖信號通過功率放大器放大之后驅(qū)動(dòng)步進(jìn)電機(jī)轉(zhuǎn)動(dòng)。通過控制鍵盤控制部分的四個(gè)按鍵,可以控制步進(jìn)電機(jī)正轉(zhuǎn)、反轉(zhuǎn)、加速、減速。為了提

8、高控制的準(zhǔn)確性,本次設(shè)計(jì)使用了兩個(gè)外部中斷, 本設(shè)計(jì)通過單片機(jī)與硬件相結(jié)合實(shí)現(xiàn)了單片機(jī)對步進(jìn)電機(jī)的精確控制和旋轉(zhuǎn)方向的控制。從步進(jìn)電機(jī)控制系統(tǒng)的設(shè)計(jì)要求可知,需要控制步進(jìn)電機(jī)的轉(zhuǎn)動(dòng)速度和方向。對于加減速的變化控制,通常采用按鍵來控制速度,所以只要2個(gè)電源線,再加上一個(gè)方向線框,一根啟動(dòng)線可以了,所以鍵盤控制部分設(shè)置需要四個(gè)按鍵。四個(gè)鍵分別控制電機(jī)的正轉(zhuǎn)、反轉(zhuǎn)以及電機(jī)的加速和減速運(yùn)行。2.3 設(shè)計(jì)方案的論證2.3.1單片機(jī)模塊的選擇與論證從學(xué)校實(shí)驗(yàn)室現(xiàn)有的設(shè)備和單片機(jī)的性價(jià)比考慮,本次設(shè)計(jì)可以選擇的單片機(jī)有AT89S52單片機(jī)和AT89C52單片機(jī)。AT89C52是一種低功耗,高性能CMOS 8

9、位8K的閃存可編程和可擦除只讀存儲器(PEROM)字節(jié)的微型計(jì)算機(jī)。單片機(jī)本身帶有8K字節(jié)閃存,256Kb的RAM,32個(gè)I / O接線端,兩個(gè)16位的定時(shí)器/計(jì)數(shù)器,二個(gè)五向量兩級中斷結(jié)構(gòu),一個(gè)全雙工串行口,片上振蕩器和時(shí)鐘電路。掉電模式保存RAM的內(nèi)容,但凍結(jié)振蕩器關(guān)閉,直到下一個(gè)硬件復(fù)位芯片其它功能。通過比較AT89S52單片機(jī)和AT89C52單片機(jī)兩種單片機(jī)的性能和價(jià)格,AT89C52單片機(jī)CPU集成在單片機(jī)的8位閃存芯片上,這樣提供了一個(gè)高度靈活的嵌入式應(yīng)用系統(tǒng)。所以本次電路設(shè)計(jì)中選用AT89C52型號的單片機(jī)。2.3.2 電機(jī)驅(qū)動(dòng)模塊的選擇與論證方案一:集成驅(qū)動(dòng)芯片。L298N是高

10、電壓和高電流全橋驅(qū)動(dòng)。具有高頻率、低靜態(tài)電流、輸出電流大、電路簡單、散熱效果好等特點(diǎn),不容易燒壞,而且還帶有控制使能端。L298N芯片抗干擾能力強(qiáng),具有信號指示和續(xù)流保護(hù)功能。光電隔離技術(shù)的應(yīng)用,使L298N芯片可以控制2臺直流電機(jī)或步進(jìn)電機(jī),速度控制,可以很容易實(shí)現(xiàn)正反轉(zhuǎn)。該芯片是用于電動(dòng)馬達(dá)驅(qū)動(dòng),操作方便,穩(wěn)定性好,性能好。方案二:分立元件組成驅(qū)動(dòng)電路。使用三極管元件搭建電路,電路比較復(fù)雜,并且靜態(tài)電流較大,參數(shù)需要調(diào)試。搭建的電路功率小,散熱性能也不好,同時(shí)飽和導(dǎo)通壓降小。但是由分立元件構(gòu)成電路價(jià)格低廉,所以在實(shí)際中應(yīng)用比較廣泛。但是這種電路存在工作性能不夠穩(wěn)定的缺點(diǎn)?;谝陨系姆治龊捅?/p>

11、較,我們發(fā)現(xiàn),方案2采用分立元件構(gòu)成驅(qū)動(dòng)H橋電路相應(yīng)的功率管驅(qū)動(dòng)電路和匹配,雖然功率較大,但電路復(fù)雜,不符合應(yīng)用程序的要求。故本系統(tǒng)采用方案一的芯片。3 硬件電路設(shè)計(jì)3.1 硬件設(shè)計(jì)概述本次設(shè)計(jì)的硬件電路主要包括單片機(jī)最小系統(tǒng)、步進(jìn)電機(jī)驅(qū)動(dòng)電路、顯示電路及控制電路四大部分。單片機(jī)最小系統(tǒng)主要是為了讓單片機(jī)正常工作。步進(jìn)電機(jī)驅(qū)動(dòng)電路主要是對單片機(jī)輸出的脈沖進(jìn)行功率放大,從而驅(qū)動(dòng)電機(jī)轉(zhuǎn)動(dòng)。顯示電路可以顯示轉(zhuǎn)速和電機(jī)的工作狀態(tài)??刂齐娐分饕砷_關(guān)和按鈕組成,由設(shè)計(jì)人員根據(jù)相應(yīng)的工作操作。3.2 AT89C52單片機(jī)最小系統(tǒng)設(shè)計(jì)圖3.1 單片機(jī)最小系統(tǒng)最小系統(tǒng)是一個(gè)可以用最少的組件來工作的系統(tǒng)。本次設(shè)

12、計(jì)中單片機(jī)最小系統(tǒng)主要由單片機(jī)、晶振電路、復(fù)位電路三部分組成。晶振頻率為12MHz。圖3.1為本次設(shè)計(jì)中單片機(jī)最小系統(tǒng)。3.3 步進(jìn)電機(jī)驅(qū)動(dòng)模塊設(shè)計(jì) 步進(jìn)電機(jī)(1)步進(jìn)電機(jī) 步進(jìn)電機(jī)可以將電脈沖信號轉(zhuǎn)換為線位移或角位移。給步進(jìn)電機(jī)一個(gè)脈沖信號,它就可以轉(zhuǎn)動(dòng)一個(gè)角度,這種工作方式比較適合用單片機(jī)進(jìn)行控制。由于步進(jìn)電機(jī)工作原理的特殊性,它必須通過調(diào)節(jié)脈沖信號的頻率和個(gè)數(shù)來控制。由于步進(jìn)電機(jī)的轉(zhuǎn)動(dòng)角度和轉(zhuǎn)速取決于脈沖信號的頻率和個(gè)數(shù),它每接收到一個(gè)脈沖信號,就轉(zhuǎn)動(dòng)一個(gè)角度。所以步進(jìn)電機(jī)的精度很高,在系統(tǒng)開環(huán)情況下就能實(shí)現(xiàn)高精度的控制,在工業(yè)控制領(lǐng)域獲得了廣泛的應(yīng)用。由于步進(jìn)電機(jī)的旋轉(zhuǎn)角度是由脈沖輸入

13、的數(shù)量決定的,所以步進(jìn)電機(jī)也叫數(shù)字角轉(zhuǎn)換器。目前,步進(jìn)電機(jī)的控制主要是由環(huán)形脈沖分配器、軟件環(huán)形脈沖分配器、專用集成芯片環(huán)形脈沖分配器等組成。本次畢業(yè)設(shè)計(jì)中采用了低功耗、性價(jià)比高的單片機(jī)進(jìn)行電機(jī)轉(zhuǎn)動(dòng)控制,并且使用了軟件進(jìn)行環(huán)形脈沖分配。步進(jìn)電機(jī)有多種工作方式。在每個(gè)工作模式中,脈沖頻率越高,速度越快,但在一定程度上,步進(jìn)電機(jī)不能跟上電機(jī)的頻率會出現(xiàn)失步現(xiàn)象,因此,脈沖頻率必須控制在步進(jìn)電機(jī)允許的范圍內(nèi)。 步進(jìn)電機(jī)原理步進(jìn)電機(jī)在接收到脈沖信號后才能工作,所以不可以直接與交流或者直流電源連接,需要使用驅(qū)動(dòng)器才可以工作。通過程序設(shè)計(jì)和控制,單片機(jī)可以產(chǎn)生環(huán)形分配器需要的脈沖序列。脈沖序列是按一定規(guī)律

14、分布的,由功率放大器放大的脈沖序列,然后被加載到輸入端的步進(jìn)電機(jī)驅(qū)動(dòng)步進(jìn)電機(jī)工作。環(huán)形分配器分兩大類:第一類,軟環(huán)形分配器,并通過計(jì)算機(jī)軟件的脈沖序列分配。第二類,硬環(huán)形分配器,用硬件構(gòu)成環(huán)形分配器,分配脈沖序列。步進(jìn)電機(jī)在結(jié)構(gòu)上分為三相三步和三三相雙拍和三相六拍。(1)步進(jìn)電機(jī)的速度控制 .如果步進(jìn)電機(jī)送一個(gè)控制脈沖,它將是一個(gè)步驟,然后發(fā)送一個(gè)脈沖,這將是一個(gè)進(jìn)一步的步驟。調(diào)整步進(jìn)電機(jī)的脈沖頻率,可以實(shí)現(xiàn)對步進(jìn)電機(jī)進(jìn)行速度的控制。(2)步進(jìn)電機(jī)的起??刂?步進(jìn)電機(jī)由于其結(jié)構(gòu)和工作原理的特殊性,運(yùn)行時(shí)會有步進(jìn)感。為了提高步進(jìn)電機(jī)轉(zhuǎn)動(dòng)時(shí)的平滑性,減小機(jī)械振動(dòng),可以通過在脈沖信號的上升沿和下降沿

15、采用細(xì)分的梯形波來改善這一狀況。這樣可以減小步進(jìn)電機(jī)的步進(jìn)角,使得步進(jìn)電機(jī)運(yùn)行更平穩(wěn)。(3)步進(jìn)電機(jī)的加減速控制 在使用脈沖信號驅(qū)動(dòng)步進(jìn)電機(jī)進(jìn)行工作時(shí),如果脈沖信號變化太快,步進(jìn)電機(jī)的機(jī)械結(jié)構(gòu)會由于慣性跟不上脈沖信號的變化,這時(shí)候會產(chǎn)生失步和賭轉(zhuǎn)的現(xiàn)象。步進(jìn)電機(jī)起動(dòng)過程中,輸入波形有一個(gè)加速過程,在結(jié)束時(shí)同樣存在一個(gè)減速波形。步進(jìn)電機(jī)加速加速曲線最理想的指數(shù)曲線,整個(gè)加速過程和加速過程中頻率變化的規(guī)律是一個(gè)互逆的過程。為了充分利用步進(jìn)電機(jī)的轉(zhuǎn)矩,選定脈沖信號的加減速曲線需要符合步進(jìn)電機(jī)升降過程的運(yùn)行規(guī)律,這樣可以縮短升降速時(shí)間,防止失步現(xiàn)象。(4)步進(jìn)電機(jī)換向的控制 步進(jìn)電機(jī)的換向動(dòng)作必須在電

16、機(jī)降速停止或降到突跳頻率范圍之內(nèi)進(jìn)行,這樣可以避免產(chǎn)生沖擊而損壞電機(jī)。脈沖信號需要有一定的脈沖寬度、脈沖序列的均勻度、高低電平方式。步進(jìn)電機(jī)工作時(shí)正反向的切換是是由降速換向加速3個(gè)過程組成的。步進(jìn)電機(jī)有如下特點(diǎn): 步進(jìn)電機(jī)精度很高,適合于開環(huán)控制系統(tǒng)。 步進(jìn)電機(jī)動(dòng)態(tài)響應(yīng)快,脈沖信號便于控制,使得步進(jìn)電機(jī)容易啟動(dòng)、停止、正反轉(zhuǎn)和變速。 步進(jìn)電機(jī)的速度可以在一個(gè)比較寬的范圍內(nèi)進(jìn)行平滑調(diào)整,低速運(yùn)行仍然可以得到大量的轉(zhuǎn)矩,所以步進(jìn)電機(jī)可以直接驅(qū)動(dòng)負(fù)載。步進(jìn)電機(jī)帶慣性負(fù)載的能力比較強(qiáng)。3. L297介紹L297是一款可專門用于步進(jìn)電機(jī)控制的控制芯片,這款芯片可以產(chǎn)生4相的控制信號,芯片本身需要5v電壓

17、供電才可以正常工作。通過單片機(jī)編程可以來控制步進(jìn)電機(jī)的轉(zhuǎn)速。L297芯片采用雙列直插式20引腳封裝。引腳圖見下圖3.2。圖3.2 L297芯片引腳圖L297各個(gè)引腳的功能說明如下:第1腳 SYNG-斬波器輸出端。第2腳 GND-接地端。第3腳 HOME-集電極開路輸出端。當(dāng)此引腳電平有效時(shí),晶體管處于開路狀態(tài)。第4腳 A-A相驅(qū)動(dòng)信號。第5腳 INH1-此引腳為控制A相以及B相的驅(qū)動(dòng)極。當(dāng)此引腳為低電平0時(shí),A相、B相驅(qū)動(dòng)控制處于禁止?fàn)顟B(tài)。第6腳B-B相驅(qū)動(dòng)信號。第7腳C-C相驅(qū)動(dòng)信號。第8腳 INH2-此引腳為控制C相以及D相的驅(qū)動(dòng)級。其作用同INH1。第9腳D-D相驅(qū)動(dòng)信號。第10腳 EN

18、ABLE-使能輸入端。當(dāng)此引腳為低電平時(shí), A相,B相,C相,D相 以及INH1引腳,INH2引腳都為低電平。第11腳CONTROL-此引腳為斬波器功能控制端。當(dāng)為低電平0時(shí),INH1和INH2工作,當(dāng)為高電平1時(shí),A,B,C,D工作。第12腳Vcc-電源輸入端,接+5v。第13腳SENS2-此引腳為C相以及D相電壓反饋輸入端。通過繞組電流檢測進(jìn)行反饋。第14腳SENS1-此引腳為A相以及B相電壓反饋輸入端。通過繞組電流檢測進(jìn)行反饋。第15腳Vref -此引腳為斬波器的基準(zhǔn)電壓輸入端。第16腳OSC-此引腳為斬波器的頻率輸入端。第17腳CW/CCW-方向控制端??刂撇竭M(jìn)電機(jī)的轉(zhuǎn)動(dòng)方向,當(dāng)此引腳

19、的電平發(fā)生變化時(shí),步進(jìn)電機(jī)反向旋轉(zhuǎn)。第18腳CLOCK-步進(jìn)時(shí)鐘輸入端。當(dāng)該引腳輸入一個(gè)低電平時(shí),步進(jìn)電機(jī)步進(jìn)一個(gè)對應(yīng)增量,該步進(jìn)在信號 的上升沿產(chǎn)生。第19腳-低電平全步方式,高電平半步方式。第 20腳RESET復(fù)位端。低電平有效。系統(tǒng)初始化。 3.L298簡介L298N 是一種雙全橋步進(jìn)電機(jī)驅(qū)動(dòng)芯片,主要用于二相以及四相電機(jī)的驅(qū)動(dòng),它內(nèi)部包含了4信道邏輯驅(qū)動(dòng)電路,同時(shí)具有兩個(gè)H橋的高電壓,可用來驅(qū)動(dòng)46V、2A以下的電機(jī)。其引腳排列如圖所示。圖3.3 L298引腳圖 步進(jìn)電機(jī)驅(qū)動(dòng)模塊設(shè)計(jì)步進(jìn)電機(jī)直接連接交流或者直流電源時(shí)不會運(yùn)動(dòng),必須與驅(qū)動(dòng)電路同時(shí)使用才能發(fā)揮其功能。驅(qū)動(dòng)電路由決定順序的控

20、制電路與控制電路輸出功率的換相電路組成。本次步進(jìn)電機(jī)的驅(qū)動(dòng)電路由L297和L298芯片構(gòu)成,步進(jìn)電機(jī)驅(qū)動(dòng)電路圖如圖3.4所示。L297的四相輸出接L298N 電機(jī)驅(qū)動(dòng)芯片的OUT1、OUT2和OUT3、OUT4,在ENA、ENB 兩個(gè)使能端為高電平,控制器只要控制4 個(gè)輸入端的電平高低,就能實(shí)現(xiàn)小車的正轉(zhuǎn)、反轉(zhuǎn)等動(dòng)作。3.4 液晶顯示模塊設(shè)計(jì)圖3.4 液晶顯示模塊電路連接圖本次設(shè)計(jì)選擇了LM016L液晶模塊,電路連接如圖3.4所示。LM016L模塊引腳說明如下:第1腳:VSS接地。第2腳:VDD接5V正電源。第3腳:VO為液晶對比度調(diào)整端口,用來調(diào)整顯示器的對比度,在使用時(shí)一般通過外接一個(gè)10

21、K的電位器來調(diào)整對比度。第4腳:RS 指令/數(shù)據(jù)寄存器選擇端口。第5腳:R/W,信號讀寫選擇端口。第6腳:E端為使能信號端,當(dāng)該端口信號由1跳變?yōu)?時(shí)。液晶顯示模塊開始進(jìn)行工作。第714腳:8位數(shù)據(jù)傳輸口。第15腳:背光源正極。第16腳:背光源負(fù)極。本次設(shè)計(jì)中顯示部分用的是XXX模塊,XXX模塊的數(shù)據(jù)端與單片機(jī)通過P1口的P1.0P1.7連接,顯示步進(jìn)電機(jī)的轉(zhuǎn)速和方向。3.5 控制電路設(shè)計(jì)本設(shè)計(jì)中設(shè)置了步進(jìn)電機(jī)的四種運(yùn)動(dòng)狀態(tài),分別為正轉(zhuǎn),反轉(zhuǎn),加速,減速,分別由四個(gè)按鍵開關(guān)控制,REV,F(xiàn)WD按鍵控制電機(jī)的正轉(zhuǎn)和反向。當(dāng) REV、FWD 的電平發(fā)生變化時(shí),單片機(jī)檢測 P3.4 和 P3.5的電

22、平狀態(tài)從而進(jìn)行電機(jī)的正反轉(zhuǎn)控制。圖3.5為步進(jìn)電機(jī)控制部分電路原理圖。表1為四相單四拍脈沖分配表,表2為四相雙四拍脈沖分配表。步進(jìn)電機(jī)的工作是由輸入電機(jī)的脈沖頻率來控制步進(jìn)電機(jī)的轉(zhuǎn)速,通過REV、FWD 的開關(guān)來控制控制電機(jī)的加速度,根據(jù)按鍵次數(shù)來控制中斷的次數(shù),從而改變速度值存儲區(qū)中的數(shù)據(jù),進(jìn)而改變了步進(jìn)電機(jī)的輸出脈沖頻率最終改變了電機(jī)的轉(zhuǎn)速。3.6 總體電路圖總電路圖如圖12所示。圖3.6總體電路圖(包括顯示電路圖)步進(jìn)電機(jī)的總體電路如圖3.6所示,硬件電路設(shè)計(jì)部分,以AT89C52單片為核心控制器件,設(shè)計(jì)了步進(jìn)電機(jī)控制系統(tǒng)。整個(gè)硬件部分由單片機(jī)最小系統(tǒng)、步進(jìn)電機(jī)驅(qū)動(dòng)電路、液晶顯示電路、控

23、制電路和電源部分組成。4 程序設(shè)計(jì)及仿真通過對步進(jìn)電機(jī)控制系統(tǒng)的分析,單片機(jī)需要控制步進(jìn)電機(jī)隨時(shí)實(shí)現(xiàn)正轉(zhuǎn)、反轉(zhuǎn)、加速、減速,本次采用了效率較高的中斷方式來實(shí)現(xiàn)。源程序由主程序,定時(shí)器中斷程序,外部中斷1以及外部中斷0等四部分組成。主程序的主要作用對系統(tǒng)進(jìn)行初始化設(shè)置以及開關(guān)檢測。當(dāng)開關(guān)閉合時(shí)系統(tǒng)開始進(jìn)行工作,反之,當(dāng)開關(guān)斷開后系統(tǒng)就停止工作。4.1 主程序框圖程序流程框圖如圖4.1所示。系統(tǒng)在進(jìn)行工作時(shí)需要先進(jìn)行初始化設(shè)置,初始化完成后進(jìn)行定時(shí)器設(shè)置,當(dāng)定時(shí)器T0工作時(shí),步進(jìn)電機(jī)進(jìn)入正轉(zhuǎn)運(yùn)行狀態(tài),LCD1602進(jìn)行實(shí)時(shí)顯示步進(jìn)電機(jī)的轉(zhuǎn)速以及運(yùn)行狀態(tài),同樣,當(dāng)定時(shí)器T1工作時(shí),步進(jìn)電機(jī)進(jìn)入反轉(zhuǎn)運(yùn)

24、行狀態(tài),液晶顯示反轉(zhuǎn)轉(zhuǎn)速以及反轉(zhuǎn)狀態(tài)。中斷0觸發(fā)后進(jìn)行減速控制,中斷1觸發(fā)后進(jìn)行加速控制,液晶顯示模塊進(jìn)行速度以及運(yùn)動(dòng)狀態(tài)的顯示。根據(jù)定時(shí)器中斷次數(shù)來判斷步進(jìn)電機(jī)的運(yùn)行方向,進(jìn)而控制正反轉(zhuǎn)改,通過按鍵來確定外部中斷,進(jìn)而改變步進(jìn)電機(jī)輸出脈沖頻率,即改變了電機(jī)的轉(zhuǎn)速。當(dāng)按正轉(zhuǎn)控制按鍵時(shí),步進(jìn)電機(jī)進(jìn)行正轉(zhuǎn),轉(zhuǎn)速為400n/min,當(dāng)按反轉(zhuǎn)控制按鍵時(shí),步進(jìn)電機(jī)進(jìn)行反轉(zhuǎn),轉(zhuǎn)速依然為400n/min,當(dāng)按減速控制按鍵時(shí),步進(jìn)電機(jī)減速,轉(zhuǎn)速為303n/min,當(dāng)按加速控制按鍵時(shí),步進(jìn)電機(jī)加速,轉(zhuǎn)速為500n/min,不斷按加速按鍵或者減速按鍵,步進(jìn)電機(jī)速度會進(jìn)行步進(jìn)加速或者減速。4.2 程序下載以及軟件說

25、明本設(shè)計(jì)采用的編程軟件為keil,采用的仿真軟件為Protues,同時(shí)采用keil與Protues級聯(lián)調(diào)試仿真的步驟如下:1.keil中新建工程,同時(shí)新建c文件,點(diǎn)擊保存,并將c文件添加到所建工程中。2.在所建c文件中編寫程序,編寫完成后點(diǎn)擊編譯,若編譯出錯(cuò),檢查程序是否有語法以及格式錯(cuò)誤并進(jìn)行修改,直至編譯無報(bào)錯(cuò)。3.點(diǎn)擊輸出文件設(shè)置快捷按鈕output,勾選生成HEX文件,重新進(jìn)行編譯。4.Protues中新建原理圖文件,根據(jù)所需器件進(jìn)行原理圖的繪制。5.雙擊AT89C52單片機(jī),然后在彈出對話框中選擇由keil軟件生成的HEX文件,點(diǎn)擊ok。6.單擊Protues中的仿真按鈕進(jìn)行仿真。7

26、.點(diǎn)擊正轉(zhuǎn)控制按鍵,按鍵導(dǎo)通,步進(jìn)電機(jī)進(jìn)行正轉(zhuǎn),顯示模塊顯示點(diǎn)擊速度以及運(yùn)動(dòng)狀態(tài),同樣,其他狀態(tài)也依此方式進(jìn)行仿真。4.3 仿真結(jié)果將編寫好的C語言程序在keil軟件中運(yùn)行,并修改錯(cuò)誤,直至最后沒有警告和錯(cuò)誤,然后進(jìn)行編譯生成HEX文件,然后與Protues軟件連接,導(dǎo)入ProtuesProtues軟件中的仿真結(jié)果界面。圖正轉(zhuǎn)仿真結(jié)果圖轉(zhuǎn)仿真結(jié)果,閉合原理圖上的FEED按鍵,點(diǎn)擊Protues軟件的運(yùn)行按鈕。電路圖上的各個(gè)接線引腳會呈現(xiàn)動(dòng)態(tài)的彩色,步進(jìn)電機(jī)正轉(zhuǎn),液晶顯示器上顯示字符REV(正轉(zhuǎn)),轉(zhuǎn)速400r/min,圖4.3 反轉(zhuǎn)仿真結(jié)果圖4.3為步進(jìn)電機(jī)反轉(zhuǎn)仿真結(jié)果,閉合原理圖上的REV按

27、鍵,點(diǎn)擊Protues軟件的運(yùn)行按鈕,電路圖上的各個(gè)接線引腳會呈現(xiàn)動(dòng)態(tài)的彩色,電機(jī)進(jìn)行反轉(zhuǎn),液晶顯示器上顯示FZ(反轉(zhuǎn)),轉(zhuǎn)速400r/min,。圖4.4 加速仿真結(jié)果圖4.4為步進(jìn)電機(jī)加速轉(zhuǎn)動(dòng)的仿真結(jié)果圖。閉合原理圖上的FEED按鍵,點(diǎn)擊Protues軟件的運(yùn)行按鈕,電路圖上的各個(gè)接線引腳會呈現(xiàn)動(dòng)態(tài)的彩色,步進(jìn)電機(jī)反轉(zhuǎn)。點(diǎn)擊原理圖上的SPEED按鍵,步進(jìn)電機(jī)加速轉(zhuǎn)動(dòng),液晶顯示器上顯示FZ(反轉(zhuǎn)),速度由400 r/min變?yōu)?00r/min. 圖4.5 減速仿真結(jié)果圖4.5為步進(jìn)電機(jī)減速轉(zhuǎn)動(dòng)的仿真結(jié)果圖,閉合原理圖上的FEED按鍵,點(diǎn)擊Protues軟件的運(yùn)行按鈕,電路圖上的各個(gè)接線引腳會呈

28、現(xiàn)動(dòng)態(tài)的彩色,步進(jìn)電機(jī)反轉(zhuǎn)。點(diǎn)擊原理圖上的SOLW DOWN按鍵,步進(jìn)電機(jī)減速轉(zhuǎn)動(dòng),液晶顯示器上顯示FZ(反轉(zhuǎn)),速度由400 r/min變?yōu)?00r/min.從圖4.2-4.5,可以看出本次設(shè)計(jì)的控制系統(tǒng)完全實(shí)現(xiàn)了設(shè)計(jì)要求的功能:電機(jī)正轉(zhuǎn)以及反轉(zhuǎn),加速,減速運(yùn)行。滿足設(shè)計(jì)要求。將C語言程序在Keil中編譯之后導(dǎo)入到Protues軟件中運(yùn)行,發(fā)現(xiàn)設(shè)計(jì)的電路可以正常工作,實(shí)現(xiàn)了論文要求的功能,步進(jìn)電機(jī)可以正常的正轉(zhuǎn)、反轉(zhuǎn)、加速和減速。但是由于本次設(shè)計(jì)時(shí)間比較倉促,加上硬件和軟件條件的不足,整個(gè)步進(jìn)電機(jī)控制系統(tǒng)的討論不夠詳細(xì),步進(jìn)電機(jī)轉(zhuǎn)速控制的精度還需要進(jìn)一步提高。由于選擇的器件的原因,相關(guān)實(shí)驗(yàn)做

29、得不夠完善,后續(xù)有待進(jìn)一步的提高。同時(shí)本次畢業(yè)設(shè)計(jì)中,對電源供電部分的設(shè)計(jì)也比較粗放。在實(shí)際的電路板制作中,外界的供電電壓不可能正好適合電路中的芯片電壓,需要用電壓轉(zhuǎn)換芯片對電路的電壓進(jìn)行轉(zhuǎn)換,同時(shí)需要考慮電壓轉(zhuǎn)換芯片的功耗和功率,這些都是以后在實(shí)際應(yīng)用中需要繼續(xù)研究的問題。5 總結(jié)本次畢業(yè)設(shè)計(jì)從選題到系統(tǒng)功能的實(shí)現(xiàn),是一個(gè)讓人不斷進(jìn)步和成長的過程,不僅端正了我的學(xué)習(xí)態(tài)度,還增強(qiáng)了我對電路設(shè)計(jì)的興趣。做畢業(yè)設(shè)計(jì)的整個(gè)過程,我學(xué)習(xí)到了很多新知識,從開始對單片機(jī)很膚淺的了解到整個(gè)電路的設(shè)計(jì);從對編程沒有信心甚至是懼怕到獨(dú)立編寫單片機(jī)的控制程序并實(shí)現(xiàn)其功能等,這對我都是莫大的鼓勵(lì),也增強(qiáng)了我的自信心

30、。經(jīng)過自己認(rèn)真學(xué)習(xí)C語言編程知識,學(xué)習(xí)keil軟件知識,從開始編寫出簡單的程序,到最后編寫出復(fù)雜的單片機(jī)程序是一個(gè)不斷進(jìn)步的過程。整個(gè)畢業(yè)設(shè)計(jì)中感謝指導(dǎo)老師和身邊的同學(xué)對我的幫助和督促。在電路軟件的設(shè)計(jì)與調(diào)試過程中,我學(xué)習(xí)到了許多以前不曾接觸到的知識,增長了編程經(jīng)驗(yàn)。同時(shí)體會到知識不僅在于應(yīng)用,更是一個(gè)學(xué)習(xí)和積累經(jīng)驗(yàn)的過程,這不僅需要對工作內(nèi)容有充分的認(rèn)識,也需要嚴(yán)謹(jǐn),認(rèn)真和堅(jiān)忍不拔的精神。整個(gè)過程讓我學(xué)習(xí)到了很多,也給我以后的工作和生活態(tài)度產(chǎn)生了重要的積極影響。以后涉及到步進(jìn)電機(jī)的控制系統(tǒng)將會越來越智能化、微型化以及網(wǎng)絡(luò)化。本設(shè)計(jì)對步進(jìn)電機(jī)控制以及應(yīng)用所做的研究有所不足,我們會在現(xiàn)有的基礎(chǔ)上

31、,不斷的進(jìn)行創(chuàng)新以及改進(jìn),創(chuàng)造新的技術(shù)和方法,最終將它們運(yùn)用到實(shí)際工業(yè)生產(chǎn)中,獲取最大的經(jīng)濟(jì)效益。附錄A 部分程序代碼#include "AT89C52.h"int delay();void inti_lcd();void show_lcd(int);void cmd_wr();void ShowState();void clock(unsigned int Delay) ;void DoSpeed(); /計(jì)算速度/正轉(zhuǎn)值#define RIGHT_RUN 1/反轉(zhuǎn)值#define LEFT_RUN 0sbit RS=0xA0;sbit RW=0xA1;sbit E=0x

32、A2;char SpeedChar="Speed(n/min):"char StateChar="Run state:"char STATE_CW="FZ"char STATE_CCW="REV"char SPEED3="050"unsigned int RunSpeed=50; /速度unsigned char RunState=RIGHT_RUN; /運(yùn)行狀態(tài)main()/*定時(shí)器設(shè)置*/TMOD=0x66; /定時(shí)器0,1都為計(jì)數(shù)方式;方式2; EA=1; /開中斷TH0=0xff; /定

33、時(shí)器0初值FFH;TL0=0xff;ET0=1;TR0=1;TH1=0xff; /定時(shí)器1初值FFH;TL1=0xff;ET1=1;TR1=1;IT0=1; /脈沖方式EX0=1; /開外部中斷0:加速IT1=1; /脈沖方式EX1=1; /開外部中斷1:減速inti_lcd();DoSpeed();ShowState();while(1)clock(RunSpeed);P0_1=P0_10x01; /定時(shí)器0中斷程序:正轉(zhuǎn)void t_0(void) interrupt 1RunState=RIGHT_RUN;P0_0=1;P1=0x01;cmd_wr();ShowState();/定時(shí)器1

34、中斷:反轉(zhuǎn)void t_1(void) interrupt 3 RunState=LEFT_RUN;P0_0=0;P1=0x01;cmd_wr();ShowState(); /中斷0:加速程序void SpeedUp() interrupt 0 if(RunSpeed>=12)RunSpeed=RunSpeed-2; DoSpeed();P1=0x01;cmd_wr();ShowState();/中斷1:減速程序 void SpeedDowm() interrupt 2 if(RunSpeed<=100)RunSpeed=RunSpeed+2;DoSpeed();P1=0x01;c

35、md_wr();ShowState();int delay() /判斷LCD是否忙 int a;start :RS=0;RW=1;E=0;for(a=0;a<2;a+);E=1;P1=0xff;if(P1_7=0)return 0;elsegoto start;void inti_lcd() /設(shè)置LCD方式P1=0x38;/設(shè)置16x2顯示cmd_wr();delay();P1=0x01; /清除cmd_wr();delay();P1=0x0f;cmd_wr();delay();P1=0x06;/光標(biāo)移動(dòng)設(shè)置cmd_wr();delay();P1=0x0c;/顯示開及光標(biāo)設(shè)置cmd_w

36、r();delay();void cmd_wr() /寫控制字RS=0;RW=0;E=0;E=1;void show_lcd(int i) /LCD顯示子程序P1=i;RS=1;RW=0;E=0;E=1;void ShowState() /顯示狀態(tài)與速度 int i=0;while(SpeedChari!='0')/char SpeedChar="SPEED(n/min):"delay();show_lcd(SpeedChari);i+; delay();P1=0x80 | 0x0d;/數(shù)據(jù)首地址為80H,所以數(shù)據(jù)地址為80H+地址碼(0-27H,40-67

37、H) cmd_wr();i=0;while(SPEEDi!='0')delay();show_lcd(SPEEDi);/SPEED3="050"i+; delay();P1=0xC0;cmd_wr();i=0;while(StateChari!='0')delay();show_lcd(StateChari);/char StateChar="Run state:"i+; delay();P1=0xC0 | 0x0A;/0x0c顯示開及光標(biāo)設(shè)置cmd_wr();i=0;if(RunState=RIGHT_RUN)while

38、(STATE_CWi!='0')delay();show_lcd(STATE_CWi);/char STATE_CW="FW" i+; elsewhile(STATE_CCWi!='0')delay();show_lcd(STATE_CCWi);/char STATE_CCW="REV" i+; void clock(unsigned int Delay) /1ms延時(shí)程序 unsigned int i;for(;Delay>0;Delay-)for(i=0;i<124;i+);void DoSpeed()SP

39、EED0=(1000*20/RunSpeed/100)+48;SPEED1=1000*20/RunSpeed%100/10+48;SPEED2=1000*20/RunSpeed%10+48;參考文獻(xiàn)1王文華.基于80C51單片機(jī)的智能小車設(shè)計(jì).山西電子技術(shù).2010,第4期2董濤,劉進(jìn)英,蔣蘇. 基于單片機(jī)的智能小車的設(shè)計(jì)與制作.計(jì)算機(jī)測與控制.2010第2期3陳永真,寧武,藍(lán)和慧.新編全國大學(xué)生電子設(shè)計(jì)競賽試題精選.第一版.電子工業(yè)出版社,20094高吉祥,唐朝京.全國大學(xué)生電子設(shè)計(jì)競賽系列教程數(shù)字系統(tǒng)與自動(dòng)控制系統(tǒng)設(shè)計(jì)第一版.電子工業(yè)出版社,20075鄭峰,王巧芝,陳繪兵.51單片機(jī)應(yīng)用系統(tǒng)典型模塊開發(fā)大全.第一版.中國鐵道出版社.2010:433-433,446-4466Marcus Nadenau.Integration of human colour visi

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論