輕松學(xué)PIC之步進(jìn)電機(jī)篇
出處:xulinchong 發(fā)布于:2011-08-31 12:23:32
大家好, 通過前一期的學(xué)習(xí), 我們已經(jīng)對(duì)ICD2 仿真燒寫器和增強(qiáng)型PIC 實(shí)驗(yàn)板的使用方法及學(xué)習(xí)方式有所了解與熟悉,學(xué)會(huì)了如何用單片機(jī)來控制發(fā)光管、繼電器、蜂鳴器、按鍵、數(shù)碼管、RS232 串口等資源,體會(huì)到了學(xué)習(xí)板的易用性與易學(xué)性,看了前幾期實(shí)例,當(dāng)你實(shí)驗(yàn)成功后一定很興奮,很有成就感吧!現(xiàn)在我們就趁熱打鐵,再向上跨一步,一起來學(xué)習(xí)一下步進(jìn)電機(jī)的工作原理及使用方法,這是我們用單片機(jī)來控制機(jī)械進(jìn)行運(yùn)動(dòng)的開始。
步進(jìn)電機(jī)是一種將電脈沖轉(zhuǎn)化為角位移的執(zhí)行機(jī)構(gòu)。當(dāng)步進(jìn)驅(qū)動(dòng)器接收到一個(gè)脈沖信號(hào),它就驅(qū)動(dòng)步進(jìn)電機(jī)就按設(shè)定的方向轉(zhuǎn)動(dòng)一個(gè)固定的角度(步距角)。通過控制脈沖個(gè)數(shù)來控制角位移量,可以達(dá)到準(zhǔn)確定位;同時(shí)可以通過控制脈沖頻率來控制電機(jī)轉(zhuǎn)動(dòng)的速度和加速度,達(dá)到調(diào)速的目的;可以通過改變各相的通電順序,控制步進(jìn)電動(dòng)機(jī)的轉(zhuǎn)動(dòng)方向。
步進(jìn)電機(jī)的特點(diǎn)
1、步進(jìn)電動(dòng)機(jī)的角位移與輸入脈沖嚴(yán)格成正比,因此,它沒有累計(jì)誤差,具有良好的跟隨性。
2、步進(jìn)電動(dòng)機(jī)的動(dòng)態(tài)響應(yīng)快,易于啟停、正反轉(zhuǎn)及變速。
3、速度可在相當(dāng)寬的范圍內(nèi)平滑調(diào)節(jié),低速下仍能保證獲得較大轉(zhuǎn)矩,因此,一般可以不用減速裝置而直接驅(qū)動(dòng)負(fù)載。
4、步進(jìn)電動(dòng)機(jī)只能通過脈沖電源供電才能運(yùn)行,它不能直接使用交流電源和直流電源。
那我們?cè)撊绾蝸砜刂撇竭M(jìn)電機(jī)轉(zhuǎn)動(dòng)呢?直流電機(jī)我們只要在電機(jī)兩極加上電壓,電機(jī)馬上轉(zhuǎn)動(dòng),但步進(jìn)電機(jī)并非這樣,它是數(shù)字控制方式,它將電脈沖信號(hào)轉(zhuǎn)變成角位移,即給一個(gè)脈沖信號(hào),步進(jìn)電動(dòng)機(jī)就轉(zhuǎn)動(dòng)一個(gè)角度,因此非常適合單片機(jī)的控制。
一般一個(gè)完整的步進(jìn)電機(jī)控制系統(tǒng)包括控制器、驅(qū)動(dòng)器、電機(jī)三部分??驁D如圖1 所示:

圖1 步進(jìn)電機(jī)控制系統(tǒng)
現(xiàn)在,我們以反應(yīng)式步進(jìn)電機(jī)為例,介紹其基本原理與應(yīng)用方法。反應(yīng)式步進(jìn)電機(jī)可實(shí)現(xiàn)大轉(zhuǎn)矩輸出,步進(jìn)角一般為1.5 度。反應(yīng)式步進(jìn)電機(jī)的轉(zhuǎn)子磁路由軟磁材料制成,定子上有多相勵(lì)磁繞組,利用磁極的變化產(chǎn)生轉(zhuǎn)矩。常用小型步進(jìn)電機(jī)的實(shí)物如圖2 所示,該步進(jìn)電機(jī)可以直接與我們的增強(qiáng)型PIC 實(shí)驗(yàn)板相連,完成步進(jìn)電機(jī)控制實(shí)驗(yàn)。

圖2 步進(jìn)電機(jī)實(shí)物圖
步進(jìn)電機(jī)的勵(lì)磁方式。
步進(jìn)電機(jī)的勵(lì)磁方式一般分為1 相勵(lì)磁、2 相勵(lì)磁、1-2 相勵(lì)磁。
1 相勵(lì)磁時(shí),步進(jìn)電動(dòng)機(jī)按
方式循環(huán)通電,每次只對(duì)一相通電,磁場(chǎng)旋轉(zhuǎn)一周需要換相4 次,轉(zhuǎn)子轉(zhuǎn)動(dòng)一個(gè)齒距角。其通電方式為簡(jiǎn)單,轉(zhuǎn)矩。勵(lì)磁方式見表1。
表1 1相勵(lì)磁方式

2 相勵(lì)磁時(shí),每次對(duì)兩相同時(shí)通電,磁場(chǎng)旋轉(zhuǎn)一周需要換相4 次,轉(zhuǎn)子轉(zhuǎn)動(dòng)一個(gè)齒距角。在雙三拍工作方式中,步進(jìn)電動(dòng)機(jī)正轉(zhuǎn)的通電順序?yàn)椋?IMG style="WIDTH: 101px; HEIGHT: 24px" border=0 src="http://www.hbjingang.com/data/uploadfile/2011831122331960.jpg" width=243 height=29>;反轉(zhuǎn)的通電順序?yàn)椋?/FONT>
。雙三拍工作方式的優(yōu)點(diǎn)是:
可產(chǎn)生較大的轉(zhuǎn)矩,不易產(chǎn)生失步。勵(lì)磁方式見表2。
表2 2相勵(lì)磁方式

1-2 相勵(lì)磁是1 相勵(lì)磁和2 相勵(lì)磁交替使用的方法。磁場(chǎng)旋轉(zhuǎn)一周需要換相8 次,轉(zhuǎn)子才轉(zhuǎn)過一個(gè)步距角,屬于半步的方式,也就是說1-2 相勵(lì)磁時(shí)的步距角比前兩種方式的步距角小一半,所以步進(jìn)提高了一倍。1-2 相勵(lì)磁方式見表3。
表3 1-2相勵(lì)磁方式

步進(jìn)電機(jī)應(yīng)用驅(qū)動(dòng)電路
步進(jìn)電機(jī)的驅(qū)動(dòng)電路有單極性直流驅(qū)動(dòng)和H 橋驅(qū)動(dòng)兩種,本例的小型步進(jìn)電機(jī),采用簡(jiǎn)單的單極性直流驅(qū)動(dòng)電路,目的在于驗(yàn)證步進(jìn)電機(jī)的使用,在正式工業(yè)控制一般較之復(fù)雜。簡(jiǎn)單驅(qū)動(dòng)電路如圖3所示。

圖3 步進(jìn)電機(jī)的單極性直流驅(qū)動(dòng)電路
在實(shí)際應(yīng)用中一般驅(qū)動(dòng)路數(shù)不止一路,用圖3的分立電路體積大,各路參數(shù)一致性難以保障。用現(xiàn)成的集成電路作為多路驅(qū)動(dòng)。常用的小型步進(jìn)電機(jī)驅(qū)動(dòng)電路可以用ULN2003 或ULN2803。我們的實(shí)驗(yàn)板上用的是ULN2003。ULN2003 是高壓大電流達(dá)林頓晶體管陣列系列產(chǎn)品,具有電流增益高、工作電壓高、溫度范圍寬、帶負(fù)載能力強(qiáng)等特點(diǎn),適應(yīng)于各類要求高速大功率驅(qū)動(dòng)的系統(tǒng)。
ULN2003A 由7 組達(dá)林頓晶體管陣列和相應(yīng)的電阻網(wǎng)絡(luò)以及鉗位二極管網(wǎng)絡(luò)構(gòu)成本例實(shí)際只用其中4組。ULN2003 內(nèi)部結(jié)構(gòu)如圖4 所示,達(dá)林頓晶體管等效電路圖如圖5 所示。

圖4 ULN2003內(nèi)部結(jié)構(gòu)圖

圖5 達(dá)林頓晶體管等效電路圖
ULN2003A 型高壓大電流達(dá)林頓晶體管陣列電路的典型應(yīng)用電路框圖如圖6 所示。鉗位二極管用于保護(hù)線圈通斷時(shí)的反電動(dòng)勢(shì)擊穿集成電路,可以看出,應(yīng)用ULN2003 后電路比分立元件簡(jiǎn)潔得多。

通過前文的原理介紹,我們已經(jīng)對(duì)步進(jìn)電機(jī)的特性以及工作原理有了大致地了解,但當(dāng)我們拿到一個(gè)步進(jìn)電機(jī)時(shí)要正確地應(yīng)用它還是一時(shí)不知如何下手,比如我們現(xiàn)在要控制電機(jī)正轉(zhuǎn)、反轉(zhuǎn)、高速運(yùn)轉(zhuǎn)、低速運(yùn)轉(zhuǎn)時(shí),需要怎么辦呢?要控制步進(jìn)電機(jī)進(jìn)行正反轉(zhuǎn),已不是像直流電機(jī)這么簡(jiǎn)單,在電機(jī)兩端加上正反相電源就可以了,而是通過輸出不同規(guī)律的“正反轉(zhuǎn)”時(shí)序脈沖來實(shí)現(xiàn)控制。現(xiàn)在,我們來一起看一下如何進(jìn)行步進(jìn)電機(jī)正反轉(zhuǎn)以及轉(zhuǎn)動(dòng)速度的控制,通過一個(gè)實(shí)例,相信會(huì)給大家?guī)硪粋€(gè)感性的認(rèn)識(shí)。
首先,我們來看一下增強(qiáng)型PIC 實(shí)驗(yàn)板上的步進(jìn)電機(jī)控制電路,因?yàn)槲覀冃枰獙④浖陀布嘟Y(jié)合進(jìn)行考慮如何來編程。步進(jìn)電機(jī)控制部分的電路原理圖如圖7 所示。PIC 單片機(jī)的RD0~RD3 為電機(jī)脈沖輸出引腳,通過ULN2003 集成芯片來驅(qū)動(dòng)小型步進(jìn)電機(jī),我們只要將步進(jìn)電機(jī)的插頭,直接插在板子J3 插座處即可。跳線J4 為我們?yōu)閷?shí)驗(yàn)板設(shè)計(jì)的步進(jìn)電機(jī)智能供電跳線,這樣實(shí)驗(yàn)板可以適用于不同工作電壓的步進(jìn)電機(jī),當(dāng)跳線跳到VCC 這端,則給步進(jìn)電機(jī)提供VCC +5V 的電源,我們現(xiàn)在做實(shí)驗(yàn)使用的步進(jìn)電機(jī)工作電壓是5V 的,所以我們跳線設(shè)置到VCC 這一端即可,如果用戶使用自己的步進(jìn)電機(jī)電壓不是5V 的,那可以將跳線跳到VIN 這一端,即用戶外部接入電源提供給步進(jìn)電機(jī)工作電壓。

對(duì)于單片機(jī)軟件的編程,我們使用MPLab IDE軟件來進(jìn)行C 語(yǔ)言編程,它是我們的編程環(huán)境,同時(shí)我們可以通過使用ICD2 仿真燒寫器和增強(qiáng)型PIC實(shí)驗(yàn)板連接進(jìn)行程序的仿真調(diào)試和燒寫步驟,具體的操作步驟,我們已經(jīng)在前幾期做了詳細(xì)的說明和介紹,在此就不再重復(fù)說明,讀者朋友可以參閱以前的文章或直接登陸我們的網(wǎng)站查看資料?,F(xiàn)在我們可以輸入程序代碼進(jìn)行調(diào)試了,我們?cè)贛PLabIDE 軟件中新建工程,加入源程序代碼,同時(shí)進(jìn)行芯片型號(hào)的選擇和配置位的設(shè)置,我們實(shí)驗(yàn)所用的芯片型號(hào)為PIC16F877A。編寫的程序代碼如下:
/* 步進(jìn)電機(jī)演示程序 */
#include <pic.h>
#define key RB0
void delay(void)
{
int k;
for(k=0;k<2000;k++);
}
void main()
{
TRISD=0x00; // 設(shè)置RD 為輸出口
TRISB=0xFE;
// 設(shè)置RB0 為輸出口,RB1~RB7 為輸入口
PORTD=0x00; // 初始化RD 輸出低電平
key=1; // 設(shè)置按鍵為輸入狀態(tài)
while(1) // 主循環(huán)
{
if(key==1) // 如果沒有鍵按下則電機(jī)正轉(zhuǎn)
{
PORTD=0xFC; //1100
delay();
PORTD=0xF6; //0110
delay();
PORTD=0xF3; //0011
delay();
PORTD=0xF9; //1001
delay();
}
else // 如果有鍵按下則電機(jī)反轉(zhuǎn)
{
PORTD=0xFC; //1100
delay();
PORTD=0xF9; //1001
delay();
PORTD=0xF3; //0011
delay();
PORTD=0xF6; //0110
delay();
}
}
}
編好程序后,讀者朋友可以將編譯好的HEX通過ICD2 仿真燒寫器燒入單片機(jī)芯片,然后插上步進(jìn)電機(jī),上電運(yùn)行,如圖8 所示。這時(shí)我們可以看到步進(jìn)電機(jī)已經(jīng)開始正轉(zhuǎn)起來,如果我們這時(shí)按下K2 按鍵,則步進(jìn)電機(jī)開始反轉(zhuǎn),如果釋放了K2按鍵,那么步進(jìn)電機(jī)仍然繼續(xù)正轉(zhuǎn),從而實(shí)現(xiàn)了步進(jìn)電機(jī)正反轉(zhuǎn)的控制。

圖8 步進(jìn)電機(jī)與增強(qiáng)型PIC實(shí)驗(yàn)板進(jìn)行連接
前面,我們輸入了這么長(zhǎng)一段程序后,作為初學(xué)者的讀者一定對(duì)有些語(yǔ)句會(huì)有點(diǎn)疑問,下面我們就來一起結(jié)果實(shí)際,看一下一些關(guān)鍵程序語(yǔ)句的作用。
#include<pic.h> 語(yǔ)句用來加載PIC 庫(kù)文件,#define key RB0 這條語(yǔ)句將RB0 宏定義為key,void delay () 是延時(shí)函數(shù),步進(jìn)電機(jī)在輸出正反轉(zhuǎn)時(shí)序時(shí)進(jìn)行延時(shí),如要調(diào)整步進(jìn)電機(jī)的轉(zhuǎn)動(dòng)速度,我們只要調(diào)速這個(gè)延時(shí)函數(shù)的延時(shí)值即可。TRISD、TRISB 相關(guān)的語(yǔ)句用來設(shè)置RD、RB 口的輸入、輸出狀態(tài),在此我們?cè)O(shè)置RD 為輸出口,用來給步進(jìn)電機(jī)輸出時(shí)序使用,RB 口中的RB0 設(shè)置為輸入口,因?yàn)樵摽谑俏覀儗?shí)驗(yàn)板上的按鍵,按鍵是輸入設(shè)備。然后賦值key=1,即把RB0 初值設(shè)置為1,當(dāng)沒有按鍵按下時(shí),RB0 的值為1,當(dāng)按鍵被按下時(shí),RB0 的值為0, while(1) 是死循環(huán)語(yǔ)句,即周而復(fù)始地執(zhí)行{ } 內(nèi)的語(yǔ)句體,我們?cè)谒姥h(huán)體內(nèi)不停地判斷key 這個(gè)變量,如果按鍵有沒有被按下,key 為1,同時(shí)我們?cè)趩纹瑱C(jī)RD 口輸出步進(jìn)電機(jī)正轉(zhuǎn)的時(shí)序表,分別輸出 1100 、0110、 0011、 1001 這些信號(hào),每串信號(hào)之間用delay 函數(shù)進(jìn)行延時(shí),該延時(shí)值不能太快,否則步進(jìn)電機(jī)會(huì)無法響應(yīng),具體設(shè)置多少合適,讀者朋友可以通過ICD2 在線調(diào)試時(shí),修改延時(shí)值來進(jìn)行實(shí)際測(cè)試,觀察步進(jìn)電機(jī)的工作狀態(tài),從而實(shí)現(xiàn)了步進(jìn)電機(jī)的速度控制;同理,如果按鍵被按下時(shí),key 為0,同時(shí)我們?cè)趩纹瑱C(jī)RD 口輸出步進(jìn)電機(jī)反轉(zhuǎn)的時(shí)序表,分別輸出 1100 、1001、0011、 0110 這些信號(hào),可以發(fā)現(xiàn)步進(jìn)電機(jī)進(jìn)行了反轉(zhuǎn)運(yùn)動(dòng)。
看到這里,相信你現(xiàn)在已經(jīng)可以對(duì)步進(jìn)電機(jī)進(jìn)行基本控制了,步進(jìn)電機(jī)的原理與使用我們講到這里,接下來幾期,我們將繼續(xù)一起學(xué)習(xí)增強(qiáng)型PIC實(shí)驗(yàn)板的其它各部分資源的原理與使用,使你對(duì)單片機(jī)應(yīng)用的各方面知識(shí)都有所入門與提高。
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫(kù)電子市場(chǎng)網(wǎng)”的所有作品,版權(quán)均屬于維庫(kù)電子市場(chǎng)網(wǎng),轉(zhuǎn)載請(qǐng)必須注明維庫(kù)電子市場(chǎng)網(wǎng),http://www.hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- MOSFET反向恢復(fù)特性對(duì)系統(tǒng)的影響2026/4/10 11:07:36
- 連接器耐腐蝕性能測(cè)試方法2026/4/10 10:56:32
- MOSFET在高頻開關(guān)中的EMI問題2026/4/9 10:13:50
- 連接器結(jié)構(gòu)設(shè)計(jì)常見問題分析2026/4/9 10:02:52
- 連接器選型中容易忽略的關(guān)鍵參數(shù)2026/4/8 10:32:54
- 高速PCB信號(hào)完整性(SI)設(shè)計(jì)核心實(shí)操規(guī)范
- 鎖相環(huán)(PLL)中的環(huán)路濾波器:參數(shù)計(jì)算與穩(wěn)定性分析
- MOSFET反向恢復(fù)特性對(duì)系統(tǒng)的影響
- 電源IC在惡劣環(huán)境中的防護(hù)設(shè)計(jì)
- 連接器耐腐蝕性能測(cè)試方法
- PCB電磁兼容(EMC)設(shè)計(jì)與干擾抑制核心實(shí)操規(guī)范
- 用于相位噪聲測(cè)量的低通濾波器設(shè)計(jì)與本振凈化技術(shù)
- MOSFET在高頻開關(guān)中的EMI問題
- 電源IC在便攜式設(shè)備中的設(shè)計(jì)要點(diǎn)
- 連接器結(jié)構(gòu)設(shè)計(jì)常見問題分析









