<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 51單片機學(xué)習之3-步進(jìn)電機

51單片機學(xué)習之3-步進(jìn)電機

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



這種步進(jìn)電機叫減速步進(jìn)電機(里面有減速齒輪),減速比是1/64。

里面減速齒輪轉動(dòng)64圈,外面的轉子才轉動(dòng)1圈。

驅動(dòng)電壓為5V,步進(jìn)(距)角度5.625*1/64,采用5線(xiàn)4相。

線(xiàn)的順序是VCC、A、B、C、D。


1相勵磁方式驅動(dòng)程序代碼:實(shí)現讓步進(jìn)電機轉動(dòng)360°。

現在知道步進(jìn)電機的最小步距角是5.625*1/64=0.087890625°

1相勵磁方式每通一相電(即每轉動(dòng)一次)的角度應該是最小步距角的2倍(即0.087890625°*2=0.17578125)。一個(gè)循環(huán)就是4相:A→B→C→D(即0.17578125*4=0.703125°)。

那么一個(gè)循環(huán)就是0.703125°,要幾個(gè)循環(huán)才能轉動(dòng)360°呢?360°/0.703125=512個(gè)循環(huán)。

下面這份代碼是通過(guò)按位方式給A、B、C、D相輪流通電。

#include"reg51.h"

#defineucharunsignedchar

#defineuintunsignedint

sbitDA=P1^0;//A相

sbitDB=P1^1;//B相

sbitDC=P1^2;//C相

sbitDD=P1^3;//D相

voiddelay(uintx)

{
uinty;

for(;x>0;x--)

for(y=10;y>0;y--);

}

voidmain()

{

uinti=512;

uchardelayCout=25;

while(i--)//循環(huán)512次就轉動(dòng)360°的角度。

{

DA=1; //A相通電

delay(delayCout); //需要延時(shí)一小段時(shí)間讓硬件反應的過(guò)來(lái)

DA=0; //A相斷電

DB=1; //B相通電

delay(delayCout);//需要延時(shí)一小段時(shí)間讓硬件反應的過(guò)來(lái)

DB=0; //B相斷電

DC=1; //C相通電

delay(delayCout); //需要延時(shí)一小段時(shí)間讓硬件反應的過(guò)來(lái)

DC=0; //C相斷電

DD=1; //D相通電

delay(delayCout);//需要延時(shí)一小段時(shí)間讓硬件反應的過(guò)來(lái)

DD=0;//D相斷電

}

while(1);//旋轉完后就停在這里,避免重復執行main函數

}

上面那份源碼很好理解,下面是按邏輯運算實(shí)現的通斷A、B、C、D四相:

#include"reg51.h"

#defineucharunsignedchar

#defineuintunsignedint

voiddelay(uintx)

{
uinty;

for(;x>0;x--)

for(y=10;y>0;y--);

}

voidmain()

{

uinti=512;

ucharXh;

uchardelayCout=25;

while(i--)//循環(huán)512次就轉動(dòng)360°的角度。調整角度

{

Xh=3;

P1=0x01;//P1==00000001相當于P1^0置1將A相通電

delay(delayCout);//延時(shí)一段時(shí)間讓步進(jìn)電機能反應過(guò)來(lái)

while(Xh--)

{

P1<<=1;//第一次循環(huán)00000001<<1=00000010相當于P1^1置1同時(shí)將P1^0置0A相斷電B相通
電每次循環(huán)都會(huì )將1向左移動(dòng)一位
delay(delayCout);//這里是調節切換速度,即轉動(dòng)速度

}

}

while(1);//旋轉完后就停在這里,避免重復執行main函數

}


步進(jìn)電機主要知道它的工作原理和計算角度。步進(jìn)電機最大的方便是可以精確控制轉動(dòng)角度和速度。


上一頁(yè) 1 2 下一頁(yè)

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

評論


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

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>