单片机课程设计报告

发布 2022-10-06 08:17:28 阅读 8205

步进电机控制设计。

日期: 2012.6.18-6.21

目录。1、概要。

2、课程设计目的及要求。

3、整体系统分析。

4、硬件系统分析。

5、软件系统分析。

6、调试结果。

7、结论。附一:元器件清单。

附二:源程序。

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

本次课程设计主要采用at89s52芯片,用汇编语言编写出电机的正转、反转、加速、减速、停止程序,通过单片机、电机的驱动芯片uln2004以及相应的按键实现以上功能,并且步进电机的工作状态要用相应的发光二极管显示出来。控制系统主要由硬件设计和软件设计两部分组成。其中,硬件设计包括单片机的最小系统模块、电源模块、控制模块、步进电机uln2003a驱动模块、彩灯显示模块5个功能模块的设计。

并且通过**控制系统对硬件、软件进行了调试和改善,实现了上述功能。本系统具有智能性、实用性及可靠性的特点。

2. 课程设计目的及要求。

2.1 课程设计目的。

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

掌握单片机的内部功能模块的应用,如定时器计数器、中断、存贮器、io口、ad转换等;

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

2.2 课程设计要求。

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

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

3. 整体系统分析。

3.1步进电机控制工作原理。

步进电机实际上是一个数字\角度转换器,也是一个串行的数\模转换器。步进电机的基本控制包括启停控制、转向控制、速度控制、换向控制4 个方面。从结构上看 ,步进电机分为三相、四相、五相等类型 ,本次设计的是四相电机。

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

3.1.1步进电机的启停控制。

步进电机由于其电气特性,运转时会有步进感 ,即振动感。为了使电机转动平滑 ,减小振动 ,可在步进电机控制脉冲的上升沿和下降沿采用细分的梯形波 ,可以减小步进电机的步进角 ,提高电机运行的平稳性。在步进电机停转时 ,为了防止因惯性而使电机轴产生顺滑 ,则需采用合适的锁定波形 ,产生锁定磁力矩 ,锁定步进电机的转轴 ,使步进电机的转轴不能自由转动。

3.1.2步进电机的转向控制。

如果给定工作方式正序换相通电 ,步进电机正转。若步进电机的励磁方式为单四拍,即 a -b –c - d。如果按反序通电换相 ,即则电机就反转。

3.1.3步进电机的速度控制。

如果给步进电机发一个控制脉冲 ,它就转一步 ,再发一个脉冲 ,它会再转一步。2 个脉冲的间隔越短 ,步进电机就转得越快。调整送给步进电机的脉冲频率 ,就可以对步进电机进行调速。

3.1.4步进电机的换向控制。

步进电机换向时 ,一定要在电机减速停止或降到突跳频率范围之内再换向 ,以免产生较大的冲击而损坏电机。换向信号一定要在前一个方向的最后一个脉冲结束后以及下一个方向的第1 个脉冲前发出。对于脉冲的设计主要要求要有一定的脉冲宽度(一般不小于5μs)、脉冲序列的均匀度及高低电平方式。

在某一高速下的正、反向切换实质包含了减速→换向→加速3 个过程。

3.2系统设计思路。

我们本次设计的步进电机控制系统主要有单片机89s52、uln2003a步进电机驱动芯片、四相永磁式步进电机、led显示管及其其他相关元件组成。可以通过开关来控制系统的启停工作,并通过led显示管的工作状态显示步进电机的正、反转和前进、后退的状态。其总体设计框图1所示:

图1 系统设计框图。

4. 硬件系统设计。

4.1主要元件简介。

4.1.1 at89s52单片机。

at89s52是一种低功耗、高性能cmos 8位微控制器,具有8k系统可编程flash存储器。使用atmel公司高密度非易失性存储器技术制造,与工业80c51产品指令和引脚完全兼容。片上flash允许程序存储器在系统可编程,亦适于常规编程器。

在单芯片上,拥有灵巧的8位cpu和在系统可编程flash,使得at89s52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。at89s52具有以下标准功能:8k字节flash,节ram,32位io口线,看门狗定时器,2个数据指针,三个16位定时器计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。

另外,at89s52可降至0hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,cpu在掉电保护方式下,ram内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。

图2. at89s52引脚图。

4.1.2 uln2003a驱动芯片。

uln2003 是高耐压、大电流、内部由七个硅npn 达林顿管组成的驱动芯片。uln2003 的每一对达林顿都串联一个2.7k 的基极电阻,在5v 的工作电压下它能与ttl 和cmos 电路直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据。

uln2003 工作电压高,工作电流大,灌电流可达500ma,并且能够在关态时承受 50v 的电压,输出还可以在高负载电流并行运行。

图 3. uln2003a引脚图。

4.2模块分析。

4.2.1 时钟晶振电路。

时钟电路是整个系统的心脏,控制着步进电机工作节奏。单片机的时钟信号用来提供单片机片内各种微操作的时间基准,时钟信号通常用两种电路形式得到:内部振荡和外部振荡。

89s52单片机内部有一个用于构成振荡器的高增益反向放大器,引脚xtall和xtal2分别是此放大电器的输入端和输出端,由于采用内部方式时,电路简单,所得的时钟信号比较稳定,实际使用中常采用这种方式。 图4中的外接晶体以及电容c2和c1构成并联谐振电路,它们起稳定振荡频率、快速起振的作用,其值均为30pf左右,晶振频率选12mhz。

图4 时钟电路。

4.2.2 复位电路。

为了初始化单片机内部的某些特殊功能寄存器,必须采用复位的方式,复位后可使cpu及系统各部件处于确定的初始状态,并从初始状态开始正常工作。单片机的复位是靠外电路来实现的,在正常运**况下,只要rst引脚上出现两个机器周期时间以上的高电平,即可引起系统复位,但如果rst引脚上持续为高电平,单片机就处于循环复位状态。复位后系统将输入输出(10)端口寄存器置为ffh,堆栈指针sp置为07h, sbuf内置为不定值,其余的寄存器全部清0,内部ram的状态不受复位的影响,在系统上电时ram的内容是不定的。

复位操作有两种情况,即上电复位和手动(开关)复位。本系统采用上电复位方式。

图5 复位电路。

4.2.3 步进电机驱动电路。

本设计采用uln2003a芯片。uln2003 是高耐压、大电流、内部由七个硅npn 达林顿管组成的驱动芯片。uln2003 的每一对达林顿都串联一个2.

7k 的基极电阻,在5v 的工作电压下它能与ttl 和cmos 电路直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据。uln2003a 工作电压高,工作电流大,灌电流可达500ma,并且能够在关态时承受 50v 的电压,输出还可以在高负载电流并行运行。

其中1b、2b、3b、4b分别与p1.0、p1.1、p1.2、p1.3相接。

图6 电机驱动电路。

4.2.4 显示电路。

由于系统显示的内容比较简单,所以显示选用发光二级管既方便又经济。当步进电机开始工作的时候,发光二极管发光;当步进电机不工作时,发光二极管不发光;当步进电机加速运行时,发光二级管快速闪烁;当步进电减速运行时,发光二极管减速闪烁。

图7 显示电路。

4.2.5 系统总电路。

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

图8 电路总体**图。

5.软件系统设计。

按硬件图连接好电路以后,开始用汇编语言写程序,并运行程序,程序编写程序流程图:(源程序见附录)否。是

否。0是。

主程序流程图。否。是。

是否。是否。否。是。

否是。是否。

否。键盘处理程序流程图。

6.调试结果。

完成焊接任务后,接着就要对系统进行调试了。

连接并检查完基本线路后,我们将程序烧写到芯片上,但是开始我们设计的程序却烧写不上,我们以为是我们焊接的电路出现了问题,但检查后电路没问题,之后才知道我们用的芯片烧写器不行,换了个烧写器后程序便能够正确烧写进去了。然后就按下各个开关按键进行测试,最后电机和显示器都基本上按照设计要求工作了。最后的调试之所以能够如此顺利,与我们之前遇到的一系列问题和我们组员的辛勤付出是密不可分,最终电机能按要求转起来了就是对我们最好的鼓励!

7.总结。本次单片机课程设计可谓是困难重重,在设计制作的过程中确实遇到了很多问题,有的通过我们组员的努力最终解决了,有的最后没有解决。

其中最大的一个问题就是软件程序的编写,在我们确定设计方案后,就开始用汇编语言编写程序了,在我们开始自己编写之前,通过网络查阅了一些相关的资料,也参考了一些其他成功的程序。但在我们编好之后,在进行计算机**测试的时候,总是不成功,不是电源通不上电,就是电机的转动状态不受控制,不能实现加速、减速、正反转等问题,最后,我们只好寻找指导老师寻求指导帮助。在这一点上我们没有做成功,心中难免有些许遗憾。

其中遇到的另一个问题就是我们在进行调试时,程序不能烧写到芯片上,不过通过我们用排除法一步步排查后发现是由于烧写器功能的缺失,并不是硬件和软件问题,换了个烧写器后问题也就迎刃而解了。

通过本次课程设计,我们深深体会到了理论知识学习的重要性,如果没有扎实的理论知识作为奠基,那么在今后的实践运用中就像是无头之蝇,没有一点头绪,不知从何入手,最终只能求助于他人,被动地进行工作。不管对以后的工作还是学习都起不到积极的促进作用。在本次课程设计活动中,我们团队也体会到了分工协作的重要性,主要负责写程序,焊接电路,负责撰写设计报告,每个组员分工明确,遇到个人难以解决的问题就一起商量讨论,组员之间既独立又不失联系协作,极大的提高了工作效率。

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

附一: 元器件清单。

附二:源程序。

org 00h

start: mov dptr , #tab1

mov r0, #03h

mov r1 , #4h

mov r4, #00h

mov p1, #03h

wait: mov p1 , r0

mov p0, #0ffh

jnb p0.4,tiz

jnb p0.0,pos

jnb p0.1,neg

sjmp wait

pos : mov a,r4

movc +dptr

acall delay

inc r4

ajmp key

neg: mov r4,#

mov a,r4

movc +dptr

mov p1,a

acall delay

ajmp key

key: mov p0,#0ffh

jb p0.4,zz1

ajmp tiz

tiz: mov p1,#00h

setb p0.5

setb p0.6

ajmp key

zz1: jb p0.0,fz1

cjne r4,#8,loopz

mov r4,#

loopz: mov a,r4

movc +dptr

mov p1,a

setb p2.1

cpl p2.0

jnb p0.2,jiasuz

jnb p0.3,jiansuz

acall delay

inc r4

ajmp key

fz1:jb p0.1,key

cjne r4,#255,loopf

mov r4,#

loopf: dec r4

mov a,r4

movc +dptr

单片机课程设计报告

单片机系统课程设计报告。专业 电气技术。学生姓名 朱海李威张杰。学号。指导教师 陈高燕。完成日期 2014 年 7 月 5 日。目录。1 设计任务和性能指标 1 1.1设计任务 1 2 设计方案 1 2.1方案论证 2 2.2总体设计框图 2 3 系统硬件设计 4 3.1红外线解码电路设计 4 3....

单片机课程设计报告

韶关学院。课程设计说明书 设计题目 基于单片机控制的智能交通灯设计。课程名称 微机原理与应用实训。学生姓名 学号。院系 物理与机电工程学院汽车系。专业班级 12机械制造及其自动化 5班。指导教师姓名及职称 谢杰讲师。陈锦儒助理实验师。起止时间 2015 年 3 月 2015 年 5 月。课程设计评分...

单片机课程设计报告

南京工程学院。课程设计说明书 题目实时钟芯片pcf8563的应用 课程名称单片机原理及应用a 院 系 部 中心 通信工程学院。专业电子信息工程 传感网 班级。学生姓名。学号。设计地点信息楼 c 210 指导教师。设计起止时间 2013年12月23日至 2013年12月27日。一 摘要1 二 课程设计...