您好!欢迎进入无锡惠斯通电机科技有限公司官网 !

    联系我们
    服务热线
    13901635301
    联系人:赵先生
    手机:13901635301
    电话:0523-83765066
    地址:江苏省兴化市张郭镇刘西工业园区民营路168号
    两相步进电机步进电机的运转是由电 脉冲信
    浏览:33 发布日期:2021-01-28 17:26:36

      步进电机的正反转及加减速设计 报告_电子/电路_工程科技_专业资料。课程设计 设计题目: 单片机控制步进电机 学生姓名: 蔡月秋 指导教师: 高峰 二级学院: 龙蟠 专 业:电气工程及其自动化 班 级:M11 电气工程及其自动化 学 号: 112110

      课程设计 设计题目: 单片机控制步进电机 学生姓名: 蔡月秋 指导教师: 高峰 二级学院: 龙蟠 专 业:电气工程及其自动化 班 级:M11 电气工程及其自动化 学 号: 1121109032 目录 摘要...................................................2 1.设计任务和要求.......................................2 2.设计思路.............................................3 3.系统硬件设计.........................................4 3.1 硬件电路的工作原理..............................4 3.2 步进电机模块....................................4 3.3 控制模块........................................5 3.4 主要元件介绍....................................5 4.软件编程.............................................10 4.1 主流程图.......................................19 4.2 主要程序.......................................11 4.3 程序分块介绍...................................15 5.调试过程与结果......................................19 5.1 正转结果显示..................................19 5.2 反转结果显示..................................21 5.3 停止结果显示..................................22 6.总结与体会.........................................23 7.参考资料...........................................24 8.附录...............................................25 1 单片机控制步进电机 摘要 本文章重点介绍如何利用 89C51 单片机软件编程控制输出脉冲的相序、频 率、数量,从而达到控制步进电机的旋转方向、速度以及位置。主要设计思想通 过控制台控制程序的开关来控制电机的转动。电源驱动 89C51 单片机,在 89C51 中装载程序,通过开关按键来输入信号,89C51 向驱动电路提供信号使步进电机 动作。 关键词:89C51 单片机 控制 步进电机 1 设计任务和要求 单片机课程设计是考察学生利用所学过的专业知识,进行综合的电机控制系 统设计并终完成实际系统连接,能够使学生对电气与自动化的专业知识进行综 合应用,培养学生的创新能力和团队协作能力,提高学生的动手实践能力。终 形成一篇符合规范的设计说明书,并参加综合实践答辩,为后期的毕业设计做好 准。 本次设计考核的要有: 1) 专业知识应用能力,包括电路分析、电子技术、单片机、检测技术、电 气控制、电机与拖动、微特电机及其驱动、计算机高级语言、计算机辅 助设计、计算机办公软件等课程,还包括本专业的拓展性课程如变频器、 组态技术、现场总线技术、伺服电机等课程。 2) 项目设计与运作能力,团队协作能力,技术文档撰写能力,PPT 汇报与 口头表达能力。 3) 电气与自动化系统的设计与实际应用能力。 要求完成的工作量包括: 1) 现场仿线) 学生结合课题进行 PPT 演讲与答辩。 3) 学生上交课题要求的各类设计技术文档。 2 2 设计思路 电路基本理论: 步进电机是一种将电脉冲转变为角位移的执行机构,通俗一点讲:当步进驱 动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角 度。可通过控制脉冲数来控制角位移量,从而达到准确的定位目的。通过对步进 电机的软件设计和硬件设计包括步进电机的结构、原理及应用,根据原理和硬件 的设计利用 c 语言编写程序,经过反复运行和调试,实现单片机对步进电机的控 制。 步进电机是机电控制中一种常用的执行机构,它的用途是将电脉冲转化为角 位移,它的的驱动电路根据控制信号工作,控制信号由单片机产生。当步进驱动 器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度, 控制换相顺序,即通电控制脉冲必须严格按照一定顺序分别控制各相的通断。通 过控制脉冲个数即可以控制角位移量,从而达到准确定位的目的。控制步进电机 的转向,即给定工作方式正序换相通电,步进电机正转,若按反序通电换相,则 电机就反转。控制步进电机的速度,即给步进电机发一个控制脉冲,它就转一步, 再发一个脉冲,它会再转一步,两个脉冲的间隔越短,步进电机就转得越快。同 时通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。 基于单片机和 proteus 的步进电机控制电路的基本组成如图所示: 图 2-1 根据设计要求,采用的方案如下。硬件部分实现电机转动,包括控制开关模 块;电机转动模块。软件部分实现对步进电机的控制功能,主要设计思想通过控 制台控制程序的开关来控制电机的转动。电源驱动 89C51 单片机,在 89C51 中装 载程序,通过开关按键来输入信号,89C51 向驱动电路提供信号使步进电机动作。 3 3 系统硬件设计 3.1 硬件电路的工作原理 图 3-1 通过对开关 k1 k2 k3 的开关,来实现对步进电机的正反转和停止,通过 k4 k5 来进行加减速,并且有相应的 LED 灯的显示。 3.2 步进电机模块 图 3-2 功能:单片机输出的程序通过转换器和电机驱动器给步进电机一个脉冲信 号,使步进电机实现正转与反转。 4 3.3 控制模块 图 3-3 功能:通过控制台实现对单片机程序的开与关 3.4 主要元件介绍: 3.4.1 步进电机: 步进电机是数字控制电机,它将脉冲信号转变成角位移,两相步进电机即给一个脉冲信号, 步进电机就转动一个角度,因此非常适合于单片机控制。步进电机区别于其他控 制电机的特点是:它是通过输入脉冲信号来进行控制的,即电机的总转动角 度由输入脉冲数决定,而电机的转速由脉冲信号频率决定。 步进电机分三种:永磁式(PM),反应式(VR)和混合式(HB),步进电机又 称为脉冲电机,是工业过程控制和仪表中一种能够快速启动,反转和制动的执行 元件,其功用是将电脉冲转换为相应的角位移或直线位移,由于开环下就能实现 定位的特点,使其在工业控制领域获得了广泛应用。步进电机的运转是由电 脉冲信号控制的,其角位移量或线位移量与脉冲数成正比,每个一个脉冲,步进 电机就转动一个角度(不距角)或前进、倒退一步。步进电机旋转的角度由输入 的电脉冲数确定,所以,也有人称步进电机为数字/角度转换器。 步进电机 28BYJ48: 图 3-4 5 步进电机 28BYJ48 型四相八拍电机,电压为 DC5V—DC12V。当对步进电机施 加一系列连续不断的控制脉冲时,它可以连续不断地转动。两相步进电机每一个脉冲信 号对 应步进电机的某一相或两相绕组的通电状态改变一次,也就对应转子转过一定的 角度(一个步距角)。当通电状态的改变完成一个循环时,转子转过一个齿距。 四 相步进电机可以在不同的通电方式下运行,常见的通电方式有单(单相绕组通电) 四拍(A-B-C-D-A。。。),双(双相绕组通电)四拍(AB-BC- CD-DA-AB-。。。),八 拍(A-AB-B-BC-C-CD-D-DA-A。。。) 四相步进电机有两种运行方式,一、四相四拍;二、四相八拍。 要想搞清楚四相八拍运行方式下步进电机的转速如果计算,需要先清楚两个 基本概念。 1、拍数:完成一个磁场周期性变化所需脉冲数或导电状态用 n 表示,或指 电机转过一个齿距角所需脉冲数,以四相电机为例,有四相四拍运行方式即 AB-BC-CD-DA-AB,四相八拍运行方式即 A-AB-B-BC-C-CD-D-DA-A. 2、步距角:对应一个脉冲信号,电机转子转过的角位移用 θ 表示。θ =360 度(转子齿数 J*运行拍数),以常规二、四相,转子齿为 50 齿电机为例。四拍 运行时步距角为 θ =360 度/(50*4)=1.8 度(俗称整步),八拍运行时步距角为 θ =360 度/(50*8)=0.9 度(俗称半步)。 这两个概念清楚后,我们再来计算转速,以基本步距角 1.8°的步进电机为 例(现在市场上常规的二、四相混合式步进电机基本步距角都是 1.8°),四相 八拍运行方式下,每接收一个脉冲信号,转过 0.9°,如果每秒钟接收 个脉 冲,那么转速为每秒 X0.9°=360°,相当与每秒钟转一圈,每分钟 60 转。 由于单片机接口信号不够大需要通过 ULN2003 放大再连接到相应的电机接口,如 下: 图3-5 6 表3-1 橙 黄 粉 蓝 十六制(P1 口) 1 0 0 0 0x08 1 1 0 0 0x0c 0 1 0 0 0x04 0 1 1 0 0x06 0 0 1 0 0x02 0 0 1 1 0x03 0 0 0 1 0x01 1 0 0 1 0x09 所以可以定义正转励磁序列为 A-AB-B-BC-C-CD-D-DA uchar code FFW[]={0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09}; //反转励磁序列为 AD-D-CD-C-BC-B-BA-A uchar code REV[]={0x09,0x08,0x0c,0x04,0x06,0x02,0x03,0x01}; 步进电机 28BYJ48 的主要技术参数: 表 3-2 3、四相步进电机的脉冲分配规律 目前,对步进电机的控制主要有分散器件组成的环形脉冲分配器、软件环形 脉冲分配器、专用集成芯片环形脉冲分配器等。本设计利用单片机进行控制,主 要是利用软件进行环形脉冲分配。四相步进电机的工作方式为四相单四拍,双四 拍和四相八拍工作的方式。各种工作方式在电源通电时的时序 与波形分别如图 1 a、b、c 所示。本设计的电机工作方式为四相单四拍,根据步进电机的工作的 时序和波形图,总结出其工作方式为四相单四拍时的脉冲分配规律,四相双四拍 的脉冲分配规律,在每一种工作方式中,脉冲的频率越高,其转速就越快,但脉 冲频率高到一定程度,步进电机跟不上频率的变化后电机会出现失步现象,所以 脉冲频率一定要控制在步进电机允许的范围内。 7 3.4.2 89C51 单片机 图 3-6 图 3-7 Atmel 生产的 89C51 单片机是一种低功耗/低电压‘高性能的 8 位单片 机,它采用 CMOS 和高密度非易失性存储技术,而且其输出引脚和指令系统都与 MCS-51 兼容;片内的 Flash ROM 允许在系统内改编程序或用常规的非易失性编 程器来编程,内部除 CPU 外,还包括 256 字节 RAM,4 个 8 位并行 I/O 口,5 个 8 中断源,2 个中断优先级,2 个 16 位可编程定时计数器,89C51 单片机是一种功 能强、灵活性高且价格合理的单片机,完全满足本系统设计需要。 89C51 单片机部分引脚功能介绍: XTAL2(18 脚):接外部晶体和微调电容的一端;在 89C51 片内它是振荡电路反 向放大器的输出端,振荡电路的频率就是晶体固有频率。若需采用外部时钟电路 时,该引脚输入外部时钟脉冲。89C51/8031 正常工作时,该引脚应有脉冲信号 输出。 XTAL1(19 脚):接外部晶体和微调电容的另一端;在片内它是振荡电路反向放 大器的输入端,在采用外部时钟时,该引脚输入外部时钟脉冲。 RST/VPD(9 脚): RST:复位信号输入端,高电平有效。当此输入端保持两个机器周期的高电平时, 就可以完成复位操作。 RST/VPD(9 脚): VPD :RST 引脚的第二功能,用电源输入端。当主电源 Vcc 发生故障,降低到 低电平规定值时,将+5V 电源自动接入该引脚,为 RAM 提供用电源,以保证 RAM 中的信息不丢失,使得复位后能继续正常运行。 EA/Vpp(31 脚): Vpp:对 8751 片内 EPROM 固化编程时,编程电压输入端(12-21V)。 P0 口: 漏极开路的 8 位准双向 I/O 口,每位能驱动 8 个 LS 型 TTL 负载。 P0 口可作为一个数据输入/输出口; 在 CPU 访问片外存储器时,P0 口为分时复用的低 8 位地址总线 位数据总线 口: 带内部上拉电阻的 8 位准双向 I/O 端口,每位能驱动 4 个 LS 型 TTL 负载。 P3 口: 带内部上拉电阻的 8 位准双向 I/O 端口,每位能驱动 4 个 LS 型 TTL 负载。P3 口 除作为一般 I/O 口外,每个引脚都有第二功能。 9 4.1 主流程图 4 软件编程 开始 按键 判断按键 If(k1==0) If(k2==0) If(k3==0) If(k4==0) I(f k5==0) 正转 反转 停止 加速 减速 按键 图 4-1 10 4.2 主要程序: #include reg52.h #define uint unsigned int #define uchar unsigned char uchar code FFW[]= { 0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09 }; uchar code REV[]= { 0x09,0x08,0x0c,0x04,0x06,0x02,0x03,0x01 }; sbit K1 = P3^0; sbit K2 = P3^1; sbit K3 = P3^2; sbit K4 = P3^3; sbit K5 = P3^4; void DelayMS(uint ms) { uchar i; while(ms--) { for(i=0;i120;i++); } } 11 void SETP_MOTOR_FFW(uchar n) { uchar i,j; int M=25; for(i=0;i5*n;i++) { for(j=0;j8;j++) { if(K3 == 0) break; P1 = FFW[j]; if(K4 == 0) { P0=0xf6; DelayMS(20); } else if(K5 == 0) { P0=0xee; DelayMS(100); } else DelayMS(50); if(K4 == 1&&K5 == 1) { P0 = 0xfe; } } 12 } } void SETP_MOTOR_REV(uchar n) { uchar i,j; int M=25; for(i=0;i5*n;i++) { for(j=0;j8;j++) { if(K3 == 0) break; P1 = REV[j]; if(K4 == 0) { P0=0xf5; DelayMS(20); } else if(K5 == 0) { P0=0xed; DelayMS(100); } else DelayMS(50); if(K4 == 1&&K5 == 1) { P0 = 0xfd; } 13 } } } void main() { uchar N = 50; while(1) { if(K1 == 0) { P0 = 0xfe; SETP_MOTOR_FFW(N); if(K3 == 0) break; } else if(K2 == 0) { P0 = 0xfd; SETP_MOTOR_REV(N); if(K3 == 0) break; } else { P0 = 0xfb; P1 = 0x03; } } } 14 4.3 程序分块介绍: 4.3.1 正反转的控制字设定: uchar code FFW[]= { 0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09 }; uchar code REV[]= { 0x09,0x08,0x0c,0x04,0x06,0x02,0x03,0x01 }; 本列 4 组步进电动机工作于 8 拍方式 正转励磁序列为 A-AB-B-BC-C-CD-D-DA 反转励磁序列为 AD-D-CD-C-BC-B-BA-A 正转: sbit K1 = P3^0; 反转: sbit K2 = P3^1; 停止 sbit K3 = P3^2; 加速: sbit K4 = P3^3; 减速: sbit K5 = P3^4; 4.3.2 延时程序: void DelayMS(uint ms) { uchar i; 15 while(ms--) { for(i=0;i120;i++); } } 4.3.3 正转部分 void SETP_MOTOR_FFW(uchar n) { uchar i,j; int M=25; for(i=0;i5*n;i++) { for(j=0;j8;j++) { if(K3 == 0) break; P1 = FFW[j]; if(K4 == 0) //加速 { P0=0xf6; DelayMS(20); } else if(K5 == 0) //减速 { P0=0xee; DelayMS(100); } else DelayMS(50); 16 if(K4 == 1&&K5 == 1) { P0 = 0xfe; } } } } 按照正转励磁序列 A-AB-B-BC-C-CD-D-DA 进行通电,转动 n 圈,在 转动过程中,按下加速按钮,电机加速,对应的 LED 灯会亮,按下减速,电机减 速,对应的 LED 灯会亮,如果按下停止按钮,会立刻停止转动,亮停止灯。 4.3.4 反转部分: void SETP_MOTOR_REV(uchar n) { uchar i,j; int M=25; for(i=0;i5*n;i++) { for(j=0;j8;j++) { if(K3 == 0) break; P1 = REV[j]; if(K4 == 0) { P0=0xf5; DelayMS(20); } else if(K5 == 0) 17 { P0=0xed; DelayMS(100); } else DelayMS(50); if(K4 == 1&&K5 == 1) { P0 = 0xfd; } } } } 按照反转励磁序列为 AD-D-CD-C-BC-B-BA-A 进行通电,转动 n 圈, 在转动过程中,按下加速按钮,电机加速,对应的 LED 灯会亮,按下减速,电机 减速,对应的 LED 灯会亮,如果按下停止按钮,会立刻停止转动,亮停止灯。 4.3.5 主程序: void main() { uchar N = 50; //运转圈数 while(1) { if(K1 == 0) { P0 = 0xfe; //LED1 点亮,正转指示灯 SETP_MOTOR_FFW(N); //电动机正转 if(K3 == 0) break; } 18 else if(K2 == 0) { P0 = 0xfd; SETP_MOTOR_REV(N); if(K3 == 0) break; } else { P0 = 0xfb; P1 = 0x03; } } } //LED2 点亮,反转指示灯 //电动机反转 //LED3 点亮,停止指示灯 5 调试过程与结果 5.1 正转结果显示: 图 5-1 19 5.1.1 正转加速: 5.1.2 正转减速: 图 5-2 图 5-3 20 5.2 反转结果显示: 5.2.1 反转加速: 图 5-4 图 5-5 21 5.2.2 反转减速: 图 5-6 5.3 停止结果显示; 图 5-7 在仿真过程中要注意元件的选择,还有仿真跟实物存在的差异,仿真的数据 不一定就适合实物,所以要根据实物来进行修改,通过不断的调试才能符合要求, 在连接电路时要看好引脚。 22 6 总结与体会 在做本次课程设计的过程中,我感触深的当属查阅大量的设计资料了。为 了让自己的设计更加完善,查阅这方面的设计资料是十分必要的,同时也是必不 可少的。我们是在做单片机课程设计,但我们不是艺术家,他们可以抛开实际尽 情在幻想的世界里翱翔,而我们一切都要有据可依,有理可寻,不切实际的构想 永远只能是构想,永远无法升级为设计。 其次,在这次课程设计中,我们运用到了以前所学的专业课知识,如:CAD 制图、汇编语言、模拟和数字电路知识等。虽然过去从未独立应用过它们,但在 学习的过程中带着问题去学我发现效率很高,这是我做这次课程设计的又一收 获。后,要做好一个课程设计,就必须做到:在设计程序之前,对所用单片机的 内部结构有一个系统的了解,知道该单片机内有哪些资源;要有一个清晰的思路 和一个完整的的软件流程图;在设计程序时,不能妄想一次就将整个程序设计好, 反复修改、不断改进是程序设计的必经之路; 要养成注释程序的好习惯,一个程序的完美与否不仅仅是实现功能,而应该让 人一看就能明白你的思路,这样也为资料的保存和交流提供了方便;在设计课程 过程中遇到问题是很正常德,但我们应该将每次遇到的问题记录下来,并分析清 楚,以免下次再碰到同样的问题的课程设计结束了,但是从中学到的知识会让我 受益终身。 发现、提出、分析、解决问题和实践能力的提高都会受益于我在以后的学习、 工作和生活中。设计过程,好比是我们人类成长的历程,常有一些不如意,但毕 竟这是次做,难免会遇到各种各样的问题。在设计的过程中发现了自己的不 足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。 我们通过查阅大量有关资料,两相步进电机并在小组中互相讨论,交流经验和自学,若遇 到实在搞不明白的问题就会及时请教老师,使自己学到了不少知识,也经历了不 少艰辛,但收获同样巨大。 通过这次课程设计我也发现了自身存在的不足之处,虽然感觉理论上已经掌 握,但在运用到实践的过程中仍有意想不到的困惑,经过一番努力才得以解决。 这也激发了我今后努力学习的兴趣,我想这将对我以后的学习产生积极的影响。 通过这次设计,我懂得了学习的重要性,了解到理论知识与实践相结合的重 要意义,学会了坚持、耐心和努力,这将为自己今后的学习和工作做出了的 榜样。我觉得作为一名自动化专业的学生,单片机的课程设计是很有意义的。更 重要的是如何把自己平时所学的东西应用到实际中。 23 虽然自己对于这门课懂的并不多,很多基础的东西都还没有很好的掌握, 觉得很难,也没有很有效的办法通过自身去理解,但是靠着这一个多礼拜的“学 习”,在小组同学的帮助和讲解下,渐渐对这门课逐渐产生了些许的兴趣,自己 开始主动学习并逐步从基础慢慢开始弄懂它。 我认为这个收获应该说是相当大的。觉得课程设计反映的是一个从理论到实 际应用的过程,但是更远一点可以联系到以后毕业之后从学校转到踏上社会的一 个过程。小组人员的配合﹑相处,以及自身的动脑和努力,都是以后工作中需要 的。 7 参考资料 [1] 侯文霞. 变频调速技术在中央空调控制中的应用[J].机床电器.2002 第二 期. [2] 韩常. PLC 编程及应用[M]. 北京:机械工业出版社,2005. [3] 吴启红、胡洪、谭斌.变频器、可编程序控制器及触摸屏综合应用技术—实 操指导书.机械工业出版社,2007 [4] 岳庆来、周锋、吴启红、胡洪.变频器、可编程序控制器及触摸屏综合应用 技术. 机械工业出版社,2006 24 总电路图: 8 附录 图 5-8 25 26
    以上信息由无锡惠斯通电机科技有限公司整理编辑,了解更多步进电机,两相步进电机,混合式步进电机信息请访问http://www.huistong.com