为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

单片机课程设计步进电机启动停止正反转

2012-06-22 17页 doc 217KB 228阅读

用户头像

is_661555

暂无简介

举报
单片机课程设计步进电机启动停止正反转 单片机课程设计报告 步进电机控制设计 姓名: 黄盛海 201030480108 詹志勋 201030480125 郑榕生 201030480128 班级: 10车辆工程1班 指导老师: 李震 姜晟 日期: 2012.6.18~6.20 华南农业大学工程学院 摘要:步进电机是机电控制中一种常用的执行机构,它的用途是将电脉冲转化为角位移,它的的驱动电路根据控制信号工作,控制信号由单片机产生。 本次课程设计主要...
单片机课程设计步进电机启动停止正反转
单片机课程设计 步进电机控制设计 姓名: 黄盛海 201030480108 詹志勋 201030480125 郑榕生 201030480128 班级: 10车辆工程1班 指导老师: 李震 姜晟 日期: 2012.6.18~6.20 华南农业大学工程学院 摘要:步进电机是机电控制中一种常用的执行机构,它的用途是将电脉冲转化为角位移,它的的驱动电路根据控制信号工作,控制信号由单片机产生。 本次课程设计主要采用AT89S52芯片,用汇编语言编写出电机的正转、反转、加速、减速、停止程序,通过单片机、电机的驱动芯片ULN2003以及相应的按键实现以上功能,并且步进电机的工作状态要用相应的发光二极管显示出来。控制系统主要由硬件设计和软件设计两部分组成。其中,硬件设计包括单片机的最小系统模块、电源模块、控制模块、步进电机ULN2003A驱动模块、彩灯显示模块5个功能模块的设计。并且通过仿真控制系统对硬件、软件进行了调试和改善,实现了上述功能。本系统具有智能性、实用性及可靠性的特点。 关键词:步进电机 单片机 电脉冲 驱动系统 汇编语言 目录 1、课程设计目的及要求……………………………………4 2、整体系统分析……………………………………………4 3、硬件系统分析……………………………………………6 4、软件系统分析……………………………………………10 5、调试结果…………………………………………………10 6、结论………………………………………………………11 7、参考文献……………………………………………………12 附一:源程序…………………………………………………12 1. 课程设计目的及要求 1.1 课程设计目的 (增进对单片机的感性认识,加深对单片机理论方面的理解; (掌握单片机的内部功能模块的应用,如定时器/计数器、中断、存贮器、I/O口、A/D转换等; (了解和掌握单片机应用系统的软硬件设计过程及实现方法。 1.2 课程设计要求 (设计一个步进电机控制器,要求用多个按键控制电机的启动/停止、加速、减速、反转等控制功能; (用彩灯显示电机的转动状态,如加速就控制彩灯快速闪烁,减速则控制彩灯慢速闪烁等。 2. 整体系统分析 2.1步进电机控制工作原理 步进电机实际上是一个数字\角度转换器,也是一个串行的数\模转换器。步进电机的基本控制包括启停控制、转向控制、速度控制、换向控制4 个方面。从结构上看 ,步进电机分为三相、四相、五相等类型 ,本次设计的是四相电机。四相步进电机的工作方式有单四拍、双四拍和单双八拍3 种 。 28BYJ-48步进电机: 2.1.1步进电机的启停控制 步进电机由于其电气特性,运转时会有步进感 ,即振动感。为了使电机转动平滑 ,减小振动 ,可在步进电机控制脉冲的上升沿和下降沿采用细分的梯形波 ,可以减小步进电机的步进角 ,提高电机运行的平稳性。在步进电机停转时 ,为了防止因惯性而使电机轴产生顺滑 ,则需采用合适的锁定波形 ,产生锁定磁力矩 ,锁定步进电机的转轴 ,使步进电机的转轴不能自由转动。 2.1.2步进电机的转向控制 如果给定工作方式正序换相通电 ,步进电机正转。若步进电机的励磁方式为单四拍,即 A -B –C - D。如果按反序通电换相,即则电机就反转。 2.1.3步进电机的速度控制 如果给步进电机发一个控制脉冲 ,它就转一步 ,再发一个脉冲 ,它会再转一步。2 个脉冲的间隔越短 ,步进电机就转得越快。调整送给步进电机的脉冲频率 ,就可以对步进电机进行调速。 2.2系统设计思路 我们本次设计的步进电机控制系统主要有单片机89S52、ULN2003A步进电机驱动芯片、四相永磁式步进电机、LED显示管及其其他相关元件组成。可以通过开关来控制系统的启/停工作,并通过LED显示管的工作状态显示步进电机的正、反转和前进、后退的状态。其总体设计框图1所示: 3. 硬件系统设计 3.1主要元件简介 3.1.1 AT89S52单片机 AT89S52是一种低功耗、高性能CMOS 8位微控制器,具有8K系统可编程Flash存储器。AT89S52具有以下功能:8k字节Flash,256字节RAM,32位I/O 口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。 图2. AT89S52引脚图 3.2模块分析 3.2.1 时钟晶振电路 时钟电路是整个系统的心脏,控制着步进电机工作节奏。单片机的时钟信号用来提供单片机片内各种微操作的时间基准,时钟信号通常用两种电路形式得到:内部振荡和外部振荡。 图4中的外接晶体以及电容C2和C1构成并联谐振电路,它们起稳定振荡频率、快速起振的作用,其值均为30PF左右,晶振频率选12MHz。 图4 时钟电路 3.2.2 复位电路 单片机的复位是靠外电路来实现的,在正常运行情况下,只要RST引脚上出现两个机器周期时间以上的高电平,即可引起系统复位,但如果RST引脚上持续为高电平,单片机就处于循环复位状态。复位操作有两种情况,即上电复位和手动(开关)复位。本系统采用上电复位方式。 图5 复位电路 3.2.3 步进电机驱动电路 本设计采用ULN2003A芯片。ULN2003 的每一对达林顿都串联一个2.7K 的基极电阻,在5V的工作电压下它能与TTL和CMOS电路直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据。 其中1B、2B、3B、4B分别与P0.0、P0.1、P0.2、P0.3相接 图6 电机驱动电路 3.2.4 显示电路 由于系统显示的内容比较简单,所以显示选用发光二级管既方便又经济。当步进电机开始工作的时候,发光二极管发光;当步进电机不工作时,发光二极管不发光;当步进电机加速运行时,发光二级管快速闪烁;当步进电减速运行时,发光二极管减速闪烁。 图7 显示电路 3.2.5 系统总电路 综合以上各模块,可得到总电路图: 图8 电路总体仿真图 4.软件系统设计 程序编写程序流程图:(源程序见附录) 否 是 否 0 是 5.调试结果 连接并检查完基本线路后,我们将程序烧写到芯片上,但是开始我们设计的程序却烧写不上,我们以为是我们的开发板出现了问题,但检查后开发板没问题,之后才知道我们用的芯片烧写器不行,换了个烧写器后程序便能够正确烧写进去了。然后就按下各个开关按键进行测试,最后电机和显示器都基本上按照设计要求工作了。 6. 本次单片机课程设计可谓是困难重重,在设计制作的过程中确实遇到了很多问题,但是通过我们组员的共同努力最终得到了解决了。 其中最大的一个问题就是软件程序的编写,在我们确定设计后,就开始用汇编语言编写程序了,在我们开始自己编写之前,通过网络查阅了一些相关的资料,也参考了一些其他成功的程序。但在我们编好之后,在进行计算机仿真测试的时候,总是不成功,不是电源通不上电,就是电机的转动状态不受控制,不能实现加速、减速、正反转等问题,于是就对程序进行一次又一次的修改,但最终还是没有成功,可能是由于我们是学机械专业的,对编程序这些电子类的知识有所欠缺,在实际操作起来确实有些难度。最后,我们只好向电信专业的同学寻求指导帮助。通过虚心请教之后,我们的问题得到了解决,同时通过交流也学到了很多。 通过本次课程设计,我们深深体会到了理论知识学习的重要性,如果没有扎实的理论知识作为奠基,那么在今后的实践运用中就像是无头之蝇,没有一点头绪,不知从何入手,最终只能求助于他人,被动地进行工作。不管对以后的工作还是学习都起不到积极的促进作用。在本次课程设计活动中,我们团队也体会到了分工协作的重要性,黄盛海、郑榕生主要负责写程序、调试,詹志勋负责撰写设计报告,每个组员分工明确,遇到个人难以解决的问题就一起商量讨论,极大的提高了工作效率。这点是值得我们在今后的工作和学习中好好运用的。 7.参考文献 [1]. 王卫星,邓小玲,代芬等.单片机原理与应用开发技术.中国水利水电出版社.2009. 附一:源程序 ORG 00H START: MOV DPTR , #TAB1 MOV R0, #03H MOV R1 , #4H MOV R4, #00H MOV P0, #03H WAIT: MOV P0, R0 MOV P0, #0FFH JNB P3.4,TIZ ;P3.4有停止键按下时,跳到停止子程序 JNB P3.0,ZHENG ;P3.0有启动正转键按下时,跳到停止子程序 JNB P3.1,FAN SJMP WAIT ZHENG : ;正转子程序 MOV A,R4 MOVC A,@A+DPTR ACALL DELAY INC R4 AJMP KEY FAN: ;反转子程序 MOV R4,#6 MOV A,R4 MOVC A,@A+DPTR MOV P3,A ; ACALL DELAY AJMP KEY KEY: MOV P3,#0FFH ;KEY检测,赋初值 JB P3.4,ZZ1 AJMP TIZ TIZ: MOV P0,#00H ;停止子程序 AJMP KEY ZZ1: JB P3.0,FZ1 ;正转按键检测,有键按下转到FZI CJNE R4,#8,LOOPZ;循环次数是否为8,为8则清0 MOV R4,#0 LOOPZ: MOV A,R4 ;读电机状态显示 MOVC A,@A+DPTR MOV P0,A ;赋给P0,显示1为正转,2为反转,3为加速,4为减速 SETB P1.1 ;赋高电平,关闭反向状态灯 CPL P1.0 ;开正转状态灯 JNB P3.2,JIASUZ ;加速子程序 JNB P3.3,JIANSUZ ;减速子程序 ACALL DELAY INC R4 AJMP KEY FZ1: JB P3.1,KEY CJNE R4,#255,LOOPF MOV R4,#8 LOOPF: DEC R4 MOV A,R4 MOVC A,@A+DPTR ;读脉冲 MOV P0,A ;给步进电机输入脉冲 SETB P1.0 CPL P1.1 JNB P3.2,JIASUF ;加速按键检测 JNB P3.3,JIANSUF ;减速按键检测 ACALL DELAY AJMP KEY ;跳转到KEY检测子程序 DELAY: MOV A,R1 ;延时子程序 MOV R6,A DELAY2: MOV R5,#6H DD2: MOV R7,#0 DD3: DJNZ R7,DD3 DJNZ R5,DD2 DJNZ R6,DELAY2 RET DELAY1: MOV R6,#20H DD4: MOV R5,#02H DD5: MOV R7,#0 DD6: DJNZ R7,DD6 DJNZ R5,DD5 DJNZ R6,DD4 RET JIASUZ: ;加速的按键检测 ACALL DELAY1 CJNE R1,#02,L1 JMP L2 L1: DEC R1 L2: JMP LOOPZ JIANSUZ: ;减速的按键检测 ACALL DELAY1 CJNE R1,#08H,L3 JMP L4 L3: INC R1 L4: JMP LOOPZ ;返回LOOPZ,循环 JIASUF: ;加速子程序 ACALL DELAY1 CJNE R1,#02H,L5 JMP L6 L5: DEC R1 L6: JMP LOOPF JIANSUF: ;减速子程序 ACALL DELAY1 CJNE R1,#08H,L7 JMP L8 L7: INC R1 L8: JMP LOOPF TAB1:DB 02H,06H,04H,0CH DB 08H,09H,01H,03H END 开始 分配地址空间 电机停转状态 设置T0,T1工作方式,T0,T1置初值 开中断 启动T0 调用键盘程序 有键按下 中断等待 定时时间到 键盘处理程序 停止T1 T0中断入口 起、停标志位 启动T1 显示程序 定时时间到 中断返回 T1中断入口 电机驱动程序 中断返回 1
/
本文档为【单片机课程设计步进电机启动停止正反转】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索