新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 步進電機驅(qū)動匯編程序及調(diào)試總結(jié)

步進電機驅(qū)動匯編程序及調(diào)試總結(jié)

作者: 時間:2016-11-30 來源:網(wǎng)絡(luò) 收藏
;*************步進電機驅(qū)動*****************

;設(shè)計者小蘇 FOSC=12MHz 2013.11.05

;------------------------------------------------

; 步進角為7.5度 一圈360度,需要48個脈沖完成
;A組線圈 P2.4
;B組線圈 P2.5
;C組線圈 P2.6
;D組線圈 P2.7
;正傳次序:AB組-BC組-CD組-DA組(即一個脈沖,正轉(zhuǎn)7.5度)

;--------------------------------------------

;調(diào)試平臺i51最小系統(tǒng)
;調(diào)試結(jié)果:步進電機,速度參數(shù)40,正反轉(zhuǎn)正常;
;30以下速度加快,正轉(zhuǎn)正常反轉(zhuǎn)不動,原因不明,卡死丟步猜測為卡死;
;繼續(xù)加速,參數(shù)為5,正轉(zhuǎn)平穩(wěn),反轉(zhuǎn)跳動,懷疑丟步。
;繼續(xù)加速,電機震動,但正反轉(zhuǎn)都不動,改進方案尚無(R6=248,R7為修改量)

;--------------------------------------------
;總結(jié):對步進電機運行、驅(qū)動原理還不夠理解、
;任務(wù),盡快學(xué)習(xí),并寫出c程序,加入速度,正反轉(zhuǎn),停機控制

;--------------------------------------------
;---------正轉(zhuǎn)-----------
ORG 0000H
LJMP MAIN
ORG 0100H

MAIN: MOV R3,#255 ;正轉(zhuǎn)3圈 共114脈沖
START: MOV R0,#00H
START1:MOV P2,#00H
MOV A,R0
MOV DPTR,#TABLE
MOVC A,@A+DPTR
JZ START ;當(dāng)A=0時轉(zhuǎn)到START(一個脈沖,正轉(zhuǎn)7.5度)
MOV P2,A
LCALL DELAY
INC R0
DJNZ R3,START1
MOV P2,00H
LCALL DELAY1

;----------------反轉(zhuǎn)-------------------------

MOV R3,#255 ;正轉(zhuǎn)3圈 共114脈沖
START2:MOV P2,#00H
MOV R0,#05H
START3:MOV A,R0
MOV DPTR,#TABLE
MOVC A,@A+DPTR
JZ START2 ;當(dāng)A=0時轉(zhuǎn)到START(一個脈沖,反轉(zhuǎn)7.5度)
MOV P2,A
CALL DELAY
INC R0
DJNZ R3,START3
MOV P2,00H
LCALL DELAY1
LJMP MAIN

DELAY: MOV R7,#10 ;步進電機的轉(zhuǎn)速
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 ;正轉(zhuǎn)表
DB 00 ;正傳結(jié)束
DB 30H,90H,0C0H,60H ;反轉(zhuǎn)表
DB 00 ;反轉(zhuǎn)結(jié)束
END


評論


技術(shù)專區(qū)

關(guān)閉