最新单片机课程设计步进电机启动停止正反转.docx

上传人:b****7 文档编号:9816393 上传时间:2023-02-06 格式:DOCX 页数:15 大小:310.59KB
下载 相关 举报
最新单片机课程设计步进电机启动停止正反转.docx_第1页
第1页 / 共15页
最新单片机课程设计步进电机启动停止正反转.docx_第2页
第2页 / 共15页
最新单片机课程设计步进电机启动停止正反转.docx_第3页
第3页 / 共15页
最新单片机课程设计步进电机启动停止正反转.docx_第4页
第4页 / 共15页
最新单片机课程设计步进电机启动停止正反转.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

最新单片机课程设计步进电机启动停止正反转.docx

《最新单片机课程设计步进电机启动停止正反转.docx》由会员分享,可在线阅读,更多相关《最新单片机课程设计步进电机启动停止正反转.docx(15页珍藏版)》请在冰豆网上搜索。

最新单片机课程设计步进电机启动停止正反转.docx

最新单片机课程设计步进电机启动停止正反转

 

单片机课程设计步进电机启动停止正反转

单片机课程设计报告

 

步进电机控制设计

姓名:

黄盛海201030480108

詹志勋201030480125

郑榕生201030480128

班级:

10车辆工程1班

指导老师:

李震姜晟

日期:

2012.6.18~6.20

 

华南农业大学工程学院

摘要:

步进电机是机电控制中一种常用的执行机构,它的用途是将电脉冲转化为角位移,它的的驱动电路根据控制信号工作,控制信号由单片机产生。

本次课程设计主要采用AT89S52芯片,用汇编语言编写出电机的正转、反转、加速、减速、停止程序,通过单片机、电机的驱动芯片ULN2003以及相应的按键实现以上功能,并且步进电机的工作状态要用相应的发光二极管显示出来。

控制系统主要由硬件设计和软件设计两部分组成。

其中,硬件设计包括单片机的最小系统模块、电源模块、控制模块、步进电机ULN2003A驱动模块、彩灯显示模块5个功能模块的设计。

并且通过仿真控制系统对硬件、软件进行了调试和改善,实现了上述功能。

本系统具有智能性、实用性及可靠性的特点。

关键词:

步进电机单片机电脉冲驱动系统汇编语言

 

1、课程设计目的及要求……………………………………4

2、整体系统分析……………………………………………4

3、硬件系统分析……………………………………………6

4、软件系统分析……………………………………………10

5、调试结果…………………………………………………10

6、结论………………………………………………………11

7、参考文献……………………………………………………12

附一:

源程序…………………………………………………12

 

1.课程设计目的及要求

1.1课程设计目的

①增进对单片机的感性认识,加深对单片机理论方面的理解;

②掌握单片机的内部功能模块的应用,如定时器/计数器、中断、存贮器、I/O口、A/D转换等;

③了解和掌握单片机应用系统的软硬件设计过程及实现方法。

1.2课程设计要求

①设计一个步进电机控制器,要求用多个按键控制电机的启动/停止、加速、减速、反转等控制功能;

②用彩灯显示电机的转动状态,如加速就控制彩灯快速闪烁,减速则控制彩灯慢速闪烁等。

2.整体系统分析

2.1步进电机控制工作原理

步进电机实际上是一个数字\角度转换器,也是一个串行的数\模转换器。

步进电机的基本控制包括启停控制、转向控制、速度控制、换向控制4个方面。

从结构上看,步进电机分为三相、四相、五相等类型,本次设计的是四相电机。

四相步进电机的工作方式有单四拍、双四拍和单双八拍3种。

28BYJ-48步进电机:

 

2.1.1步进电机的启停控制

步进电机由于其电气特性,运转时会有步进感,即振动感。

为了使电机转动平滑,减小振动,可在步进电机控制脉冲的上升沿和下降沿采用细分的梯形波,可以减小步进电机的步进角,提高电机运行的平稳性。

在步进电机停转时,为了防止因惯性而使电机轴产生顺滑,则需采用合适的锁定波形,产生锁定磁力矩,锁定步进电机的转轴,使步进电机的转轴不能自由转动。

2.1.2步进电机的转向控制

如果给定工作方式正序换相通电,步进电机正转。

若步进电机的励磁方式为单四拍,即A-B–C-D。

如果按反序通电换相,即则电机就反转。

2.1.3步进电机的速度控制

如果给步进电机发一个控制脉冲,它就转一步,再发一个脉冲,它会再转一步。

2个脉冲的间隔越短,步进电机就转得越快。

调整送给步进电机的脉冲频率,就可以对步进电机进行调速。

2.2系统设计思路

我们本次设计的步进电机控制系统主要有单片机89S52、ULN2003A步进电机驱动芯片、四相永磁式步进电机、LED显示管及其其他相关元件组成。

可以通过开关来控制系统的启/停工作,并通过LED显示管的工作状态显示步进电机的正、反转和前进、后退的状态。

其总体设计框图1所示:

3.硬件系统设计

3.1主要元件简介

3.1.1AT89S52单片机

AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K系统可编程Flash存储器。

AT89S52具有以下标准功能:

8k字节Flash,256字节RAM,32位I/O 口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。

图2.AT89S52引脚图

3.2模块分析

3.2.1时钟晶振电路

时钟电路是整个系统的心脏,控制着步进电机工作节奏。

单片机的时钟信号用来提供单片机片内各种微操作的时间基准,时钟信号通常用两种电路形式得到:

内部振荡和外部振荡。

图4中的外接晶体以及电容C2和C1构成并联谐振电路,它们起稳定振荡频率、快速起振的作用,其值均为30PF左右,晶振频率选12MHz。

图4时钟电路

3.2.2复位电路

单片机的复位是靠外电路来实现的,在正常运行情况下,只要RST引脚上出现两个机器周期时间以上的高电平,即可引起系统复位,但如果RST引脚上持续为高电平,单片机就处于循环复位状态。

复位操作有两种情况,即上电复位和手动(开关)复位。

本系统采用上电复位方式。

图5复位电路

3.2.3步进电机驱动电路

本设计采用ULN2003A芯片。

ULN2003的每一对达林顿都串联一个2.7K的基极电阻,在5V的工作电压下它能与TTL和CMOS电路直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据。

其中1B、2B、3B、4B分别与P0.0、P0.1、P0.2、P0.3相接

图6电机驱动电路

3.2.4显示电路

由于系统显示的内容比较简单,所以显示选用发光二级管既方便又经济。

当步进电机开始工作的时候,发光二极管发光;当步进电机不工作时,发光二极管不发光;当步进电机加速运行时,发光二级管快速闪烁;当步进电减速运行时,发光二极管减速闪烁。

图7显示电路

3.2.5系统总电路

综合以上各模块,可得到总电路图:

图8电路总体仿真图

4.软件系统设计

程序编写程序流程图:

(源程序见附录)

 

0是

 

 

5.调试结果

连接并检查完基本线路后,我们将程序烧写到芯片上,但是开始我们设计的程序却烧写不上,我们以为是我们的开发板出现了问题,但检查后开发板没问题,之后才知道我们用的芯片烧写器不行,换了个烧写器后程序便能够正确烧写进去了。

然后就按下各个开关按键进行测试,最后电机和显示器都基本上按照设计要求工作了。

6.总结

本次单片机课程设计可谓是困难重重,在设计制作的过程中确实遇到了很多问题,但是通过我们组员的共同努力最终得到了解决了。

其中最大的一个问题就是软件程序的编写,在我们确定设计方案后,就开始用汇编语言编写程序了,在我们开始自己编写之前,通过网络查阅了一些相关的资料,也参考了一些其他成功的程序。

但在我们编好之后,在进行计算机仿真测试的时候,总是不成功,不是电源通不上电,就是电机的转动状态不受控制,不能实现加速、减速、正反转等问题,于是就对程序进行一次又一次的修改,但最终还是没有成功,可能是由于我们是学机械专业的,对编程序这些电子类的知识有所欠缺,在实际操作起来确实有些难度。

最后,我们只好向电信专业的同学寻求指导帮助。

通过虚心请教之后,我们的问题得到了解决,同时通过交流也学到了很多。

通过本次课程设计,我们深深体会到了理论知识学习的重要性,如果没有扎实的理论知识作为奠基,那么在今后的实践运用中就像是无头之蝇,没有一点头绪,不知从何入手,最终只能求助于他人,被动地进行工作。

不管对以后的工作还是学习都起不到积极的促进作用。

在本次课程设计活动中,我们团队也体会到了分工协作的重要性,黄盛海、郑榕生主要负责写程序、调试,詹志勋负责撰写设计报告,每个组员分工明确,遇到个人难以解决的问题就一起商量讨论,极大的提高了工作效率。

这点是值得我们在今后的工作和学习中好好运用的。

7.参考文献

[1].王卫星,邓小玲,代芬等.单片机原理与应用开发技术.中国水利水电出版社.2009.

 

附一:

源程序

ORG00H

START:

MOVDPTR,#TAB1

MOVR0,#03H

MOVR1,#4H

MOVR4,#00H

MOVP0,#03H

WAIT:

MOVP0,R0

MOVP0,#0FFH

JNBP3.4,TIZ;P3.4有停止键按下时,跳到停止子程序

JNBP3.0,ZHENG;P3.0有启动正转键按下时,跳到停止子程序

JNBP3.1,FAN

SJMPWAIT

ZHENG:

;正转子程序

MOVA,R4

MOVCA,@A+DPTR

ACALLDELAY

INCR4

AJMPKEY

FAN:

;反转子程序

MOVR4,#6

MOVA,R4

MOVCA,@A+DPTR

MOVP3,A;

ACALLDELAY

AJMPKEY

KEY:

MOVP3,#0FFH;KEY检测,赋初值

JBP3.4,ZZ1

AJMPTIZ

TIZ:

MOVP0,#00H;停止子程序

AJMPKEY

ZZ1:

JBP3.0,FZ1;正转按键检测,有键按下转到FZI

CJNER4,#8,LOOPZ;循环次数是否为8,为8则清0

MOVR4,#0

LOOPZ:

MOVA,R4;读电机状态显示

MOVCA,@A+DPTR

MOVP0,A;赋给P0,显示1为正转,2为反转,3为加速,4为减速

SETBP1.1;赋高电平,关闭反向状态灯

CPLP1.0;开正转状态灯

JNBP3.2,JIASUZ;加速子程序

JNBP3.3,JIANSUZ;减速子程序

ACALLDELAY

INCR4

AJMPKEY

FZ1:

JBP3.1,KEY

CJNER4,#255,LOOPF

MOVR4,#8

LOOPF:

DECR4

MOVA,R4

MOVCA,@A+DPTR;读脉冲

MOVP0,A;给步进电机输入脉冲

SETBP1.0

CPLP1.1

JNBP3.2,JIASUF;加速按键检测

JNBP3.3,JIANSUF;减速按键检测

ACALLDELAY

AJMPKEY;跳转到KEY检测子程序

DELAY:

MOVA,R1;延时子程序

MOVR6,A

DELAY2:

MOVR5,#6H

DD2:

MOVR7,#0

DD3:

DJNZR7,DD3

DJNZR5,DD2

DJNZR6,DELAY2

RET

DELAY1:

MOVR6,#20H

DD4:

MOVR5,#02H

DD5:

MOVR7,#0

DD6:

DJNZR7,DD6

DJNZR5,DD5

DJNZR6,DD4

RET

JIASUZ:

;加速的按键检测

ACALLDELAY1

CJNER1,#02,L1

JMPL2

L1:

DECR1

L2:

JMPLOOPZ

JIANSUZ:

;减速的按键检测

ACALLDELAY1

CJNER1,#08H,L3

JMPL4

L3:

INCR1

L4:

JMPLOOPZ;返回LOOPZ,循环

JIASUF:

;加速子程序

ACALLDELAY1

CJNER1,#02H,L5

JMPL6

L5:

DECR1

L6:

JMPLOOPF

JIANSUF:

;减速子程序

ACALLDELAY1

CJNER1,#08H,L7

JMPL8

L7:

INCR1

L8:

JMPLOOPF

TAB1:

DB02H,06H,04H,0CH

DB08H,09H,01H,03H

END

 

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

当前位置:首页 > 工程科技 > 交通运输

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

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