|

驅動電壓12V,步進角為 7.5度 . 一圈 360 度 , 需要 48 個脈沖完成!!! 在這里介紹一下用51單片機對這款步進電機的驅動方法。 該步進電機有6根引線,排列次序如下:1:紅色、2:紅色、3:橙色、4:棕色、5:黃色、6:黑色。 采用51驅動ULN2003的方法進行驅動。 ULN2003的驅動直接用單片機系統(tǒng)的5V電壓,可能力矩不是很大,大家可自行加大驅動電壓到12V。
此主題相關圖片如下:

;********************************************************************************* ;****************************步進電機的驅動*************************************** ; DESIGN BY BENLADN911 FOSC = 12MHz 2005.05.19 ;--------------------------------------------------------------------------------- ; 步進電機的驅動信號必須為 脈沖信號!!! 轉動的速度和脈沖的頻率成正比!!! ; 本步進電機步進角為 7.5度 . 一圈 360 度 , 需要 48 個脈沖完成!!! ;---------------------------------------------------------------------------------
; A組線圈對應 P2.4 ; B組線圈對應 P2.5 ; C組線圈對應 P2.6 ; D組線圈對應 P2.7 ; 正轉次序: AB組--BC組--CD組--DA組 (即一個脈沖,正轉 7.5 度) ;---------------------------------------------------------------------------------- ;----------------------------正轉-------------------------- ORG 0000H LJMP MAIN
ORG 0100H MAIN:
MOV R3,#144 ;正轉 3 圈共 144 脈沖
START: MOV R0,#00H
START1: MOV P2,#00H MOV A,R0 MOV DPTR,#TABLE MOVC A,@A+DPTR JZ START ;對 A 的判斷,當 A = 0 時則轉到 START
MOV P2,A LCALL DELAY INC R0 DJNZ R3,START1
MOV P2,#00H LCALL DELAY1
;-----------------------------反轉------------------------
MOV R3,#144 ;反轉一圈共 144 個脈沖
START2: MOV P2,#00H MOV R0,#05
START3: MOV A,R0 MOV DPTR,#TABLE MOVC 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 ;步進電機的轉速 M3: MOV R6,#248 DJNZ R6,$ DJNZ R7,M3 RET
DELAY1: MOV R4,#20 ;2S 延時子程序 DEL2: MOV R3,#200 DEL3: MOV R2,#250 DJNZ R2,$ DJNZ R3,DEL3 DJNZ R4,DEL2 RET
TABLE: DB 30H,60H,0C0H,90H ;正轉表 DB 00 ;正轉結束
DB 30H,90H,0C0H,60H ;反轉表 DB 00 ;反轉結束 END |