PID控制PWM调节直流电机速度.doc

上传人:w****2 文档编号:6591957 上传时间:2020-02-29 格式:DOC 页数:53 大小:2.09MB
返回 下载 相关 举报
PID控制PWM调节直流电机速度.doc_第1页
第1页 / 共53页
PID控制PWM调节直流电机速度.doc_第2页
第2页 / 共53页
PID控制PWM调节直流电机速度.doc_第3页
第3页 / 共53页
点击查看更多>>
资源描述
模板 本次设计主要研究的是 PID 控制技术在运动控制领域中的应用 纵所周知运动 控制系统最主要的控制对象是电机 在不同的生产过程中 电机的运行状态要满足 生产要求 其中电机速度的控制在占有至关重要的作用 因此本次设计主要是利用 PID 控制技术对直流电机转速的控制 其设计思路为 以 AT89S51 单片机为控制 核心 产生占空比受 PID 算法控制的 PWM 脉冲实现对直流电机转速的控制 同 时利用光电传感器将电机速度转换成脉冲频率反馈到单片机中 构成转速闭环控制 系统 达到转速无静差调节的目的 在系统中采 128 64LCD 显示器作为显示部件 通过 4 4 键盘设置 P I D V 四个参数和正反转控制 启动后通过显示部件了 解电机当前的转速和运行时间 因此该系统在硬件方面包括 电源模块 电机驱动 模块 控制模块 速度检测模块 人机交互模块 软件部分采用 C 语言进行程序设 计 其优点为 可移植性强 算法容易实现 修改及调试方便 易读等 本次设计系统的主要特点 1 优化的软件算法 智能化的自动控制 误差补偿 2 使用光电传感器将电机转速转换为脉冲频率 比较精确的反映出电机的转 速 从而与设定值进行比较产生偏差 实现比例 积分 微分的控制 达到转速无 静差调节的目的 3 使用光电耦合器将主电路和控制电路利用光隔开 使系统更加安全可靠 4 128 64LCD 显示模块提供一个人机对话界面 并实时显示电机运行速 度和运行时间 比 例 微 分 积 分 执行机构 对象 r t u t c t e t 5 利用 Proteus 软件进行系统整体仿真 从而进一步验证电路和程序的正确 性 避免不必要的损失 6 采用数字 PID 算法 利用软件实现控制 具有更改灵活 节约硬件等优点 7 系统性能指标 超调量 8 调节时间 4s 转速误差 1r min 1 PID 算法及 PWM 控制技术简介 1 1 PID 算法 控制算法是微机化控制系统的一个重要组成部分 整个系统的控制功能主要由 控制算法来实现 目前提出的控制算法有很多 根据偏差的比例 P 积分 I 微分 D 进行的控制 称为 PID 控制 实际经验和理论分析都表明 PID 控制能 够满足相当多工业对象的控制要求 至今仍是一种应用最为广泛的控制算法之一 下面分别介绍模拟 PID 数字 PID 及其参数整定方法 1 1 1 模拟 PID 在模拟控制系统中 调节器最常用的控制规律是 PID 控制 常规 PID 控制系 统原理框图如图 1 1 所示 系统由模拟 PID 调节器 执行机构及控制对象组成 图 1 1 模拟 PID 控制系统原理框图 PID 调节器是一种线性调节器 它根据给定值 与实际输出值 构成的 tr tc 控制偏差 er t 1 1 将偏差的比例 积分 微分通过线性组合构成控制量 对控制对象进行控制 故称 为 PID 调节器 在实际应用中 常根据对象的特征和控制要求 将 P I D 基本 控制规律进行适当组合 以达到对被控对象进行有效控制的目的 例如 P 调节器 PI 调节器 PID 调节器等 模拟 PID 调节器的控制规律为 1 0dteTteTteKtuDtIp 1 2 式中 为比例系数 为积分时间常数 为微分时间常数 PKITD 简单的说 PID 调节器各校正环节的作用是 1 比例环节 即时成比例地反应控制系统的偏差信号 偏差一旦产生 调 te 节器立即产生控制作用以减少偏差 2 积分环节 主要用于消除静差 提高系统的无差度 积分作用的强弱取决 于积分时间常数 越大 积分作用越弱 反之则越强 ITI 3 微分环节 能反映偏差信号的变化趋势 变化速率 并能在偏差信号的 值变得太大之前 在系统中引入一个有效的早期修正信号 从而加快系统的动作速 度 减少调节时间 由式 1 2 可得 模拟 PID 调节器的传递函数为 1 STKSEUDDIP 1 3 由于本设计主要采用数字 PID 算法 所以对于模拟 PID 只做此简要介绍 1 1 2 数字 PID 在 DDC 系统中 用计算机取代了模拟器件 控制规律的实现是由计算机软件 来完成的 因此 系统中数字控制的设计 实际上是计算机算法的设计 由于计算机只能识别数字量 不能对连续的控制算式直接进行运算 故在计算 机控制系统中 首先必须对控制规律进行离散化的算法设计 为将模拟 PID 控制规律按式 1 2 离散化 我们把图 1 1 中 trte 在第 n 次采样的数据分别用 表示 于是式 tutc nre nuc 1 1 变为 e c 1 4 当采样周期 T 很小时 可以用 T 近似代替 可用 近似代替 dt tde 1 ne 积分 用 求和 近似代替 即可作如下近似 Tnedt 1 1 5 tniee01 1 6 这样 式 1 2 便可离散化以下差分方程 01 1 uneTneeKnuiDIP 1 7 上式中 是偏差为零时的初值 上式中的第一项起比例控制作用 称为比例 P 项0u 即 nP neKuPp 1 8 第二项起积分控制作用 称为积分 I 项 即 I niIPI eTKnu1 1 9 第三项起微分控制作用 称为微分 D 项 即 nuD 1 eTKnuPD 1 10 这三种作用可单独使用 微分作用一般不单独使用 或合并使用 常用的组合有 P 控制 0 unuP 1 11 P I D 位置算法 控制器 被控对象 r t e t u c t PI 控制 0 ununIP 1 12 PD 控制 0 DP 1 13 PID 控制 0 ununuIP 1 14 式 1 7 的输出量 为全量输出 它对于被控对象的执行机构每次采样时 nu 刻应达到的位置 因此 式 1 7 又称为位置型 PID 算式 由 1 7 可看出 位置型控制算式不够方便 这是因为要累加偏差 不 ie 仅要占用较多的存储单元 而且不便于编写程序 为此对式 1 7 进行改进 根据式 1 7 不难看出 u n 1 的表达式 即 01 2 1 1 uneTneeKnuiDIP 1 15 将式 1 7 和式 1 15 相减 即得数字 PID 增量型控制算式为 1 nunu 2 1 2 neneKeKDIP 1 16 从上式可得数字 PID 位置型控制算式为 nu 0 2 1 2 1 uneneneDIP 1 17 式中 称为比例增益 PK 称为积分系数 IIT 称为微分系数 1 DP 数字 PID 位置型示意图和数字 PID 增量型示意图分别如图 1 2 和 1 3 所示 P I D 增量算法 控制器 被控对象 r t e t u c t 图 1 2 数字 PID 位置型控制示意图 图 1 3 数字 PID 增量型控制示意图 1 1 3 数字 PID 参数整定方法 如何选择控制算法的参数 要根据具体过程的要求来考虑 一般来说 要求被 控过程是稳定的 能迅速和准确地跟踪给定值的变化 超调量小 在不同干扰下系 统输出应能保持在给定值 操作变量不宜过大 在系统和环境参数发生变化时控制 应保持稳定 显然 要同时满足上述各项要求是很困难的 必须根据具体过程的要 求 满足主要方面 并兼顾其它方面 PID 调节器的参数整定方法有很多 但可归结为理论计算法和工程整定法两种 用理论计算法设计调节器的前提是能获得被控对象准确的数学模型 这在工业过程 中一般较难做到 因此 实际用得较多的还是工程整定法 这种方法最大优点就是 整定参数时不依赖对象的数学模型 简单易行 当然 这是一种近似的方法 有时 可能略嫌粗糙 但相当适用 可解决一般实际问题 下面介绍两种常用的简易工程 整定法 1 扩充临界比例度法 这种方法适用于有自平衡特性的被控对象 使用这种方法整定数字调节器参数 的步骤是 选择一个足够小的采样周期 具体地说就是选择采样周期为被控对象纯滞后时 间的十分之一以下 用选定的采样周期使系统工作 工作时 去掉积分作用和微分作用 使调节器 成为纯比例调节器 逐渐减小比例度 直至系统对阶跃输入的响应 PK 1 达到临界振荡状态 记下此时的临界比例度 及系统的临界振荡周期 kT 选择控制度 所谓控制度就是以模拟调节器为基准 将 DDC 的控制效果与模 拟调节器的控制效果相比较 控制效果的评价函数通常用误差平方面积 表 02 te 示 控制度 模 拟 02 dte DC 1 18 实际应用中并不需要计算出两个误差平方面积 控制度仅表示控制效果的物理 概念 通常 当控制度为 1 05 时 就可以认为 DDC 与模拟控制效果相当 当控制 度为 2 0 时 DDC 比模拟控制效果差 根据选定的控制度 查表 1 1 求得 T 的值 1 PKIDT 表 1 1 扩充临界比例度法整定参数 2 经验法 经 验法是 靠工作 人员的 经验及 对工艺 的熟悉 程度 参考测 量值跟 踪与设 定值曲 线 来 调整 P I D 三 者参数的大小的 具体操作可按以下口诀进行 参数整定找最佳 从小到大顺序查 先是比例后积分 最后再把微分加 曲线振荡很频繁 比例度盘要放大 曲线漂浮绕大湾 比例度盘往小扳 曲线偏离回复慢 积分时间往下降 曲线波动周期长 积分时间再加长 曲线振荡频率快 先把微分降下来 控制度 控制规律 T PID 1 05 PI 0 03 K0 53 K 0 88 KT 1 05 PID 0 014 0 63 0 49 0 14 K 1 20 PI 0 05 0 49 0 91 1 20 PID 0 043 KT0 047 K 0 47 K0 16 1 50 PI 0 14 0 42 0 99T 1 50 PID 0 09 0 34 0 43 0 20 K 2 00 PI 0 22 K0 36 K 1 05 K 2 00 PID 0 16T0 27 0 40 0 22 动差大来波动慢 微分时间应加长 下面以 PID 调节器为例 具体说明经验法的整定步骤 让调节器参数积分系数 0 实际微分系数 0 控制系统投入闭环运行 IKDK 由小到大改变比例系数 让扰动信号作阶跃变化 观察控制过程 直到获得满P 意的控制过程为止 取比例系数 为当前的值乘以 0 83 由小到大增加积分系数 同样让扰IK 动信号作阶跃变化 直至求得满意的控制过程 积分系数 保持不变 改变比例系数 观察控制过程有无改善 如有改IKPK 善则继续调整 直到满意为止 否则 将原比例系数 增大一些 再调整积分系P 数 力求改善控制过程 如此反复试凑 直到找到满意的比例系数 和积分系I PK 数 为止 引入适当的实际微分系数 和实际微分时间 此时可适当增大比例系数DKDT 和积分系数 和前述步骤相同 微分时间的整定也需反复调整 直到控制过PKI 程满意为止 PID 参数是根据控制对象的惯量来确定的 大惯量如 大烘房的温度控制 一 般 P 可在 10 以上 I 在 3 10 之间 D 在 1 左右 小惯量如 一个小电机闭环 控制 一般 P 在 1 10 之间 I 在 0 5 之间 D 在 0 1 1 之间 具体 参数要在现场调试时进行修正 1 2 PWM 脉冲控制技术 PWM Pulse Width Modulation 控制就是对脉冲的宽度进行调制的技术 即 通过对一系列脉冲的宽度进行调制 来等效地获得所需要波形 含形状和幅值 1 2 1 PWM 控制的基本原理 在采样控制理论中有一个重要的结论 冲量相等而形状不同的窄脉冲加在具有 惯性的环节上时 其效果基本相同 冲量即指窄脉冲的面积 这里所说的效果基本 相同 是指环节的输出响应波形基本相同 如果把各输出波形用傅立叶变换分析 则其低频段非常接近 仅在高频段略有差异 例如图 1 4 中 a b c 所示的三个窄 脉冲形状不同 其中图 1 4 的 a 为矩形脉冲 图 1 4 的 b 为三角脉冲 图 1 4 的 c f t 0 t f t 0 t f t 0 t f t 0 t a b c d a b c d a b i i t i t e t R L 0 为正弦半波脉冲 但它们的面积 即冲量 都等于 1 那么 当它们分别加在具有 惯性的同一环节上时 其输出响应基本相同 当窄脉冲变为如图 1 4 的 d 所示的单 位脉冲函数 时 环节的响应即为该环节的脉冲过渡函数 t 图 1 4 形状不同而冲量相同的各种窄脉冲 图 1 5a 的电路是一个具体的例子 图中 为窄脉冲 其形状和面积分别如 te 图 1 4 的 a b c d 所示 为电路的输入 该输入加在可以看成惯性环节的 R L 电路上 设其电流 为电路的输出 图 1 5b 给出了不同窄波时 的响应波形 ti ti 从波形可以看出 在 的上升段 脉冲形状不同时 的形状也略有不同 但其 ti 下降段几乎完全相同 脉冲越窄 各 波形的差异也越小 如果周期性的施加上 ti 述脉冲 则响应 也是周期性的 用傅立叶级数分解后将可看出 各 在低频 ti ti 段的特性非常接近 仅在高频段有所不同 2 图 1 5 冲量相同的各种窄脉冲的响应波形 1 2 2 直流电机的 PWM 控制技术 直流电动机具有优良的调速特性 调速平滑 方便 调速范围广 过载能力大 能承受频繁的冲击负载 可实现频繁的无级快速起动 制动和反转 能满足生产过 程自动化系统各种不同的特殊运行要求 在许多需要调速或快速正反向的电力拖动 系统领域中得到了广泛的应用 直流电动机的转速调节主要有三种方法 调节电枢供电的电压 减弱励磁磁通 和改变电枢回路电阻 针对三种调速方法 都有各自的特点 也存在一定的缺陷 例如改变电枢回路电阻调速只能实现有级调速 减弱磁通虽然能够平滑调速 但这 种方法的调速范围不大 一般都是配合变压调速使用 所以在直流调速系统中 都 是以变压调速为主 其中 在变压调速系统中 大体上又可分为可控整流式调速系 统和直流 PWM 调速系统两种 直流 PWM 调速系统与可控整流式调速系统相比 有下列优点 由于 PWM 调速系统的开关频率较高 仅靠电枢电感的滤波作用就可 U t 0 tTt 0 U 获得平稳的直流电流 低速特性好 稳速精度高 调速范围宽 同样 由于开关频 率高 快速响应特性好 动态抗干扰能力强 可以获得很宽的频带 开关器件只工作 在开关状态 因此主电路损耗小 装置效率高 直流电源采用不可控整流时 电网 功率因数比相控整流器高 正因为直流 PWM 调速系统有以上优点 并且随着电力 电子器件开关性能的不断提高 直流脉宽调制 PWM 技术得到了飞速的发展 随着科学技术的迅猛发展传统的模拟和数字电路已被大规模集成电路所取代 这就使得数字调制技术成为可能 目前 在该领域中大部分应用的是数字脉宽调制 技术 电动机调速系统采用微机实现数字化控制 是电气传动发展的主要方向之一 采用微机控制后 整个调速系统实现全数字化 并且结构简单 可靠性高 操作维 护方便 电动机稳态运转时转速精度可达到较高水平 静动态各项指标均能较好地满 足工业生产中高性能电气传动的要求 下面主要介绍直流电机 PWM 调速系统的算 法实现 根据 PWM 控制的基本原理可知 一段时间内加在惯性负载两端的 PWM 脉 冲与相等时间内冲量相等的直流电加在负载上的电压等效 那么如果在短时间 T 内 脉冲宽度为 幅值为 U 由图 1 6 可求得此时间内脉冲的等效直流电压为 0t 图 1 6 PWM 脉冲 若令 即为占空比 则上式可化为 T Ut 0Tt0 U 为脉冲幅值 U 0 1 19 若 PWM 脉冲为如图 1 7 所示周期性矩形脉冲 那么与此脉冲等效的直流电 压的计算方法与上述相同 即 为矩形脉冲占空比 UT tnUt 00 1 20 U t 0 tTt 0 U 2 T2 t 0 3 T3 t 0 4 t 0 n T n 1 t 0 图 1 7 周期性 PWM 矩形脉冲 由式 1 20 可知 要改变等效直流电压的大小 可以通过改变脉冲幅值 U 和占 空比 来实现 因为在实际系统设计中脉冲幅值一般 是恒定的 所以通常通过控制 占空比 的大小实现等效直流电压在 0 U 之间任意调节 从而达到利用 PWM 控制技术实现对直流电机转速进行调节的目的 键 盘 模 块 控 制 器 模 块显 示 模 块 电 机 驱 动 模 块 直 流 电 机速 度 检 测 模 块PWM脉 冲 2 设计方案与论证 2 1 系统设计方案 根据系统设计的任务和要求 设计系统方框图如图 2 1 所示 图中控制器模块 为系统的核心部件 键盘和显示器用来实现人机交互功能 其中通过键盘将需要设 置的参数和状态输入到单片机中 并且通过控制器显示到显示器上 在运行过程中 控制器产生 PWM 脉冲送到电机驱动电路中 经过放大后控制直流电机转速 同时 利用速度检测模块将当前转速反馈到控制器中 控制器经过数字 PID 运算后改变 PWM 脉冲的占空比 实现电机转速实时控制的目的 图 2 1 系统方案框图 2 2 控制器模块设计方案 根据设计任务 控制器主要用于产生占空比受数字 PID 算法控制的 PWM 脉 冲 并对电机当前速度进行采集处理 根据算法得出当前所需输出的占空比脉冲 对于控制器的选择有以下三种方案 方案一 采用 FPGA 现场可编辑门列阵 作为系统的控制器 FPGA 可以实 现各种复杂的逻辑功能 3 模块大 密度高 它将所有器件集成在一块芯片上 减少 了体积 提高了稳定性 并且可应用 EDA 软件仿真 调试 易于进行功能控制 FPGA 采用并行的输入输出方式 提高了系统的处理速度 适合作为大规模实时系 统的控制核心 通过输入模块将参数输入给 FPGA FPGA 通过程序设计控制 PWM 脉冲的占空比 但是由于本次设计对数据处理的时间要求不高 FPGA 的高 速处理的优势得不到充分体现 并且由于其集成度高 使其成本偏高 同时由于芯 片的引脚较多 实物硬件电路板布线复杂 加重了电路设计和实际焊接的工作 方案二 采用 AT89S51 作为系统控制的方案 AT89S51 单片机算术运算功 能强 软件编程灵活 自由度大 可用软件编程实现各种算法和逻辑控制 4 相对于 FPGA 来说 它的芯片引脚少 在硬件很容易实现 并且它还具有功耗低 体积小 技术成熟和成本低等优点 在各个领域中应用广泛 方案三 采用传统的 AT89C51 单片机作为运动物体的控制中心 它和 AT89S51 一样都具有软件编程灵活 体积小 成本低 使用简单等特点 但是它的 频率较低 运算速度慢 RAM ROM 空间小等缺点 本题目在确定圆周坐标值 时 需要进行大量的运算 若采用 89C51 需要做 RAM ROM 来扩展其内存空间 其硬件工作量必然大大增多 综合上述三种方案比较 采用 AT89S51 作为控制器处理输入的数据并控制电 机运动较为简单 可以满足设计要求 因此在本次设计选用方案二 2 3 电机驱动模块设计方案 本次设计的主要目的是控制电机的转速 因此电机驱动模块是必不可少 其方 案有一下两种 方案一 采用大功率晶体管组合电路构成驱动电路 这种方法结构简单 成本 低 易实现 但由于在驱动电路中采用了大量的晶体管相互连接 使得电路复杂 抗干扰能力差 可靠性下降 我们知道在实际的生产实践过程中可靠性是一个非常 重要的方面 因此此中方案不宜采用 方案二 采用专用的电机驱动芯片 例如 L298N L297N 等电机驱动芯片 由于它内部已经考虑到了电路的抗干扰能力 安全 可靠行 所以我们在应用时只 需考虑到芯片的硬件连接 驱动能力等问题就可以了 所以此种方案的电路设计简 单 抗干扰能力强 可靠性好 设计者不需要对硬件电路设计考虑很多 可将重点 放在算法实现和软件设计中 大大的提高了工作效率 基于上述理论分析和实际情况 电机驱动模块选用方案二 2 4 速度采集模块设计方案 本系统是一闭环控制系统 在调节过程中需要将设定与当前实际转速进行比较 速度采集模块就是为完成这样功能而设计的 其设计方案以下三种 方案一 采用霍尔集成片 该器件内部由三片霍尔金属板组成 当磁铁正对金 属板时 由于霍尔效应 金属板发生横向导通 5 因此可以在电机上安装磁片 而将 霍尔集成片安装在固定轴上 通过对脉冲的计数进行电机速度的检测 方案二 采用对射式光电传感器 其检测方式为 发射器和接受器相互对射安 装 发射器的光直接对准接受器 当测物挡住光束时 传感器输出产生变化以指示 被测物被检测到 通过脉冲计数 对速度进行测量 方案三 采用测速发电机对直流电机转速进行测量 该方案的实现原理是将测 速发电机固定在直流电机的轴上 当直流电机转动时 带动测速电机的轴一起转动 因此测速发电机会产生大小随直流电机转速大小变化的感应电动势 因此精度比较 高 但由于该方案的安装比较复杂 成本也比较高 在本次设计没有采用此方案 以上三种方案中 第三种方案不宜采用 第一种和第二种方案的测速原理基本 相同都是将电机转速转换为电脉冲的频率进行测量 但考虑到市场中的霍尔元件比 较难买 而且成本也比较高 所以综合考虑在设计中选用第二种方案进行设计 2 5 显示模块设计方案 在电机转速控制系统中 系统需要对参数 工作方式以及电机当前运行状态的 显示 因此在整个系统中必须设计一个显示模块 考虑有三种方案 方案一 使用七段数码管 LED 显示 数码管具有亮度高 工作电压低 功 耗小 易于集成 驱动简单 耐冲击且性能稳定等特点 并且它可采用 BCD 编码 显示数字 编程容易 硬件电路调试简单 但由于在此次设计中需要设定的参数种 类多 而且有些需要进行汉字和字符的显示 所以使用 LED 显示器不能完成设计 任务 不宜采用 方案二 采用 1602LCD 液晶显示器 该显示器控制方法简单 功率低 硬件 电路简单 可对字符进行显示 但考虑到 1602LCD 液晶显示器的屏幕小 不能显 示汉字 因此对于需要显示大量参数的系统来说不宜采用 方案三 采用 128 64LCD 液晶显示器 该显示器功率低 驱动方法和硬件连 接电路较上面两种方案复杂 显示屏幕大 可对汉字和字符进行显示 根据本次设计的设计要求 显示模块选用方案三 2 6 键盘模块设计方案 在电机转速控制系统中 系统需要按键进行参数的输入 工作方式的设定以及 电机起停的控制 因此键盘在整个系统中是不可缺少的一部分 考虑有二种方案 方案一 采用独立式键盘 这种键盘硬件连接和软件实现简单 并且各按键相 互独立 每个按键均有一端接地 另一端接到输入线上 按键的工作状态不会影响 其它按键上的输入状态 但是由于独立式键盘每个按键需要占用一根输入口线 所 以在按键数量较多时 I O 口浪费大 故此键盘只适用于按键较少或操作速度较高 的场合 方案二 采用行列式键盘 这种键盘的特点是行线 列线分别接输入线 输出 线 按键设置在行 列线的交叉点上 利用这种矩阵结构只需 m 根行线和 n 根列线 就可组成 个按键的键盘 因此矩阵式键盘适用于按键数量较多的场合 但此nm 种键盘的软件结构较为复杂 6 根据上面两种方案的论述 由于本次设计的系统硬件连接比较复杂 对软件的 运行速度要求不高 所以采用方案二矩阵式键盘进行设计 2 7 电源模块设计方案 电源是任何系统能否运行的能量来源 无论那种电力系统电源模块都是不可或 缺的 对于该模块考虑一下两种方案 方案一 通过电阻分压的形式将整流后的电压分别降为控制芯片和电机运行所 需的电压 此种方案原理和硬件电路连接都比较简单 但对能量的损耗大 在实际 应用系统同一般不宜采用 方案二 通过固定芯片对整流后的电压进行降压 稳压处理 如 7812 7805 等 此种方案可靠性 安全性高 对能源的利用率高 并且电路简单容易实现 根据系统的具体要求 采用方案二作为系统的供电模块 经过上述的分析与论证 系统各模块采用的方案如下 1 控制模块 采用 AT89S51 单片机 2 电机驱动模块 采用直流电机驱动芯片 L298N 实现 3 速度采集模块 采用光电传感器 4 显示模块 采用 128 64LCD 液晶显示模块 5 键盘模块 采用标准的 4 4 矩阵式键盘 6 电源模块 采用 7805 7812 芯片实现 U7 C2 0 33 F C6 0 33 F Vin1 GN D 2 5V 3 U4 7805 Vin1 GN D 2 12V 3 U3 7812 C3 0 1 F C7 0 1 F 5v 12v 1 2 3 4 U6 C8 20 F C5 3300 F C4 20 F C1 3300 F 12 J1 220V 3 单元电路设计 3 1 硬件资源分配 本系统电路连接及硬件资源分配见图 3 1 所示 采用 AT89S51 单片机作为核 心器件 转速检测模块作为电机转速测量装置 通过 AT89S51 的 P3 3 口将电脉 冲信号送入单片机处理 L298 作为直流电机的驱动模块 利用 128 64LCD 显示 器和 4 4 键盘作为人机接口 图 3 1 系统电路连接及硬件资源分配图 3 2 电源电路设计 电源是整个系统的能量来源 它直接关系到系统能否运行 在本系统中直流电 机需要 12V 电源 而单片机 显示模块等其它电路需要 5V 的电源 因此电路中选 用 7805 和 7812 两种稳压芯片 其最大输出电流为 1 5A 能够满足系统的要求 其电路如图 3 2 所示 P0 P0 7 128 64LCD显 示 模 块P2 7P2 6 电 机 驱 动 模 块P2 0 P0 554 键 盘 P1 0 P1 3P1 4 P1 744L0 3H0 3 P3 2 INT0A89S1 P3 IT1 电 机转 速 检 测四 输 入 与 门 A1 A2SEN1 1 1Y12 1Y23 Vs4 1A1 51EN 6 1A2 7 GND8 Vcc9 2A1 102A2 122EN 11 2Y113 2Y214 SEN2 15 U5 L298N D4 D3 D1 D2 C10 20 F C9 20 F 5V 12V 12V R1 470R2 5K R4 5K R3 470 R5 470 MG1 P2 7 P2 6 P2 5 图 3 2 电源电路 3 3 电机驱动电路设计 驱动模块是控制器与执行器之间的桥梁 在本系统中单片机的 I O 口不能直接 驱动电机 只有引入电机驱动模块才能保证电机按照控制要求运行 在这里选用 L298N 电机驱动芯片驱动电机 该芯片是由四个大功率晶体管组成的 H 桥电路构 成 四个晶体管分为两组 交替导通和截止 用单片机控制达林顿管使之工作在开 关状态 通过调整输入脉冲的占空比 调整电动机转速 其中输出脚 SENSEA 和 SENSEB 用来连接电流检测电阻 Vss 接逻辑控制的电源 Vs 为电机驱动电 源 IN1 IN4 输入引脚为标准 TTL 逻辑电平信号 用来控制 H 桥的开与关即实现 电机的正反转 ENA ENB 引脚则为使能控制端 用来输入 PWM 信号实现电机 调速 其电路如图 3 3 所示 利用两个光电耦合器将单片机的 I O 与驱动电路进行 隔离 保证电路安全可靠 这样单片机产生的 PWM 脉冲控制 L298N 的选通端 7 使电机在 PWM 脉冲的控制下正常运行 其中四个二极管对芯片起保护作用 图 3 3 电机驱动电路 3 4 电机速度采集电路设计 在本系统中由于要将电机本次采样的速度与上次采样的速度进行比较 通过偏 差进行 PID 运算 因此速度采集电路是整个系统不可缺少的部分 本次设计中应用 VSDORS WEDB012DB345DB67CS12 RTVEAK 123456789102134516781920 了比较常见的光电测速方法来实现 其具体做法是将电机轴上固定一圆盘 且其边 缘上有 N 个等分凹槽如图 3 5 a 所示 在圆盘的一侧固定一个发光二极管 其 位置对准凹槽处 在另一侧和发光二极光平行的位置上固定一光敏三极管 如果电 动机转到凹槽处时 发光二极管通过缝隙将光照射到光敏三极管上 三极管导通 反之三极管截止 电路如图 3 4 b 所示 从图中可以得出电机每转一圈在 P3 3 的输出端就会产生 N 个低电平 这样就可根据低电平的数量来计算电机此时转速了 例如当电机以一定的转速运行时 P3 3 将输出如图 3 5 所示的脉冲 若知道一段时 间 t 内传感器输出的低脉冲数为 n 则电机转速 v r s a b 图 3 4 电机速度采集方案 图 3 5 传感器输出脉冲波形 3 5 显示电路设计 根据设计要求要对系统各项参数和电机运行状态进行显示 因此在电路中加入 显示模块是非常必要的 在系统运行过程中需要显示的数据比较都 而且需要汉字 显示 在这里选用 128 64 液晶显示器比较适合 它是一种图形点阵液晶显示器 主要由行驱动器 列驱动器及 128 64 全点阵液晶显示器组成 可完成汉字 16 16 显示和 图形显示共有 20 个引脚 8 其引脚名称及引脚编号的对应关系如图 3 6 引脚功能 如表 3 1 所示 圆 盘 光 敏 三 极 管发 光 二 极 管 5V P3 470 20 R1 R2 P1 01 P1 12 P1 23 P1 34 P1 45 P1 56 P1 67 P1 78 RST9 P3 0 RXD10 P3 1 TXD11 P3 2 INT012 P3 3 INT113 P3 4 T014 P3 5 T115 P3 6 WR16 P3 7 RD17 XTAL218 XTAL119 GND20 P2 0 21 P2 1 22 P2 2 23 P2 3 24 P2 4 25 P2 5 26 P2 6 27 P2 7 28 RSEN 29 ALE 30 EA 31 P0 7 32 P0 6 33 P0 5 34 P0 4 35 P0 3 36 P0 2 37 P0 1 38 P0 0 39 VCC 40 U1 89S51 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 LCDPOT1 10K R7 10K R8 47 5 C15 220 F 1 2 3 4 5 6 7 8 9 RN8 5K 5v 5v 5v P2 5 P2 6 P2 7 图 3 6 128 64LCD 引脚分布 表 3 1 12864 液晶显示模块引脚功能 引脚 符 号 引 脚 功 能 引脚 符 号 引 脚 功 能 1 VSS 电源地 15 CS1 CS1 1 芯片选择左边 64 64 点 2 VDD 电源正 5V 16 CS2 CS2 1 芯片选择右边 64 64 点 3 VO 液晶显示驱动电源 17 RST 复位 低电平有效 4 RS H 数据输入 L 指令码输入 18 VEE LCD 驱动负电源 5 R W H 数据读取 L 数据写入 19 A 背光电源 6 E 使能信号 20 K 背光电源 7 14 DB0 DB7 数据线 有些型号的模块 19 20 脚为空脚 128 64 液晶显示器与单片机的连接电路如图 3 7 所示 0 1 2 3 4 5 6 7 8 9 传传传 传传 传传 传传 传传 传传 H0 H1 H2 H3 L0 L1 L2 L3 图 3 7 显示模块电路图 3 6 键盘电路设计 根据设计需求 本系统中使用了 4 4 键盘用以实现对 P I D 三个参数和电 机正反转的设定 以及对电机启动 停止 暂停 继续的控制 其电路原理图如图 4 8 所示 图中 L0 L3 为 4 4 键盘的列信号 H0 H3 为 4 4 键盘的行信号 在本系统中 用 P1 0 P1 3 连接键盘的列信号 L0 L3 用 P0 4 P0 7 连接键盘 的行信号 H0 H3 9 按照要求设计操作面板如图 3 8 所示 图 3 8 键盘模块 键盘操作说明 在系统开始运行时 128 64LCD 将显示开机界面 若按下设 置键显示屏进入参数设置界面 此时按 1 2 3 4 进入相应参数的设置的状态 输入相应的数字即可完成该参数的设置 待所有量设置完成后按正 反控制键设置正 反转 最后按启动键启动系统 在运行过程中可按下相应键对电机进行暂停 继续 停止运行的控制 0 2 1 2 uneneKKDIP t 0 5s 计 算 r n 120计 算 v r 0 5 60 返 回 NY 4 软件设计 4 1 算法实现 4 1 1 PID 算法 本系统设计的核心算法为 PID 算法 它根据本次 采样的数据与设定值进行比较得出偏差 对偏差进 ne 行 P I D 运算最终利用运算结果控制 PWM 脉冲的 占空比来实现对加在电机两端电压的调节 10 进而控制 电机转速 其运算公式为 nu 因此要想实现 PID 控制在单片机就必须存在上述算法 其程序流程如图 4 1 所示 4 1 2 电机速度采集算法 本系统中电机速度采集是一个非常重要的部分 它 的精度直接影响到整个控制的精度 在设计中采用了光 电传感器做为测速装置 其计算公式为 v r min60 tNn 从这里可以看出速度 v 的误差主要是由圆盘边缘上的凹槽数的多少决定的 为了减 少系统误差应尽量提高凹槽的数量 在本次设计中取凹槽数 N 为 120 采样时间 t 为 0 5s 则速度计算具体程序流程如图 4 2 所示 计 算 e n 计 算 KIe n 计 算 KP en en 1计 算 KD en 2e n 1 2计 算 u n 计 算 u n 1e n 1 e n 2 1u n u n 返 回图 4 1PID程 序 流 程 开 始初 始 化调 用 清 屏 子 程 序开 始 界 面 显 示 设 置 键按 下 调 用 清 屏 子 程 序设 置 界 面 显 示 根 据 设 置计 算 参 数启 动 键按 下 调 用 清 屏 子 程 序电 机 运 行状 态 显 示 PWM脉 冲 输 出 YN YN 图 4 2 测速程序流程 4 2 程序流程 4 2 1 主流程图 在一个完整的系统中 只有硬件部分是不能完成相应设计任务的 所以在该系 统中软件部分是非常重要的 按照要求和系统运行过程设计出主程序流程如图 4 3 所示 延 时 去 抖 动P1口 低 四 位 置 1读 P1口 低 四 位数 据 到 KEYL KEYL KEYH相 与 为P1口 高 四 位 置 1读 P1口 高 四 位数 据 到 KEYHKEY 0XE KEY 0XEB KEY 0XED KEY 0XE7 KEY 0XDE KEY 0XD KEY 0XDB KEY 0XD7 KEY 0XBD KEY 0XBE KEY 0XB KEY 0XB7 KEY 0X7E KEY 0X7D KEY 0X7B KEY 0X7 数 字 键 0数 字 键 1数 字 键 2数 字 键 3 数 字 键 4数 字 键 5数 字 键 6数 字 键 7 数 字 键 8数 字 键 9正 反 功 能 键暂 停 功 能 键 继 续 功 能 键启 动 功 能 键停 止 功 能 键设 置 功 能 键 RETI YNNN NNNN NNNN NNNN N YYYY YYYY YYYY YYY 图 4 3 主程序流程 4 2 2 键盘程序程序流程 键盘中断程序是用来设在系统相应参数和控制系统进入相应的运行状态 其程 序流程图如图 4 4 所示 脉 冲 计 数 时间 0 5s 速 度 计 算PID运 算 显 示 数 据 刷 新定 时 器 T0赋 初 值RETI各 变 量 重 新 赋 值 YN 图 4 4 键盘程序流程 4 2 3 定时程序流程 在本系统中定时器 T0 中断子程序是用来控制电机运行时间和进行速度计算和 PID 运算 其程序流程如图 4 5 所示 图 4 5 定时程序流程 4 2 4 显示程序流程 显示模块是实现人机对话的重要部分 在这里选用 128 64LCD 显示器可实现 对汉字和字符的显示 该显示器的引脚功能在上面已经做了说明 下面介绍 128 64LCD 的相关指令 1 读取状态字 当 R W 1 D I 0 时 在 E 信号为高的作用下 状态分别输出到数据总线上 状态字是了解模块当前工作状态的唯一的信息渠道 在每次对模块操作之前 都要 读出状态字判断 BUSY 是否为 0 若不为 0 则计算机需要等待 直至 BUSY 0 为止 2 显示开关设置 D I R W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 0 0 0 0 1 1 1 1 1 D D 1 开显示 D 0 关显示 3 显示起始行设置 D I R W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 0 0 1 1 显示起始行 0 63 指令表中 DB5 DB0 为显示起始行的地址 取值在 0 3FH 1 64 行 范围内 它规定了显示屏上最顶一行所对应的显示存储器的行地址 4 页面地址设置 D I R W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 0 0 1 0 1 1 1 Page 0 7 页面地址是 DDRAM 的行地址 8 行为一页 DDRAM 共 64 行即 8 页 DB2 DB0 表示 0 7 页 5 列地址设置 D I R W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 0 0 0 1 Yaddress 0 63 列地址是 DDRAM 的列地址 共 64 列 DB5 DB0 取不同值得到 0 3FH 1 64 代表某一页面上的某一单元地址 列地址计数器在每一次读 写数 据后它将自动加一 6 写显示数据 D I R W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 0 1 BUSY 0 ON OFF RST 0 0 0 0 D I R W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 1 0 显 示 数 据 该操作将 8 位数据写入先前已确定的显示存储器的单元内 操作完成后列地址 计数器自动加一 7 读显示数据 D I R W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 1 1 显 示 数 据 该操作将 12864 模块中的 DDRAM 存储器对应单位中的内容读出 然后列地 址计数器自动加一 根据上面指令结合系统要实行的功能 其显示子程序流程如图 4 6 所示 图 4 6 显示程序流程 4 3 系统 Proteus 仿真 4 3 1 Proteus 软件简介 Proteus 是英国 Labcenter electronics 公司研发的 EDA 设计软件 是一个 基于 ProSPICE 混合模型仿真器的 完整的嵌入式系统软 硬件设计仿真平台 Proteus 不仅可以做数字电路 模拟电路 数模混合电路的仿真 还可进行多种 初 始 化循 环 次 数j 2 写 入 数 据 字节 数 i 16 设 置 显 示 起 始页 起 始 列调 用 写 入 数据 子 程 序j 1 i 0i 1 RETIYNNY 初 始 化循 环 次 数j 2 写 入 数 据 字节 数 i 8 设 置 显 示 起 始页 起 始 列调 用 写 入 数据 子 程 序j 1 i 0i 1 RETIYNNY a 写 入 16 汉 字 程 序 流 程 b 写 入 8 16数 字 CPU 的仿真 涵盖了 51 PIC AVR HC11 ARM 等处理器 真正实现了在 计算机从原理设计 电路分析 系统仿真 测试到 PCB 板完整的电子设计 实现 了从 概念到产品的全过程 以下为本系统在 Protues 中的仿真 流程 1 新建文件 打开 Protues 点 File 在弹出的下拉菜单中选择 New Design 在弹出的图幅选择对话框中选 Default 2 设置编辑环境 按上述的方法对 Protues 的设计环境进行设置 3 元器件选取 按设计要求 在对象选择窗口中点 P 弹出 Pickdevices 对 话框 在 Keywords 中填写要选择的元 器件 然后在右边对话框中选中要选的元 器件 则元器件列在对象选择的窗口中如 图 4 7 所示 本设计所需选用的元器件如下 AT89C51 单片机 RES RX8 RESPACK 8 电阻 排阻 上拉电阻 图 4 7 Proteus 元器件选取界面 CRYSTAL 晶振 CAP CAP ELEC 电容 电解电容 7805 7812 5V 12V 三端稳压块 IN4007 二极管 AMPIRE128 64 液晶显示器 OPTOCUPLER NPN 光电耦合器 BOUTTON 按键 MOTOR ENCODER 直流电机 放置元器件 放置电源和地 连线 得到附录 所示的系统整体电路 最后进 行电气检测 4 程序编译 点菜单 Source Add Remove sou rce Files 在出现的对话框如图 4 8 中 选择 ASEM51 编辑器 将上面的汇编源 程序 SEKED ASM 添加 再点菜单 Source Build ALL 编译汇编源程序 生成目标代码文件 SWLED HEX 5 程序加载 图 4 8 程序添加界面 在编辑环境左击单片机然后右击 在弹出的对话框中将编译生成的 HEX 文件 加载到芯片中 设单片机的时钟工作频率为 12MHZ 6 电路仿真 点仿真按键 按照前面介绍的系统使用方法进行仿真 5 系统测试与分析 为了确定系统与设计要求的符合程度 需要进行系统测试与分析 但是由于试 验调节的制约和时间的限制 不能完成此次制作 只能通过软件仿真进行验证 在 这里使用的是英国的 Proteus 软件进行测试 有关改软件的使用在前面的章节已经 介绍 在这里不再重复 根据第 1 章 PID 参数整定方法的介绍与分析 对于本系统采用经验法进行参数 整定 该方法调试的原则为 先是比例后积分 最后再把微分加 曲线振荡很频繁 比例度盘要放大 曲线漂浮绕大湾 比例度盘往小扳 曲线偏离回复慢 积分时间往下降 曲线波动周期长 积分时间再加长 曲线振荡频率快 先把微分降下来 动差大来波动慢 微分时间应加长 下面以 PID 调节器为例 具体说明经验法的整定步骤 让调节器参数积分系数 0 实际微分系数 0 控制系统投入闭环运IKDK 行 由小到大改变比例系数 让扰动信号作阶跃变化 观察控制过程 直到获P 得满意的控制过程为止 取比例系数 为当前的值乘以 0 83 由小到大增加积分系数 同样让扰P IK 动信号作阶跃变化 直至求得满意的控制过程 积分系数 保持不变 改变比例系数 观察控制过程有无改善 如有改IKPK 善则继续调整 直到满意为止 否则 将原比例系数 增大一些 再调整积分系P 数 力求改善控制过程 如此反复试凑 直到找到满意的比例系数 和积分I PK 系数 为止 引入适当的实际微分系数 和实际微分时间 此时可适当增大比例系数DKDT 和积分系数 和前述步骤相同 微分时间的整定也需反复调整 直到控制PKI 过程满意为止 PID 参数是根据控制对象的惯量来确定的 大惯量如 大烘房的温度控制 一 般 P 可在 10 以上 I 在 3 10 之间 D 在 1 左右 小惯量如 一个小电机闭环 控制 一般 P 在 1 10 之间 I 在 0 5 之间 D 在 0 1 1 之间 具体 参数要在现场调试时进行修正 根据上诉方法 通过软件仿真系统得出数据如表 5 1 所示 通过观察得出该系 统比较合适的 P I D 三者的参数值为 2 2 2 0 2 并且可以反PKIDK 映 表 5 1 测试数据表 次数 设定 PK设定 I设定 DK设定 r min 超调量 调节时间 s 误差 1 2 2 2 0 2 100 8 4 1 2 3 2 2 0 2 100 15 5 2 3 4 2 2 0 2 100 22 11 4 1 2 2 0 2 100 5 6 3 5 0 2 2 0 2 100 1 12 6 2 1 1 0 2 100 6 8 2 7 2 0 0 2 100 2 15 9 8 2 3 3 0 2 100 8 5 1 9 2 4 4 0 2 100 9 7 2 10 2 2 2 0 1 100 8 6 11 2 2 2 0 100 6 5 12 2 2 2 0 3 100 7 5 1 13 2 2 2 0 4 100 6 7 4 出 PID 调节器各校正环节的作用是 1 比例环节 值的选取决定于系统的响应速度 增大 能提高响应速PKPK 度 减小稳态误差 但是 值过大会产生较大的超调 甚至使系统不稳定减小 可以减小超调 提高稳定性 但 过小会减慢响应速度 延长调节时间 PKP 2 积分环节 主要用于消除静差 提高系统的无差度 积分作用的强弱取决 于积分时间常数 越大 积分作用越弱 反之则越强 ITI 3 微分环节 能反映偏差信号的变化趋势 变化速率 并能在偏差信号的值 变得太大之前 在系统中引入一个有效的早期修正信号 从而加快系统的动作速度 减少调节时间 通过上诉的数据分析可知 该系统完成了设计的任务及要求 证实了设计方案 的可行性和设计方法的正确性 结论 本课题的目的在于利用单片机实现 PID 算法产生 PWM 脉冲来控制电机转速 到目前为止通过对控制器模块 电机驱动模块 LCD 显示模块 键盘模块 数字 PID 算法等进行深入的研究 完成了硬件电路的系统设计 并且利用 Protel99se 软件绘制出 PCB 图纸 见附录 但由于实验条件不足没能做出 PCB 板 软件 方面利用 C 语言进行编程 增强了程序的可移植性和灵活性 并且利用 Proteus 软 件进行仿真更加保证了程序的准确性 归纳起来主要做了如下几方面的工作 1 PID算法与 PWM控制技术有机的结 合 2 设计了速度检测电路 3 利用C语言进行程序设计 并通过仿真 部分源 程序见附录 4 利用Protel99se对PCB 板进行绘制 根据上面论述结合测试 数据可以看出本次设计基本完成了设计任务和要求 通过此次设计 掌握了数字PID算法的使用及编程方法 学习了如何进行系统 设计及相关技巧 为今后的工作和学习奠定了坚实的基础 参考文献 1 孙传友 测控系统原理与设计 M 北京 北京航空航天大学出版社 2003 160 166 174 2 王兆安 电力电子技术 M 北京 机械工业出版社 2006 150 152 3 潘松 黄继业 EDA 技术实用教程 M 北京 科学出版社 2003 33 4 Atmel AT89S51 数据手册 DB OL 2002 4 3 2008 5 9 5 陈杰 传感器与检测技术 M 北京 高等教育出版社 2002 201 6 方彦军 孙健 智能仪器技术及其应用 M 北京 化学工业出版社 2005 42 43 7 ST L298N 数据手册 DB OL 2000 7 1 2008 5 9 8 锦昌电子 12864LCD 数据手册 DB OL 2006 5 3 2008 5 9 9 沙占友 单片机外围电路设计 M 北京 电子工业出版社 2003 21 10 泰继荣 现代直流控制技术及其系统设计 M 北京 机械工业出版社 1993 141 145 11 李杰 51 系列单片机输出 PWM 的两种方法 DB DL 2002 2 14 2008 5 9 12 张俊谟 单片机中级教程 M 北京 北京航空航天大学出版社 2006 96 13 何 立 民 MCS 51 系 列 单 片 机 应 用 系 统 设 计 系 统 配 置 与 接 口 技 术 M 北 京 北 京 航 空 航 天 大 学 出 版 社 1990 83 87 14 风标电子 Proteus 使用手册 DB OL 2007 7 4 2008 5 9 15 王伟 张晶涛 柴天佑 PID 参数先进整定方法综述 J 自动化学报 2000 3 347 35 16 韩京清 非线性 PID 控制器 J 自动化学报 1994 4 487 490 17 万佑红 李新华 用遗传算法实现PID参数整定 J 自动化技术与应用 2004 23 7 7 8 18 Behzad Razavi Design of Analog CMOS and Integrated Circuits M McGraw Hill Companies 2001 28 36 19 Tao Wu Ykang Yang Yongxuan Huang etal H PID Controller
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 临时分类 > 人文社科


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

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


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