AT89C51單片機控制步進電機_第1頁
AT89C51單片機控制步進電機_第2頁
AT89C51單片機控制步進電機_第3頁
AT89C51單片機控制步進電機_第4頁
AT89C51單片機控制步進電機_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 摘要 步進電機是一種進行精確步進運動的機電執(zhí)行元件,它廣泛應(yīng)用于工業(yè)機械的數(shù)字控制,為使系統(tǒng)的可靠性、通用性、可維護性以及性價比最優(yōu),根據(jù)控制系統(tǒng)功能要求及步進電機應(yīng)用環(huán)境,確定了設(shè)計系統(tǒng)硬件和軟件的功能劃分,從而實現(xiàn)了基于8051單片機的四相步進電機的開環(huán)控制系統(tǒng)??刂葡到y(tǒng)通過單片機存儲器、I/O接口、中斷、鍵盤、LED顯示器的擴展、步進電機的環(huán)形分頻器、驅(qū)動及保護電路、人機接口電路、中斷系統(tǒng)及復(fù)位電路、單電壓驅(qū)動電路等的設(shè)計,實現(xiàn)了四相步進電機的正反轉(zhuǎn),急停等功能。為實現(xiàn)單片機控制步進電機系統(tǒng)在數(shù)控機床上的應(yīng)用,系統(tǒng)設(shè)計了兩個外部中斷,以實現(xiàn)步進電機在某段時間內(nèi)的反復(fù)正反轉(zhuǎn)功能,也即數(shù)控

2、機床的刀架自動進給運動,隨著單片機技術(shù)的不斷發(fā)展,單片機在日用電子產(chǎn)品中的應(yīng)用越來越廣泛,自六十年代初期以來,步進電機的應(yīng)用得到很大的提高。人們用它來驅(qū)動時鐘和其他采用指針的儀器,打印機、繪圖儀,磁盤光盤驅(qū)動器、各種自動控制閥、各種工具,還有機器人等機械裝置。此外作為執(zhí)行元件,步進電機是機電一體化的關(guān)鍵產(chǎn)品之一,被廣泛應(yīng)用在各種自動化控制系統(tǒng)中,隨著微電子和計算機技術(shù)的發(fā)展,它的需要量與日俱增,在各個國民經(jīng)濟領(lǐng)域都有應(yīng)用。步進電機是機電數(shù)字控制系統(tǒng)中常用的執(zhí)行元件,由于其精度高、體積小、控制方便靈活,因此在智能儀表和位置控制中得到了廣泛的應(yīng)用大規(guī)模集成電路的發(fā)展以及單片機技術(shù)的迅速普及,為設(shè)計

3、功能強,價格低的步進電機控制驅(qū)動器提供了先進的技術(shù)和充足的資源。關(guān)鍵詞:步進電機;單片機;精度高;體積小;控制方便。目錄設(shè)計要求21.1設(shè)計要求21.2驗收標準2步進電機原理及硬件和軟件設(shè)計22.1步進電機工作方式22.2 總體設(shè)計方框圖52.3 設(shè)計原理分析62.3.1元器件介紹:步進電機62.3.2方案論證72.3.3硬件設(shè)計82.3.4元件清單122.3.5 軟件設(shè)計13總結(jié)19致謝19參考文獻20附錄21 設(shè)計要求1.1設(shè)計要求(1)最小系統(tǒng):選擇AT89C51單片機為核心元件構(gòu)成系統(tǒng)。有時鐘產(chǎn)生電路和復(fù)位電路。(2)控制電路:由開關(guān)和按鍵組成,由操作者根據(jù)相應(yīng)的工作需要進行操作。(3

4、)顯示電路:顯示電機的工作狀態(tài)和轉(zhuǎn)速。(4)驅(qū)動部分:對單片機輸出的脈沖進行功率放大,從而驅(qū)動電機轉(zhuǎn)動.(5)主要功能:實現(xiàn)步進電機的正反轉(zhuǎn),加速、減速;顯示電機轉(zhuǎn)速(轉(zhuǎn)速級別)和工作狀態(tài)(正轉(zhuǎn)、反轉(zhuǎn)、不轉(zhuǎn))。1.2驗收標準(1)按照設(shè)計要求,畫出系統(tǒng)硬件電路組成框圖,電路組成原理圖,PCB圖,并在現(xiàn)有的單片機實驗系統(tǒng)上完成硬件電路接線。(2)完成本題程序設(shè)計,提交流程圖和程序清單。(3)完成硬件與軟件聯(lián)合調(diào)試,實現(xiàn)單片機控制步進電機的功能。(4)提交課程設(shè)計報告。步進電機原理及硬件和軟件設(shè)計2.1步進電機工作方式 由于步進電機是一種將電脈沖信號轉(zhuǎn)換成直線或角位移的執(zhí)行元件,它不能直接接到交直

5、流電源上,而必須使用專業(yè)設(shè)備-步進電機控制驅(qū)動器,典型步進電機控制系統(tǒng)如圖1所示:控制器可以發(fā)出脈沖頻率從幾赫茲到幾千赫茲可以連續(xù)變化的脈沖信號,它為環(huán)形分配器提供脈沖序列,環(huán)形分配器的主要功能是把來自控制環(huán)節(jié)的脈沖序列按一定的規(guī)律分配后,經(jīng)過功率放大器的放大加到步進電機驅(qū)動電源的各項輸入端,以驅(qū)動步進電機的轉(zhuǎn)動,環(huán)形分配器主要有兩大類:一類是用計算機軟件設(shè)計的方法實現(xiàn)環(huán)形分配器要求的功能,通常稱軟環(huán)形分配器。另一類是用硬件構(gòu)成的環(huán)形分配器,通常稱硬環(huán)形分配器。功率放大器主要對環(huán)形分配器的較小輸出信號進行放大,以達到驅(qū)動步進電機的目的,步進電機的基本控制包括轉(zhuǎn)向控制和速度控制兩個方面。從結(jié)構(gòu)上

6、看,步進電機分為三相單三拍、三相雙三拍和三相六拍3種,其基本原理如下:(1)換相順序的控制通電換相這一過程稱為脈沖分配。例如,三相步進電機在單三拍的工作方式下,其各相通電順序為ABCA,通電控制脈沖必須嚴格按照這一順序分別控制A、B、C相的通斷。三相雙三拍的通電順序為ABBCCAAB,三相六拍的通電順序為AABBBCCCAA。(2)步進電機的換向控制如果給定工作方式正序換相通電,步進電機正轉(zhuǎn)。若步進電機的勵磁方式為三相六拍,即AABBBCCCAA。如果按反序通電換相,即AACCCBBBAA,則電機就反轉(zhuǎn)。其他方式情況類似。(3)步進電機的速度控制如果給步進電機發(fā)一個控制脈沖,它就轉(zhuǎn)一步,再發(fā)一

7、個脈沖,它會再轉(zhuǎn)一步。兩個脈沖的間隔越短,步進電機就轉(zhuǎn)得越快。調(diào)整送給步進電機的脈沖頻率,就可以對步進電機進行調(diào)試。(4)步進電機的起??刂撇竭M電機由于其電氣特性,運轉(zhuǎn)時會有步進感。為了使電機轉(zhuǎn)動平滑,減小振動,可在步進電機控制脈沖的上升沿和下降沿采用細分的梯形波,可以減小步進電機的步進角,跳過電機運行的平穩(wěn)性。在步進電機停轉(zhuǎn)時,為了防止因慣性而使電機軸產(chǎn)生順滑,則需采用合適的鎖定波形,產(chǎn)生鎖定磁力矩,鎖定步進電機的轉(zhuǎn)軸,使步進電機轉(zhuǎn)軸不能自由轉(zhuǎn)動。 (5)步進電機的加減速控制在控制系統(tǒng)中,通過實驗發(fā)現(xiàn),如果信號變化太快,步進電機由于慣性跟不上電信號的變化,這時就會產(chǎn)生堵轉(zhuǎn)和失步象。所有步進電

8、機在啟動時,必須有加速過程,在停止時波形有減速過程。理想的加速曲線一般為指數(shù)曲線,步進電機整個降速過程頻率變化規(guī)律是整個加速過程頻率變化規(guī)律的逆過程。選定的曲線比較符合步進電機升降過程的運行規(guī)律,能充分利用步進電機的有效轉(zhuǎn)矩,快速響應(yīng)性好,縮短了升降速的時間,并可防止失步和過沖現(xiàn)象。實際的控制系統(tǒng)中,根據(jù)負載的情況來選擇步進電機。步進電機能響應(yīng)不失步的最高步進頻率稱為“啟動頻率”,于此類似“停止頻率”是指系統(tǒng)控制信號突然關(guān)斷,步進電機不沖過目標位置的最高步進頻率。電機的啟動頻率、停止頻率和輸出轉(zhuǎn)矩都要和負載的轉(zhuǎn)動慣量相適應(yīng),有了這些數(shù)據(jù),才能有效地對電機進行加減速控制。加速過程有突然施加的脈沖

9、啟動頻率f0。步進電機的最高啟動頻率(突跳頻率)一般為0.1KHz到34KHz,而最高運行頻率則可以達到N*102KHz,以超過最高啟動頻率的頻率直接啟動,會產(chǎn)生堵轉(zhuǎn)和失步的現(xiàn)象。在一般的應(yīng)用中,用PLC實現(xiàn)步進電機的加P減速控制,實踐上就是控制發(fā)脈沖的頻率。加速時,使脈沖頻率增高,減速則相反。如果使用定時器來控制電機的速度,加減速控制就是不斷改變定時中斷的設(shè)定值。速度從v1v2變化,如果是線性增加,則按給定的斜率加P減速;如果是突變,則按階梯加速處理。在此過程中要處理好兩個問題:速度轉(zhuǎn)換時間應(yīng)盡量短。為了縮短速度轉(zhuǎn)換的時間,可以采用建立數(shù)據(jù)表的方法。結(jié)合各曲線段的頻率和各段間的階梯頻率,就可

10、以建立一個連續(xù)的數(shù)據(jù)表,并通過轉(zhuǎn)換程序?qū)⑵滢D(zhuǎn)換為定時初始表。通過在不同的階段調(diào)用相應(yīng)的定時初值,就可控制電機的運行。定時初值的計算是在定時中斷外實現(xiàn)的,并不占用中斷時間,保證電機的高速運行。保證控制速度的精確性。要從一個速度準確達到另一個速度,就要建立一個校驗機制,以防超過或未達到所需速度。 (6)步進電機的換向控制步進電機換向時,一定要在電機降速停止或降到突跳頻率范圍之內(nèi)在換向,以免產(chǎn)生較大的沖擊而損壞電機。換向信號一定要在前一個方向的最后一個脈沖結(jié)束后以及下一個方向的第一個脈沖前發(fā)出。對于脈沖的設(shè)計主要要求其有一定的脈沖寬度、脈沖序列的均勻度及高低電平方式。在某一高速下的正、反向切換實質(zhì)包

11、含了降速換向加速3個過程。2.2 總體設(shè)計方框圖 根據(jù)C51芯片的工作方式設(shè)計總體設(shè)計方框圖如圖 2 所示。XTAL RST P3 電機B CP1.0P1.3 內(nèi)部時鐘產(chǎn)生電路 控制信號 ULN2803復(fù)位電路P0.0P0.6 數(shù)碼管顯示轉(zhuǎn)速和狀態(tài)鍵盤控制 電路P2.0P2.6 P AT89C51 圖2總體設(shè)計方框圖2.3 設(shè)計原理分析2.3.1元器件介紹:步進電機步進電機是數(shù)字控制電機,它將脈沖信號轉(zhuǎn)變成角位移,即給一個脈沖信號,步進電機就轉(zhuǎn)動一個角度,因此非常適合于單片機控制。步進電機區(qū)別于其他控制電機的最大特點是:它是通過輸入脈沖信號來進行控制的,即電機的總轉(zhuǎn)動角度由輸入脈沖數(shù)決定,而電

12、機的轉(zhuǎn)速由脈沖信號頻率決定。步進電機分三種:永磁式(PM),反應(yīng)式(VR)和混合式(HB),步進電機又稱為脈沖電機,是工業(yè)過程控制和儀表中一種能夠快速啟動,反轉(zhuǎn)和制動的執(zhí)行元件,其功用是將電脈沖轉(zhuǎn)換為相應(yīng)的角位移或直線位移,由于開環(huán)下就能實現(xiàn)精確定位的特點,使其在工業(yè)控制領(lǐng)域獲得了廣泛應(yīng)用。步進電機的運轉(zhuǎn)是由電脈沖信號控制的,其角位移量或線位移量與脈沖數(shù)成正比,每個一個脈沖,步進電機就轉(zhuǎn)動一個角度(不距角)或前進、倒退一步。步進電機旋轉(zhuǎn)的角度由輸入的電脈沖數(shù)確定,所以,也有人稱步進電機為數(shù)字/角度轉(zhuǎn)換器。四相步進電機的工作原理該設(shè)計采用了20BY-0型步進電機,該電機為四相步進電機,采用單極性

13、直流電源供電。只要對步進電機的各相繞組按合適的時序通電,就能使步進電機轉(zhuǎn)動。當(dāng)某一相繞組通電時,對應(yīng)的磁極產(chǎn)生磁場,并與轉(zhuǎn)子形成磁路,這時,如果定子和轉(zhuǎn)子的小齒沒有對齊,在磁場的作用下,由于磁通具有力圖走磁阻最小路徑的特點,則轉(zhuǎn)子將轉(zhuǎn)動一定的角度,使轉(zhuǎn)子與定子的齒相互對齊,由此可見,錯齒是促使電機旋轉(zhuǎn)的原因。步進電機的靜態(tài)指標及術(shù)語相數(shù):產(chǎn)生不同隊N、S磁場的激磁線圈對數(shù),常用m表示。拍數(shù):完成一個磁場周期性變化所需脈沖用n表示,或指電機轉(zhuǎn)過一個齒距角所需脈沖數(shù),以四相電機為例,有四相四拍運行方式即ABBCCDDAAB,四相八拍運行方式即AABBBCCCDDDAA。步距角:對應(yīng)一個脈沖信號,電

14、機轉(zhuǎn)子轉(zhuǎn)過的角位移用表示。=360度(轉(zhuǎn)子齒角運行拍數(shù)),以常規(guī)二、四相,轉(zhuǎn)子齒角為50齒角電機為例。四相運行時步距角為=360度/(50*4)=1.8度,八拍運行時步距角為=360度/(50*8)=0.9度。定位轉(zhuǎn)矩:電機在不通電的狀態(tài)下,電機轉(zhuǎn)子自身的鎖定力矩(由磁場齒形的諧波以及機械誤差造成的)。靜轉(zhuǎn)矩:電機在額定靜態(tài)作業(yè)下,電機不做旋轉(zhuǎn)運動時,電機轉(zhuǎn)軸的鎖定力矩。此力矩是衡量電機體積的標準,與驅(qū)動電壓及驅(qū)動電源等無關(guān)。雖然靜態(tài)轉(zhuǎn)矩與電磁激磁匝數(shù)成正比,與定子和轉(zhuǎn)子間的氣隙有關(guān)。但過分采用減小氣隙,增加勵磁匝數(shù)來提高靜轉(zhuǎn)矩是不可取的,這樣會造成電機的發(fā)熱及機械噪音。 四相步進電機的脈沖分

15、配規(guī)律目前,對步進電機的控制主要有分散器件組成的環(huán)形脈沖分配器、軟件環(huán)形脈沖分配器、專用集成芯片環(huán)形脈沖分配器等。本設(shè)計利用單片機進行控制,主要是利用軟件進行環(huán)形脈沖分配。四相步進電機的工作方式為四相單四拍,雙四拍和四相八拍工作的方式。各種工作方式在電源通電時的時序與波形分別如圖1 a、b、c所示。本設(shè)計的電機工作方式為四相單四拍,根據(jù)步進電機的工作的時序和波形圖,總結(jié)出其工作方式為四相單四拍時的脈沖分配規(guī)律,四相雙四拍的脈沖分配規(guī)律,在每一種工作方式中,脈沖的頻率越高,其轉(zhuǎn)速就越快,但脈沖頻率高到一定程度,步進電機跟不上頻率的變化后電機會出現(xiàn)失步現(xiàn)象,所以脈沖頻率一定要控制在步進電機允許的范

16、圍內(nèi)。2.3.2方案論證從該系統(tǒng)的設(shè)計要求可知,該系統(tǒng)的輸入量為速度和方向,速度應(yīng)該有增減變化,通常用加減按鈕控制速度,這樣只要2根口線,再加上一根方向線盒一根啟動信號線共需要4根輸入線。系統(tǒng)的輸出線與步進電機的繞組數(shù)有關(guān)。 這里選四相步進電機,該電機共有四相繞組,工作電壓為+5V,可以個單片機共用一個電源。步進電機的四相繞組用P1口的P1.0P1.3控制,由于P1口驅(qū)動能力不夠,因而用一片2803增加驅(qū)動能力。用P0口控制第一數(shù)碼管用于顯示正反轉(zhuǎn),用P2口控制第二個數(shù)碼管用于顯示轉(zhuǎn)速等級。數(shù)碼管采用共陽的。2.3.3硬件設(shè)計 本設(shè)計的硬件電路只要包括控制電路、最小系統(tǒng)、驅(qū)動電路、顯示電路四大

17、部分。最小系統(tǒng)只要是為了使單片機正常工作??刂齐娐分灰砷_關(guān)和按鍵組成,由操作者根據(jù)相應(yīng)的工作需要進行操作。顯示電路主要是為了顯示電機的工作狀態(tài)和轉(zhuǎn)速。驅(qū)動電路主要是對單片機輸出的脈沖進行功率放大,從而驅(qū)動電機轉(zhuǎn)動。 (1)控制電路根據(jù)系統(tǒng)的控制要求,控制輸入部分設(shè)置了啟動控制,換向控制,加速控制和減速控制按鈕,分別是K1、K2、S2、S3,控制電路如圖4所示。通過K1、K2狀態(tài)變化來實現(xiàn)電機的啟動和換向功能。當(dāng)K1、K2的狀態(tài)變化時,內(nèi)部程序檢測P1.0和P1.1的狀態(tài)來調(diào)用相應(yīng)的啟動和換向程序,發(fā)現(xiàn)系統(tǒng)的電機的啟動和正反轉(zhuǎn)控制。根據(jù)步進電機的工作原理可以知道,步進電機轉(zhuǎn)速的控制主要是通過控

18、制通入電機的脈沖頻率,從而控制電機的轉(zhuǎn)速。對于單片機而言,主要的方法有:軟件延時和定時中斷在此電路中電機的轉(zhuǎn)速控制主要是通過定時器的中斷來實現(xiàn)的,該電路控制電機加速度主要是通過S2、S3的斷開和閉合,從而控制外部中斷根據(jù)按鍵次數(shù),改變速度值存儲區(qū)中的數(shù)據(jù)(該數(shù)據(jù)為定時器的中斷次數(shù)),這樣就改變了步進電機的輸出脈沖頻率,從而改變了電機的轉(zhuǎn)速。 圖4 控制原理圖 (2)驅(qū)動電路通過ULN2803構(gòu)成比較多的驅(qū)動電路,電路圖如圖5所示。通過單片機的P1.0P1.3輸出脈沖到ULN2803的1B4B口,經(jīng)信號放大后從1C4C口分別輸出到電機的A、B、C、D相。圖 5 步進電機驅(qū)動電路(4)顯示電路在該

19、步進電機的控制器中,電機可以正反轉(zhuǎn),可以加速、減速,其中電機轉(zhuǎn)速的等級分為七級,為了方便知道電機的運行狀態(tài)和電機的轉(zhuǎn)速的等級,這里設(shè)計了電機轉(zhuǎn)速和電機的工作狀態(tài)的顯示電路。在顯示電中,主要是利用了單片機的P0口和P2口。采用兩個共陽數(shù)碼管作顯示。第一個數(shù)碼管接的a、b、c、d、e、f、g、h分別接P0.0P0.7口,用于顯示電機正反轉(zhuǎn)狀態(tài),正轉(zhuǎn)時顯示“1”,反轉(zhuǎn)時顯示“一”,不轉(zhuǎn)時顯示“0”。第二個數(shù)碼管的a、b、c、d、e、f、g、h分別接P2.0P2.7口,用于顯示電機的轉(zhuǎn)速級別,共七級,即從17轉(zhuǎn)速依次遞增,“0”表示轉(zhuǎn)速為零。電路如圖6所示。 圖 6 顯示電路 (5)總體電路圖把各個部

20、分的電路圖組合成總電路圖,如圖 7所示。圖7 Proteus仿真圖 繪制原理圖和PCB圖是注意庫中沒有的原件要自己會出,注意電氣特性。PCB圖布線要盡量少交叉。圖 8 Protel電子線路原理圖圖9 PCB圖2.3.4元件清單表三 元件名稱、大小和封裝形式.元件名稱 大小 封裝形式R11KAXIAL0.4R610KAXIAL0.3R410KAXIAL.3R510KAXIAL0.3R310KAXIAL0.3X112MHZXTAL1C122RB.2/.4C222pFRAD0.1C322pFRAD0.1R2100AXIAL0.3R7100AXIAL0.3R8100AXIAL0.3A2AMBERCAD

21、IP12A1AMBERCADIP12U1AT89C51DIP40U3MOTOR STEPPERTO-3S2SW-PBDIPS3SW-PBDIP4S5SW SPDTSDPTU2ULN2803DIP182.3.5 軟件設(shè)計 (1)系統(tǒng)初始狀態(tài)的設(shè)置內(nèi)容較多,該系統(tǒng)中,需要初始化定時器、外部中斷;對P口送初值以決定脈沖分配方式,速度值存儲區(qū)送初值決定步進電機的啟動速度,對方向值存儲區(qū)送初值決定步進電機旋轉(zhuǎn)方向等內(nèi)容。若初始化P1=11H、速度和方向初始值均設(shè)為0,就意味著步進電機按四相單四拍運行,系統(tǒng)上電后在沒有操作的情況下,步進電機不旋轉(zhuǎn),方向值顯示“0”,速度值顯示“0”,主程序流程圖如圖10所

22、示。開始 初始化 顯示N啟動開關(guān)為0? Y 停止計時器N速度值為0? Y 停止計時器啟動計時器 延時圖10主程序流程圖 (2)定時中斷設(shè)計步進電機的轉(zhuǎn)動主要是給電機各繞組按一定的時間間隔連續(xù)不斷地按規(guī)律通入電流,步進電機才會旋轉(zhuǎn),時間間隔越短,速度就快。在這個系統(tǒng)中,這個時間間隔是用定時器重復(fù)中斷一定次數(shù)產(chǎn)生的,即調(diào)節(jié)時間間隔就是調(diào)節(jié)定時器的中斷次數(shù),因而在定時器中斷程序中,要做的工作主要是判斷電機的運行方向、發(fā)下一個脈沖,以及保存當(dāng)前的各種狀態(tài)。程序流程圖如圖11所示。 T0中斷入口 保護現(xiàn)場N中斷次數(shù)-1=0? YY 讀方向指示 發(fā)速度脈沖 重送相關(guān)狀態(tài) 恢復(fù)現(xiàn)場 中斷返回圖 11定時中斷

23、程序流程 (3)外部中斷設(shè)計外部中斷所要完成的工作是根據(jù)按鍵次數(shù),改變速度值存儲區(qū)中的數(shù)據(jù)(該數(shù)據(jù)為定時器的中斷次數(shù)),這樣就改變了步進電機的輸出脈沖頻率,也就是改變了電機的轉(zhuǎn)速。速度增加按鈕S2為INT0中斷,其程序流程為原數(shù)據(jù),當(dāng)值等于7時,不改變原數(shù)值返回,小于7時,數(shù)據(jù)加1后返回;速度減少按鈕S3,當(dāng)原數(shù)據(jù)不為0,減1保存數(shù)據(jù),原數(shù)據(jù)為0則保持不變。程序流程圖如圖12所示。 外部中斷入口 保護現(xiàn)場 延時去抖速度=上限值? YN 速度值±1 按鈕是否彈起?N Y 恢復(fù)現(xiàn)場 中斷返回圖 12外部中斷程序流程圖(4) 源程序 SPEED EQU 10H ;SPEED為轉(zhuǎn)速等級標志,

24、共7級,即17 FX EQU 11H ;FX 為方向標志 COUNT EQU 12H ;COUNT中斷次數(shù)標志 ORG 0000H AJMP MAIN ORG 0003H ;外部中斷0入口地址,加速子程序 AJMP UP ORG 0013H ;外部中斷1入口地址,減速子程序 AJMP DOWN ORG 000BH ;定時器0中斷入口地址,控制中斷次數(shù)來達到控制轉(zhuǎn)速 AJMP ZDT0 ORG 0030H MAIN: MOV SP,#60H MOV TMOD,#01H ;工作于定時、軟件置位啟動,模式1(16 位計時器) MOV TH0,#0CFH MOV TL0,#2CH MOV COUNT,

25、#01H SETB ET0 ;定時/計數(shù)器允許中斷 CLR IT0 ;外部中斷為電平觸發(fā)方式,低電平有效 CLR IT1 SETB EX0 ;外部允許中斷 SETB EX1 SETB EA ;開總中斷 MOV R1,#11H ;四相單四拍運行,共陽數(shù)碼管方向顯示8,速度值顯示0 MOV SPEED,#00H MOV FX,#00H XIANS: MOV A,SPEED MOV DPTR,#LED MOVC A,A+DPTR ;查表獲取等級對應(yīng)數(shù)碼管代碼 MOV P2,A ;第二個數(shù)碼管顯示轉(zhuǎn)速等級 MOV A,FX ;準備判斷轉(zhuǎn)向 CJNE A,#11H,ELS MOV P0, #0F9H ;

26、第一個數(shù)碼管顯示 1,表示正轉(zhuǎn) AJMP QD ELS: CJNE A,#00H,ZHENG MOV P0,#0C0H ;第一個數(shù)碼管顯示 0,表示不轉(zhuǎn) AJMP QD ZHENG: MOV P0,#0BFH ;第一個數(shù)碼管顯示-,表示反轉(zhuǎn) QD: JB P3.4,DD ;P3.4 接啟動開關(guān) K1,P3.4=1 時啟動 CLR TR0 ;停止定時/計數(shù)器 MOV P0,#0C0H ;第一個數(shù)碼管顯示 0,表示不轉(zhuǎn) MOV P2,#0C0H ;第二個數(shù)碼管顯示 0,表示轉(zhuǎn)速為 0 MOV SPEED,#00H ;重新賦初值 MOV FX,#00H AJMP QD DD: MOV A,SPEED

27、 JNZ GO ;A 不等于 0,即初始速度不為零,則轉(zhuǎn)移到 GO CLR TR0 ;停止定時/計數(shù)器 AJMP QD GO: SETB TR0 ;開啟定時/計數(shù)器 ACALL DELAY AJMP XIANS DELAY: MOV R6,#10 ;延時子程序 DEL1: MOV R7,#250 HERE1: DJNZ R7, HERE1 DJNZ R6,DEL1 RET ;以下 ZDT0 為定時器中斷程序 ZDT0: PUSH ACC PUSH DPH PUSH DPL MOV TH0,#0D8H MOV TL0,#0F0H DJNZ COUNT,EXIT JB P3.5,NIZHUAN ;

28、查詢方向標志,P3.5 接換向開關(guān) K2 MOV FX,#11H NIZHUAN:MOV A,FX CJNE A,#11H,FZ ;若A不等于11,即正轉(zhuǎn),則轉(zhuǎn)移到 FZ MOV A,R1 ;R1 記錄上一次電機脈沖狀態(tài) MOV P1,A RR A ;循環(huán)右一位 MOV R1,A MOV P1,A AJMP RE FZ: MOV A,R1 MOV P1,A RL A ;循環(huán)左移一位 MOV P1,A MOV R1,A RE: MOV A,SPEED MOV DPTR,#TAB MOVC A,A+DPTR MOV COUNT,A ;把轉(zhuǎn)速級別賦給 COUNT JB P3.5 ,FFX ;P3.5

29、 接換向開關(guān)K2, 即換向位,若P3.5=1,則跳到 FFX MOV FX,#11H AJMP EXITFFX: MOV FX,#0FEH;只要FX不等于11H,就可以通過循環(huán)左移或右移進行換向 EXIT: POP DPL POP DPH POP ACC RETI;以下 UP 為加速中斷程序 UP: PUSH ACC ACALL DELAY ;延時防抖 JB P3.2,UPEX ;P3.2 為外部中斷0位,接增速開關(guān)S2,低電平有效,若 3.2=1,則退出MOV A,SPEED CJNE A,#7,SZ ;最大等級為 7,若 A 不等于 7,則轉(zhuǎn)移到 SZ AJMP UPEX ;若 A=7,則

30、退出 SZ: INC SPEED ;SPEED= SPEED+1 UPEX: POP ACC HERE2: JNB P3.2,HERE2 ;本條指令為防止開關(guān) S2 按下去后彈不起,導(dǎo)致一直產(chǎn)生中斷 RETI;以下 DOWN 為減速中斷程序 DOWN: PUSH ACC ACALL DELAY JB P3.3,DEX ;P3.3 為外部中斷1位,接減速開關(guān)S3,低電平有效, P3.3=1則退出 MOV A,SPEED CJNE A,#0,SJ AJMP DEX SJ: DEC SPEED ;SPEED= SPEED-1 DEX: POP ACC HERE3: JNB P3.3,HERE3 RE

31、TI TAB: DB 0,60,40,35,30,28,25,21 ;經(jīng)仿真,小于21時,由于脈沖太快,會出現(xiàn)失 步 ; LED: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,98H END總結(jié) 本設(shè)計通過分析步進電機結(jié)構(gòu)、工作原理,查閱步進電機控制系統(tǒng)的相關(guān)科技文獻,遵循實用、簡單、可靠和低成本的原則,設(shè)計了一種既可用于精度要求不高,但控制需完備的場合。對本次設(shè)計,有以下結(jié)論: (1)采用單片機為控制核心,利用其強大的功能,把鍵盤和顯示電路有機的結(jié)合起來,組成一個操作方便、交互性強的控制系統(tǒng)。而且整個系統(tǒng)所包含的技術(shù)幾乎包括了現(xiàn)本科學(xué)校控制專業(yè)所要

32、求的知識,有利于實踐教學(xué)取得最大效果。 (2)鍵盤電路和顯示電路采用了動態(tài)掃描技術(shù),節(jié)約了單片機資源。 (3)系統(tǒng)軟件采用結(jié)構(gòu)化設(shè)計,具有易維護性,根據(jù)用戶新的要求,對軟件系統(tǒng)進行少量的修改,使系統(tǒng)功能得到一定程度的提高。致謝 本人深知自己做的課設(shè)還很不夠,由于軟件和硬件的各方面原因,系統(tǒng)的應(yīng)用討論不夠,精度還有待于進一步提高。由于時間的原因,設(shè)備的原因,實驗做的不夠好,相關(guān)驗證性的數(shù)據(jù)、信息不夠豐富??梢钥隙?,隨著技術(shù)的不斷發(fā)展,步進電機的控制應(yīng)用前景將越來越寬闊,而其控制系統(tǒng)也將向著智能化和網(wǎng)絡(luò)化的方向發(fā)展。本課程設(shè)計的研究和探討還遠遠不夠,我們要在現(xiàn)在的基礎(chǔ)上,不斷吸取新的技術(shù)和方法,并將它們應(yīng)用于本課題的研究上來,進一步深化我們的研究深度,爭取有更多的收獲。同時感謝這次課程設(shè)計給予我們指導(dǎo)的老師和給與我?guī)椭耐瑢W(xué)!參考文獻(1)張家生.電機原理與拖動基礎(chǔ).北京:北京郵電大學(xué)出版社,2006.(2)馬淑華,王鳳文,張美金.單片機原理與接口技術(shù).北京:北京郵電大學(xué)出版社,2007.(3)顧德英,張健,馬淑華.計算機控制技術(shù).北京:北京郵電大學(xué)出版社,2006.(4)華成英,童詩白.模擬電子技術(shù)基礎(chǔ).北京:高等教育出版社,2008(5)張靖武,周靈彬.單片機系統(tǒng)的PROTEUS設(shè)計與仿真.北京:電子工業(yè)出版社

溫馨提示

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

評論

0/150

提交評論