步进电机控制系统设计课程设计_第1页
步进电机控制系统设计课程设计_第2页
步进电机控制系统设计课程设计_第3页
步进电机控制系统设计课程设计_第4页
步进电机控制系统设计课程设计_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

PAGE0课程名称微机原理与应用课题步进电机控制系统设计专业班级***学生姓名***学号***指导老师***审批目录TOC\o"1-2"\h\z\u第1章概述 11.1单片机概述 11.2步进电机概述 2第2章系统总体方案设计 32.1系统总体设计思路 32.2系统总体设计方案方框图 3第3章硬件介绍与说明 43.1开发板按键硬件连接及实物说明 43.2开发板数码管硬件连接及实物说明 53.3开发板步进电机硬件连接及实物图 6第4章软件设计流程 74.1系统整体流程概述 74.2系统整体流程图 8第5章调试结果与说明 95.1系统调试 95.2调试说明 95.3调试结果 10第6章总结 12参考文献 13附录 14附录A系统原理图 14附录B程序清单 15PAGE13第1章概述1.1单片机概述单片机是指一个集成在一块芯片上的完整计算机系统。尽管他的大部分功能集成在一块小芯片上,但是它具有一个完整计算机所需要的大部分部件:CPU、内存、内部和外部总线系统,目前大部分还会具有外存。同时集成诸如通讯接口、定时器,实时时钟等外围设备。而现在最强大的单片机系统甚至可以将声音、图像、网络、复杂的输入输出系统集成在一块芯片上。

单片机也被称为微控制器(Microcontroller),是因为它最早被用在工业控制领域。单片机由芯片内仅有CPU的专用处理器发展而来。最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。INTEL的Z80是最早按照这种思想设计出的处理器,从此以后,单片机和专用处理器的发展便分道扬镳。AT89系列单片机。他不但具有一般MCS-51单片机的所有特性,而且还拥有一些独特的优点,此次设计中所用到的STC90C52RC就是其中典型的代表。STC单片机是以51内核为主的单片机:●高速:1个时钟/机器周期,增强型8051内核,速度比普通8051快8~12倍

●宽电压:5.5~4.1V/3.7V,3.6V~2.4V/2.1V(STC11/10L系列)

●低功耗设计:空闲模式(可由任意一个中断唤醒)

●低功耗设计:掉电模式(可由任意一个外部中断唤醒,可支持下降沿/低电平和远程唤醒,STC11xx系列还可通过内部专用掉电唤醒定时器唤醒)

●工作频率:0~35MHz,相当于普通8051:0~420MHz。1.2步进电机概述步进电机是一种感应电机,它的工作原理是利用电子电路,将直流电变成分时供电的,多相时序控制电流,用这种电流为步进电机供电,步进电机才能正常工作,驱动器就是为步进电机分时供电的,多相时序控制器感应子式步进电机与传统的反应式步进电机相比,结构上转子加有永磁体,以提供软磁材料的工作点,而定子激磁只需提供变化的磁场而不必提供磁材料工作点的耗能,因此该电机效率高,电流小,发热低。因永磁体的存在,该电机具有较强的反电势,其自身阻尼作用比较好,使其在运转过程中比较平稳、噪音低、低频振动小。

感应子式步进电机某种程度上可以看作是低速同步电机。一个四相电机可以作四相运行,也可以作二相运行。(必须采用双极电压驱动),而反应式电机则不能如此。例如:四相,八相运行(A-AB-B-BC-C-CD-D-DA-A)完全可以采用二相八拍运行方式。一个二相电机的内部绕组与四相电机完全一致,小功率电机一般直接接为二相,而功率大一点的电机,为了方便使用,灵活改变电机的动态特点,往往将其外部接线为八根引线(四相),这样使用时,既可以作四相电机使用,可以作二相电机绕组串联或并联使用。完成一个磁场周期性变化所需脉冲数或导电状态用n表示,或指电机转过一个齿距角所需脉冲数,以四相电机为例,有四相拍运行方式即AB-BC-CD-DA-AB,四相八拍运动方式即A-AB-B-BC-C-CD-D-DA-A。虽然步进电机已被广泛地应用,但步进电机并不能象普通的直流电机,交流电机在常规下使用。它必须由双环形脉冲信号、功率驱动电路等组成控制系统方可使用。因此用好步进电机却非易事,它涉及到机械、电机、电子及计算机等许多专业知识。第2章系统总体方案设计2.1系统总体设计思路本系统,通过选取单片机的四个独立键盘作为信号控制的按键输入,并连接到单片机的P3口,通过单片机内部的处理将键盘的输入信号读入并执行相应的动作,并从P,0,P2口分别接数码管的段选端和位选端,从而使得四位数码管能按指定要求显示指点的档位加减,和步进电机运行状态的效果。同时利用程序对步进电机(本方案中采取四项四拍的方式)实施与数码管同步的相应运转状态,从而使得整个步进电机控制系统得以准确的实现。具体设计方框图如下。2.2系统总体设计方案方框图P1PP1P0STC89C54RTP3P2键盘输入驱动步进电机段选信号四位数码管片选信号键盘第3章硬件介绍与说明本系统采用自备的STC89C54RD+系列的单片机开发板进行硬件搭接与调试,并利用C语言编程来实现硬件的既定功能。下面就对此些列开发板的硬件电路原理图进行相应的说明。3.1开发板按键硬件连接及实物说明图3.1按键硬件连接及实物图图中S1~S4可以配置成独立按键,即通过一个眺冒J11切换,在独立键盘配置中,应该把眺冒跳到左端,此时独立键盘才有效,由于,此个步进电机控制系统中所用的按键刚好四个即可满足要求,因此,系统中采用独立键盘。本系统设计通过四个独立按键S1,S2,S3,S4接入单片机P3口前四位,当S1键按下时,步进电机正转,当S2键按下时,步进电机反转,当S3键按下时,步进电机通过按键的次数来增大步进电机的脉冲频率从而在原有的转速上进行加速,当S4键按下时,步进电机通过按键的次数来减小步进电机的脉冲频率从而在原有的转速上进行减速。由此,通过四个按键的控制即可实现步进电机的准确控制。 3.2开发板数码管硬件连接及实物说明图3.2数码管硬件连接及实物图图中74HC57311脚接VCC,锁存不起作用,相当于直通,相应的段赋值为1,A,B,C赋值0~7,则输出端分别是Y0~Y7置0,从而选通七个数码管,在此步进电机控制系统中仅使用三个数码管,一个用来显示电机运转状态,另外两个用来显示电机转速的不同档位。本系统设计通过P0口控制数码管的段选,P2口控制数码管的八位数码管的位选,利用数码管的动态扫描选通数码管的1,4,5位数码管,其中第1位为电机的转动状态,4,5位显示一个十位数以用来表示电机转动速度及档位的显示。3.3开发板步进电机硬件连接及实物图图3.3步进电机硬件连接及实物图图中ABCD为4相信号输入端,此端默认为悬空,需要用4根杜邦线连接至单片机I/O口,在此系统中,在软件中定义ABCD4相分别为P1.0,P1.1,P1.2,P1.3,即可利用4根杜邦线将其连接即可。本系统设计接的是四项的步进电机,每项分别接到P1.0,P1.1,P1.2,P1.3端口上,并通过程序来控制P1高低电平的循环输出。由于此电机利用的是四项四拍方式来驱动电机,因此,通过程序中的设置从而选择合适的脉冲输出频率从P1口的转换成高低电平信号输出,从而可以有效的驱动电机。第4章软件设计流程4.1系统整体流程概述本系统通过C语言编程,其中包括数码管显示部分,键盘扫描部分,步进电机控制部分三个主要部分,进入程序先给数码管初始化然后设置中断的工作状态同时开启总中断,然后进入键盘扫描程序部分,首先判断S1键的状态,并通过按键的去抖程序后,给档位进行初始设置,同时设置标志位为1。然后在保证S2键没有按下的前提下进入转速控制子模块并开始检测S3,S4键的状态,并分别在相应的键按下时对档位进行相应的加减,并同步修改电机的转速参数。之后,再对中断装入初值,S1键按下的程序中开启中断,从而程序进入中断并通过标志位的选择从而进入电机正反转的程序,并最后进入数码管的动态扫描。同理可以对S2键进行扫描,流程与上相似。4.2系统整体流程图主程序主程序数码管,中断初始化 数码管,中断初始化键盘扫描键盘扫描有无键按下?N有无键按下?NYY 四号键按下,启动中断三号键按下,启动中断二号键按下,启动中断一号键按下,启动中断四号键按下,启动中断三号键按下,启动中断二号键按下,启动中断一号键按下,启动中断正反转符号不变,档位减一正反转符号不变,档位加一数码管显示反转符号和档位数码管显示正转符号和档位正反转符号不变,档位减一正反转符号不变,档位加一数码管显示反转符号和档位数码管显示正转符号和档位等待键抬起等待键抬起图4.1系统工作流程图第5章调试结果与说明5.1系统调试本系统调试过程中采用直接硬件调试的方法,对整体的系统程序进行分解排故,首先对八段显像管进行数字显示测试,然后对键盘进行按键响应测试,当测试都得到正确结果时,将键盘与显示结合起来,并给予恰当的字型码,最后加入定时器中断程序,给出正确的脉冲信号和频率。5.2调试说明在调试过程中出现了不少问题,通过不同方法得到了解决,在此逐一进行说明:(1)显示管出现不停闪烁,不能清晰显示的问题,后查出由于延时程序过长没有小于眼镜分辨频率所致,缩短定时器定时后解决。(2)按键出现按下一键响应多次的情况,后查出由于键位抬起子程序书写不当,造成键盘多次响应,并加上了松手去抖程序后问题得以顺利解决。(3)在设计中断初值重装的时候,发现要适时的修改步进电机的脉冲频率,可以直接将控制电机转速参数的量直接赋到初值里面,这样的效果比通过固定初值再去计数的效果要好5.3调试结果图5.1电机正转显示效果图图5.2电机反转显示效果图图5.3电机最高档位显示效果图图5.4电机最低档位显示效果图第6章总结这次单片机课程设计让我获益很多,由于先前我自己已经对单片机的基本功能都有个比较具体的了解,因此,对于这个课程设计我并不是很担心,因此,对于选题我也并不是很在意,那天老师给我们布置了课题后,我接到的是步进电机控制的课题,由于平时我对步进电机控制上并没有下太大的功夫,因此,对于这个课题还是比较陌生的,但是,我并不担心,接到课题后我就开始准备程序。其实,我做的还是比较顺利,由于先前一些基本的程序我自己都有编过,因此很多基本的模块就可以直接调用,像键盘扫描模块就可以直接调用,由于先前我的程序都是用C语言编的,因此,我也就没有打算用汇编语言编程,将这些外面的控制模块都编好了后,我就开始查资料了解步进电机的工作原理及程序控制方法,了解完后,我也很顺利的编好了电机驱动程序,接下来就剩下了最后一个功能部分,也算是最关键的部分,那就是电机的加速减速,一开始,我是利用按键的按下次数来控制步进电机的延时程度,从而达到电机转速控制的效果。弄好了这个程序后,我后来就去拿给老师检查,但是老师说我的档位设置的不够,同时最好利用中断来控制步进电机的脉冲频率,要我回家继续修改,因此,我拿回程序后继续改进方案,最后,终于,按照老师的要求完成了目标同时也有了个比较好的硬件显示效果。至此,我的程序编译调试阶段算是结束了,剩下的就是报告的书写,我们老师对我们要求很严格,报告一定要按照老师指定的规范书写,因此,在报告的书写上我们也获益匪浅,也理解到了做事情一定要细致。通过这次单片机课程设计,我不仅又重温了一下单片机的操作,同时也让我加深了对单片机的了解,尤其是对步进电机的工作原理及运转状态的控制有了个比较形象的认知,让我,在单片机上又有了更进一步的提升。最后,也得感谢我们的指导老师,由于她的严格要求让我们学到了更多。参考文献王迎旭编.《单片机原理与应用》[M].机械工业出版社.楼然苗编.《51系列单片机设计实例》[M].北京航空航天大学出版社.黄勤编.《计算机硬件技术基础实验教程》[M].重庆大学出版社4、刘乐善编.《微型计算机接口技术及应用》[M].华中科技大学出版社.5、陈光东编.《单片微型计算机原理及接口技术》[M].华中科技大学出版社.附录附录A系统原理图图A系统整体原理图 附录B程序清单#include<reg52.h>sbitkey1=P3^0;//定义按键位置sbitkey2=P3^1;sbitkey3=P3^2;sbitkey4=P3^3;unsignedintsudu,dang,flag,a,b,c,num,num1;unsignedchari=0;unsignedcharcodetab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x71,0x7C,0x77,0x6d};unsignedcharcodeseg[]={0,1,2,3,4,5,6,7};unsignedcharcodeF_Rotation[4]={0xf1,0xf2,0xf4,0xf8};//正转表格unsignedcharcodeB_Rotation[4]={0xf8,0xf4,0xf2,0xf1};//反转表格voiddelay(unsignedintcnt)//延时子程序{while(--cnt);}voidadd(){ if(!key3){ delay(1000); if(!key3){ dang++; if(dang>=19) dang=19;} while(!key3);} if(!key4){delay(1000);if(!key4){dang--; sudu=sudu+50;if(dang<=1) dang=1;} while(!key4);} switch(dang){ case1:sudu=1800;break; case2:sudu=1700;break; case3:sudu=1600;break; case4:sudu=1500;break; case5:sudu=1400;break; case6:sudu=1300;break; case7:sudu=1200;break; case8:sudu=1100;break; case9:sudu=900;break; case11:sudu=800;break; case12:sudu=700;break; case13:sudu=600;break; case14:sudu=500;break; case15:sudu=400;break; case16:sudu=300;break; case17:sudu=200;break; case18:sudu=100;break; case19:sudu=10;break;}}main(){TMOD=0X01;EA=1;ET0=1;sudu=500;while(1){if(!key1){delay(1000); if(!key1) { dang=10; while(1) { if(key2==1) { add(); sub(); TH0=(65536-sudu)/256; TH1=(65536-sudu)%256; a=10;//显示F标示正转 b=dang/10; c=dang%10; flag=1; TR0=1;} elsebreak; }}}if(!key2){ delay(1000);//去抖动 if(!key2) { dang=10; while(1) { if(key1==1) { add(); sub(); TH0=(65536-sudu)/256;

温馨提示

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

评论

0/150

提交评论