三相步进电机控制系统的设计课程设计 .docx
精品名师归纳总结学 号:0121211360111课 程 设 计指导老师石云2021年5月20日题目三相步进电机掌握系统的设计学院自动化学院专业自动化专业班级自动化 1201 班姓名廖明黎可编辑资料 - - - 欢迎下载精品名师归纳总结课程设计任务书同学姓名: 廖明黎专业班级:自动化 1201 班指导老师:石云工作单位:自动化学院 题目:三相步进电机掌握系统的设计初始条件:设计三相步进电机掌握系统,要求系统具有如下功能:用K0-K2 做为通电方式挑选键, K0 为三相单三拍, K1 为三相双三拍, K2 为三相六拍。 K3 为启动/停止掌握、 K4 方向掌握、 K5 加速、 K6 减速。用 4 位 LED 显示工作步数 .用 3 个发光二极管显示状态:正转时黄灯亮,反转时绿灯亮,不转时红灯亮.要求完成的主要任务 :1. 硬件设计:系统原理图2. 软件设计:系统总体流程图、步进电机单三拍,双三拍,三相六拍各模块流程图、显示模块流程图等3. 编写程序:能够完成上述任务并用仿真软件演示4. 完成符合要求的设计说明书时间支配:2021 年 4 月 28 日2021年 5 月 29 日可编辑资料 - - - 欢迎下载精品名师归纳总结目录1 概述 .42 设计思路 .42.1 步进电机的驱动 .4.2.2 LED 显示步数 .5.2.3 按键状态的读取 .5.2.4 掌握系统的整体框图 .5.3 系统的硬件设计 . .63.1 总体的硬件设计 .6.3.2 步进电机掌握电路 .7.3.3 八段数码管显示电路 .8.3.4 启/停掌握、正 /反转掌握、工作模式掌握电路 8.3.5 发光二极管显示电路 .1 04 系统的软件设计 . .114.1 系统总体流程图114.2 三相步进电机模块流程图 .1 34.3 显示模块流程图 .1 35 系统仿真 .146 小结与体会 .16参考文献 .16附录 .17可编辑资料 - - - 欢迎下载精品名师归纳总结三相步进电机掌握系统的设计1 概述本次运算机掌握技术课程设计的题目是:三相步进电机掌握系统的设计.本次课程设计使用 89C51 单片机作为主控芯片,利用 ULN2003A 集成电路作为三相步进电机的驱动电路,采纳单极性驱动方式,使三相步进电机能在(1)三相单三拍,( 2)三相双三拍,( 3)三相六拍三种工作方式下正常工作。能实现的功能有 :启动/停止掌握、方向掌握。快速掌握、慢速掌握。用4 位 LED 数码管显示工作步数 .用 3 个发光二极管显示状态:正转时黄灯亮,反转时绿灯亮,不转时红灯亮 .本次课程设计采纳 89C51 单片机作为主控芯片,程序采纳C 语言来编写,驱动电路采纳ULN2003A 集成电路,显示器采纳7SEG-MPX4-CA, 即四位共阳二极管显示器, P0接段码, P2 的 4 位 IO 口接位选码 .用三个发光二极管显示电路的转动状况,黄灯指示正转,绿灯指示反转,红灯指示不转.采纳Proteus软件进行仿真 .在 Keil uVsuon4 编程环境下编程和编译生成 HEX 文件, 导入到 89C51 单片机,实现对各个模块的掌握,实现我们所需要的功能.本次设计的方案电路结构比较简洁,设计思路很清楚清楚,用Proteus软件进行联调仿真,结果比较直观 .在这次课程设计学习中我学到了许多学问,知道了三相步进电机掌握系统的组成以及怎样用89C51 单片机去掌握它,这对我在课堂所学的运算机掌握技术学问是个巩固和加强,让我把课堂所学的理论学问真实的用到实践中,亲自动手,增强了我的动手设计才能,对自己将来的学习和工作进展起到了很好的作用 .2 设计思路2.1 步进电机的驱动如使用功率三极管等电子器件搭建胜利率驱动电路来驱动电机的运行.优点是使用电子器件联接,电路比较简洁,但简洁受干扰,信号不够稳固,缺点是器件较大而不便电路的集成,使用时很不便利,联接时简洁出错误.而相对于使用特的的电机驱动芯片ULN2003A 来驱动电机运行 .优点是便于电路的集成,且驱动电路简洁,驱动信号很稳固,不易受外界环境的干扰.因而可编辑资料 - - - 欢迎下载精品名师归纳总结设计的三相步进电机掌握系统性能更好.故挑选使用 ULN2003A 电机驱动芯片来作为驱动 .2.2 LED 显示步数把所需要显示的数据通过专用的七段显示译码器的转换输出给LED 显示屏. 优点是输出比较简洁,可以简化程序,但增加了芯片的费用,电路也比较复杂. 可以通过软件把所要的数据转化为七段显示的数据,直接通过单片机接口连接7SEG-MPX4-CA 四位共阳二极管显示器来显示,尽管软件编写的负担,但大大简化了电路 .故使用软件编写来输出显示信号 .2.3 按键状态的读取按键的读取有中断与查询两种方式 .这里挑选直接把开关分别接在单片机的接口上,通过查询端口信号来动作 .使程序得到简化,可读性加强 .2.4 掌握系统的整体框图图 2-1 为系统总体设计整体框图,由单片机89C51、ULN2003A 驱动芯片、三相步进电机、 7 段 LED 数码管、 7 个按键开关、 3 个 led 等一些电路模块组成.可编辑资料 - - - 欢迎下载精品名师归纳总结LED 显示灯显示电机工开关挑选电机工作模式作状态图 2-1 掌握系统总框图3 系统的硬件设计3.1 总体的硬件设计设计一个单片机三相步进电机掌握系统要求系统具有如下功能:(1) 用 K0-K2 做为通电方式挑选键, K0 为单三拍, K1 为双三拍, K2 为三相六拍。(2) K3、K4 分别为启动和方向掌握。(3) K5、K6 分别为加速和减速掌握。(4) 正转时黄色指示灯亮,反转时绿色指示灯亮,不转时红色指示灯亮。(5) 用 4 位 LED 显示工作步数 .依据设计要求用 PROTEUS 所做的系统原理图如图 3-1 所示:可编辑资料 - - - 欢迎下载精品名师归纳总结图 3-1 系统原理图3.2 步进电机掌握电路将 89C51 的 P1.0-P1.3作为步进电机的输出掌握口 .通过芯片 ULN2003A 的功率放大,驱动步进电机 .电路图如图 3-2 所示:可编辑资料 - - - 欢迎下载精品名师归纳总结图 3-2 步进电机掌握电路图3.3 八段数码管显示电路由 89C51 的 P0 口取出显示码,从 89C51 的 P2.0-P2.3输出位选码,设计中我们主要用到 4 位显示步数即可 .电路图图如图 3-3 所示:图 3-3 八段数码管显示电路图3.4 启/停掌握、正 /反转掌握、工作模式掌握电路(1) K0-K2 为工作模式掌握开关, KO 接电时,为步进电机单三拍工作模可编辑资料 - - - 欢迎下载精品名师归纳总结式。 K1 接电时,为步进电机双三拍工作模式。 K2 接电时,步进电机工作模式为三相六拍 .(2) K3 为启动/停止掌握开关,掌握整个系统的开启和关闭.(3) K4 为正转/反转掌握开关,掌握步进电机的转向 .(4) K5 为加速掌握、 K6 为减速掌握 .可编辑资料 - - - 欢迎下载精品名师归纳总结电路图如图 3-4 所示:图 3-4 按键掌握电路图3.5 发光二极管显示电路用 3 个不同颜色的发光二极管来作为指示灯显示,将P1.7 接黄灯, P1.6 接绿灯, P3.3 接红灯,正转时黄色指示灯亮,反转时绿色指示灯亮,不转时红色指示灯亮 .可编辑资料 - - - 欢迎下载精品名师归纳总结电路图如图 3-5 所示:图 3-5 发光二极管显示电路图4 系统的软件设计4.1 系统总体流程图第一以查询的方式,从 P3 口读出开关状态,判定是否启动,没启动红灯亮同时黄绿灯灭,重新确认启动 .启动后再次读取 P3 口数据,依次判定工作方式,并将对应的用来储备步进电机工作方式字的数组首的址值给q.再判定速度方式,通过对 P3.5、P3.6 的询问,确定是加速仍是减速 .由 P3.4口的双向开关来掌握步进电机的正反转,假如是正转就黄灯亮绿灯灭,反转就绿灯亮黄灯灭.在电机每走一步后,步数记数加 1,然后通过 LED 显示把工作步数显示出来 .再从P3 口把状态信息读出来,与之前的P3口的状态信息进行比较 .假如状态信息没有转变,电机连续运行 .假如状态信息转变了,就需要重新返回程序的开端,对电机的运行状态进行判定,让电机重新以新的状态运行.由此,开关的状态在电机每走一步都会查询一遍,做到实时的反映.可编辑资料 - - - 欢迎下载精品名师归纳总结系统总体流程图如图 4-1 所示:开头可编辑资料 - - - 欢迎下载精品名师归纳总结步数清零,数码管输出 0,红色显重新启动可编辑资料 - - - 欢迎下载精品名师归纳总结可编辑资料 - - - 欢迎下载精品名师归纳总结启/停按键 K3按下?YN红灯亮可编辑资料 - - - 欢迎下载精品名师归纳总结可编辑资料 - - - 欢迎下载精品名师归纳总结判定工作方式Yq 储备方式字的址指针N正/反转按键 K4按下?Y方式 1?N方式 2?N方式 3?可编辑资料 - - - 欢迎下载精品名师归纳总结正转,黄灯反转,绿灯P1 口输出掌握模型模型的址加 1,总步数加 1显示总步数YNP3 口状态是否转变?图 4-1 系统总体流程图可编辑资料 - - - 欢迎下载精品名师归纳总结4.2 三相步进电机模块流程图对于步进电机模块的程序设计采纳循环程序设计方法.先把正反转向的掌握模型存放在内存单元中,然后再逐一从单元中取出掌握模块并输出.第一启动, 挑选步进电机的拍数,输入步数,然后读入正反转的掌握模型驱动步进电机转动.三相步进电机的流程图如图 4-2 所示:分模块入口YP3.0=1.挑选单三拍掌握字序列输出NYP3.1=1.NYP3.2=1.挑选双三拍掌握字序列输出N挑选三相六不输出任何信号拍掌握字序列输出分模块出口图 4-2 步进电机模块流程图4.3 显示模块流程图显示模块是用 4 位八段数码管来显示工作步数 .先将显示码存入数组中,指向最左边一位,然后取出要显示的数据,指向换码表首的址,取出显示码,从 P0 口输出显示码, P2 口输入位选码,显示出 4 位工作步数,最终修改数组的址,求下一位位选码连续显示 .可编辑资料 - - - 欢迎下载精品名师归纳总结动态显示步数子程序取出要显示的步数求待显示数据送位选码到 P2 口求下一位选码取出显示码,并从P0口输出显示码延时N4 位显示完?Y返回主程序如图 4-3 所示:可编辑资料 - - - 欢迎下载精品名师归纳总结5 系统仿真图 4-3 显示模块流程图可编辑资料 - - - 欢迎下载精品名师归纳总结图 5-1 为步进电机工作在三相单三拍,此时K0,K3 接高电平, K1,K2 接低电平启动。图 5-2 为步进电机工作在三相双三拍,此时K1,K3 接高电平 ,K0,K2 接低电平。图 5-3 为步进电机工作在三相六拍,此时K0,K1 接低电平 ,K2,K3 接高电平。如 K4 接高电平就反转,低电平就正转。如K5 接高电平 K6 接低电平速度快, K5 接低电平 K6 接高电平速度慢 .这三种工作方式工作不同,三相单三拍时,通电次序为 A-B-C-A 。三相双三拍时,通电次序为 AB-BC-CA-AB 。三相六拍时,通电次序为A-AB-B-BC-C-CA-A 。以上通电方式是三种工作方式正可编辑资料 - - - 欢迎下载精品名师归纳总结转的情形,如要反转,就通电方式K4 反过来即可 .图 5-1 步进电机工作在三相单三拍图 5-2 步进电机工作在三相双三拍可编辑资料 - - - 欢迎下载精品名师归纳总结可编辑资料 - - - 欢迎下载精品名师归纳总结6 小结与体会图 5-3 步进电机工作在三相六拍可编辑资料 - - - 欢迎下载精品名师归纳总结经过这个学期对运算机掌握技术这门课的学习,使我很大程度上对单片机的应用,对各种设备的掌握,有了许多切身的感悟和把握.在一个星期的努力下,完成了本次课程设计的设计、仿真和撰写,不仅提高了我的动手实践能力、动脑摸索的训练,仍使我更敏捷的学会使用Proteus这个仿真软件。同时在完成课程设计中更加娴熟的把握了三相步进电机掌握系统的设计,及其工作原理,以及电路所用到一些芯片的工作状况,如89C51 单片机芯片和 ULN2003A 驱动芯片以及 7SEG-MPX4-CA 四位共阳二极管显示器,熟识了它们各自的特点和用途.本次课程设计涉及到了运算机技术,自动掌握技术,微机技术,数字电子技术等众多学问 .需要我们把各个学科之间的学问融合起来,形成一个整体.这是我明白的学科的联系和学问的整体性 .这不仅提升了我的专业思维,更让我享受了一番学问的旅行 .参考文献1 于海生编著 .运算机掌握技术 .北京:机械工业出版社 .2005可编辑资料 - - - 欢迎下载精品名师归纳总结2 谭浩强编著 .C 程序设计(第三版) .北京:清华高校出版社 .20213 彭虎、周佩琳编著 .微机原理与接口技术 . 北京:电子工业出版社 .2007.4 刘教瑜、曾勇编著 .单片机原理与应用 .武汉:武汉理工高校出版社 .20215 顶光明、唐前辉编著 .51 单片机应用设计与仿真:基于keil 与 proteus.北京:北京航空航天高校出版社 .20216 徐安编著 .微型运算机掌握技术 . 北京:科学出版社 . 2005.7 杨立编著 .运算机掌握与仿真技术 . 北京:中国水利水电出版社 . 20068 彭旭昀编著 .机电掌握系统原理及工程应用 .北京:机械工业出版社 .20069 杨益强、李长虹编著 .掌握器件 .北京:中国水利水电出版社 .2005附录#include<reg51.h> void delayvoid 。void displayint 。sbit P1_0=P10。sbit P1_1=P11。sbit P1_2=P12。sbit P1_6=P16。sbit P1_7=P17。int bushu=0。int cishu=5。mainchar a,b,c,d,j,*q, done18=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 。L:a=P3。可编辑资料 - - - 欢迎下载精品名师归纳总结while.a&0x08/ 判定是否启动,如没启动就重新启动P1_6=0。/红灯亮,黄绿灯灭P1_7=0。a=P3。a=P3。/判定工作模式ifa&0x01 q=done1。/方式 1 模型ifa&0x02 q=done2。/方式 2 模型ifa&0x04 q=done3。/方式 3 模型ifa&0x20 cishu=5 。/掌握脉冲次数,即速度ifa&0x40 cishu=50 。ifa&0x10/ 判定电机是否要正转 P1_6=1。/P3.4口为 1,电机正转,绿灯亮P1_7=0。b=0。 else P1_7=1。/P3.4口为 0,电机反转,黄灯亮P1_6=0。ifa&0x04b=7 。else b=4。 d=b。 while1 c=*q+b 。可编辑资料 - - - 欢迎下载精品名师归纳总结ifc=0b=d。 /判定电机步数是否走完步数走完,电机重新再走elseP1_0=c&0x01。P1_1=c&0x02。P1_2=c&0x04。/从 P1 输出电机掌握信号b+。bushu+。/总步数加 1 displaybushu。/显示步数j=a。a=P3。ifa.=j/ 判定 P3 口状态信号是否转变 if.a&0x08bushu=0 。 /如为停止信号,总步数清零,跳出循环if.a&0x10 。/如为方向信号,跳出循环goto L。 / 状态信号转变,返回到开头,重新对电机掌握void displayint nunsigned 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/1000%10。可编辑资料 - - - 欢迎下载精品名师归纳总结fort=0。t<cishu。t+/扫描快慢指定次数次 k=0x08 。/位选码指向最左一位 ,第四位fori=0 。i<4。i+ P2=k。/从 P2 口输入位选码P0=tabnumi 。 /取出显示码,并从 P0 口输出显示码k=k>>1。/求下一个位选码delay。void delayint i,j 。fori=0。i<20 。i+ forj=0 。j<30 。j+ 。可编辑资料 - - - 欢迎下载