先來圖看看,沒忍住全部抄下來:(感謝萬能的淘寶,以及商家 8毛錢一個還要啥自行車 @ https://item.taobao.com/item.htm?spm=a230r.1.14.65.472f69f3zFqx6H&id=590142046187&ns=1&abbucket=8#detail)
手頭有個STC89C51開發板,送的就是上邊的步進電機。也不太懂這四個線的作用,好在有百度。百度了是arduino,單片機的也有。
控制方法見這里:https://wenku.baidu.com/view/8579bf2349649b6649d747ea.html 第四頁下側。
看了之后該電機可以4拍8拍的運行。步進電機的特點是,誤差不累積。
單片機不能直接控制它,因為電流不夠。開發板上有個 TC1508S (https://wenku.baidu.com/view/6e6dbe0302d8ce2f0066f5335a8102d276a261b7.html)
專門是用來做玩具馬達的。這個片子很容易,輸入四個 ,輸出四個 可以控制兩個直流電機(突然我有開玩具廠做遙控車的想法,哈哈)做到真正的四驅。
這里也可以控制好輸出的時序來控制這個兩線四相的步進電機。關於連線附屬電容參看TC1508S的內容。
用了P1的0,1,2,3端口 接 TC1508S的 ina inb inc ind 關於真值表看文檔
TC1508S的 outa outb outc outd 接到 步進電機的 A+ A- B+ B-
按上邊的就是間接的用 0,1,2,3口控制步進電機的 A+ A- B+ B-
代碼我在貼吧看到一個,拷過來能用,是4拍的:
sbit A_OUT=P1^0; //位定義
sbit B_OUT=P1^1; //位定義
sbit C_OUT=P1^2; //位定義
sbit D_OUT=P1^3; //位定義
void delay(i)//延時函數
{
unsigned char j,k;
for(j=0;j<3;j++)
for(k=0;k<i;k++);
}
FuncNum=200;
while (--FuncNum) {
A_OUT=1;
B_OUT=0;
C_OUT=1;
D_OUT=0;
delay(y);
//
A_OUT=0;
B_OUT=1;
C_OUT=1;
D_OUT=0;
delay(y);
//
A_OUT=0;
B_OUT=1;
C_OUT=0;
D_OUT=1;
delay(y);
//
A_OUT=1;
B_OUT=0;
C_OUT=0;
D_OUT=1;
delay(y);
}
P1=0; //恢復低電平,防止燒壞電機
至於八拍的就看上邊的關於步進電機的文檔補充上就好了。
這個電機雖小,可以做很多有意思的東西。
另外如果接TC1508S的 outa outb , outc outd 可以分兩組控制兩個普通馬達,小時候最喜歡四驅車就是這個,淘寶2快兩個,想當年四驅車暴利啊。
現在越來越喜歡單片機了。能控制能動的馬達,無限的想象力就來了。
為什么放在QT因為我在做上位機和下位機控制。串口通信把小馬達們控制起來,加個藍牙,無線模塊,無限可能有木有。