新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 步进电机驱动汇编程序及调试总结

步进电机驱动汇编程序及调试总结

作者: 时间:2016-11-30 来源:网络 收藏
;*************步进电机驱动*****************

;设计者小苏 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组(即一个脉冲,正转7.5度)

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

;调试平台i51最小系统
;调试结果:步进电机,速度参数40,正反转正常;
;30以下速度加快,正转正常反转不动,原因不明,卡死丢步猜测为卡死;
;继续加速,参数为5,正转平稳,反转跳动,怀疑丢步。
;继续加速,电机震动,但正反转都不动,改进方案尚无(R6=248,R7为修改量)

;--------------------------------------------
;总结:对步进电机运行、驱动原理还不够理解、
;任务,尽快学习,并写出c程序,加入速度,正反转,停机控制

;--------------------------------------------
;---------正转-----------
ORG 0000H
LJMP MAIN
ORG 0100H

MAIN: MOV R3,#255 ;正转3圈 共114脉冲
START: MOV R0,#00H
START1:MOV P2,#00H
MOV A,R0
MOV DPTR,#TABLE
MOVC A,@A+DPTR
JZ START ;当A=0时转到START(一个脉冲,正转7.5度)
MOV P2,A
LCALL DELAY
INC R0
DJNZ R3,START1
MOV P2,00H
LCALL DELAY1

;----------------反转-------------------------

MOV R3,#255 ;正转3圈 共114脉冲
START2:MOV P2,#00H
MOV R0,#05H
START3:MOV A,R0
MOV DPTR,#TABLE
MOVC A,@A+DPTR
JZ START2 ;当A=0时转到START(一个脉冲,反转7.5度)
MOV P2,A
CALL DELAY
INC R0
DJNZ R3,START3
MOV P2,00H
LCALL DELAY1
LJMP MAIN

DELAY: MOV R7,#10 ;步进电机的转速
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


评论


技术专区

关闭