用摇杆(电位器)控制步进电机

用摇杆(电位器)控制步进电机,第1张

们是北京的步进电机厂家,我们的用户就有您这么要求的,我看到他们的产品,和您说的差不多:两台步进电机带动减速机,带两个探头,XY轴一定角度的转动,中控室用手柄来控制两个探头的转动距离和速度;设备是用于国家森林防火的,技术是否透露就不知道了。所以自己动手

人家就是不管你程序怎么样,原理是什么,只要论文能达到一定厚度能交差就行了。

严重抵制弄虚作假!以后在和别人说起毕业论文时,那慷慨激昂的,说什么论文,3天就搞定了,那是对所有认真学习研究的人的侮辱!

我这儿有一段程序,不久前我自己编写的,是汇编的。步进电机是三相高速接线方式的。你看一下。

RS EQU P10

RW EQU P12

E EQU P11

LCD EQU P2

ORG 0000H

AJMP MAIN

ORG 0030H

MAIN: NOP

C0: SETB P14

NOP

NOP

NOP

NOP

NOP

NOP

JB P14,C1

AJMP C0

;ACALL WRITE_1

C1: ACALL SET1_LCD

ACALL SHOW1

CLR P03

AJMP L2

;LCD初始化程序

SET1_LCD:

MOV R5,#01H ;清屏

ACALL WRITE_1

MOV R5,#3CH ;两行显示,510点矩阵

ACALL WRITE_1

MOV R5, #06H ;输入模式为移动光标

ACALL WRITE_1

MOV R5,#0CH ;显示开关控制

ACALL WRITE_1

MOV R5,#02H ;光标归位

ACALL WRITE_1

RET

SHOW1:

MOV DPTR,#TAB1

MOV R1,#00H

A1: MOV A,R1

MOVC A,@A+DPTR

MOV R6,A

LCALL WRITE_D

INC R1

CJNE R1,#0AH,A1

RET

SHOW2:

MOV DPTR,#TAB2

MOV R1,#00H

A2: MOV A,R1

MOVC A,@A+DPTR

MOV LCD,A

MOV R6,A

LCALL WRITE_D

INC R1

CJNE R1,#0AH,A2

RET

;写数据子程序

WRITE_D: SETB RS

CLR RW

MOV LCD,R6

CLR E

ACALL CHECK_BF

SETB E

RET

;写命令子程序

WRITE_1: CLR RS

CLR RW

MOV LCD,R5

CLR E

ACALL CHECK_BF

SETB E

RET

;判断是否忙碌子程序

CHECK_BF:

MOV LCD,#0FFH ;此时不接受外来指令

CLR RS ;RS=0,选择指令寄存器

SETB RW ;RW=1,选择读模式

CLR E ;E=0,禁止读/写LCM

;ACALL DELAY10MS

;延时1微秒

SETB E ;E=1,允许读/写LCM

JB LCD7,CHECK_BF ;忙碌循环等待

RET

DELAY10MS:

MOV R3,#0AH ;外循环10次

DL2: MOV R4,#0FAH ;内循环50次

DL1: NOP

NOP

DJNZ R4,DL1

DJNZ R3,DL2

RET

DELAY3S: MOV R3,#0FFH

DL3: MOV R4,#0FFH

DL5: MOV R5,#66H

DL6: DJNZ R5,DL6

DJNZ R4,DL5

DJNZ R3,DL3

RET

L2: MOV R1,#18H

L1: MOV R2,#82H

L0: MOV R3,#0C0H

L3: ACALL M2

SETB P13

JB P13,C2

SETB P15

JB P15,WBI1

DJNZ R3,L3

DJNZ R2,L0

DJNZ R1,L1 ;延时6秒

M20: MOV A,#036H

AJMP M0

C2: ACALL M4

;ACALL SET1_LCD

AJMP M9

M0:MOV R4,#10H ;电机加速时间参数

M12:SETB P05

ACALL M5

CLR P05

ACALL M5

DJNZ R4,M12

DEC A

CJNE A,#08H,M0

MOV A,#08H

AJMP M13 ;电机加速程序

RET

M5:MOV R7,A ;延时程序

M1: NOP

NOP

NOP

NOP

NOP

NOP

NOP

DJNZ R7,M1

RET ;延时程序

M13:MOV R4,#0FFH ;电机加速时间参数

M14:SETB P05

ACALL M15

CLR P05

ACALL M15

SETB P05

DJNZ R4,M14

DEC A

CJNE A,#07H,M13

AJMP D0 ;电机加速程序

RET

WBI1: AJMP WBI

M15:MOV R7,A ;延时程序

M16:NOP

NOP

NOP

NOP

NOP

NOP

NOP

DJNZ R7,M16

RET

D0: MOV R5,#2H

ACALL M4

D1: MOV R6,#083H

ACALL M4

D2: MOV R4,#0F0H

M6: ACALL M4

SETB P13

JB P13,C2

ACALL M4

SETB P15

JB P15,WBI

ACALL M4

DJNZ R4,M6

DJNZ R6,D2

ACALL M4

DJNZ R5,D1 ;延时18秒

AJMP L2 ;gaiguo

M4: SETB P05 ;电机稳定运行程序

ACALL M8

CLR P05

ACALL M8

SETB P05

RET

M8: MOV R7,#07H ;转速参数

M7: NOP

NOP

NOP

NOP

NOP

NOP

NOP

DJNZ R7,M7

RET

M9: MOV A,#05H

M10:MOV R4,#02H ;电机减速时间参数

M17:SETB P05

ACALL M18

CLR P05

ACALL M18

DJNZ R4,M17

INC A

CJNE A,#0FFH,M10

;MOV A,#08H

AJMP M3 ;电机减速程序

RET

M18:MOV R7,A ;延时程序

M19:NOP

NOP

NOP

NOP

NOP

NOP

NOP

DJNZ R7,M19

RET

WBI:MOV R5,#058H

N1: MOV R6,#55H

N2: MOV R7,#7DH

N3: ACALL M2

SETB P15

JB P15,WBI

DJNZ R7,N3

DJNZ R6,N2

DJNZ R5,N1

AJMP M20

M2: SETB P05

RET

M3: SETB P05

ACALL SET1_LCD

ACALL SHOW2

TAB1: DB 53H,79H,73H,74H,65H,6DH,5FH,4FH,4EH,5FH

TAB2: DB 53H,79H,73H,74H,65H,6DH,5FH,4FH,46H,46H

END

没有问题啊, 使用中断就可以实现

和Arduino不同, 如果你使用MaxDuino来编程, 本来就是可以多个电机同时进行S曲线加减速控制

MOTOR1run(DIR_ZHENG,200); //电机1往正方向运行200步

MOTOR2run(DIR_FAN,400); //电机2往反方向运行400步

MOTOR3run(DIR_ZHENG,800);

MOTOR4run(DIR_FAN,1200);

通过以上指令后, 4个电机同时运转 Arduino其实也可以实现

以上就是关于用摇杆(电位器)控制步进电机全部的内容,包括:用摇杆(电位器)控制步进电机、论文 基于s7-200和组态王的二维定位系统设计,要用步进电机实现在平面走一直线或曲线,要有程序,三...、57步进电机的升降速曲线如何设计。200Hz作为启动频率可否,应该在多长时间内加速到匀速等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9667670.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存