基于PID算法的直流电机转速控制器的设计.doc_第1页
基于PID算法的直流电机转速控制器的设计.doc_第2页
基于PID算法的直流电机转速控制器的设计.doc_第3页
基于PID算法的直流电机转速控制器的设计.doc_第4页
基于PID算法的直流电机转速控制器的设计.doc_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

课程设计 1 计算机控制技术计算机控制技术 课课 程程 设设 计计 成绩评定表 设计课题设计课题 基于 PID 算法直流电机转速控制器的设计 学院名称学院名称 电气工程学院 专业班级专业班级 自动 F0902 学生姓名学生姓名 学学 号号 指导教师指导教师 设计地点设计地点 31 503 设计时间设计时间 2012 06 11 2012 06 15 指导教师意见 成绩 签名 年 月 日 课程设计 2 计算机控制技术计算机控制技术 课程设计任务书课程设计任务书 学生姓名学生姓名专业班级专业班级自动 F0902学号学号 题题 目目基于 PID 算法直流电机转速控制器的设计 课题性质课题性质工程设计课题来源课题来源网络 指导教师指导教师 主要内容主要内容 参数 参数 利用 89S51 设计 PID 算法的直流电机控制系统 实现以下功能 1 直流电机以最快的速度稳定 2 实现电机的正反转 3 电机的震荡小 任务要求任务要求 进度 进度 第 1 天 熟悉课程设计任务及要求 查阅技术资料 确定设计方案 第 2 天 按照确定的方案设计单元电路 要求画出单元电路图 元件及 元件参数选择要有依据 各单元电路的设计要有详细论述 第 3 天 软件设计 编写程序 第 4 5 天 撰写课程设计报告 主要参考主要参考 资料资料 1 孙传友 测控系统原理与设计 M 北京 北京航空航天大学出版社 2003 160一166 174 2 潘松 黄继业 EDA 技术实用教程 M 北京 科学出版社 2003 33 3 Atmel AT89S51 数据手册 DB OL 4 ST L298N 数据手册 DB OL 5 泰继荣 现代直流控制技术及其系统设计 M 北京 机械工业出版 社 1993 141 145 6 张俊漠 单片机中级教程 M 北京 北京航空航天大学出版社 2006 96 7 何立民 MCS 51 系列单片机应用系统设计系统配置与接口技术 M 北京 北京航空航天大学出版社 1990 83 87 课程设计 3 审查意见审查意见 系 教研室 主任签字 系 教研室 主任签字 年年 月月 日日 目 录 1 引言引言 4 2 总体方案设计总体方案设计 5 停2 1 硬件组成 5 停2 2 方案论证 6 停2 3 总体方案 9 3 硬件电路设计硬件电路设计 9 停3 1 单片机及其外围电路 9 停3 2 速度传感器与信号调理电路 10 停3 3 电源电路设计 11 停3 4 直流电机的驱动电路设计 12 停3 5 电路显示模块的设计 12 停3 6 键盘输入电路的设计 14 4 软件设计及系统检测软件设计及系统检测 14 停4 1 PID 的基本算法 14 停4 2 数字 PID 算法 15 停4 3 电机速度的算法 17 停4 4 程序流程图 18 停4 5 屏幕显示程序流程图 20 停4 6 系统的测试与分析 22 5 结论结论 23 参考文献参考文献 23 附录 附录 25 课程设计 4 1 引言 自动控制经由数百年的发展到如今已经涵盖了社会的方方面面 其在生物 电子 机械 军事 经济等各个领域中都得到了广泛的应用 这更推动了自动 控制的快速发展 在中国古代时期自动控制机构就已经被发掘如指南车采用扰动补偿原理的 方向开环自动调整系统 铜壶滴漏计时装置采用非线性限制器的多级阻容滤波 观测天象的水力天文装置内有枢轮转速恒定系统采用内部负反馈并进行自震荡 的系统等 这些控制系统在我国古代得到了广泛的应用 及随着科学技术的进 步和人们对自动装置的追求 控制器也发生了翻天覆地的变化 不断地深入人 心 它将成为当今社会的主流之一 深入到各个行业和领域 在现代社会 我 国神舟飞船的飞天 各个检测器的出现及应用都将推动自动控制系统的飞跃 控制理论经历了经典控制理论 现代控制理论和智能控制理论赛格阶段 而一个完整系统的结构应该如下 这此图中的调节器 检测元件 执行机构都 是控制系统中不可缺少的组成部分 而控制器系统主要包括传感器 变速器 控制器 计算机 单片机 执行机构 I O 口 控制系统的被测参数经传感器 变送器转化成标准的电信号送到控制器 再经一定的算法输出需要值然后加在 被控系统上 而目前 PID 控制及其控制器或智能 PID 控制器在社会生活中广泛 使用 而 PID 作为一种经典算法也越来越受国内外各个行业的关注 PID 控制器发展至今已有 70 多年的历史形成了结构简单 稳定性好 工作 可靠 调整方便等优点使其在工业控制中发挥着不可泯灭的作用 又随着现代 科技的突飞猛进各种仪器 仪表的出现更加推动了 PID 控制器的发展 当我们不完全了解一个系统和被控对象或者不能有效的获取相关的参数信 息时 以 PID 控制技术控制是最适用的 实际应用中也有 PI PD 控制 PID 控制器就是偏差的比例 积分 微分进行控制 比例能够迅速反应误差 减少 误差 积分是对静态误差的时间积累这样即便误差很小随着时间的增加而增大 使控制器的输出增大 进一步减小稳态误差直至为 0 而微分控制能偏差信号 课程设计 5 的变化趋势 能够超前控制 克服系统的惯性 加快动态响应速度 减少超调 量 提高稳定性 在不同的工程中我们可根据工程的特点 需求来选择不同的 控制器 随着社会的进步和客户的不同要求 我们可以借助物联网来远程控制 我们的系统已经逐渐成熟并广泛应用而控制系统也将向精度更高 稳定性更好 易于交流和网络控制的方向发展 本次设计主要研究的是 PID 算法在运动控制领域中的应用 采用经典的被 控对象直流电机 直流电机由于其调速范围宽 且易于平滑调速 易于控制 快速性高 调速时能量损耗小等优点已经在电脑硬盘 CPU 风扇 光驱等这些 精密的小型电机中大量应用 也在电子加工流水线设备 纺织印染 化工机电 冶金 钢铁 制造 电梯等各个行业和大型设备中使用 然而在这些应用中电 机的转速控制占据着无比重要的地位 因此本次设计主要针对电机转速的问题 利用经典 PID 算法控制电机的转速 其设计思路为 以 AT89C52 单片机为控 制核心 产生占空比受 PID 算法控制的 PWM 脉冲以及 L298N 电机驱动芯片共 同实现对直流电机转速的控制 同时利用光电传感器将电机速度转换成脉冲频 率反馈到单片机中 构成转速闭环控制系统 达到转速无静差调节的目的 还 有在系统中采 128 64LCD 显示器作为显示部件 通过 4 4 键盘设置 P I D V 四个参数和正反转控制 启动后通过显示部件了解电机当前的转速 和运行时间 因此该系统在硬件方面包括 电源模块 电机驱动模块 控制模 块 速度检测模块 人机交互模块 软件部分采用 C 语言进行程序设计 其优 点为 可移植性强 算法容易实现 修改及调试方便 易读等 本次设计系统的主要特点 1 采用数字 PID 算法 以及可移植性强的 C 语言编程方法 能够使程序易 读 便于修改和共享 其次能使控制系统更加灵活 简便 2 使用线性的光电隔离器达到主 控电路的隔离 有利于保护电路元件 减 少损失 3 采用 128 64LCD 屏显示模块让人更直观地了解电机的转速 运行时间易 于操作者的控制 4 采用光电传感器将速度转化成脉冲频率反馈到单片机控制 将比例 积分 微分的静态误差进行比较 以致达到消除误差 提高了控制的精度 2 总体方案设计 课程设计 6 2 1 硬件组成 按照实际生活中对电机转速的技术要求 控制系统的硬件应包括以下几部 分 1 控制器 作为控制系统的核心 可采用单片机 PLC DCS 等 在实 际应用中按照需求和经济形势来选择 按照输入其中的 PID 经典算法把输入来 的偏差信号按照比例 积分 微分的计算方式计算后输出较小偏差的电信号驱 动电机的转动 启停 2 速度检测通道 将速度信号通过光电传感器转化成脉冲频率反馈到单 片机 来影响电机的转速 3 控制输出通道 控制器输出的控制信号经该通道对电机转速实施控制 4 人机交互界面 在电机转动启停过程中都能通过该界面了解到电机的 转速 运行时间 方便工作人员更好地操作 5 电机驱动模块 L298N 考虑到了电路的抗干扰能力 安全性 可靠性 使电路设计更加简单 大大提高了工作效率 6 键盘模块 采用个按键的键盘 虽然操作速度会有所降低但其功能m n 更加丰富 7 电源模块 通过固定芯片 7812 7805 对整流后的电压进行降压 稳压处理提高安全性 可靠性 节省电路元件 电路方框图如图 2 1 所示 键盘模块 控制 器模 块 电机驱动模块 直流 电机 速度检测模块显示模块 图 2 1 硬件方框图 2 2 方案论证方案论证 1 控制器 根据设计任务 控制器主要用于产生占空比受数字 PID 算法控制的 PWM 脉冲 并对电机当前速度进行采集处理 根据算法得出当前所需输出的占空比 脉冲 对于控制器的选择有以下两种方案 课程设计 7 方案一 采用 AT89S51 作为系统控制的方案 AT89S51 单片机算术运算功 能 强 软件编程灵活 自由度大 可用软件编程实现各种算法和逻辑控制 1 吟 相对于 FPGA 来说 它的芯片引脚少 在硬件很容易实现 并且它还具有功耗 低 体积小 技术成熟和成本低等优点 在各个领域中应用广泛 方案二 采用 FPGA 现场可编辑门列阵 作为系统的控制器 FPGA 可以实 现各种复杂的逻辑功能叫模块大 密度高 它将所有器件集成在一块芯片上 减少了体积 提高了稳定性 并且可应用 EDA 软件仿真 调试 易于进行功能 控制 FPGA 采用并行的输入输出方式 提高了系统的处理速度 适合作为大 规模实时系统的控制核心 通过输入模块将参数输入给 FPGA FPGA 通过程序 设计控制 PWM 脉冲的占空比 但是由于本次设计对数据处理的时间要求不高 FPGA 的高速处理的优势得不到充分体现 并且由于其集成度高 使其成本偏高 同时由于芯片的引脚较多 实物硬件电路板布线复杂 加重了电路设计和实际 焊接的工作 2 速度检测通道模块 方案一 采用测速发电机对直流电机转速进行测量 该方案的实现原理是 将测速发电机固定在直流电机的轴上 当直流电机转动时 带动测速电机的轴 一起转动 因此测速发电机会产生大小随直流电机转速大小变化的感应电动势 因此精度比较高 但由于该方案的安装比较复杂 成本也比较高 在本次设计 没有采用此方案 方案二 采用霍尔集成片 该器件 内部由三片霍尔金属板组成 当磁铁 正对金属板肘 由于霍尔效应 金属板发生横向导通 lsl 因此可以在电机上 安装磁片 而将霍尔集成片安装在固定轴上 通过对脉冲的计数进行电机速度 的检测 方案三 采用对射式光电传感器 其检测方式为 发射器和接受器相互对 射安装 发射器的光直接对准接受器 当坝 IJ 物挡住光束时 传感器输出产生 变化以指示被测物被检测到 通过脉冲计数 对速度进行测量 3 电机驱动模块 方案一 采用专用的电机驱动芯片 例如 L298N L297N 等电机驱动芯片 课程设计 8 由于它内部己经考虑到了电路的抗干扰能力 安全 可靠行 所以我们在应用 时只需考虑到芯片的硬件连接 驱动能力等问题就可以了 所以此种方案的电 路设计简单 抗干扰能力强 可靠性好 设计者不需要对硬件电路设计考虑很 多 可将重点放在算法实现和软件设计中 大大的提高了工作效率 方案二 采用多级放大晶体管构成复合晶体管增大驱动电流而形成的驱动 电路 但由于采用的晶体管较多增大了驱动电路中的元件数目 使电路复杂化 抗干扰能力差 安全性低 4 电源模块 方案一 通过电阻分压的形式将整流后的电压分别降为控制芯片和电机运 行所需的电压 此种方案原理和硬件电路连接都比较简单 但对能量的损耗 大 在实际应用系统同一般不宜采用 方案二 通过固定芯片对整流后的电压进行降压 程 压处理 如 7812 7805 等 此种方案可靠性 安全性高 对能源的利用率高 并且电路简单容易实现 5 显示模块 方案一 使用七段数码管 C LED 显示 数码管具有亮度高 工作电压低 功耗小 易于集成 驱动简单 耐冲击且性能稳定等特点 并且它可采用 BCD 编码显示数字 编程容易 硬件电路调试简单 但由于在此次设计中需要设定 的参数种类多 而且有些需要进行汉字和字符的显示 所以使用 LED 显示器不 能完成设计任务 不直采用 方案二 采用 1602LCD 液晶显示器 该显示器控制方法简单 功率低 硬件 电路简单 可对字符进行显示 但考虑到 1602LCD 液晶显示器的屏幕小 不能 显示汉字 因此对于需要显示大量参数的系统来说不宜采用 方案三 采用 128x64LCD 液晶显示器 该显示器功率低 驱动方法和硬件连 接电路较上面两种方案复杂 显示屏幕大 可对汉字和字符进行显示 6 键盘模块 方案一 采用独立式键盘 这种键盘硬件连接和软件实现简单 并且各按 键相互独立 每个按键均有一端接地 另一端接到输入线上 按键的工作状态 不会影响其它按键上的输入状态 但是由于独立式键盘每个按键需要占用一根 课程设计 9 输入口线 所以在按键数量较多时 I10 口浪费大 故此键盘只适用于按键较 少或操作速度较高的场合 方案二 采用行列式键盘 这种键盘的特点是行线 列线分别接输入线 输出线 按键设置在行 列线的交叉点上 利用这种矩阵结构只需 m 根行线 和 n 根列线就可组成个按键的键盘 因此矩阵式键盘适用于按键数量较多m n 的场合 但此种键盘的软件结构较为复杂 经过上述的分析与论证 系统各模块采用的方案如下 1 控制模块 采用 AT89S51 单片机 2 速度检测模块 采用光电传感器 3 电机驱动模块 采用 L298N 4 电源模块 采用较稳定的芯片 7812 5 显示模块 采用 128 64LCD 液晶显示器 6 键盘模块 采用个按键的键盘m n 2 3 总体方案 按照上述方案论证的结果 基于 PID 算法的直流电机控制的总体方案框图 如图 2 2 所示 图 2 2 中 光电传感器输出的微弱信号经过放大器放大后输入到 V F 转换电路 将放大后的模拟电信号转化成脉冲信号 脉冲的频率与输入的 模拟信号成正比 这个转化后的脉冲信号经过光电隔离器输入到 MCU 中 单片 机对输入的脉冲信号处理后与计划的值相比较输入较小的稳态误差的信号 经 L298N 驱动芯片 放大器后送至直流电机 同时把电机的转速和运行时间显示 在 LED 屏上 从而方便得到比较理想的信号 其总体方框图如 2 2 所示 光 电 传 感 器 放 大 电 路 V F 转 换 电 路 光 电 隔 离 器 光 电 隔 离 器 电 机 驱 动 芯 片 直 流 电 机 MCU LED 显 示 屏 M N 键 盘 图 2 2 总体方框图 3 硬件电路设计 3 1 单片机及其外围电路 课程设计 10 AT89S51 是美国 ATMEL 公司生产的低功耗 高性能 CMOS8 位单片机 片内含 4k bytes 的可系统编程的 Flash 只读程序存储器 器件采用 ATMEL 公司 的高密度 非易失性存储技术生产 兼容标准 8051 指令系统及引脚 它集 Flash 程序存储器 既可在线编程 ISP 也可用传统方法进行编程及通用 8 位 微处理器于单片芯片中 ATMEL 公司的功能强大 低价位 AT89S51 单片机可 为您提供许多高性价比的应用场合 可灵活应用于各种控制领域 AT89C52 的主要性能参数 与 MCS 51 产品指令系统完全兼容 4k 字节在系统编程 ISP Flash 闪速存储器 1000 次擦写周期 4 0 5 5V 的工作电压范围 全静态工作模式 0Hz 33MHz 三级程序加密锁 128 8 字节内部 RAM 32 个可编程 I O 口线 2 个 16 位定时 计数器 6 个中断源 全双工串行 UART 通道 低功耗空闲和掉电模式 中断可从空闲模唤醒系统 看门狗 WDT 及双数据指针 掉电标识和快速编程特性 灵活的在系统编程 ISP 字节或页写模式 AT89S51 的主要内部的结构 4k 字节 Flash 闪速存储器 128 字节内部 RAM 32 个 I O 口线 看门狗 WDT 两个数据指针 两个 16 位定时 计数器 一个 5 向量两级中断结构 课程设计 11 一个全双工串行通信口 片内振荡器及时钟电路 同时 AT89S51 可降至 0Hz 的静态逻辑操作 并支持两种软件可选的节电 工作模式 空闲方式停止 CPU 的工作 但允许 RAM 定时 计数器 串行通 信口及中断系统继续工作 3 2 速度传感器与信号调理电路 在本系统中由于要将电机本次来样的速度与上次采样的速度进行比较 通过 偏差进行 PID 运算 因此速度来集电路是整个系统不可缺少的部分 本次设计 中应用了比较常见的光电测速方法来实现 其具体做法是将电机轴上固定一困 盘 且其边缘上有 N 个等分凹槽 在圆盘的一侧固定一个发光二极管 其位置 对准凹槽处 在另一侧和发光二极光平行的位置上固定一光敏三极管 如果 电动机转到凹槽处肘 发光二极管通过缝隙将光照射到光敏三极管上 电路如 图 3 1 所示 三极管导通 反之三极管截止 从图中可以得出电机每转一围在 P3 3 的输出端就会产生 N 个低电平 这样就可根据低电平的数量来计算电机 此时转速了 例如当电机以一定的转速运行时 P3 3 将输出如图 3 2 所示的 脉冲 若知道一段时间 t 内传感器输出的低脉冲数为 n 则电机转速 v r s 5v R12 20 R13 470 P3 3 图 3 1 光电传感器示意图 图 3 2 传感器输出脉冲波形图 3 3 电源电路设计 课程设计 12 为获得稳定的电压和较稳定的电流 我们采用相对较为便宜且性能比较良 好的电源芯片 7812 7805 7912 最大的输出电流为 1 5A 其原理图如图 3 3 220v GND 1000uF C1 0 33uF C3 1000uF C2 0 33uF C4 in out GND 7812 in out GND 7912 1uF C5 1uF C6 R1 470 R3 470 R2 240 in out GND 7805 5v 12v 图 3 3 稳压电源图 3 4 直流电机的驱动电路设计 驱动模块是控制器与执行器之间的桥梁 在本系统中单片机的 I O 口不能直接 驱动电机 只有引入电机驱动模块才能保证电机按照控制要求运行 在这里边 用 L298N 电机驱动芯片驱动电机 该芯片是由四个大功率晶体管组成的 H 桥 电路构成 四个晶体管分为两组 交替导通和截止 用单片机控制达林顿管使 之工作在开关状态 通过调整输入脉冲的占空比 调整电动机转速 其中输出 脚 C SENSEA 和 SENSEB 用来连接电流检测电阻 Vss 接逻辑控制的电源 Vs 为电机驱动电源 INI IN4 输入引脚为标准 TTL 逻辑电平信号 用来控制 H 桥 的开与关即实现电机的正反转 ENA ENB 引脚则为使能控制端 用来输入 P 矶币 4 信号实现电机调速 其电路如图 3 4 所示 利用两个光电相合器将 单片机的 1 0 与驱动电路进行隔离 保证电路安全可靠 这样单片机产生的 PWM 脉冲控制 L298N 的边通端口 1 使电机在 PWM 脉冲的控制下正常运行 其中四个 二极管对芯片起保护作用 课程设计 13 IN1 5 IN2 7 IN3 10 IN4 12 ENA 6 ENB 11 GND 8 NC 16 SENSEB 15 SENSEA 1 OUT4 14 OUT3 13 OUT2 3 OUT1 2 Vs 4 Vss 9 U3 L298N 12v C7 20uF C8 20uF 5v A 12v GND 470 R4 U3 TLP521 U4 TLP521 R5 470 R6 5K R7 470 R8 5K P 2 6 P 2 5 P 2 7 图 3 4 直流电机驱动电路示意图 3 5 电路显示模块的设计 根据设计要求要对系统各项参数和电机运行状态进行显示 因此在电路中加入 显示模块是非常必要的 在系统运行过程中需要显示的数据比较都 而且需要 汉字显示 在这里边用128x64 液晶显示器比较适合 它是一种图形点阵液晶 显示器 主要由行驱动器 列驱动器及128x64 全点阵液晶显示器组成 可完 成汉字 16x16 显示和图形显示共有20 个引脚l S l 其引脚名称及引脚编号 的对应关系如表格3 5 所示 引脚符号功能引脚符号功能 1VSS 电源 地 15CS1 CS1 1选左64 64点 2VDD 电源 5v 16CS2 CS2 1选右64 64点 3VO 液晶驱动电源 17 RST 复位端 4RS H 输入L 输出 18VEE 屏驱动负电源 5R W H 读取L 写入 19A 背光正电源 6E 使能端 20K 背光负电源 7 14DB0 DB7 数据线 图3 5 引脚名称和标号示意图 其电路连接图如图3 6所示 课程设计 14 P1 0 1 P1 1 2 P1 2 3 P1 3 4 P1 4 5 P1 5 6 P1 6 7 P1 7 8 RXT 9 P3 0 RXD 10 P3 1 TCD 11 P3 2 INT1 12 P3 3 13 P3 4 14 P3 5 15 P3 6 WR 16 P3 7 RD 17 XTAL2 18 XTAL1 19 GND 20 P2 0 21 P2 1 22 P2 2 23 P2 3 24 P2 4 25 P2 5 26 P2 6 27 P2 7 28 PSEN 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 R10 10K R11 470 220uF C9 VSS 1 VDD 2 VO 3 RS 4 R W 5 E 6 DB0 7 DB1 8 DB2 9 DB3 10 DB4 11 DB5 12 DB6 13 DB7 14 CS1 15 CS2 16 RST 17 VEE 18 A 19 K 20 U2 12864 LED 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 R9 10K 5v 10K 5v P0 4 P0 5 P0 6 P0 7 P1 0 P1 1 P1 2 P1 3 P3 3 图3 6 12864屏显示电路图 3 6 键盘输入电路的设计 根据设计需求 本系统中使用了4x4 键盘用以实现对P I D 三个参数 和电机正反转的设定 以及对电机启动 停止 暂停 继续的控制 其电路原 理图如图3 7所示 图中L0 L3 为4x4 键盘的列信号 H0 H3 为4x4 键盘的行 信号 在本系统中 用Pl 0 P1 1 P1 2 Pl 3 连键盘的列信号L0 L3 用 P0 4 PO 7 连接键盘的行信号H0 H3例 按照要求设计操作面板如图3 7所示 课程设计 15 0 1 2 3 4 5 6 7 8 9停停停 停停 停停 停停 停停 停停 P0 4 P0 5 P0 6 P0 7 P1 0 P1 1 P1 2 P1 3 图3 7 键盘模块 键盘操作说明 在系统开始运行时 128x64LCD 将显示开机界面 若按 下设置键显示屏进入参数设置界面 此时按1 2 3 4 进入相应参数的设 置的状态 输入相应的数字即可完成该参数的设置 待所有量设置完成后按正 反控制键设置正反转 最后按启动键启动系统 在运行过程中可按下相应键 对电机进行暂停 继续 停止运行的控制 4 软件设计及系统检测 4 1 PID 的基本算法 PID控制是比例 积分 微分控制的简称 在自动控制领域中 PID 控制是 历史最久 生命力最强的基本控制方式 PID 控制器的原理是根据系统的被调 量实测值与设定值之间的偏差 利用偏差的比例 积分 微分三个环节的不同 组合计算出对广义被控对象的控制量 图4 1是常规PID 控制系统的原理图 比例 积分 微分 执行机构对象 r t e t u t y t 图4 1 PID控制原理图 y t 构成的控制偏差信号e t e t r t y t 1 课程设计 16 其输出为该偏差信号的比例 积分 微分的线性组合 也即PID 控制律 式中 Kp 为比例系数 TI 为积分时间常数 TD 为微分时间常数 根据被控对象动态特性和控制要求的不同 式 2 中还可以只包含比例和积 分的PI 调节或者只包含比例微分的PD 调节 下面主要讨论PID 控制的特点及 其 对控制过程的影响 数字PID 控制策略的实现和改进 以及数字PID 控制系统 的设计和控制参数的整定等问题 4 2 数字 PID 算法 在连续生产过程控制系统中 通常采用如图l 所示的PID 控制 其对应 的传递函数表达式为 对应的控制算法表达式为 模拟调节器很难实现理想的微分de t dt 而利用计算机可以实现式 10 所 表示的差分运算 故将式 11 称为理想微分数字PID 控制器 基本的数字PID 控制器一般具有以下两种形式的算法 1 位置型算法 模拟调节器的调节动作是连续的 任何瞬间的输出控制量u 都对应于执行机 构 如调节阀 的位置 由上式可知 数字控制器的输出控制量u k 也和阀门位 置相对应 故称为位置型算式 简称位置式 相应的算法流程图如图4 2所示 由图可以看出 因为积分作用是对一段时间内偏差信号的累加 因此 利用 计算机实现位置型算法不是很方便 不仅需要占用较多的存储单元 而且编程 也不方便 因此可以采用其改进式一一增量型算法来实现 PID 位置算法 控制器被控对象 r t e t u t y t 课程设计 17 图4 2 数字PID位置型控制器示意图 2 增量型算法 增量型算法仅仅是在算法设计上的改进 其输出是相对于上次控制输出量 的增量形式 并没有改变位置型算法的本质 即它仍然反映执行机构的位置开 度 如果希望输出控制量的增量 则必须采用具有保持位置功能的执行机构 数字PID 控制器的输出控制量通常都是通过D A 转换器输出的 在D A 转换器 中将数字信号转换成模拟信号 4 20 mA的电流信号或0 5V 的电压信号 然后 通过放大驱动装置作用于执行机构 信号作用的时间连续到下一个控制量到来 之前 因此 D A 转换器具有零阶保持器的功能 增量型算法的程序流程图 如图4 3 所示 PID 增值算法 控制器被控对象 t t r e t u y t 图4 3 数字PID增值型控制器示意图 因此又有经典的控制理论和对PID算法 的深入了解得到PID算法的基本流程图 4 4可为 图4 4 PID算法的基本流程图 4 3 电机速度的算法 本系统中电机速度来集是一个非常重要的部分 它的精度直接影响到整个 控制的精度 在设计中采用了光电传感器做为测速装置 其计算公式为 课程设计 18 v n N t 60 r min从这里可以看出速度v 的误差主要是由困盘边缘上的 凹槽数N的多少决定的 为了减少系统误差应尽量提高凹槽的数量 在本次设 计中取凹槽数N 为100 采样时间t为O 5S 则速度计算具体程序流程如图4 5 下 T 0 5s 计算 r n 60 0 5 计算 v r 0 5 60 Y N 返回 开始 图4 5 测速程序流程图 4 4 程序流程图 1 鉴于对涉及系统的要求和面对 对象时能够方便的使用 特在每次需 要重新的显示时需要重新刷新一次屏 幕现在设计的主程序流程图如图 4 6 2 定时器 T0 的程序流程 图如图 4 7 脉冲计数t 0 5s 计算速度 PID运算 变量赋值 刷新数据 T0赋值 RET1 Y N 开始 开始 初始化 清屏 设置键按下 设置键 按下 清屏 开始屏幕显示 启动键 按下 计算参数 清屏 电机运行屏幕显示 PWM脉冲输出 N Y N Y 图 4 6 主程序图 图 4 7 定时器 T0 的流程图 3 键盘程序控制流程图 4 8 课程设计 19 延时去抖 P1口低四位置1 读P1口低四位数据到KEYL P1口高四位置1 读P1口高四位数据到KEYH KEYL KEYH相与为KEY KEY 0XEE KEY 0XED KEY 0XEB KEY 0XE7 KEY 0XDE KEY 0XDD KEY 0XDB KEY 0XD7 KEY 0XBD KEY 0XBE KEY 0XBB KEY 0XB7 KEY 0X7E KEY 0X7D KEY 0X7B KEY 0X77 N N N N N N N N N N N N N N 键0 键1 键2 键3 键4 键5 键6 键7 键8 键9 正 反转 暂停 继续 启动 停止 设置 N N RET1 N Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y 图 4 8 键盘程序流程图 课程设计 20 4 5 屏幕显示程序流程图 对 12864 屏幕工作的情况的简要介绍 模块控制芯片提供两套控制命令 基本指令和扩充指令如下 指令表 1 RE 0 基本指令 指令指令码功能 指令 RSR WD7D6D5D4D3D2D1D0 清除 显示 0000000001 将 DDRAM 填满 20H 并且设定 DDRAM 的地址计数 器 AC 到 00H 地址 归位 000000001X 设定 DDRAM 的地址 计数器 AC 到 00H 并且将游标 移到开头原点位置 这个指令不改变 DDRAM 的内容 显示 状态 开 关 0000001DCB D 1 整体显示 ONC 1 游标 ON B 1 游标位置反白允许 进入 点设 定 00000001I D S 指定在数据的读取 与写入时 设定游标 的移动方向及指定 显示的移位 游标 或显 示移 位控 制 000001S C R L XX 设定游标的移动与 显示的移位控制位 这个指令不改变 DDRAM 的内容 功能 设定 00001DLXREXX DL 0 1 4 8 位数 据 RE 1 扩充指令 操作 RE 0 基本指 令操作 设定 C GRAM 地址 0001AC 5 AC 4 AC 3 AC 2 AC 1 AC 0 设定 CGRAM 地址 课程设计 21 设定 D DRAM 地址 0010AC 5 AC 4 AC 3 AC 2 AC 1 AC 0 设定 DDRAM 地址 显示位址 第一行 80H 87H 第二行 90H 97H 读取 忙标 志和 地址 01BFAC 6 AC 5 AC 4 AC 3 AC 2 AC 1 AC 0 读取忙标志 BF 可 以确认内部动作是 否完成 同时可以读 出地址计数器 AC 的值 写数 据到 R AM 10 数据 将数据 D7 D0 写 入到内部的 RAM DDRAM CGRAM IRAM GRAM 读出 R AM 的 值 11 数据 从内部 RAM 读取数 据 D7 D0 DDRAM CGRAM IRAM GRAM 指令表 2 RE 1 扩充指令 指令指令码功能 指令 RSR WD 7 D6D5D4D3D2D1D0 待命 模式 0000000001 进入待命模式 执行其他 指令都棵终止待命模式 卷动 地址 开关 开启 000000001SR SR 1 允许输入垂直卷 动地址 SR 0 允许输入 IRAM 和 CGRAM 地址 反白 选择 00000001R1R0 选择 2 行中的任一行作 反白显示 并可决定反 白与否 初始值 R1R0 00 第一次设定为 反白显示 再次设定变 回正常 睡眠 模式 0000001SLXX SL 0 进入睡眠模式 SL 1 脱离睡眠模式 扩充 00001CLXREG0CL 0 1 4 8 位数据 课程设计 22 功能 设定 RE 1 扩充指令操作 RE 0 基本指令操作 G 1 0 绘图开关 设定 绘图 R AM 地 址 001AC6AC5AC4AC3AC2AC1AC0 设定绘图 RAM 先设定垂 直 列 地址 AC6AC5 AC 0 再设定水平 行 地址 A C3AC2AC1AC0 将以上 16 位地址连续写入即可 写入数据流程图如 4 9 初始化 循环次 数j 2 设置显示起始页 起始列 J j 1 i 0 写入数 据字节 数i 16 调用写入数 据程序 i i 1 RET1 写入16 16汉字程序流程图 初始化 循环次 数j 2 设置显示起始页 起始列 J j 1 i 0 写入数 据字节 数i 8 调用写入数 据程序 i i 1 RET1 写入8 16数字 Y Y N N N Y Y N 开始 开始 图 4 9 写入汉字程序流程图 4 6 系统的测试与分析系统的测试与分析 1 测试步骤 让调节器参数积分系数K 0 实际微分系数KD 0 控制系统投入闭环运行 由小到大改变比例系数Kp让扰动信号作阶跃变化 观察控制过程 直到获得满 意 的控制过程为止 取比例系数Kp 为当前的值乘以0 83 由小到大增加积分系数Ki 同样让扰 动信号作阶跃变化 直至求得满意的控制过程 积分系数K 保持不变 改变比例系数Kp观察控制过程有无改善 如有改善则 课程设计 23 继续调整 直到满意为止 否则 将原比例系数Kp 增大一些 再调整积分系 数K 力求改善控制过程 如此反复试凑 直到找到满意的比例系数K p 和积 分系数Ki为止 引入适当的实际微分系数Kd的 和实际微分时间Td此时可适当增大比例系数Kp 和积分系数Ki和前述步骤相同 微分时间的整定也需反复调整 直到控制过 程满意为止 2 系统分析 1 比例环节 Kp 值的边取决定于系统的响应速度 增大Kp 能提高响应速 度 减小稳态误差 但是Kp值过大会产生较大的超调 甚至使系统不稳定减小Kp 可以减小超调 提高稳定性 但Kp过小会减慢响应速度 延长调节时间 2 积分环节 主要用于消除静差 提高系统的无差度 积分作用的强弱取决 于积分时间常数T 越大 积分作用越弱 反之则越强 3 微分环节 能反映偏差信号的变化趋势 变化速率 并能在偏差信号的 值变得太大之前 在系统中引入一个有效的早期修正信号 从而加快系统的动 作速度 减少调节时间 5 结论 本课题的目的在于利用单片机实现PID 算法产生PWM 脉冲来控制电机转速 到目前为止通过对控制器模块 电机驱动模块 LCD 显示棋块 键盘棋块 数 字PID 算法等进行深入的研究 完成了硬件电路的系统设计 并且利用Altium 软件 绘制出PCB 图 利用visio画出各个程序的流程图 归纳起来主要做了如下几方面的工作 1 PID算法与PWM控制技术有机的结 合 2 设计了速度检测电路 3 利用Altium对PCB板进行绘制 根据上面论述结 合测试数据可以看出本次设计基本完成了设计任务和要求 通过此次设计 掌握了数字PID算法的使用及编程方法 学习了如何进行系 统设计及相关技巧 为今后的工作和学习奠定了坚实的基础 参考文献 1 孙传友 测控系统原理与设计 M 北京 北京航空航天大学出版社 2003 160一166 174 课程设计 24

温馨提示

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

评论

0/150

提交评论