基于单片机的步进电机控制-毕业论文_第1页
基于单片机的步进电机控制-毕业论文_第2页
基于单片机的步进电机控制-毕业论文_第3页
基于单片机的步进电机控制-毕业论文_第4页
基于单片机的步进电机控制-毕业论文_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

图3.12键盘扫描子程序框图4、基于AT89C51的步进电机控制系统的实现4.1、系统的故障及调试4.1.1、软件部分(1)调试:按照总体流程图,在keil软件上,用C语言编程,编程时采用分块进行,分为按键子程序、显示子程序、调速子程序以及主程序,具体步骤如下:1)定义各个变量ucharmaichong;ucharzhuansu;ucharflag;2)定义正反转、加减速端口Sbitkey_z=P3^1;sbitkey_f=P3^2;sbitkey_jia=P3^3;sbitkey_jian=P3^4;3)调用显示子程序;4)调用键盘扫描子程序;5)执行主程序;6)返回显示(2)故障及解决:在编程完成时,运行程序,在仿真图上可以看到电机并不能正常旋转,而是左右来回运转或者是只转半圈,刚开始认为是电机的四相接线接错了,更改之后,电机依旧不能正常运行,于是,我怀疑是程序的问题,改动了几个地方,没有解决。我决定一部分一部分地检查,检查到电机在简单接线时,现象依然不明显,此时认为是电机运转太快了,在眼中有视觉残留,于是,我调整程序中的延迟函数和脉冲个数,在不断地尝试下,最终,能够很清楚地看到电机正常运转,故障得到解决。4.1.2、硬件部分(1)调试:根据原理图将硬件焊接好,用Proteus软件下载keil软件生成的HEX文件到单片机中,再给单片机上电,程序就开始运行。(2)故障及解决:完成了硬件的焊接,将程序通过数据线下载到单片机芯片中,接通电源,电机并不能运转,对比PROTEUS中的电路仿真图的接线,发现电机的四条接线位置不对,更改了位置后电机正常运转。可是,显示的LED并没有按照程序进行运转,此时,我怀疑是LED坏了,于是我将LED拆下来单独点亮,能够正常工作,查阅了相关书籍后发现,LED的驱动需要一定大小的电压和电流,于是我在单片机的I/O口与LED之间接入了驱动芯片74HC573,再次运行,LED正常显示。4.2、设计结果这次设计比较成功,在经过了器件的选择,软件的仿真及调试,硬件的焊接后,步进电机能按照预先的要求,实现按键控制电机的复位、正转、反转、加速、减速五个操作。并对应地在LED上显示出象征性的数字,从而直观地观察到电机的转速变化。按下复位按钮,电机停止,对应的数码管上显示如下:图4.1初始化显示图按下正转按钮从P1口输出脉冲,步进电机正转,显示如下:图4.2电机正转显示图按下反转按钮从P1口输出脉冲,步进电机反转,显示如下:图4.3电机反转显示图按下加速按钮电机速度增加,按下减速按钮电机速度减少显示如图4.4所示:5、总结与展望5.1、总结一转眼,毕业设计就快结束了,本次毕业设计主要完成了使用AT89C51控制步进电机的运行,通过按键分别控制电机的复位、正转、反转、加速、减速,并在数码管上对应地象征性地显示转速,经过了软件仿真和调试、硬件的焊接与调试,最终实现了步进电机按照要求正确运行。通过这次毕业设计,让我对单片机有了一个更深入的认识,对单片机的应用更加熟练,而且对步进电机有了一定的了解。将两者有机地结合在一起,进行一定的操作,提高了我的硬件焊接和软件设计的能力,从中学到了许多知识。将软件仿真做成实物时,我懂得了理论联系实际的重要性,一切的理论与实际之间必然存在差别,我们必须具体问题具体分析,才能有效的解决问题。在调试的过程中,我明白了许多设计时的细节问题,增长了见识,为以后的设计打下基础。在设计的过程中,我查阅了相关资料,并将它们与自己的实际问题相结合,锻炼了自己独立处理问题的能力。在整个过程中我明白了几个道理:首先,做学问要一丝不苟,要以科学的态度对待问题,不能存在侥幸的心理,出现了任何偏差都不要轻视;其次,做任何事情之前,都要有充足的准备,正所谓“磨刀不误砍柴工”,这样的话做事情才有效率;最后,做事要有耐心和毅力,不要遇到困难就退缩,要迎难而上,只有坚持下来的人才是最终获得胜利的人。5.2、展望虽然完成了设计,由于作者的水平有限,对各种电机的了解不够深入,查阅的资料不够齐全,设计的东西任然存在许多偏差和不足,例如:电机的转速控制不够精确,没有用到定时器;转速的测量不严密,只是象征性地显示转速,可以用霍尔测速传感器进行转速的测量;使用的元器件可以选用更精确、更廉价的等等。这些问题都是我值得注意的。虽然存在一些问题,但是我学习单片机的热情不会改变,在今后的学习过程中我将尽量拓宽自己的知识面,分析问题时尽量做到面面俱到,设计出更好的作品。参考文献[1]戴文进.电气工程及其自动化专业英语[M].电子工业出版社,2009.7[2]李蒙,毛建东.单片机原理及应用[M].中国轻工业出版社,2010.2[3]陈理壁.步进电机及其应用[M].上海:上海科学技术出版社,1989[4]王自强.步进电机应用技术[M].科学出版社,2010.5[5]周向红.51系列单片机应用与实践教程[M].北京:北京航天航空大学出版社,2008.5[6]丁明亮,唐前辉.51单片机应用设计与仿真[M].北京:北京航天航空大学出版社,2009.2[7]王晓明,胡晓柏.电动机的单片机控制[M].北京航空航天大学出版社,2002.5[8]杜树春.基于Proteus和KeilC51的单片机设计与仿真[M].电子工业出版社,2012.2[9]郭天祥.51单片机C语言教程[M].北京:电子工业出版社,2009.12[10]杨素行.模拟电子技术简明教程[M].高等教育出版社,2009.7[11]谭浩强.C语言设计[M].北京:清华大学出版社,2005.7[12]孙进平,张大鹏,丁金滨.51单片机系列单片机原理、开发与应用实例[M].中国电力出版社,2009[13]刘国永,陈杰平.单片机控制步进电机系统设计[J].安徽:安徽技术师范学院学报,2002[14]李海滨,片春媛,许瑞雪.单片机技术课程设计与项目实例[J].中国电力出版社,

2009版:56-65[15]张洪润,蓝清华.单片机应用技术教程[M].北京:清华大学出版社,1997[16]刘金华.数字电子技术[M].北京:北京大学出版社,2010[17]张齐,朱宁西.单片机系统设计与开发[M].机械工业出版社,2008.10[18]赵建领.51单片机开发宝典[M].电子工业出版社,2008[19]徐益民.步进电机的单片机控制系统的设计[D].哈尔滨:黑龙江科技学院,2005[20]邹益民.单片机C语言教程[M].中国石化出版社,2010.1致谢这次的毕业设计能顺利的实现,并完成了毕业设计论文,与周围的老师、同学的帮助是分不开的,在此,我对他们表示衷心的感谢。首先,我要感谢万里光老师,此次设计是在万里光老师的亲切关怀和悉心指导下完成的,他渊博的知识,严肃的科学态度,严谨的治学精神,精益求精的工作作风,深深地感染和激励着我。从课题的选择到设计的最终完成,万老师都始终给予我细心的指导和不懈的支持。在他的影响下,我认真完成每一步设计,解决设计过程中遇到的困难,永不言弃,最终完成了设计。感谢万老师在忙碌的教学工作中抽出时间给予我指导,帮助我修改论文,在此谨向万老师致以诚挚的谢意和崇高的敬意。其次,要感谢一路和我共同走过来的同学,是他们陪着我在冯老师的实验室,共同做毕业设计,有不懂的问题,他们都会热心的帮我解答,感谢有你们的陪伴。最后,要感谢学校图书馆,它种类繁多的图书和网上付费资源,让我方便地找到了许多有用的资料。正是因为他们的帮助,我的毕业设计才能完成,再次感谢他们!附录系统的实物图完整的C语言程序:#include<reg52.h>#defineucharunsignedchar #defineuintunsignedint Unsignedcharcodetable[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90 ,0x3f,0x83,0xc6,0xa1,0x86,0x8e};unsignedcharcodetable1[]={0x03,0x06,0x0c,0x09,0x09,0x0c,0x06,0x03};uchartable_begin;uintmaichong;ucharzhuansu;ucharflag;sbitkey_fuwei=P3^0;sbitkey_z=P3^1;sbitkey_f=P3^2;sbitkey_jia=P3^3;sbitkey_jian=P3^4;voiddelay(ucharx) { uchari,j; for(i=0;i<x;i++) for(j=100;j>0;j--);}voidfuwei(void){flag=2; zhuansu=0;}voiddisplay() {ucharA1,A2,A3,A4;if(flag==0) A1=0; elseA1=1; if(flag==2) A1=10;A2=0x3f;A3=zhuansu/10;A4=zhuansu%10; P0=table[A1]; P2=0x01; delay(1); P2=0x00; P0=A2; P2=0x02; delay(1); P2=0x00; P0=table[A3]; P2=0x04; delay(1); P2=0x00; P0=table[A4]; P2=0x08;delay(1); P2=0x00;}voidkey(){if(key_fuwei==0) {delay(5); if(key_fuwei==0) fuwei();} if(key_z==0) {delay(5); if(key_z==0) {flag=0; zhuansu=10; while(key_z==0);}} if(key_f==0) {delay(5); if(key_f==0) {flag=1; zhuansu=10; while(key_f==0);}} if(key_jia==0) {delay(5); if(key_jia==0) {zhuansu++; if(zhuansu==21) zhuansu=20; while(key_jia==0);}} if(key_jian==0) {delay(5); if(key_jian==0) {zhuansu--; if(zhuansu<=0) zhuansu=0; while(key_jian==0);}}}voiddispose(){ switch(zhuansu) {case0:flag=2; break; case1: maichong=160; break; case2: maichong=158; break; case3: maichong=155; break; case4: maichong=150; break; case5: maichong=146; break; case6: maichong=143; break; case7: maichong=140; break; case8: maichong=137; break; case9: maichong=135; break; case10: maichong=130; break; case11: maichong=125; break; case12: maichong=120; break; case13: maichong=115; break; case14: maichong=110; break; case15: maichong=105; break; case16: maichong=100; break; case17: maichong=95; break; case18: maichong=90; break; case19: maichong=85; break; case20: maichong=80; break;} if(flag==0) table_begin=0; else if(flag==1) table_begin=4;}voidzhuandong(void){uinti,j; if(zhuansu>0&&zhuansu<=20) {for(j=0+table_begin;j<4+table_begin;j++) { P1=table1[j]; for(i=0;i<maichong;i++) display();}} } voidmain(){fuwei(); display(); for(;;) {key(); dispo

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论