標題: 第15章-步進電機測試 [打印本頁]

作者: wul    時間: 2016-3-28 22:36
標題: 第15章-步進電機測試
51單片機輕松入門—基于STC15W4K系列(C語言版)
李友全
編著 詳見:http://www.torrancerestoration.com/bbs/dpj-37954-1.html

第15章 步 進 電 機 測 試
1 步進電機特點
2 步進電機的3種勵磁方式
3 步進電機驅(qū)動電路
4 步進電機驅(qū)動實例

步進電機特點:

1 步進電機特點
步進電機旋轉(zhuǎn)角度和輸入脈沖成正比,通常市面所售步進電機說明書會說明 其步進角(也就是一個脈沖所產(chǎn)生的旋轉(zhuǎn)角度),比如常見的小體積永磁式電機 的步進角是7.5°,則送給它48個脈沖使步進電機正好轉(zhuǎn)動一圈。

② 步進電機轉(zhuǎn)角誤差很小,沒有累積誤差,因此控制步進電機正反轉(zhuǎn)還是會回 到原來的位置,不會因為誤差累積而使初始位置越來越遠。
③ 具有自保持特性,任何一相線圈加上電源后,電機本身具有自保持力矩,不 送脈沖情況下會停止在一定位置,不會改變。
④ 步進電機空載最高啟動頻率一般能達到450Hz,使用頻率不能超過允許最高頻 率,否則電機只能振動,無法運轉(zhuǎn)。
⑤ 常見步進電機供電電壓是5V、12V、24V,供電電壓允許誤差±10%,電機外殼
上一般都會對供電電壓規(guī)格作相應標識。

步進電機內(nèi)部線圈電路圖:

外部接口




2 步進電機的3種勵磁方式

依次改變電流所流過的線圈,就可以讓步進電機轉(zhuǎn)動,如果順序相反的話,電機 就會反方向轉(zhuǎn)動,比如圖13-1電機有A,/A,B,/B共4組線圈,最簡單的方式就是 依次將電流按A,B,/A,/B順序?qū)?組線圈,不同的導入方式會產(chǎn)生不同的結(jié) 果,電流的導入稱為勵磁,勵磁有3種方式。

(1)1相勵磁(也稱為單4拍) 這種勵磁方式是將電流一次只導入一組線圈中,每次可移動一個步進角,這種
勵磁方式產(chǎn)生的力矩小,噪音振動最大,勵磁順序如表15-1所示,其中H表示勵 磁,L表示未勵磁,圖15-2是對應波形圖。
表15-1 圖15-2

(2)2相勵磁(也稱為雙4拍)

這種勵磁方式是將電流一次導入兩組線圈中,每次可移動一個步進角,由于同時 有2個線圈被勵磁,因此產(chǎn)生的力矩較大,噪音振動比1相勵磁小,勵磁順序如表

15-2所示,圖15-3是對應波形圖,按照表15-2的方式依1、2、3、4的順序分別將4 組線圈中的2組線圈勵磁,步進電機會轉(zhuǎn)動4個步進角,如果反方向勵磁(也就是以4、3、2、1的順序),步進電機就按反方向轉(zhuǎn)動4個步進角。


(3)1-2相勵磁(也稱為8拍) 這種勵磁方式是上述兩種勵磁方式的綜合,將A、B兩相采用交互勵磁的方式
進行,將電流第一次導入一組線圈中,在第二次導入兩組線圈,每次可移動半 個步進角,是噪音振動最小的一種勵磁方式,勵磁順序如表15-3所示,圖15-4
是對應波形圖,按照表15-3的方式依1、2、3、4、5、6、7、8的順序分別將4組
線圈勵磁,步進電機會轉(zhuǎn)動4個步進角(雖然勵磁8次,但因每次都只前進半個 步進角,總和還是4個步進角)。

3 步進電機驅(qū)動電路

步進電機典型驅(qū)動電路如圖15-5所示,有時為了增加電機輸出力矩,在不增加電源電壓和驅(qū)動脈 沖寬度的前提下,可將圖15-5中的4只反峰電壓保護二極管1N4007去掉,只要電機繞組斷電瞬間 產(chǎn)生的電壓峰值不超過TIP122的極限電壓100V即可,這樣就成了圖15-6的電路,TIP122內(nèi)部CE間 已集成反向二極管,為了減輕內(nèi)部反向二極管負擔,所以外部并接了1N4007給電機繞組提供反向 電流通路,圖15-7與圖15-8是實測的TIP122集電極電壓波形與TIP122發(fā)射極電流波形(即電機繞 組電流波形)。

圖15-5 步進電機典型驅(qū)動電路圖 15-6 增加驅(qū)動力矩的電路



GND

圖15-7 典型電路波形 圖15-8 增加力矩電路的波形
4步進電機驅(qū)動實例
例15.1 步進電機正反轉(zhuǎn)測試,使用圖15-7或圖15-8的電路,采用1-2相勵磁,要求上電后順轉(zhuǎn)
200步,然后反轉(zhuǎn)200步,如此循環(huán),完整實驗代碼如下。使用P20、P21、P22、P23口驅(qū)動電機
#include "STC15W4K.H "
unsigned char code BiaoGe[8]={0x08,0x0C,0x04,0x06,0x02,0x03,0x01,0x09};
void PROT_Init(void)
{
P2M1 = 0x80; // 1000 0000 P2.0、P2.1、P2.2、P2.3、接驅(qū)動功率管,推挽輸出 P2M0 = 0x0f; // 0000 1111 P2.7 接接霍爾傳感器信號輸入,高阻輸入
}
void shun200() // 順轉(zhuǎn)200步
{
unsigned int i; unsigned char n; n=0;
for(i=0;i<400;i++) // 200步,i/2為實際步數(shù)
{
P2=BiaoGe[n]|0xf0; // 不影響P2口高4位
delay3ms();
n=n+1;
if (n>7)
{
n=0;
}
}
P2&=0xf0; // 保證電機繞組斷電
}
void fan200() // 反轉(zhuǎn)200步
{

unsigned int i; unsigned char n; n=8;

for(i=0;i<400;i++) // 200步,i/2為實際步數(shù)
{
n=n-1;
n=8;
}

P2=BiaoGe[n]|0xF0; // 不影響P2口高4位

delay3ms();

if (n==0)

{

}

P2&=0xf0; // 保證電機繞組斷電
}

void main(void)

{
PROT_Init(); // 初始化端口

while(1)

{

shun200(); delay1s(); fan200(); delay1s();

}

}





本章完整程序及資料下載: 第15章 步進電機測試.rar (2.35 MB, 下載次數(shù): 79)

作者: 祝云章    時間: 2018-3-7 21:55
很好,感謝分享
作者: 直流電機實驗    時間: 2018-7-10 10:42
有沒有直流電機測試的程序 沒有找到
作者: LHJMF    時間: 2018-8-30 11:36
好帖子,學習了。
作者: zjh158    時間: 2018-10-18 11:28
學習了了 。。。。。。。。。。。
作者: vectorxu    時間: 2018-11-1 14:23
學習了,謝謝樓主
作者: btsunflower    時間: 2019-2-16 22:25
先回復再仔細看,謝謝樓主。
作者: gl1234yu    時間: 2019-3-7 08:38
不錯 收藏了




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1