微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 步进电机驱动汇编程序及调试总结

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

时间: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

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top