歡迎您光臨本站 登入註冊首頁

用51對一款微型步進電機的驅動

admin @ 2014-03-14 , reply:0

概述

驅動電壓12V,步進角為7.5度.一圈360度,需要48個脈衝完成!!!在這裡介紹一下用51單片機對這款步進電機的驅動方法。該步進電機有6根引線,排列次序如下:1:紅色、2:紅色、3:橙色、4:棕色、……



驅動電壓12V,步進角為 7.5度 . 一圈 360 度 , 需要 48 個脈衝完成!!!
在這裡介紹一下用51單片機對這款步進電機的驅動方法。
該步進電機有6根引線,排列次序如下:1:紅色、2:紅色、3:橙色、4:棕色、5:黃色、6:黑色。
採用51驅動ULN2003的方法進行驅動。
ULN2003的驅動直接用單片機系統的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

[admin via 研發互助社區 ] 用51對一款微型步進電機的驅動已經有3479次圍觀

http://cocdig.com/docs/show-post-507.html