單片機控制步進電機軟件系統實現_第1頁
單片機控制步進電機軟件系統實現_第2頁
單片機控制步進電機軟件系統實現_第3頁
單片機控制步進電機軟件系統實現_第4頁
單片機控制步進電機軟件系統實現_第5頁
已閱讀5頁,還剩27頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、畢業設計(論文)設計(論文)題目單片機控制步進電機軟件系統實現姓 名:學 號:學 院:專 業:年 級指導教師:目 錄摘 要1Abstract1一、引言3(一)設計概述3(二)本設計的主要任務及功能3二、單片機簡介3(一)單片機概論3(二)單片機的主要特點3(三)單片機的選型4三、步進電動機的簡介6(一)步進電動機的基本參數6(二)步進電動機的分類8(三)步進電機通電方式與運行原理9(四)步進電機的速度控制10四、系統軟件設計11(一)系統初始化12(二)系統待機,鍵盤掃描13(三)步進電機運行,脈沖輸出16(四)下位機數據接收18(五)系統仿真19五、總結20(一)結論21(二)結語21參考文

2、獻22附 錄23謝 辭27摘 要 近年來,隨著微電子技術、電力電子技術和單片機技術的發展,以及數控系統的廣泛應用,促進了步進電機的驅動和控制系統的發展,使步進電動機在機械、輕工、精密機械等領域,特別是數控機床上得到了廣泛的應用。步進電機具有控制簡便定位準確等特點,鑒于傳統的脈沖系統移植性不好,本設計使用單片機控制系統代替脈沖發生器和脈沖分配器,用軟件的方法產生控制脈沖,通過軟件編程可以方便的控制步進電機的加減速和轉向。本設計采用51單片機來控制步進電機,并給出步進電機的三相單三拍和三相六拍的單片機控制的具體實現方法,用匯編程序對步進電機的轉速、方向進行控制。關 鍵 詞步進電機,單片機,控制系統

3、,軟件編程,匯編語言AbstractIn recent years, with microelectronics technology, power electronic technology and single-chip microcomputer technology development, and the wide application of CNC system, promote the stepping motor drive and control system development, make the stepper motor in machinery, light i

4、ndustry, precision machinery, etc, especially CNC machine has been widely used. Stepper motor has the advantages of easy control and exact placement, whereas the transplant of tradtional pulse is poor, this design using portable single-chip microcomputer control system in place of the pulse generato

5、r and pulse splitter, use software method control pulse through programming can easily control the stepping motor deceleration and steering. This design USES the 51-series microcomputer to control and stepper motors, step motor three-phase list three clap and three-phase six-step clap of single-chip

6、 microcomputer control, using the method of stepping motor assembly program to control the speed and direction. Key wordsStepping motor,Single Chip Microcomputer,Control system,Software programming,Assembly language一, 引言在工業控制系統中,通常要控制機械部件的平移和傳動,對位移和角度的控制要求較高,一般電機很難實現對位置和角度的精確控制,而步進電機可精確實現所設定的角度和轉數,具

7、有良好的步進特性,最適合于數字控制,步進電動機的位移與輸入脈沖數成正比。因此,當它轉一轉后沒有累計誤差,具有良好的跟隨性。由步進電動機與驅動電路組成的開環數控系統,既簡單廉價,又可靠。而且步進電動機的動態響應快,易于起停、正反轉及變速。因此被廣泛應用于開環數控機床、繪圖儀、自動記錄儀表等。而單片機芯片體積小,兼容性強,高速度,低價格,低工作電壓,低功耗等特點,使單片機成為驅動步進電機的最佳控制單元。用單片機控制步進電機的驅動電源是近年來發展起來的一種新型步進電機驅動電源的控制方式。利用單片機控制步進電機不僅靈活、方便、便于實現、編程容易、節約成本,并且結構簡單、可靠性好、抗干擾能力強,因此可在

8、工業領域中得到廣泛應用。(一),設計概述本設計的功能是實現一個基于51單片機控制的三相步進電機系統,由單片機產生驅動脈沖信號,步進電機的驅動器收到驅動脈沖信號后,步進電機將會按照設定的方向轉動一個固定的角度,將電脈沖轉化成角位移。電機的轉速由脈沖信號頻率來控制決定,可以通過控制脈沖的個數來控制角位移量從而達到調速的目的。(二),本設計的主要任務及功能結合對步進電機的了解,然后對步進電機的控制原理和驅動方式作系統的說明,采用51單片機來控制步進電機,并給出步進電機的三相單三拍和三相六拍的單片機控制的具體實現方法,用匯編程序對步進電機的轉速、方向進行控制。 主要內容如下:1.通過控制面板鍵盤來控制

9、步進電機的轉向、模式及加減速。2.通過上位機控制面板來控制步進電機的轉向、模式及加減速。二, 單片機簡介(一) ,單片機概論單片機微型計算機是微型計算機的一個重要分支,也是頗具生命力的機種。單片機微型計算機簡稱單片機,特別適用于控制領域,故又稱為微控制器。通常,單片機由單塊集成電路芯片構成,內部包含有計算機的基本功能部件:中央處理器、存儲器和I/O接口電路等。因此,單片機只需要和適當的軟件及外部設備相結合,便可成為一個單片機控制系統。(二),單片機的主要特點單片機在結構上的最大特點是把CPU、存儲器、定時器和多種輸入/輸出接口電路集成在一塊超大規模集成電路芯片上。就其組成和功能而言,一塊單片機

10、芯片就是一臺計算機。 由于單片機的這C種結構形式及它所采取的半導體工藝,使其具有很多顯著的特點,因而在各個領域都得到了迅猛的發展。單片機主要發如下特點:1.有優異的性能價格比。 2.集成度高、體積小、有很高的可靠性。單片機把各功能部件集成在一塊芯片上,內部采用總線結構,減少了各芯片之間的連線,大大提高了單片機的可靠性與抗干擾能力。另外,其體積小,對于強磁場環境易于采取屏蔽措施,適合在惡劣環境下工作。 3.控制功能強。為了滿足工業控制的要求,一般單片機的指令系統中均有極豐富的轉移指令、I/O口的邏輯操作以及位處理功能。單片機的邏輯控制功能及運行速度均高于同一檔次的微機。 4.低功耗、低電壓,便于

11、生產便攜式產品。 5.外部總線增加了I C及SPI等串行總線方式,進一步縮小了體積,簡化了結構。 6.單片機的系統擴展和系統配置較典型、規范,容易構成各種規模的應用系統。(三),單片機的選型本課題對單片機沒有什么特殊要求,因此選擇了市場上比較主流的51系列單片機,具體使用AT89C51片子,51單片機內部具有的硬件資源如圖1所示。外部中斷中斷控制4kBEPROMCPUOSC總線控制128BRAM48 I/O口定時器1定時器0串行口P0 P1 P2 P3TXD RXD計數器輸入 圖1,51單片機內部結構 該單片機具有以下特點:1.與MCS-51系列單片機兼容; 2.4K字節可編程閃爍存儲器;3.

12、壽命:1000寫/擦循環;4.數據保留時間:10年;5.全靜態工作:0Hz-24Hz;6.三級程序存儲器鎖定;7.128*8位內部RAM;8.32可編程I/O線;9.兩個16位定時器/計數器;10.5個中斷源 ;11.可編程串行通道;12.低功耗的閑置和掉電模式;13.片內振蕩器和時鐘電路。AT89C51單片機的引腳 圖2,80C51VCC:供電電壓。 GND:接地。 P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當P1口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數據存儲器,它可以被定義為數據/地址的第八位。在FIASH編程時,P0 口作為原碼輸入口,

13、當FIASH進行校驗時,P0輸出原碼,此時P0外部必須被拉高。 P1口:P1口是一個內部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內部上拉的緣故。在FLASH編程和校驗時,P1口作為第八位地址接收。 P2口:P2口為一個內部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當P2口被寫“1”時,其管腳被內部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內部上拉的緣故。P2口當用于外部程序存儲器或16位地址外部數

14、據存儲器進行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內部上拉優勢,當對外部八位地址數據存儲器進行讀寫時,P2口輸出其特殊功能寄存器的內容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。 P3口:P3口管腳是8個帶內部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當P3口寫入“1”后,它們被內部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。 RST:復位輸入。當振蕩器復位器件時,要保持RST腳兩個機器周期的高電平時間。 ALE/PROG:當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節

15、。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當用作外部數據存儲器時,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時, ALE只有在執行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執行狀態ALE禁止,置位無效。/PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次/PSEN有效。但在訪問外部數據存儲器時,這兩次有效的/PSEN信號將不出現。/EA/VPP:當/EA

16、保持低電平時,則在此期間外部程序存儲器(0000H-FFFFH),不管是否有內部程序存儲器。注意加密方式1時,/EA將內部鎖定為RESET;當/EA端保持高電平時,此間內部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。XTAL1:反向振蕩放大器的輸入及內部時鐘工作電路的輸入。XTAL2:來自反向振蕩器的輸出。三, 步進電動機的簡介進電機又稱脈沖電機或階躍電機,是一種將脈沖信號變換成相應的角位移(或線位移)的電磁裝置,是一種特殊的電動機。一般電動機都是連續轉動的,而步進電動機則有定位和運轉兩種基本狀態,當有脈沖輸入肘步進電動機一步一步地轉動,每給它一個脈沖信號,它就

17、轉過一定的角度。步進電動機的角位移量和輸入脈沖的個數嚴格成正比,在時間上與輸入脈沖同步,因此只要控制輸入脈沖的數量、頻率及電動機繞組通電的相序,便可獲得所需的轉角、轉速及轉動方向。在沒有脈沖輸入時,在繞組電源的激勵下氣隙磁場能使轉子保持原有位置處于定位狀態。 (一),步進電動機的基本參數1.步距角指每給一個電脈沖信號步進電動機所應轉過的角度的理論值。用b表示步則有式中,Zr二轉子齒數,步進電動機及其速度控制ml一運行拍數,通常等于相數或相數的整數倍。2.齒距角相鄰兩齒中心線間的夾角,通常定子和轉子具有相同的齒距角。齒距式中,Zr為轉子齒數3.零位或初始穩定平衡位置指不改變繞組通電狀態,轉子在理

18、想空載狀態下的平衡位置。4.失調角失調角是指轉子偏離零位的角度。5.矩角特性矩角特性是指不改變各相繞組的通電狀態,即一相或幾相繞組同時通電流時,電磁轉矩與失調角的關系,即T=f(e),如圖3所示 圖3,矩角特性6.最大靜轉矩矩角特性上轉矩最大值稱為最大靜轉矩。7.最大靜轉矩特性繞組電流改變時,最大靜轉矩與相應電流的關系稱為最大靜轉矩特性8.精度步進電動機的精度有兩種表示方法:一種是用步距誤差最大值來表示種是用步距累積誤差最大值來表示。最大步距誤差是指電機旋轉一周內相鄰兩步之間最大步距和理想步距值,用理想步距的百分數表示。最大累積誤差是指任意位置開始經過任意步之間,角位移誤差的最大9.響應頻率在

19、某一頻率范圍內步進電動機可以任意運行而不會丟失一步,則這一最大率稱為響應頻率。通常用起動頻率來做為衡量的指標。它是指在一定負載下直起動而不失步的極限頻率,稱為極限起動頻率或跳變頻率。10.運行頻率指拖動一定負載使頻率連續上升時,步進電動機能不失步運行的極限頻率。11.起動矩頻特性在給定的驅動條件下,負載慣量一定時,起動頻率與負載轉矩之間的關系為起動矩頻特性,又稱為牽入特性。如圖4所示 圖4,矩頻特性12.運行矩頻特性在負載慣量不變時,運行頻率與負載轉矩之間的關系稱為運行矩頻特性,稱為牽出特性。如圖4所示。13. 慣頻特性在負載力矩一定時,頻率和負載慣量之間的關系,稱為慣頻特性。慣頻特性又分為起

20、動慣頻特性和運行慣頻特性。如圖5所示 圖5,慣頻特性14.單步響應單步響應是指步進電動機在帶電不動的情況下,改變一次脈沖電壓,轉起動到停止的運動軌跡。如圖6所示。 圖6,單步響應 (二),步進電動機的分類 步進電動機的種類很多,從廣義上講,步進電機的類型分為機械式、電磁式和組合式三大類型。按結構特點電磁式步進電機可分為反應式(VR)、永磁式(PM)和混合式(HB)三大類;按相數分則可分為單相、兩相和多相三種。目前使用最為廣泛的為反應式和混合式步進電機。1.反應式步進電機(VR),反應式步進電機的轉子是由軟磁材料制成的,轉子中沒有繞組。它的結構簡單,成本低,步距角可以做得很小,但動態性能較差。反

21、應式步進電機有單段式和多段式兩種類型。2.永磁式步進電機(PM),永磁式步進電機的轉子是用永磁材料制成的,轉子本 身就是一個磁源。轉子的極數和定子的極數相同,所以一般步距角比較大。它輸出轉矩大,動態性能好,消耗功率小(相比反應式),但啟動運行頻率較低,還需要正負脈沖供電。3.混合式步進電機(HB),混合式步進電機綜合了反應式和永磁式兩者的優點。混合式與傳統的反應式相比,結構上轉子加有永磁體,以提供軟磁材料的工作點,而定子激磁只需提供變化的磁場而不必提供磁材料工作點的耗能,因此該電機效率高,電流小,發熱低。因永磁體的存在,該電機具有較強的反電勢,其自身阻尼作用比較好,使其在運轉過程中比較平穩、噪

22、聲低、低頻振動小。由于能夠開環運行以及控制系統比較簡單,因此這種電機在工業領域中得到廣泛應用。由于本設計的設計目的更注重整個系統的有機結合,所以只采用反應式步進電機。反應式步進電動機的典型結構如圖7所示 圖7,反應式步進電動機的典型結構(三),步進電機通電方式與運行原理 本設計主要涉及了三相六拍和三相單三拍步進電動機的通電方式,下面就這兩種通電方式加以介紹。工作時以電脈沖向A、B、C三相控制繞組輪流通入直流電流,轉子就會一步步地轉動。因輪流通電方式的不同,三相反應式步進電動機有三相單三拍、三相雙三拍、三相六拍等三種通電方式。每改變一次通電狀態為一拍。“三拍”指一個通電循環為三拍,“六拍”則指一

23、個通電循環為六拍。“單”是指每拍只有一相繞組通電,“雙”則指每拍有兩相繞組通電。三相六拍是單、雙拍方式。1.單三拍通電方式的基本原理設A相首先通電(B、C兩相不通電),產生A-A軸線方向的磁通,并通過轉子形成閉合回路。這時A、A極就成為電磁鐵的N、S極。在磁場的作用下,轉自總是力圖轉到磁阻最小的位置,也就是要轉到轉子的齒對齊A、A極的位置;接著B相通電(A、C兩相不通電),轉子便順時針方向轉過30,它的齒和C、C極對齊。不難理解,當脈沖信號一個一個發來時,如果按ACBA的順序通電,則電機轉子便逆時針方向轉動。這種通電方式稱為單三拍方式。 圖8單三拍通電方式2.六拍通電方式的基本原理設A相首先通

24、電,轉子齒與定子A、A對齊(圖9a)。然后再A相繼續通電的情況下接通B相。這時定子B、B極對轉子齒2、4產生磁拉力,是轉自順時針方向轉動,但是A、A極繼續拉住齒1、3,因此轉子轉到兩個拉力平衡為止。這時轉子的位置如圖2-3b所示,即轉子從圖2-3a位置順時針轉過15。接著A相斷電,B相繼續通電。這時轉子齒2、4和定子B、B極對齊圖(圖9c),轉子從(圖9b)的位置又轉過了15。其位置如圖9d所示。這樣,如果按AA、BBB、CCC、AA的順序輪流通電,則轉子便順時針方向一步一步的轉動,步角距15。電流交換六次,磁場旋轉一周,轉子前進了一個齒距角。如果按AA、CCC、BBB、AA的順序通電,則電機

25、轉子逆時針方向轉動。這種通電方式稱為六拍方式。 圖9,六拍通電方式(四),步進電機的速度控制如果給步進電機發一個控制脈沖,它就轉一步,再發一個脈沖,它會再轉一步。2個脈沖的間隔越短,步進電機就轉得越快。調整送給步進電機的脈沖頻率,就可以對步進電機進行調速。步進電機的加減速控制在步進電機控制系統中,通過實驗發現,如果信號變化太快,步進電機由于慣性跟不上電信號的變化,這時就會產生堵轉和丟步現象。所以,步進電機在啟動時,必須有加速過程,在停止時必須有減速過程。理想的加速曲線一般為指數曲線,步進電機整個減速過程的頻率變化規律是整個加速過程頻率變化規律的逆過程。選定的曲線比較符合步進電機加減速過程的運行

26、規律,能充分利用步進電機的有效轉矩 ,快速響應性好,縮短加減速的時間,并可防止失步和過沖現象。在一個實際的控制系統中,要根據負載的情況來選擇步進電機。步進電機能響應而不失步的最高步進頻率稱為 “啟動頻率”,與此類似 , “停止頻率” 是指系統控制信號突然關斷,步進電機不沖過目標位置的最高步進頻率。電機的啟動頻率、停止頻率和輸出轉矩都要和負載的轉動慣量相適應,有了這些數據 ,才能有效地對電機進行加減速控制。加速過程由突跳頻率加加速曲線組成(減速過程反之)。突跳頻率是指步進電機在靜止狀態時突然施加的脈沖啟動頻率 f 0。步進電機的最高起動頻率(突跳頻率)一般為 0. 1 kHz 到 34 kHz

27、,而最高運行頻率則可以達到 N 102kHz。以超過最高起動頻率的頻率直接起動 ,會產生堵轉和丟步的現象。較為理想的起動曲線應是按指數規律起動。但實際應用時對起動段的處理可采用按直線擬合的方法 ,即階梯加速法。一般可按2種情況處理。(1)已知突跳頻率,則按突跳頻率分段起動,分段數 n = f/f0;(2)未知突跳頻率,則按段擬合至給定的起動頻率 ,每段頻率的遞增量(也稱階梯頻率)f = f/8 ,即采用8段擬合。在運行控制過程中,將起始的速度(頻率)分為 n 分 ,作為階梯頻率,采用階梯加速法將速度連續升到所需要的速度,然后鎖定,按預置的曲線運行,如圖10所示。 圖10,步進電機運行過程中頻率

28、變化曲線 用單片機實現步進電機的加/減速控制,實際上就是控制發脈沖的頻率。加速時,使脈沖頻率增高,減速時則相反。如果使用定時中斷來控制電機的速度 ,加減速控制就不斷改變定時器的初值。速度從v1v2 變化 ,如果是線性增加,則按給定的斜率加/減速;如果是突變,則按階梯加速法處理。四, 系統的軟件設計步進電機控制的最大特點是開環控制,不需要反饋信號。因為步進電機運動不產生旋轉量的誤差累計。由單片機實現的步進電機控制系統如圖11所示。 圖11,單片機控制步進電機 系統軟件主流程:系統上電復位后,先經過必要的參數初始化后,便進入按鍵查詢,等待操作,當有按鍵按下后,程序便調用相應的子程序運行。流程圖如圖

29、12所示。 圖12,系統的主流程圖(一),系統初始化即對相應的系統參數進行初始化,包括系統上電默認的運行參數設定(正向、速度50R/MIN、三相單三拍、連續運行模式)、系統各指針復位、中斷設定、定時器設定、堆棧設定、變量初始值設定等等。 圖13主要程序如下:MAIN: MOV SP,#60H ;將堆棧SP地址置為01100000 MOV R2,#01H ;對步進電機轉向控制單元R2賦初值,默認正轉 MOV R4,#01H ;R4為模式控制單元,默認是三相單三拍 MOV P1,#0F0H ;程序通電執行時,電機默認停機 MOV TMOD,#01H ;置定時0為方式1 MOV TH0,#0D8H

30、;為定時器0賦初值,默認初速為50R/MIN MOV TL0,#0F0H MOV 25H,#0FFH ;設置調速單元低八位 MOV 24H,#00H ;設置調速單元高八位 SETB EA ;開單片機總中斷 SETB ET0 ;開定時器/計數器0允許 MOV R0,#00H ;設定查表初值 MOV R7,#5 ;初始速度檔數 (二),系統待機,鍵盤掃描 系統經過初始化后,便進入待機狀態,等待鍵入相應操作 鍵盤掃描流程圖: 圖14,鍵盤掃描流程圖定義按鍵變量: K0 EQU P0.0 ;起、停鍵 K1 EQU P0.1 ;加速鍵 K2 EQU P0.2 ;減速鍵 K3 EQU P0.3 ;正反轉控

31、制鍵 K4 EQU P0.4 ;模式選擇鍵:三相單三拍 K5 EQU P0.5 ;模式選擇鍵:三相六拍鍵盤掃描程序:KEY0: JB K0,KEY1 ;檢測鍵K0是否按下 ACALL DELAY ;按鍵必須持續一定時間(這里為10MS) JB K0,KEY1 ;KO按下是否持續10MS JNB K0,$ ;按鍵是否放開,消抖動 CPL 00H ;檢測程序運行狀態 JNB 00H,KEY00 ;如果為運行中則跳至停止程序,否則繼續 SETB TR0 ;啟動定時器0 AJMP KEY1 ;檢測下一按鍵 KEY00: MOV P1,#0F0H ;停止程序,使電機停轉 CLR TR0 ;關閉定時器0

32、KEY1: JB K1,KEY2 ;檢測鍵K1是否按下 ACALL DELAY ;按鍵必須持續一定時間(這里為10MS) JB K1,KEY2 ;K1按下是否持續10MS JNB K1,$ ;按鍵是否放開,消抖動 MOV A,R7 ;將調速系數移入累加器 ADDC A,#5 ;增加調速系數,加速 MOV R7,A CJNE R7,#255,KEY2 ;是否達到了最高速980R/MIN?是則不加 MOV R7,#255 ;如果達到了最高速則不再增加,以最高速轉動 KEY2: JB K2,KEY3 ACALL DELAY JB K2,KEY3 JNB K2,$ MOV A,R7 SUBB A,#5

33、 ;減少調速系數,減速 MOV R7,A CJNE R7,#0,KEY3 ;是否達到了最低速?是則不減 MOV R7,#5;如果達到了最低速則不再減少,以最低速8R/MIN轉動 KEY3: JB K3,KEY4 ACALL DELAY JB K3,KEY4 JNB K3,$ MOV A,R2 ;將轉向控制單元移入累加器 CPL A ;取反,即正轉時按下變反轉,反轉時按下變正轉 MOV R2,A KEY4: JB K4,KEY5 ACALL DELAY JB K4,KEY5 JNB K4,$ MOV DPTR,#TAB1 ;K4如果按下則電機按單三拍模式轉動 MOV R4,#01H KEY5:

34、JB K5,KEY6 ACALL DELAY JB K5,KEY6 JNB K5,$ MOV DPTR,#TAB2 ;K5如果按下則電機按六拍模式轉動 MOV R4,#00H KEY6: SJMP KEY0 ;繼續檢測按鍵 (三),步進電機運行,脈沖輸出 1.延時程序 DELAY:MOV R6,#20 DELAY1:MOV R5,#248 DJNZ R5,$ DJNZ R6,DELAY1 RET 所用單片機晶振為fosc=12MHZ,則每個機器周期t=fosc/12=1S.則上面這段程序所表示的延時時間為:T=20*(248*2+2)+2+2=10002S10ms 2.脈沖輸出 由上文步進電機

35、的介紹可以得出三相單三拍和三相六拍的控制模型如下面的表所示(P1口輸出):P1口輸出狀態繞組控制字00000001A01H00000010B02H00000100C04H 表1,三相單三拍的控制模型P1口輸出狀態繞組控制字00000001A01H00000011AB03H00000010B02H00000110BC06H00000100C04H 表2,三相六拍的控制模型三相單三拍的輸出脈沖程序,設R2為轉向控制單元,改變延時程序延時的時間就可以改變步進電機的的轉速,不斷調用此子程序就可以讓點擊連續運轉,程序如下:RUN: MOV A,R2 JZ FANZ ZHENGZ: MOV A,#01H

36、MOV P1,A ACALL DELAY MOV A,#02H MOV P1,A ACALL DELAY MOV A,#04H MOV P1,A ACALL DELAY RET FANZ: MOV A,#04H MOV P1,A ACALL DELAY MOV A,#02H MOV P1,A ACALL DELAY MOV A,#01H MOV P1,A ACALL DELAY RET上面那段程序是采用軟件延時的辦法進行速度控制,其缺點是控制精度低。而且在實際應用中,系統中除了步進電機外還有其他控制對象 ,在處理其他任務時就不能對步進電機進行有效地控制,無法滿足步進電機的控制要求。因此 ,比較

37、實用的方法是采用定時器工作在中斷方式下,可以達到比較高的控制精度。下面給出三相六拍步進電機的中斷程序進行速度控制的程序,改變定時器0的初值便可以改變速度,定時器0溢出中斷時便執行中斷程序,改變R2內容便可以控制電機的轉向:ORG 0000HAJMP MAINORG 000BHAJMP RUNMAIN: MOV SP,#60H MOV R2,#01H MOV TMOD,#01HMOV TL0,#78H MOV TH0,#0ECHSETB EASETB ET0SETB TR0MOV P1,#0F0HMOV R0,#00HRUN: MOV A,R2 JZ FANZHENG: MOV TL0,R6 M

38、OV TH0,R7 MOV DPTR,#TAB1 MOV A,R0 MOVC A,A+DPTR MOV P1,AINC R0 CJNE R0,#06H,RET0 MOV R0,#00HRET0: RETIFAN: MOV TL0,R6 MOV TH0,R7MOV DPTR,#TAB2MOV A,R0MOVC A,A+DPTRMOV P1,AINC R0CJNE R0,#06H,RET0MOV R0,#00HRETITAB1:DB 01H,03H,02H,06H,04HTAB2:DB 04H,06H,02H,03H,01H END (四),下位機數據接收 上位機把對控制對象的命令通過串口傳送給單

39、片機,單片機通過中斷方式接收并保存至接收緩存區,再對接收到的數據進行處理,根據得到的數據判斷速度檔數以及電動機模式,同時判斷步進電機應正轉還是反轉。本設計中串口工作在串口模式1,波特率為9600b/s,使用SCON,SBUF作為其串口控制寄存器和串口數據緩沖器;參考程序如下: ORG 0000H AJMP MAIN ORG 0023H ;串行口的中斷入口地址 LJMP JIESHOU ;串行口的中斷程序 MAIN: MOV SP,#60H ;將堆棧SP地址置為01100000 MOV TMOD,#20H ;置定時1為方式2 MOV TH1,#0F4H ;置定時器1初值 MOV TL1,#0F4

40、H SETB TR1 ;啟動定時器1 SETB EA ;開單片機總中斷 SETB ET0 ;開定時器/計數器0允許 SETB ES ;開串口中斷 MOV SCON,#50H ;設定串行方式1并允許接收 MOV R1,#30H ;R1為接收緩沖區的首地址 MOV R3,#10H ;R3為接收的數據塊長度 JIESHOU: PUSH PSW PUSH ACC CLR RI MOV A,SBUF MOV R1,A INC R1 DJNZ R3,HE MOV R7,30H ;接收高八位作為調速系數 MOV A, 31H ;分解后八位,分別作為正反向控 ANL A,#01H ;制系數和模式控制系數 MO

41、V R2,A MOV A,31H ANL A,#10H SWAP A MOV R4,A CLR RI POP ACC POP PSW HE: RETI END(五),系統仿真本系統的仿真是在PROTEUS的ISIS下進行的。Proteus嵌入式系統仿真與開發平臺是一款Labcenter出品的電路分析實物仿真系統,可仿真各種電路和IC,并支持單片機,元件庫齊全,使用方便,是不可多得的專業的單片機軟件仿真系統。該軟件的特點主要有:(1)全部滿足我們提出的單片機軟件仿真系統的標準,并在同類產品中具有明顯的優勢;(2)具有模擬電路仿真、數字電路仿真、單片機及其外圍電路組成的系統的仿真、RS一232動態

42、仿真、1 C調試器、SPI調試器、鍵盤和LCD系統仿真的功能;有各種虛擬儀器,如示波器、邏輯分析儀、信號發生器等;(3)目前支持的單片機類型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各種外圍芯片;(4)支持大量的存儲器和外圍芯片。總之該軟件是一款集單片機和SPICE分析于一身的仿真軟件,功能極其強大 ,可仿真51、AVR、PIC。Proteus的基本工作過程為: 運行Proteus的ISIS程序后,進入該仿真軟件的主界面;設置view菜單下的捕捉對齊和system下的顏色、圖形界面大小等項目;通過工具欄中的p 按鈕

43、,在pick devices窗口中選擇電路所需的元件,放置元件并調整其相對位置,并進行元件參數設置和元器件間連線; 編寫程序,在source 菜單的Define code generation tools菜單命令下,選擇程序編譯的工具、路徑、擴展名等項目,在source 菜單的Add / remove source files命令下,加入單片機硬件電路的對應程序;通過debug菜單的相應命令調試程序,觀察電路的運行情況。此軟件部分配合另外兩位同學負責的上位機和電路部分進行了仿真,所有要求基本上都能實現,信號輸出圖如下: 圖15,步進電機三相單三拍輸出信號圖16,步進電機三相六拍輸出信號五, 總

44、結 本次設計我及另外兩名同學(另外兩名同學分別負責上位機和外圍電路的設計)通過分析步進電機機構、工作原理,查閱步進電機控制系統的相關科技文獻,遵循實用、簡單、可靠和低成本的原則,設計了一種即可用于精度不是很高,但控制需完備的步進電機控制系統。從實驗的結果中可以看出,用Proteus軟件進行單片機虛擬仿真可以很好的來檢驗程序的正確性,達到課題的要求。(一),結論對于本次設計,有以下結論:1.采用單片機作為控制核心,利用其強大的功能,把鍵盤電路、驅動電路、顯示電路和上位機電路有機的結合起來,組成一個操作方便,交互性強的控制系統。而且整個系統所包含的技術幾乎包括了所學專業所要求的知識,有利于實踐教學

45、取得最大效果。2.鍵盤電路采用動態掃描技術,節約了單片機資源。 3.系統軟件采用結構化設計,具有易維護性。4.通過做這個畢業設計,我能非常有目的的、有機的去選擇相關知識,在比較短的時間里系統地掌握了單片機技術、步進電機、電子技術等相關知識,并極大的提高了系統的開發能力。(二),結語由于水平限制,因此對于控制精度不高,本設計選擇了反應式步進電機,并且采用開環的驅動電路,如果要想得到更高性能的控制,可以選用混合式的步進電機,采用閉環的細分驅動電路。可以肯定,隨著技術的不斷發展,步進電機的控制應用前景將越來越廣闊,而其控制系統也將向著智能化和網絡化的方向發展。在這次畢業設計中使我對步進電機有了更深的

46、了解,對單片機也有了更高層次的了解,了解了在單片機系統中擴展簡單I/O接口,外部中斷技術的基本使用方法,掌握了中斷處理程序的編程方法,在課程設計過程中,不斷調試程序和修改程序,提高了我們對單片機的應用能力,分析問題和解決問題的能力。本次設計中,遇到了一些困難,主要原因是平時的知識掌握的不夠,通過我和我們小組的另外兩名同學討論,共同查閱了很多資料和論文后,共同努力才做成的。由于我們以前對這方面接觸比較少,一開始都不知如何下手,我們的指導老師給了我們細致的講解和大量資料,才使我們少走了很多彎路,在設計過程中,老師也給了我們耐心的指導,在這里表示衷心的感謝。參考文獻1趙曉安. MCS-51單片機原理

47、及應用. 天津:天津大學出版社,2001.3 2劉寶廷 程樹康等 步進電動機及其驅動控制系統.1997年11 月第 1 版3 徐惠民、安德寧 單片微型計算機原理接口與應用 第1版 北京:北京郵電大學出版社,19964黃仁欣.單片機原理及應用技術.北京:清華大學出版社,2007.2.5劉樂善.微型計算機接口技術及應用.武漢華中科技大學出版社2007.56潘興民.微型計算機控制技術.北京:電子工業出版社,2003.7楊新軍. 步進電機程序控制. 英才高職論壇. 2006年第 1期8 劉興輝,畢國玲. 步進電機的單片機控制系統研制. 遼寧大學學報.自然科學版.第34卷第4期2007年9吳紅星.電機驅動與控制專用集成電路及運用。北京:中國電力出版社,2006.10何立民.MCS-51系列單片機應用系統設計,北京:北京航空航天大學出版社,1994.11彭宣戈,黃傳蓮,朱 兵.用單片機直接控制步進電機的一種方法

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論