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

下載本文檔

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

文檔簡介

1、題 目:單片機操縱步進電機系統 摘 要 專門多工業操縱設備對位移和角度的操縱精度要求較高, 一般電機專門難實現, 而步進電機可精確實現所設定的角度和轉數。本設計要緊是運用51 單片機操縱六線4 相步進電機系統, 由單片機產生驅動脈沖信號, 操縱步進電機以一定的轉速向某一方向產生一定的轉動角度。同時能夠利用單片機實現電機的正、反轉及速度操縱,并能在數碼管上顯示出相應的速度。本文中給出了該系統設計的硬件電路,軟件設計,人機交互等。并對各個功能模塊進行了詳細的講明。要緊內容包括以下幾個方面:單片機操縱步進電機的一般原理。電機驅動及操縱的實現。操縱系統整體設計以及模塊劃分講明。原理圖。代碼。關鍵詞:單

2、片機;步進電機;系統;驅動AbstractMany Industrial control equipment have a highly requirement in displacement and angle with control accuracy, the most motor cant carry out .but the step motor can carry out the displacement and angle that you enactmented in accuracy. This design mainly used SCM to control step m

3、otor system.The step motor is formed six lines and four phasic.Through SCM generate the drive pulse signal.Control stepper motor through a certain speed in a direction to get a certain degree of rotation angle.At the same time, It can use SCM to realization of the motor is , reverse and speed contro

4、l. and showed the speed in the digital tube. In this paper, given the design of the system hardware circuit,software design, human-computer interaction and so on.and it given the details description of each functional module.the main contents include the following: (1) The general principles of sign

5、al_chip controlling step motor. (2) The realization of motor driving and controlling (3) Control system overall design and description module division (4) Schematic Diagram (5) CodeKey Words:SCM; stepper motor; system; drive目錄引言 41 單片機操縱步進電機的一般原理 41.1 步進電機 41.1.1 步進電機介紹 41.1.2 步進電機分類 51.1.3 技術指標 51.

6、1.4 步進電機工作原理 51.2 單片機 72 步進電機驅動實現 82.1簡介 82.2驅動選擇 83 系統硬件設計 93. 1 單片機操縱電機 93.2 鍵盤 93.3 顯示部分 10程序流程圖 11總結 12致 謝 13參考文獻 13附錄 13C代碼 13引言目前,在工業操縱生產以及儀器上應用十分廣泛。通常都要對一些機械部件平移和轉動,對移動的位移和角度操縱要求較高,一般的電機專門難實現對位置和角度的精確操縱,在一些智能化要求較高的場合,用模擬芯片操縱器及信號發生器來操縱有一定局限性。而用單片機操縱步進電機能夠改善性能,步進電機能實現精確的角度和轉數,具有良好的步進特性,最適合數字操縱。

7、在工控設備中得到了廣泛的應用。而單片機具有芯片體積小,兼容性強,低電壓地,低功耗等特點,使單片機成為驅動步進電機的最佳空盒子單元。因此單片機操縱步進電機系統操縱精度高,運行穩定,得以廣泛運用。1 單片機操縱步進電機的一般原理1.1 步進電機1.1.1 步進電機介紹 步進電機是將電脈沖信號轉變為角位移或線位移的開環操縱元件。在非超載的情況下,電機的轉速、停止的位置只取決于脈沖信號的頻率和脈沖數,而不受負載變化的阻礙,即給電機加一個脈沖信號,電機則轉過一個步距角。這一線性關系的存在,加上步進電機只有周期性的誤差而無累積誤差等特點。使得在速度、位置等操縱領域用步進電機來操縱變的特不的簡單。盡管步進電

8、機已被廣泛地應用,但步進電機并不能象一般的直流電機、交流電機在常規下使用。它必須由雙環形脈沖信號、功率驅動電路等組成操縱系統方可使用。因此用好步進電機卻非易事,它涉及到機械、電機、電子及計算機等許多專業知識。1.1.2 步進電機分類永磁式(PM)。一般為二相,轉矩和體積都專門小,步距角一般為7.5或15反應式(VR)。一般為三相,實現大轉矩輸出,步距角為1.5。混合式(HB)。兼具永磁式和反應式的優點,分二相和五相,二相步距角為1.8五相步距角為0.72。1.1.3 技術指標 靜態指標 相數 步距角 拍數 定位轉矩 保持轉矩 步進電機動態指標 步距角精度 失步 失調角 最大空載啟動頻率 最大空

9、載運行頻率 運行頻距特性 電機共振點1.1.4 步進電機工作原理分析(步進電機展開圖)以反應式步進電機為例,其典型結構圖如圖1所示。這是一個四相步進電機,當相操縱繞組接通脈沖電流時,在磁拉力作用下使相的定、轉子對齊,相鄰的B 相和D 相的定、轉子小齒錯開。若換成B 相通電,則磁拉力使B 相定、轉子小齒對齊(轉過) ,而與B 相相鄰的C 相和A 相的定、轉子小齒又錯開,即步進電機轉過一個步距角。若按A B C D A 規律循環順序通電,則步進電機按一定方向轉動。若改變通電順序為A D C B A ,則電機反向轉動。這種操縱方式稱為四相單四拍。若按AB BC CD DA AB或A AB B BC

10、C CD D DA A 順序通電則稱為四相雙拍或四相單、雙八拍。不管采納哪種操縱方式,在一個通電循環內,步進電機的轉角恒為一個齒距角。因此,能夠通過改步進電機通電循環次序來改變轉動方向,能夠通過改變通電頻率來改變其角頻率。運用單片機的輸出功能,通過編程實現輸出四個信號分不給步進電機的四相A、B、C、D ,并通過輸出時信號的循環次序,來設定步進電機的轉動方向及輸出信號的頻率以便設定步進電機的轉動頻率。圖1 反應式步進電機結構圖 實現原理采納單片機產生A、B、C、D 的四相信號,當采納單片機進行操縱時,需要在單片機和步進電機中間設隔離電路以使強弱電分離。由于步進電機的驅動電流相對較大,可增設放大電

11、路來提供步進電機的工作電流。系統電路由五部分組成,即單片機、隔離、放大、電源及步進電機。1.2 單片機功能特性描述 AT89S52是一種低功耗、高性能CMOS8位微操縱器, 具有8K 在系統可編程Flash 存儲器。使用Atmel 公 司高密度非易失性存儲器技術制造,與工業80C51 產品指令和引腳完全兼容。片上Flash同意程序存儲 器在系統可編程,亦適于常規編程器。在單芯片上, 擁有靈巧的8 位CPU 和在系統可編程Flash,使得 AT89S52為眾多嵌入式操縱應用系統提供高靈活、超 有效的解決方案。AT89S52具有以下標準功能:8k字 節Flash,256字節RAM,32 位I/O

12、口線,看門狗定時 器,2 個數據指針,三個16 位定時器/計數器,一個6 向量2級中斷結構,全雙工串行口,片內晶振及時鐘電 路。另外,AT89S52 可降至0Hz 靜態邏輯操作,支持 2種軟件可選擇節電模式。空閑模式下,CPU停止工作, 同意RAM、定時器/計數器、串口、中斷接著工作。掉 電愛護方式下,RAM內容被保存,振蕩器被凍結,單 片機一切工作停止,直到下一個中斷或硬件復位為止。2 步進電機驅動實現2.1簡介 步進電機在單單僅給予電壓時,電機是可不能動作的,必須由脈沖產生器提供位置(脈波數)、速度的脈沖信號指令,以及驅動器驅動電流流過電機內部線圈、依順序切換激磁相序的方式才能夠讓電機運

13、轉。因此欲使步進電機動作的必要系統組成有: (1)脈沖產生器:給予角度(位置移動量)、動作速度及運轉方向之脈沖信號的電機驅動指令。(2)步進驅動器:依操縱器所投入的脈沖信號指令,提供電流來驅動步進電機動作。(3)步進電機:提供轉矩動力輸出來帶動負載。因此步進電機系統構成簡單,不需要速度感應器、位置傳感器, 即能依照脈沖產生器所輸入的脈沖來做到速度及位置的操縱。2.2驅動選擇步進電機能夠選用專用的電機驅動模塊,也能夠自己構建驅動電路。一般有以下幾種選擇:專用驅動模塊,如L298,FT5754等,這類驅動接口簡單,這類能夠驅動步進電機,直流電機等。達林頓驅動器ULN2803,那個芯片能夠一次驅動八

14、線步進電機。自己構建,通過三極管,74als04,等系列元件構成。但如此系統可靠性會降低,會另外給系統帶來誤差。3 系統硬件設計1 單片機操縱電機 如圖3講明:那個部分為單片機操縱步進電機部分,80s52單片機通過達林頓驅動器ULN2803來驅動步進電機,80s52的P1.0-P1.4發送操縱信號給驅動器,然后驅動器的四根線把信號傳遞給電機,使電機實現正反轉等。電機部分接12V直流電源。3.2 鍵盤如圖4 講明: 本系統中采納了四個按鍵,分不與80s52的四個引腳相連,分不為LCDEN,RS,WR,RD;分不實現的功能是電機加速,減速,正反轉。鍵盤一旦按下則表示向單片機發送了有效信號,單片機就

15、相應的進行調節。關于鍵盤的鍵按下的時候分為幾個步驟,當鍵盤按下的時候,接通電路,鍵盤掃描檢測低電平,但檢測到低電平之后不能夠推斷鍵是否被按下,因為抖動可能引起那個變化,所有大概延時510ms之后再進行檢測。假如再次檢測到低電平之后講明鍵被按下。那個過程確實是所講的消除抖動。3.3 顯示部分如圖5講明:關于顯示部分,因為那個系統只是顯示轉速,因此采納了LED共陽極數碼管。同時用了74HC573鎖存器,74HC573鎖存器輸出電流大,接口電路簡單。本系統采納了兩個74HC573鎖存器,分不為段選和位選。段選為數碼管的顯示數字,位選為選中相應的數碼管。程序流程圖總結通過本次的課程論文,讓我真實的感受

16、到一個完整的系統設計過程。這次的的論文從開始的整體布局,排版,到內容中的系統設計直到最后完成。每個流程下來,都帶給了我專門多的新東西,特不在設計完系統之后做硬件部分中,先是用protel99se畫圖,好多圖在庫中找不到,找不到就自己畫,然后封裝,封裝的時候還要用游標卡紙對買來的元件進行精確的測量,然后才能在封裝的過程中保證精度。最后做完圖之后還要布線,布線完成后再發到廠家去做。事實上那個過程我用買好的空板做的,因為元件不多。因此就買了相應的元件直接再PCB板上焊接好的。在焊接的過程中也會感受到專門多東西,因為專門多需要注意的。只是那個過程多多嘗試就會有進步的。焊接完后確實是代碼調試時期。最后就

17、完成了那個小型系統的設計。致 謝在此,感謝我的老師以及周圍的同學。本次的論文得益于同學們的關心。最后還要感謝我的父母,是他們一直在背后支持著我。 謹以此文獻給他們! 參考文獻 1 張永楓,王靜霞,楊宏利. 單片機應用實訓教程. 西安電子科技大學出版社,2005. 2 郭天祥. 51單片機C語言教程. 電子工業出版社 2008 附錄C代碼單片機操縱步進電機實現功能: 定時器中斷:定時時刻設置為30秒,首先給的初值每次中斷為5ms,通過20次中斷為1秒,半分鐘三十秒則要中斷600次,所有到達六百次后就把計數n中的值讀取到數碼管中顯示出來。鍵盤檢測:進行速度操縱的時候按下相應的鍵則會對應的進行速度調

18、節。數碼管顯示:驅動部分:#include #define uchar unsigned charsbit dula=P26;sbit wela=P27;sbit jia_key=P36;sbit jian_key=P37;sbit zf_key=P35;sbit stop_key=P34;bit flag=0;uchar num1,n;uchar num=0,show_num=2,maichong=4,table_begin=0;uchar code table1=0 x01,0 x02,0 x04,0 x08,0 x08,0 x02,0 x01;uchar code table=0 x3f

19、,0 x06,0 x5b,0 x4f, 0 x66,0 x6d,0 x7d,0 x07, 0 x7f,0 x6f,0 x77,0 x7c, 0 x39,0 x5e,0 x79,0 x71;/ 延時部分void delay(uchar i) uchar j,k; for(j=i;j0;j-) for(k=110;k0;k-); / 顯示部分void display() dula=0; P0=tableshow_num; dula=1; dula=0; wela=0; P0=0 xfe; wela=1; wela=0; delay(5); P0=table0; dula=1; dula=0; P0

20、=0 xfd; wela=1; wela=0; delay(5); / 鍵盤檢測部分void key() if(jia_key=0) delay(5); if(jia_key=0) num+; if(num=4) num=3; while(jia_key=0) if(jian_key=0) delay(5); if(jian_key=0) if(num!=0) num-; else num=0; while(jian_key=0); if(zf_key=0) delay(5); if(zf_key=0) flag=flag; while(zf_key=0); if(stop_key=0) delay(4); if(stop_key=0) sho

溫馨提示

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

評論

0/150

提交評論