《步進(jìn)電機(jī)控制》word版_第1頁
《步進(jìn)電機(jī)控制》word版_第2頁
《步進(jìn)電機(jī)控制》word版_第3頁
《步進(jìn)電機(jī)控制》word版_第4頁
《步進(jìn)電機(jī)控制》word版_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、燕山大學(xué)課 程 設(shè) 計 報 告 題目: 步進(jìn)電機(jī)控制 院(系):電氣工程學(xué)院 班 級:檢測二班姓 名:孔祥欣 指導(dǎo)教師:孟宗 職 稱:教授 課程設(shè)計(論文)任務(wù)書院(系): 電氣工程學(xué)院 基層教學(xué)單位: 學(xué) 號學(xué)生姓名孔祥欣專業(yè)(班級)檢測二班設(shè)計題目步進(jìn)電機(jī)控制設(shè)計技術(shù)參數(shù)完成基于單片機(jī)的步進(jìn)電機(jī)控制系統(tǒng),能夠有效地對步進(jìn)電機(jī)轉(zhuǎn)速,方向的控制。設(shè)計要求通過I/O口輸出的具有時序的方波作為步進(jìn)電機(jī)的控制信號,信號經(jīng)過驅(qū)動芯片驅(qū)動步進(jìn)電機(jī),同時,用鍵盤來對電機(jī)的狀態(tài)進(jìn)行控制。工作量設(shè)計的內(nèi)容滿足課程設(shè)計的目的與要求,設(shè)計題目的難度和工作量適合學(xué)生的知識和能力狀況,工作量飽滿。工作計劃查閱資料進(jìn)行

2、設(shè)計準(zhǔn)備,設(shè)計硬件電路,編制程序,驗證設(shè)計,轉(zhuǎn)寫任務(wù)書。參考資料1:單片微型計算機(jī)接口技術(shù)及應(yīng)用 張淑清 國防工業(yè)出版社2:單片機(jī)原理及應(yīng)用技術(shù) 張淑清 國防工業(yè)出版社3:單片機(jī)應(yīng)用技術(shù)匯編指導(dǎo)教師簽字 孟宗基層教學(xué)單位主任簽字說明:此表一式四份,學(xué)生、指導(dǎo)教師、基層教學(xué)單位、系部各一份。 2013年7月6日目錄一摘要-4二引言-4三系統(tǒng)概述-5 四硬件系統(tǒng)設(shè)計-8 五系統(tǒng)軟件設(shè)計-10 六心得體會-21 七參考文獻(xiàn)-21一摘要本次課程設(shè)計的題目是完成基于單片機(jī)的步進(jìn)電機(jī)控制系統(tǒng),能夠很好的控制電機(jī)的轉(zhuǎn)速和方向。所以要求我們對單片機(jī)的控制系統(tǒng)的匯編有一定程度的掌握,熟悉匯編語言的指令,并且能夠

3、熟練運用延時程序,對鍵盤程序的設(shè)計等,能夠理論實際相結(jié)合,鍛煉動手操作能力。 二引言 上個世紀(jì)就出現(xiàn)了步進(jìn)電機(jī),最早是在 1920 年由英國人所開發(fā)。1950 年后期晶體管的發(fā)明也逐漸應(yīng)用在步進(jìn)電機(jī)上,這對于數(shù)字化的控制變得更為容易。以后經(jīng)過不斷改良,使得今日步進(jìn)電機(jī)已廣泛運用在需要高定位精度、高分解性能、高響應(yīng)性、信賴性等靈活控制性高的機(jī)械系統(tǒng)中。在生產(chǎn)過程中要求自動化、省人力、效率高的機(jī)器中,我們很容易發(fā)現(xiàn)步進(jìn)電機(jī)的蹤跡,尤其以重視速度、位置控制、需要精確操作各項指令動作的靈活控制性場合步進(jìn)電機(jī)用得最多。步進(jìn)電機(jī)作為執(zhí)行元件,是機(jī)電一體化的關(guān)鍵產(chǎn)品之一 廣泛應(yīng)用在各種自動化控制系統(tǒng)中。隨著

4、微電子和計算機(jī)技術(shù)的發(fā)展,步進(jìn)電機(jī)的需求量與日俱增,在各個國民經(jīng)濟(jì)領(lǐng)域都有應(yīng)用。上世紀(jì) 80 年代,由于廉價的微型計算機(jī)以多功能的姿態(tài)出現(xiàn),步進(jìn)電機(jī)的控制方式更加靈活多樣。原來的步進(jìn)電機(jī)控制系統(tǒng)采用分立元件或者集成電路組成的控制回路,不僅調(diào)試安裝復(fù)雜,要消耗大量的元器件,而且一旦定型之后,要改變控制方案就一定得重新設(shè)計電路。計算機(jī)通過軟件來控制步進(jìn)電機(jī),更好的挖掘出電動機(jī)的潛力。因此,用計算機(jī)控制步進(jìn)電機(jī)已經(jīng)成為了一種必然的趨勢,也符合數(shù)字化的時代趨勢。 傳統(tǒng)電動機(jī)作為機(jī)電能量轉(zhuǎn)換裝置,在人類的生產(chǎn)和生活進(jìn)入電氣化過程中起著關(guān)鍵的作用。步進(jìn)電機(jī)作為一種控制用的特種電機(jī),利用其沒有積累誤差精度為

5、100的特點,適合應(yīng)用于各種開環(huán)控制。今日,步進(jìn)電機(jī)已廣泛的運用在需要高定位精度、高分解能、高響應(yīng)性等靈活控制性高的機(jī)械系統(tǒng)中了。 本課題研究的是基于單片機(jī)的步進(jìn)電機(jī)的控制,在機(jī)電行業(yè)中,步進(jìn)電機(jī)的應(yīng)用十分廣泛,如計算機(jī)的一些外圍裝置:打印機(jī),繪圖機(jī),以及CNC控制及機(jī)器人控制等。它是一種用脈沖控制的電機(jī),用單片機(jī)很容易實現(xiàn)對步進(jìn)電機(jī)的控制。所以研究如何更好的用單片機(jī)控制步進(jìn)電機(jī)是一個很有意義,也很有必要的課題,這次課設(shè)的目的就是讓我們對所學(xué)知識加以應(yīng)用,并更加深刻的了解單片機(jī)是如何控制步進(jìn)電機(jī)的。三 系統(tǒng)概述步進(jìn)電機(jī)控制工作原理 若步進(jìn)電機(jī)為一四相步進(jìn)電機(jī),采用單極性直流電源供電。只要對步進(jìn)

6、電機(jī)的各相繞組按合適的時序通電,就能使步進(jìn)電機(jī)步進(jìn)轉(zhuǎn)動。圖1是該四相反應(yīng)式步進(jìn)電機(jī)工作原理示意圖。圖1 四相步進(jìn)電機(jī)步進(jìn)示意圖開始時,開關(guān)SB接通電源,SA、SC、SD斷開,B相磁極和轉(zhuǎn)子0、3號齒對齊,同時,轉(zhuǎn)子的1、4號齒就和C、D相繞組磁極產(chǎn)生錯齒,2、5號齒就和D、A相繞組磁極產(chǎn)生錯齒。 當(dāng)開關(guān)SC接通電源,SB、SA、SD斷開時,由于C相繞組的磁力線和1、4號齒之間磁力線的作用,使轉(zhuǎn)子轉(zhuǎn)動,1、4號齒和C相繞組的磁極對齊。而 0、3號齒和A、B相繞組產(chǎn)生錯齒,2、5號齒就和A、D相繞組磁極產(chǎn)生錯齒。依次類推,A、B、C、D四相繞組輪流供電,則轉(zhuǎn)子會沿著A、B、C、D方向轉(zhuǎn)動。 四相步

7、進(jìn)電機(jī)按照通電順序的不同,可分為單四拍、雙四拍、八拍三種工作方式。單四拍與雙四拍的步距角相等,但單四拍的轉(zhuǎn)動力矩小。八拍工作方式的步距角是單四拍與雙四拍的一半,因此,八拍工作方式既可以保持較高的轉(zhuǎn)動力矩又可以提高控制精度。 單四拍、雙四拍與八拍工作方式的電源通電時序與波形分別如圖2.a、b、c所示: a. 單四拍 b. 雙四拍 c八拍 圖2.步進(jìn)電機(jī)工作時序波形圖步進(jìn)電機(jī)實際上是一個數(shù)字角度轉(zhuǎn)換器,也是一個串行的數(shù)模轉(zhuǎn)換器。步進(jìn)電機(jī)的基本控制包括啟??刂?、轉(zhuǎn)向控制、速度控制、換向控制4 個方面。從結(jié)構(gòu)上看 ,步進(jìn)電機(jī)分為三相、四相、五相等類型 ,本次設(shè)計的是四相電機(jī)。四相步進(jìn)電機(jī)的工作方式有單

8、四拍、雙四拍和單雙八拍3 種 。步進(jìn)電機(jī)的啟??刂?步進(jìn)電機(jī)由于其電氣特性,運轉(zhuǎn)時會有步進(jìn)感 ,即振動感。為了使電機(jī)轉(zhuǎn)動平滑 減小振動 ,可在步進(jìn)電機(jī)控制脈沖的上升沿和下降沿采用細(xì)分的梯形波 ,可以減小步進(jìn)電機(jī)的步進(jìn)角 ,提高電機(jī)運行的平穩(wěn)性。在步進(jìn)電機(jī)停轉(zhuǎn)時 ,為了防止因慣性而使電機(jī)軸產(chǎn)生順滑 ,則需采用合適的鎖定波形 ,產(chǎn)生鎖定磁力矩 ,鎖定步進(jìn)電機(jī)的轉(zhuǎn)軸 ,使步進(jìn)電機(jī)的轉(zhuǎn)軸不能自由轉(zhuǎn)動。3. 步進(jìn)電機(jī)的轉(zhuǎn)向控制 如果給定工作方式正序換相通電 ,步進(jìn)電機(jī)正轉(zhuǎn)。若步進(jìn)電機(jī)的勵磁方式為單四拍,即 A -B C - D。如果按反序通電換相 ,即則電機(jī)就反轉(zhuǎn)。其他方式情況類似。步 序 控 制 位

9、工 作 狀 態(tài) 控 制 模 型 P1.7P1.6P1.5P1.4P1.3 D相P1.2C相 P1.1B相 P1.0A相 100000001A01H200000010B02H300000100C04H400001000D08H 4.步進(jìn)電機(jī)的速度控制 如果給步進(jìn)電機(jī)發(fā)一個控制脈沖 ,它就轉(zhuǎn)一步 ,再發(fā)一個脈沖 ,它會再轉(zhuǎn)一步。2 個脈沖的間隔越短 ,步進(jìn)電機(jī)就轉(zhuǎn)得越快。調(diào)整送給步進(jìn)電機(jī)的脈沖頻率 ,就可以對步進(jìn)電機(jī)進(jìn)行調(diào)速。5.步進(jìn)電機(jī)的換向控制步進(jìn)電機(jī)換向時 ,一定要在電機(jī)減速停止或降到突跳頻率范圍之內(nèi)再換向 ,以免產(chǎn)生較大的沖擊而損壞電機(jī)。換向信號一定要在前一個方向的最后一個脈沖結(jié)束后以及下

10、一個方向的第1 個脈沖前發(fā)出。對于脈沖的設(shè)計主要要求要有一定的脈沖寬度(一般不小于5s)、脈沖序列的均勻度及高低電平方式。在某一高速下的正、反向切換實質(zhì)包含了減速換向加速3 個過程。6.系統(tǒng)設(shè)計思路此次我們所設(shè)計的是一個步進(jìn)電機(jī)控制系統(tǒng),主要由單片機(jī)80C51,4相步進(jìn)電機(jī),7段數(shù)碼管,及一些其他相關(guān)元件設(shè)計而成。可以通過開關(guān)來控制系統(tǒng)的啟/停工作,當(dāng)系統(tǒng)運轉(zhuǎn)時,用鍵盤來控制方向,同樣由鍵盤來選擇工作模式,最后根據(jù)思路所設(shè)計出來的硬件圖設(shè)計相適應(yīng)的軟件。詳細(xì)的設(shè)計步驟將在下面說明。 四硬件系統(tǒng)設(shè)計1.總體設(shè)計設(shè)計一個單片機(jī)四相步進(jìn)電機(jī)控制系統(tǒng)要求系統(tǒng)具有如下功能:(1)由I/O口產(chǎn)生的時序方波

11、作為電機(jī)控制信號(2)信號經(jīng)過驅(qū)動芯片驅(qū)動電機(jī)的運轉(zhuǎn)(3)電機(jī)的狀態(tài)通過鍵盤控制,包括正轉(zhuǎn),反轉(zhuǎn),加速,減速,停止。 根據(jù)要求系統(tǒng)設(shè)計的框圖如下:80C51時鐘電路鍵盤控制控制端口UNL2003驅(qū)動電機(jī)步進(jìn)電機(jī)系統(tǒng)硬件設(shè)計 (1)步進(jìn)電機(jī)的驅(qū)動電路 其中1B、2B、3B、4B分別與P1.0、P1.1、P1.2、P1.3相接(2)鍵盤電路: 鍵盤電路開關(guān)未按下是,各位被拉成高電平,某一開關(guān)按下后,該位變成低電平,通過按鍵判別程序可判別哪一鍵按下(3)時鐘晶振電路: 時鐘晶振電路圖系統(tǒng)總圖如下:按系統(tǒng)硬件總圖連線,將程序輸入電腦并與試驗箱相連,通過偉福2000就可以進(jìn)行試驗了,經(jīng)過幾次嘗試和調(diào)整,

12、基本可以實現(xiàn)實驗要求。 五系統(tǒng)軟件設(shè)計 按硬件圖連接好電路以后,開始寫程序,并運行程序,1鍵為啟動,2鍵為停止,3鍵為減速,四鍵為加速,5鍵為正轉(zhuǎn),6鍵為反轉(zhuǎn),單片機(jī)輸出信息通過P1口的P1.0,P1.1,P1.2,P1.3給驅(qū)動器件NLN2003A,然后驅(qū)動電機(jī)進(jìn)行個狀態(tài)間的轉(zhuǎn)換。具體的程序流程圖如下所示: 主程序流程圖 鍵盤掃描流程圖主程序主程序主要完成了對系統(tǒng)各個初值的設(shè)置,并不斷的進(jìn)行待機(jī)鍵盤掃描OUTBIT equ 08002hIN equ 08001h StepA equ 01H StepB equ 02H StepC equ 04H StepD equ 08Horg 0000hl

13、jmp startorg 001bhljmp t1intorg 0100hstart: mov p1, #0h mov sp, #70hloops: mov tmod,#10h mov r6,#10H mov tl1,#0b0h mov th1,#03ch setb ea setb et1 xunhuan: lcall Anjian sjmp xunhuan按鍵程序本次設(shè)計中使用的是獨立式鍵盤,首先需要輸入選通的列信號,然后讀出行信號,通過兩者的結(jié)果,計算出是那個按鍵被按下,并轉(zhuǎn)入相應(yīng)的按鍵子程序。TestKey: mov dptr, #OUTBIT mov a, #0 movx dptr,

14、a mov dptr, #IN movx a, dptr cpl a anl a, #0fh retKeyTable: db 16h, 15h, 14h, 0ffh db 13h, 12h, 11h, 10h db 0dh, 0ch, 0bh, 0ah db 0eh, 03h, 06h, 09h db 0fh, 02h, 05h, 08h db 00h, 01h, 04h, 07hGetKey: mov dptr, #OUTBIT mov P2, dph mov r0, #Low(IN) mov r1, #00100000b mov r2, #6KLoop: mov a, r1 cpl a m

15、ovx dptr, a cpl a rr a mov r1, amovx a, r0 cpl a anl a, #0fh jnz Goon1 djnz r2, KLoop mov r2, #0ffh sjmp ExitGoon1: mov r1, a mov a, r2 dec a rl a rl a mov r2, a mov a, r1 mov r1, #4LoopC: rrc a jc Exit inc r2 djnz r1, LoopCExit: mov dptr, #OUTBIT clr a movx dptr, a mov a, r2 mov dptr, #KeyTable mov

16、c a, a+dptr retAnjian:MLoop: ;mov a,52h jnz fanhui call TestKey jz fanhui call GetKey cjne a,#1,aloop1 lcall anjian1 ljmp fanhuialoop1: cjne a,#2,aloop2 lcall anjian2 ljmp fanhuialoop2: cjne a,#3,aloop3 lcall anjian3 ljmp fanhuialoop3: cjne a,#4,aloop4 lcall anjian4 ljmp fanhuialoop4: cjne a,#5,aloo

17、p5 lcall anjian5 ljmp fanhuialoop5: cjne a,#6,MLoop lcall anjian6fanhui: retanjian1: mov a,50h jz qidong1 ljmp qidong2 retanjian2: ljmp loops retanjian3: setb tr1 dec r6 mov 52h,#0ffh retanjian4: setb tr1 mov a ,r6 add a,#10h mov r6,a mov 52h,#0ffh retanjian5: mov a,#0 ;zhengzhuan mov 50h,a retanjia

18、n6: mov a,#0ffh mov 50h,a ret延遲程序在每次輸出改變之后會調(diào)用一次延遲程序,所以延遲程序的長短決定了輸出信號變化的快慢,因此也就能對步進(jìn)電機(jī)的速度快慢進(jìn)行控制,在這個延遲程序中,yanshi作為關(guān)鍵參量決定了本程序延遲時間的長短。在之前的anjian3也就是加速子程序中,對yanshi進(jìn)行的幅值操作,使延遲程序的延遲時間變短,輸出頻率變快,實現(xiàn)加速功能,在anjian4也就是減速子程序中,對yanshi進(jìn)行的幅值操作,使延遲程序的延遲時間變長,輸出頻率變慢,實現(xiàn)減速功能。delay:loopdl: mov r5,#4fH djnz r5,$ djnz r6,loop

19、dl rett1int: mov tl1,#0b0h mov th1,#03ch inc r7 cjne r7,#10,fanhui2 mov r7,#0 clr tr1 mov 52h,#0h正反轉(zhuǎn)程序由上面的程序可以看到,當(dāng)按鍵1按下之后,對應(yīng)的按鍵子程序會根據(jù)標(biāo)志(位地址為50#的寄存器內(nèi)的值)來轉(zhuǎn)入zhengzhuan或者fanzhuan程序,這兩個程序主要實現(xiàn)的功能是使P1口的第四位依次輸出00010010010010000001或者00011000010000100001并在每次改變輸出后掃描一次鍵盤來kan是否有停止以及加減速的控制,P1口的低四位的輸出接到UNL2003AN后經(jīng)

20、過放大實現(xiàn)相序的循環(huán)變化,驅(qū)動步進(jìn)電機(jī)實現(xiàn)正傳或反轉(zhuǎn)。qidong1:loopzz: mov p1,#StepA lcall delay MOV P1,#StepB lcall delay MOV P1, #StepC Lcall delay MOV P1, #StepD lcall delay lcall Anjian JMP loopzz retqidong2:loopfz: mov p1, #StepA lcall delay MOV P1, #StepD lcall delay MOV P1, #StepC lcall delay MOV P1, #StepB lcall delay

21、lcall Anjian JMP loopfz ret控制總程序如下OUTBIT equ 08002hIN equ 08001h Astep equ 01H Bstep equ 02H Cstep equ 04H Dstep equ 08Horg 0000hljmp startorg 001bhljmp t1intorg 0100hstart: mov p1, #0h mov sp, #70hloops: mov tmod,#10h mov r6,#10H mov tl1,#0b0h mov th1,#03ch setb ea setb et1 xunhuan: lcall Anjian sj

22、mp xunhuanTestKey: mov dptr, #OUTBIT mov a, #0 movx dptr, a mov dptr, #IN movx a, dptr cpl a anl a, #0fh retKeyTable: db 16h, 15h, 14h, 0ffh db 13h, 12h, 11h, 10h db 0dh, 0ch, 0bh, 0ah db 0eh, 03h, 06h, 09h db 0fh, 02h, 05h, 08h db 00h, 01h, 04h, 07hGetKey: mov dptr, #OUTBIT mov P2, dph mov r0, #Low

23、(IN) mov r1, #00100000b mov r2, #6KLoop: mov a, r1 cpl a movx dptr, a cpl a rr a mov r1, amovx a, r0 cpl a anl a, #0fh jnz Goon1 djnz r2, KLoop mov r2, #0ffh sjmp ExitGoon1: mov r1, a mov a, r2 dec a rl a rl a mov r2, a mov a, r1 mov r1, #4LoopC: rrc a jc Exit inc r2 djnz r1, LoopCExit: mov dptr, #O

24、UTBIT clr a movx dptr, a mov a, r2 mov dptr, #KeyTable movc a, a+dptr retAnjian:MLoop: ;mov a,52h jnz fanhui call TestKey jz fanhui call GetKey cjne a,#1,aloop1 lcall anjian1 ljmp fanhuialoop1: cjne a,#2,aloop2 lcall anjian2 ljmp fanhuialoop2: cjne a,#3,aloop3 lcall anjian3 ljmp fanhuialoop3: cjne a

25、,#4,aloop4 lcall anjian4 ljmp fanhuialoop4: cjne a,#5,aloop5 lcall anjian5 ljmp fanhuialoop5: cjne a,#6,MLoop lcall anjian6fanhui: retanjian1: mov a,50h jz qidong1 ljmp qidong2 retanjian2: ljmp loops retanjian3: setb tr1 dec r6 mov 52h,#0ffh retanjian4: setb tr1 mov a ,r6 add a,#10h mov r6,a mov 52h

26、,#0ffh retanjian5: mov a,#0 ;zhengzhuan mov 50h,a retanjian6: mov a,#0ffh mov 50h,a retqidong1:loopzz: mov p1,#StepA lcall delay MOV P1,#StepB lcall delay MOV P1, #StepC Lcall delay MOV P1, #StepD lcall delay lcall Anjian JMP loopzz retqidong2:loopfz: mov p1, #StepA lcall delay MOV P1, #StepD lcall delay MOV P1, #StepC lcall delay MOV P1, #StepB lcall delay lcall Anjian JMP loopfz retdelay:loopdl: mov r5,#4fH djnz r5,$ djnz r6,loopdl rett1int: mov tl1,

溫馨提示

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

最新文檔

評論

0/150

提交評論