❶ 51單片機步進電機正反轉程序
單片機控制步進電機,我想你說的是兩相步進電機,一般是控制其相序分配的順逆從而控制正反轉,一般而言,步進電機相序分配你可以做成一個數組比如step[]={0x03,0x06,0x0c,0x09},這樣來說可以假設P0口是步進電機控制口,那麼可以按如下方式來控制: while(1) { for(i=0;i<4;i++) { if(fx==1)P0=step[i]; //正向 else P0=step[3-i]; //反向 delay(x); //x大小決定電機速度。
根據電機相數買個驅動器。然後用單片機產生脈沖來控制電機的轉動以及正反轉。單片機產生脈沖的方法和單片機控制流水燈是一樣的。ULN2003D 是驅動步進電機的驅動晶元,主要是匹配電機所需的電流。 由於是四相電機,步進電機之所以可以轉動就需要給相繞組提供連續的脈沖,所以需要4個埠來控制四相繞組的工作狀態(P15應該是不需要的),具體的編碼要看電機的拍數; 一旦明白這些,你就可以很容易編寫代碼來控制電機的轉動了,還有在脈沖間你可以設置不同的延時時間來調節電機的轉速。
❷ 請問不用驅動器,而用單片機控制兩相步進電機可以嗎
這是不可能的,單片機的IO口無法承受0.2A電流.用IO口控制三極體驅動就行了
❸ 我想用51單片機單獨控制兩台步進電機,實現一台電機停,一台電機轉和兩台電機同時轉,可以么課設用
如果有驅動器的話,步進電機的控制一台只需要兩個信號即CW(正轉)和CCW(反轉)信號就OK了,或者PAUSE(脈沖)+DIR(方向),因此控制兩台步進電機只需要4路信號即可,所以任意實驗板都可以達到,當然買最便宜的了。
❹ 51單片機如何控制兩相四線步進電機
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
//--------------------------------
uchar step1[] = {0x05, 0x06, 0x0A, 0x09};
uchar stepx = 0;
//--------------------------------
void zs(uint a)
{
while(a--);
}
//--------------------------------
void zheng(void)
{
P0 = step1[stepx]; //走一步
stepx++;
if (stepx >= 4) stepx = 0;
}
//--------------------------------
void fan(void)
{
P0 = step1[stepx]; //走一步
stepx--;
if (stepx == 255) stepx = 3;
}
//--------------------------------
void main ()
{
uint i;
while(1) {
for(i = 0; i < 400; i++) {//正轉400步
zheng(); //走一步
zs(90); //控制轉速
}
for(i = 0; i < 400; i++) {//反轉400步
fan(); //走一步
zs(90); //控制轉速
}
}
}
//--------------------------------
❺ 怎樣用單片機給兩相步進電機驅動器發脈沖,該怎麼與步進電機接,有沒有程序
給使能EN,給方向DIR,,然後步一個脈沖,EN一般是+,DIR隨便,哪個方向自己試,用導線點都能試出來,多動手
接線端子定義說明
信號輸入端
⑴CP+:脈沖信號輸入正端。
⑵CP-:脈沖信號輸入負端。
⑶U/D+:電機正、反轉控制正端。
⑷U/D-:電機正、反轉控制負端。
⑸EN+:電機離線控制正端。
⑹EN-:電機離線控制負端。
電機繞組連接:
⑴A+:連接電機繞組A+相。
⑵A-:連接電機繞組A-相。
⑶B+:連接電機繞組B+相。
⑷B-:連接電機繞組B-相。
工作電壓的連接:
⑴VCC:連接直流電源正(注意:10V <VCC <32V)。
⑵GND:連接直流電源負。
詳細見產品展示說明圖
信號輸入端光耦隔離接法
輸入信號介面有兩種接法:用戶可根據需要採用共陽極接法或共陰極接法。
1、共陽極接法:分別將CP+,U/D+,EN+連接到控制系統的電源上,如果此電源是+5V 則可直接接入,如果此電源大於+5V,則須外部另加限流電阻R,保證給驅動器內部光藕提供8—15mA 的驅動電流。脈沖輸入信號通過CP-接入;此時,U/D-,EN-在低電平有效。
2、共陰極接法:分別9將CP-,U/D-,EN-連接到控制系統的地端(SGND,與電源地隔離);+5V 的脈沖輸入信號通過CP+加入;此時,U/D+,EN+在高電平有效。限流電阻R的接法取值與共陽極接法相同。
註:EN端可不接,EN有效時電機轉子處於自由狀態(離線狀態),這時可以手動轉動電機轉軸,做適合您的調節。手動調節完成後,再將EN設為無效狀態,以繼續自動控制。