步进电机单片机课程设计程序.docx

上传人:b****7 文档编号:25637628 上传时间:2023-06-11 格式:DOCX 页数:12 大小:293.37KB
下载 相关 举报
步进电机单片机课程设计程序.docx_第1页
第1页 / 共12页
步进电机单片机课程设计程序.docx_第2页
第2页 / 共12页
步进电机单片机课程设计程序.docx_第3页
第3页 / 共12页
步进电机单片机课程设计程序.docx_第4页
第4页 / 共12页
步进电机单片机课程设计程序.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

步进电机单片机课程设计程序.docx

《步进电机单片机课程设计程序.docx》由会员分享,可在线阅读,更多相关《步进电机单片机课程设计程序.docx(12页珍藏版)》请在冰豆网上搜索。

步进电机单片机课程设计程序.docx

步进电机单片机课程设计程序

步进电机单片机课程设计程序

7EH0-1表示正反转 7DH0-F转速控制 7CH-79H步距数 

ORG  0000H

     AJMP MAIN

     ORG  000BH

     AJMP IT0P

     ORG  0050H

MAIN:

MOV  SP,#40H

     MOV  79H,#00H

     MOV  7AH,#00H

     MOV  7BH,#00H

     MOV  7CH,#00H

     MOV  7DH,#00H

     MOV  7EH,#00H

L4:

  MOV  R1,#7EH;01111110

L1:

  ACALLdir

LOOP1:

ACALLks1

     JZ   L1

     ACALLkeyi

     CJNE A,#16H,BB

     LCALLZZZ

BB:

  CJNE A,#10H,L2

     AJMP DO1

L2:

  MOV  @R1,A

     DEC  R1

     CJNE R1,#78H,LOOP1

     AJMP L4

DO1:

 MOV  TMOD,#01H

     MOV  TH0,#3CH

     MOV  TL0,#0B0H

     ACALLHB1

     SETB ET0

     SETB TR0

     SETB EA

HERE:

ACALLDIR

     ACALLCF1

     ACALLks1

     JZ   l1

     ACALLkeyi

     CJNE A,#0EH,here

     SJMP MAIN

     SJMP HERE

     ORG  0300H

IT0P:

PUSH PSW

     PUSH ACC

     PUSH DPH

     PUSH DPL

     MOV  TH0,#3CH

     MOV  TL0,#0B0H

     DJNZ 63H,RETURN

     MOV  63H,#0AH

     MOV  A,#01H

     ADD  A,62H

     DA   A

     MOV  62H,A

     CJNE A,#60H,RETURN

     MOV  62H,#00H

     MOV  A,#01H

     ADD  A,61H

     DA   A

     MOV  61H,A

     CJNE A,#60H,RETURN

     MOV  61H,#00H

     MOV  A,#01H

     ADD  A,60H

     DA   A

     MOV  60H,A

     CJNE A,#24H,RETURN

     MOV  60H,#00H

RETURN:

POP DPH

     POP  DPL

     POP  ACC

     POP  PSW

     RETI

CF1:

 MOV  R5,62H

     MOV  A,R5

     ANL  A,#0F0H

     SWAP A

     MOV  7AH,A

     MOV  A,R5

     ANL  A,#0FH

     MOV  79H,A

     MOV  R5,61H

     MOV  A,R5

     ANL  A,#0F0H

     SWAP A

     MOV  7CH,A

     MOV  A,R5

     ANL  A,#0FH

     MOV  7BH,A

     MOV  R5,60H

     MOV  A,R5

     ANL  A,#0F0H

     SWAP A

     MOV  7EH,A

     MOV  A,R5

     ANL  A,#0FH

     MOV  7DH,A

     RET

HB1:

 MOV  63H,#0AH

     MOV  A,7AH

     SWAP A

     ADD  A,79H

     MOV  62H,A

     MOV  A,7CH

     SWAP A

     ADD  A,7BH

     MOV  61H,A

     MOV  A,7EH

     SWAP A

     ADD  A,7DH

     MOV  60H,A

     RET

     ORG  0400H

keyi:

MOV  R2,#0FEH

     MOV  R4,#00H

Lk4:

 MOV  DPTR,#0FFDDH

     MOV  A,R2

     MOVX @DPTR,A

     INC  DPTR

     MOVX A,@DPTR

     JB   ACC.0,LONE

     MOV  A,#00H

     AJMP lkp

lone:

JB   ACC.1,ltw0

     MOV  A,#08H

     AJMP lkp

LTW0:

JB   ACC.2,LTHR

     MOV  A,#10H

     AJMP LKP

LTHR:

JB   ACC.3,next

     MOV  A,#18H

lkp:

 ADD  A,R4

     PUSH ACC

lk3:

 ACALLdir

     ACALLks1

     JNZ  lk3

     POP  ACC

     MOV  DPTR,#tabel1

     MOVC A,@A+DPTR

     RET

next:

INC  R4

     MOV  A,R2

     JNB  ACC.7,knd

     Rl   A

     MOV  R2,A

     AJMP lk4

knd:

 RET

ks1:

 MOV  DPTR,#0FFDDH

     MOV  A,#00H

     MOVX @DPTR,A

     INC  DPTR

     MOVX A,@DPTR

     CPL  A

     ANL  A,#0FH

     RET

tabel1:

DB  7,4,8,5,9,6,0AH,0BH,1,0,2,0FH,3,0EH,0CH,0DH,0,0,0,0,0,0,16H,10H

     

    ORG  0500H

dir:

 MOV  R0,#79H

     MOV  R3,#01H

     MOV  A,R3

ld0:

 MOV  DPTR,#0FFDDH

     MOVX @DPTR,A

     MOV  A,@R0

     MOV  DPTR,#TAB

     MOVC A,@A+DPTR

     MOV  DPTR,#0FFDCH

dir1:

MOVX @DPTR,A

     ACALLdl1ms

     INC  R0

     MOV  A,R3

     JB   ACC.5,ld1

     RL   A

     MOV  R3,A

     AJMP ld0

ld1:

RET

TAB:

 DB   0C0H,0F9H,0A4H,0B0H,99H,92H

     DB   82H,0F8H,80H,90H,88H,83H

     DB   0C6H,0A1H,86H,8EH,8CH,0C1H

     DB   0CEH,91H,89H,0C7H,0FFH

dl1ms:

MOV  R7,#02H

dl:

  MOV  R6,#0FFH

dl6:

 DJNZ R6,dl6

     DJNZ R7,dl

     RET

ZZZ:

 MOV  A,#00H

     CJNEA,7EH,FZ

     AJMPZZ

FZ:

    MOV  P1,#03H

       ACALLDELAY1

       MOV  P1,#06H

       ACALLDELAY1

       MOV  P1,#0CH

       ACALLDELAY1

       MOV  P1,#09H

       ACALLDELAY1

       ACALLJ1

       AJMPFZ

       

ZZ:

    MOV  P1,#09H

       ACALLDELAY1

       MOV  P1,#0CH

       ACALLDELAY1

       MOV  P1,#06H

       ACALLDELAY1

       MOV  P1,#03H

       ACALLDELAY1

       ACALLJ1

       AJMPZZ

DELAY1:

MOVA,#03H

       ADDA,7DH

       RLA

       RLA

       MOVR7,A

DE1:

   MOVR6,#0FFH

DE2:

   DJNZR6,DE2

       DJNZR7,DE1

       ACALLdir

       RET

J1:

    MOVR0,#79H

J2:

    CJNE@R0,#0,ZJ1

       MOV@R0,#9

       INCR0

       CJNER0,#7DH,J2

       AJMPJS

ZJ1:

   DEC@R0

       RET

JS:

    DECSP

       DECSP

       LJMPMAIN

       END

一、系统描述及控制要求

要求:

设计一个三相六拍环形分配器控制脉冲进而控制步进电机运行。

该程序应具有:

1.能实现电机正反转驱动控制

2.频率控制分四档:

快速、中速、慢速、单步

3.可实现定步控制。

说明:

步进电机是电流在线圈中按顺序切换而使电机转轴作步矩式转的电机。

切换是由输入驱动的脉冲信号来完成的,每给驱动电路一个脉冲,电机转轴就按要求旋转一定的角度。

故这种电机可以用输入的脉冲数来控制电机的转角,并且转速由脉冲的频率决定。

步进电机可分为3相、4相、5相线圈型等,对于步进电机还有三种励磁方式:

1、相励磁:

通常按顺序依次激励一个线圈。

2、双相励磁:

通常按顺序依次激励两个线圈。

3、单——双相励磁:

它是上面两种方法的综合,其特点是高分辨率(本实验用本励磁方式)见下图:

表中的S1、S2、S3分别为步进电机三相激励线圈A、B、C的控制开关。

二、器材:

OMRONCPM2A可编程序控制器、PLC教学实验系统

三、I/O分配表

四、外部接线图

五、流程图

六、梯形图

七、系统调试

硬件调试:

接通电源,检查可编程序控制器能否正常工作,接头是否接触良好。

软件调试:

按要求输入梯形图,检查后编译通过,在线工作后把程序写入可编程序控制器的程序存储区。

运行调试:

在硬件调试和软件调试正确的基础上,使PLC进入运行状态,观察运行情况,看是否能够实现正反转、快速、中速、慢速、单步、定步控制。

根据以上调试情况,此电机控制系统设计符合控制要求。

课程设计心得

通过这次PLC课程设计,让我更加深刻理解了课本的知识,并使我熟悉和掌握了PLC基本指令的使用,掌握了PLC的I/O分配、程序调试等。

1、编写程序首先必须把I/O分配表写好。

弄清楚哪些信号作为输入,哪些信号作为输出,该用什么继电器,还有什么情况下要用定时器/计数器。

       

2、在设计步进电机控制中通过SFT移位六个脉冲频率,电机正转顺序A—AB—B—BC—C—CA—A,反转是A—CA—C—BC—B—AB—A,通过0.1秒、0.2秒、1秒来控制电机脉冲的频率,从而实现快速、中速以及慢速控制电机的运行,用DIFU来实现电机单步控制,用计数器来实现定步控制。

3、通过调试找出问题的所在,相应的修改程序。

在编程过程中难免会有不足之处,因此通过调试,再修改程序可以更好实现相应的功能。

例如原来我用PO1、PO2、PO3来控制电机运行的快速、中速、慢速,发现按钮不能自锁,后来通过20.00、20.01、20.02三个中间继电器,并补充了一些程序实现了自锁功能。

这次设计,提高了我的动手和动脑能力,更让我们体会到了理论与实践相结合的重要性,使我得到了一次用专业知识、专业技能分析和解决问题全面系统的锻炼。

使我在PLC的基本原理以及编程设计思路技巧的掌握方面都能向前迈了一大步.

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 工作计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1