基于单片机的步进电机控制系统设计_第1页
基于单片机的步进电机控制系统设计_第2页
基于单片机的步进电机控制系统设计_第3页
基于单片机的步进电机控制系统设计_第4页
基于单片机的步进电机控制系统设计_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

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

文档简介

临沂大学临沂大学**届**届毕业论文(设计)基于单片机的步进电机控制系统设计姓名*******学号**************年级*****专业*************系(院)*******指导教师********年*月*日摘要步进电动机由于用其组成的开环系统既简单、廉价,又非常可行,因此在打印机等办公自动化设备以及各种控制装置等众多领域有着极其广泛的应用。本文介绍的是一种基于单片机的步进电机的系统设计,用汇编语言和C语言编写出电机的正转、反转、调速、停止程序,通过单片机、电机的驱动芯片ULN2001以及相应的按键实现以上功能,并且步进电机的工作状态要用LCD液晶显示器显示出来。本文内容介绍了步进电机以及单片机原理、该系统的硬件电路、程序组成,同时对软、硬件进行了调试,同时介绍了调试过程中出现的问题以及解决问题的方法。该设计具有思路明确、可靠性高、稳定性强等特点,通过调试实现了上述功能。关键词:步进电机;脉宽调制;驱动机构;单片机;转动

DesignofTheControlSystemofStep-motorTheopen-loopsystemwhichiscomposedbystep-motorissimple,cheapandverypractical,sothereareverywiderangeofapplicationsinprintersandotherofficeauequipmentandvariouscontroldevices,andmanyotherfields.Thisarticledescribesonedesignofstep-motorsystembasedonmicrocontroller.Theprogramofthepreparationofamotor,reverse,adjustspeed,stopiswrittenbycompilelanguage.Theabovefunctionsarerealizedthroughthemicrocontroller,motordriverchipULN2001andcorrespondkey,andtheworkstateofsteppermotorisdiaplayedthroughlight-emittingdiode.Thisarticleintroducestheprincipleofsteppermotorandsingle-chipmicrocomputer,thesystemhardwarecircuit,theprogramcomponents,whilesoftwareandhardwareforthedebugging,atthesametimeintroducestheproblemswhichareappearedinthedebuggingprocessandthesolutionsoftheproblems.Thedesignhastheadvantagesofclear,highreliability,strongstability,andtheabove-mentionedfunctionsarerealizthedebugging.Keywords:Steppingmotor;Pulse-widthmodulated;drivingmechanism;singlechip;rotatio目录引言1课题研究的目的和意义1国内外研究概况1步进电机与单片机简介1步进电机介绍12.2步进电机驱动系统介绍62.3单片机原理83硬件电路的设计12系统整图12电源部分12最小系统13驱动部分14状态指示部分14按键部分14时钟部分15复位部分15KEIL-UVISION简介与调试15PROTEUS仿真步进电机正转16PROTEUS仿真步进电机反转17PROTEUS仿真总图与PROTEUS简介174软件设计23系统开发软硬件环境23系统程序框图24系统程序256结论31参考文献33致谢34临沂大学临沂大学 4.2系统程序框图系统分为电机正转、电机反转、开始与转速的几部分组成,其主程序框图如图32所示。主程序判断正反转判断正反转开始初始化判断正反转并显LCD1602初始化显示基本字符判断运行速度并显示KEY1是否按下显示“OFF”显示“ON”判断是否为首次按键运行电动机,并确定延时时间判断正反转运行电动机,并确定延时时间YN图32系统程序框图4.3系统程序C程序:#include"reg51.h"#include"intrins.h"#include"absacc.h"#definebusy0x80#defineucharunsignedchar#defineuintunsignedintsbitRS=P2^3;sbitRW=P2^4;sbitE=P2^5;sbitKEY1=P2^0;sbitKEY2=P2^1;sbitKEY3=P2^2;ucharcodetab[8]={0x02,0x06,0x04,0x0C,0x08,0x09,0x01,0x03};uchartemp;voiddelay(uchark){uinti,j;for(i=0;i<k;i++){for(j=0;j<60;j++){;}}}voidtest_1602busy(){P0=0xFF;E=1;RS=0;RW=1;_nop_();_nop_();while(P0&busy){E=0;_nop_();E=1;_nop_();}E=0;}voidwrite_1602Command(ucharco){test_1602busy();RS=0;RW=0;E=0;_nop_();P0=co;_nop_();E=1;_nop_();E=0;}voidwrite_1602Data(ucharData){test_1602busy();P0=Data;RS=1;RW=0;E=1;_nop_();E=0;}voidinit_1602(void){write_1602Command(0x38);delay(5);write_1602Command(0x01);delay(5);write_1602Command(0x06);delay(5);write_1602Command(0x0F);delay(5);write_1602Command(0x0C);}voidDisplayOneChar(ucharX,ucharY,ucharDData){Y&=1;X&=15;if(Y)X|=0x40;X|=0x80;write_1602Command(X);write_1602Data(DData);}voiddisplay_1602(uchar*DData,X,Y){ucharListLength=0;Y&=0x01;X&=0x0F;while(X<16){DisplayOneChar(X,Y,DData[ListLength]);ListLength++;X++;}}voidmain(){uchari=0;uchardelay_v=100;ucharflag=0;P1=0xFF;P2=0xFF;init_1602();display_1602("STA:SPD:",0,0);display_1602("RUN:",0,1);while(1){if(KEY2==1)DisplayOneChar(4,0,'Z');elseDisplayOneChar(4,0,'F');if(KEY3==0){i++;i=i%3;while(KEY3==0){;}}switch(i){case0:delay_v=100;DisplayOneChar(13,0,'1');break;case1:delay_v=75;DisplayOneChar(13,0,'2');break;case2:delay_v=100;DisplayOneChar(13,0,'3');break;}if(KEY1==0){display_1602("RUN:on",0,1);if(flag==0){if(KEY2==1){temp=0;P1=tab[temp];flag=1;delay(delay_v);}if(KEY2==0){temp=6;P1=tab[temp];flag=1;delay(delay_v);}}if(KEY2==1){temp++;if(temp==8){temp=0;}P1=tab[temp];delay(delay_v);}if(KEY2==0){temp--;if(temp==0xFF){temp=7;}P1=tab[temp];delay(delay_v);}}elsedisplay_1602("RUN:off",0,1);}}6结论经过为期一学期的学习和努力,本次设计顺利完成,具体结论如下:采用单片机作为控制核心,利用其强大的功能,把按键电路和LCD显示电路,电机驱动电路有机的结合起来,组成一个操作方便,交互性强的简单系统。通过系统的设计实现了预期的设计目标,完成了全部的设计任务,具体功能如下:完成了整个系统的硬件设计和软件编程,能通过按键电路控制步进电机的转速控制,能实现启动、正转、反转、速度控制;通过编程实现了通过单片机能输出四相八拍的脉冲控制序列。驱动电路能提供12V,0.3A的驱动信号;整个电机的转速,转动方向等都能通过LCD管显示出来;整个的成果形式是最终以步进电机控制电路板的形式展示出来了。在本设计中作为电机正常工作比较重要的电机驱动模块,本设计中是采用驱动芯片ULN2001来实现的,其特点是成本低,可靠性高,出现问题容易维护,实现相对容易等特点。在电机工作模式上本设计实现了电机的四相八拍种脉冲控制方式。后续工作:在本次设计中更多的是注重整体功能的实现,注重的是操作简单,所以本系统采用了开环控制的方式,电机也是选用的最常用的步进电机。通过在本设计中的学习和查阅资料,想要得到更高性能的控制,可以选用混合式步进电机,采用闭环的细分驱动电路。本设计KEY2用一个按键控制正反转,观察起来有点困难。建议以后有做类似设计任务的时候,预先考虑全面,争取一个键控制一个功能。本设计的硬件制作部分完全是实行的手工焊接,没有制作PCB板,这样的后果就是焊接完电路板之后容易出现问题,检查麻烦,而且要是在后期全部制作调试都完成后再中途出现问题了检查起来是相当的麻烦。所以建议以后有做类似设计任务或者实际应用的时候,尽量采用PCB电路板的形式,这样最大的好处就是硬件的可靠性高,外观美观简洁,尤其是在大量设计的时候,采用PCB电路板成本也不高,值得采用。参考文献[1]张友德.单片微型机原理、应用与实验[M].上海:复旦大学出版社,2005.[2]李夙.异步电动机直接转矩控制[M].北京:机械工业出版社,1998.[3]王鸿钰.步进电机控制入门[M].上海:同济大学出版社,1990.[4]袁任光,张伟武.电动机控制电路选用与258实例[M].北京:机械工业出版社,2005.[5]王秀和.永磁电机[M].北京:中国电力出版社,2007.[6]房玉明,杭柏林.基于单片机的步进电机开环控制系统[J].电机与控制应用,2006,33(4):64-64.[7]孙笑辉,韩曾晋.减少感应电动机直接转矩控制系统转矩脉动的方法[J].电气传动,2001,(1):8-11.[8]冯江华,陈高华,黄松涛.异步电动机的直接转矩控制[J].电工技术学报,1999,(6):29-33.[9]江一,朱凌,申仲涛.异步电动机直接转矩控制仿真研究[J].华北电力大学学报,2003,(1):10-13.[10]韩利虎.浅谈步进电机的基本原理[J].内蒙古石油化工,InnerMongoliaPetrochemicalIndustry,2007,(11):109.[11]张巍.浅谈单片机控制步进电机[J].安防科技,2006,(3):25.[12]乔璐.景林,韩英桃.一种实用的步进电动机驱动器设计[J].微特电机,2005,(10):29-31.康晶.采用反馈控制的步进电机高低压驱动电路[J].电力电子技术,2003,37(1):

温馨提示

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

评论

0/150

提交评论