1、单片机课程设计报告步进电机控制设计姓名: 黄盛海 201030480108 詹志勋 201030480125 郑榕生 201030480128 班级: 10 车辆工程 1 班 指导老师: 李震 姜晟 日期: 2012.6.186.20 华南农业大学工程学院1摘要:步进电机是机电控制中一种常用的执行机构,它的用途是将电脉冲转化为角位移,它的的驱动电路根据控制信号工作,控制信号由单片机产生。本次课程设计主要采用 AT89S52 芯片,用汇编语言编写出电机的正转、反转、加速、减速、停止程序,通过单片机、电机的驱动芯片 ULN2003 以及相应的按键实现以上功能,并且步进电机的工作状态要用相应的发光二
2、极管显示出来。控制系统主要由硬件设计和软件设计两部分组成。其中,硬件设计包括单片机的最小系统模块、电源模块、控制模块、步进电机 ULN2003A 驱动模块、彩灯显示模块5 个功能模块的设计。并且通过仿真控制系统对硬件、软件进行了调试和改善,实现了上述功能。本系统具有智能性、实用性及可靠性的特点。关键词:步进电机 单片机 电脉冲 驱动系统 汇编语言 2目录1、课程设计目的及要求42、整体系统分析43、硬件系统分析64、软件系统分析105、调试结果106、结论117、参考文献12附一:源程序1231. 课程设计目的及要求1.1 课程设计目的增进对单片机的感性认识,加深对单片机理论方面的理解;掌握单
3、片机的内部功能模块的应用,如定时器/计数器、中断、存贮器、I/O 口、A/D 转换等;了解和掌握单片机应用系统的软硬件设计过程及实现方法。1.2 课程设计要求设计一个步进电机控制器,要求用多个按键控制电机的启动/停止、加速、减速、反转等控制功能;用彩灯显示电机的转动状态,如加速就控制彩灯快速闪烁,减速则控制彩灯慢速闪烁等。2. 整体系统分析2.1 步进电机控制工作原理步进电机实际上是一个数字角度转换器,也是一个串行的数模转换器。步进电机的基本控制包括启停控制、转向控制、速度控制、换向控制 4 个方面。从结构上看 ,步进电机分为三相、四相、五相等类型 ,本次设计的是四相电机。四相步进电机的工作方
4、式有单四拍、双四拍和单双八拍 3 种 。428BYJ-48步进电机:2.1.1 步进电机的启停控制步进电机由于其电气特性,运转时会有步进感 ,即振动感。为了使电机转动平滑 ,减小振动 ,可在步进电机控制脉冲的上升沿和下降沿采用细分的梯形波 ,可以减小步进电机的步进角 ,提高电机运行的平稳性。在步进电机停转时 ,为了防止因惯性而使电机轴产生顺滑 ,则需采用合适的锁定波形 ,产生锁定磁力矩 ,锁定步进电机的转轴 ,使步进电机的转轴不能自由转动。 2.1.2 步进电机的转向控制如果给定工作方式正序换相通电 ,步进电机正转。若步进电机的励磁方式为单四拍,即 A -B C - D。如果按反序通电换相,即
5、则电机就反转。2.1.3 步进电机的速度控制如果给步进电机发一个控制脉冲 ,它就转一步 ,再发一个脉冲 ,它会再转一步。2 个脉冲的间隔越短 ,步进电机就转得越快。调整送给步进电机的脉冲频率 ,就可以对步进电机进行调速。52.2 系统设计思路我们本次设计的步进电机控制系统主要有单片机89S52、ULN2003A 步进电机驱动芯片、四相永磁式步进电机、LED 显示管及其其他相关元件组成。可以通过开关来控制系统的启/停工作,并通过 LED 显示管的工作状态显示步进电机的正、反转和前进、后退的状态。其总体设计框图 1 所示:3. 硬件系统设计3.1 主要元件简介3.1.1 AT89S52 单片机AT
6、89S52 是一种低功耗、高性能 CMOS 8 位微控制器,具有 8K系统可编程 Flash 存储器。AT89S52 具有以下标准功能:8k 字节Flash,256 字节 RAM,32 位 I/O 口线,看门狗定时器,2 个数据指针,三个 16 位定时器/计数器,一个 6 向量 2 级中断结构,全双工串行口,片内晶振及时钟电路。6图 2. AT89S52 引脚图3.2 模块分析3.2.1 时钟晶振电路时钟电路是整个系统的心脏,控制着步进电机工作节奏。单片机的时钟信号用来提供单片机片内各种微操作的时间基准,时钟信号通常用两种电路形式得到:内部振荡和外部振荡。 图 4 中的外接晶体以及电容 C2
7、和 C1 构成并联谐振电路,它们起稳定振荡频率、快速起振的作用,其值均为 30PF 左右,晶振频率选 12MHz。 图 4 时钟电路3.2.2 复位电路单片机的复位是靠外电路来实现的,在正常运行情况下,只要RST 引脚上出现两个机器周期时间以上的高电平,即可引起系统复7位,但如果 RST 引脚上持续为高电平,单片机就处于循环复位状态。复位操作有两种情况,即上电复位和手动(开关)复位。本系统采用上电复位方式。图 5 复位电路3.2.3 步进电机驱动电路本设计采用 ULN2003A 芯片。ULN2003 的每一对达林顿都串联一个 2.7K 的基极电阻,在 5V 的工作电压下它能与 TTL 和 CM
8、OS 电路直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据。其中 1B、2B、3B、4B 分别与 P0.0、P0.1、P0.2、P0.3 相接图 6 电机驱动电路3.2.4 显示电路由于系统显示的内容比较简单,所以显示选用发光二级管既方便又经济。当步进电机开始工作的时候,发光二极管发光;当步进电机不工作时,发光二极管不发光;当步进电机加速运行时,发光8二级管快速闪烁;当步进电减速运行时,发光二极管减速闪烁。图 7 显示电路3.2.5 系统总电路综合以上各模块,可得到总电路图:图 8 电路总体仿真图94软件系统设计程序编写程序流程图:(源程序见附录)否是 否0 是开始分配地址空间电机停转状态设置 T0,T1 工作方式,T0,T1 置初值开中断启动T0调用键盘程序有键按下键盘处理程序起、停标志位启动 T1T1 中断入口定时时间到电机驱动程序中断返回停止 T1中断等待定时时间到T0 中断入口显示程序中断返回