基于单片机的电机调速系统设计.doc_第1页
基于单片机的电机调速系统设计.doc_第2页
基于单片机的电机调速系统设计.doc_第3页
基于单片机的电机调速系统设计.doc_第4页
基于单片机的电机调速系统设计.doc_第5页
已阅读5页,还剩31页未读, 继续免费阅读

下载本文档

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

文档简介

本科学生毕业论文 2012 年 5 月 10 日 论文题目 基于单片机的电机调速系统设计 学 院 年 级 专 业 姓 名 学 号 指导教师 I 摘要 本文主要研究了利用 PIC18F4520 单片机控制直流电机和步进电机的调速 达到正转 反转 加速和减速的目的 主要内容包括两部分 即硬件部分设计 和软件部分设计 其中 硬件包括单片机的最小单元 电源电路 按键 驱动 电路 显示电路和测速电路几个部分 在设计过程中要用到 protel 绘制和设计 电路图 软件部分包括按键 驱动 显示和测速程序的编写 应用的是 C 语言 编程环境是 MPLAB 软件 设计的重点在于驱动和测速 由单片机产生 PWM 信号 改变占空比 从而实现对直流电机转速进行控制 运用软件延时 改变 延时时间长短来控制步进电机的转速 在测速模块 运用了光电耦合器 非接 触式测量提高了测量精度 捕捉到的信号经过单片机的处理 以最新状态显示 在 LCD 屏 关键词 电机调速 PIC18F4520 单片机 驱动 测速 II AbstractAbstract It is to study that how the speed of DC motor and stepper motor are controlled with PIC18F4520MCU in order to finish the positive rotation reverse acceleration and deceleration efficiently In this thesis the design of hardware and the design of software will be explained in detail The hardware consists of the smallest unit of a single chip computer power supply circuit key drive circuit display circuit and the speed measuring circuit and during the process of design these spare parts protel drawing and design circuit diagram will be used The software is comprised of the key driving showing and writing measurement procedures moreover language C should be applied in the environment of MPLAB software The design focuses on the driving and testing speed which produces the PWM signal to change the duty ratio so that the DC motor speed will be controlled When the software works the stepper motor speed will be controlled through changing the length of time delay In the test module non contact measurement will be improved because of making use of photoelectric coupler Therefore the captured signal which is processed by MCU will be displayed in the newest state displayed on a LCD screen KeyKey WordsWords Motor speed control PIC18F4520 Driving Velocity measurement 目录 摘要 I ABSTRACT II 第一章 绪论 1 1 1 研究背景和意义 1 1 2 电机调速的发展史及现状 2 第二章 总体设计方案 5 2 1 总体方案说明 5 2 2 直流电机调速的基本原理 6 2 2 1 电机调速的方法选择 6 2 2 2 PWM 原理 6 2 3 步进电机调速的基本原理 7 2 4 微处理器的选择 9 2 4 1 微处理器的比较 9 2 4 2 PIC 单片机简介 9 第三章 硬件方案设计 14 3 1 按键设计 14 3 2 显示电路设计 15 3 3 测速电路设计 16 3 3 1 测速方案论证 16 3 3 2 光电开关测速设计 16 3 4 驱动电路设计 17 3 4 1 直流电机驱动电路设计 17 3 4 2 步进电机驱动电路设计 18 第四章 软件设计 20 4 1 总的系统流程图 20 4 2 按键扫描程序设计 20 4 3 LCD 显示程序设计 21 4 4 驱动程序设计 22 4 4 1 直流电机驱动程序设计 22 4 4 2 步进电机驱动程序设计 24 4 5 中断程序 24 结论 27 参考文献 28 附录 29 致谢 30 基于单片机的电机调速系统设计 1 第一章 绪论 1 1 研究背景和意义 在现代社会生产中 近 80 的电能用于电机 大多数的机器设备都靠电机带动 电动机作为电能转换的传动装置被广泛应用于机械 冶金 石油化学 国防等工业部 门中 随着对生产工艺 产品质量的要求不断提高和产量的增长 越来越多的生产机 械要求能实现自动调速 从而电机转速的质量和控制就显得格外重要 目前在电动机 拖动系统中已大量采用晶闸管装置向电动机提供电压 取代了笨重的发电动一电动机 的系统模式 伴随着电子技术和自动控制技术的高速发展 使电机调速逐步趋向数字 化 特别是单片机技术在此领域的广泛应用 使直流电机调速技术又进入到一个智能 化 高性能时代 直流电机的调速就是改变电枢电压的大小 最常见的一种改变电压 的方式就是 PWM 脉宽调制 通过改变占空比改变驱动电路的输出平均电压 达到改 变电机转速的目的 长期以来 自动调速电动机一直占据着调速控制的统治地位 直流电动机具有较 好的起动 制动性能 宜于在大范围内平滑调速 所以在许多需要高要求调速或快速 正反向的电力拖动领域中得到了广泛的应用 现在仍是大多数调速控制电动机的最优 选择 而且从控制的角度来看 直流调速还是交流拖动系统的基础 直流电机广泛应 用于数控机床 工业机器人等工厂自动化设备中 随着现代化生产规模的不断扩大 各行各业对直流电动机的需求愈益增大 并对其性能提出了更高的要求 为此 研究 并制造高性能 高可靠性的直流电机控制系统有着十分重要的现实意义 步进电机则 由于其精确性更是被广泛应用到了精密仪器领域 早期电动机的控制均以模拟电路为基础 采用运算放大器 非线性集成电路以及 少量的数字电路组成 硬件部分非常复杂 功能单一等诸多缺点 从而阻碍了直流电 动机调速的发展 然而随着单片机技术的日新月异 使得许多控制功能及算法都可以 采用软件技术来完成 为直流电动机的调速提供了更大的灵活性 并且可靠性更高 目前 电动机调速系统已经数字化和微机控制 特别是单片机技术的应用 使直 流电机调速技术又进入到一个新的阶段 智能化 高可靠性已成为它发展的趋势 本设计在于对电机调速原理 以及单片机的控制原理的掌握 近一步了解这一领 域的信息 基于单片机的电机调速系统设计 2 1 2 电机调速的发展史及现状 电机调速系统发展概况 在现代工业中 电动机作为电能转换的传动装置被广泛 应用于机械 冶金 石油化学 国防等工业部门中 随着对生产工艺 产品质量的要 求不断提高和产量的增长 越来越多的生产机械要求能实现自动调速 在可调速传动 系统中 按照传动电动机的类型来分 可分为两大类 直流调速系统和交流调速系统 交流电动机直流具有结构简单 价格低廉 维修简便 转动惯量小等优点 但主要缺 点为调速较为困难 相比之下 直流电动机虽然存在结构复杂 价格较高 维修麻烦 等缺点 但由于具有较大的起动转矩和良好的起 制动性能以及易于在宽范围内实现 平滑调速 因此直流调速系统至今仍是自动调速系统的主要形式 就步进电机而言 国内外对细分驱动技术的研究十分活跃 高性能的细分驱动电 路 可以细分到上千甚至任意细分 目前已经能够做到通过复杂的计算使细分后的步 距角均匀一致 大大提高了步进电机的脉冲分辨率 减小或消除了震荡 噪声和转矩 波动 使步进电机更具有 类伺服 特性 对实际步距角的作用 在没有细分驱动器 时 用户主要靠选择不同相数的步进电机来满足自己对步距角的要求 如果使用细分 驱动器 则用户只需在驱动器上改变细分数 就可以大幅度改变实际步距角 步进电 机的 相数 对改变实际步距角的作用几乎可以忽略不计 直流调速系统的发展得力于微电子技术 电力电子技术 传感器技术 永磁材料 技术 自动控制技术和微机应用技术的最新发展成就 正是这些技术的进步使直流调 速系统发生翻天覆地的变化 其中电机的控制部分已经由模拟控制逐渐让位于以单片 机为主的微处理器控制 形成数字与模拟的混合控制系统和纯数字控制系统 并正向 全数字控制方向快速发展 电动机的驱动部分所用的功率器件亦经历了几次更新换代 目前开关速度更快 控制更容易的全控型功率器件 MOSFET 和 IGBT 成为主流 功率 器件控制条件的变化和微电子技术的使用也使新型的电动机控制方法能够得到实现 脉宽调制控制方法在直流调速中获得了广泛的应用 1964 年 A Schonung 和 H stemmler 首先提出把 PWM 技术应用到电机传动中从此 为电机传动的推广应用开辟了新的局面 进入 70 年代以来 体积小 耗电少 成本低 速度快 功能强 可靠性高的大规模集成电路微处理器已经商品化 把电机控制推上 了一个崭新的阶段 以微处理器为核心的数字控制 简称微机数字控制 成为现代电 气传动系统控制器的主要形式 PWM 常取代数模转换器 DAC 用于功率输出控制 基于单片机的电机调速系统设计 3 其中 直流电机的速度控制是最常见的应用 通常 PWM 配合桥式驱动电路实现直流 电机调速 非常简单 且调速范围大 在直流电动机的控制中 主要使用定频调宽法 目前 电机调速控制模块主要有以下三种 1 采用电阻网络或数字电位器调整直流电机的分压 从而达到调速的目的 2 采用继电器对直流电机的开或关进行控制 通过开关的切换对电机的速度进行 调整 3 采用由 IGBT 管组成的 H 型 PWM 电路 用单片机控制 IGBT 管使之作为占空 比可调的开关状态 精确调整电动机转速 1 我国从六十年代初试制成功第一只硅晶闸管以来 晶闸管直流调速系统开始得到 迅速的发展和广泛的应用 用于中 小功率的 0 4 200kW 晶闸管直流调速装置已作为 标准化 系列化通用产品批量生产 目前 全国各大专院校 科研单位和厂家都在进行数字式直流调速系统的开发 提出了许多关于直流调速系统的控制算法 1 直流电动机及直流调速系统的参数辩识的方法 该方法据系统或环节的输入输 出特性 应用最小二乘法 即可获得系统环节的内部参数 所获得的参数具有较高的 精度 方法简便易行 2 直流电动机调速系统的内模控制方法 该方法依据内模控制原理 针对双闭环 直流电动机调速系统设计了一种内模控制器 取代常规的 PI 调节器 成功解决了转速 超调问题 能使系统获得优良的动态和静态性能 而且设计方法简单 控制器容易实 现 3 单神经元自适应智能控制的方法 该方法针对直流传动系统的特点 提出了单 神经元自适应智能控制策略 这种单神经元自适应智能控制系统不仅具有良好的静 动态性能 而且还具有令人满意的鲁棒性与自适应性 4 模糊控制方法 该方法对模糊控制理论在小惯性系统上对其应用进行了尝试 经 1 5kW 电机实验证明 模糊控制理论可以用于直流并励电动机的限流起动和恒速运 行控制 并能获得理想的控制曲线 2 上诉的控制方法仅是直流电机调速系统应用和研究的一个侧面 国内外还有许多 学者对此进行了不同程度的研究 基于单片机的电机调速系统设计 4 在国外随着各种微处理器的出现和发展 国外对直流电机的数字控制调速系统的 研究也在不断发展和完善 尤其 80 年代在这方面的研究达到空前的繁荣 大型直流电 机的调速系统一般采用晶闸管整流来实现 为了提高调速系统的性能 研究工作者对 晶闸管触发脉冲的控制算法作了大量研究 提出了内模控制算法 I P 控制器取代 PI 调节器的方法 自适应和模糊 PID 算法等等 目前 国外主要的电气公司 如瑞典 ABB 公司 德国西门子公司 AEG 公司 日本三菱公司 东芝公司 美国 GE 公司等 均已开发出数字式直流调装置 有成熟 的系列化 标准化 模版化的应用产品供选用 如西门子公司生产的 SIMOREG K 6RA24 系列整流装置为三相交流电源直接供电的全数字控制装置 其结构紧凑 用于 直流电机电枢和励磁供电 完成调速任务 设计电流范围为 15A 至 1200A 并可通过 并联 SITOR 可控硅单元进行扩展 根据不同的应拟量 用场合 可选择单象限或四象 限运行的装置 装置本身带有参数设定单元 不需要其它任何附加设备便可以完成参 数设定 所有控制调节监控及附加功能都由微处理器来实现 可选择给定值和反馈值 为数字量或模拟量 基于单片机的电机调速系统设计 5 第二章 总体设计方案 2 1 总体方案说明 基于单片机的电机调速系统设计 本论文包括步进电机和直流电机的调速 对于 直流电机而言 直接提供电枢电压 电机就能转动 改变电机两端的电枢电压可以控 制电机的转速 而改变电枢两端的电压极性就能达到改变电机转向的目的 基于以上 原则 本论文通过单片机控制电机的转速 单片机与驱动芯片相连接 通过端口输出 的高低电平改变电机转向 通过输出的 PWM 波调节转速 对于永磁式步进电机 只 要提供适当的励磁电流 使每相序的励磁电流有一定的的时间差 就能达到每次转动 小角度距离 适当调节相序之间的延时时间就可以调节转速 改变相序可以改变方向 这样 可以以同样的原则来控制步进电机 电机转动后就可以拖动轴的负载 而对于不同的负载要求的转速和转速性能不一 样 所以需要直观的转速显示 以及适当调节转速以达到较好的拖动效果 因此 测 速环节和显示环节不可或缺 方案如下图 2 1 所示 单 片 机 按键输入 测速 驱动 电机 显示 图 2 1 总的系统框图 基于单片机的电机调速系统设计 6 2 2 直流电机调速的基本原理 直流电动机主要包括定子和转子两个部分 只要为直流电机提供磁场 同时给电 枢绕组提供电流时电机就能转动 设电枢电压为 电枢电流为 电枢回路总电阻 a U a I 为 电机常数 励磁磁通 则电机转速为 a R a C 2 1 a aaa C RIU n 由式可知 2 1 改变电枢电压 改变电枢电阻和改变励磁磁通都能达到改变电 机转速的目的 3 2 2 1 电机调速的方法选择 方案一 改变电枢电压 由于电机的电枢电压不能超过额定电压 因此电压只能 向低调 在其余参数不变的情况下 电动机的机械特性为一族平行于固定特性的曲线 这种调速方法具有较好的调速性能 调速后机械特性硬度不变 稳定性较好 调速范 围较大 同时便于控制 可以做到无级平滑调速 方案二 改变磁通 为使电机不至于过饱和 因此磁通只能由额定值调小 由于 磁通减小 空载转速就会增大 机械特性也会变软 不同的磁通对应的机械特性曲线 为一族空载转速升高而尾部紧凑的曲线 这种调速方法可以做到调速平滑 损耗也小 但机械特性变软 方案三 调节电枢回路电阻大小 这种调速方法通过投切电枢回路的电阻大小 从而改变实际加载到电枢绕组的电压 由于加载电阻的断续性 因此只能做到有级调 速 而且加入的电阻越大 机械特性就越软 损耗也越大 优点就是设备简单 投入 少 4 综上所述 方法一改变电枢电压调速具有较好的优点 所以采用方法一 2 2 2 PWM 原理 PWM 的意思是脉冲宽度调制 简称脉宽调制 是利用微处理器的数字输出来对 模拟电路进行控制的一种非常有效的技术 广泛应用于测量 通信 功率控制与变换 等许多领域 脉冲宽度调制是一种对模拟信号电平进行数字编码的方法 通过高分辨 率计数器的使用 方波的占空比被调制用来对一个具体模拟信号的电平进行编码 基于单片机的电机调速系统设计 7 PWM 信号是数字的 因为在给定的任何时刻 满幅值的直流供电要么完全有 1 要么 完全无 0 而电压或电流是以一种通或断的重复脉冲序列被加到负载上 只要带宽足 够 任何模拟值都可以使用 PWM 进行编码 PWM 从处理器到被控系统信号都是数字 形式的 无需进行数模转换 因此可将噪声影响降到最小 PWM 是基于冲量的面积等效原理 即只要面积相等无论形状如何的窄脉冲加在 具有惯性的环节上时 其效果基本相同 所以可用等幅值的不同宽度的脉冲序列来等 效其它波形 设加在电机电枢两端的矩形波的幅值电压为 则电机电枢两端电压的 d U 平均值为 2 2 dda UU T T U 1 称为占空比 通过改变的值 达到调压的目的 5 PWM 波形如图 2 2 所示 图 2 2 PWM 波形图 2 3 步进电机调速 的基本原理 步进电机是将电脉冲信号转变为角位移或线位移的执行机构 在非超载的情况下 电机的转速 停止的位置只取决于脉冲信号的频率和脉冲数 而不受负载变化的影响 当步进驱动器接收到一个脉冲信号 它就驱动步进电机按设定的方向转动一个固定的 角度 称为步距角 它的旋转是以固定的角度一步一步运行的 可以通过控制脉冲个 数来控制角位移量 从而达到准确定位的目的 同时可以通过控制脉冲频率来控制电 机转动的速度和加速度 从而达到调速的目的 6 永磁式步进电机一般分为两相 步进角度一般为 7 5 度或 15 度 24BYJ48 5V 永 磁 4 相步进电机参数如表 2 1 所示 基于单片机的电机调速系统设计 8 表 2 1 步进电机参数 24BYJ48 5V 步进电机的接线图和旋转时序如下图 2 3 所示 图 2 3 步进电机接线 从图 2 3 可以看出 电机共有四组线圈 每组线圈的一个端点连在一起作为公共 端 5 引出 要使步进电机转动 先将公共端接 5V 电源 步进电机的红 橙 黄 粉 依次置低电平 步进电机就顺时针旋转 步进电机的这四个接头反过来依次接低电平 步进电机就逆时针旋转 改变相邻两次接通的时间间隔 就可以改变电机的转速 只 要依次不断的送出脉冲信号 步进电机就能连续转动 表 2 2 步进电机时序 步数M1M2M3M4 10001 20010 30100 41000 上表 2 2 是简单的顺时针 4 步时序 只要改变相序就可以逆时针转动 每一步的 电压电阻步距角 减速 比 空载 频率 起动 频率 起动 转矩 锁定 转矩 温升噪声 V degppsppsgf cmgf cmkdb 5705 625 641 64 900 500 350 350 50 40 基于单片机的电机调速系统设计 9 全角 步进角分别为 5 625 度和 5 625 64 度 为了提高精度可以采用特殊的 8 步时序 每一步的旋转角增量为其 4 步时序的一半 即 2 8125 64 度 2 4 微处理器的选择 2 4 1 微处理器的比较 所有的单片机中 51 单片机的结构是最简单的 内部寄存器也是最少的 因此也是 最容易入门的 AVR 单片机和 PIC 单片机在 51 的基础上又增加了一些其它的外围功 能 AVR 和 PIC 系列单片机中 不同型号的单片机还有不同特别功能 比如有带 USB 接口的 的带 CAN 总线接口的 有 IIC 接口 有 SPI 接口 有双串口功能等 在简单的控制方面用 51 单片机的还是很多 稍复杂的控制方面用的 AVR 和 PIC 单片 机的较多 总线结构 MCS 51 的总线结构是冯 诺依曼型 计算机在同一个存储空间取指令和 数据 两者不能同时进行 而 PIC 的总线结构是哈佛结构 指令和数据空间是完全分开的 一个用于指令 一个用于数据 由于可以对程序和数据同时进行访问 所以提高了数据吞 吐率 正因为在 PIC 系列单片机中采用了哈佛双总线结构 所以与常见的微控制器不 同的一点是程序和数据总线可以采用不同的宽度 数据总线都是 8 位的 但指令总线 位数分别位 12 14 16 位 流水线结构 MCS 51 的取指和执行采用单指令流水线结构 即取一条指令 执 行完后再取下一条指令 而 PIC 的取指和执行采用双指令流水线结构 当一条指令被 执行时 允许下一条指令同时被取出 这样就实现了单周期指令 寄存器组 PIC 的所有寄存器 包括 I O 口 定时器和程序计数器等都采用 RAM 结构形式 而且都只需要一个指令周期就可以完成访问和操作 而 MCS 51 需要两个 或两个以上的周期才能改变寄存器的内容 7 基于本设计需要用到 PWM 捕捉等模块和功能 所以选用 PIC 单片机 2 4 2 PIC 单片机简介 单片机是在一块芯片上集成了中央处理器单元 数据存储器程序存储器 输入 输 出和定时器 计数器的一台小型计算机 PIC 单片机是由 MicroChip 公司设计和制造 采用全新的流水线结构 单字节指令体系 嵌入 Flash 以及 10 位 A D 转换器 CPU 采用 RISC 结构 不同型号有 33 35 58 等不同条指令 采用 Harvard 双总线结构 基于单片机的电机调速系统设计 10 具有单指令周期 低功耗 驱动能力强 同步串行数据传送 应用平台界面友好 开发方便 程序存储器版本齐全等诸多优点 PIC18F4520 外设特点 高灌 拉电流 25mA 25mA 3 个可编程外部中断 4 个输 入电平变化中断 2 个捕捉 比较 PWM CCP 模块 增强型捕捉 比较 PWM ECCP 模块 主同步串口模块支持 3 线 SPI 总共 4 种模式 和 I2C 主从 模式 增强型可寻址 USART 模块 最多 13 路通道的 10 位模数转换模块 A D 两 个输入复用的模拟比较器 8 PIC18F4520 单片机引脚功能 PIC18F4520 有 40 个引脚 所有的引脚除了具有基 本的输入和输出功能外 一般都设计有第二功能 甚至第三功能 采用引脚复用技术 以便使功能增强而又不增大体积和引脚数量 可以将 PIC18F4520 单片机引脚分为两 大类 即 7 根系统配置引脚和 33 根输入 输出引脚 引脚图如图 2 4 所示 图 2 4 PIC18F4520 单片机引脚 1 系统配置引脚 1 电源和接地引脚 均配置 2 组 VDD 正电源端 VSS 接地端 2 时钟 复位引脚 OSC1 CLKI RA7 时钟振荡器晶体连接端 1 外部时钟源输入端 通用 I O 引脚 OSC2 CLKOUT 时钟振荡器晶体连接端 2 外部时钟源输出端 基于单片机的电机调速系统设计 11 3 主复位引脚 MCLR VPP RE3 人工复位输入端 低电平有效 编程电压输入端 数字输入 2 输入 输出功能引脚 PIC18F4520 单片机配置有 5 个端口 多达 35 个双向输入 输出引脚 每个引脚都 具有较强的对外电路驱动能力 都可以独立设置成所需要的输入或输出状态 A 端口 引脚如表 2 3 所示 表 2 3 A 端口引脚 名称功能 RA0 AN0RA0 第 0 路模拟信号输入端 RA1 AN1RA1 第 1 路模拟信号输入端 RA2 AN2 CVREF REF V RA2 第 2 路模拟信号输入端 负参考电压端 比较器 参考电压输出 RA3 AN3 REF V RA3 第 3 路模拟信号输入端 正参考电压端 RA4 T0CKI C1OUTRA4 定时器 0 时钟的输入端 Comparator1 输出 RA5 AN4 HLVDIN C2OUTSS RA5 第 4 路模拟信号输入端 串行口从动选择 高 低压检测 Comparator2 输出 RA6参见 OSC2 CLKO RA6 引脚信息 RA7参见 OSC1 CLKI RA7 引脚信息 2 端口 E 引脚 端口 E 是一个双向输入 输出可编程端口 只有当对 ADCON1 进行设置后才能用 作为数字量输入 输出引脚 端口 E 的引脚还有第 2 第 3 功能 E 端口引脚如表 2 4 所示 表 2 4 E 端口引脚 名称功能 RE0 AN5RD RE0 并行口读出控制端 第 5 路模拟信号输入端 RE1 AN6WR RE1 并行口写入控制端 第 6 路模拟信号输入端 RE2 AN7CS RE2 并行口片选控制端 第 7 路模拟信号输入端 3 端口 B 引脚 基于单片机的电机调速系统设计 12 端口 B 是一个双向输入 输出可编程端口 当其用作输入时 内部有可编程的弱上 拉电阻 此外 端口 B 的引脚还有第 2 第 3 功能 考虑到 MPLAB IDE 集成开发环 境借用 RB 端口的 3 条引脚 一般在外围电路中应避免使用 RB5 RB6 RB7 B 端口 引脚如表 2 5 所示 表 2 5 B 端口引脚 名称功能 RB0 INT0 FLT0 AN12数字I O 外部中断0 CCP1 模块PWM 错误输入 模拟输入12 RB1 INT1 AN10数字I O 外部中断1 模拟输入10 RB2 INT2 AN8数字I O 外部中断2 模拟输入8 RB3 AN9 CCP2 数字I O 模拟输入9 Capture2 输入 Compare2 输出 PWM2 输出 RB4 KBI0 AN11数字I O 电平变化中断引脚 模拟输入11 RB5 KBI1 PGM数字I O 电平变化中断引脚 低压ICSP 编程使能引脚 RB6 KBI2 PGC数字I O 电平变化中断引脚 在线调试器和ICSP 编程时钟引脚 RB7 KBI3 PGD 数字I O 电平变化中断引脚 在线调试器和ICSP 编程数据引脚 4 端口D引脚 PORTD是双向I O端口 或与微处理器端口连接的并行从动端口 Parallel Slave Port PSP 当使能PSP模块时 这些引脚带有TTL输入缓冲器 一般 RD端口在实 际的控制系统或实验中常用作为数据传送端口 D端口引脚如表2 6所示 表2 6 D端口引脚 名称功能 RD0 RD4 PSP0 PSP4数字I O 并行从动端口数据 RD5 PSP5 P1B数字I O 并行从动端口数据 增强型CCP1输出 RD6 PSP6 P1C数字I O 并行从动端口数据 增强型CCP1输出 RD7 PSP7 P1D数字I O 并行从动端口数据 增强型CCP1输出 5 端口 C 引脚 端口 C 是一个双向输入 输出可编程端口 其引脚还有第 2 第 3 功能 与其他端 口相比功能较为丰富 该引脚主要嵌入有两大类功能 捕捉 比较 脉宽调制模块 CCP 和各类串行通信模块 C 端口引脚如表 2 7 所示 基于单片机的电机调速系统设计 13 表 2 7 C 端口引脚 名称功能 RC0 T1OSO T13CKIRC0 定时器 1 的振荡器输出端 定时器 1 和 3 时钟输入端 RC1 T1OSI CCP2 RC1 定时器 1 的振荡器输入端 捕捉器 2 输入端或比较器 2 输出 端或脉宽调制器 PWM2 的输出端 RC2 CCP1 RC2 捕捉器 1 输入端或比较器 1 输出端或脉宽调制器 PWM1 的 输出端 RC3 SCK SCLRC3 SPI 和 I2C 串行口的同步时钟输入或输出端 RC4 SDI SDA RC4 SPI 串行口的数据输入端和 I2C 串行口的数据输入或输出端 RC5 SDORC5 SPI 串行口的数据输出端 RC6 TX CK RC6 USART 全双工异步发送端 USART 半双工同步传送时钟端 RC7 RX DT RC7 USART 全双工异步接收端 USART 半双工同步传送数据端 根据上述 PIC18F4520 单片机引脚介绍 可以完成单片机电源电路 复位电路 时钟电路的设计 基于单片机的电机调速系统设计 14 第三章 硬件方案设计 根据要求 需要完成的硬件设计有单片机最小单元部分 电源电路部分 按键扫 描部分 显示部分 驱动电路部分和测速电路部分 其中 电源部分引用已有设计 为了扩充充电途径和范围 也可以采用 USB 供电或其他方法 这里不再介绍 单片机 的最小单元为本设计的最小工作单元电路 也是最重要的部分 包括单片机复位 外 部晶振电路 这里引用经典设计 本论文主要介绍按键 显示 驱动和测速部分 3 1 按键设计 基于总体设计思路 本设计需要实现电机的正转 反转 加速和减速 所以可以 考虑采用四个按键设置 这样可以使设计成本大为降低 且操作简单 在设计程序时 占用较少的 CPU 资源 而传统的矩阵键盘 扫描时占用了大量的单片机资源 虽能实 现较强大的功能 但对于本设计而言不需要采用 综上所述 本设计采用 4 按键设计 电路图如图 3 1 所示 基于单片机的电机调速系统设计 15 图图 3 13 1 按键接线按键接线 3 2 显示电路设计 基于设计的要求 需要显示电机的转速 包括正向和反向转速 对于传统的数码 管显示而言 只能显示基本的数码和字符 且对于大数字的显示需要添加更多的数码 管 也不能较好的体现电机转速 而 LCD 显示则包含了上述优点的同时 还能显示较 多的字符 界面友好 适合本设计的需要 所以选择液晶显示 在本设计中 分两行显示 在上电之后 显示 Hello 字符 当有按键触发后 第一行显示 Rotate Speed 字符 其后为电机目前处于的状态 第二行显示转速 以及 RPM 字符 在表示上 用 表示正转 用 表示反转 用 表示 加速 用 表示减速 液晶显示器以其微功耗 体积小 显示内容丰富 超薄轻巧的诸多优点 在袖珍 式仪表和低功耗应用系统中得到越来越广泛的应用 根据显示的容量可以分为 1 行 16 个字 2 行 16 个字 2 行 20 个字等等 其中最常用的是 2 行 16 个字的 1602 液晶 模块 表 3 1 LCD1602 引脚功能 序号1234567 141516 基于单片机的电机调速系统设计 16 名称VSSVCCVEERSR WEDB0 DB7LED LED 功能接地电源 对比 度调 节 寄存 器选 择 读写 信号 线 使能 端 数据线电源接地 VEE 为液晶显示器对比度调整端 接正电源时对比度最弱 接地电源时对比度最 高 对比度过高时会产生 鬼影 使用时可以通过一个 10K 的电位器调整对比度 RS 寄存器选择 高电平时选择数据寄存器 低电平时选择指令寄存器 RW 为读写信号 线 高电平时进行读操作 低电平时进行写操作 当 RS 和 RW 共同为低电平时可以 写入指令或者显示地址 当 RS 为低电平 RW 为高电平时可以读忙信号 当 RS 为高电 平 RW 为低电平时可以写入数据 E 端为使能端 当 E 端由高电平跳变成低电平时 液晶模块执行命令 9 电路图如图 3 2 所示 图 3 2 LCD1602 接线图 3 3 测速电路设计 3 3 1 测速方案论证 方案一 使用测速发电机测速 测速电机与电动机同轴相连 通过发电机产生的 感应电动势 经过 A D 转换输入单片机 通过单片机控制 PWM 波改变电机转速 这 基于单片机的电机调速系统设计 17 种方式应用了大量的器件 电路复杂 而且采集的是模拟量 经过转换后加大了误差 方案二 采用霍尔传感器测速 霍尔元件具有较好的测速效果 采集的信号经过 放大整形 再送入单片机运算 此种方法精度较高 测速方便 但霍尔元件价格较高 方案三 采用光电开关测速 光电开关每次导通时 便输出一个脉冲 通过计数 脉冲个数便可以得到电机转速 这种方法直接采集的为数字量 无需 A D 转换 精度 也较高 电路设计简单 综上所述 本设计采用方案三用光电开关测速 3 3 2 光电开关测速设计 应用光电开关测速为不接触式测量 对被测系统影响小 测量精确 光电开关有 四个引脚 分别是阳极 阴极 集电极和发射极 其实质就是一个发光二极管和一个 三极管封装在一起 在应用光电开关时 发光二极管和三极管两端都分别接电源和地 当中间无遮挡物时 三极管导通 从发射极输出一个脉冲 测速时 将输出的脉冲输 入到单片机捕捉端口 就能通过单片机的计算和处理转换成转速显示到 LCD 上 在光 电开关的输出端 设有滤波电容以及放大器 以确保捕捉到最佳效果的脉冲 10 电路 图如图 3 3 所示 基于单片机的电机调速系统设计 18 图 3 3 光电开关测速电路 3 4 驱动电路设计 3 4 1 直流电机驱动电路设计 直流电机的调速前面已经说过 改变 PWM 的占空比即可 为了获得较好的正反转 和调速性能 以及对电机的保护 直流电机不采用达林顿结构驱动 而是采用 L298N 驱动芯片 L298N 是 ST 公司生产的一种高电压 大电流电机驱动芯片 其工作电压 高 最高工作电压可达 46V 输出电流大 瞬间峰值电流可达 3A 持续工作电流为 2A 额定功率 25W 内含两个 H 桥的高电压大电流全桥式驱动器 可以用来驱动直 流电动机和步进电动机 继电器线圈等感性负载 采用标准逻辑电平信号控制 具有 两个使能控制端 在不受输入信号影响的情况下允许或禁止器件工作有一个逻辑电源 输入端 使内部逻辑电路部分在低电压下工作 可以外接检测电阻 将变化量反馈给 控制电路 11 它与 ULN2003 相比 价格较高 驱动电路图如图 3 4 所示 基于单片机的电机调速系统设计 19 图 3 4 L298 驱动电路 3 4 2 步进电机驱动电路设计 步进电机的驱动可以选用专用的电机驱动模块 也可以利用三极管搭建驱动电路 还可以利用达林顿驱动器 ULN2003 对于 24BYJ48 5V 步进电机而言 需要的驱动电 流不大 且当步进电机线圈通断时会产生过高的反电动势 需要加入钳位二极管从而 保护芯片 ULN2003 符合这一设计 所以驱动芯片选用 ULN2003 ULN2003 是高压大电流达林顿三极管阵列芯片 吸收电流可达 500mA 输出管耐 压为 50V 左右 因此有较强的低电平驱动能力 ULN2003 由 7 组达林顿三极管阵列和 相应的电阻网络以及钳位二极管网络 12 选择四个输入和四个输出引脚 分别连接到 单片机端口和步进电机 ULN2003 引脚及内部结构如图 3 5 所示 基于单片机的电机调速系统设计 20 图 3 5 ULN2003 引脚图 基于单片机的电机调速系统设计 21 第四章 软件设计 4 1 总的系统流程图 基于单片机的电机调速系统设计 涉及的主要程序包括按键扫描 电机驱动 测 速和显示 首先是进行参数定义 接着是初始化 PIC18F4520 及其端口 然后在主程 序中调用按键扫描 通过读得的按键值执行相应的程序 最终将转速显示在 LCD 整 个过程主要应用到了 CCP1 CCP2 模块 定时 计数器模块 以及通用的 I O 端口 系 统流程图 4 1 如下所示 参数定义 系统初始化 端口定义 按键子程序 键按下 驱动子程序 显示子程序 中断处理 测速子程序 中断返回返回 Y N 开始 图 4 1 系统流程图 4 2 按键扫描程序设计 本设计是静态键盘扫描 占用较少的 CPU 单元 接线图见上 首先初始化相应的 单片机引脚 在没有按键触发时 输入单片机的为高电平 当有按键按下时 被拉成 低电平 延时 10 毫秒后再判断是否还为低电平 若是低电平则表示键被按下 则执行 基于单片机的电机调速系统设计 22 此键下的程序 同时不断扫描 4 个按键的状态 以及时的向单片机输入最新状态 4 3 LCD 显示程序设计 1602 液晶模块内部的控制器共有 11 条控制指令 指令表如表 4 1 所示 表 4 1 LCD 指令表 指令 R S R W D7D6D5D4D3D2D1D0 清显示0000000001 光标返回000000001 置输入模式00000001I DS 显示开关控制0000001DCB 光标字符移位000001S CR L 置功能00001DLNF 置字符发生存储器地址0001字符发生存储器地址 AGG 置数据存储器地址001显示数据存储器地址 ADD 读忙标志或地址01BF计数器地址 AC 写数到 CGRAM 或 DDRAM10要写的数 从 CGRAM 或 DDRAM 读数11读出的数据 指令 1 清显示 指令码 01H 光标复位到地址 00H 位置 指令 2 光标复位 光标返回到地址 00H 指令 3 光标和显示模式设置 I D 光标移动方向 高电平右移 低电平左移 S 屏幕上所有文字是否左移或者右移 高电平表示有效 低电平则无效 指令 4 显示开关控制 D 控制整体显示的开与关 高电平表示开显示 低电平 表示关显示 C 控制光标的开与关 高电平表示有光标 低电平表示无光标 B 控制 光标是否闪烁 高电平闪烁 低电平不闪烁 指令 5 光标或显示移位 S C 高电平时移动显示的文字 低电平时移动光标 指令 6 功能设置命令 DL 高电平时为 4 位总线 低电平时为 8 位总线 N 低 电平时为单行显示 高电平时双行显示 F 低电平时显示 5x7 的点阵字符 高电平时 显示 5x10 的点阵字符 有些模块是 DL 高电平时为 8 位总线 低电平时为 4 位总 基于单片机的电机调速系统设计 23 线 指令 7 字符发生器 RAM 地址设置 指令 8 DDRAM 地址设置 指令 9 读忙信号和光标地址 BF 为忙标志位 高电平表示忙 此时模块不能接 收命令或者数据 如果为低电平表示不忙 指令 10 写数据 指令 11 读数据 13 单片机端口与 LCD1602 液晶相连 接口见图 3 2 所示 通过单片机的指令编程 来实现它的读写操作 屏幕和光标的操作 最终显示目标内容 流程图如图 4 2 所示 端口初始化 LCD初始化 忙标志 写指令 写数据 显示 返回 Y N 开始 图 4 2 LCD 显示流程图 基于单片机的电机调速系统设计 24 4 4 驱动程序设计 4 4 1 直流电机驱动程序设计 直流电机采用 PWM 驱动 PIC18F4520 拥有两个独立的 CCP 模块可以产生 PWM 波 前面已近介绍了 CCP1 所以 PWM 波选择用 CCP2 产生 CCP2 和 CCP1 一样 这里不具体介绍 特殊功能寄存器 CCPR2H CCPR2L 和 CCP2CON 选择 Timer2 为其 时钟源 程序流程图如图 4 3 所示 打开TIMR2 按键值固定占空比增大占空比 按键值 正转 反转 加速 返回 按键1和2 按键3 按键2 按键1 按键4 初始化CCP2 减小占空比 减速 开始 图 4 3 直流电机驱动程序流程图 在为 CCP 模块配置 PWM 工作模式时应该遵循以下步骤 1 通过写 PR2 寄存器来设置 PWM 周期 2 通过写 CCPRxL 寄存器和 CCPxCON 位来设置 PWM 占空比 3 通过清零相应的 TRIS 位将 CCPx 引脚配置为输出 4 通过写 T2CON 来设置 TMR2 预分频值并使能 Timer2 5 配置 CCPx 模块使之工作于 PWM 模式 14 其中 基于单片机的电机调速系统设计 25 PWM 周期 PR2 1 4 TOSC TMR2 预分频值 PWM 占空比 CCPRXL CCPXCON TOSC TMR2 预分频值 4 4 2 步进电机驱动程序设计 步进电机的驱动原理前面已经介绍 这里也不再重复 在加减速过程中使速度分 为多档 在延时函数中 时间越短速度越快 反之则速度越小 具体过程见程序流程 图 4 4 所示 端口初始化 按键值延时延时 按键值按键值 正转数组 正转延时 反转数组 反转延时 正转数组 反转数组 动态延时 延时参数改 变 返回 按键1和2 按键3和4 按键2 按键1 按键4 按键3 开始 图 4 4 步进电机驱动程序流程图 4 5 中断程序 在本设计中测速中运用到了中断 CCP1 模块的捕捉中断 TIMER1 和 TIMER3 的定时中断 CCP1 捕捉从光电耦合器输入到 RC2 的脉冲 通过单片机换算成转速显 示出来 而 TIMER1 是作为 CCP1 模块的时钟源 TIMER3 作为 LCD 的刷新时钟源 以及时的显示转速 其中 CCP1 和 TIMER1 是优先级较高的中断 TIMER3 是优先级 较低的中断 基于单片机的电机调速系统设计 26 CCP 模块是集捕捉 比较和 PWM 于一体的单片机模块 所以要对其进行设置 在中断设计中采用捕捉 根据先前介绍的 可以知道 捕捉到的有效信号为低电平 在这里 捕捉下降沿 并且每四个下降沿捕捉一次 通过公式转换成转速 系统流程 图如图 4 5 所示 中断标志 CCP1中断 CCP1IF 0 测速子程序 捕捉脉冲 转化成转速 LED显示 返回中断 TIMER1中断TIMER3中断 TIMER3IF 0 刷新LCD数 据 TIMER1IF 0 CCP1时钟源 Y N 进入中断 图 4 5 中断程序流程图 CCP1 模块应用到的特殊功能寄存器包括 CCPR1H CCPR1L 用于存放数据 CCP1CON 寄存器用来设置模式和功能 以及定时计数器 1 和 3 的中断和使能等等 CCP1CON 寄存器如下表 4 2 所示 表 4 2 CCP1CON 寄存器 序号76543210 位Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0 定义 DCxB1DCxB0CCPxM3CCPxM2CCPxM2CCPxM0 基于单片机的电机调速系统设计 27 CCPxM3 CCPxM0 CCP 模块 x 模式选择位 0000 禁止捕捉 比较 PWM 复位 CCP 模块 0100 捕捉模式 每个下降沿捕捉 0101 捕捉模式 每个上升沿捕捉 0110 捕捉模式 每 4 个上升沿捕捉 0111 捕捉模式 每 16 个上升沿捕捉 通过模式选择位 CCPxM3 CCPxM0 选择事件类型 当一个捕捉发生时 中断请 求标志位 CCPxIF 置 1 它必须用软件清零 如果在读取寄存器 CCPRx 之前发生了另一个 捕捉 那么之前捕捉的值将被新捕捉的值覆盖 用于捕捉功能的定时器 Timer1 和 Timer3 必须运行在定时器模式或同步计数器模式 在异步计数器模式下 无法进行捕 捉操作 用于每个 CCP 模块的定时器由 T3CON 寄存器选择 15 基于单片机的电机调速系统设计 28 结论 基于单片机的电机调速系统设计 完成了直流电机和步进电机的调速和测速 基 本达到了设计的要求 在设计过程中 应用到了 PIC 单片机 L298 驱动芯片 ULN2003 驱动芯片 LCD1602 液晶 光电耦合器 电机等诸多器件 通过多方面的了 解 对这些器件都有了较深的认识 同时 整个的设计过程 还得用到 protel 软件 AutoCAD 绘图软件 MPIAB 编程软件等等 对设计和绘制图形有了一定的心得 在 编程过程中 运用 C 语言编程的能力有了一

温馨提示

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

最新文档

评论

0/150

提交评论