单片机步进电机的驱动程序

电子元件 1年前 (2022) aysz01
0

单片机 步进电机的驱动程序

动电压 12V ,步进角为 7.5 度 . 一圈 360 度 , 需要 48 个脉冲完成 !!!

在这里介绍一下用 51 单片机 对这款步进电机的驱动方法。

该步进电机有 6 根引线,排列次序如下: 1: 红色、 2: 红色、 3: 橙色、 4: 棕色、 5: 黄色、 6: 黑色。

采用 51 驱动 ULN2003 的方法进行驱动。

ULN2003 的驱动直接用 单片机 系统的 5V 电压,可能力矩不是很大,大家可自行加大驱动电压到 12V 。

此主题相关图片如下:

 

;*********************************************************************

;**************************** 步进电机的驱动 ******************************

; DESIGN BY BENLADN911 FOSC = 12MHz

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

; 步进电机的驱动信号必须为 脉冲信号 !!! 转动的速度和脉冲的频率成正比 !!!

; 本步进电机步进角为 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

MOV C 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

MOV C 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

版权声明:aysz01 发表于 2022-08-06 14:52:48。
转载请注明:单片机步进电机的驱动程序 | 鳌游电工

暂无评论

暂无评论...