基于單片機步進電機控制系統的設計說明_第1頁
基于單片機步進電機控制系統的設計說明_第2頁
基于單片機步進電機控制系統的設計說明_第3頁
基于單片機步進電機控制系統的設計說明_第4頁
基于單片機步進電機控制系統的設計說明_第5頁
已閱讀5頁,還剩13頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、 . . . 數理與信息工程學院單片機原理與應用期末學期課程設計 題 目: 基于單片機的步進電機控制系統 專 業: 電子信息工程 18 / 18目 錄第1章 引 言.31.1 步進電機控制系統概述.31.2 本設計任務和主要容4第2章 系統主要硬件電路設計.52.1 單片機控制系統原理.522 單片機主機系統電路52.2.1時鐘電路62.2.2復位電路62.3 步進電機驅動電路72.4 LED顯示電路.8第3章 系統的軟件設計103.1 步進電機的位置控制103.2 顯示子程序13第四章 結束語17第5章 參考文獻18基于單片機的步進電機控制系統數理與信息工程學院 電信041 林浩波指導教師:

2、余水寶第1章 引 言在當今社會的各個領域步進電機無處不在,應用領域涉與機器人、工業電子自動化設備、醫療器件、廣告器材、舞臺燈光設備、印刷設備、計算機外部應用設備等等。因此,設計出高精確度、實時監控、語音提示的步進電機具有重要的現實意義和實用價值。本設計是基于80C51單片機的步進電機控制系統,能夠有效地對步進電機轉速、方向的控制。為了能夠更加人性化的控制系統,本設計還增加了語音提示部分,在實際應用當中由于緊急事件需要在短時間了解電機的工作情況,這時看數碼顯示就很不方便,而語音提示提供很大幫助,只要按下語音提示按鈕便能獲取相關技術數據。 本設計采用16 位單片機MCS80C51對步進電機進行控制

3、,通過I/O口輸出的具有時序的方波作為步進電機的控制信號,信號經過驅動芯片驅動步進電機;同時,用 4X4的鍵盤來對電機的狀態進行控制,并用數碼管顯示電機的轉速,采用74LS164作為4位單個數碼管的顯示驅動。1.1 步進電機控制系統概述 步進電機是機電一體化產品中的關鍵組件之一,是一種性能良好的數字執行元件,隨著計算機應用技術、電子技術和自動控制技術在國民經濟各個領域中的普與與深入,步進電機的需求量越練越大。隨著工業技術的不斷發展,以與同類產品的不斷出現,步進電機面臨著前所未有的挑戰。但近30年來,數字技術、計算機技術和永磁材料的迅速發展,推動步進電機的發展,為步進電機的應用開辟了廣

4、闊的前景,近幾年來,步進電機 需求量一直呈現出較快的增長速度,其中掃描儀、打印機、 、DVD-ROM/CD-ROM驅動器、空調與多功能自動化辦公設備等應用對步進電機的需求增長最強。此外由于USB2.0的日益流行促進了高分辨率掃描儀的銷售,步進電機向著小型、薄型和更小的步進角度發展。步進電機有著方方面面重要應用,如何對其進行有效控制,使其能夠發揮最大的優勢是各個行業技術開發人員所共同關注的,本文旨在設計一套較完整的通用控制系統,對步進電機的轉速、方向實行智能化控制,并能通過LED顯示其轉速。1.2 本設計任務和主要容本論文主要研究單片機控制的步進電機系統,對步進電機的轉速、方向進行控制和顯示。主

5、要容如下: 通過鍵盤設定步進電機的轉速與方向 LED顯示步進電機的轉速第2章 系統主要硬件電路設計2.1 單片機控制系統原理AT89C51單片機LED數碼顯示步進電機轉速、方向控制鍵盤輸入圖2-1 單片機控制系統原理框圖22 單片機主機系統電路 AT89C51是一種帶4K字節閃爍可編程可擦除只讀存儲器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低電壓,高性能CMOS8位微處理器。AT89C2051是一種帶2K字節閃爍可編程可擦除只讀存儲器的單片機。單片機的可擦除只讀存儲器可以反復擦除100次。該器件采用ATMEL高

6、密度非易失存儲器制造技術制造,與工業標準的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器,AT89C2051是它的一種精簡版本。AT89C單片機為很多嵌入式控制系統提供了一種靈活性高且價廉的方案。圖2-2 單片機主機系統圖2.2.1時鐘電路單片機的時鐘信號用來提供單片機片各種微操作的時間基準,時鐘信號通常用兩種電路形式得到:部振蕩和外部振蕩。MCS-51單片機部有一個用于構成振蕩器的高增益反向放大器,引腳XTALl和XTAL2分別是此放大電器的輸入端和輸出端,由于采用部方式時,電路簡單,所得的時鐘信號比較穩定

7、,實際使用中常采用這種方式,如圖2-2所示在其外接晶體振蕩器(簡稱晶振)或瓷諧振器就構成了部振蕩方式,片高增益反向放大器與作為反饋元件的片外石英晶體或瓷諧振器一起可構成一個自激振蕩器并產生振蕩時鐘脈沖。圖2-2中外接晶體以與電容C2和C1構成并聯諧振電路,它們起穩定振蕩頻率、快速起振的作用,其值均為30P左右,晶振頻率選12MHz 2.2.2復位電路為了初始化單片機部的某些特殊功能寄存器,必須采用復位的方式,復位后可使CPU與系統各部件處于確定的初始狀態,并從初始狀態開始正常工作。單片機的復位是靠外電路來實現的,在正常運行情況下,只要RST引腳上出現兩個機器周期時間以上的高電平,即可引起系統復

8、位,但如果RST引腳上持續為高電平,單片機就處于循環復位狀態。復位后系統將輸入/輸出(1/0)端口寄存器置為FFH,堆棧指針SP置為07H, SBUF置為不定值,其余的寄存器全部清0,部RAM的狀態不受復位的影響,在系統上電時RAM的容是不定的。復位操作有兩種情況,即上電復位和手動(開關)復位。本系統采用上電復位方式。 圖2-2中R9和Cl組成上電復位電路,其值R取為1K, C取為1pF.2.3 步進電機驅動電路 驅動電路集成化成為一種趨勢。目前,已有多種步進電機驅動集成電路芯片,它們大多集驅動和保護于一體,作為小功率步進電機的專用驅動芯片,廣泛用于小型儀表、計算機外設等領域,使用起來非常方便

9、。本設計采用UCN5804B芯片。UCN5804B芯片適用于四相步進電機的單極性驅動。它最大能輸出1.5A電流、3.5V電壓。部集成有驅動電路,上電自行復位,可以控制轉向和輸出使能。 1421071615111211393468U1UCN5804BR15R6R25R6L1B82412A3220J000L2B82412A3220J000L3B82412A3220J000L4B82412A3220J000D18EWS12SD28EWS12SD38EWS12SD48EWS12S+28v圖2-3 步進電機驅動電路圖2-3為步進電機驅動電路,其中4、5、12、13腳為接地引腳,1、3、6、8腳為輸出引腳

10、,電動機各相的的接線如圖,14腳是控制電機的轉向,其中低電平為正轉,高電平為反轉;11腳是步進脈沖的輸入端,9、10腳決定工作方式,其真值表如表2-1所示:表2-1 9、10腳真值表工作方式9腳10腳雙四拍00八拍01單四拍10 禁止 1 12.4 LED顯示電路由于系統顯示的容比較簡單,顯示量不多,所以顯示選用數碼管既方便又經濟。LED有共陰極和共陽極兩種。如圖2-4所示。 符號和引腳 共陰極 共陽極圖2-4 LED數碼管結構原理圖二極管的陰極連接在一起,通常此共陰極接地,而共陽極則將二極管的陽極連接在一起,接入+5V的電壓。一位顯示器由8個發光二極管組成,其中7個發光二極管。當在某段發光二

11、極管施加一定的正向電壓時,該段筆畫即亮;不加電壓即暗。為了保護各段LED不被損壞,需外加限流電阻。數碼管顯示器有兩種工作方式,即靜態顯示方式和動態掃描顯示方式。為節省端口與降低功耗,本系統采用動態掃描顯示方式。本電路的“段控”和“位控”分別由P1口和P3口控制,P3選中哪個數碼管,哪個數碼管就亮,P1口控制顯示數字。因AT89C51單片機I/O口資源有限,必須對其Il0口進行擴展才能滿足實現系統功能,如圖2-7所示為用8155擴展1/0口的4個8位LED動態顯示器,顯示掃描由程控實現,其中PA口輸出字型碼,PC口輸出位選信號即掃描信號,圖中片選線CE和AT89C51的P2.7口相連,IO/ M

12、選通輸入線與P2.4口相連,該系統中當P2.7=0且P2.4 =1時,選中8155芯片三個I/O口。相應的端口地址分配如表2-1:表2-2 8155端口地址分配A15RSTRSTPA0PA1PA2PA3PA4PA5PA6PA7A8A9A10A11A12A13A14PA0PA1PA2PA3PA4PA5PA6PA7ABCDEFGdpABCDEFGdpABCDEFGdpABCDEFGdpABCDEFGdpD0D1D2D3D2D1D0ABCDEFGHCOMABCDEFGHCOMABCDEFGHCOMABCDEFGHCOMA02A14A26A38OE1Y018Y116Y214Y312U1:A74LS24

13、0NET=PA2A011A113A215A317OE19Y09Y17Y25Y33U1:B74LS240XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A82

14、1P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U2AT89C51NET=A11D034D133D232D331D430D529D628D727RD5WR36A09A18RESET35CE6PA04PA13PA22PA31PA440PA539PA638PA737PB018PB119PB220PB321PB422PB523PB624PB725PC014PC115PC216PC317PC413PC512PC611PC710U38155R15R6R25R6R35R6R45R6R55R6R65R6R75R6R85R612U4:A7

15、40734U4:B740756U4:C740798U4:D7407圖 2-5 顯示電路第3章 系統的軟件設計3.1 步進電機的位置控制步進電機的運行控制涉與到位置控制和加、減速控制。步進電機的位置控制,指的是控制步進電機執行機構從一個位置精確地運行到另一個位置。步進電機的位置控制是步進電機的一大特點,它可以不用借助位置傳感器而只需要的開環控制就能達到足夠的位置精度。步進電機的位置控制需要兩個參數。第一個是絕對位置,即步進電機控制的執行機構當前的位置參數,絕對位置是有極限的,其極限是執行機構運動的圍,超越了這個極限就應報警。第二個是從當前位置移動到目標位置的距離,我們可以用折算的方式將這個距離折

16、算成步進電機的步數。這個參數是外界通過鍵盤或可調電位器旋鈕輸入的,所以折算的工作應該在鍵盤程序或A/D轉換程序中完成。下面是本程序使用的資源:30H、31H-存放定時器的常熟,低位在前32H34H-存放絕對位置參數,低位在前35H、36H-存放步進數,低位在前中斷服務子程序框圖如圖2-6所示。圖2-6 步進電機位置控制子程序框圖程序如下:POS: CPL P1.0 ;改變P1.0電平狀態 PUSH ACC ;累加器A進棧 PUSH PSW PUSH R0 ;R0進棧 JNB P1.0,POS4 ;P1.0=0時,半個脈沖,轉到POS4 CLR EA ;關中斷 JNB P1.1,POS1 ;反轉

17、,轉到POS1 MOV R0,32H ;正轉 INC R0 CJNE R0,#00H,POSE ;無進位則轉向POS2 INC R0 INC R0 CJNE R0,#00H,POS2 INC R0 INC R0 CJNE R0,#00H,POS2 ;無越界,則轉POS2 CLR TR0 ;發生越界,停定時器(停電動機) LCALL BAOJING ;調報警子POS1: MOV R0,#32H ;反轉 DEC R0 CJNE R0,#0FFH,POS2 ;無借位則轉向POS2 INC R0 DEC R0 CJNE R0,#0FFH,POS2 INC R0 DEC R0 CJNE R0,0FFH,

18、POS2 CLR TR0 LCALL BAOJINGPOS2: MOV R0,#35H ;指向步數低位35H DEC R0 CJNE R0,#0FFH,POS3IU9 INC R0 DEC R0POS3: SETB EA MOV A,35H ORL C JNZ POS4 CLR TR0 SJMP POS5POS4: CLR C CLR TR0 MOV A,TL0 ADD A,#08H ADD A,30H MOV TL0,A MOV A,TH0 ADDC A,31H MOV TH0,A SETB TR0POS5: POP R0 POP PSW POP ACC RETI3.2 顯示子程序硬件電路如

19、圖2-4所示,通過8155芯片來擴展I/O口,其端口地址分別是:命令/狀態寄存器:7FF8H ,PA口:7FF9H,PB口:7FFAH,PC口:7FFBH。通過P1口控制數字顯示,即“段選”,P3口控制“位選”。ORG 0000H    初始化 START:JMP MAIN  ORG 30H MAIN:MOV SP,#5FHB_BIT EQU 34H    個位顯示數據存儲器 A_BIT EQU 35H     ;十位顯示數據存儲器 C_BIT  EQU 22H     ;百位顯示數據存儲器D_

20、BIT  EQU 23H     ;十位顯示數據存儲器E_BIT  EQU 34H      ;萬位顯示數據存儲器Count  EQU r4      ;計數器數據存儲器                ACALL INIT_RS232;調用INIT_232子程序 CPL P0.0         ; P0.0亮表示正在設定串口 MOV R

21、5,#25 ACALL DELAY CPL P0.0          P0.0暗表示設定完成 MOV P1,#0FFHMOV P2,#0FFH     WAIT:acall DIAPY;調用顯示程序JNB RI,WAIT;接收電腦發過來的數據  ClR RI    清RI,繼續下次接收LJMP WAITDIAPY :MOVR1,SBUF把接收到的數據放到A里 MOV A,R1  MOV B,#100DIV ABMVO 33H,AMOV A ,BMOV B

22、,#10  DIV ABMOV B_BIT,B      ;提取百位MOV A_BIT,AMOV DPTR,#TABMOV R0,#5DP11:MOVR1,#250DPLOP:個位顯示MOV,A,B_BITMOVC A,A+DPTR ;提取字模 MOV P1,ACLR P2.2  開個位 ACALL DELAY1;調用掃描子程序 SETB P2.2     十位顯示    MOV A,A_BITMOVC A,A+DPTR ;提取字模 MOV P1,ACLR P2.3 

23、;開十位ACALL DELAY1SET P2.3     百位顯示MOV A,A_BITMOVC A,A+DPTR;提取字模 MOV P1,Amov p1,a CLR P2.4 開百位 ACALL DELAY1SETB P2.4DJNZ R1,DPLOPDJNZ R0,DP11 RETINIT_RS232:                        ;rs232初始化設定

24、MOV TMOD,#20H           ;1200bs           MOV TH1,#0E8H                        SETB TR1           MOV SCON,#01010000B     

25、60;     RET DELAY1:                           MOV  R7,#2     D3:  MOV  R6,#25     D4:  DJNZ R6,D4    DJNZ R7,D3     RET  delay:  MOV R5,#20  D2:MOV R6,#50  D1:MOV R7,#250      DJNZ R7,$    DJNZ R6,D1     DJNZ R5,D2      RET TAB:    DB  0C0H,0f9H,0a4H,0b0h,99h ;"0","1","2","3","4

溫馨提示

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

評論

0/150

提交評論