步進電機控制系統設計_第1頁
步進電機控制系統設計_第2頁
步進電機控制系統設計_第3頁
步進電機控制系統設計_第4頁
步進電機控制系統設計_第5頁
已閱讀5頁,還剩29頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、精選優質文檔-傾情為你奉上電氣及自動化課程設計報告題 目 步進電機控制系統設計 課 程 電機與拖動 學生姓名: 學生學號: 年 級: 2014級 專 業: 自動化 班 級: 2班 指導教師: 機械與電氣工程學院制2017年3月目錄專心-專注-專業步進電機控制系統設計1設計的任務與要求1.1 課程設計的任務步進電機是用電脈沖信號進行控制,將電脈沖信號轉換成相應的角位移或線位移的微電動機,它突出的優點是可以在寬廣的頻率范圍內通過改變脈沖頻率來實現調速,快速啟停,正反轉控制及制動等,并且用其組成的開環系統既簡單、廉價,又非常可行,因此在打印機等辦公自動化設備以及各種控制設備等眾多領域有著極其廣泛的應

2、用。隨著微電子和計算機技術的發展,步進電機的需求與日俱增,研制步進電機驅動器及其控制系統具有十分重要的意義。1.2 課程設計的要求本次實驗是基于單片機的控制系統設計,用匯編語言和C語言編寫出電機正轉、反轉、調速、停止程序,通過單片機、電機的驅動芯片ULN2001以及相應的按鍵實現以上功能,并且步進電機的工作狀態要用LCD液晶顯示器顯示出來。本次課程設計介紹步進電機以及單片機工作原理、該系統的硬件電路、程序組成,同時對軟、硬件進行了調試。該設計具有思路明確、可靠性高、穩定性強等特點,通過調試實現了上述功能。2 步進電機控制系統設計方案制定2.1 步進電機工作的原理步進電機的工作原理就是步進轉動,

3、其功能是將脈沖電信號變換為相應的角位移或者是直線位移,就是給一個脈沖信號,電動機轉動一個角度或是前進一步。步進電機的角位移量與脈沖數成正比,它的轉速與脈沖頻率(f)成正比,在非超載的情況下,電機的轉速、停止的位置只取決于脈沖信號的頻率和脈沖數,而不受負載變化影響,即給電機加一個脈沖信號,電機則轉過一個歩距角。步進電機不能直接接到交直流電源上工作,而必須使用專用設備步進電機驅動器。典型的步進電機驅動系統是由步進電機控制器、步進電機驅動器和步進電機本體三部分組成,步進電機控制器發出步進脈沖和方向信號。每發一個脈沖,步進電機驅動器驅動步進電機轉子旋轉一個歩距角,即步進一步。步進電機轉速的高低、升速或

4、降速、啟動或停止都完全取決于脈沖的有無或頻率的高低。控制器的方向信號決定步進電機的順時針或者逆時針旋轉。通常,步進電機驅動器由邏輯控制電路、功率驅動電路、保護電路和電源組成。步進電機驅動器一旦接收到來自控制器方向的信號和步進脈沖,控制電路就按預先設定的電機通電方式產生步進電機各相勵磁繞組導通或截止信號。控制電路輸出的信號功率很低,不能提供步進電機所需的輸出功率,必須進行功率放大,這就是步進電機驅動器的功率驅動部分。功率驅動電路向步進電機控制繞組輸入電流,使其勵磁形成空間旋轉磁場,驅動轉子運動。保護電路在出現短路、過載、過熱等故障時迅速停止驅動器和電機的運行。如圖1所示的步進電機為一四相步進電機

5、,采用單極性直流電源供電。只要對步進電機的各相繞組按合適的時序通電,就能使步進電機步進轉動。圖1是該四項反應式步進電機工作原理圖。圖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、

6、B、C、D反向轉動。單四拍、雙四拍與八拍工作方式的電源通電時序與波形分別如圖2所示。a. 單四拍 b.雙四拍 c.八拍圖2 步進電機工作時序波形圖2.2 單片機的原理(1)單片機原理概述單片機是把微型計算機主要部分都集成在一塊芯片上的單芯片微型計算機。圖3中表示單片機的典型結構。由于單片機的高度集成化,縮短了系統內的信號傳送距離,優化了系統配置,大大地提高了系統的可靠性及運行速度,同時它的指令系統又很適合于工業控制的要求,所以單片機在工業過程及設備控制中得到了廣泛的應用。圖3 典型單片機結構(2)AT89C51簡介 AT89C51含E²PROM電可編閃速存儲器。有兩級或三級程序存儲器

7、保密系統,防止E²PROM中的程序被非法復制。不可用紫外線擦除,調高了編程效率。程序存儲器E²PROM容量可達20K字節。AT89C51的主要參數如表1所示。表1 AT89C51的主要參數表型號定時器I/O串行口中斷速度其他特點89C512321624低電壓 AT89C51是一種帶4K字節閃爍可編程可擦除只讀存儲器的低電壓,高性能CMOS8位微處理器,俗稱單片機。該器件采用ATMEL高密度非易失存儲器制造技術制造,用工業標準的MCS51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器,為很多嵌入式控制系

8、統提供了一種靈活性高且價廉的方案。其引腳如圖4所示。圖4 單片機的引腳排列3 仿真軟件介紹3.1 Proteus軟件介紹 Proteus軟件是英國Labcebter electronics公司出版的EDA工具軟件。它不僅具有其它EDA工具軟件的仿真功能,還能仿真單片機及外圍器件。它是目前最好的仿真單片機及外圍器件的工具。 Proteus是世界上著名的EDA工具(仿真軟件),從原理圖布圖、代碼調試到單片機與外圍電路協同仿真,一鍵切換到PCB設計,真正實現了從概念到產品的完整設計。是目前世界上唯一將電路仿真軟件、PCB設計軟件和虛擬模型仿真軟件三合一的設計平臺,其處理器模型支持8051、HC11、

9、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年又增加了Cortex和DSP系列處理器,并持續增加其他系列處理器模型。在編譯方面,它也支持IAR、Keil和MATLAB等多種編譯器。3.2 Keil-uvision4軟件介紹 Keil C51是美國Keil Software公司出品的51系列兼容單片機C語言軟件開發系統,與匯編相比,C語言在功能上、結構性、可讀性、可維護性上有明顯的優勢,因而易學易用。Keil提供了包括C編譯器、宏匯編、鏈接器、庫管理和一個功能強大的仿真調試器等在內的完整開發方案,通過一個集成開發

10、環境(Vision)將這些部分組合在一起。運行Keil軟件需要WIN98、NT、WIN2000、WINXP等操作系統。 C51 工具包的整體結構,其中 Vision 與 Ishell 分別是 C51 for Windows 和 for Dos 的集成開發環境(IDE),可以完成編輯、編譯、連接、調試、仿 真等整個開發流程。開發人員可用 IDE 本身或其它編輯器編輯 C 或匯編源 文件。然后分別由 

11、C51 及 A51 編譯器編譯生成目標文件(.OBJ)。目標文件 可由 LIB51 創建生成庫文件,也可以與庫文件一起經 L51 連接定位生成絕 對目標文件(.ABS)。ABS 文件由 OH51 轉換成標準的 Hex 文件,以供調試 器 dScope51 或 tScope51 使用進行源代碼級調試,也可由仿真器使用直接對 目標板進行調試,也可以直接寫入程序存貯器如 EPROM 

12、中。4 步進電機控制系統電路仿真設計4.1驅動部分 如圖5所示,此電路是步進電機的驅動部分,選用的是ULN2001芯片來驅動的,ULN2001系列是一款高耐壓,大電流達林頓管驅動器,包含7個NPN達林頓管。圖5 驅動部分 4.2時鐘部分時鐘電路它控制計算機的工作節奏,可以通過提高時鐘頻率來提高CPU的速度,本次設計采用的晶振為12MHz。如圖6所示。圖6 時鐘部分4.3 復位部分根據應用的要求,復位操作通常有兩種基本形式:上電位復位和上電或者開關復位。本次設計使用上電復位。如圖7所示。 圖7 復位部分 基本電路的最后一個部分是存儲器的設置,如果31引腳接電源,則采用內部存儲器,如果31腳接地,

13、則采用外部存儲器。將時鐘電路、復位電路連接并設置好存儲器,就構成了最小系統。這是做任何單片機設計都必須有的部分。4.4狀態指示部分狀態指示用P0口控制LCD的顯示,STA顯示的是轉動的速度,RUN顯示的是機器是否運轉,用它來表示步進電機所處的狀態。如圖8所示。圖8 狀態指示部分4.5按鍵部分 本次設計選用的是單片機的P2口來控制信號的輸入,所以把按鍵開關和P2口連接起來,當按下開關KEY1時,相當于給P2.0口一個低電平,開始轉動;當按下開關KEY2時,相當于給P2.1口一個低電平,步進電機反轉,相反則正轉;當按下開關KEY3時,相當于給P2.2口一個低電平,調節轉速。如圖9所示。圖9 按鍵部

14、分4.6系統程序框圖 系統分為電機正轉、電機反轉、開始與轉速的幾部分組成,其主程序框圖如圖10所示。圖10 系統程序圖4.7 系統整圖 系統整圖如圖11所示,本系統采用外部中斷方式,P2口為信號的輸入部分,P0口為發光LCD顯示部分,P1口作為電機的驅動部分。圖11 系統整圖4.8 元器件清單 根據以上原理圖,本次設計所需要的一些元器件如下表:表2 元器件列表序號標號器件名稱數值1C1、C2電容30PF、30PF2R1、R2、R3、R4電阻1K、10K、10K、10K3X1晶振12MHz4C3電解電容30PF5LCD1液晶顯示屏6RP1排阻7按鈕8步進電機5 步進電機控制系統電路仿真設計方案的

15、仿真實現 (1)速度1正轉。運行程序,閉合開始按鈕,斷開正/反轉按鈕,速度按鈕為速度1。LED1液晶顯示屏顯示數據如下:STA:Z SPD:1UN RUN:ON 步進電機顯示轉速為+127。如圖12所示。圖12 速度1正轉 (2)速度1反轉。運行程序,閉合開始按鈕,閉合正/反轉按鈕,速度按鈕為速度1。LED1液晶顯示屏顯示數據如下:STA:F SPD:1UN RUN:ON 步進電機顯示轉速149。如圖13所示。圖13 速度1反轉 (3)速度1正轉停止。運行程序,斷開開始按鈕,斷開正/反轉按鈕,速度按鈕為速度1。LED1液晶顯示屏顯示數據如下:STA:Z SPD:1UN RUN:OFF 步進電機

16、顯示轉速+138。如圖14所示。圖14 速度1正轉停止 (4)速度1反轉停止。運行程序,斷開開始按鈕,閉合正/反轉按鈕,速度按鈕為速度1。LED1液晶顯示屏顯示數據如下:STA:F SPD:1UN RUN:OFF 步進電機顯示轉速117。如圖15所示。圖15 速度1反轉停止 (5)速度2正轉。運行程序,閉合開始按鈕,斷開正/反轉按鈕,速度按鈕為速度2。LED1液晶顯示屏顯示數據如下:STA:Z SPD:2UN RUN:ON 步進電機顯示轉速為+205。如圖16所示。圖16 速度2正轉 (6)速度2反轉。運行程序,閉合開始按鈕,閉合正/反轉按鈕,速度按鈕為速度2。LED1液晶顯示屏顯示數據如下:

17、STA:F SPD:2UN RUN:ON 步進電機顯示轉速為223。如圖17所示。圖17 速度2反轉 (7)速度2正轉停止。運行程序,斷開開始按鈕,斷開正/反轉按鈕,速度按鈕為速度1。LED1液晶顯示屏顯示數據如下:STA:Z SPD:2UN RUN:OFF 步進電機顯示轉速為+221。如圖18所示。圖18 速度2正轉停止(8)速度2反轉停止。運行程序,斷開開始按鈕,閉合正/反轉按鈕,速度按鈕為速度2。LED1液晶顯示屏顯示數據如下:STA:F SPD:2UN RUN:OFF 步進電機顯示轉速為241。如圖19所示。圖19 速度2反轉停止 (9)速度3正轉。運行程序,閉合開始按鈕,斷開正/反轉

18、按鈕,速度按鈕為速度3。LED1液晶顯示屏顯示數據如下:STA:Z SPD:3UN RUN:ON 步進電機顯示轉速為+307。如圖20所示。圖20 速度3正轉 (10)速度3反轉。運行程序,閉合開始按鈕,閉合正/反轉按鈕,速度按鈕為速度3。LED1液晶顯示屏顯示數據如下:STA:F SPD:3UN RUN:ON 步進電機顯示轉速為332。如圖21所示。圖21 速度3反轉 (11)速度3正轉停止。運行程序,斷開開始按鈕,斷開正/反轉按鈕,速度按鈕為速度3。LED1液晶顯示屏顯示數據如下:STA:Z SPD:3UN RUN:OFF 步進電機顯示轉速為+315。如圖22所示。圖22 速度3正轉停止

19、(12)速度3反轉停止。運行程序,斷開開始按鈕,閉合正/反轉按鈕,速度按鈕為速度3。LED1液晶顯示屏顯示數據如下:STA:F SPD:3UN RUN:OFF 步進電機顯示轉速為346。如圖23所示。圖23 速度3反轉停6.總結 本次步進電機控制系統課程設計采用單片機為控制核心,利用其強大的功能,把按鍵電路和LCD顯示電路,電機驅動電路有機的結合起來,組成一個操作方便,交互性強的簡單系統。通過系統的設計實現了預期的設計目標。完成了整個硬件設計和軟件編程,能通過按鍵電路控制步進電機的轉速控制,能實現啟動、正轉、反轉、速度控制;通過編程實現了通過單片機能輸出四相八拍的脈沖控制序列。驅動電路能提供1

20、2V,0.38A的驅動信號;整個電機的轉速,轉動方向等都能通過LCD管顯示出來。在本設計中作為電機正常工作比較重要的電機驅動模塊,本設計中采用驅動芯片ULN2001來實現的,其特點是成本低,可靠性高,出現問題容易維護,實現相對容易等特點。在電機工作模式上本設計實現了四相八拍的脈沖控制方式。7 參考文獻1張友德.單片機微型機原理、應用與實驗M .上海:復旦大學出版社 ,2005年:85-92.2李夙.異步電機直接轉矩控制M. 北京:機械工業出版社,1998年:56-78.3王鴻鈺.步進電機控制入門M.上海:同濟大學出版社 ,1990年:88-94.4王秀和.永磁電機M.北京:中國電力出版社,20

21、07:119-136.5房玉明,杭柏林.基于單片機的步進電機開環控制系統M. 北京:電子工業出版社,2010年:156-161.6吳玉香,李艷,劉華,毛宗源.電機及拖動. 北京:化學工業出版社,2013年:117-125.附錄:C程序:#include"reg51.h"#include"intrins.h"#include"absacc.h"#define busy 0x80#define uchar unsigned char#define unit unsigned intsbit RS=P23;sbit RW=P24;sbit

22、E=P25;sbit KEY1=P20;sbit KEY2=P21;sbit KEY3=P22;uchar code tab8=0x02,0x06,0x04,0x0C,0x08,0x09,0x01,0x03;uchar temp;void delay(uchar k)unit i,j;for(i=0;i<k;i+)for(j=0;j<60;j+);void test_1602busy()P0=0xFF;E=1;RS=0;RW=1;_nop_();_nop_();while(P0&busy)E=0;_nop_();E=1;_nop_();E=0;void write_1602

23、Command(uchar co)test_1602busy();RS=0;RW=0;E=0;_nop_();P0=co;_nop_();E=1;_nop_();E=0;void write_1602Data(uchar Data)test_1602busy();P0=Data;RS=1;RW=0;E=1;_nop_();E=0;void init_1602(void)write_1602Command(0x38);delay(5);write_1602Command(0x01);delay(5);write_1602Command(0x06);delay(5);write_1602Comma

24、nd(0x0F);delay(5);write_1602Command(0x0C);void DisplayOneChar(uchar X, uchar Y, uchar DData) Y&=1; X&=15; if(Y)X|=0x40; X|=0x80; write_1602Command(X); write_1602Data(DData); void display_1602(uchar *DData,X,Y) uchar ListLength=0; Y&=0x01; X&=0x0F; while(X<16) DisplayOneChar(X,Y,DDataListLength) ; ListLength+; X+; void main()uchar i=0;uchar delay_v=100;uchar flag=0;P1=0

溫馨提示

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

評論

0/150

提交評論