(步進電機)單片機課程設計_第1頁
(步進電機)單片機課程設計_第2頁
(步進電機)單片機課程設計_第3頁
(步進電機)單片機課程設計_第4頁
(步進電機)單片機課程設計_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、編號課程設計(論文)相關資料題目: 基于單片機的四相步進電機控制學 院 專 業(yè) 學 號 學生姓名 指導教師 二一二年六月二十五日目錄第1章 概述2第2章 設計內容的介紹32.1步進電機原理32.2步進電機的分類和選擇4 2.3 設計目標5.第3章 設計思路 具體內容63.1設計思路63.2總體設計框圖及電路原理圖63.3單片機及其最小系統(tǒng)73.4 按鍵電路73.5 步進電機狀態(tài)顯示電路83.6 步進電機驅動電路9第四章 程序設計94.1 程序設計思路94.2 主程序設計10第五章 總結10參考文獻10附錄11第1章 概述步進電機最早是在1920年由英國人所開發(fā)。1950年后期晶體管的發(fā)明也逐漸

2、應用在步進電機上,這對于數字化的控制變得更為容易。以后經過不斷改良,使得今日步進電機已廣泛運用在需要高定位精度、高分解性能、高響應性、信賴性等靈活控制性高的機械系統(tǒng)中。在生產過程中要求自動化、省人力、效率高的機器中,我們很容易發(fā)現步進電機的蹤跡,尤其以重視速度、位置控制、需要精確操作各項指令動作的靈活控制性場合步進電機用得最多。步進電機作為執(zhí)行元件,是機電一體化的關鍵產品之一, 廣泛應用在各種自動化控制系統(tǒng)中。隨著微電子和計算機技術的發(fā)展,步進電機的需求量與日俱增,在各個國民經濟領域都有應用。步進電機是將電脈沖信號變換成角位移或直線位移的執(zhí)行部件。步進電機可以直接用數字信號驅動,使用非常方便。

3、一般電動機都是連續(xù)轉動的,而步進電動機則有定位和運轉兩種基本狀態(tài),當有脈沖輸入時步進電動機一步一步地轉動,每給它一個脈沖信號,它就轉過一定的角度。步進電動機的角位移量和輸入脈沖的個數嚴格成正比,在時間上與輸入脈沖同步,因此只要控制輸入脈沖的數量、頻率及電動機繞組通電的相序,便可獲得所需的轉角、轉速及轉動方向。在沒有脈沖輸入時,在繞組電源的激勵下氣隙磁場能使轉子保持原有位置處于定位狀態(tài)。因此非常適合于單片機控制。步進電機還具有快速啟動、精確步進和定位等特點,因而在數控機床,繪圖儀,打印機以及光學儀器中得到廣泛的應用。步進電動機已成為除直流電動機和交流電動機以外的第三類電動機。傳統(tǒng)電動機作為機電能

4、量轉換裝置,在人類的生產和生活進入電氣化過程中起著關鍵的作用。步進電機可以作為一種控制用的特種電機,利用其沒有積累誤差(精度為100%)的特點,廣泛應用于各種開環(huán)控制。第2章 設計內容的介紹 2.1步進電機原理步進電機的工作就是步進轉動,其功用是將脈沖電信號變換為相應的角位移或是直線位移,就是給一個脈沖信號,電動機轉動一個角度或是前進一步。步進電機的角位移量與脈沖數成正比,它的轉速與脈沖頻率(f)成正比,在非超載的情況下,電機的轉速、停止的位置只取決于脈沖信號的頻率和脈沖數,而不受負載變化的影響,即給電機加一個脈沖信號,電機則轉過一個步距角。如下所示的步進電機為一四相步進電機,采用單極性直流電

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

6、D方向轉動。單四拍、雙四拍與八拍工作方式的電源通電時序與波形分別如圖2-2所示: 圖2-2 步進電機工作時序波形圖2.2 步進電機的分類與選擇現在比較常用的步進電機包括反應式步進電機(VR)、永磁式步進電機(PM)、混合式步進電機(HB)和單相式步進電機等。反應式步進電動機采用高導磁材料構成齒狀轉子和定子,其結構簡單,生產成本低,步距角可以做的相當小,一般為三相,可實現大轉矩輸出,步進角一般為1.5度,但噪聲和振動都很大。反應式步進電機的轉子磁路由軟磁材料制成,定子上有多相勵磁繞組,利用磁導的變化產生轉矩,但動態(tài)性能相對較差。永磁式步進電機轉子采用多磁極的圓筒形的永磁鐵,在其外側配置齒狀定子。

7、用轉子和定子之間的吸引和排斥力產生轉動,它的出力大,動態(tài)性能好,但步距角一般比較大。一般為兩相,轉矩和體積較小,步進角一般為7.5度 或15度?;旌鲜讲竭M電機是指混合了永磁式和反應式的優(yōu)點。它又分為兩相和五相:兩相步進角一般為1.8度而五相步進角一般為 0.72度。這種步進電機的應用最為廣泛,它是PM和VR的復合產品,其轉子采用齒狀的稀土永磁材料,定子則為齒狀的突起結構。此類電機綜合了反應式和永磁式兩者的優(yōu)點,步距角小,出力大,動態(tài)性能好,是性能較好的一類步進電動機,在計算機相關的設備中多用此類電機。步進電機有步距角(涉及到相數)、靜轉矩、及電流三大要素組成。一旦三大要素確定,步進電機的型號便

8、確定下來了。1、步距角的選擇電機的步距角取決于負載精度的要求,將負載的最小分辨率(當量)換算到電機軸上,每個當量電機應走多少角度(包括減速)。電機的步距角應等于或小于此角度。目前市場上步進電機的步距角一般有0.36度/0.72度(五相電機)、0.9度/1.8度(二、四相電機)、1.5度/3度 (三相電機)等。2、靜力矩的選擇步進電機的動態(tài)力矩一下子很難確定,我們往往先確定電機的靜力矩。靜力矩選擇的依據是電機工作的負載,而負載可分為慣性負載和摩擦負載二種。單一的慣性負載和單一的摩擦負載是不存在的。直接起動時(一般由低速)時二種負載均要考慮,加速起動時主要考慮慣性負載,恒速運行進只要考慮摩擦負載。

9、一般情況下,靜力矩應為摩擦負載的2-3倍內好,靜力矩一旦選定,電機的機座及長度便能確定下來(幾何尺寸)。3、電流的選擇靜力矩一樣的電機,由于電流參數不同,其運行特性差別很大,可依據矩頻特性曲線圖,判斷電機的電流(參考驅動電源、及驅動電壓)。4、力矩與功率換算步進電機一般在較大范圍內調速使用、其功率是變化的,一般只用力矩來衡量,力矩與功率換算如下: P= M =2n/60 P=2nM/60其P為功率單位為瓦,為每秒角速度,單位為弧度,n為每分鐘轉速,M為力矩單位為牛頓米P=2fM/400(半步工作)其中f為每秒脈沖數(簡稱PPS)2.3設計目標(1)一個正反轉開關控制正轉和反轉;(2)一個速度開

10、關控制高速和低速(高速和低速只要有明顯差別);(3)一個半圈按鈕,按一下時轉半圈, 一個一圈按鈕, 按一下時轉一圈;(4)一個連續(xù)轉動按鈕, 按一下時連續(xù)轉動,再按一下時停止轉動;(5)深入理解步進電機工作原理,設計系統(tǒng)方案;(6)用protel畫出系統(tǒng)原理圖,要求是一個完整的單片機控制系統(tǒng),電源為220V交流電在單片機實驗室調試。 第3章 設計思路與具體內容 3.1設計思路本系統(tǒng)主要由供電電源模塊、單片機最小系統(tǒng)、按鍵電路、步進電機驅動電路以及步進電機等幾部分組成。本系統(tǒng)采用兩個獨立開關三個獨立按鈕,分別進行高低速、正反轉、半圈、一圈以及連動的控制。驅動電路采用ULN2003A實現步進電機的

11、驅動。步進電機的供電采用獨立12V供電。3.2總體設計框圖及電路原理圖總體設計框圖如圖3.1所示。圖3.1 總體設計框圖 3.3單片機最小系統(tǒng)及按鍵部分最小系統(tǒng)主要是為了單片機的正常工作。51單片機是一種低功耗/低電壓、高性能的8位單片機,它采用CMOS和高密度非易失性存儲器技術,而且其輸出引腳和指令系統(tǒng)都與MCS-51兼容;片內的Flash ROM允許在系統(tǒng)內改編程序或用常規(guī)的非易失性編程器來編程,內部除CPU外,還包括256字節(jié)RAM,4K字節(jié)的ROM,4個8位并行I/O口,5個中斷源,2個中斷優(yōu)先級,2個16位可編程定時計數器。89S51單片機是一種功能強、靈活性高且價格合理的單片機,且

12、支持在線編程,完全滿足本系統(tǒng)設計需要。單片機最小系統(tǒng)包括單片機和復位電路,振蕩電路。3.4 按鍵電路采用2個開關3個按鍵來控制步進電機,即“高低速切換”、“正反轉切換”、“半圈”、“一圈”和“連動切換”。當波動開關或按下其中一個按鍵時,電源通過上拉電阻和按鍵到地形成通路,使相應輸入管腳接地,即給單片機送入一個低電平,此低電平即為有效電平。按鍵電路及單片機最小系統(tǒng)部分如圖3.2所示。圖3.1 最小系統(tǒng)及按鍵電路 3.5 步進電機驅動電路步進電機的驅動電路如圖3.3所示,驅動芯片采用ULN2003A。圖3.2 步進電機的驅動電路第四章 程序設計 4.1 程序設計思路根據單片機外圍電路的設計,單片機

13、的P2.0、P2.1、P2.2、P2.3、P3.2為按鍵輸入,P1.0、P1.1、P1.2、P1.3與電機驅動IC相連。單片機采用掃描按鍵方式(其中連動切換按鍵采用外部中斷方式),程序根據鍵值結果進行相應的操作。步進電機的正反轉利用給步進電機送入與原來相反的脈沖即可,步進電機的加減速控制是主要控制步進電機送脈沖的時間。4.2程序設計程序中首先進行兩個切換開關的檢測,確定電機轉速及方向,然后進行按鍵掃描,確定點動和電動方式或者連動,其中連動切換用外部中斷0控制。圖4.1 程序流程圖第五章 總結通過此次課程設計,使我更加扎實的掌握了有關單片機應用方面的知識,在設計過程中尤其是自己動手編制程序時,遇

14、到了很多困難,但經過一次又一次的思考,一遍又一遍的檢查終于找出了原因所在,也暴露出了前期我在這方面的知識欠缺和經驗不足。實踐出真知,通過親自動手制作,使我掌握的知識不再是紙上談兵,而是學以致用。同時,這次課程設計讓我感受到了我對所學習的內容是多么的不熟練,在設計過程中總是需要翻書,還總是會出現問題,同時這些問題也提醒了我那些地方沒學好,加深了對這部分知識的印象。課程設計不僅僅是一門專業(yè)課,使我學到很多專業(yè)知識以及提升了專業(yè)技能上,同時又是一門提升自我綜合能力的課程,給了我莫大的發(fā)展空間,不僅培養(yǎng)了獨立思考、動手操作的能力,在各種其它能力上也都有了提高;更重要的是,在課程設計中,我們學會了很多學

15、習的方法,而這些都將為日后做準備,會使我們終身都受益匪淺。面對社會的挑戰(zhàn),只有不斷的學習、實踐,再學習、再實踐,才能在最大程度上發(fā)掘自己。這對于我們的將來也有很大的幫助。以后,不管有多苦,我想我們都能變苦為樂,找尋有趣的事情,發(fā)現其中珍貴的事情。參考文獻 1 丁元杰著.單片微機原理及應用M.機械工業(yè)出版社,2010年1月2李秀霞PROTEL dxp2004 電路設計與仿真教程M.北京:北京航空航天大學出版社,2007年11月 附錄電路原理圖程序代碼:4/Ccc.2012.06.20/頭文件引用#include <REGX52.H>/uchar,uint,宏定義#define uch

16、ar unsigned char#define uint unsigned int/開關,位定義sbit Direction = P20;/正反轉方向切換sbit Speed = P21;/高低速切換/按鍵,位定義sbit Half = P22;/ 轉半圈 sbit Circle = P23;/ 轉一圈sbit Switch = P32;/INT0連續(xù)轉動/停止 切換/步進電機連接端口,位定義sbit A1 = P10;sbit B1 = P11;/B相,因頭文件已定義'B',故用B1sbit C1 = P12;sbit D1 = P13;/通電方式,宏定義#define Co

17、il_A1 A1=1;B1=0;C1=0;D1=0;/A相通電,其他相斷電#define Coil_B1 A1=0;B1=1;C1=0;D1=0;/B相通電,其他相斷電#define Coil_C1 A1=0;B1=0;C1=1;D1=0;/C相通電,其他相斷電#define Coil_D1 A1=0;B1=0;C1=0;D1=1;/D相通電,其他相斷電#define Coil_OFF A1=0;B1=0;C1=0;D1=0;/全部斷電/全局變量定義uint v1 = 10;/高速轉速uint v2 = 5;/低速轉速uint i = 512;/轉動一圈uint j = 8;/轉動半圈bit

18、Flag = 1;/子函數聲明void DelayUs2x( uchar t );void DelayMs( uchar t );void Init_Time0( void );/void Time0_isr( void ) interrupt 1/void Forward( uint a );/正轉子函數/void Reverse( uint b );/反轉子函數/uS延時函數,晶振使用12M,大致延時 T = (tx2+5) uS void DelayUs2x( uchar t )while( -t );/mS延時函數,晶振使用12M,大致延時 T = t mSvoid DelayMs(

19、uchar t )while( t- )DelayUs2x( 245 );DelayUs2x( 245 );/正轉 ,a = i或j,b = vvoid Forward( uint a, uint b )Coil_OFFwhile( a- )Coil_A1DelayMs( b );Coil_B1DelayMs( b );Coil_C1DelayMs( b );Coil_D1DelayMs( b );/反轉,a = i或j,b = v1或v2void Reverse( uint a, uint b )Coil_OFFwhile( a- )Coil_D1DelayMs( b );Coil_C1De

20、layMs( b );Coil_B1DelayMs( b );Coil_A1DelayMs( b );/連續(xù)轉動,正轉 b = v1或v2void Con1( uint b )Coil_OFFif( !Flag )Coil_A1DelayMs( b );Coil_B1DelayMs( b );Coil_C1DelayMs( b );Coil_D1DelayMs( b );/連續(xù)轉動,反轉 b = v1或v2void Con2( uint b )Coil_OFFif( !Flag )Coil_D1DelayMs( b );Coil_C1DelayMs( b );Coil_B1DelayMs( b

21、 );Coil_A1DelayMs( b );void ISR_INT0( void ) interrupt 0if( !INT0 )DelayMs(10);if( !INT0 )while(!INT0);Flag = !Flag;/主函數int main( void )EA = 1;/開全局中斷EX0 = 1;/開外部中斷0IT0 = 1;/邊沿觸發(fā)while(1)Coil_OFFif( Speed && Direction )/高速(v1),正轉(Forward)/開關,故無需消抖環(huán)節(jié)if( Flag && !Half ) /轉半圈while( !Half

22、);/等待按鍵釋放Forward( j, v1 );/半圈,高速else if( Flag && !Circle )/轉一圈while( !Circle );Forward( i, v1 );else if( !Flag )/連續(xù)轉動Con1( v1 );else if( Flag && Half && Circle )Coil_OFFelse Coil_OFFelse if( !Speed && Direction )/低速(v2),正轉(Forward) if( Flag && !Half ) /轉半圈while( !Half );/等待按鍵釋放Forward( j, v2 );/半圈,高速else if( Flag && !Circle )/轉一圈while( !Circle );Forwar

溫馨提示

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

評論

0/150

提交評論