步进电机控制系统设计_课程设计

上传人:飞*** 文档编号:5360228 上传时间:2017-08-30 格式:DOCX 页数:32 大小:517.48KB
返回 下载 相关 举报
步进电机控制系统设计_课程设计_第1页
第1页 / 共32页
步进电机控制系统设计_课程设计_第2页
第2页 / 共32页
步进电机控制系统设计_课程设计_第3页
第3页 / 共32页
步进电机控制系统设计_课程设计_第4页
第4页 / 共32页
步进电机控制系统设计_课程设计_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《步进电机控制系统设计_课程设计》由会员分享,可在线阅读,更多相关《步进电机控制系统设计_课程设计(32页珍藏版)》请在金锄头文库上搜索。

1、湖南工程学院课程设计课程名称单片机原理与应用课题名称步进电机专业电气工程及其自动化等级:设 计 内 容 与 设 计 要 求设计内容:以单片机为核心设计一个步进电机控制系统,要求能够通过键盘设置步进电机的正、反转,加速、减速、停止等工作,并在 4 位 LED 显示器上显示步进电机转速或工作状态。设计要求:1)确定系统设计方案;2)进行系统的硬件设计;3)完成应用程序设计;4)硬件电路及应用程序的调试。主 要 设 计 条 件1、PC 机及单片机调试软件;2、开发板 1 块; 3、系统设计、调试所需的元器件。4. 步进电机型号:28BYJ-48说 明 书 格 式1. 课程设计任务书2. 目录3. 总

2、体方案确定4. 各单元硬件电路设计及计算方法5. 软件设计与说明(包括流程图)6. 调试结果与必要的调试说明7. 总结8、参考文献9、附录附录 A 系统原理图附录 B 程序清单 10、课程设计成绩评分表。进 度 安 排设计时间为两周第一周星期一、上午:布置课题任务,讲课及课题介绍下午:借阅有关资料,总体方案讨论星期二、系统总体方案星期四、设计及调试星期五、设计及调试第二周星期一、设计及调试星期二、设计及调试星期三、设计及调试星期四、写说明书星期五、上午:写说明书,整理资料下午:交设计资料,答辩参 考 文 献1 王迎旭等.单片机原理及及应用M. 2 版.机械工业出版社,2012. 2 高峰.单片

3、微型计算机原理与接口技术M.电子工业出版社,2003. 3王守中.51 单片机开发入门与典型实例M.人民邮电出版社,20074 戴灿金.51 单片机及其 C 语言程序设计开发实例M.清华大学出版社,2010.5 胡汉才.单片机原理及其接口技术M.3 版.清华大学出版社,2010.6 郭天祥.新概念 51 单片机 C 语言教程入门、提高、开发、拓展全攻略.电子工业出版社,2009.- 1 -第 1 章 概述及系统总体方案1.1 设计内容及要求本题要求以单片机为核心设计一个步进电机控制系统,要求能够通过键盘设置步进电机的正、反转,加速、减速、停止等工作,并在 4 位 LED 显示器上显示步进电机转

4、速或工作状态。设计要求如下:(1)确定系统的设计方案;(2)进行系统的硬件设计;(3)完成必要的参数计算与元器件选择;(4)完成应用程序设计;(5)进行系统电路应用程序的调试。本设计目的是步进电机控制系统 4 个按键设置成现在想要实现的功能:key_ON_OFF-开始、停止按键key_UP-加速按键key_DOWN-减速按键 key_Left_Right-正反转按键1.2 系统总体方案本次课程设计使用 STC89C52RC 单片机做主控芯片,完成课程设计。系统硬件设计框图如图 1.1 所示。图 1.1 系统硬件设计框图P0口P2口STC89C52单片机 P1口P3口复位电路电源时钟电路矩阵键盘

5、电路4 个 8段数码管显示器驱动电路驱动电路步进电机- 2 -第 2 章硬件设计2.1 复位电路本设计的复位电路采用按键上电复位电路,采用的晶振是12MHz,机器周期为 1S,复位电路如图 2.1 所示,复位引脚为单片机的第 9 引脚,复位开关一边接电源,另一边接单片机第 9 引脚,并与一个 10uF 电解电容并联,且单片机第 9 脚引出一 10K 电阻,电阻另一端接地。图 2.1 复位电路图2.2 单片机时钟电路单片机内部有一个用于构成振荡器的高增益反相放大器,引脚XTAL1 和 XTAL2 分别是反相放大器的输入端和输出端,通常,经由片外晶体振荡器或陶瓷谐振器与两个匹配电容一起构成一个自激

6、振荡电路。本课题采用了单片机内部时钟方式,电路如图 2.2 所示(采用 12MHz 晶振,两个 30pf 独石电容) 。- 3 -图 2.2 单片机时钟电路图图 2.3 数码显示电路图- 4 -2.3 数码显示电路本次设计采用动态显示电路,利用单片机的 P1 口和 P0 口来实现 4 位共阳极 8 段 LED 数码管显示器的动态显示,其中 P1 口输出段码,P0 口输出位码,通过 4 个 1K 电阻和 4 个 PNP 三极管 9015 实现反向位驱动。 四位数码显示管为共阳显示管,段选低电平有效,位选低电平有效。P2.0P2.3 控制数码管位选,分别对应位选 W1W4, P0.0P0.7 一一

7、对应段选段:A、F、B、G、C、DP、D、E。如图2.3 所示。2.4 按键电路本课题需要四个按键分别控制:开始/停止、加速、减速、正反转。因调试用的单片机板是矩阵按键,本设计将键盘的行线直接接地构成独立按键来用,用四个按键 s1-s4 控制电机运转。按键电路如图 2.4 所示。 0123SP.765图 2.4 按键电路图2.5 电机及其驱动电路电机驱动部分用 ULN2003 做驱动芯片,其驱动模块及电机连接如图 2.5 所示(P3.0P3.3 对应电机四相:A、B、C、D):- 5 -IN123467GD8COM9UT0*ompnet_AB+P.K不图 2.5 电机及其驱动电路图- 6 -第

8、 3 章软件设计与说明为了实现任务书的要求,我把这次课程设计的软件程序分成了几个模块,这样分成几个子程序设计思路比较清晰,程序包括:主函数、键盘扫描函数、显示函数、按键值处理函数、中断函数、计时初始化函数、数值处理函数。3.1 主程序设计图 3.1 主程序流程图主程序开机即刻显示,有键按下后中断开始。主程序流程图如图 3.1 所示。开 始调 显 示初 始 化调 显 示调 用 查 键有 键 按下 ?键 处 理YN- 7 -3.2 键盘扫描函数键盘扫描子程序是先给 P1 口输出 0F7H,P1.3 置 0(第一行) ,其余全置 1,把 P2 口的状态读取进来,若 key_ON_OFF-开始、停止按

9、键、key_UP -加速按键、key_DOWN -减速按键、key_Left_Right 正反转按键其中一个值为 0,就说明有键按下,然后根据 P1.4P1.7 的值判断是哪个的键按下,然后再到相应的程序去执行下一步骤。键盘扫描流程图如图 3.2 所示。图 3.2 键盘扫描函数流程图- 8 -3.3 显示子函数本次程设计采用的是动态显示,要不断的刷新位信号,然后把相应的位应该显示的段码从 P0 口输出过去,在经过延时子程序后,然后再显示下一位,依次这样循环下去,不断的从倒计时所处的时间信息显示出来,这就是显示子程序。显示函数流程图如图 3.3 所示。图 3.3 显示函数流程图3.4 中断子函数

10、中断子程序采用定时器 T0 采用方式 1 来计时,每次溢出定时200us,重装初值定时满足 add_count=count,定时 count*200us 后去自动执行中断程序,根据变量 count 来控制电机转速。中断函数流程图如图 3.4 所示(用 i 代替变量 add_count,j 代替 count) 。- 9 -NY图 3.4 中断函数流程图开始i+ij?重装初值返回电机输出一拍 i=0- 10 -第 4 章 调试及使用说明4.1 开发板的焊接及测试要做课程设计,我们必须有单片机,学校为了锻炼我们的动手能力,所以集体采集了一批元器件和电路板,让我们自己手工焊接我们自己的单片机电路板,这

11、对我们来说很有兴趣。我们在专门的实验室里焊接我们的电路板,因为我们以前焊接过收音机,所以这回焊接起来还算比较容易,但是我们用了一下午的时间才焊接完,在焊接完成后,我们用万用表测量了系统的电流和电压,在经过一系列检测后,老师把测试程序下载进了我们的单片机,单片机响起了生日快乐歌,这让我们感到很神奇,所以我们迫不及待的想开始我们的课程设计,投入到学习中去。4.2 系统调试系统调试是对硬件与软件进行协调使之兼容,统一,这一步很重要,因为运行正常的软件载入开发板后往往不能出现预期的功效,这在我调试过程中就常常发生。最让人头疼的是,在程序调试和硬件调试结合时,程序编译无误,可硬件就是得不出预设的结果。这

12、样,查找问题很难找到,所以在编程和硬件连接时不仅要细心,还要有严谨的逻辑。4.3 调试结果调试结果如图 4.1图 4.4 所示:- 11 -图 4.1 开机显示图 4.2 最大速度图 4.3 最小速度图 4.4 反转- 12 -4.4 使用说明通电后,系统默认显示 0000,矩阵键盘的第一行的四个键控制电机,四个按键从左到右分别控制:开始/停止、加速、减速、正/反转。用定时器赋不同初值来控制电机速度;四位数码管显示电机的状态:开始、停止、速度大小、正反转。四位数码显示管前两位表加速、减速、正转或反转状态,后两位表示电机运转速度,最后两位显示 00 为停止状态,01 为最低速度状态,12 为最高

13、速度状态。按键功能如下所述:(1) 按下开始/停止键(key_ON_OFF) ,开始或停止,标志位ON_OFF=1,则开始,显示 0005,电机以速度 05 开始顺时针转动;否则为停止,则电机停止转动,显示 0000。(2) 按下加速键(key_UP) ,显示 uu-,若按下加速键之前为停止状态,则电机以 01 速度启动转动,否则速度在原来的基础上+1,当达到最高速度 12,则速度保持,再按下加速键不再加速,速度保持,显示 UU12。(3) 按下按下减速键(key_DOWN) ,显示 dd-,若按下减速键之前为停止状态,则电机仍为停止状态,显示 0000,否则速度在原来的基础上-1,当达到最低

14、速度 01,则速度保持,再按下减速键不再减速,显示 dd01。(4) 若在按下正反转按键之前显示为 0000,按下正反转按键,电机仍为停止状态,显示 0000;按下正反转按键(key_Left_Righ) ,若标志位 Left_Right = 0,则正转,显示 00-,否则反转,显示 11-,后两位为转动的速度,按下正反转按键,只改变电机转动方向,不改变电机速度。(5) 按下复位按钮,电机会停止,系统复位到开机的状态。- 13 -第 5 章 设计总结两周的课程设计,很充实。得到任务后,查阅资料、制定方案、软硬件设计、调试、修改。不断学习和深入的过程。在假期自学了单片机的 C 语言编程,所以这次

15、课程设计用的 C,不是汇编。在用C 的过程中遇到许多程序问题。最开始是实现按键和显示功能,再把电机加进去。按键和显示功能较容易就实现了,可是在加进电机后,调试时,电机始终不转动,开始时的小甜头一扫而光,仔细检查了电机和程序,过程中不断调试,最后发现电机还是能动的,只是微动。仔细考虑原因,疑是电机驱动芯片有问题。在实验室借来万用表分别测试相位输出的对应引脚,确是芯片出了问题,在实验室换了块芯片后,电机终于能够转动起来。但发现电机正反转的速度不一样,且按键时电机停止转动,在老师的建议下使用定时器控制电机速度,且在按键松手检测调用显示函数的同时,也调用电机驱动函数,最终问题得到解决,得到收获。在以后

16、的学习中,还会遇到各种不同的困难,但也是让我们提升的好机会,我会更加努力!谢谢老师和同学的帮助!- 14 -第 6 章 参考文献1 王迎旭等.单片机原理及及应用M. 2 版.机械工业出版社,2012. 2 高峰.单片微型计算机原理与接口技术M.电子工业出版社,2003. 3王守中.51 单片机开发入门与典型实例M.人民邮电出版社,20074 戴灿金.51 单片机及其 C 语言程序设计开发实例M.清华大学出版社,2010.5 胡汉才.单片机原理及其接口技术M.3 版.清华大学出版社,2010.6 郭天祥.新概念 51 单片机 C 语言教程入门、提高、开发、拓展全攻略.电子工业出版社,2009.- 15 -附录附录 1 原理图

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业/管理/HR > 其它文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号