您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > 基于AT89C51控制步进电机设计
XXXX本科生课程设计《单片机原理及应用》课程设计设计题目:基于AT89C51控制步进电机系统专业:电子信息科学与技术班级:2011级(1)班学生姓名:XXXXX学号:XXXXX指导教师:XXXXXXX2013年12月基于AT89C51控制步进电机系统XXXX(XXXXX电子信息工程学院,XXXXXXXXX)摘要:步进电机是数字控制系统中的一种执行元件,它能按照控制脉冲的要求,迅速起动,制动,正反转和调速。具有步距角精度高,停止时能自锁等特点,因此步进电机在自动控制系统中,特别是在开环的控制系统中得到了日益广泛的应用。本文介绍了一种基于单片机步进电机控制系统的软硬件设计。本设计能实现出步进电机的正转,反转,加速,减速,停止,以及步进电机的驱动方式控制的切换等功能。系统采用定时器中断的方式实现对步进电机加减速的控制,使用查表法来实现步进电机的正反转和驱动方式的控制。系统通过电机驱动芯片ULN2003来驱动小型步进电机,并采用多级菜单对步进电机信息进行显示。该系统具有控制方便、结构简单、界面友好、价格便宜和系统运行稳定等优点,具有一定的应用价值。关键词:步进电机控制系统;调速;AT89C51一、设计目的步进电机是现代数字控制技术中最早出现的执行部件,步进电机是将电脉冲信号转变为角位移或线位移的开环控制元步进电机件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度,称为“步距角”,它的旋转是以固定的角度一步一步运行的。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。需要单片机产生脉冲序列和方向控制控制信号。步进电机的特点是可以将数字脉冲控制信号直接转换为一定数值的机械角位移.并且能够自动产生定位转矩使转轴锁定。对控制系统的研制中最基本的要求就是性能可靠和结构简单。利用AT89C51单片机来设计和开发步进电机的控制系统,可以很好地满足这一要求。驱动程序写入AT89C51单片机中,通过程序控制步进电机的转速与转向。实现软件与硬件相结合的控制方法,使步进电机运行稳定、可靠性高,达到对步进电机的最佳控制。二、设计任务与要求1、能用按键控制步进电机的正反装运行。2、能在一定范围内控制电机的加速和减速。3、在不断电的情况下能通过一个按钮能随时控制电机的停止。4、能显示电机当前的运行情况。三、设计思路与方案对步进电动机的控制,接口采用软件方法控制步进电动机的旋转。步进电动机的驱动电路由ULN2003A芯片实现,并通过89C51芯片的P3.4~P3.7端口引脚出发,然后通过74LS14反相芯片,再到ULN2003A芯片再驱动电动机。操作部分共分为七个操作按钮:选频、正转、反转、停止、启动、加速、减速。其中正反转通过接入步进电机绕组的不同相序来实现。加速、减速是通过延时时间的改变调整输入电机绕组的频率实现。停止按钮则保证随时可以在不断电源情况下暂停。七个操作按键分别通过89C51芯片的P1.0~P1.4口读取选频(K1)、正/反转控制信号(K2)、启/停(K5)以及加速/减速控制(K3、K4)的值。对步进电机简易控制系统的设计,其具体情况可以根据任务要求从以下几个方面来考虑:1、控制电机正/反向转步进电动机某一项绕组通电时,在其内部形成N-S极,产生磁场,在磁场的作用下,转子将会转动,步进一步。若步进电动机按顺序给绕组通电,步进电动机将沿顺时针方向转动。若步进电动机按逆序给绕组通电,则步进电动机将沿逆时针方向转动。因而只要控制脉冲输出的顺序,就可实现对步进电动机正/反转的控制。2、控制电机运转速度步进电动机运转的速度是由输入到电机绕组的频率所决定的。频率越高,电动机运转的速度越快,否则,速度就越慢。因而通过延时程序控制输出脉冲的频率,就可以实现对步进电动机转速的控制。3、系统整体框图整个系统包含5个模块:单片机模块、按键输入模块、电源模块、步进电机模块、12864显示模块。相互协调关系如图1所示:图1系统框图四、各模块分析与设计1、单片机电源电路设计电源是单片机正常工作不可缺少的一部分,所以必须保证其工作电压稳定。单片机采用5V供电,所以系统采用LM7805三端稳压管保证其电压稳定。外部输入电压VCC(6~24V)经由稳压管稳压为+5V。5V电压网络将供给各个芯片、模块以及步进电机工作,电路原理图如图2所示:图2电源稳压电路电容C1,C3为输入滤波电容,C2,C4为输出滤波电容。C3,C4为高频滤波,C1,C2为低频滤波。2、单片机复位电路设计单片机复位就是在满足单片机最小系统其他工作条件下,让RST管脚保持高电平(通常0.7Vcc以上电压)维持至少两个机器时钟,以引导单片机复位,之后RST管脚恢复为低电平。手动复位:按键短接RST和电源。通过对复位要求的分析,对系统的复位电路设计如图3所示:AT89C51按键输入电源电路、复位电路、晶振电路、LCD显示电路ULN2003驱动电路步进电机电路图3复位电路3、单片机晶振电路设计8051单片机的时钟信号通常用两种电路形式电路得到:内部震荡方式和外部中断方式。在引脚XTAL1和XTAL2外部接晶振电路器(简称晶振)或陶瓷晶振器,就构成了内部晶振方式。由于单片机内部有一个高增益反相放大器,当外接晶振后,就构成了自激振荡器并产生振荡时钟脉冲。内部振荡方式的外部电路如图4所示。其电容值一般在5~30pf,晶振频率的典型值为12MHz,采用6MHz的情况也比较多。内部振荡方式所得的时钟信号比较稳定,实用电路实用较多。本系统采用的是内部震荡式,晶振采用12MHz。若系统要求串口通信之类的功能,则晶振选取应根据通信的波特率选取,以使得波特率正常。图4晶振电路4、步进电机驱动电路由于单片机各个IO电流驱动能力有限(20MA左右),而步进电机消耗的电流较大,因此必须设计驱动电路使得其正常工作。本系统步进电机驱动采用ULN2003达林顿管驱动。ULN2003A电路是美国TexasInstruments公司和Sprague公司开发的高压大电流达林顿晶体管阵列电路。ULN2003结构图如图6电压为反向输出。驱动电流达500MA,可承受电压50V。ULN2003达林顿管阵列与三极管类似,基极高电平导通,而单片机开机后就输出高电平,容易误动作,因此习惯上设定为低电平有效,所以在单片机与ULN2003之间加了一级反相器(74LS14,如图5所示)。单片机P3.4,P3.5,P3.6,P3.7输出脉冲经74LS14后通过ULN2003反向后输出到步进电机A.B.C.D相。图5反相电路图6步进电机电路5、按键电路设计在系统中,采用了液晶显示加菜单的控制方法,需要操作人员通过按键操作系统菜单实现对控制系统的控制,因为按键数量不多故系统采用的是传统的独立基于单片机步进电机控制系统的设计式按键,共五个按键,分别实现选项、正/反转、加、减、启动、停止操作。配合液晶显示器实现,从而有较好的人机交互界面。按键电路图如图7、8所示:图7与门电路图8按键电路6、LCD12864显示电路设计本设计拟采用青云公司生产的LCM128645ZK系列液晶模组中文液晶显示模块LCMxxZK的字型ROM内含8192个16*16点中文字型和128个16*8半宽的字母符号字型;另外绘图显示画面提供一个64*256点的绘图区域GDRAM);而且内含CGRAM提供4组软件可编程的16*16点阵造字功能。电源操作范围宽(2.7Vto5.5V);低功耗设计可满足产品的省电要求。同时,与单片机等微控器的接口界面灵活(三种模式:并行8位/4位,串行3线/2线)。液晶模块与单片机的接口电路如图9所示,出于控制功耗考虑,因此,在背光控制端加三极管作为开关控制,在系统待机时背光关闭,可以减小功耗。图9LCD显示电路五、软件设计主程序的源程序见附录二源程序清单表,主程序设计流程图如下图10所示:图10主程序流程图开始初始化个人信息加载清屏进入主菜单是否有按键按下调整界面显示参数是否进入修改界面修改电机控制参数界面显示结束YesNoNoYes六、系统仿真与调试1、KEIL调试控制程序调试程序具体步骤如下:(1)打开Keil编译软件。(2)新建一个项目,在项目里进行设置,转换成HEX文件。(3)将刚写好的C语言程序添加进去。(4)点击编译生成后缀名为“.HEX”的文件。2、Proteus仿真打开Proteus上的单片机控制步进电机电路图,点击AT89C51单片机,调用后缀名为.”HEX”的文件。点击运行,观察现象。当按下Proteus软件上的开始按钮时,电机不转动。其显示如图11所示,3秒后就跳至主菜单界面,如图12所示:图11Proteus启动时界面1图12Proteus启动时界面2当按下启动/停止按钮时,电机则默认正向转动,电机转动一段时间后的显示图如图13所示:图13启动默认转动当按下选项、正/反、加、减速按钮时,电机则出现不同的转动,电机转动一段时间后的显示图如图14所示:图14各按键的调试七、电路的焊接与调试在焊接电路图的过程中应当注意依照电路图一一连接,我们遇到的最大的难点就是对照原理图对实物图线路的布置,为了使线路交叉更少,不断的用铅笔在面包板上勾画.我们每连接好一条电路都有用万用表测电路是否连接好,有没有导通,有没有短路。当按下电源开关时,电机不转动。其显示如图15所示,3秒后就跳至主菜单界面,如图16所示:图15个人信息界面图16启动界面当按下启动/停止按钮并调节各设备时,电机则转动,电机转动一段时间后的显示图如图17所示:图17电机转动实物八、设计总结本设计通过分析步进电机结构、工作原理,查阅步进电机控制系统的相关科技文献,遵循实用、简单、可靠和低成本的原则,设计了一种基于人机显示界面的步进电机控制系统。(1)采用单片机为控制核心,利用其强大的功能,把键盘和显示电路有机的结合起来,组成一个操作方便、交互性强的控制系统。而且整个系统所包含的技术几乎包括了现本科学校控制专业所要求的知识,有利于实践教学取得最大效果。(2)按键电路和红外接口为用户提供多种控制方式方便使用。(3)系统软件采用结构化设计,具有易维护性,根据用户新的要求,对软件系统进行少量的修改,使系统功能得到一定程度的提高。随着技术的不断发展,步进电机的控制应用前景将越来越宽阔,而其控制系统也将向着智能化和网络化的方向发展。本论文的研究和探讨还远远不够,我们要在现在的基础上,不断吸取新的技术和方法,并将它们应用于本课题的研究上来,进一步深化我们的研究深度,争取有更多的收获。参考文献:[1]实用电子电路手册[M]北京:高等教育出版社1992[2]王鸿钰.步进电机控制入门[M].上海:同济大学出版社,1990.[3]李夙.异步电动机直接转矩控制[M].北京:机械工业出版社,1998.[4]张家生.电机原理与拖动基础[M].北京:北京邮电大学出版社,2006.[5]丁向荣.单片微机原理与接口技术[M].北京:电子工业出版社,2012[6]张佳.基于MCU的液晶LCD显示电路设计[J].天津渤海职业技术学院,2009(4):5-6[9]张明.步进电机的基本原理[J].机械与电子,天津工业大学计算机学院自动化,2007.[10]黄楚芳,陈鸿.步进电机加减速控制器的设计[J].山西电子技术,中北大学,2009.附录附件A:系统原理图附件B:源程序
本文标题:基于AT89C51控制步进电机设计
链接地址:https://www.777doc.com/doc-4752785 .html