新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 51單片機(jī)驅(qū)動(dòng)步進(jìn)電機(jī)(雙四拍和八拍)

51單片機(jī)驅(qū)動(dòng)步進(jìn)電機(jī)(雙四拍和八拍)

作者: 時(shí)間:2016-11-19 來(lái)源:網(wǎng)絡(luò) 收藏
  步進(jìn)電機(jī)是一種將電脈沖轉(zhuǎn)化為相應(yīng)的線(xiàn)位移和角位移的電磁機(jī)械裝置。具有快速啟動(dòng)停止能力,在電機(jī)的負(fù)荷不超過(guò)他提供的轉(zhuǎn)矩時(shí),可以通過(guò)輸入脈沖來(lái)控制他在一瞬間的停止和啟動(dòng)。步進(jìn)電機(jī)的步距角和轉(zhuǎn)速只和輸入脈沖的頻率有關(guān)。

  通常電機(jī)的轉(zhuǎn)子為永磁體,當(dāng)電流流過(guò)定子繞組時(shí),定子繞組產(chǎn)生一矢量磁場(chǎng)。該磁場(chǎng)會(huì)帶動(dòng)轉(zhuǎn)子旋轉(zhuǎn)一角度,使得轉(zhuǎn)子的一對(duì)磁場(chǎng)方向與定子的磁場(chǎng)方向一致。當(dāng)定子的矢量磁場(chǎng)旋轉(zhuǎn)一個(gè)角度。轉(zhuǎn)子也隨著該磁場(chǎng)轉(zhuǎn)一個(gè)角度。每輸入一個(gè)電脈沖,電動(dòng)機(jī)轉(zhuǎn)動(dòng)一個(gè)角度前進(jìn)一步。它輸出的角位移與輸入的脈沖數(shù)成正比、轉(zhuǎn)速與脈沖頻率成正比。改變繞組通電的順序,電機(jī)就會(huì)反轉(zhuǎn)。所以可用控制脈沖數(shù)量、頻率及電動(dòng)機(jī)各相繞組的通電順序來(lái)控制步進(jìn)電機(jī)的轉(zhuǎn)動(dòng)。每一個(gè)脈沖信號(hào)對(duì)應(yīng)步進(jìn)電機(jī)的某一相或兩相繞組的通電狀態(tài)改變一次,也就對(duì)應(yīng)轉(zhuǎn)子轉(zhuǎn)過(guò)一定的角度(一個(gè)步距角)。當(dāng)通電狀態(tài)的改變完成一個(gè)循環(huán)時(shí),轉(zhuǎn)子轉(zhuǎn)過(guò)一個(gè)齒距。四相步進(jìn)電機(jī)可以在不同的通電方式下運(yùn)行,常見(jiàn)的通電方式有單(單相繞組通電)四拍(A-B-C-D-A),雙(雙相繞組通電)四拍(AB-BC-CD-DA-AB),八拍(A-AB-B-BC-C-CD-D-DA-A)。

本文引用地址:http://2s4d.com/article/201611/318365.htm

以下代碼為8拍:

sbit P00        = P0^0;sbit P01        = P0^1;sbit P02        = P0^2;sbit P03        = P0^3;//設(shè)置成推挽模式-將引腳強(qiáng)制拉高--void init_gpio(void){P0M1 = P0M1 & 0X0;P0M2 = P0M2  0XFF;P0 = 0X0;    }//--horizontal motor#define A P00#define B P01#define C P02#define D P03#define    h_Coil_A        {A = 1;B = 0;C = 0;D = 0;}#define    h_Coil_AB        {A = 1;B = 1;C = 0;D = 0;}#define    h_Coil_B        {A = 0;B = 1;C = 0;D = 0;}#define    h_Coil_BC        {A = 0;B = 1;C = 1;D = 0;}#define    h_Coil_C        {A = 0;B = 0;C = 1;D = 0;}#define    h_Coil_CD        {A = 0;B = 1;C = 1;D = 0;}#define    h_Coil_D        {A = 0;B = 0;C = 0;D = 1;}#define    h_Coil_DA        {A = 0;B = 0;C = 1;D = 1;}#define    h_Coil_OFF        {A = 0;B = 0;C = 0;D = 0;}void h_Right_Motor(){h_Coil_Adelay_ms(speed);h_Coil_ABdelay_ms(speed);h_Coil_Bdelay_ms(speed);h_Coil_BCdelay_ms(speed);h_Coil_Cdelay_ms(speed);h_Coil_CDdelay_ms(speed);h_Coil_Ddelay_ms(speed);h_Coil_DAdelay_ms(speed);}void h_Left_Motor(){h_Coil_DAdelay_ms(speed);h_Coil_Ddelay_ms(speed);h_Coil_CDdelay_ms(speed);h_Coil_Cdelay_ms(speed);h_Coil_BCdelay_ms(speed);h_Coil_Bdelay_ms(speed);h_Coil_ABdelay_ms(speed);h_Coil_Adelay_ms(speed);}



關(guān)鍵詞: 51單片機(jī)步進(jìn)電

評(píng)論


技術(shù)專(zhuān)區(qū)

關(guān)閉