《单片机课程设计-步进电机正反转.doc》由会员分享,可在线阅读,更多相关《单片机课程设计-步进电机正反转.doc(46页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-date单片机课程设计-步进电机正反转单片机课程设计 单片机课程设计课题:单片机控制步进电机正反转设计系 别: 物理与电气工程学院专 业: 电气工程及其自动化姓 名: 陈玉琦(组长)学 号: 1411540指导老师: 陈永超目录一设计目的4二设计要求4三总体设计思路4四硬件设计51 系统复位电路52 系统时钟电路63 系统电机及驱动部分74 系统的显示电路8五软件设计91 主
2、程序的设计92 显示子程序的设计10六整体电路图14七电路仿真15八设计总结16附录18参考文献21步进电机正反转设计一、设计目的目的:系统地运用已学的理论知识解决实际问题的能力和查阅资料的能力。培养一定的自学能力和独立分析问题、解决问题的能力,能通过独立思考、查阅工具书、参考文献,寻找解决方案;任务:完成所选题目的分析与设计,达到技术性能要求。提交正式课程设计总结报告一份。二、设计要求:1具有速度和转向设定功能。2设置开始、停止以及正反转键。3转速以及转向由数码管显示。三 、总体设计思路方案与思路因为步进电机的控制是通过脉冲信号来控制的,将电脉冲信号转变为角位移或线位移的开环控制元件。所以怎
3、样产生这个脉 冲信号和产生怎样的信号是电机控制的关键。用软件控制单片机产生脉冲信号,通过单片机的P1口输出脉冲信号,因为所选电机是两相的,所以只需要P1口的低四位 P1.0P1.3分别接到电机的四根电线上。可以通过调整输出脉冲的频率来调整电机的转速,通过改变输入脉冲的顺序来改变转动方向,P0口接LED数码管,可以显示当前的电机转速和转向,设置复位键可使正在转动的电机停止转动,大概可分为如下图所示的几部分。p0.0p0.7AT89C51单片机p2.0p2.3p1.0p1.3p3.0p3.4四位数码显示管控制按键复位部分步进电机驱动部分外部晶振电路图1 系统方框图四 、硬件设计1系统复位电路复位是
4、单片机的初始化操作,只要给RESET引脚加上2个机器周期以上的高电平信号,即可使单片机复位。除了进入系统的正常初始化之外,当程序运行出错或是操作错误使系统处于死锁状态时,为了摆脱死锁状态,也需要按复位键重新复位。在系统中,为了实现上述的两项功能,采用常用的按键电平复位电路,这样复位键有复位和停止两个功能,如图所示。图2复位电路从图中可以看出,当系统得到工作电压的时候,复位电路工作在上电自动复位状态,通过外部复位电路的电容充电来实现,只要Vcc的上升时间不超过1ms就可以实现自动上电复位功能。在本系统中,采用10uF的电容和100k的电阻来实现复位电路。当系统出错时,直接按开关实现模拟系统上电复
5、位的功能,从而实现系统重新复位启动。2系统的时钟电路时钟电路是用于产生单片机工作时所必需的时钟信号。时钟是单片机的心脏,单片机各功能部件的运行都是以时钟频率为基准的,有条不紊地一拍一拍地工作。时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的稳定性。在本系统中采用外部时钟方式的电路,如图所示:图3系统的时钟电路在本设计中的电容C1、C2典型值为3010 pF。外接代内容的值虽然没有严格的要求,但是电容的大小会影响振荡器的稳定性和起振的快速性。同时,在系统中采用12MHz的晶体振荡器来产生时钟脉冲。这样可以满足系统在设计时的机器周期的需要。3电机驱动电路由单片机直接输出的脉冲不足
6、以驱动步进电机正常工作所以需要驱动电路给步进电机提供电源,在本设计中采用型号为ULN2003A的芯片,使步进电机正常工作。驱动信号由P1口的P1.0P1.3输出,分别与驱动芯片的B1B4相连,电路如下图所示:图4 系统的驱动电路4 显示电路显示电路中采用四位LED数码管显示,最左边一位作为转动方向位,正转时不显示,反转时显示“-”,后边三位显示转速,左边为低位,右边为高位,转速的单位为转分。为了提高数码管的显示效果,在数码管的输入端接上拉电阻。在本设计中采用型号为7SEG-MPX4的四位LED数码管,显示控制字由P0口输出,P0.0P0.7分别与数码管的Adp连接,位控制口由P2口的P2.0P
7、2.3输出,分别与数码管的1、2、3、4连接。电路如图所示:图5 系统的显示电路五 软件设计1主程序的设计主程序需具备的功能,要不断扫描P3口并判断K1和K2是否闭合,并能根据其电平高低,输出不同的控制脉冲,并调用显示子程序显示转速及方向。主程序初始化程序逆序输出脉冲K2闭合?K1闭合?正序输出脉冲调用显示子程序1调用显示子程序2NYNY图6 主程序设计流程图2显示子程序的设计显示速度输出位控制字返回主程序调用延时子程序正转显示输出断码控制字反转显示置初始值置初始值图7 显示程序流程图系统的程序如下:主程序:ORG 00H START: MOV R0,#03H MOV R4,#00H MOV
8、P1,#03HWAIT: MOV P1,R0 ;初始角度,0度 MOV P3,#0FFH JNB P3.0,POS ;判断键盘状态 JNB P3.1,NEG SJMP WAITJUST: JB P3.1,NEG ;首次按键处理POS: MOV A,R4 ;正转9度 MOV DPTR,#TAB1 MOVC A,A+DPTR MOV P1,A ACALL DIR INC R4 AJMP KEYNEG: MOV R4,#6 MOV DPTR,#TAB1 ;反转9度 MOV A,R4 MOVC A,A+DPTR MOV P1,A ACALL DIRF AJMP KEYKEY: MOV P3,#03H
9、;读键盘情况 MOV A,P1 JB P3.0,FZ1 CJNE R4,#08H,LOOPZ ;是结束标志 MOV R4,#00HLOOPZ: MOV A,R4 MOV DPTR,#TAB1 MOVC A,A+DPTR MOV P1,A ;输出控制脉冲 ACALL DIR ;程序延时 INC R4 ;地址加1 AJMP KEYFZ1: JB P3.1,KEY CJNE R4,#255,LOOPF ;是结束标志 MOV R4,#07HLOOPF: DEC R4 MOV A,R4 MOV DPTR,#TAB1 MOVC A,A+DPTR MOV P1,A ;输出控制脉冲 ACALL DIRF ;程
10、序延时 AJMP KEYTAB1: DB 02H,06H,04H,0CH DB 08H,09H,01H,03H ;正转模型资料显示子程序:DIR:MOV DPTR,#TABL1 ;正转显示 AJMP DIR1DIRF:MOV DPTR,#TABL2 ;反转显示DIR1:MOV R1,#00H MOV R2,#04HMOV R3,#0F7H DIR2:MOV A,R1 MOVC A,A+DPTRMOV P0,A MOV A,R3MOV P2,ARR AMOV R3,AINC R1ACALL DELYDJNZ R2,DIR2RETDELY:MOV R6,#20H ;延时 D1:MOV R7,#56
11、H LOOP:DJNZ R7,LOOPDJNZ R6,D1RET TABL1:DB 06H,06H,06H,00H ;正转 TABL2:DB 06H,06H,06H,40H ;反转END六、整体电路图七、电路仿真绘制完电路图后,将编好的程序输入软件内检查所编程序是否正确,检查程序无误后装入单片机内,进行防真。系统进入仿真模式后,令正转键K1闭合,步进电机正转工作,可以看到如下图所示:图8 电机正转在正转时,如果按下复位键,电机会停止转动,数码管也将不显示转速。反转键K2闭合,步进电机开始反转工作,显示的转速为负值,如下图所示:图9 步进电机反转七 设计总结为期一周的单片机课程设计已经结束了,虽
12、然感到时间有点儿紧,但是我还是圆满地完成了这次设计。通过本次设计使我对步进电动机有了深入的了解,平时我们接触的电动机主要是直流电动机和交流电动机,很少见到步进电动机,所以我对步进电机几乎是一无所知。在辅导老师指导下,然后自己在图书馆翻阅有关书籍和上网,搜集到了不少有关步进电动机的知识。经过我的不懈努力,把步进电机的结构、工作原理及控制其正、反转等一一弄明白了,但是这离课程设计需要掌握的知识相差甚远,我只能不断的向老师和同学请教,然后仔细的揣摩。在这次课程设计中,通过用单片机控制步进电机的正、反转,我也对单片机的知识也进行了复习和巩固。在学习单片机的时候觉得学了一点用都没有,通过这次设计让我明白
13、了单片机的功能如此的强大。实践是检验真理的唯一标准,学习再多的理论也只能纸上谈兵,只有把理论应用到实践中,才能检验出理论的真伪。通过这次的课程设计,我不仅把单片机的有关知识系统的复习了一遍,而且学会了各种设计电路的软件,提高自己的实际动手能力和独立思考的能力,这次设计实在是让我获益匪浅。附录 步进电机概述1步进电机的组成步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步进角。这一线性关系的存在,加上步进电机只有周期性的误差而无累积误差等特点,使得在速度、
14、位置等控制领域用步进电机来控制变的非常的简单。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。如果给步进电机一个持续脉冲,也可以使电机固定在某一角度,因此步进电机还有定位的功能,可以用于起重机上。 其内部结构如下图所示:图10 步进电机内部结构示意图2步进电机的工作原理以三相步进电机为例,电机转子均匀分布着很多小齿,定子齿有三个励磁绕阻,其几何轴线依次分别与转子齿轴线错开。0、1/3、2/3,(相邻两转子齿轴线间的距离为齿距以表示),即A与齿1相对齐,B与齿2向右错开1/3,C与齿3向右错开2/3。图11 工
15、作原理如A相通电,B,C相不通电时,由于磁场作用,齿1与A对齐,(转子不受任何力以下均同)。如B相通电,A,C相不通电时,齿2应与B对齐,此时转子向右移过1/3,此时齿3与C偏移为1/3,齿4与A偏移(-1/3)=2/3。如C相通电,A,B相不通电,齿3应与C对齐,此时转子又向右移过1/3,此时齿4与A偏移为1/3对齐。如A相通电,B,C相不通电,齿4与A对齐,转子又向右移过1/3这样经过A、B、C、A分别通电状态,齿4(即齿1前一齿)移到A相,电机转子向右转过一个齿距,如果连续不断地按A,B,C,A通电,电机就每步(每脉冲)1/3,向右旋转。如按A,C,B,A通电,电机就反转。3 控制步进电
16、机的转动按照一定的顺序向步进电机的各相分配驱动脉冲。对于四相步进电机,如果采用单四拍方式,其脉冲的方式和顺序是A-B-C-D-A,就这样循环就可以转动。如果采用四相八拍方式,其脉冲分配的方式和顺序是A-AB-B-BC-C-CD-D-DA-A。(以四相八拍方式为例,编码是低电平有效)表1 四相步进电机励磁工作方式示例编码结果ABCD0701110300110910110B10010D11010C11000E11100601104控制转动方向控制转动方向,只需考虑在脉冲分配时注意其顺序即可,对于四相步进电机,若脉冲分配方式和顺序是A-B-C-D-A为正转,则其反转脉冲分配方式和顺序是A-D-C-B-A。参考文献:张毅坤 陈善久 裘雪红编著,单片微型计算机原理及应用,西安电子科技大学出版社汪道辉主编,单片机系统设计与实践,电子工业出版社出版胡辉主编,单片机原理及应用设计,中国水利水电出版社张靖武 周灵彬编著,单片机系统的PROTEUS设计与仿真,电子工业出版社出版-