單片機(jī)步進(jìn)電機(jī)的驅(qū)動(dòng)程序
掃描二維碼
隨時(shí)隨地手機(jī)看文章
單片機(jī) 步進(jìn)電機(jī)的驅(qū)動(dòng)程序
動(dòng)電壓 12V ,步進(jìn)角為 7.5 度 . 一圈 360 度 , 需要 48 個(gè)脈沖完成 !!!
在這里介紹一下用 51 單片機(jī) 對(duì)這款步進(jìn)電機(jī)的驅(qū)動(dòng)方法。
該步進(jìn)電機(jī)有 6 根引線,排列次序如下: 1: 紅色、 2: 紅色、 3: 橙色、 4: 棕色、 5: 黃色、 6: 黑色。
采用 51 驅(qū)動(dòng) ULN2003 的方法進(jìn)行驅(qū)動(dòng)。
ULN2003 的驅(qū)動(dòng)直接用 單片機(jī) 系統(tǒng)的 5V 電壓,可能力矩不是很大,大家可自行加大驅(qū)動(dòng)電壓到 12V 。
此主題相關(guān)圖片如下:
;*********************************************************************
;**************************** 步進(jìn)電機(jī)的驅(qū)動(dòng) ******************************
; DESIGN BY BENLADN911 FOSC = 12MHz
;---------------------------------------------------------------------------------
; 步進(jìn)電機(jī)的驅(qū)動(dòng)信號(hào)必須為 脈沖信號(hào) !!! 轉(zhuǎn)動(dòng)的速度和脈沖的頻率成正比 !!!
; 本步進(jìn)電機(jī)步進(jìn)角為 7.5 度 . 一圈 360 度 , 需要 48 個(gè)脈沖完成 !!!
;---------------------------------------------------------------------------------
; A 組線圈對(duì)應(yīng) P2.4
; B 組線圈對(duì)應(yīng) P2.5
; C 組線圈對(duì)應(yīng) P2.6
; D 組線圈對(duì)應(yīng) P2.7
; 正轉(zhuǎn)次序 : AB 組 --BC 組 --CD 組 --DA 組 ( 即一個(gè)脈沖 , 正轉(zhuǎn) 7.5 度 )
;----------------------------------------------------------------------------------
;---------------------------- 正轉(zhuǎn) --------------------------
ORG 0000H
LJMP MAIN
ORG 0100H
MAIN:
MOV R3,#144 ; 正轉(zhuǎn) 3 圈共 144 脈沖
START:
MOV R0,#00H
START1:
MOV P2,#00H
MOV A,R0
MOV DPTR,#TABLE
MOV C A,@A+DPTR
JZ START ; 對(duì) A 的判斷 , 當(dāng) A = 0 時(shí)則轉(zhuǎn)到 START
MOV P2,A
LCALL DELAY
INC R0
DJNZ R3,START1
MOV P2,#00H
LCALL DELAY1
;----------------------------- 反轉(zhuǎn) ------------------------
MOV R3,#144 ; 反轉(zhuǎn)一圈共 144 個(gè)脈沖
START2:
MOV P2,#00H
MOV R0,#05
START3:
MOV A,R0
MOV DPTR,#TABLE
MOV C A,@A+DPTR
JZ START2
MOV P2,A
CALL DELAY
INC R0
DJNZ R3,START3
MOV P2,#00H
LCALL DELAY1
LJMP MAIN
DELAY: MOV R7,#40 ; 步進(jìn)電機(jī)的轉(zhuǎn)速
M3: MOV R6,#248
DJNZ R6,$
DJNZ R7,M3
RET
DELAY1: MOV R4,#20 ;2S 延時(shí)子程序
DEL2: MOV R3,#200
DEL3: MOV R2,#250
DJNZ R2,$
DJNZ R3,DEL3
DJNZ R4,DEL2
RET
TABLE:
DB 30H,60H,0C0H,90H ; 正轉(zhuǎn)表
DB 00 ; 正轉(zhuǎn)結(jié)束
DB 30H,90H,0C0H,60H ; 反轉(zhuǎn)表
DB 00 ; 反轉(zhuǎn)結(jié)束
END