時間:2019-01-18 20:48:46來源:云創硬見
不同規格的步進電機要選擇相應的驅動器,驅動器的相數、通電方式和電壓、電流都滿足步進電動機的需要。
注意事項小提示
1、不同規格的步進電機要選擇相應的驅動器,驅動器的相數、通電方式和電壓、電流都滿足步進電動機的需要。步進電動機的驅動電源主要由脈沖發生器、脈沖分配器和脈沖放大器(也稱功率放大器)三部分組成。單片機發送指令通過控制驅動器來控制步進電機。脈沖發生器是一個脈沖頻率在幾赫到幾十千赫內可連續變化的脈沖信號發生器。脈沖分配器根據指令把脈沖按一定的邏輯關系加到各相繞組的功率放大器上,使電機按一定方式運行,實現正、反轉和定位。
2、步進電機的控制方法,拿三相步進電機來說,不只只有三相三拍的方法。也可以用軟件實現三相六拍的方式。三相六拍的方式較三相三拍的方式步距角小了一半。比如,三拍的步距角為30度,六拍的步距角就是15度。這種將步距角精度提高的手段叫做細分。
3、上面的代碼所用指令是STC89C52單片機,如需用其它芯片請另行更改。
實現代碼
#include
#include
#defineucunsignedchar
#defineuiunsignedint
uccodezz[4]={0x01,0x02,0x04,0x08};//正轉表格,
uccodefz[4]={0x08,0x04,0x02,0x01};//反轉表格,
uik,z,y;
voiddelay(uiz)//z毫秒
{
uix,y;
for(x=z;x>0;x--)
for(y=125;y>0;y--);
}
/******正轉*****************/
voidzz()//相序為A->B->C
{
for(i=0;i<4;i++)
{
P0=zz[i];
delay(100);//100ms轉動一個步距角
}
}
/******反轉*****************/
voidfz()//相序為C->B->A
{
for(i=0;i<4;i++)
{
P0=fz[i];
delay(100);//100ms轉動一個步距角
}
}
voidmain()//正轉5s,反轉5s后停止。
{
while(1)
{
ZZ();
delay(5000);
fz();
delay(5000);
while(1);
}
}
聲明:本文為轉載類文章,如涉及版權問題,請及時聯系我們刪除(QQ: 2737591964),不便之處,敬請諒解!
標簽:
中國傳動網版權與免責聲明:凡本網注明[來源:中國傳動網]的所有文字、圖片、音視和視頻文件,版權均為中國傳動網(www.siyutn.com)獨家所有。如需轉載請與0755-82949061聯系。任何媒體、網站或個人轉載使用時須注明來源“中國傳動網”,違反者本網將追究其法律責任。
本網轉載并注明其他來源的稿件,均來自互聯網或業內投稿人士,版權屬于原版權人。轉載請保留稿件來源及作者,禁止擅自篡改,違者自負版權法律責任。
產品新聞
更多>2025-06-06
2025-05-19
2025-04-30
2025-04-11
2025-04-08
2025-03-31