新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 51單片機(jī)的步進(jìn)電機(jī)控制,正轉(zhuǎn)反轉(zhuǎn)等

51單片機(jī)的步進(jìn)電機(jī)控制,正轉(zhuǎn)反轉(zhuǎn)等

作者: 時(shí)間:2018-08-01 來(lái)源:網(wǎng)絡(luò) 收藏

應(yīng)用廣泛,

本文引用地址:http://butianyuan.cn/article/201808/384872.htm

例如打印機(jī)、磁盤驅(qū)動(dòng)器、玩具、汽車雨刷、手機(jī)震動(dòng)、機(jī)械夾具、刻錄機(jī)等各種機(jī)械控制場(chǎng)合

一些概念:

拍數(shù)N

定子控制繞組每改變一次通電方式,即為一拍

一個(gè)磁場(chǎng)通電周期是 A-B-C-D-A

完成一個(gè)磁場(chǎng)周期性變化所需脈沖數(shù),

也指電機(jī)轉(zhuǎn)過(guò)一個(gè)齒距角所需脈沖數(shù),用N表示

拍數(shù)又等于相數(shù)的1倍或2倍,

以四相電機(jī)為例,

有4相4拍, A-B-C-D-A...

4相8拍, A-AB-B-BC-C-CD-D-DA-A...

齒距角θz

一個(gè)通電循環(huán)周期(比如4拍)轉(zhuǎn)子轉(zhuǎn)過(guò)一個(gè)齒距角

齒距角又等于360除以轉(zhuǎn)子齒數(shù)Z, θz=360/Z

步距角θs

步距角,即在沒(méi)有減速齒輪的情況下,對(duì)于一個(gè)脈沖信號(hào),轉(zhuǎn)子所轉(zhuǎn)過(guò)的機(jī)械角度.

也就是說(shuō),每一拍轉(zhuǎn)子轉(zhuǎn)過(guò)的角度稱之為步距角,通常用θs表示

θs=齒距角/拍數(shù)

θs=360/(N*Z)

步距角的誤差不會(huì)長(zhǎng)期積累,只與輸入脈沖信號(hào)數(shù)相對(duì)應(yīng),

可以組成結(jié)構(gòu)較為簡(jiǎn)單而又具有一定精度的開(kāi)環(huán)控制系統(tǒng),

也可以在要求更高精度時(shí)組成閉環(huán)系統(tǒng)。

轉(zhuǎn)速X

每分鐘電機(jī)轉(zhuǎn)了多少轉(zhuǎn)?設(shè)脈沖頻率f

一個(gè)脈沖,轉(zhuǎn)子轉(zhuǎn)過(guò)角度為1/(ZN),

X=60*f/(ZN) 拍數(shù)與齒數(shù)表示法

=(f*θs)/6 步距角表示法

24BYJ48-5v 減速永磁

功能特點(diǎn):

采用ULN2003驅(qū)動(dòng),使用方便,帶齒輪減速,噪音低,運(yùn)轉(zhuǎn)平穩(wěn),5V即可驅(qū)動(dòng),

器件參數(shù):

1.額定電壓:5-10V DC

2.直流電阻:60Ω±7%(25℃).

3.減速比:1/64

4.步距角:5.625°*(1/64), 含減速比

5.驅(qū)動(dòng)方式:4相8拍

6.牽入轉(zhuǎn)距:≥350gf.cm(工作頻率:100PPS)

7.打滑扭力:800~1300gf.cm

8.溫升:≤55K(5VDC 工作頻率:100PPS)

9.噪音:≤35dB(空載,100PPS,水平距馬達(dá)10cm)

10.絕緣耐壓:600V AC/1秒

11.引線拉力強(qiáng)度:1Kgf/條

12.接線方式:5線4相

1.VCC 紅色

2.A 橙色

3.B 黃色

4.C 粉色

5.D 藍(lán)色

============================================================

C代碼

#include my51.h

//4相8拍

u8 code tableCCW[8]={0x08,0x0c,0x04,0x06,0x02,0x03,0x01,0x09}; //逆時(shí)針旋轉(zhuǎn)相序表

u8 code tableCW[8]={0x09,0x01,0x03,0x02,0x06,0x04,0x0c,0x08}; //順時(shí)針旋轉(zhuǎn)相序表

sbit S3=P3^5; //反轉(zhuǎn) 按鍵

sbit S4=P3^6; //正轉(zhuǎn) 按鍵

sbit S5=P3^4; //停止 按鍵

void motorTurn_ccw() //轉(zhuǎn)1圈,逆時(shí)針

{

u8 i,j;

for(j=0;j8;j++) //電機(jī)內(nèi)部的轉(zhuǎn)子旋轉(zhuǎn)一周

{

if(S5==0) //按鍵沒(méi)處理抖動(dòng)

{

break; //如果停止鍵按下,退出此循環(huán)

}

for(i=0;i8;i++) //旋轉(zhuǎn)45度, 8*5.625°=45°

{

P1=tableCCW[i];

delayms(2); //調(diào)節(jié)轉(zhuǎn)速

}

}

}

void motorTurn_cw() //轉(zhuǎn)1圈 ,順時(shí)針

{

u8 i,j;

for(j=0;j8;j++) //8*45°=360°

{

if(S5==0)

{

break; //如果停止鍵按下,退出此循環(huán)

}

for(i=0;i8;i++) //旋轉(zhuǎn)45度,8*5.625°=45°

{

P1=tableCW[i];

delayms(2); //調(diào)節(jié)轉(zhuǎn)速

}

}

}

void main()

{

u8 r;

u8 N=64; //減速,減速比1/64,所以N=64時(shí),步進(jìn)電機(jī)外主軸轉(zhuǎn)一圈

P1=0xff; _nop_();

ledLock= LOCK; //我們的P1口接有8個(gè)led燈,先鎖定,不要讓它們亮 ,節(jié)能環(huán)保

while(1)

{

if(S3==0) //按鍵了

{

for(r=0;r

{

motorTurn_ccw(); //電機(jī)逆時(shí)針轉(zhuǎn)

if(S5==0)

{

break; //俺S5鍵立馬停止

}

}

}

else if(S4==0)

{

for(r=0;r

{

motorTurn_cw(); //電機(jī)順時(shí)針轉(zhuǎn)

if(S5==0)

{

break;

}

}

}

else

{

P1=0xf0; //平時(shí)也是停止的

}

}

}



評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉