最近,在整理廢舊物品時(shí),從過去換下的3寸和5寸軟驅(qū)上拆下幾個(gè)步進(jìn)電機(jī),想把它利用一下,就搞了個(gè)步進(jìn)電機(jī)控制器。驅(qū)動(dòng)效果還不錯(cuò),看看下一步能否應(yīng)用到我的機(jī)器人上。
首先介紹4線步進(jìn)電機(jī),它體積很小,只有4根引線,分別為紅、藍(lán)、黃、白。如圖示:

控制電路采用了4只8550(PNP)和4只8050(NPN)三極管,L1和L2分別為步進(jìn)電機(jī)的兩個(gè)線圈,電路使用與單片機(jī)相同的電壓+5V供電,電路接好后通過插座J1連接到51單片機(jī)的PX口。

控制電路實(shí)物見下圖,該電路可以同時(shí)控制兩臺(tái)步進(jìn)電機(jī),電路輸出分別連接至51單片機(jī)的P0和P2口,使用三個(gè)按鈕開關(guān)分別接至51單片機(jī)的P1.0、P1.1和P1.2,分別控制步進(jìn)電機(jī)的正轉(zhuǎn)、反轉(zhuǎn)和停止。

匯編測(cè)試程序如下:
ORG 00H
STOP:ORL P2,#0FFH
ORL P0,#0FFH
LOOP:JNB P1.0,FOR2
JNB P1.1,REV2
JNB P1.2,STOP1
SJMP LOOP
FOR:MOV R0,#00H
FOR1:MOV A,R0
MOV DPTR,#TABLE
MOVC A,@A+DPTR
JZ FOR
CPL A
MOV P2,A
MOV P0,A
JNB P1.2,STOP1
JNB P1.1,REV2
LCALL DELAY
INC R0
SJMP FOR1
REV:MOV R0,#05
REV1:MOV A,R0
MOV DPTR,#TABLE
MOVC A,@A+DPTR
JZ REV
CPL A
MOV P2,A
MOV P0,A
JNB P1.2,STOP1
JNB P1.0,FOR2
LCALL DELAY
INC R0
SJMP REV1
STOP1:LCALL DELAY
JNB P1.2,$
LCALL DELAY
SJMP STOP
FOR2:LCALL DELAY
JNB P1.0,$
LCALL DELAY
SJMP FOR
REV2:LCALL DELAY
JNB P1.1,$
LCALL DELAY
SJMP REV
DELAY:MOV R1,#40
D1:MOV R2,#248
DJNZ R2,$
DJNZ R1,D1
RET
TABLE:DB 00110011B,11000011B,11001100B,00111100B;正轉(zhuǎn)
DB 00
DB 00111100B,11001100B,11000011B,00110011B;反轉(zhuǎn)
DB 00
END