步进电机实训报告

更新时间:2023-07-23 12:39:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

武 汉 工 程 职 业 技 术 学 院

步进电机驱动电路的设计、仿真及制作

技能鉴定实训报告

姓 名 吴伟 小组成员 专业班级 指导教师 李晓红

2011年05月25日 信 息 工 程 系

一、实训目的

1、掌握步进电机的工作原理。 2、掌握单片机系统的基本组成。 3、掌握程序设计的思路及流程。

4、掌握Keil uVision2、Proteus ISIS文件的基本操作方法和管理方法。 5、掌握Keil与Proteus联调仿真的方法。

6、掌握步进电机驱动控制电路的设计、仿真及制作。

二、实训设备

1、计算机,编程器,实验套件

1、Keil软件,Proteus软件,Word软件,STC-ISP编程软件。

三、实训内容 1、电路原理图

图1 步进电机驱动控制电路

2、步进电机的驱动方式

3、程序设计及仿真调试步骤

(1)用单片机控制四相步进电机按半步励磁方式工作,编写控制程序,并作详细分析。 源程序:

ORG 0000H ;程序存放的起始地址

SJMP START ;跳转到主程序 ORG 0030H ;主程序入口地址

START:

MOV R1,#00H ;初始化指针地址 MOV R2,#08H ;用于设定查表次数 YZ:

MOV DPTR,#TAB ;将查表地址给数据指针 YG:

MOV A,R1 ;将表首地址送给A YS:

MOV R3,#20 ;确定外循环次数 DL1:

MOV R4,#200 ;确定中循环系数

MOVC A,@A+DPTR ;查表

MOV P2,A ;将查表得到的数值送到P2口 INC R1 ;使指针指向数据表的下一位 ACALL YS ;调用延时程序 RET ;返回主程序 ACALL YG ;调用子程序 DJNZ R2,YZ ;判断查表次数

SJMP START ;查表完后,返回重新开始

DL2:

MOV R5,#124 ;确定内循环次数 DJNZ R5,$ ;R5自减延时

DJNZ R4,DL2 ;R4自减延时

DJNZ R3,DL1 ;R3自减延时 RET ;返回调用程序

TAB:DB 01H,03H,02H,06H,04H,0CH,08H,09H ;数据表 END

程序仿真调试中出现的问题及解决的方法:

a:写好程序后编译发现有错误出现,根据软件提示检查发现是由于误将MOV DPTR,#TAB写成了MOV DPTR,TAB,改正后程序编译提示没有错误出现。

b:在用Proteus软件验证程序时,发现程序只能运行一段时间,不能持续运行。经过检查发现是由于在主程序中忘写了“SJMP START”返回指令,添加这条指令后,再次仿真程序就能持续运行了。

(2)用单片机控制四相步进电机按半步励磁方式工作,用一个转换开关控制电机的正反转,编写控制程序,并作详细分析。 源程序:

ORG 0000H ;程序存放的起始地址

SJMP START ;跳转到主程序 ORG 0030H ;主程序入口地址

START:

MOV R1,#00H ;初始化指针地址 MOV R2,#08H ;用于设定查表次数 LOOP:

JNB P1.0,ZZ ;判断正反转 FZ:

MOV DPTR,#TAB1 ;将查表地址给数据指针 ZZ:

MOV DPTR,#TAB2 ;将查表地址给数据指针

ACALL YG ;调用子程序

JB P1.0,FZ ;在正转中判断是否有反转命令

ACALL YG ;调用子程序

JNB P1.0,ZZ ;在反转中判断是否有正转命令 DJNZ R2,FZ ;判断查表次数

SJMP START ;查表完后,返回重新开始

YG:

MOV A,R1 ;将表首地址送给A YS:

MOV R3,#20 ;确定外循环次数 DL1:

MOV R4,#200 ;确定中循环次数 DL2:

MOV R5,#124 ;确定内循环次数 DJNZ R5,$ ;R5自减延时

DJNZ R4,DL2 ;R4自减延时 DJNZ R3,DL1 ;R3自减延时 RET ;返回调用程序 RET ;返回主程序 MOVC A,@A+DPTR ;查表

MOV P2,A ;将查表得到的数值送到P2口

INC R1 ;使指针指向数据表的下一位

ACALL YS ;调用延时程序 DJNZ R2,ZZ ;判断查表次数

SJMP START ;查表完后,返回重新开始

TAB1:DB 01H,03H,02H,06H,04H,0CH,08H,09H ;正转数据表 TAB2:DB 09H,08H,0CH,04H,06H,03H,03H,01H ;反转数据表 END

程序仿真调试中出现的问题及解决的方法:

a: 在写好程序后,编译发现有两个错误出现。根据软件提示的信息,发现是由于在写数据表是忘了写DB,改正后编译就正常了。

b:在软件仿真中发现步进电机转的很慢,既不能调整转速也不能实现正反转。检查电路图 并没有发现错误,后对程序进行检查发现是由于在调用子程序后没有用RET指令返回主程序。修改后再仿真,步进电机运转正常了。

(3)用单片机控制四相步进电机按半步励磁方式工作,用一个转换开关控制电机的正反转,用两个按钮分别控制电机的加减速,画出流程图,编写控制程序,并作详细分析。

图2 流程图 源程序:

ORG 0000H ;程序存放的起始地址

SJMP START ;跳转到主程序 ORG 0030H ;主程序入口地址 START:

MOV R1,#04 ;设定初速度 LOOP:

MOV R2,#08 ;用于设定查表次数 MOV R3,#00 ;初始化指针地址 PD:

JNB P1.0,ZZ ;判断正反转 FZ:

MOV DPTR,#TAB1 ;将查表地址给数据指针 ACALL YG ;调用子程序

JNB P1.0,ZZ ;在反转中判断是否用正转命令 DJNZ R2,FZ ;判断查表次数

SJMP LOOP ;查表完后,返回重新开始 ZZ:

MOV DPTR,#TAB2 ;将查表地址给数据指针 ACALL YG ;调用子程序

JB P1.0,FZ ;在正转中判断是否有反转命令 DJNZ R2,ZZ ;判断查表次数

SJMP LOOP ;查表完后,返回重新开始 YG:

MOV A,R3 ;将表首地址送给A MOVC A,@A+DPTR ;查表

MOV P2,A ;将查表得到的数值送到P2口 INC R3 ;使指针指向数据表的下一位 JNB P1.1,JIAS ;判断是否有加速命令 JNB P1.2,JIANS ;判断是否有减速命令 SJMP L1 ;跳转到延时程序 JIAS:

DJNZ R1,L1 ;R1自减1,缩短延时时间,达到加速的目的 MOV R1,#01H ;设定最高速 SJMP L1 ;跳转到延时程序 JIANS:

INC R1 ;R1自加1,增加延时时间,达到减速的目的 CJNE R1,#11,L1 ;限定R1值,防止无限的减速 MOV R1,#10 ;设定最低速 L1:

MOV A,R1 ;将R1值送给A MOV R4,A ;将A值送给R4 L2:

MOV R5,#20 ;确定中环次数 L3:

MOV R6,#250 ;确定内循环次数 DJNZ R6,$ ;R6自减延时 DJNZ R5,L3 ;R5自减延时 DJNZ R4,L2 ;R4自减延时 RET ;返回主程序

TAB1:DB 01H,03H,02H,06H,04H,0CH,08H,09H ;正转数据表 TAB2:DB 09H,08H,0CH,04H,06H,02H,03H,01H ;反转数据表 END

程序仿真调试中出现的问题及解决的方法:

在编写好这个程序后进行仿真,步进电机运转正常,能实现正反转,加减速。但步进电机运转的速度在最低速时还是不够慢,改变延时参数后,效果就好多了。

4、步进电机驱动控制电路的制作与调试

(1)程序写入芯片 使用编程器时出现的问题及解决的方法: a、编程器提示波特率太高

更改较低的波特率为9600时,再次下载时就可以了。 b、编译器提示型号不匹配

将单片机上面的型号与软件所选型号对比后,发现我们所使用的单片机为89c52,而下载软件上却是89c51型号。更改后,再下载时就没有问题了。 c、编译器提示COM1端口不存在

在检查计算机端口后,发现USB通信接口是COM3,更改端口为COM3后,程序成功下载。

(2)制作与调试

制作与调试中出现的问题及解决的方法: a: 在检查复位电容时,发现正负极接反。

拆下电容后,正确插装再焊接。但拆焊时要注意不要损坏电路板,重新焊接时烙铁不要接触电路板时间过长。

b: 步进电机的插座管脚和电源的插座管脚比电路板孔要粗。

用镊子将电路板的孔钻大些,插座就能放的进去了。但要注意从电路板的正面钻,以免钻落或钻坏焊盘。

四、实训总结

这个课题是步进电机驱动电路的设计、仿真及制作。涉及了单片机、电子电路设计、电子工艺等方面的知识。它具有很强的综合性,考察了我们综合运用知识的能力。

在老师的指导下,我们从掌握步进电机的工作原理开始,通过运用所学的单片机知识来驱动它,并用软件仿真,最后进行硬件制造并调试成功。从中我们不但了解了步进电机的工作原理,同时也对我们所学的单片机知识进行了巩固,并进一步熟悉了Keil、Proteus软件的使用。在课题的制作中,老师带领我们从最简单的驱动程序开始学习,然后一步步的加深难度,使我们最终能编写出符合要求的程序。这种教学方法提高了我们的学习兴趣,使我们更容易理解和掌握所学的知识,从而提高自己的能力。

通过这个课题设计、仿真及制作,提高了我们专业技能水平,加深了对专业知识的理解,对我们综合运用知识的能力有了进一步的提高。

本文来源:https://www.bwwdw.com/article/vcsm.html

Top