PIC-步進電機_第1頁
PIC-步進電機_第2頁
PIC-步進電機_第3頁
PIC-步進電機_第4頁
PIC-步進電機_第5頁
已閱讀5頁,還剩4頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、輕松學PIC之步進電機篇大家好, 通過前一期的學習, 我們已經(jīng)對ICD2 仿真燒寫器和增強型PIC 實驗板的使用方法及學習方式有所了解與熟悉,學會了如何用單片機來控制發(fā)光管、繼電器、蜂鳴器、按鍵、數(shù)碼管、RS232 串口等資源,體會到了學習板的易用性與易學性,看了前幾期實例,當你實驗成功后一定很興奮,很有成就感吧!現(xiàn)在我們就趁熱打鐵,再向上跨一步,一起來學習一下步進電機的工作原理及使用方法,這是我們用單片機來控制機械進行運動的開始。步進電機是一種將電脈沖轉(zhuǎn)化為角位移的執(zhí)行機構(gòu)。當步進驅(qū)動器接收到一個脈沖信號,它就驅(qū)動步進電機就按設定的方向轉(zhuǎn)動一個固定的角度(步距角)。通過控制脈沖個數(shù)來控制角位

2、移量,可以達到準確定位;同時可以通過控制脈沖頻率來控制電機轉(zhuǎn)動的速度和加速度,達到調(diào)速的目的;可以通過改變各相的通電順序,控制步進電動機的轉(zhuǎn)動方向。步進電機的特點1、步進電動機的角位移與輸入脈沖嚴格成正比,因此,它沒有累計誤差,具有良好的跟隨性。2、步進電動機的動態(tài)響應快,易于啟停、正反轉(zhuǎn)及變速。3、速度可在相當寬的范圍內(nèi)平滑調(diào)節(jié),低速下仍能保證獲得較大轉(zhuǎn)矩,因此,一般可以不用減速裝置而直接驅(qū)動負載。4、步進電動機只能通過脈沖電源供電才能運行,它不能直接使用交流電源和直流電源。那我們該如何來控制步進電機轉(zhuǎn)動呢?直流電機我們只要在電機兩極加上電壓,電機馬上轉(zhuǎn)動,但步進電機并非這樣,它是數(shù)字控制方

3、式,它將電脈沖信號轉(zhuǎn)變成角位移,即給一個脈沖信號,步進電動機就轉(zhuǎn)動一個角度,因此非常適合單片機的控制。一般一個完整的步進電機控制系統(tǒng)包括控制器、驅(qū)動器、電機三部分??驁D如圖1 所示:圖1 步進電機控制系統(tǒng)現(xiàn)在,我們以反應式步進電機為例,介紹其基本原理與應用方法。反應式步進電機可實現(xiàn)大轉(zhuǎn)矩輸出,步進角一般為1.5 度。反應式步進電機的轉(zhuǎn)子磁路由軟磁材料制成,定子上有多相勵磁繞組,利用磁極的變化產(chǎn)生轉(zhuǎn)矩。常用小型步進電機的實物如圖2 所示,該步進電機可以直接與我們的增強型PIC 實驗板相連,完成步進電機控制實驗。圖2 步進電機實物圖步進電機的勵磁方式。步進電機的勵磁方式一般分為1 相勵磁、2 相勵

4、磁、1-2 相勵磁。1 相勵磁時,步進電動機按方式循環(huán)通電,每次只對一相通電,磁場旋轉(zhuǎn)一周需要換相4 次,轉(zhuǎn)子轉(zhuǎn)動一個齒距角。其通電方式最為簡單,轉(zhuǎn)矩最小。勵磁方式見表1。表1 1相勵磁方式2 相勵磁時,每次對兩相同時通電,磁場旋轉(zhuǎn)一周需要換相4 次,轉(zhuǎn)子轉(zhuǎn)動一個齒距角。在雙三拍工作方式中,步進電動機正轉(zhuǎn)的通電順序為:;反轉(zhuǎn)的通電順序為:。雙三拍工作方式的優(yōu)點是:可產(chǎn)生較大的轉(zhuǎn)矩,不易產(chǎn)生失步。勵磁方式見表2。表2 2相勵磁方式1-2 相勵磁是1 相勵磁和2 相勵磁交替使用的方法。磁場旋轉(zhuǎn)一周需要換相8 次,轉(zhuǎn)子才轉(zhuǎn)過一個步距角,屬于半步的方式,也就是說1-2 相勵磁時的步距角比前兩種方式的步

5、距角小一半,所以步進精度提高了一倍。1-2 相勵磁方式見表3。表3 1-2相勵磁方式步進電機應用驅(qū)動電路步進電機的驅(qū)動電路有單極性直流驅(qū)動和H 橋驅(qū)動兩種,本例的小型步進電機,采用最簡單的單極性直流驅(qū)動電路,目的在于驗證步進電機的使用,在正式工業(yè)控制一般較之復雜。簡單驅(qū)動電路如圖3所示。圖3 步進電機的單極性直流驅(qū)動電路在實際應用中一般驅(qū)動路數(shù)不止一路,用圖3的分立電路體積大,各路參數(shù)一致性難以保障。最好用現(xiàn)成的集成電路作為多路驅(qū)動。常用的小型步進電機驅(qū)動電路可以用ULN2003 或ULN2803。我們的實驗板上用的是ULN2003。ULN2003 是高壓大電流達林頓晶體管陣列系列產(chǎn)品,具有電

6、流增益高、工作電壓高、溫度范圍寬、帶負載能力強等特點,適應于各類要求高速大功率驅(qū)動的系統(tǒng)。ULN2003A 由7 組達林頓晶體管陣列和相應的電阻網(wǎng)絡以及鉗位二極管網(wǎng)絡構(gòu)成本例實際只用其中4組。ULN2003 內(nèi)部結(jié)構(gòu)如圖4 所示,達林頓晶體管等效電路圖如圖5 所示。圖4 ULN2003內(nèi)部結(jié)構(gòu)圖圖5 達林頓晶體管等效電路圖ULN2003A 型高壓大電流達林頓晶體管陣列電路的典型應用電路框圖如圖6 所示。鉗位二極管用于保護線圈通斷時的反電動勢擊穿集成電路,可以看出,應用ULN2003 后電路比分立元件簡潔得多。通過前文的原理介紹,我們已經(jīng)對步進電機的特性以及工作原理有了大致地了解,但當我們拿到一

7、個步進電機時要正確地應用它還是一時不知如何下手,比如我們現(xiàn)在要控制電機正轉(zhuǎn)、反轉(zhuǎn)、高速運轉(zhuǎn)、低速運轉(zhuǎn)時,需要怎么辦呢?要控制步進電機進行正反轉(zhuǎn),已不是像直流電機這么簡單,在電機兩端加上正反相電源就可以了,而是通過輸出不同規(guī)律的“正反轉(zhuǎn)”時序脈沖來實現(xiàn)控制?,F(xiàn)在,我們來一起看一下如何進行步進電機正反轉(zhuǎn)以及轉(zhuǎn)動速度的控制,通過一個實例,相信會給大家?guī)硪粋€感性的認識。首先,我們來看一下增強型PIC 實驗板上的步進電機控制電路,因為我們需要將軟件和硬件相結(jié)合進行考慮如何來編程。步進電機控制部分的電路原理圖如圖7 所示。PIC 單片機的RD0RD3 為電機脈沖輸出引腳,通過ULN2003 集成芯片來驅(qū)

8、動小型步進電機,我們只要將步進電機的插頭,直接插在板子J3 插座處即可。跳線J4 為我們?yōu)閷嶒灠逶O計的步進電機智能供電跳線,這樣實驗板可以適用于不同工作電壓的步進電機,當跳線跳到VCC 這端,則給步進電機提供VCC +5V 的電源,我們現(xiàn)在做實驗使用的步進電機工作電壓是5V 的,所以我們跳線設置到VCC 這一端即可,如果用戶使用自己的步進電機電壓不是5V 的,那可以將跳線跳到VIN 這一端,即用戶外部接入電源提供給步進電機工作電壓。對于單片機軟件的編程,我們使用MPLab IDE軟件來進行C 語言編程,它是我們的編程環(huán)境,同時我們可以通過使用ICD2 仿真燒寫器和增強型PIC實驗板連接進行程序

9、的仿真調(diào)試和燒寫步驟,具體的操作步驟,我們已經(jīng)在前幾期做了詳細的說明和介紹,在此就不再重復說明,讀者朋友可以參閱以前的文章或直接登陸我們的網(wǎng)站查看資料?,F(xiàn)在我們可以輸入程序代碼進行調(diào)試了,我們在MPLabIDE 軟件中新建工程,加入源程序代碼,同時進行芯片型號的選擇和配置位的設置,我們實驗所用的芯片型號為PIC16F877A。編寫的程序代碼如下:/* 步進電機演示程序 */#include #define key RB0void delay(void)int k;for(k=0;k2000;k+);void main()TRISD=0x00; / 設置RD 為輸出口TRISB=0xFE;/ 設

10、置RB0 為輸出口,RB1RB7 為輸入口PORTD=0x00; / 初始化RD 輸出低電平key=1; / 設置按鍵為輸入狀態(tài)while(1) / 主循環(huán)if(key=1) / 如果沒有鍵按下則電機正轉(zhuǎn)PORTD=0xFC; /1100delay();PORTD=0xF6; /0110delay();PORTD=0xF3; /0011delay();PORTD=0xF9; /1001delay();else / 如果有鍵按下則電機反轉(zhuǎn)PORTD=0xFC; /1100delay();PORTD=0xF9; /1001delay();PORTD=0xF3; /0011delay();PORTD

11、=0xF6; /0110delay();編好程序后,讀者朋友可以將編譯好的HEX通過ICD2 仿真燒寫器燒入單片機芯片,然后插上步進電機,上電運行,如圖8 所示。這時我們可以看到步進電機已經(jīng)開始正轉(zhuǎn)起來,如果我們這時按下K2 按鍵,則步進電機開始反轉(zhuǎn),如果釋放了K2按鍵,那么步進電機仍然繼續(xù)正轉(zhuǎn),從而實現(xiàn)了步進電機正反轉(zhuǎn)的控制。圖8 步進電機與增強型PIC實驗板進行連接前面,我們輸入了這么長一段程序后,作為初學者的讀者一定對有些語句會有點疑問,下面我們就來一起結(jié)果實際,看一下一些關鍵程序語句的作用。#include 語句用來加載PIC 庫文件,#define key RB0 這條語句將RB0

12、宏定義為key,void delay () 是延時函數(shù),步進電機在輸出正反轉(zhuǎn)時序時進行延時,如要調(diào)整步進電機的轉(zhuǎn)動速度,我們只要調(diào)速這個延時函數(shù)的延時值即可。TRISD、TRISB 相關的語句用來設置RD、RB 口的輸入、輸出狀態(tài),在此我們設置RD 為輸出口,用來給步進電機輸出時序使用,RB 口中的RB0 設置為輸入口,因為該口是我們實驗板上的按鍵,按鍵是輸入設備。然后賦值key=1,即把RB0 初值設置為1,當沒有按鍵按下時,RB0 的值為1,當按鍵被按下時,RB0 的值為0, while(1) 是死循環(huán)語句,即周而復始地執(zhí)行 內(nèi)的語句體,我們在死循環(huán)體內(nèi)不停地判斷key 這個變量,如果按鍵有沒有被按下,key 為1,同時我們在單片機RD 口輸出步進電機正轉(zhuǎn)的時序表,分別輸出 1100 、0110、 0011、 1001 這些信號,每串信號之間用delay 函數(shù)進行延時,該延時值不能太快,否則步進電機會無法響應,具體設置多少合適,讀者朋友可以通過ICD2 在線調(diào)試時,修改延時值來進行實際測試,觀察步進電機的工作狀態(tài),從而實現(xiàn)了步進電機的速度控制;

溫馨提示

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

評論

0/150

提交評論