1、基于单片机控制的步进电机控制器基于单片机控制的步进电机控制器一设计要求(一)基本功能1实现步进电机的正反转控制2实现步进电机的加速控制3实现步进电机的减速控制 如过载保护、欠压保护、短路保护和防飞车等功能。(二)扩展功能任意设定一点为圆心,实现一个直径为10cm的圆形轨迹运动。二计划完成时间 三周1第一周完成软件和硬件的整体设计,同时按要求上交设计报告一份。2第二周完成软件的具体设计和硬件的制作。3第三周完成软件和硬件的联合调试目录1 引言12 总体设计方案12.1 设计思路12.1.1 方案112.1.2 方案212.2 设计方框图13 设计原理分析23.1 步进电机23.2 步进电机驱动电
2、路以及状态显示电路设计23.3 键盘电路设计33.4 时钟振荡电路和复位电路设计33.5 正反转、加速、减速标志电路设计43.6 步进电机时序表和时序图44 结束语5参考文献5附录6基于单片机控制的步进电机控制器班级:应教053班 姓名:董保全摘要:本设计采用AT89S51单片机实现对步进电机的控制。通过单片机的I/O来实现对步进电机的控制,用uln2003来驱动步进电机,并且使用了发光二极管LED来显示步进电机的转速,在单片机的P1口使用四个LED来作为正反转,加速减速控制的标志。用独立连接式非编码键盘来对电机的状态进行控制。关键词:步进电机 单片机 AT89S51 发光二极管引言 步进电机
3、是一种将电脉冲信号变换成相应的角位移或直线位移的机电执行元件。控制步进电机的输入脉冲数量、频率及电机各项绕组的接通顺序,可以得到各种需要的运行特性。尤其与数字设备配套时,体现了更大的优越性,因此广泛应用于数字控制系统中。 本文介绍已实现的单片机对步进电机的数字控制系统。该控制系统中,控制器担负着产生脉冲以及发送、接受控制命令的任务。本设计对步进电机的驱动电路,显示电路以及键盘控制电路做了详细的介绍。1. 总体设计方案2.1设计思路2.1.1 方案一:使用发光二极管来显示步进电机的转速以及正反转、加减速为了能看清步进电机各项的通电情况,所以在四相步进电机各项上分别接了发光二极管,来显示步进电机各
4、项的通电情况。在单片机的I/O口接了四个发光二极管来分别显示正传、反转、加速、减速。2.1.2 方案二:使用了uln2003来驱动步进电机ULN2003芯片可以驱动两个二相电机,也可以驱动一个四相电机,输出电压最高可达50V,可以直接通过电源来调节输出电压;可以直接用单片机的IO口提供信号;而且电路简单,使用比较方便通过比较,使用ULN2003芯片充分发挥了它的功能,能稳定地驱动步进电机,且价格不高,故选用ULN2003驱动电机。而使用ULN2003时,可以用ULN2003来提供时序信号,可以节省单片机IO口的使用;也可以直接用单片机模拟出时序信号,由于控制并不复杂,故选用后者。2.2 设计方
5、框图总体设计方框图如图1所示AT89S51图1 总体设计方框图3 设计原理分析3.1 步进电机步进电机是数字控制电机,它将脉冲信号转变成角位移,即给一个脉冲信号,步进电机就转动一个角度,因此非常适合于单片机控制。步进电机可分为反应式步进电机(简称VR)、永磁式步进电机(简称PM)和混合式步进电机(简称HB)。步进电机区别于其他控制电机的最大特点是,它是通过输入脉冲信号来进行控制的,即电机的总转动角度由输入脉冲数决定,而电机的转速由脉冲信号频率决定。步进电机的驱动电路根据控制信号工作,控制信号由单片机产生。其基本原理作用如下:(1)控制换相顺序通电换相这一过程称为脉冲分配。例如:三相步进电机的三
6、拍工作方式,其各相通电顺序为A-B-CD,通电控制脉冲必须严格按照这一顺序分别控制A,B,C,D相的通断。(2)控制步进电机的转向如果给定工作方式正序换相通电,步进电机正转,如果按反序通电换相,则电机就反转。(3)控制步进电机的速度如果给步进电机发一个控制脉冲,它就转一步,再发一个脉冲,它会再转一步。两个脉冲的间隔越短,步进电机就转得越快。调整单片机发出的脉冲频率,就可以对步进电机进行调速。3.2 步进电机驱动电路以及状态显示电路设计 本设计采用的是ULN2003对步进电机进行驱动,ULN2003是一种达林顿管阵列驱动芯片,其内部有7路达林顿管,组成最大工作电压50V,可以单路输入,单路输出。
7、当负载较大时采用单路方式不足以满足要求时也可以采取多路并行输出驱动。通过单片机的P2.0-P2.3来控制。状态显示电路的二极管分别接在各项上。其原理图如图2所示图2 步进电机驱动电路和状态显示电路3.3 键盘电路设计本设计采用的独立式非编码键盘来控制步进电机。共有6个按钮,其中S2为电机正转按钮、S3为电机反转按钮、S4为电机正转加速按钮、S5为电机正转减速按钮、S6为电机反转加速按钮、S7为电机反转减速按钮。当按下各个按钮时,会执行各个键的功能,当按下复位按钮时,电路会恢复到初始状态。其原理图如图3所示图3 键盘控制电路3.4 时钟振荡电路和复位电路设计时钟振荡电路由一个12M的晶振和两个3
8、0PF的电容组成。复位电路有一个复位按钮、两个电阻、一个带有极性的电容组成,复位方式为手动复位。当按下复位按钮的时间超过两个机器周期,才起到复位的作用。其原理图如图4所示图4 时钟振荡电路和复位电路3.5 正反转、加速、减速标志电路设计本电路采用的四个发光二极管来显示。分别为D1、D2、D3、D4。当电机正转时D1发光,当电机反转时D2发光,当电机加速时D3发光,当电机减速时D4发光。其原理图如图5所示图5 正反转、加速、减速标志电路3.6 步进电机时序表和时序图步进电机的时序表和时序图分别如如表1、图6所示表1单四拍控制表步序控制位工作状态控制模型DCBA11110A0E21101B0D31
9、011C0B40111D07图6 单四拍时序图4 结束语通过这三周的单片机实习,在指导老师和同学的帮助下,使我学习到了许多课本上学不到的东西,由刚开始查找资料的自信满满到真正开始设计时困难重重,再到制作时的复杂的心情变化,使我对这次的实习更加印象深刻。同时也使我对单片机的有关知识有了更加全面的理解而我设计的步进电机控制器最后也终于按照要求的功能运转了。总之,通过这次实习,使我真正体会到了理论联系实际的重要性。经过这些实习可以使我们能更快更准确的掌握专过实践,又证明了我们所学理论知识的科学性和正确业方面的理论知识。参考文献1周航慈著.单片机应用程序设计基础.北京:电子工业出版社,1997年7月2
10、朱承高.电工及电子技术手册M.北京:高等教育出版社,19903阎石.数字电子技术基础(第三版). 北京:高等教育出版社,19894廖常初.现场总线概述J.电工技术,1999.6 5 李广弟编著.单片机应用程序设计基础.北京:北京航空航天大学出版社,1994年6月附录1:总体电路图附录2:程序流程图设计附录3:源程序代码 ORG 0000HLOOP:MOV P2,#0FFH JNB P0.0,Z10 JNB P0.1,F10 JNB P0.2,ZJ10 JNB P0.3,ZJ11 JNB P0.4,FJ10 JNB P0.5,FJ11 LJMP LOOPZ10:LJMP Z20F10:LJMP
11、F20ZJ10:LJMP ZJ20ZJ11:LJMP ZJ21FJ10:LJMP FJ20FJ11:LJMP FJ21Z30:MOV P1,#0EFH MOV R0,#00HZ31:MOV A,R0 MOV DPTR,#TABLE MOVC A,A+DPTR JZ Z30 MOV P2,A JNB P0.1,F10 JNB P0.2,ZJ10 JNB P0.3,ZJ11 JNB P0.4,FJ10 JNB P0.5,FJ11 LCALL DELAY1 INC R0 LJMP Z31 RETF30:MOV P1,#0DFH MOV R0,#05HF31:MOV A,R0 MOV DPTR,#TA
12、BLE MOVC A,A+DPTR JZ F30 MOV P2,A JNB P0.0,Z10 JNB P0.4,FJ10 JNB P0.5,FJ11 JNB P0.2,ZJ10JNB P0.3,ZJ11 LCALL DELAY1 INC R0 LJMP F31 RETZJ30:MOV P1,#0BFH MOV R0,#00HZJ32:MOV A,R0 MOV DPTR,#TABLE MOVC A,A+DPTR JZ ZJ30 MOV P2,A JNB P0.0,Z40 JNB P0.1,F40 JNB P0.3,ZJ41 JNB P0.4,FJ40 JNB P0.5,FJ41 LCALL DE
13、LAY2 INC R0 LJMP ZJ32 RETZJ31:MOV P1,#7FH MOV R0,#00HZJ33:MOV A,R0 MOV DPTR,#TABLE MOVC A,A+DPTR JZ ZJ31 MOV P2,A JNB P0.0,Z40 JNB P0.1,F40 JNB P0.2,ZJ40 JNB P0.4,FJ40 JNB P0.5,FJ41 LCALL DELAY3 INC R0 LJMP ZJ33 RETZ40:LJMP Z10F40:LJMP F10ZJ40:LJMP ZJ10ZJ41:LJMP ZJ11FJ40:LJMP FJ10FJ41:LJMP FJ11FJ30:
14、MOV P1,#0BFH MOV R0,#05HFJ32:MOV A,R0 MOV DPTR,#TABLE MOVC A,A+DPTR JZ FJ30 MOV P2,A JNB P0.0,Z40 JNB P0.1,F40 JNB P0.2,ZJ40 JNB P0.3,ZJ41 JNB P0.5,FJ41 LCALL DELAY2 INC R0 LJMP FJ32 RET FJ31:MOV P1,#7FH MOV R0,#05HFJ33:MOV A,R0 MOV DPTR,#TABLE MOVC A,A+DPTR JZ FJ31 MOV P2,A JNB P0.0,Z40 JNB P0.1,F4
15、0 JNB P0.2,ZJ40 JNB P0.3,ZJ41 JNB P0.4,FJ40 LCALL DELAY3 INC R0 LJMP FJ33 RETZ20:LCALL DELAY JNB P0.0,$ LCALL DELAY LJMP Z30F20:LCALL DELAY JNB P0.1,$ LCALL DELAY LJMP F30ZJ20:LCALL DELAY JNB P0.2,$ LCALL DELAY LJMP ZJ30 ZJ21:LCALL DELAY JNB P0.3,$ LCALL DELAY LJMP ZJ31FJ20:LCALL DELAY JNB P0.4,$ LC
16、ALL DELAY LJMP FJ30FJ21:LCALL DELAY JNB P0.5,$ LCALL DELAY LJMP FJ31DELAY:MOV R1,#20 D1:MOV R2,#255 DJNZ R2,$ DJNZ R1,D1 RETDELAY1:MOV R7,#68 D2:MOV R6,#255 D3:MOV R5,#10 DJNZ R5,$ DJNZ R6,D3 DJNZ R7,D2 RETDELAY2:MOV R7,#34 D4:MOV R6,#255 D5:MOV R5,#10 DJNZ R5,$ DJNZ R6,D5 DJNZ R7,D4 RETDELAY3:MOV R7,#104 D6:MOV R6,#255 D7:MOV R5,#10 DJNZ R5,$ DJNZ R6,D7 DJNZ R7,D6 RETTABLE:DB 0FEH,0FDH,0FBH,0F7H,00 DB 0FEH,0F7H,0FBH,0FDH,00END