專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機(jī)教程網(wǎng) >> MCU設(shè)計(jì)實(shí)例 >> 瀏覽文章

單片機(jī)與步進(jìn)電機(jī)的控制

作者:李俊軒   來(lái)源:本站原創(chuàng)   點(diǎn)擊數(shù):  更新時(shí)間:2013年07月18日   【字體:

最近好長(zhǎng)一段時(shí)間沒(méi)有來(lái)51hei單片機(jī)網(wǎng)了,接近考試的日子越來(lái)越近,開(kāi)始把時(shí)間轉(zhuǎn)到考試的準(zhǔn)備上了,這兩天回過(guò)頭來(lái)想想,應(yīng)該有快半個(gè)月對(duì)單片機(jī)的學(xué)習(xí)沒(méi)有什么進(jìn)展了,不過(guò)我一直堅(jiān)信,單片機(jī)學(xué)習(xí)的路上,只要你肯堅(jiān)持,只要你肯吃苦、肯付出,再難的關(guān)也不是問(wèn)題,當(dāng)然,最近也深深地體會(huì)到,學(xué)習(xí)單片機(jī)如果有一個(gè)好的老師作為指導(dǎo),那學(xué)起來(lái)就不用那么費(fèi)勁了,不過(guò)也沒(méi)有關(guān)系,很多東西,條件不好的時(shí)候,就需要自己去改變,去想想其它的法子。

這兩天開(kāi)始研究單片機(jī)與步進(jìn)電機(jī)的控制問(wèn)題,感覺(jué)真的很好玩,步進(jìn)電機(jī)在工業(yè)的很多地方都有很大的應(yīng)用,比如流水線的運(yùn)轉(zhuǎn),智能小車,系統(tǒng)定位都有很大的用處。也是一個(gè)核心的技術(shù)。步進(jìn)電機(jī)的控制主要是由單片機(jī)IO口高低電平的控制以及輸出脈沖來(lái)控制其轉(zhuǎn)速,達(dá)到了一種數(shù)模轉(zhuǎn)換的效果。讓單片機(jī)以并行二進(jìn)制數(shù)轉(zhuǎn)換成并行脈沖序列,并實(shí)現(xiàn)方向控制。只要是脈沖在步進(jìn)電機(jī)允許的范圍之內(nèi),每個(gè)脈沖將使步進(jìn)電機(jī)轉(zhuǎn)動(dòng)一個(gè)固定的步距角度,根據(jù)步距角的大小及實(shí)際走的步數(shù),只要知道初始位置,便可以根據(jù)計(jì)算知道其最終位置了。

步進(jìn)電機(jī)轉(zhuǎn)動(dòng)時(shí)的驅(qū)動(dòng)的電流比較大,所以在使用單片機(jī)控制的時(shí)候,要在中間加一個(gè)放大電路,或者加上一些常用的放大電流的芯片,比如人們很經(jīng)常用的一個(gè)芯片ULM2003.只有這樣才能夠使步進(jìn)電機(jī)轉(zhuǎn)動(dòng),不然會(huì)因?yàn)殡娏魈《鴮?shí)現(xiàn)不了效果。

下面把實(shí)際效果拿出來(lái)分享下:

程序如下:
#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
uchar num[]={0x01,0x02,0x04,0x08};
void delay(uint z)
{
uint a;
for(a=0;a<z;a++)
;

}
void main()
{
uchar i;
uint j;

for(j=0;j<2045;j++)
{
{ P1=num[i];
delay(1200);
i++;
if(i==4)
i=0; }
}

while(1);
}
其中,z控制轉(zhuǎn)速,j控制轉(zhuǎn)的圈數(shù),由計(jì)算和調(diào)試得出當(dāng)j=2045時(shí),步進(jìn)電機(jī)走的圈數(shù)為1圈,這樣,我們要步進(jìn)電機(jī)走多少圈時(shí),可以在里面嵌套一個(gè)程序,達(dá)到我們要電機(jī)轉(zhuǎn)多少圈的目的。關(guān)于電機(jī)的參數(shù)打開(kāi)http://www.torrancerestoration.com/mcu/73.html 這個(gè)鏈接來(lái)查看.里面寫(xiě)得非常詳細(xì).

關(guān)閉窗口

相關(guān)文章