三相步进电机控制程序及电路_第1页
三相步进电机控制程序及电路_第2页
三相步进电机控制程序及电路_第3页
三相步进电机控制程序及电路_第4页
三相步进电机控制程序及电路_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

1、 成绩课程论文 题 目: 三相步进电机控制系统的设计 课程名称: Proteus 学生姓名: 刘卫东 学生学号: 1214030221 系 别: 电子工程学院 专 业: 通信工程 年 级: 2012级 任课教师: 王丽 电子工程学院制2015年4月三相步进电机控制系统的设计学生:刘卫东指导教师:王丽电子工程学院 通信工程1 系统硬件介绍1.1 AT89C51单片机简介AT89C51是一种带4k字节闪烁可编程课擦除只读存储器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低电压、高性能CMOS8位微处理器,俗称单片机。该器件采用A

2、TMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。主要特性:(1)与MCS-51 兼容(2)4K字节可编程闪烁存储器(3)寿命:1000写/擦循环(4)数据保留时间:10年(5)全静态工作:0Hz-24Hz(6)三级程序存储器锁定(7)128*8位内部RAM(8)32可编程I/O线(9)两个16位定时器/计数器(10)5个中断源(11)可编程串行通道(12)低功耗的闲置和掉电模式(13)片内振荡器和时钟电路1

3、.2 ULN2003A芯片介绍经常在以下电路中使用,作为:1、显示驱动2、继电器驱动3、照明灯驱动4、电磁阀驱动5、伺服电机、步进电机驱动等电路中。基本参数:模块配置:7 NPN电压, Vceo:50V集电极直流电流:500mA直流电流增益hFE:1000工作温度范围:-20°C to +85°C封装类型:PDIP引脚数:16封装类型:DIP晶体管数:7表面安装器件:通孔安装器件标号:2003最大连续电流, Ic:500mA芯片标号:2003输入电压最大:30V输入类型:5V TTL CMOS输出电压最大:50V输出电流最大:0.6A通道数:72硬件电路设计2.1 总体的硬

4、件设计(1) 用K0-K2做为通电方式选择键,K0为单三拍,K1为双三拍,K2为三相六拍;设计一个单片机三相步进电机控制系统要求系统具有如下功能:(2) K3、K4分别为启动和方向控制;(3) 正转时红色指示灯亮,反转时黄色指示灯亮,不转时绿色指示灯亮;(4) 用4位LED显示工作步数。根据设计要求用PROTEUS所做的硬件连线图如图1:图1 总体硬件连线2.2 三相步进电机控制电路2.2.1启/停控制、正/反转控制、工作模式控制电路分析原理图如图2所示;图2 按键控制图(1)K0-K2为工作模式控制开关,KO接电时,为步进电机单三拍工作模式;K1接电时,为步进电机双三拍工作模式;K2接电时,

5、步进电机工作模式为三相六拍,(2)K3为启动/停止控制开关,控制整个系统的开启和关闭。(3)K4为正转/反转控制开关,控制步进电机的转向。(4)K5速度控制(快慢两档)。2.2.2步进电机驱动电路将80C51的作为步进电机的输出控制口。电路图如下所示:图3 步进电机的输出控制口2.3 LED显示电路2.3.1发光二极管显示电路用3个不同的发光二极管来作为指示灯,将P3.6接红灯,P3.7接黄灯,P3.3接绿灯,正转时红色指示灯亮,反转时黄色指示灯亮,不转时绿色指示灯亮。图如下: 图4 指示灯接线图2.3.2八段数码管显示电路由80C51的P0口取出显示码,从80C51的输出位选码,设计中我们主

6、要用到4位显示步数既可。原理图如下:图5 显示器接线图3程序设计流程图设计说明:首先复位单片机,然后从P3口读出开关状态,判断是否启动,没启动绿灯亮重新确认启动。启动后再次读取P3口数据,判断工作方式并将对应的用来存储步进电机工作方式字的数组首地址值给q。由P3.4口的双向开关来控制步进电机的正反转,如果是正转则红灯亮,反转则绿灯亮。在电机每走一步后,步数记数加1,然后通过LED显示把工作步数显示出来。再从P3口把状态信息读出来,与之前的P3口的状态信息进行比较。如果状态信息没有改变,电机继续运行。如果状态信息改变了,就需要重新返回程序的开端,对电机的运行状态进行判断,让电机重新以新的状态运行

7、。由此,开关的状态在电机每走一步都会查询一遍,做到实时地反映。开始P3口、步数清零数码管输出0绿色显示灯亮以已选择的序列输出控制字K0/K1/K2选择工作方式控制字序列短延时长延时步数自增一启/停按键K3按下?正/反转按键K4按下?选择正转控制字序列红灯亮选择反转控制字序列黄灯亮启/停按键K3按下?数码管输出步进步数调速键K5按下?YYNNN图6 总体流程图4 仿真结果与分析4.1 三相步进电机三种工作方式图7为步进电机工作在三相单三拍,此时K0,K3接高电平,K1,K2接低电平启动;图8为步进电机工作在三相双三拍,此时K1,K3接高电平,K0,K2接低电平;图9为步进电机工作在三相六拍,此时

8、K0,K1接低电平,K2,K3接高电平;若K4接高电平则反转,低电平则正转;若K5接高电平速度快,接低电平速度慢。这三种工作方式工作不同,三相单三拍时,通电顺序为A-B-C-A;三相双三拍时,通电顺序为AB-BC-CA-AB;三相六拍时,通电顺序为A-AB-B-BC-C-CA-A;以上通电方式是三种工作方式正转的情况,若要反转,则通电方式放过来即可。 图7步进电机工作在三相单三拍 图8 步进电机工作在三相双三拍图9步进电机工作在三相六拍4.2 相步进电机启动和停止图15 为步进电机工作在启动状态,此时步进电机工作在三种方式之一,K3接高电平。 图10步进电机工作在启动状态图11为步进电机工作在

9、停止状态,此时步进电机工作在三种方式之一,K3接低电平。 图11步进电机工作在停止状态 4.3 三相步进电机正转和反转图12为三相步进电机工作在正转状态,此时K4接低电平。图12为三相步进电机工作在正转状态图13为三相步进电机工作在反转状态,此时K4接高电平图13为三相步进电机工作在反转状态4.4 三相步进电机速度控制图14为三相步进电机处于快速度状态,此时K5接高电平。图14为三相步进电机处于高速度状态图15为三相步进电机处于慢速度状态,此时K5接低电平图15为三相步进电机处于慢速度状态5总结经过一个星期的努力和付出,完成了本次<<proteus>>课程设计,通过本次

10、课程设计提高了我的设计方案和分析问题的能力,加深了对理论知识的理解,做到了理论知识与实践的联系。学会了Proteus这个仿真软件的运用,积累进行课程设计的经验。首先通过本次课程设计,熟练地掌握了三相步进电机控制系统的设计,了解其工作原理,以及电路所用到一些芯片的工作状况,如80C51单片机芯片和ULN2003A驱动芯片以及7SEG-MPX4-CC四位共阴二极管显示器阴,熟悉了它们各自的特点和用途。通过本次课程设计,对理论知识有了更深入的理解,感受到proteus的魅力。其次,通过本次课程设计,大大提高了自己的动手能力和设计能力,加深对Proteus软件功能的理解,学会用这个软件设计三相步进电机

11、控制系统,将理论知识与实践相联系,为以后在学习和工作的发展打下一个良好的基础 。然后,通过该课程设计,初步理解了利用计算机控制技术进行三相步进电机控制系统的设计。参考文献1 于海生编著.计算机控制技术M.北京:机械工业出版社.2005.2 谭浩强编著.C程序设计(第三版)M.北京:清华大学出版社.2008.3 彭虎、周佩琳编著.微机原理与接口技术M. 北京:电子工业出版社.2007.4 刘教瑜、曾勇编著.单片机原理与应用M.武汉:武汉理工大学出版社.2008.5 顶明亮、唐前辉编著.51单片机应用设计与仿真:基于keil与proteusM.北京:北京航空航天大学出版社.2009.6 徐安编著.

12、微型计算机控制技术M. 北京:科学出版社. 2005.7 杨立编著.计算机控制与仿真技术M.北京:中国水利水电出版社. 2006.8 彭旭昀编著.机电控制系统原理及工程应用M.北京:机械工业出版社.2006.9 杨益强、李长虹编著.控制器件M.北京:中国水利水电出版社.2005. 附录:#include<reg51.h> #include<stdio.h> void delay1(void); void delay2(void); void display(int); int bs=0; int cishu;main() char a,b,c,d,j,*q, done1

13、8=0x01,0x02,0x04,0x00,0x01,0x04,0x02,0x00, done28=0x03,0x06,0x05,0x00,0x03,0x05,0x06,0x00,done314=0x01,0x03,0x02,0x06,0x04,0x05,0x00,0x01,0x05,0x04,0x06,0x02,0x03,0x00; P3=0x20; /P3.5口置1,绿灯亮,不工作 delay1(); L: a=P3; while(!(a&0x08) /判断是否启动,若没启动则重新启动 P3=0x20; a=P3; delay1(); a=P3; /判断工作模式 if(a&

14、0x01) /方式1模型 q=done1; if(a&0x02) /方式2模型 q=done2; if(a&0x04) /方式3模型 q=done3;if(a&0x20)cishu=5;else cishu=50;if(a&0x10) /判断电机是否要正转 P3=0x80; /P3.4口为1,电机正转,红灯亮 b=0; else P3=0x40; /P3.4口为,电机反转,黄灯亮 if(a&0x04)b=7; else b=4; d=b; while(1) c=*(q+b); /判断电机步数是否走完 if(c=0)b=d; /步数走完,电机重新再走 el

15、se P1=c; /从P1输出电机控制信号 b+; bs+; /总步数加1 display(bs); /显示步数 j=a; a=P3; if(a!=j) /判断P3口状态信号是否改变 if(!(a&0x08)bs=0; /若为停止信号,总步数清零 goto L; /状态信号改变,返回到开始,重新对电机控制 void delay1() int i,j; for(i=0;i<200;i+) for(j=0;j<300;j+); void display(int n)unsigned char tab10=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x67; unsigned char i,k,t,num4; num0=n%10; /将总步数的各位分别存在num数组中 num1=(n/10)%10; num2=(n/100)%10; num3=(n/10

温馨提示

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

评论

0/150

提交评论