基于單片機控制的步進電機的畢業(yè)論文課程設計報告書_第1頁
基于單片機控制的步進電機的畢業(yè)論文課程設計報告書_第2頁
基于單片機控制的步進電機的畢業(yè)論文課程設計報告書_第3頁
基于單片機控制的步進電機的畢業(yè)論文課程設計報告書_第4頁
基于單片機控制的步進電機的畢業(yè)論文課程設計報告書_第5頁
已閱讀5頁,還剩82頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、PAGE87 / NUMPAGES87第一章 前言1.1步進電機簡介步進電機最早是在1920年由英國人所開發(fā)。1950年后期晶體管的發(fā)明也逐漸應用在步進電機上,這對于數(shù)字化的控制變得更為容易。以后經(jīng)過不斷改良,使得今日步進電機已廣泛運用在需要高定位精度、高分解性能、高響應性、信賴性等靈活控制性高的機械系統(tǒng)中。在生產(chǎn)過程中要求自動化、省人力、效率高的機器中,我們很容易發(fā)現(xiàn)步進電機的蹤跡,尤其以重視速度、位置控制、需要精確操作各項指令動作的靈活控制性場合步進電機用得最多。步進電機作為執(zhí)行元件,是機電一體化的關鍵產(chǎn)品之一, 廣泛應用在各種自動化控制系統(tǒng)中。隨著微電子和計算機技術的發(fā)展,步進電機的需求

2、量與日俱增,在各個國民經(jīng)濟領域都有應用。步進電機是將電脈沖信號變換成角位移或直線位移的執(zhí)行部件。步進電機可以直接用數(shù)字信號驅動,使用非常方便。一般電動機都是連續(xù)轉動的,而步進電動機則有定位和運轉兩種基本狀態(tài),當有脈沖輸入時步進電動機一步一步地轉動,每給它一個脈沖信號,它就轉過一定的角度。步進電動機的角位移量和輸入脈沖的個數(shù)嚴格成正比,在時間上與輸入脈沖同步,因此只要控制輸入脈沖的數(shù)量、頻率與電動機繞組通電的相序,便可獲得所需的轉角、轉速與轉動方向。在沒有脈沖輸入時,在繞組電源的激勵下氣隙磁場能使轉子保持原有位置處于定位狀態(tài)。因此非常適合于單片機控制。步進電機還具有快速啟動、精確步進和定位等特點

3、,因而在數(shù)控機床,繪圖儀,打印機以與光學儀器中得到廣泛的應用。步進電動機已成為除直流電動機和交流電動機以外的第三類電動機。傳統(tǒng)電動機作為機電能量轉換裝置,在人類的生產(chǎn)和生活進入電氣化過程中起著關鍵的作用。步進電機可以作為一種控制用的特種電機,利用其沒有積累誤差(精度為100%)的特點,廣泛應用于各種開環(huán)控制。第二章 步進電機工作原理與系統(tǒng)方案論證2.1步進電機工作原理211步進電機結構電機轉子均勻分布著40個小齒,定子齒有三個勵磁繞阻,其幾何軸線依次分別與轉子齒軸線錯開0、1/3、2/3,(相鄰兩轉子齒軸線間的距離為齒距以表示),即A與齒1相對齊,B與齒2向右錯開1/3,C與齒3向右錯開2/3

4、,A與齒5相對齊,(A就是A,齒5就是齒1)下面是定子和轉子的展開圖: 圖2.1212 步進電機的旋轉:如A相通電,B,C相不通電時,由于磁場作用,齒1與A對齊,(轉子不受任何力以下均同)。 如B相通電,A,C相不通電時,齒2應與B對齊,此時轉子向右移過1/3,此時齒3與C偏移為1/3,齒4與A偏移(-1/3)=2/3。 如C相通電,A,B相不通電,齒3應與C對齊,此時轉子又向右移過1/3,此時齒4與A偏移為1/3對齊。 如A相通電,B,C相不通電,齒4與A對齊,轉子又向右移過1/3,這樣經(jīng)過A、B、C、A分別通電狀態(tài),齒4(即齒1前一齒)移到A相,電機轉子向右轉過一個齒距,如果不斷地按A,B

5、,C,A通電,電機就每步(每脈沖)1/3,向右旋轉。如按A,C,B,A通電,電機就反轉。 由此可見:電機的位置和速度由導電次數(shù)(脈沖數(shù))和頻率成一一對應關系,而方向由導電順序決定。 圖2.2不過,出于對力矩、平穩(wěn)、噪音與減少角度等方面考慮。往往采用A-AB-B-BCC-CA-A這種導電狀態(tài),這樣將原來每步1/3改變?yōu)?/6。甚至于通過二相電流不同的組合,使其1/3變?yōu)?/12,1/24,這就是電機細分驅動的基本理論依據(jù)。不難推出:電機定子上有m相勵磁繞阻,其軸線分別與轉子齒軸線偏移1/m,2/m(m-1)/m,1。并且導電按一定的相序電機就能正反轉被控制這是步進電機旋轉的物理條件。只要符合這一

6、條件我們理論上可以制造任何相的步進電機,出于成本等多方面考慮,市場上一般以二、三、四、五相為多。 2.2 課程設計目的、要求與設計方案論證2.2.1 設計目的(1)設計并實現(xiàn)給定步進電機的控制;(2)進一步掌握步進電機的控制方法;(3)進一步掌握單片機硬件和軟件的綜合設計方法。2.2.2設計要現(xiàn)功能(1)電機工作方式為三相雙三拍,初始轉速100r/min ;(2)能夠實現(xiàn)電機的啟/停功能;(3)能夠實現(xiàn)電機的正/反轉功能;(4)能夠實現(xiàn)電機的加/減速功能。2.2.3設計方案論證(1)控制方式的確定步進電機控制是一個比較精確的控制,步進電機開環(huán)控制系統(tǒng)具有成本低、簡單、控制方便等優(yōu)點,在采用單片

7、機的步進電機開環(huán)系統(tǒng)中,控制系統(tǒng)的CP圖2.3脈沖的頻率或者換向周期實際上就是控制步進電機的運行速度。系統(tǒng)可用兩種辦法實現(xiàn)步進電機的速度控制。一種是延時,一種是定時。延時方法是在每次換向之后調用一個延時子程序,待延時結束后再次執(zhí)行換向,這樣周而復始就可發(fā)出一定頻率的CP脈沖或換向周期。延時子程序的延時時間與換向程序所用的時間和,就是CP脈沖的周期,該方法簡單,占用資源少,全部由軟件實現(xiàn),調用不同的子程序可以實現(xiàn)不同速度的運行。但占用CPU時間長,不能在運行時處理其他工作。因此只適合較簡單的控制過程。定時方法是利用單片機系統(tǒng)中的定時器定時功能產(chǎn)生任意周期的定時信號,從而可方便的控制系統(tǒng)輸出CP脈

8、沖的周期。(2)驅動方式的確定步進電機的驅動一般有兩種方法,一種是通過CPU直接來驅動,這種方法一般不宜采用,因為CPU的輸出電流脈沖是特別小的它不能足以讓步進電機的轉動;別一種是通過CPU來間接驅動,就是把從CPU輸出的信號進行放大,然后直接驅動或是再通過光電隔離間接來驅動步進電機,這種方法比較安全可靠。固本次設計應采用CPU間接驅動步進電機。用編碼器的測速發(fā)電機作為轉速測量工具,因為選擇了閉環(huán)控制,就必須有反饋元件,反饋元件一般有兩種,一種是采用同軸的測速發(fā)電機,把步進電機的轉速反饋回來,然后通過顯示器顯示出來并對步進電機進行調節(jié);別一種是通過光同軸的電編碼器把步進電機的轉速反饋回來對步進

9、電機進行調節(jié);兩者相比,后者的設計比較簡單,價格便宜,安全可靠,污染少。固一般采用后者,用光電騙碼器作為反饋元件。(3)驅動電路的選擇步進電機的驅動電路有多種,但最為常用的就是單電壓驅動、雙電壓驅動、斬波驅動、細分控制驅動等。但因本次設計對步進電機的精度要求比較高轉速的調節(jié)圍比較廣,固應選用驅動芯片8713來驅動,并通過軟件來實現(xiàn)步進電機的調速。(4) 基本方案的確定因本次設計的要求,選用三相雙三拍步進電機,單片機選用89C51作為控制器。選用8279來驅動顯示和鍵盤。選用8713作為步進電機的驅動芯片并通過光電耦合來驅動步進電機。然后用與步進電機同軸的光電編碼器作為反饋元件,并把反饋回的信號

10、經(jīng)CPU處理后再由顯示器顯示出來。第三章 系統(tǒng)硬件電路設計3.1 單片機的選擇本次設計以CPU選用89C5l作為步進電機的控制芯片89C51的結構簡單并可以在編程器上實現(xiàn)閃爍式的電擦寫達幾萬次以上使用方便等優(yōu)點,而且完全兼容MCS5l系列單片機的所有功能。AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲器(FPEROMFAlsh ProgrAmmABle And ErAsABle ReAd Only Memory)的低電壓,高性能CMOS8位微處理器,俗稱單片機。該器件采用ATMEL高密度非易失存儲器制造技術制造,與工業(yè)標準的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃

11、爍存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器,為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案3.1.1單片機的引腳功能(1)VCC(40):電源+5V。(2)VSS(20):接地,也就是GND。(3)XTL1(19)和XTL2(18):振蕩電路。單片機是一種時序電路,必須有脈沖信號才能工作,在它的部有一個時鐘產(chǎn)生電路,有兩種振蕩方式,一種是部振蕩方式,只要接上兩個電容和一個晶振即可;另一種是外部振蕩方式,采用外部振蕩方式時,需在XTL2上加外部時鐘信號。(4)PSEN(29):片外ROM選通信號,低電平有效。(5)ALE/PROG(30):地址鎖存信號輸出端/EP

12、ROM編程脈沖輸入端。(6)RST/VPD(9):復位信號輸入端/備用電源輸入端。 (7)EA/VPP(31):/外部ROM選擇端 (8)P0口(39-32):雙向I/O口。(9)P1口(1-8):準雙向通用I/0口。(10)P2口(21-28):準雙向I/0口。3.1.2 主要特性: 與MCS-51 兼容 4K字節(jié)可編程閃爍存儲器 壽命:1000寫/擦循環(huán)數(shù)據(jù)保留時間:全靜態(tài)工作:0Hz-24Hz三級程序存儲器鎖定、128*8位部RAM、32可編程I/O線、兩個16位定時器/計數(shù)器、5個中斷源、可編程串行通道、低功耗的閑置和掉電模式、片振蕩器和時鐘電路 (1)振蕩器特性:XTAL1和XTAL

13、2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片振蕩器。石晶振蕩和瓷振蕩均可采用。如采用外部時鐘源驅動器件,XTAL2應不接。有余輸入至部時鐘信號要通過一個二分頻觸發(fā)器,因此對外部時鐘信號的脈寬無任何要求,但必須保證脈沖的高低電平要求的寬度。(2)芯片擦除:整個PEROM陣列和三個鎖定位的電擦除可通過正確的控制信號組合,并保持ALE管腳處于低電平10ms 來完成。在芯片擦操作中,代碼陣列全被寫“1”且在任何非空存儲字節(jié)被重復編程以前,該操作必須被執(zhí)行。此外,AT89C51設有穩(wěn)態(tài)邏輯,可以在低到零頻率的條件下靜態(tài)邏輯,支持兩種軟件可選的掉電模式。在閑置模式下,CPU停止工作。但RAM定

14、時器,計數(shù)器,串口和中斷系統(tǒng)仍在工作。在掉電模式下,保存RAM的容并且凍結振蕩器,禁止所用其他芯片功能,直到下一個硬件復位為止。3.2 步進電機的選擇因本次設計的要求,步進電機應選用三相雙三拍的步進電機,具體說明如下:三相雙三拍控制模型:正轉控制模型步序工作狀態(tài)控制模型二進制十六進制1AB0000001103H2BC0000011006H3CA0000010105H反轉控制模型步序工作狀態(tài)控制模型二進制十六進制1AB0000001103H2CA0000010105H3BC0000011006H控制繞組的通電方式為AB-BC-CA-AB 或AB-CA-BC-AB,每拍同時有兩相繞組通電,三拍為一

15、個循環(huán),當A 、B 兩相控制繞組同時通電時,轉子齒的位置應同時考慮到兩對定子極的作用,只有A 相極和B 相極對轉子齒所產(chǎn)生的磁拉力相平衡才是轉子的平衡位置。雙三拍運行時的步距角是30,但雙三拍運行時每一拍總有一相繞組持續(xù)通電,例如由A、 B 兩相通電變?yōu)锽、 C 兩相通電時,B 相保持持續(xù)通電狀態(tài),C 相磁拉力使轉子逆時針方向轉動,而B 相磁拉力卻起有阻止轉子繼續(xù)向前轉動的作用。3.3步進電機與微型機接口電路因為步進電機工作時的驅動電流比單片機端口所能提供的要大得多單片機要控制電機的運動就不能直接將端口與電機各相相連,必須使用一定的接口電路和驅動電路。接口電路一般為鎖存器,也有使用可編程接口芯

16、片,如8255。驅動器多選用大功率復合管。當然,考慮到實際使用中的干擾和電壓安全,一般都要在單片機與驅動器之間使用必要的光電隔離器。圖3.1在圖3.1中,若P12口輸出為0時,發(fā)光二極管不會發(fā)光此時光敏管處于截止狀態(tài),而達林頓管導通所以C相通電:反之,P12輸出為1時,由電路分析可知C相不通電。如按前面所示的表取控制數(shù),按順序執(zhí)行,就可以使步進電機安一定的方向步進。第四章 系統(tǒng)軟件程序設計步進電機控制程序就是完成環(huán)形分配器的任務,從而控制步進電機轉動,以達到控制轉動角度和位移之目的。首先要進行旋轉方向的判斷,然后轉到相應的控制程序。正反向控制程序分別按要求的控制順序輸出相應的控制模型,再加上脈

17、寬延時程序即可。脈沖序列的個數(shù)可以用寄存器CL進行計數(shù)??刂颇P涂梢砸粤⒓磾?shù)的形式一一給出??刂茦酥締卧狥LAG為00H時,表示正轉;為01H時,表示反轉。其程序流程圖如下圖所示:圖4.1 程序流程圖程序編寫:D0 EQU 0D2 EQU 2 ORG 0000HSTART: LJMP MAIN ORG 0003H LJMP INT0 ORG 0100HMAIN: MOV P2,#00H ;等待信號 MOV P0,#FFH MOV R2,#0 MOV R3,#0 MOV R4,#0 CLR IT0 SETB EA SETB EX0 LJMP MAININT0: JNB P2.0,ZHENG;正轉

18、 JNB P2.1,FAN ;反轉 JNB P2.2,JIA ;加 JNB P2.3,JIAN ;減速速 JNB P2.4,TIN ;停 RETIZHENG: MOV R2,#1 ;正轉 MOV DPTR,CHA MOV A,D0 MOVC A,A+DPTR MOV P0,A ACALL YAN0 CPL P0.0 CPL P0.2 ACALL YAN0 CPL P0.0 CPL P0.1 ACALL YAN0 LJMP ZHENGFAN: MOV R2,#0 ;反轉 MOV DPTR,CHA MOV A,D2 MOVC A,A+DPTR MOV P0,A ACALL YAN0 CPL P0.

19、0 CPL P0.1 ACALL YAN0 CPL P0.0 CPL P0.2 LJMP FANZHENG1:MOV DPTR,CHA ;加減速正轉 MOV A,D0 MOVC A,A+DPTR MOV P0,A CJNE R3,#0,YIA1 CJNE R4,#0,YIA2 CPL P0.0 CPL P0.2 CJNE R3,#0,YIA1 CJNE R4,#0,YIA2 CPL P0.0 CPL P0.1 CJNE R3,#0,YIA1 CJNE R4,#0,YIA2 LJMP ZHENGFAN1: MOV DPTR,CHA ;加減速反轉 MOV A,D2 MOVC A,A+DPTR MO

20、V P0,A CJNE R3,#0,YIA1 CJNE R4,#0,YIA2 CPL P0.0 CPL P0.1 CJNE R3,#0,YIA1 CJNE R4,#0,YIA2 CPL P0.0 CPL P0.2 CJNE R3,#0,YIA1 CJNE R4,#0,YIA2 LJMP FAN1JIA: MOV R3,#1 ;加速 MOV R4,#0 CJNE R2,#0,ZHENG1 LCALL FAN JIAN: MOV R4,#1 ;減速 MOV R3,#0 CJNE R2,#0,ZHENG LCALL FANTIN: LCALL MAIN ;停 YAN0: MOV R0,#25LOOP

21、00:MOV R1,#100LOOP01:DJNZ R1,LOOP01 DJNZ R0,LOOP00 RETYAN1: MOV R0,# 20 LOOP10:MOV R1,#100LOOP11:DJNZ R1,LOOP11 DJNZ R0,LOOP10 RETYAN2: MOV R0,#30 LOOP20:MOV R1,#100LOOP21:DJNZ R1,LOOP21 DJNZ R0,LOOP20 CHA: DB 03H,06H,05H END第五章 心得體會通過這次的計算機控制技術的課程設計,我對步進電動機有了深入的了解,平時我們接觸的電動機主要是直流電動機和交流電動機,很少見到步進電動機

22、,所以對于步進電動機比較陌生。通過老師指導,然后自己在課后翻閱書籍和上網(wǎng),搜集到了不少有關步進電動機的知識。通過鉆研這些知識,我總算對步進電機有了認識,但是這離課程設計需要掌握的知識相差甚遠,為了縮短這種差距,我只能不斷的向老師和同學請教,然后仔細的揣摩。在這次課程設計中,通過用單片機控制步進電機的正、反轉,加、減速,我也對單片機的知識也進行了復習和鞏固。那時候覺得學習單片機是那么的枯燥乏味,整天只是學習這個指令做什么,那個指令做什么,覺得學了一點用都沒有。但是今天我才發(fā)現(xiàn),學習單片機是那么的有用處,它可以控制步進電機的旋轉、加減速、停止,也可以控制十字路口的交通燈,還可以控制機械手工作。俗話

23、說的好,實踐是檢驗真理的唯一標準,學習再多的理論也只能紙上談兵,只有把理論應用到實踐中,才能檢驗出理論的真?zhèn)?。從這次的課程設計,我也發(fā)現(xiàn)自己在好多地方的不足,在以后的學習和工作中,我會努力去彌補這些不足,爭取讓自己不要被社會淘汰。第六章 參考文獻1溫希東,路勇. 計算機控制技術. 電子科技大學,2005 69802天漢.單片機原理與接口技術. 電子工業(yè),2006961113承志.電機拖動與控制. 機械工業(yè),2000 267277摘要:步進電動機是一種將脈沖信號變換成相應的角位移(或線位移)的電磁裝置,是一種特殊的電動機。由于其精確性以與其良好的性能在實際當中得到了廣泛的應用。本文介紹了以51系

24、列單片機AT89S52為控制核心所設計的步進電機(型號42BYG016)控制系統(tǒng),從系統(tǒng)的硬件電路以與軟件的設計方面實現(xiàn)了對步進電機的控制。并且由傳感器EE-EX672采集轉速數(shù)據(jù)進而進行關于速度的閉環(huán)控制,經(jīng)過實際應用電路證明,該仿真控制系統(tǒng)的隨動性能好,抗干擾能力強,穩(wěn)定性好。關鍵詞:單片機、步進電機、光電開關、PID算法、閉環(huán)控制一、步進電機1.1 步進電機的工作原理步進電機是將電脈沖信號轉變?yōu)榻俏灰苹蚓€位移的執(zhí)行機構。在非超載的情況下,電機的轉速、停止的位置只取決于脈沖信號的頻率和脈沖數(shù),而不受負載變化的影響,即給電機加一個脈沖信號,電機則轉過一個步距角。這一線性關系的存在,加上步進電

25、機只有周期性的誤差而無累積誤差等特點,使得在速度、位置等控制領域用步進電機來控制變的非常的簡單。1.2 步進電機的特點本實驗所用的步進電機為感應子式步進電機(型號為42BYG016)。感應子式步進電機與傳統(tǒng)的反應式步進電機相比,結構上轉子加有永磁體,以提供軟磁材料的工作點,而定子激磁只需提供變化的磁場而不必提供磁材料工作點的耗能,因此該電機效率高,電流小,發(fā)熱低。因永磁體的存在,該電機具有較強的反電勢,其自身阻尼作用比較好,使其在運轉過程中比較平穩(wěn)、噪音低、低頻振動小。感應子式步進電機某種程度上可以看作是低速同步電機。一個四相電機可以作四相運行,也可以作二相運行。(必須采用雙極電壓驅動),而反

26、應式電機則不能如此。例如:四相八拍運行(A-AB-B-BC-C-CD-D-DA-A)完全可以采用二相八拍運行方式.不難發(fā)現(xiàn)其條件為C=,D=. 一個二相電機的部繞組與四相電機完全一致,小功率電機一般直接接為二相,而功率大一點的電機,為了方便使用,靈活改變電機的動態(tài)特點,往往將其外部接線為八根引線(四相),這樣使用時,既可以作四相電機使用,可以作二相電機繞組串聯(lián)或并聯(lián)使用。(本實驗采用兩相四拍)1.3 步進電機的靜態(tài)指標相數(shù):產(chǎn)生不同對極N、S磁場的激磁線圈對數(shù)。常用m表示。拍數(shù):完成一個磁場周期性變化所需脈沖數(shù)或導電狀態(tài)用n表示,或指電機轉過一個齒距角所需脈沖數(shù),以四相電機為例,有四相四拍運行

27、方式即AB-BC-CD-DA-AB,四相八拍運行方式即 A-AB-B-BC-C-CD-D-DA-A.步距角:對應一個脈沖信號,電機轉子轉過的角位移用表示。=360度(轉子齒數(shù)J*運行拍數(shù)),以常規(guī)二、四相,轉子齒為50齒電機為例。四拍運行時步距角為=360度/(50*4)=1.8度(俗稱整步),八拍運行時步距角為=360度/(50*8)=0.9度(俗稱半步)。1.4 步進電機的動態(tài)指標1)步距角精度: 步進電機每轉過一個步距角的實際值與理論值的誤差。用百分比表示:誤差步距角*100%。不同運行拍數(shù)其值不同,四拍運行時應在5%之,八拍運行時應在15%以。2)失步: 電機運轉時運轉的步數(shù),不等于理

28、論上的步數(shù)。稱之為失步。3)失調角: 轉子齒軸線偏移定子齒軸線的角度,電機運轉必存在失調角,由失調角產(chǎn)生的誤差,采用細分驅動是不能解決的。4)最大空載起動頻率: 電機在某種驅動形式、電壓與額定電流下,在不加負載的情況下,能夠直接起動的最大頻率。 5)最大空載的運行頻率: 電機在某種驅動形式,電壓與額定電流下,電機不帶負載的最高轉速頻率。6)運行矩頻特性:電機在某種測試條件下測得運行中輸出力矩與頻率關系的曲線稱為運行矩頻特性,這是電機諸多動態(tài)曲線中最重要的,也是電機選擇的根本依據(jù)。1.5 步進電機的驅動控制系統(tǒng)控制系統(tǒng)的組成方框圖如下:1)脈沖信號的產(chǎn)生脈沖信號由單片機AT89S52的I/O口產(chǎn)

29、生,一般的脈沖信號的占空比為0.3-0.4左右,電機轉速越高,占空比則越大。本實驗采用的占空比為0.5。2)信號分配感應子式不僅以二、四相電機為主,二相電機工作方式有二相四拍和二相八拍兩種, 具體分配如下:二相四拍為,步距角為1.8度;二相八拍為,步距角為0.9度。本設計采用步距角為1.8度。3)功率放大功率放大是驅動系統(tǒng)最為重要的部分。步進電機在一定轉速下的轉矩取決于它的動態(tài)平均電流而非靜態(tài)電流(而樣本上的電流均為靜態(tài)電流)。平均電流越大電機力矩越大,要達到平均電流大這就需要驅動系統(tǒng)盡量克服電機的反電勢。因而不同的場合采取不同的的驅動方式,到目前為止,驅動方式一般有以下幾種:恒壓、恒壓串電阻

30、、高低壓驅動、恒流、細分數(shù)等。步進電機一經(jīng)定型,其性能取決于電機的驅動電源。步進電機轉速越高,力距越大則要求電機的電流越大,驅動電源的電壓越高。電壓對力矩影響如下:4)功率放大細分驅動器 在步進電機步距角不能滿足使用的條件下,可采用細分驅動器來驅動步進電機,細分驅動器的原理是通過改變相鄰(A,B)電流的大小,以改變合成磁場的夾角來控制步進電機運轉的。二、驅動器由于單片機的I/O不具有直接驅動步進電機的能力,故在本系統(tǒng)中需要步進電機驅動器,我們選擇驅動器為KD-221,該驅動器具有輸入電壓圍廣,控制信號輸入方式多樣等特點。其具體接法如下:2.1、電源接線:、E高:當驅動電壓大于10V時,正極接此

31、座,使用時最大不能大于40V,以防損壞模塊。 、E低:當驅動電壓小于10V時,正極接此座。、地:驅動電壓E高、E低的的負極接此座。、A ,:接電機A相線圈的二根引線。、B, :接電機B相線圈的二根引線。 2.2、控制信號接線:、CP:接控制器發(fā)給步進電機的走步脈沖信號線。、CW:接控制器發(fā)給步進電機的走步方向信號線。、VP:接CP和CW信號的負極,即邏輯電路電源的負極。、本驅動器部設計接收信號為RTTL電平,即5V電平,如其它邏輯電平信號需要接限流電阻,否則可能損壞光耦元件。三、光電開關 本系統(tǒng)中所用傳感器為EE-EX672關電開關,該傳感器為開關型傳感器,四個接線腳分別為“+,L,OUT,-

32、”其輸入電壓圍廣為直流5-24V,L為控制指示端,當“L”與“+”相連時,傳感器未檢測到物體時LED燈發(fā)光,當“L”懸空時則相反,其特點為:動作模式備有遮光時ON/入光時ON(可切換型)應答頻率為1KHZ的高速響應入光顯示燈明顯,容易進行動作確認.電源電壓為DC-24V的廣圍備有遮光時入光顯示燈燈亮型其連接電路如下圖所示:“L”與“+”相連時,傳感器未檢測到物體時LED燈發(fā)光?!癓”懸空傳感器檢測到物體時LED燈發(fā)光。四、硬件設計電路圖下圖中為單片機的最小系統(tǒng),其P0.0-P0.7口分別連接到LCD1602的D0-D7引腳,與P2.5,P2.6,P2.7相連的按鍵開關分別控制步進電機的正反轉,

33、加速,減速,P2.0,P2.1,P2.2分別接LCD1602的RS,RW,E引腳。下圖中為電機驅動部分。驅動電壓為+12V,用單片機的P1.0與電機驅動器的CW相連控制單片機的轉向,P1.1與電機驅動器的CP相連,給驅動器輸入脈沖。a,b,c,d分別接入步進電機。SX-672為檢測轉速的傳感器外接+5V驅動電壓,輸出接入單片機的T1腳。五、軟件設計5.1 控制算法比較:PID控制原理PID調節(jié)器由比例調節(jié)器(P),積分調節(jié)器(I)和微分調節(jié)器(D)構成,它通過對偏差值的比例積分和微分運算后,用計算所得的控制量來控制被控對象圖1所示為PID控制系統(tǒng)框圖。圖1 PID控制系統(tǒng)框圖5.1.1 比例調

34、節(jié)(P) 比例調節(jié)是數(shù)字控制中最簡單的一種調節(jié)方法。其特點是調節(jié)器的輸出與控制偏差e成線性比例關系,控制規(guī)律為: (1)式中:-比例系數(shù),-偏差e為零時調節(jié)器的輸出值當輸出值S與設定的期望值R間產(chǎn)生偏差時,比例調節(jié)器會自動調節(jié)控制變量y(如為控制閥門的開度)的大小??刂谱兞縴的大小會朝著減小偏差e的方向變化比例系數(shù)的大小決定了比例調節(jié)器調節(jié)的快慢程度,大調節(jié)器調節(jié)的速度快,但過大會使控制系統(tǒng)出現(xiàn)超調或振蕩現(xiàn)象。小調節(jié)器調節(jié)的速度慢,但過小又起不到調節(jié)作用。另外,雖然比例調節(jié)器控制規(guī)律簡單,控制參數(shù)易于整定,但缺點是它只能在一種負載情況下實現(xiàn)無靜差值的調節(jié),當負載變化時,除非重新調整相應的),值

35、的大小,否則控制系統(tǒng)將會產(chǎn)生無法消除的靜差值。5.1.2 比例微分調節(jié)(PI)比例調節(jié)器的主要缺點是存在無法消除的靜差值,影響了調節(jié)精度為了消除靜差值,在比例調節(jié)器的基礎上并人一個積分調節(jié)器構成比例積分調節(jié)器,其調節(jié)規(guī)律可用下列(2)式表示(2)式中:為積分常數(shù),它的物理意義是當調節(jié)器積分調節(jié)作用與比例調節(jié)作用的輸出相等時所需的調節(jié)時間稱為積分常數(shù)。積分常數(shù)的大小決定了積分作用強弱程度,選擇的越小,積分的調節(jié)作用越強,但系統(tǒng)振蕩的衰減速度越慢。當過小時,甚至會造成系統(tǒng)的持續(xù)振蕩,使調節(jié)器的輸出波動不定,給生產(chǎn)過程帶來嚴重的危害。相反地當選擇的越大,積分的調節(jié)作用越弱,雖然過渡過程中不容易出現(xiàn)振

36、蕩現(xiàn)象,但消除偏差e的時間卻很長。積分調節(jié)對偏差有累積作用,所以,只要有偏差e存在積分的調節(jié)作用就會不斷地增強,直至消除比例調節(jié)器無法消除的靜差值。5.1.3 比例積分微分調節(jié)(PID)加入積分調節(jié)后,雖可消除靜差,使控制系統(tǒng)靜態(tài)特性得以改善,但由于積分調節(jié)器輸出值的大小是與偏差值e的持續(xù)時間成正比的,這樣就會使系統(tǒng)消除靜差的調節(jié)過程變慢,由此帶來的是系統(tǒng)的動態(tài)性能變差尤其是當積分常數(shù)很大時,情況更為嚴重。另外,當系統(tǒng)受到?jīng)_激式偏差沖擊時,由于偏差的變化率很大,而PI調節(jié)器的調節(jié)速度又很慢,這樣勢必會造成系統(tǒng)的振蕩,給生產(chǎn)過程帶來很大的危害改善的方法是在比例積分調節(jié)的基礎上再加人微分調節(jié),構成

37、比例積分微分調節(jié)器(PID)。其調節(jié)規(guī)律可用(3)式表示。(3)式中:為微分常數(shù),它的物理意義是當調節(jié)器微分調節(jié)作用與比例調節(jié)作用的輸出相等時所需的調節(jié)時間稱為微分常數(shù)5.2 PID控制算法單片機控制系統(tǒng)通過AD電路檢測輸出值s,并計算偏差e和控制變量y,再經(jīng)DA轉換后輸出給執(zhí)行機構,從而實現(xiàn)縮小或消除輸出偏差的目的,使系統(tǒng)輸出值s穩(wěn)定在給定值區(qū)域。在計算機控制過程中,整個計算過程采用的是數(shù)值計算方法,當采樣周期足夠小時,這種數(shù)值近似計算相當誰確,使離散的被控過程與連續(xù)過程相當接近。圖2為單片機閉環(huán)控制系統(tǒng)框圖 J。PID算法是將描述連續(xù)過程的微分方程轉化為差分方程,然后,根據(jù)差分方程編制計算

38、程序來進行控制計算的。另外在PID控制中,由于PID算式選擇的不同,最終所得到的控制效果是不同的。下面進行PID控制算法的研究。圖5 單片機閉環(huán)控制系統(tǒng)框圖5.2.1 位置式PID的控制算法如前所述PID調節(jié)的微分方程為:將此微分方程寫成對應的差分方程形式(4)式中:-第n次采樣周期所獲得的偏差信號;-第n-1次采樣周期所獲得的偏差信號;T-采樣周期;-調節(jié)器第rt次控制變量的輸出;為了編寫計算機程序的方便,現(xiàn)將算式(4)寫成下列形式(5)式中:,因為采樣周期T,積分常數(shù)和微分常數(shù)選定后皆為常數(shù),因此與必為常。當調整參數(shù)改善控制性能時,也只須調整、和的大小即可。5.2.2 增量式PID的控制算

39、法在位置式PID控制算法中,每次的輸出與控制偏差e過去整個變化過程相關,這樣由于偏差的累加作用很容易產(chǎn)生較大的累積偏差,使控制系統(tǒng)出現(xiàn)不良的超調現(xiàn)象。由算式(4)可得: (6)用(4)式減去(6)式,可得增量式PID的算式: (7)其中,為了編寫程序方便,將(7)式改寫成下列形式: (8)式中:,從增量式PID的算式中可知,只要知道了現(xiàn)時以前的三次采樣周期的偏差信號,即可計算出本次采樣周期的控制變量y的增量。 綜合以上分析,我們采用增量式PID算法,本系統(tǒng)的軟件控制算法主要采用了增量式PID控制算法。其控制算法的流程圖為:5.3 步進電機控制流程圖如下:六、數(shù)據(jù)處理和分析1、PWM的設定我們通

40、過設定PWM來控制步進電機的轉速。當T=6S時,我們通過試湊的方法了解到,當PWM=1/300時,所給步進電機剛好啟動,當PWM=1/17時,步進電機速度達到最大。2、步進電機的測速我們通過用軟件設定一個轉速,然后與用光電開關采集回來的速度相比較,采用閉環(huán)的PID控制來達到步進電機穩(wěn)定調速的目的。我們在程序中設定轉速為72 rpm,通過與P3.2采集回來的數(shù)據(jù)相比較,當采集回來的數(shù)據(jù)小于72rpm時,我們通過改變PID的相應的參數(shù)(=1.2,=1.1 ,=0.9)來調節(jié)電機的轉速,讓步進電機的轉速加起來,使之與72 rpm相吻合。同樣,當采集回來的數(shù)據(jù)大于72rpm時,也改變PID的相應的參數(shù)

41、來調節(jié)電機的轉速,讓步進電機的轉速加起來,使之與72 rpm相吻合。七、實驗心得與體會通過本次課程設計我們學習到了許多書本上沒有的知識,通過自己查資料和互相討論,對系統(tǒng)進行整體設計后基本達到了要求,實現(xiàn)步進電機速度閉環(huán)控制并通過對系統(tǒng)控制算法的比較,綜合考慮,選用了閉環(huán)的PID控制,使我們對PID的控制有了更深刻的認識,使自己將理論與實際相結合起來同時對51系列的單片機的設計與編程有了更深的了解,學會了很多。同時衷心感老師的指導。附錄1.顯示與測速程序#include #include #define uchar unsigned char#define uint unsigned int f

42、loat f=0;bit F_in=0,truer; sbit P10=P30 ;sbit P12=P32;/sbit P14=P14;sbit LCD_RS = P20; sbit LCD_RW = P21;sbit LCD_EN = P22;/sbit BEEP = P37; uchar code cdis1 = motorspeed: ; uchar code cdis2 = number: ;#define delayNOP(); _nop_();_nop_();_nop_();_nop_();uchar key_buf; /顯示緩存uchar temp;uchar key,key_n

43、um=0; uchar LCD0_data,LCD1_data,LCD2_data,LCD3_data; /鍵順序嗎uchar data testdata = 0 x00,0 x00,0 x00,0 x00;uchar data in_data = 0 x01,0 x02;uchar shift ;uint i;uint q;uint j;/*/void initime() TMOD=0 x51; /T1計數(shù)器,T0定時器,方式1 TL0=(65536-10000)%256; TH0=(65536-10000)/256; /定時10000us0.01s TL1=0; TH1=0; ET0=1;

44、 EA=1;void delay(uint ms) uchar t; while(ms-) for(t = 0; t 120; t+); void mydelay() for(i=0;i100;i+)for(j=0;j1000;j+);/*/* */* 延時 x*0.14ms */* */*/void delay0(uchar x) unsigned char i; while(x-) for (i = 0; i13; i+) bit lcd_busy() bit result; LCD_RS = 0; LCD_RW = 1; LCD_EN = 1; delayNOP(); result =

45、(bit)(P0&0 x80); LCD_EN = 0; return(result); void lcd_wdat(uchar dat) while(lcd_busy(); LCD_RS = 1; LCD_RW = 0; LCD_EN = 0; P0 = dat; delayNOP(); LCD_EN = 1; delayNOP(); LCD_EN = 0; void lcd_wcmd(uchar cmd) while(lcd_busy(); LCD_RS = 0; LCD_RW = 0; LCD_EN = 0; _nop_(); _nop_(); P0 = cmd; delayNOP();

46、 LCD_EN = 1; delayNOP(); LCD_EN = 0; void lcd_pos(uchar pos) lcd_wcmd(pos | 0 x80); /數(shù)據(jù)指針=80+地址變量void dectobit(int dec) LCD3_data=dec/1000+0 x30; dec=dec % 1000; LCD2_data=dec/100; dec=dec % 100;LCD1_data=dec/10+0 x30;dec=dec % 10+0 x30;LCD0_data=dec; void display1()lcd_pos(0 x0b);lcd_wdat(LCD3_data

47、); lcd_pos(0 x0c);lcd_wdat(LCD2_data); lcd_pos(0 x0d);lcd_wdat(LCD1_data); lcd_pos(0 x0e);lcd_wdat(LCD0_data); lcd_pos(0 x4b);lcd_wdat(0 x31); void lcd_init() delay(15); lcd_wcmd(0 x38); /16*2顯示,5*7點陣,8位數(shù)據(jù) delay(5); lcd_wcmd(0 x38); delay(5); lcd_wcmd(0 x38); delay(5); lcd_wcmd(0 x0c); /顯示開,關光標 dela

48、y(5); lcd_wcmd(0 x06); /移動光標 delay(5); lcd_wcmd(0 x01); /清除LCD的顯示容 delay(5);/*/ Void main() uchar m; lcd_init(); initime(); TR0=1; TR1=1; /初始化LCD P10=1; P12=0; lcd_pos(0 x00); /設置顯示位置為第一行 for(m=0;m16;m+) lcd_wdat(cdis1m); lcd_pos(0 x40); /設置顯示位置為第二行 for(m=0;m16;m+) lcd_wdat(cdis2m); /TMOD=0 x21; /將T

49、1設置為8位自動重裝工作方式。 / TH1=175; /對T1定時常數(shù)進行預置。 /TL1=175; / TR1=1; /啟動T1。 while(1) dectobit(f);/ key_buf=key_buf+0 x30; timer()interrupt 1 using 2 i=i+1; if(i=600) i=0; f=TH1*256+TL1; TL1=0; TH1=0; TL0=(65536-10000)%256; TH0=(65536-10000)/256;2.電機驅動程序#include #include #define uchar unsigned char#define uin

50、t unsigned int/#define k 2000sbit cp=P10;sbit cw=P11;sbit key2=P15;sbit key=P16;sbit key1=P17;uint i;uint K;void key_scan()/鍵盤掃描函數(shù)if(add=0) /加速flag=1;Delay(100);if(add=0)while(!add);k=k-5;if(k620)k=620;if(fx=0) /反向 flag=0;Delay(100);if(fx=0)while(!fx);cw=cw;/*/*/void PID()/PID算法x=20000/80; /頻率y=x*3/

51、60; /理想轉速if(speedy) k+;void delay(unsigned int t ); void Delay(unsigned int z) unsigned int i,j; for(i=0;iz;i+) for(j=0;j125;j+);void main()key=1;key1=1;key2=1;TMOD=0 x01;K=2500;TH0=(65536-K)/256; TL0=(65536-K)%256;EA=1;ET0=1;TR0=1; cp=1;cw=1;while(1)/TH0=0 xf6;/TL0=0 xfd;if(key=0) Delay(100);while(

52、!key);K=K-50;if(key1=0) Delay(100);while(!key1);K=K+50;if(key2=0) Delay(100);while(!key2);cw=cw; void timer0() interrupt 1 i=i+1;if(i=400)/cw=cw;i=0;/EA=0; cp=cp;TH0=(65536-K)/256;TL0=(65536-K)%256;/TH0=0 xf6;/ TL0=0 xfd;目錄 TOC * MERGEFORMAT TOC o 1-2 h z u HYPERLINK l _Toc5218HYPERLINK l _Toc27426基

53、于單片機控制的步進電機調速系統(tǒng)的設計HYPERLINK l _Toc18493HYPERLINK l _Toc10568中文摘要PAGEREF _Toc10568 3HYPERLINK l _Toc1990關鍵詞PAGEREF _Toc1990 3HYPERLINK l _Toc26462HYPERLINK l _Toc6031Abstract:PAGEREF _Toc6031 4HYPERLINK l _Toc6527HYPERLINK l _Toc7634Key words:PAGEREF _Toc7634 4HYPERLINK l _Toc28004HYPERLINK l _Toc143

54、99HYPERLINK l _Toc32103HYPERLINK l _Toc1392 前 言PAGEREF _Toc1392 5HYPERLINK l _Toc196521.1步進電機的特點PAGEREF _Toc19652 61.2步進電機的基本參數(shù)5HYPERLINK l _Toc24236HYPERLINK l _Toc95181.3步進電機的技術參數(shù)PAGEREF _Toc9518 6HYPERLINK l _Toc15858 1.4 步進電機的分類PAGEREF _Toc15858 10HYPERLINK l _Toc194211.5 步進電機詳細調速原理:PAGEREF _Toc

55、19421 10HYPERLINK l _Toc29166HYPERLINK l _Toc7219第2章本次設計的基本要求PAGEREF _Toc7219 11HYPERLINK l _Toc90702.1基本要求 PAGEREF _Toc9070 11HYPERLINK l _Toc19631HYPERLINK l _Toc20746第3章 方案的論證 PAGEREF _Toc20746 11HYPERLINK l _Toc40993.1 控制方式的確定PAGEREF _Toc4099 11HYPERLINK l _Toc132273.2 驅動方式的確定PAGEREF _Toc13227 1

56、3HYPERLINK l _Toc63763.3 驅動電路的選擇PAGEREF _Toc6376 13HYPERLINK l _Toc252843.4 基本方案的確定PAGEREF _Toc25284 14HYPERLINK l _Toc6636HYPERLINK l _Toc29170第4章 硬件電路的設計PAGEREF _Toc29170 14HYPERLINK l _Toc323394.1 單片機的選擇 PAGEREF _Toc32339 15HYPERLINK l _Toc135714.2 步進電機的選擇 PAGEREF _Toc13571 17HYPERLINK l _Toc2916

57、3HYPERLINK l _Toc31480HYPERLINK l _Toc14451HYPERLINK l _Toc28239HYPERLINK l _Toc22846HYPERLINK l _Toc11418HYPERLINK l _Toc2301HYPERLINK l _Toc30620HYPERLINK l _Toc19161HYPERLINK l _Toc13447HYPERLINK l _Toc19259HYPERLINK l _Toc21019HYPERLINK l _Toc18932HYPERLINK l _Toc13484HYPERLINK l _Toc22190HYPERL

58、INK l _Toc325984.3 驅動電路的選擇 PAGEREF _Toc32598 23HYPERLINK l _Toc311734.4 顯示電路與鍵盤的選擇 PAGEREF _Toc31173 25HYPERLINK l _Toc30564.5 反饋電路的選擇PAGEREF _Toc3056 28HYPERLINK l _Toc29943第5章 算法的設計:PAGEREF _Toc29943 30HYPERLINK l _Toc121565.1 PID控制算法30HYPERLINK l _Toc25231HYPERLINK l _Toc5922第6章 軟件的設計 PAGEREF _To

59、c5922 35HYPERLINK l _Toc28408HYPERLINK l _Toc107456.1 顯示子程序的設計PAGEREF _Toc10745 35HYPERLINK l _Toc20116.2鍵盤子程序的設計PAGEREF _Toc2011 36HYPERLINK l _Toc32303HYPERLINK l _Toc30006HYPERLINK l _Toc9290HYPERLINK l _Toc13317HYPERLINK l _Toc24985HYPERLINK l _Toc26497HYPERLINK l _Toc315046.3驅動程序流程的設計:PAGEREF _

60、Toc31504 37HYPERLINK l _Toc74196.4正反轉程序流程圖PAGEREF _Toc7419 38HYPERLINK l _Toc31780HYPERLINK l _Toc16344第7章 實驗結果與分析 PAGEREF _Toc16344 41HYPERLINK l _Toc3557.1 有關參數(shù)的計算與分析PAGEREF _Toc355 41HYPERLINK l _Toc179867.2 理論與實際的分析PAGEREF _Toc17986 41HYPERLINK l _Toc3283HYPERLINK l _Toc9351附錄PAGEREF _Toc9351 43

溫馨提示

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

評論

0/150

提交評論