步进电机控制论文.doc

上传人:xin****828 文档编号:6653345 上传时间:2020-03-01 格式:DOC 页数:39 大小:817KB
返回 下载 相关 举报
步进电机控制论文.doc_第1页
第1页 / 共39页
步进电机控制论文.doc_第2页
第2页 / 共39页
步进电机控制论文.doc_第3页
第3页 / 共39页
点击查看更多>>
资源描述
邯郸学院本科毕业论文 设计 题 目 基于单片机的步进电机控制系统设计 学 生 xxx 指导教师 xxxx 讲师 年 级 2012 级 专 业 电气工程及其自动化 二级学院 xx 学院 邯郸学院机电学院 2016 年 5 月 郑重声明 本人的毕业论文 设计 是在指导教师刘伟亮的指导下独立撰写完成 的 如有剽窃 抄袭 造假等违反学术道德 学术规范和侵权的行为 本 人愿意承担由此产生的各种后果 直至法律责任 并愿意通过网络接受公 众的监督 特此郑重声明 毕业论文 设计 作者 签名 年 月 日 基于单片机的步进电机控制系统设计 摘 要 步进电动机由于用其组成的开环系统既简单 廉价 又非常可行 因此在打印机 等办公自动化设备以及各种控制装置等众多领域有着极其广泛的应用 随着微电子和计算机技术的发展 步进电机的需求量与日俱增 它广泛用于打印 机 电动玩具等消费类产品以及数控机床 工业机器人 医疗器械等机电产品中 其 在各个国民经济领域都有应用 研究步进电机的控制系统 对提高控制精度和响应速 度 节约能源等都具有重要意义 步进电机是一种能将电脉冲信号转换成角位移或线位移的机电元件 步进电机控 制系统主要由步进控制器 功率放大器及步进电机等组成 采用单片机控制 用软件代 替上述步进控制器 使得线路简单 成本低 可靠性大大增加 软件编程可灵活产生不同 类型步进电机励磁序列来控制各种步进电机的运行方式 本设计是采用 STC89C51 单片机对步进电机的控制 通过 I O 口输出的时序方波作 为步进电机的控制信号 信号经过芯片 ULN2003 驱动步进电机 根据不同的需要我们可以有十个不同档位速度的选择 并可以实现正反转 为了 更显人性化 我们加上了一个数码管显示 显示步进电机的运行状态 关键词 步进电机 单片机 正反转控制 电机驱动 Stepping motor control system design based on MCU Guo Chen Directed by LIU Wei Liang ABSTRACT Stepper motor due to the use of the composition of the open loop system is simple cheap and very practical so it is used widely in many fields of printer and other office automation equipment and various control device With the development of microelectronics and computer technology the stepper motor demand grow with each passing day it is widely used in the printer electric toys and other consumer products and CNC machines industrial robots medical equipment and othermechanical and electrical products which are applied in various fields of the national economy Studies of the stepping motor control system to improve the control precision and response speed is of great significance to energy saving etc Stepper motor is a pulse signal can be converted into mechanicalangular displacement or line displacement components stepper motor control system is composed of stepping controller composed of a power amplifier and stepping motor Using single chip microcomputer control using software instead of the above step controller the circuit is simple low cost reliability is improved greatly Software programming flexibility to produce operation mode of different types ofstepper motor excitation sequence to control all kinds of stepper motor According to different needs we can have ten different gear speed selection and the realization of positive inversion In order to be more humanized we added a digital display display the operating state of the stepping motor KEY WORDS Stepping motor single chip microcomputer positive inversion control motor drive 目 录 摘 要 3 1 绪论 7 1 1 步进电机及其发展 7 1 2 步进电机在我国的发展应用及前景 7 1 3 设计研究内容 8 2 步进电机控制总系统设计 9 2 1 系统框架 9 2 2 主控芯片选择 9 2 3 步进电机的选择 10 2 4 电机驱动的选择 10 3 系统硬件电路设计 12 3 1 系统硬件总电路构成 12 3 2 步进电机系统 12 3 3 1 步进电机的原理 12 3 2 2 步进电机的特点 13 3 2 3 步进电机的分类 14 3 2 4 永磁步进电机的控制原理 14 3 3 单片机系统 15 3 3 1 单片机的引脚功能 15 3 3 2 主要特性 16 3 4 键盘控制电路 18 3 5 数码管驱动显示电路 19 3 6 步进电机驱动电路 20 4 控制系统软件分析与设计 23 4 1 主程序流程图 23 4 2 读按键子程序流程图 24 4 3 按键处理子程序流程图 24 4 4 电机控制中断程序流程图 25 5 系统的调试 27 5 1 调试 27 结 论 28 总 结 29 参考文献 30 附录 A 31 附录 B 32 附录 C 33 致谢 37 1 绪论 1 1 步进电机及其发展 步进电机又称为脉冲电动机或阶跃电动机 它是基于最基本的电磁感应作用 将 电脉冲信号转变为角位移或线位移的开环控制元件 单片机控制的步进电机广泛地应 用于工业自动控制 数控机床 组合机床 机器人 计算机外围设备 照相机 大型 望远镜 卫星天线定位系统等等 随着经济的发展 技术的进步和电子技术的发展 步进电机的应用领域更加广阔 同时也对步进电机的运行性能提出了更高的要求 步进电机的原始模型起源于 1830 年至 1860 年 1870 年前后开始以控制为目的的 尝试 应用于氩弧灯的电极输送机构中 这被认为最早的步进电机 1950 年后期晶体管的发明也逐渐应用在步进电机上 对于数字化的控制变得更为 容易 到 20 世纪 60 年代后期 在步进电机本体方面随着永磁材料的发展 各种实用 性步进电机应运而生 步进电机往后经过不断改良 使得今日步进电机已广泛运用在 需要高定位精度 高分解能 高响应性 信赖性等灵活控制性高的机械系统中 在生 产过程中要求自动化 省人力 效率高的机器中 我们很容易发现步进电机的踪迹 尤其以重视速度 位置控制 需要精确操作各项指令动作的灵活控制性场合步进电机 用得最多 1 2 步进电机在我国的发展应用及前景 我国步进电机的研究及制造起始于本世界 50 年代后期 从 50 年代后期到 60 年代 后期 主要是高等院校和科研机构为研究一些装置而使用或开发少量产品 我国在文 化大革命中开始大量生产和应用步进电机 例如江苏 浙江 北京 南京 四川等各 地都有投入生产 而且都在各行业使用 其中的驱动电路所有半导体器件都是完全国 产化的 当时是全分立元器件构成的逻辑运算电路 还有电容耦合输入的计数器 触 发器 环形分配器 中等耐压的大功率半导体器件也完全国产化 70 年代初期 步进 电机的生产和研究都有所突破 除反映在驱动器设计方面的长足进步以外 对反应式 步进电机本体的设计研究发展到一个较高的水平 70 年代中期至 80 年代中期为成品发 展阶段 新品种高性能电动机不断被开发 至 80 年代中期以来 由于步进电机精确模 型做了大量研究工作 各种混合式步进电机及驱动器作为产品广泛利用 国外在大功率的工业设备驱动上 目前基本不使用大扭矩步进电动机 因为从驱 动电路的成本 效率 噪音 加速度 绝对速度 系统惯量与最大扭矩比来比较 比 较不划算 还是用直流电动机 加电动机编码器整体技术和经济指标高 一些少数高 级的应用 就用空心转杯电机 交流电机 国外在小功率的场合 还使用步进电机 例如一些工业器材 工业生产装备 打印机 复印件 速印机 银行自动柜员机 国 内过去是用大力矩步进电动机实现机床数控 有实力的公司现在也采用交流电动机驱 动数控机床 在驱动设备的主要差距 是国外对交流电动机的控制理论与工程分析和 应用能力强 先进的控制理论作为软件 写在控制器内部 目前 生产步进电机的厂家的确不少 但具有专业技术人员 能够自行开发 研制 的厂家却非常少 大部分的厂家只一 二十人 连最基本的设备都没有 仅仅处于一 种盲目的仿制阶段 这就给户在产品选型 使用中造成许多麻烦 虽然步进电机已被 广泛地应用 但步进电机并不能象普通的直流电机 交流电机在常规下使用 它必须 由双环形脉冲信号 功率驱动电路等组成控制系统方可使用 因此用好步进电机却非 易事 它涉及到机械 电机 电子及计算机等许多专业知识 1 3 设计研究内容 本论文所选的步进电机是四相步进电机 采用的方法是利用单片机控制步进电机 的驱动 步进电机是一种将电脉冲转化为角位移的执行机构 当步进驱动器接收到一 个脉冲信号 它就驱动步进电机按设定的方向转动一个固定的角度 称为 步距角 它的旋转是以固定的角度一步一步运行的 可以通过控制脉冲个数来控制角位移量 从而达到准确定位的目的 同时可以通过控制脉冲频率来控制电机转动的速度和加速 度 从而达到调速的目的 本次毕业设计就是通过改变脉冲频率来调节步进电机的速 度的 并且通过数码管显示其转速的级别 另外通过单片机实现它的正反转 步进电 机可以作为一种控制用的特种电机 利用其没有积累误差 精度为 100 的特点 广泛 应用于各种开环控制 本设计的目的是以单片机为核心设计出一个单片机控制步进电机的控制系统 本 系统采用 STC89C51 作为控制单元 通过键盘实现对步进电机转动方向及转动速度的控 制 并且将步进电机的转动速度动态显示在数码管上 主要实现功能 1 5 个按键控制整个电路 对应功能分别是 正转 反转 复位 速度加 速 度减 2 数码管显示电机运行速度的档数和正反转的指示 3 5 个小红灯 一个为电源指示 四个指示电机的转速 2 步进电机控制总系统设计 2 1 系统 框架 硬件主要以单片机为核心 本次毕业设计选用的步进电机是四相步进电机 通过 软件和硬件的结合实现步进电机的启停 正转 反转 加速 减速功能 并且步进电 机所处的状态用相应的发光二极管显示 主要通过三大块来设计 包括驱动电路的设 计 状态显示部分和按键部分是设计 本设计的系统总框图如图 2 1 所示 单片机 键盘控制模块 电机驱动模块数码管显示模块 电源模块 图 2 1 总体设计框图 2 2 主控芯片选择 单片机微型计算机是微型计算机的一个重要分支 也是颇具生命力的机种 单片 机微型计算机简称单片机 特别适用于控制领域 故又称为微控制器 通常 单片机由单块集成电路芯片构成 内部包含有计算机的基本功能部件 中 央处理器 存储器和 I O 接口电路等 因此 单片机只需要和适当的软件及外部设备 相结合 便可成为一个单片机控制系统 从控制系统的大小和复杂度出发 必须考虑单片机的基本参数和增强功能 前者 往往需要考虑芯片的速度 ROM 容量 I O 引脚数量和工作电压 1 8V 3V 5V 等 后者 则包括是否拥有看门狗 双指针 双串口 实时时钟 CAN 接口 SPI 接口 USB 接口 等附加模块 本设计中受控对象只有超声波 声光报警 复杂度低 采用低端的通用 的单片机芯片就能够满足要求 从容易学习掌握的角度出发 要求所选单片机支持简单易学的编程语言 并且拥 有软件支持的良好编程环境 同时还应当有丰富的资料支持 包括详尽的芯片说明书 应用指南 设计方案 范例程序等 从工作可靠性的角度出发 要求所选芯片有较宽工作温度范围 较低的功耗和一 定的抗干扰能力 按适用的工作温度分 常用单片机芯片可分为商用级 工业级 军 品级 这里选择一般的商用机即可 在功耗和抗干扰方面 本控制系统的要求都不高 一般的单片机芯片都能满足要求 综上所述 本系统选择 STC89C51 单片机作为主控芯片 足够本设计运行 且价格 便宜 下载程序方便 2 3 步进电机的选择 步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件 在非超载的情 况下 电机的转速 停止的位置只取决于脉冲信号的频率和脉冲数 而不受负载变化 的影响 即给电机加一个脉冲信号 电机则转过一个步距角 这一线性关系的存在 加上步进电机只有周期性的误差而无累积误差等特点 使得在速度 位置等控制领域 用步进电机来控制变的非常的简单 正常情况下 步进电机转过的总角度和输入的脉冲数成正比 连续输入一定频率 的脉冲时 电动机的转速与输入脉冲的频率保持严格的对应关系 不受电压波动和负 载变化的影响 系统是单片机控制 整个设计的电压是 5v 所以电机的电压也要选择 5v 可以驱动 的 所以本实验选择 28BYJ 48 步进电机作为设计对象 步进电机 28BYJ48 型四相八拍 电机 电压为 DC5V DC12V 当对步进电机施加一系列连续不断的控制脉冲时 它可以 连续不断地转动 每一个脉冲信号对应步进电机的某一相或两相绕组的通电状态改变 一次 也就对应转子转过一定的角度 一个步距角 当通电状态的改变完成一个循环 时 转子转过一个齿距 2 4 电机驱动的选择 系统的设计目的为了高效控制步进电机的转动 因此需要将单片机发出的脉冲转 化为步进角度 才能控制步进电机转动 我们在这里采用 ULN2003 为步进电机提供脉 冲信号 ULN2003 七 NPN 达林顿连接晶体管是低逻辑电平数字电路 如 TTL CMOS 或 PMOS NMOS 和大电流高电压要求的灯 继电器 打印机锤和其他类似负载间的接口的 理想器件 广泛用于计算机 工业和消费类产品中 所有器件有集电极开路输出和用 于瞬变抑制的续流箝位二极管 ULN2003 的设计与标准 TTL 系列兼容 3 系统硬件电路设计 3 1 系统硬件总电路构成 以 51 单片机为核心处理器 单片机作为主控制器 DC 5V 步进电机 集成芯片 ULN2003 作为电机驱动 五个按键输入 对应功能分别是 正转 反转 复位 速度加 速度减 LED 数码管显示电机的正反转 同时显示电机运行速度的档数 5 个小红灯一 个为电源指示 四个指示电机的转速 3 2 步进电机 系统 步进电机是一种能够将电脉冲信号转换成角位移或线位移的机电元件 它实际上 是一种单相或多相同步电动机 单相步进电动机有单路电脉冲驱动 输出功率一般很 小 其用途为微小功率驱动 多相步进电动机有多相方波脉冲驱动 用途很广 使用多相步进电动机 单路电脉冲信号可先通过脉冲分配器转换为多相脉冲信号 在经功率放大后分别送入步进电动机各相绕组 每输入一个脉冲到脉冲分配器 电动 机各相的通电状态就发生变化 转子会转过一定的角度 称为步距角 正常情况下 步进电机转过的总角度和输入的脉冲数成正比 连续输入一定频率 的脉冲时 电动机的转速与输入脉冲的频率保持严格的对应关系 不受电压波动和负 载变化的影响 由于步进电动机能直接接收数字量的输入 所以特别适合于微机控制 3 3 1 步进电机的原理 步进电机是数字控制电机 它将脉冲信号转变成角位移 即给一个脉冲信号 步 进电机就转动一个角度 因此非常适合于单片机控制 步进电机可分为反应式步进电 机 简称 VR 永磁式步进电机 简称 PM 和混合式步进电机 简称 HB 步进电机 区别于其他控制电机的最大特点是 它是通过输入脉冲信号来进行控制的 即电机的 总转动角度由输入脉冲数决定 而电机的转速由脉冲信号频率决定 步进电机的驱动 电路根据控制信号工作 控制信号由单片机产生 其基本原理作用如下 1 控制换相顺序 通电换相这一过程称为脉冲分配 例如 三相步进电机的三拍工作方式 其各相 通电顺序为 A B C D 通电控制脉冲必须严格按照这一顺序分别控制 A B C D 相 的通断 2 控制步进电机的转向 如果给定工作方式正序换相通电 步进电机正转 如果按反序通电换相 则电机 就反转 3 控制步进电机的速度 如果给步进电机发一个控制脉冲 它就转一步 再发一个脉冲 它会再转一步 两个脉冲的间隔越短 步进电机就转得越快 调整单片机发出的脉冲频率 就可以对 步进电机进行调速 3 2 2 步进电机的特点 1 一般步进电机的精度为步进角的 3 5 角位移与输入脉冲数严格成正比 没有 累计误差 具有良好的跟随性 2 步进电机外表不允许较高的温度 步进电机温度过高首先会使电机的磁性材料退磁 从而导致力矩下降乃至于失步 因此电机外表允许的最高温度应取决于不同电机磁性材料的退磁点 一般来讲 磁性 材料的退磁点都在摄氏 130 度以上 有的甚至高达摄氏 200 度以上 所以步进电机外 表温度在摄氏 80 90 度完全正常 3 步进电机的力矩会随转速的升高而下降 当步进电机转动时 电机各相绕组的电感将形成一个反向电动势 频率越高 反 向电动势越大 在它的作用下 电机随频率 或速度 的增大而相电流减小 从而导 致力矩下降 4 步进电机自身的噪声和振动较大 带惯性负载的能力较差 5 由步进电机与驱动电路组成的开环数控系统 既非常简单 廉价 又非常的可 靠 同时 它也可以与角度反馈环节组成高性能的闭环数控系统 6 步进电机的动态响应快 易于启停 正反转及变速 7 速度可在相当宽的范围内平滑调节 低速下仍能保证获得大转矩 因此 一般 可以不用减速器而直接驱动负载 8 步进电机只能通过脉冲电源供电才能运行 它不能直接使用交流电源和直流电 源 9 步进电机存在振荡和失步现象 必须对控制系统和机械负载采取相应的措施 10 步进电机低速时可以正常运转 但若高于一定速度就无法启动 并伴有啸叫声 步进电动机以其显著的特点 在数字化制造时代发挥着重大的用途 伴随着不同 的数字化技术的发展以及步进电机本身技术的提高 步进电机将会在更多的领域得到 应用 3 2 3 步进电机的分类 现在比较常用的步进电机包括反应式步进电机 VR 永磁式步进电机 PM 混 合式步进电机 HB 和单相式步进电机等 1 反应式步进电机 一般为三相 可实现大转矩输出 步进角一般为 1 5 度 但 噪声和振动都很大 反应式步进电机的转子磁路由软磁材料制成 定子上有多相励磁 绕组 利用磁导的变化产生转矩 2 永磁式步进电机 一般为两相 转矩和体积较小 步进角一般为 7 5 度 或 15 度 3 混合式步进电机 是指混合了永磁式和反应式的优点 它又分为两相和五相 两相步进角一般为 1 8 度而五相步进角一般为 0 72 度 这种步进电机的应用最为广泛 性能最好 3 2 4 永磁步进电机的控制原理 在本设计以常用的永磁式步进电机为例 用单片机控制步进电机 其接线图如图 3 1 所示 图 3 1 永磁步进电机接线图 从图中可以看出 电机共有四组线圈 四组线圈的一个端点连在一起引出 这样 一共有 5 根引出线 要使用步进电机转动 只要轮流给各引出端通电即可 将 COM 端 标识为 C 只要 AC BC 或 AC BC 轮流加电就能驱动步进电机运转 加电的方式可 以有多种 如果将 COM 端接正电源 那么只要用开关元件 如三极管 将 A B 或 A B 轮流接地 不难设计出控制电路 因其工作电压为 12V 因此用一块开路输出达林顿驱动器 这里用 ULN2003 关于 ULN2003 将在后面介绍 作为驱动 通过 P1 0 P1 3 来控 制各线圈的接通与切断 开机时 P1 0 P1 3 均为高电平 依次将 P1 0 P1 2 或 P1 1 P1 3 反向 切换为低电平即可驱动步进电机运行 如果要改变电机的转 动速度只要改变两次接通之间的时间 改变转速 只要改变 P1 0 P1 2 或 P1 1 P1 3 反向 轮流变低电平的时间即可达到要求 因为不会影响到其他功能的实现 这 个时间可以用延时来实现 这里以定时的方式来实现 下面首先计算一下定时时间 按要求 最低转速为 20 转 分 而上述步进电机的步距角为 7 5 即每 48 个脉冲为 1 周 即在最低转速时 要求为 960 脉冲 分 相当于 62 5ms 脉冲 而在最高转速时 要求为 100 转 分 即 48000 脉冲 分 相当于 12 5ms 脉冲 3 3 单片机系统 本次设计选用 STC89C5l 作为步进电机的控制芯片 STC89C51 的结构简单并可以在 编程器上实现闪烁式的电擦写达几万次以上 使用方便等优点 而且完全兼容 MCS5l 系列单片机的所有功能 STC89C51 是一种带 4K 字节闪烁可编程可擦除只读存储器 FPEROM FAlsh ProgrAmmABle And ErAsABle ReAd Only Memory 的低电压 高性 能 CMOS8 位微处理器 俗称单片机 该器件采用 ATMEL 高密度非易失存储器制造技术 制造 与工业标准的 MCS 51 指令集和输出管脚相兼容 EA VP 31 X119 X218 RESET9 P37 RD17 P36WR16 P32 INT012 P33 INT113 P34 T014 P35 T115 P101 P112 P123 P134 P145 P156 P167 P178 P00 39 P01 38 P02 37 P03 36 P04 35 P05 34 P06 33 P07 32 P20 21 P21 22 P22 23 P23 24 P24 25 P25 26 P26 27 P27 28 PSEN 29 ALE P 30P31 TXD11 P30 RXD10 GND20 VCC 40 U1 STC89C52 图 3 2 单片机引脚图 3 3 1 单片机的引脚功能 1 VCC 40 电源 5V 2 VSS 20 接地 也就是 GND 3 XTL1 19 和 XTL2 18 振荡电路 单片机是一种时序电路 必须有脉冲 信号才能工作 在它的内部有一个时钟产生电路 有两种振荡方式 一种是内部振荡 方式 只要接上两个电容和一个晶振即可 另一种是外部振荡方式 采用外部振荡方 式时 需在 XTL2 上加外部时钟信号 4 PSEN 29 片外 ROM 选通信号 低电平有效 5 ALE PROG 30 地址锁存信号输出端 EPROM 编程脉冲输入端 6 RST VPD 9 复位信号输入端 备用电源输入端 7 EA VPP 31 内 外部 ROM 选择端 8 P0 口 39 32 双向 I O 口 9 P1 口 1 8 准双向通用 I 0 口 10 P2 口 21 28 准双向 I 0 口 3 3 2 主要特性 与 MCS 51 兼容 4K 字节可编程闪烁存储器 寿命 1000 写 擦循环数据保留时间 全静态工作 0Hz 24Hz 三级程序存储器锁定 128 8 位内部 RAM 32 可编程 I O 线 两个 16 位定时器 计数器 5 个中断源 可编程串行通道 低功耗的闲置和掉电模式 片内振荡器和时钟电路 P0 口 P0 口为一个 8 位漏级开路双向 I O 口 每脚可吸收 8TTL 门电流 当 P1 口的管脚第一次写 1 时 被定义为高阻输入 P0 能够用于外部程序数据存储器 它可 以被定义为数据 地址的第八位 在 FIASH 编程时 P0 口作为原码输入口 当 FIASH 进行校验时 P0 输出原码 此时 P0 外部必须被拉高 P1 口 P1 口是一个内部提供上拉电阻的 8 位双向 I O 口 P1 口缓冲器能接收输出 4TTL 门电流 P1 口管脚写入 1 后 被内部上拉为高 可用作输入 P1 口被外部下拉为 低电平时 将输出电流 这是由于内部上拉的缘故 在 FLASH 编程和校验时 P1 口作 为第八位地址接收 P2 口 P2 口为一个内部上拉电阻的 8 位双向 I O 口 P2 口缓冲器可接收 输出 4 个 TTL 门电流 当 P2 口被写 1 时 其管脚被内部上拉电阻拉高 且作为输入 并 因此作为输入时 P2 口的管脚被外部拉低 将输出电流 这是由于内部上拉的缘故 P2 口当用于外部程序存储器或 16 位地址外部数据存储器进行存取时 P2 口输出地址 的高八位 在给出地址 1 时 它利用内部上拉优势 当对外部八位地址数据存储器 进行读写时 P2 口输出其特殊功能寄存器的内容 P2 口在 FLASH 编程和校验时接收高 八位地址信号和控制信号 P3 口 P3 口管脚是 8 个带内部上拉电阻的双向 I O 口 可接收输出 4 个 TTL 门电 流 当 P3 口写入 1 后 它们被内部上拉为高电平 并用作输入 作为输入 由于 外部下拉为低电平 P3 口将输出电流 ILL 这是由于上拉的缘故 P3 口也可作为 AT89C51 的一些特殊功能口 如下所示 P3 口管脚备选功能 P3 0 RXD 串行输入口 P3 1 TXD 串行输出口 P3 2 INT0 外部中断 0 P3 3 INT1 外部中断 1 P3 4 T0 记时器 0 外部输入 P3 5 T1 记时器 1 外部输入 P3 6 WR 外部数据存储器写选通 P3 7 RD 外部数据存储器读选通 P3 口同时为闪烁编程和编程校验接收一些控制信号 RST 复位输入 当振荡器复位器件时 要保持 RST 脚两个机器周期的高电平时间 ALE PROG 当访问外部存储器时 地址锁存允许的输出电平用于锁存地址的地位 字节 在 FLASH 编程期间 此引脚用于输入编程脉冲 在平时 ALE 端以不变的频率周 期输出正脉冲信号 此频率为振荡器频率的 1 6 因此它可用作对外部输出的脉冲或用 于定时目的 然而要注意的是 每当用作外部数据存储器时 将跳过一个 ALE 脉冲 如想禁止 ALE 的输出可在 SFR8EH 地址上置 0 此时 ALE 只有在执行 MOVX MOVC 指 令是 ALE 才起作用 另外 该引脚被略微拉高 如果微处理器在外部执行状态 ALE 禁 止 置位无效 PSEN 外部程序存储器的选通信号 在由外部程序存储器取指期间 每个机器周 期两次 PSEN 有效 但在访问外部数据存储器时 这两次有效的 PSEN 信号将不出现 EA VPP 当 EA 保持低电平时 则在此期间外部程序存储器 0000H FFFFH 不 管是否有内部程序存储器 注意加密方式 1 时 EA 将内部锁定为 RESET 当 EA 端保 持高电平时 此间内部程序存储器 在 FLASH 编程期间 此引脚也用于施加 12V 编程 电源 VPP XTAL1 反向振荡放大器的输入及内部时钟工作电路的输入 XTAL2 来自反向振荡器的输出 3 I O 口引脚 a P0 口 双向 8 位三态 I O 口 此口为地址总线 低 8 位 及数据总线分时复用 b P1 口 8 位准双向 I O 口 c P2 口 8 位准双向 I O 口 与地址总线 高 8 位 复用 d P3 口 8 位准双向 I O 口 双功能复用口 4 振荡器特性 XTAL1 和 XTAL2 分别为反向放大器的输入和输出 该反向放大器可以配置为片内振 荡器 石晶振荡和陶瓷振荡均可采用 如采用外部时钟源驱动器件 XTAL2 应不接 有 余输入至内部时钟信号要通过一个二分频触发器 因此对外部时钟信号的脉宽无任何 要求 但必须保证脉冲的高低电平要求的宽度 在功能上 MCS 51 系列单片机有基本型和增强型两类 它们以芯片型号的末位数 字来区分 即 1 为基本型 2 为增强型 在 MCS 51 系列单片机中 我们以 8051 为例 来介绍其结构及功能 8051 单片机 的内部功能框图如图 3 3 示 图 3 3 MCS 51 系列单片机的内部结构 3 4 键盘控制电路 键盘在单片机应用系统中能实现向单片机输入数据 传送命令等功能 是人工干 预单片机的主要手段 键盘实质是一组按键开关的集合 键盘所用开关为机械弹性开 关 利用了机械触点的合 断作用 一个电压信号在机械触点的断开 闭合过程中 都会产生抖动 一般为 5 10ms 两次抖动之间为稳定的闭合状态 时间由按键动作所决定 第一次抖动前和第二次抖 动后为断开状态 按键的闭合与否 反映在输出电压上就是呈现出高电平或低电平 通过对输出电 平的高低状态的检测 便可确认按键按下与否 在本设计中 高电平表示按键断开 低电平表示按键闭合状体 并且 为了能直观形象的表示按键闭合与否 还为每个按 键相应增加了发光二极管 按键断开时 发光二极管灭 当有键闭合时 相应的发光 二极管变亮 为了确保单片机对一次按键动作只确认一次按键 必须消除抖动的影响 消除按 键抖动通常采用硬件 软件两种方法 由于硬件消抖电路设计复杂 本设计中没有采 用 在此不再详细叙述 软件消抖适合按键较多的情况 方便简单 其原理是在第一 次检测到有键按下时 执行一段延时 10ms 的子程序后在确认该键电平是否仍保持闭合 状态电平 如果保持闭合状态电平则确认为真正有键按下 从而消除了抖动的影响 其原理图如图 3 4 所示 S4 S1 S2 S3 减减 减减 减减 减减 P30P31 图 3 4 键盘控制模块原理图 3 5 数码管驱动显示电路 数码管是一种半导体发光器件 其基本单元是发光二极管 数码管按段数分为七 段数码管和八段数码管 八段数码管比七段数码管多一个发光二极管单元 多一个小 数点显示 按能显示多少个 8 可分为 1 位 2 位 4 位等等数码管 按发光二极管 单元连接方式分为共阳极数码管和共阴极数码管 共阳数码管是指将所有发光二极管 的阳极接到一起形成公共阳极 COM 的数码管 共阳数码管在应用时应将公共极 COM 接 到 5V 当某一字段发光二极管的阴极为低电平时 相应字段就点亮 当某一字段的阴 极为高电平时 相应字段就不亮 共阴数码管是指将所有发光二极管的阴极接到一起 形成公共阴极 COM 的数码管 共阴数码管在应用时应将公共极 COM 接到地线 GND 上 当某一字段发光二极管的阳极为高电平时 相应字段就点亮 当某一字段的阳极为低 电平时 相应字段就不亮 由于它的价格便宜使用简单在电器特别是家电领域应用极 为广泛 本设计采用共阳极数码管来显示时间 利用三极管的开关作用驱动数码管 Q1 Q2 Q3 Q4 VCC R6 2 2k R7 2 2k R8 2 2k R9 2 2k P2 0 P2 1 P2 2 P2 3 a b cde f gdp 1H 2H 3H 4H SMG7LED 1H 2H 3H 4H a f b e d dp c g 4H3H2H1H 图 3 5 数码管驱动显示电路 3 6 步进电机驱动电路 本系统的设计目的为了高效控制步进电机的转动 因此需要将单片机发出的脉冲 转化为步进角度 才能控制步进电机转动 我们在这里采用 ULN2003 为步进电机提供 脉冲信号 ULN2003 七 NPN 达林顿连接晶体管是低逻辑电平数字电路 如 TTL CMOS 或 PMOS NMOS 和大电流高电压要求的灯 继电器 打印机锤和其他类似负载间的接口的 理想器件 广泛用于计算机 工业和消费类产品中 所有器件有集电极开路输出和用 于瞬变抑制的续流箝位二极管 ULN2003 的设计与标准 TTL 系列兼容 它的管脚连接图 如图 3 6 所示 图 3 6 ULN2003 管脚连接图 其主要特性为 表 3 1 ULN2003 主要特性表 极限值 若无其他规定 Tamb 25 参数名称 符号 数值 单位 输入电压 VIN 30 V 输入电流 IIN 25 mA 功耗 PD 1 W 工作环境温度 Topr 20to 85 贮存温度 Tstg 55to 150 ULN2003 芯片概述与特点 ULN2003 芯片是高耐压 大电流达林顿阵列 由 7 组达林顿晶体管阵列和相应的电 阻网络以及钳位二极管网络构成 具有同时驱动 7 组负载的能力 为单片双极型大功 率高速集成电路 功率电子电路大多要求具有大电流输出能力 以便于驱动各种类型 的负载 功率驱动电路是功率电子设备输出电路的一个重要组成部分 步进电机驱动电路的工作过程是 首先从 P1 口输出 00000001B 由于单片机与 ULN2003 连接只用到了 P2 4 P2 7 所以 ULN2003 与单片机连接的四个管脚中每时刻 只有一个管脚处于导通状态 采用单拍方式对步进电机控制 其他管脚处于断开状态 这样就使得与 ULN2003 连接的步进电机只有一个引出端导通 该系统驱动原理图如图 3 7 所示 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 U2 ULN2003 1 2 3 4 5 J1 D1 D2 D3 D4 R2 1K R3 1K R4 1K R5 1K VCC a bc d 橙 橙 橙 橙 橙VCC VCC 图 3 7 步进电机驱动原理图 4 控制系统软件分析与设计 步进电机控制系统的软件需要同时完成读取键盘 处理键盘 控制步进电机转动 控制数码管动态显示等任务 这就必须通过中断技术来实现 在本设计中 主程序采用查询方式扫描键盘端口 检测按键动作是否发生 若有 按键动作则处理键盘 根据按键值修改相应参数值 实现键盘的实时处理功能 定时 器 0 中断服务程序控制步进电机的转动 根据当前显示的速度进行键盘手动改变 T0 定 时时间常数 设置 TH0 和 TL0 的值 达到对转速精确控制的目的 根据转动方向控制 位的值 控制脉冲信号循环移动的方向 达到对转动方向控制的目的 4 1 主程序流程图 系统分为电机的正反转 电机加减速的几部分组成 其主程序框图如图 4 1 所示 开始 初始化 调按键 显示子程序 调按键子程序调用正反转 子程序 调用加减速子程序停止 图 4 1 步进电机控制系统主程序流程图 4 2 读按键子程序流程图 按键采用扫描的方法 与初始值比较 相等则说明没有键按下 不相等则软件消 抖 以便确认是否真的有键按下 延时 10ms 后再次扫描 第二次与初始值比较 若相 等则表明前一次比较不相等是由抖动产生 如果相等则表明确实有键按下 执行键盘 之程序里的指令 将相应的变量值改变 为键盘处理子程序做准备 如图 4 2 所示 启动 否 是否有 键按下 处理键盘 子程序 是 图 4 2 扫描键盘字程序流程图 4 3 按键处理子程序流程图 按键处理子程序流程图如图 4 3 所示 步进电机的启停控制通过启停定时器 T0 来实现 因为定时器 T0 控制着脉冲信号 的输出 关闭定时器 T0 也就阻止了脉冲信号的输出 初始化变量 开始 P1 0 是 否按下 P3 0 是 否按下 P1 1 是 否按下 P3 1 是 否按下 退出 TR0 取反 通过启 停 T0 启停步进电 机 取反方向控制为 改变电机转动方向 修改速度参数 值 减速 修改速度参数 值 加速 是 是 是 是 图 4 3 键盘处理子程序流程图 4 4 电机控制中断程序流程图 定时器中断 0 服务程序流程图如图 4 4 所示 定时器中断 0 服务程序的中断时间由当前的转速决定 进入中断程序后 首先要 保护现场 再根据当前值设置 TH0 和 TL0 的值 然后判断转动方向控制位的值 最后 恢复现场 返回 等待下次中断 通过用当前转速控制中断时间 控制了脉冲的输出频率 也就到达了控制步进电 机转动速度的目的 通过检测方向控制位的电平 控制了步进电机各引出端的接通顺 序 也就到实现了步进电机转动方向的控制 开始 设置 T0 时间参数 判断转动方向 控制位的值 有控制位查 询输出脉冲 退出 改变方向控 制变量值 是 图 4 4 定时器中断 0 服务程序流程图 5 系统的调试 5 1 软件与硬件的调试 在系统完成后测试系统 检查硬件和软件是否能够协调运行 并对系统出现的情 况进行分析 看是否能够达到系统创作之初所设想的效果 如达不到则重新修改系统 的硬件结构或者修改软件的程序部分 直到达到设计需要为止 本系统的设计思路为 首先从整体上划分出各功能模块 然后硬件和软件同时进 行依次完成各个功能模块 最后将各个模块联系起来完成整个系统 在硬件调试的过程中 遇到了很多问题 主要有 1 确定步进电机的使用方法 和控制模式 此处尤为重要 这是整个系统的基础 也是确定软件是否能控制步进电机思路的开端 2 单片机应用 电源 注意事项 在电源两端应该加一个 47uF 以上的电解电容和一 个 0 1uF 的小电容 进行电源去藕滤波 3 电机档位切换时 转速不明显 应当对每个档位中断的二维数组值改变大点 软件测试的时候也有些问题 主要有 1 软件去抖方式 和时间的控制 2 控制步进电机转动的程序段完成后 调试发现对步进电机速度的控制范围过小 查阅资料后发现设计思路不太合理 原先的设计思路是用主程序控制步进电机转动 采用延时方式控制步进电机速度 由定时器处理键盘 改进程序 主程序用来处理键 盘 由定时器控制步进电机转动 步进电机转动速度由定时器定时时间决定 问题得 到解决 不仅扩大了步进电机速度的控制范围 也使得单片机对步进电机速度的控制 更加精确 由于编译只能检查是否存在语法错误 所以还要看是否存在逻辑错误 程序修改 好以后 当显示编译 0 错误 0 警告的时候 这说明已经没有语法错误了 是否有逻辑 错误还要看接上电路板通过仿真以后 步进电机能否正常转动 显示是否正常 结 论 利用 51 系列单片机设计的控制步进电机控制系统 对提高控制精度和响应速度 节约能源等都具有重要意义 采用单片机控制 用软件代替进控制器 使得线路简单 成 本低 可靠性大大增加 软件编程可灵活产生不同类型步进电机励磁序列来控制各种步 进电机的运行方式 本设计是采用 STC89C51 单片机对步进电机的控制 通过 I O 口输 出的时序方波作为步进电机的控制信号 信号经过芯片 ULN2003 驱动步进电机 其各 个部分都成功的制作了出来 本论文制作出了有十个不同档位速度的选择 可以成功的实现正反转 并且还在 电路上加上了数码管 可以通过数码管来查看步进电机的转速 总 结 经过老师耐心细致的指导 经过近两个月的努力 本次毕业设计课题步进电机控 制系统告一段落 步进电机控制系统主要分为硬件设计和软件设计两个部分 硬件设计主要是把单片机最小系统 键盘控制模块 步进电机驱动模块 数码显 示模块 测速模块各个硬件功能模块及其它元件合理搭配并连接起来使其能够为软件 运行提供一个硬件平台 软件设计主要是通过编写程序代码 实现对整个系统的控制 在系统上电复位后 程序自动运行 通过接受外部的键盘操作修改系统参数值 控制步进电机的启停 以 及转速的增减和转动方向的改变 定时器 T0 根据系统参数控制步进电机的转动 实现 步进电机转动速度的动态显示 本系统具有相当的实用功能 两片单片机分别实现步进电机控制和测速 能基本符 合实际应用需求 本次设计由于设计时间较短 个人能力以及精力等因素的限制 加 之设计经验的不足 该系统还有许多不尽如人意的地方 在把理论设计转换成实物的整个过程 如 电路设计 分析计算 画电路图 焊 接电路 检查调试 软件流程控制设计分析 编写调试软件 烧写软件到整个软硬件 系统的调试 最后直到系统完成 其中整个系统的前期准备是首先必须做到位的 如 控制什么 用什么控制 得到什么结果 进而对各部分应选择具体的芯片作进一步的 考虑 以使系统得到最优的表现 通过本课题 一方面我在查阅资料的基础上 了解 STC89C51 单片机控制的一些基 本技术 掌握其控制系统的分析方法与实现方法 能对单片机外围电路设计进行系统学 习与掌握 另一方面 在设计步进电机控制系统的硬件电路 控制程序和相应的电路 图时 应充分运用说学知识 善于思考 琢磨 分析 我们的学习不但要立足于书本 以解决理论和实际教学中的实际问题为目的 还 要以实践相结合 理论问题即实践课题 解决问题即课程研究 学生自己就是一个专 家 通过自己的手来解决问题比用脑子解决问题更加深刻 学习就应该采取理论与实 践结合的方式 理论的问题 也就是实践性的课题 这种做法既有助于完成理论知识 的巩固 又有助于带动实践 解决实际问题 加强我们的动手能力和解决问题的能力 参考文献 1 朱清慧 编著 基于 Proteus 显示控制系统设计与实例 北京 清华 大学出版社 2011 2 清华大学电子学教研组编 杨素行主编 模拟电子技术基础简明 教程 3 版 北京 高等教育出版社 2005 3 张亚华 电子电路计算机辅助分析与辅助设计 北京 航空工业出版 社 2004 4 莫正康 电力电子应用技术 北京 机械工业出版社 2009 5 曾晓宏 数字电子技术 北京 机械工业出版社 2008 6 江晓安 模拟电子技术 陕西 西安电子科技大学出版社 2007 7 蒋辉平 周国雄 基于 Proteus 的单片机系统设计与仿真实例 北京 机械工业出版社 2009 8 王宗培 步进电动机及其控制系统 M 哈尔滨 哈尔滨工业大学出版社 2009 9 余永权 单片机应用系统的功率接口技术 M 北京 北京航空航天大学 出版社 2006 10 陈理壁 步进电机及其应用 M 上海 上海科学技术出版社 2009 11 王晓明 胡晓柏 电动机的单片机控制 M 北京航空航天大学出版 社 2002 年 5 月第 1 版 181 208 12 刘宝延 程树康 步进电动机及其驱动控制系统 M 2007 年 11 月第一版 134 167 13 史敬灼 步进电动机伺服控制技术 M 2007 年 3 月第 2 版 23 35 14 刘国永 陈杰平 单片机控制步进电机系统设计 安徽 安徽技术师 范学院学报 2012 16 4 61 63 15 孙笑辉 韩曾晋 减少感应电动机直接转矩控制系统转矩脉动的方法 J 电气传动 2011 1 8 11 附录 A P101 P112 P123 P134 P145 P156 P167 P178 RESET9 RXD 10TXD 11 INT0 P3212 INT1 P3313 T0 P3414 T1 P3515 WR P3616 RD17 X218 X119 GND20 P20 21P21 22 P22 23P23 24 P24 25P25 26 P26 27P27 28 PSEN 29ALE P 30 EA VP31 P07 32P06 33 P05 34P04 35 P03 36P02 37 P01 38P00 39 VCC 40U1 STC89C52RC 12 34 56 78 91011 1213 1415 16U2 ULN2003 12M C2 30PF C3 30PF C110UF R110K VCC RST RST 12 34 5 J1 D1 D2 D3 D4 R21K R31K R41K R51K VCC 12 34 56 78 9 J2 10K Q1 Q2 Q3 Q4 VCCR6 2 2k R72 2k R82 2k R92 2k R181K D5LED VCC VCC S4 S1 S2 S3 P20P21P22P23 P20P21 P22P23 减减 减减 减减 减减 abc d 橙 橙橙 橙橙 VCC VCC VCC 3 2 1P1 POWER 1 1 2 2 3 3 4 4 5 5 6 6 S1 VCC1 2J3 5V a b cde f gdp 1H 2H3H 4H SMG7LED 1H 2H3H 4H a f b e ddpc g ab cd ef gdp 4H3H2H1H P30P31 P30P31 图 A1 系统总体电路图 附录 B 图 B1 系统仿真图 附录 C 源程序 include define uchar unsigned char define uint unsigned int define led P0 数码管段选 define haha P2 sbit s1 P1 0 sbit s2 P1 1 sbit s3 P3 0 sbit s4 P3 1 按键定义 s1 正转 s2 反转 s3 加 1 s4 减 1 sbit wei3 P2 3 sbit wei2 P2 2 sbit wei1 P2 1 sbit wei0 P2 0 数码管位选定义 sbit a P2 7 sbit b P2 6 sbit c P2 5 sbit d P2 4 脉冲信号输入端定义 uchar code display 11 0 xc0 0 xf9 0 xa4 0 xb0 0 x99 0 x92 0 x82 0 xf8 0 x80 0 x90 0 xff 共阳数码 管驱动信号 0 9 不显示 uchar code time counter 10 2 0 xda 0 x1c 0 xde 0 xe4 0 xe1 0 xec 0 xe5 0 xd4 0 xe9 0 xbc 9 7 1ms 0 xed 0 xa4 0 xf1 0 x8c 0 xf5 0 x74 0 xf9 0 x5c 0 xfc 0 x18 uchar code qudong 8 0 x80 0 xc0 0 x40 0 x60 0 x20 0 x30 0 x10 0 x90 uchar num1 0 控制取励磁信号变量 uchar num2 8 uchar k 1 加减档位控制 1 为最小档 bit flag1 0 初始正转 正反转标志 uchar buf 4 0 10 10 1 数码管显示缓存 正转 不显示 不显示 显示 1 档位 高 低 定时器 0 1 初始化函数 void T0 T1 init TMOD 0 x11 定时器 0 1 均工作于方式 1 16 位计时方式 TH0 65536 4000 256 TL0 65536 4000 256 定时器 0 定时 4ms 用于数码管扫描显示 TH1 time counter k 1 0 TL1 time counter k 1 1 定时器 1 定时 10ms 用于步进电机转速控制 TR0 1 TR1 1 ET0 1 ET1 1 开定时器中断 EA 1 开总中断 ms 级延时函数 void delay1m uint x uint i j for i 0 i x i 连数 x 次 约 x ms for j 0 j 10 k 1 buf 2 k 10 buf 3 k 10 while s3 if s4 0 速度减 1 档 delay1m 3 if s4 0 k if k 0 k 10 buf 2 k 10 buf 3 k 10 while s4 定时器 0 中断函数 用于数码管扫描
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 其他分类 > 大学论文


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!