基于單片機的步進電機的運動控制系統課程畢業設計_第1頁
基于單片機的步進電機的運動控制系統課程畢業設計_第2頁
基于單片機的步進電機的運動控制系統課程畢業設計_第3頁
基于單片機的步進電機的運動控制系統課程畢業設計_第4頁
基于單片機的步進電機的運動控制系統課程畢業設計_第5頁
已閱讀5頁,還剩18頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、 目 錄 步進電機原理及硬件設計21 單片機電路21.1 at89c51單片機的組成結構21.2 at89c51單片機的引腳及功能42步進電機62.1 步進電機的工作原理62.2步進電機的驅動73 電源114 軟件程序設計11 4.1三相六拍環形分配.114.2主程序的設計12總結19參考文獻21 1步進電機原理與硬件設計 1單片機電路本系統采用a89c51單片機產生控制信號單片機內部的內存即可滿足要求。如需要擴展較多的外部ram和rom可加上數據緩沖器。步進電機控制信號通過at89c51單片機其中一個口進行擴充。為了增加步進電機工作的靈活性,在啟動步進電機工作之后,當有鍵按下,設置產生外部中

2、斷,達到靈活控制電機的目的。下面介紹一下at89c51單片機。1.1at89c51單片機的組成結構at89c51單片機內部硬件結構框圖如圖2所示。它由一個8位中央處理器(cpu)、一個256b片內ram及4kbflashrom、21個特殊功能寄存器、4個8為并行i/o口以及中斷系統等部分組成,各功能部件通過片內單一總線連成一個整體,集成在一塊芯片上。(1) cpu cpu是單片機的核心部分,cpu包括兩個基本部分:運算器和控制器。運算器運算器即算術邏輯單元alu,是進行算術或邏輯運算的部件。可實現算術運算和邏輯運算。操作的結果一般送回累加器acc,而其狀態信息送至程序狀態寄存器psw。控制器控

3、制器是用來控制計算機工作的部件。控制器接收來自存儲器的指令,使各部件協調工作,完成指令所規定的操作。 圖2 at89c51單片機內部結構示意圖(2)內部存儲器內部數據存儲器at89c51芯片內共有256b(地址為00h-ffh)的數據存儲器,其中高128b(地址為:80h-ffh)被專用寄存器占用,能作為寄存器供用戶使用的只是低128b(地址為:00h-7fh),用于存放可讀寫的數據,如程序執行過程中的變量。內部程序存儲器at89c51共有(地址為:0000h-0fffh)的flash程序存儲器,用于存放程序、原始數據或表格常數。(3)定時/計數器 at89c51共有兩個16位的定時/計數器都

4、可以設置成計數方式,用于對外部事件進行計數;也可設置成定時方式,并可以根據計數或定時的結果實現對單片機運行的控制。(4)并行i/o口 用于進行單片機內外的傳輸,4個8位的i/o口(p0、p1、p2、p3)。每個8位的口,既可用作輸入口,也可用作輸出口,每個口即可以8位同步讀寫,又可對每一位進行單獨的操作。標準i/o口的主要功能相當于一個8位鎖存器,能存儲一個字節的二進制數據,以保持與之相連接的8條口線各自電位的高低狀態。1.2 at89c51單片機的引腳及功能at89c51共有40個引腳,下面介紹一下它們的主要功能。(1)p0口p0口某一位的結構圖如圖3所示,一個輸出鎖存器、兩個三態緩沖器、一

5、 圖3 p0口的結構示意圖個轉換開關mux、一個輸出驅動電路(t1和t2)和一個與門及一個非門組成。(2)p1,p2,p3口 p1口是唯一的單功能口,位結構圖如圖4所示,僅能作為通用i/o口使用,p1口是8位準雙向口,作通用輸入輸出口使用, pl口有別于p0口,它接有內部上拉電阻。p1口的每以一位可以獨立地定義為輸人或者輸出,因此,p1口既可作為8位并行輸入輸出口,又可作為8位輸入輸出端。cpu既可以對p1口進行字節操作,又可以進行位操作。當作輸入方式時,該位的鎖存器必須頂寫1。p2口是8位準雙向輸入輸出接口,當外接程序存儲據時,p2口給出地址的高8位,此時不能用作通用,io口。當外按數據存儲

6、器時,若ram小于256kb,用r0、r1作間址寄存器,只需要p0口送出地址低8位,p2口可以用 圖4 p1口的位結構圖作通用io ;若ram大于256kb,必須用16位寄存器dptr作間址寄存器則p2口只能在一定限度內作一股io 口使用。 p3口是多功能口,同p0口一樣,當做輸入口時,必須先向鎖存器寫“1”,使場效應管t截止。(3)主電源引腳gnd和vccgnd(20):接地;vcc(40):正常操作時接十5v電源(4)外接晶體引腳xtal1和xtal2當外接晶體振蕩器時,xtal1和xtal2分別接在外接晶體兩端,當采用外部時鐘方式時,xtal1接地,xtal2接外來振蕩信號。(5)控制引

7、腳 rst/vpp(9):當振蕩器正常運行時,在此引腳上出現二個機器周期以上的高電平使單片機復位。vcc掉電期間,此引腳可接備用電源,以保持內部ram的數據。當vcc下降掉到低于規定的水平,而vpd在其規定的電壓范圍內,vpd就向內部ram提供備用電源。ale(30):當訪問外部存儲器時,由單片機的p2口送出地址的高8位,p0口送出地址的低8位,數據也是通過p0口傳送。作為p0口某時選出的信息到底是低8位地址還是傳送的數據,需要有一信號同步地進行分別。當ale信號(允許地址鎖存)為高電平(有效)p0口送出低8位地址,通過ale信號鎖存低8位地址。 psen(29):程序存儲器讀選通信號,低電平

8、有效。eavpp(31):當ea保持高電平時,訪問內部程序存儲器(4k8),但當pc(程序計數器)值超過offfh時,將自動轉向執行外部程序存儲器內的程序當ea保持低電平時,則只訪問外部程序存儲器(從0000h地址開始),不管單片機內部是否有程序存儲器2步進電機 2.1步進電機的工作原理 步進電動機是一種能完成增量運動的電磁機械,它將輸入的數字脈沖信號轉換成電機轉軸的輸出角度。在開環方式下,步進電機的輸出步數總是和輸入指令的脈沖數相等,每個脈沖都使電機轉軸前進一個步進角,并依靠它特有的定位轉矩將轉軸準確地鎖定在相應的步距位置。但是,在開環控制方式下,步進電動機的速度控制有著較大難度:在高速運行

9、時,電機易丟失輸入脈沖,造成失步;在低速時,步進電動機的轉速響應有較大波動,運行不平穩;特別是當電機負載變化時,電機的轉速波動更大,調整更不容易。當輸入脈沖頻率很低時,步進電機轉子就處于步進運行狀態, 由于步進電機具備快速啟動和停止的能力,它的步距角和轉速僅與脈沖頻率有關而不受電壓波動和負載變化的影響,也不受環境條件的影響,在不丟步的情況下運行,其步距誤差不會長期積累 步進電機又稱電脈沖馬達,它是將電脈沖信號轉換成機械角位移的執行元件。其特點是:轉子的角位移的大小及轉速分別與輸入的電脈沖數及其頻率成正比,并在時間上與輸入脈沖同步,因此可以通過改變輸入電脈沖的頻率來實現調速:由于其轉軸的輸出的角

10、位移量與輸入的脈沖數成正比,于是可以通過控制脈沖個數來控制步進電動機的角位移量。步進電動機有利于裝置或設備的小型化和低成本,而且很容易用微機實現數字控制。因此,廣泛應用于眾多的領域中并得以不斷的發展,并實現機電一體化和自動化。 步進電機主要是有定子和轉子構成。定子的主要結構是繞組,三相、四相、五相步進電機分別有3個、4個、5個繞組,其他依此類推。繞組按一定的通電順序工作,這個通電順序稱為“相序”。轉子的主要結構是磁性轉軸,當定子中的繞組在相序信號作用下有規律的通電、斷電工作時,轉子周圍就會有一個按此規律變化的電磁場,因此一個按規律變化的電磁力就會作用在轉子上,轉子總是力圖轉動到磁阻最小的位置,

11、正是這樣,使得轉子按一定的步距角轉動,使轉子發生轉動。 步進電動機的工作狀態由控制信號實現,在步進電動機的單片機控制中,控制信號由單片機產生,其基本控制方式如下: 1相序控制方式步進電動機的通電換相順序嚴格按照步進電動機的工作方式進行,通常我們是把通電換相這一過程稱為脈沖分配。現以三相步進電動機為例分析三相步進電動機的工作方式:三相步進電動機的工作方式有三種:三相單三拍,三相雙三拍,三相六拍。“單”、“雙”、“拍”的意思是:“單”指每次切換前后只有一相繞組通電,“雙”指的是每次有兩相繞組通電:而從一種通電狀態轉換到另一種通電狀態就叫作一“拍”。(1) 三相六拍步進電動機的工作原理,其實就是電磁

12、鐵的工作原理。又環形分配器送來的脈沖信號,對定子繞組輪流通電,設先對a相繞組通電,b、c、二相都不通電。由于磁通具有力圖沿磁阻最小路徑通過的特點,因此在a極附近的轉子就只受到徑向力的作用而無切線力,故轉矩為零,轉子被鎖定在這個位置上。此時b、c二相的定子齒則和轉子齒在不同的方向各錯丌360。(k*m*z)的角度,其中k表示通電方式,當為單拍時取k=1,雙拍時取k=2;m為定子繞組的相數;z為轉子的齒數。隨后a相斷電,b相控制繞組通電,則轉子就和b相定予齒對齊,轉子順時針方向旋轉360。(k*m*z)的角度。然后使b相斷電,c相通電,同理轉子又沿順時針方向旋轉360。(k*m*z)的角度。轉子就

13、按照aabb-bccca-a的旋轉順序運動下去。(2) 三相雙三拍工作方式原理 當步進電動機按照abbccaab的順序通電,則就成了四相雙四拍工作方式。其工作原理與三相六拍相同,此處不進行詳細說明。 (3) 三相單三拍工作方式原理 當步進電動機按照abca的順序通電時,則就成了三相單三拍工作方式。 2轉向控制方式 如果按給定的工作方式正向順序通電換相,步進電動機就正轉;如果按相反的順序通電換相,則電動機就反轉。例如,步進電動機先前的工作方式為abcda此時,步進電動機按順時針旋轉。若改為adcba時,則步進電動機的轉向與原來相反,即,逆時針旋轉。 步進電動機工作時的通電控制脈沖,必須嚴格按照步

14、進電動機所要求完成的工作方式進行順序控制。 “單”、“雙”、“拍”的意思是:“單”指每次切換前后只有一相繞組通電,“雙”指的是每次有兩相繞組通電:而從一種通電狀態轉換到另一種通電狀態就叫作一“拍”。a=360。(k*m*z)的角度,其中k表示通電方式,當為單拍時取k=1,雙拍時取k=2;m為定子繞組的相數;z為轉子的齒數。隨后a相斷電,b相控制繞組通電,則轉子就和b相定予齒對齊,轉子順時針方向旋轉360。(k*m*z)的角度。然后使b相斷電,c相通電,同理轉子又沿順時針方向旋轉360。(k*m*z)的角度。轉子就按照abcda的旋轉順序運動下去。 步進電機是一種將電脈沖信號轉換成直線位移或角位

15、移的控制微電機,其機械角位移和轉速分別與輸入電機繞組的脈沖個數和脈沖頻率成比例.通過改變電脈沖頻率,可在大范圍內進行調速.同時,該電 機還能快速起動、制動、反轉和步進電機只需采用最簡單的開環控制就可取得 非常高的控制精度,且這種系統不需要反饋信號,系統硬件實施比較簡單。2.2三相步進電機的定子上 有6個極,轉子是4個均勻分布的齒,電機的轉動是根據控制饒組與電源接通或開斷的變化頻率呈步進狀態,其轉向取決于通電相序.在本系統中,主要采用三相電 機三相單雙六拍:a-ab-b-bc-c-ca-a-首先a相通電,而后再接通b相繞組(這時a相不斷開)即ab兩繞組同時通電;此后斷開a相繞組,b相單獨通電,依

16、此規律循環往復.這種方式需經過6個切換才能完成一個循環.單相三拍方式的每一拍步進角為3°,三相六拍的步進角則為1.5°,因 此,在三相六拍下,步進電機的運行反轉平穩柔和,但在同樣的運行角度與速度下,三相六拍驅動脈沖的頻率需提高1倍,對驅動開關管的開關特性要求較高。系統 的總體設計框圖如圖5所示:圖5 系統的整體流程圖當步進電機驅 動系統工作時,控制器首先檢測接收傳感器信號,進行換算成需要的檢測量,并將之與設定值進行比較,得出其差值 ,并根據程序的設定轉化為步進電機的步進脈沖。從而通過單片機控制的驅動器來驅動步進電機,從而帶動絲杠傳動系統,進而控制液氮液面升降系統的運動,完成

17、一個循環控制過程。步進電機的驅動電路如圖6所示,采用單片機at89c51來驅動,at89c51具有8k字節 flash閃速存儲器,256字節內部ram,32個i/o口線,3個16位定時/計數器,1個六向量兩極中斷結構,一個全雙工串行通信接口,同時片內還有振蕩器及時鐘電路。可以很方便地使用不同相數的步進電機按一種可執行的通電方式來控制,在這個系統中,單片機的主要作用是接收鍵盤設定值,顯示設定初值 以及檢測的當前值,同時還具有串行通信功能。檢測傳感器信號,接收傳感器信號,并進行處理,計算出步進電機需要的步進量,通過p1.0,p1.1,和 p1.2提供控制步進電機的時序脈沖,控制步進電機的運行,系統

18、采用軟件來完成脈沖分配,這樣可根據應用系統的需要,方便靈活地改變步進電機的控制方式,步進一步的時間可由兩個控制字的送出時間間隔決定。圖6 步進電機驅動電路組成4、系統的軟件設計4.1硬件脈沖分配器電路步進電動機的脈沖分配可以由硬件和軟件兩種方法來實現。硬件環形分配器需要根據步進電動機的相數和要求的通電方式而設計專門的電路,圖7所示為一個三相六拍的環形分配器。分配器的主體是三個j-k觸發器。三個j-k觸發器的q輸出端分別經各自的功放線路與步進電動機a、b、c三相繞組連接。當qa1時,a相繞組通電;qb1時,b相繞組通電;qc1時,c相繞組通電。dr+和dr-是步進電動機的正反轉控制信號。正轉時,

19、各相通電順序:aabbbccca反轉時,各相通電順序:aacccbbba所示為的三相六拍環形分配器邏輯真值表如表7所示。序號 控制信號狀態 輸出狀態 導電繞組                           01234561         1    &#

20、160;    00         1         00         1         10         0    

21、;     11         0         11         0         01         1   &#

22、160;     01         0         01         1         00         1   

23、;      00         1         10         0         11         0  &#

24、160;      11         0         0aabbbcccaa表8 三相六拍環形分配器邏輯真值表軟件脈沖分配對于不同的計算機和接口器件,軟件環分有不同的形式,現以at89c51單片機配置的系統為例加以說明。(1)由p1口作為驅動電路的接口控制脈沖經at89c51的并行i/o接口p1口輸出到步進電動機各相的功率放大器輸入,設p1口的p1.0輸出至a相,p1.1輸出至b

25、相,p1.2輸出至c相。(2)建立環形分配表為了使電動機按照如前所述順序通電,首先必須在存儲器中建立一個環形分配表,存儲器各單元中存放對應繞組通電的順序數值,如表9所示。當運行時,依次將環形分配表中的數據,也就是對應存儲器單元的內容送到p1口,使p1.0、p1.1、p1.2依次送出有關信號,從而使電動機輪流通電。 表9三相六拍軟件環形分配數據表 存儲單元地址 單元內容 對應通電相 k+0k+1k+2k+3k+4k+501h(0001) 03h(0011) 02h(0010) 06h(0110) 04h(0100) 05h(0101) aabbbccca 表為三相六拍環形分配表,k為存

26、儲器單元基地址(十六位二進制數),后面所加的數為地址的索引值。可見,要是電動機正轉,只需依次輸出表中各單元的內容即可。當輸出狀態已是表底狀態時,則修改索引值使下次輸出重新為表首狀態。如要使電動機反轉,則只需反向依次輸出各單元的內容。當輸出狀態達到表首狀態時,則修改指針使下一次輸出重新為表底狀態4.2步進電機的驅動系統軟件主要由主控程序、脈沖分配驅動程序、鍵處理程序、顯示數據處理程序及顯示驅動程序、串口通信監控程序等部分 組成。系統的主程序流程圖如圖10所示,步進電機驅動中斷子程序流程圖如圖11所示。圖10系統的主程序流程圖圖11 驅動子程序流程圖由驅動系統的 硬件控制圖可以看出,單片機只是根據

27、需要輪流給p1.0,p1.1,p1.2端口發送步進脈沖來控制電機運行,則三相六拍的系統控制模型如附表所示;在程 序中,只要將依次將6個控制字送到p1口,步進電機就會轉動一個齒距角。每送一個控制字,就完成一拍,步進電機就轉過一個步距角。附表 三相六拍控制模型設定有如下工作單元和工作位定義:r0為步進數寄存器;psw中,f0為方向標志位, f0=0時正轉, 否則反轉。步進時間由兩個控制字的送出時間間隔決定。步進電機的中斷子程序:start: push accpush pswpush r0jb f0, loop2 ;判正反轉loop1: mov a, #01h ;第1拍控制碼mov p1, a ;執

28、行第1拍lcall delay ;步進時間間隔djnz r0, done ;判斷是否步進量完成mov a,#03h ;第2拍控制碼mov p1,a ;執行第2拍lcall delaydjnz r0, donemov a,#02h ;第3拍控制碼mov p1,a ;執行第2拍lcally dellaydjnz r0, donemov a,#06h ;第4拍控制碼mov p1,a ;執行第2拍lcally dellaydjnz r0,donemov a,#04h ;第5拍控制碼mov p1,a ;執行第2拍lcally dellaydjnz r0, donemov a,#05h ;第6拍控制碼mo

29、v p1,a ;執行第2拍lcally dellaydjnz r0, doneajmp loop1 ;循環loop2: mov a,#05h ;反轉mov p1, alcall delaydjnz r0, donemov a, #04hmov p1, alcall delaydjnz r0, donemov a, #06hmov p1, alcall delaydjnz r0, donemov a, #02hmov p1, alcally dellaydjnz r0, donemov a, #03hmov p1, alcally dellaydjnz r0, donemov a, #01hmov p1, alcally d

溫馨提示

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

評論

0/150

提交評論