采用PWM调制技术实现对直流电机转速的控制.doc_第1页
采用PWM调制技术实现对直流电机转速的控制.doc_第2页
采用PWM调制技术实现对直流电机转速的控制.doc_第3页
采用PWM调制技术实现对直流电机转速的控制.doc_第4页
采用PWM调制技术实现对直流电机转速的控制.doc_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

此文档收集于网络 如有侵权 请联系网站删除 此文档仅供学习与交流 采用 PWM 调制技术实现对直流电机转速的控制 陈宁坡 河北科技大学信息科学与工程学院 摘摘 要要 在运动控制系统中 电机转速控制占有至关重要的作用 其控制算法和手段有很多 模拟 PID 控制是最早发展起来的控制策略之一 长期以来形成了典型的结构 并且参数整定方便 能够满足一般控制的 要求 但由于在模拟 PID 控制系统中 参数一旦整定好后 在整个控制过程中都是固定不变的 而在实际中 由于现场的系统参数 温度等条件发生变化 使系统很难达到最佳的控制效果 因此采用模拟 PID 控制器难以 获得满意的控制效果 随着计算机技术与智能控制理论的发展 数字 PID 技术渐渐发展起来 它不仅能够实现 模拟 PID 所完成的控制任务 而且具备控制算法灵活 可靠性高等优点 应用面越来越广 关键词 数字 PID PWM 脉冲 占空比 无静差调节 The PWM modulation technique to achieve the control of the DC motor speed CHEN ningpo College of Information Science and Engineering Hebei University of Science and Technology Abstract In the motion control system the control of electromotor s rotate speed is of great importance there are a lot of speed control arithmetics and methods the analog PID control is one of the earliest developed control policies which has formed typical structure its parametric setting is convenient and it s easy to meet normal control s demand but as the whole control process is fixed once the parameter has been set while practically the changes of those conditions like the system parameters and temperature of the environment prohibit the system from reaching its best control effect so the analog PID controller barely has satisfied effect With the development of computer technology and intelligent control theory the digital PID technology is thriving which can achieve the analog PID s control tasks and consists of many advantages like flexible control arithmetics and high reliability it is widely used now Keywords digital PID PWM impulse dutyfactor astatic modulation 目前 PID 控制及其控制器或智能 PID 控制器已经很多 产品已在工程实际中得到了广泛的应用 本次设计 主要是利用 PID 控制技术对直流电机转速的控制 其设计思路为 以 AT89S51 单片机为控制核心 产生占空比 受 PID 算法控制的 PWM 脉冲实现对直流电机转速的控制 同时利用光电传感器将电机速度转换成脉冲频率反馈 到单片机中 构成转速闭环控制系统 达到转速无静差调节的目的 在系统中采 128 64LCD 显示器作为显示部 件 通过 4 4 键盘设置 P I D V 四个参数和正反转控制 启动后通过显示部件了解电机当前的转速和运行 时间 因此该系统在硬件方面包括 电源模块 电机驱动模块 控制模块 速度检测模块 人机交互模块 软 件部分采用 C 语言进行程序设计 其优点为 可移植性强 算法容易实现 修改及调试方便 易读等 此文档收集于网络 如有侵权 请联系网站删除 此文档仅供学习与交流 neKnu Pp 1 PID 算法及 PWM 控制技术简介 1 1 PID 算法 控制算法是微机化控制系统的一个重要组成部分 整个系统的控制功能主要由控制算法来 实现 目前提出的控制算法有很多 根据偏差的比例 P 积分 I 微分 D 进行的控制 称为 PID 控制 实际经验和理论分析都表明 PID 控制能够满足相当多工业对象的控制要求 至 今仍是一种应用最为广泛的控制算法之一 下面分别介绍模拟 PID 数字 PID 及其参数整定方法 1 2 数字 PID 在 DDC 系统中 用计算机取代了模拟器件 控制规律的实现是由计算机软件来完成的 因 此 系统中数字控制的设计 实际上是计算机算法的设计 由于计算机只能识别数字量 不能对连续的控制算式直接进行运算 故在计算机控制系统 中 首先必须对控制规律进行离散化的算法设计 为将模拟 PID 控制规律按式 1 2 离散化 我们把图 1 1 中 n 次 tr te c t tu 采样的数据分别用表示 于是式 1 1 变为 ncnunenr ne nr nc 1 1 当采样周期 T 很小时可以用 T 近似代替 可用近似代替 积分 用 dt tde 1 nene 求和 近似代替 即可作如下近似 T nene dt tde 1 1 2 t n i Tiedtte 0 1 1 3 这样 式 1 2 便可离散化以下差分方程 0 1 1 unene T T ne T T neKnu n i D I P 1 4 上式中是偏差为零时的初值 上式中的第一项起比例控制作用 称为比例 P 项 即 0 u nup 1 5 此文档收集于网络 如有侵权 请联系网站删除 此文档仅供学习与交流 I PI T T KK 0 2 1 2 1 uneneneKneKneneK DIP nu 2 1 2 1 neneneKneKneneK DIP 0 1 1 2 1 1 1 unene T T ne T T neKnu n i D I P 0 ununununu DIP 0 unununu DP 0 unununu IP 0 ununu P 第二项起积分控制作用 称为积分 I 项即 nUI n i I PI ie T T Knu 1 1 6 第三项起微分控制作用 称为微分 D 项即 nUd 1 nene T T Knu D PD 1 7 这三种作用可单独使用 微分作用一般不单独使用 或合并使用 常用的组合有 P 控制 1 8 PI 控制 1 9 PD 控制 1 10 PID 控制 1 11 式 1 7 的输出量为全量输出 它对于被控对象的执行机构每次采样时刻应达到的位 nu 置 因此 式 1 7 又称为位置型 PID 算式 由 1 7 可看出 位置型控制算式不够方便 这是因为要累加偏差 不仅要占用较多 te 的存储单元 而且不便于编写程序 为此对式 1 7 进行改进 根据式 1 7 不难看出 u n 1 的 表达式 即 1 12 将式 1 7 和式 1 15 相减 即得数字 PID 增量型控制算式为 1 13 从上式可得数字 PID 位置型控制算式为 1 14 式中 称为比例增益 pk 称为积分系数 此文档收集于网络 如有侵权 请联系网站删除 此文档仅供学习与交流 U T Ut nT Unt U 00 0 UU 0 T T KK D PD U t 0tTt0 U 2T2t03T3t04t0nT n 1 t0 U t 0tTt0 U 称为微分系数 1 数字 PID 位置型示意图和数字 PID 增量型示意图分别如图 1 和 2 所示 图 1 数字 PID 位置型控制示意图 图 2 数字 PID 增量型控制示意图 1 3 数字 PID 参数整定方法 如何选择控制算法的参数 要根据具体过程的要求来考虑 一般来说 要求被控过程是稳 定的 能迅速和准确地跟踪给定值的变化 超调量小 在不同干扰下系统输出应能保持在给定 值 操作变量不宜过大 在系统和环境参数发生变化时控制应保持稳定 显然 要同时满足上 述各项要求是很困难的 必须根据具体过程的要求 满足主要方面 并兼顾其它方面 PID 调节器的参数整定方法有很多 但可归结为理论计算法和工程整定法两种 用理论计算 法设计调节器的前提是能获得被控对象准确的数学模型 这在工业过程中一般较难做到 因此 实际用得较多的还是工程整定法 这种方法最大优点就是整定参数时不依赖对象的数学模型 简单易行 当然 这是一种近似的方法 有时可能略嫌粗糙 但相当适用 可解决一般实际问 题 1 4 直流电机的 PWM 控制技术 根据 PWM 控制的基本原理可知 一段时间内加在惯性负载两端的 PWM 脉冲与相等时间内冲 量相等的直流电加在负载上的电压等效 那么如果在短时间 T 内脉冲宽度为 幅值为 U 由图0t 3 可求得此时间内脉冲的等效直流电压为 若令 即为占空比 则上式可化为 U 为脉冲幅值 1 15 图 3 PWM 脉冲 若 PWM 脉冲为如图 4 所示周期性矩形脉冲 那么与此脉冲等效的直流电压的计算方法与上述相 同 即 为矩形脉冲占空比 1 16 T Ut U 0 0 T t0 此文档收集于网络 如有侵权 请联系网站删除 此文档仅供学习与交流 键盘模块控制器模块 显示模块 电机驱动模块直流电机 速度检测模块 PWM脉冲 图 4 周期性 PWM 矩形脉冲 由式 1 20 可知 要改变等效直流电压的大小 可以通过改变脉冲幅值 U 和占空比来实现 因为在实际系统设计中脉冲幅值一般是恒定的 所以通常通过控制占空比的大小实现等效直 流电压在 0 U 之间任意调节 从而达到利用 PWM 控制技术实现对直流电机转速进行调节的目的 2 设计方案与论证 2 1 系统设计方案 根据系统设计的任务和要求 设计系统方框图如图 5 所示 图中控制器模块为系统的核心部 件 键盘和显示器用来实现人机交互功能 其中通过键盘将需要设置的参数和状态输入到单片 机中 并且通过控制器显示到显示器上 在运行过程中控制器产生 PWM 脉冲送到电机驱动电路 中 经过放大后控制直流电机转速 同时利用速度检测模块将当前转速反馈到控制器中 控制 器经过数字 PID 运算后改变 PWM 脉冲的占空比 实现电机转速实时控制的目的 图 5 系统方案框图 3 单元电路设计 3 13 1 硬件资源分配 本系统电路连接及硬件资源分配见图 6 所示 采用 AT89S51 单片机作为核心器件 转速检 测模块作为电机转速测量装置 通过 AT89S51 的 P3 3 口将电脉冲信号送入单片机处理 L298 作 为直流电机的驱动模块 利用 128 64LCD 显示器和 4 4 键盘作为人机接口 图 6 系统电路连接及硬件资源分配图 3 2 电机速度采集电路设计 在本系统中由于要将电机本次采样的速度与上次采样的速度进行比较 通过偏差进行 PID 运 算 因此速度采集电路是整个系统不可缺少的部分 本次设计中应用了比较常见的光电测速方 法来实现 其具体做法是将电机轴上固定一圆盘 且其边缘上有 N 个等分凹槽如图 7 a 所示 在圆盘的一侧固定一个发光二极管 其位置对准凹槽处 在另一侧和发光二极光平行的位置上 固定一光敏三极管 如果电动机转到凹槽处时 发光二极管通过缝隙将光照射到光敏三极管上 三极管导通 反之三极管截止 电路如图 7 b 所示 从图中可以得出电机每转一圈在 P3 3 的 输出端就会产生 N 个低电平 这样就可根据低电平的数量来计算电机此时转速了 例如当电机 此文档收集于网络 如有侵权 请联系网站删除 此文档仅供学习与交流 以一定的转速运行时 P3 3 将输出如图 8 所示的脉冲 若知道一段时间 t 内传感器输出的低脉 冲数为 n 则电机转速 v r s a b 图 7 电机速度采集方案 图 8 传感器输出脉冲波形 4 软件设计 4 1 PID 算法 本系统设计的核心算法为 PID 算法 它根据本次采样的数据与设定值进行比较得出偏差 对偏差进行 P I D 运算最终利用运算结果控制 PWM 脉冲的占空比来实现对加在电机两 ne 端电压的调节 10 进而控制电机转速 其运算公式为 因此要想实现 PID 控制在单片机就必须存在上述算法 其程序流程如图 9 所示 4 2 程序流程主流程图 在一个完整的系统中 只有硬件部分是不能完成相应设计任务的 所以在该系统中软件 部分是非常重要的 按照要求和系统运行过程设计出主程序流程如图 10 所示 图 10 主程序流程 5 系统测试与分析 为了确定系统与设计要求的符合程度 需要进行系统测试与分析 但是由于试验调节的 制约和时间的限制 不能完成此次制作 只能通过软件仿真进行验证 在这里使用的是英国的 Proteus 软件进行测试 对于电机速度采集可根据设定的电机速度计算出 P3 3 口输入的方波脉 冲的频率和占空比 来改变等效直流电压的大小 给 P3 3 输入此脉冲来实现电机速度采集 并 允许误差存在 下面以 PID 调节器为例 具体说明经验法的整定步骤 让调节器参数积分系数 0 实际微分系数 0 控制系统投入闭环运行 由小到大IkDk 改变比例系数 让扰动信号作阶跃变化 观察控制过程 直到获得满意的控制过程为止 pk 取比例系数为当前的值乘以 0 83 由小到大增加积分系数 同样让扰动信号作阶pkIk 跃变化 直至求得满意的控制过程 积分系数保持不变 改变比例系数 观察控制过程有无改善 如有改善则继续调Ikpk 整 直到满意为止 否则 将原比例系数增大一些 再调整积分系数 力求改善控制过程 pkIk 如此反复试凑 直到找到满意的比例系数和积分系数为止 pkIk 此文档收集于网络 如有侵权 请联系网站删除 此文档仅供学习与交流 引入适当的实际微分系数和实际微分时间 此时可适当增大比例系数和积分DkDTpk 系数 和前述步骤相同 微分时间的整定也需反复调整 直到控制过程满意为止 Ik PID 参数是根据控制对象的惯量来确定的 大惯量如 大烘房的温度控制 一般 P 可在 10 以上 I 在 3 10 之间 D 在 1 左右 小惯量如 一个小电机闭环控制 一般 P 在 1 10 之间 I 在 0 5 之间 D 在 0 1 1 之间 具体参数要在现场调试时进行修正 根据上诉方法 通过软件仿真系统得出数据如表 1 所示 通过观察得出该系统比较合适 的 P I D 三者的参数值为 2 2 2 0 2 并且可以反映pkIkDk 表 1 测试数据表 次数设定pk设定Ik设定Dk设定 r min 超调量调节时间 s 误差 122 20 21008 4 232 20 210015 5 342 20 210022 11 412 20 21005 6 502 20 21001 12 621 10 21006 8 7200 21002 15 823 30 21008 5 924 40 21009 7 1022 20 11008 6 1122 201006 5 1222 20 31007 5 1322 20 41006 7 通过上诉的数据分析可知 该系统完成了设计的任务及要求 证实了设计方案的可行性和设计 方法的正确性 此文档收集于网络 如有侵权 请联系网站删除 此文档仅供学习与交流 6 结论 本课题的目的在于利用单片机实现 PID 算法产生 PWM 脉冲来控制电机转速 到目前为止通过对 控制器模块 电机驱动模块 LCD 显示模块 键盘模块 数字 PID 算法等进行深入的研究 完成 了硬件电路的系统设计 并且利用 Protel99se 软件绘制出 PCB 图纸 但由于实验条件不足没能 做出 PCB 板 软件方面利用 C 语言进行编程 增强了程序的可移植性和灵活性 并且利用 Proteus 软件进行仿真更加保证了程序的准确性 7 参考文献 1 ST L298N 数据手册 DB OL 2000 7 1 2008 5 9 2 沙占友 单片机外围电路设计 M 北京 电子工业出版社 2003 21 3 何立民 MCS 51 系列单片机应用系统设计系统配置与接口技术 M 北京 北京航空航天大学出版 社 1990 83 87 4 Behzad Razavi Design of Analog CMOS and Integrated Circuits M McGraw Hill Companies 2001 28 36 5 Tao Wu Ykang Yang Yongxuan Huang etal H PID Controller Parameters Tuning via Genetic Algorithms C Intelligent Controland Automation Proceedings of the 3rd World Congress on 2000 1 586 589 6 Cominos P Munro N PID controllers Recent Tuning Methods and Designto Specifi cation M Control Theory and Applications IEE Proceedings January 2002 149 46 附录附录 部分源程序部分源程序 一 主程序 main zf 0 flag1 0 EA 1 IT0 1 EX0 1 count 0 en 0 en1 0 en2 0 U0 200 Un 0 cc 0 zanting 0 此文档收集于网络 如有侵权 请联系网站删除 此文档仅供学习与交流 pwm1 0 pwm2 0 P1 0 xF0 Init lcd 设置液晶显示器 Clr Scr 清屏 left Disp Chinese 0 0 dan 单 left Disp Chinese 0 16 pian 片 left Disp Chinese 0 32 ji 机 left Disp Chinese 0 48 de 的 right Disp Chinese 0 0 shu 数 right Disp Chinese 0 16 zi 字 right Disp Digit 0 32 dp P right Disp Chinese 0 40 di I right Disp Digit 0 56 dd D left Disp Chinese 3 16 dian 电 left Disp Chinese 3 32 ji 机 left Disp Chinese 3 48 tiao 调 right Disp Chinese 3 0 shu0 速 right Disp Chinese 3 16 xi 系 right Disp Chinese 3 32 tong 统 left Disp Chinese 6 48 heng 横线 right Disp Chinese 6 0 heng 横线 right Disp Chinese 6 16 jia right Disp Chinese 6 32 xiao right Disp Chinese 6 48 wei flag0 0 for 等待设置键按下 if flag0 1 break Clr Scr 清屏 left Disp Chinese 0 32 can left Disp Chinese 0 48 shu right Disp Chinese 0 0 she right Disp Chinese 0 16 zhi left Disp Chinese 2 4 Kp left Disp Digit 2 20 maohao left Disp Digit 2 28 s 0 left Disp Digit 2 36 s 0 left Disp Digit 2 44 dian0 left Disp Digit 2 52 s 0 right Disp Chinese 2 4 Ki right Disp Digit 2 20 maohao right Disp Digit 2 28 s 0 right Disp Digit 2 36 s 0 此文档收集于网络 如有侵权 请联系网站删除 此文档仅供学习与交流 right Disp Digit 2 44 dian0 right Disp Digit 2 52 s 0 left Disp Chinese 4 4 Kd left Disp Digit 4 20 maohao left Disp Digit 4 28 s 0 left Disp Digit 4 36 s 0 left Disp Digit 4 44 dian0 left Disp Digit 4 52 s 0 right Disp Chinese 4 4 V right Disp Digit 4 20 maohao right Disp Digit 4 28 s 0 right Disp Digit 4 36 s 0 right Disp Digit 4 44 s 0 left Disp Chinese 6 4 zhuan left Disp Chinese 6 20 xiang left Disp Digit 6 36 maohao left Disp Chinese 6 44 zheng flag1 0 for set 0 等待启动键按下 switch set case 0 break case 1 left Disp Digit 2 28 s 0 left Disp Digit 2 36 s 0 left Disp Digit 2 52 s 0 Kpp 0 for flag 0 n 0 left Disp Digit 2 28 kong Delay12864 1000 left Disp Digit 2 28 s n Delay12864 2500 if flag 1 break left Disp Digit 2 28 s n Kpp 10 n for flag 0 n 0 left Disp Digit 2 36 kong Delay12864 1000 left Disp Digit 2 36 s n Delay12864 2500 if flag 1 break 此文档收集于网络 如有侵权 请联系网站删除 此文档仅供学习与交流 left Disp Digit 2 36 s n Kpp n for flag 0 n 0 left Disp Digit 2 52 kong Delay12864 1000 left Disp Digit 2 52 s n Delay12864 2500 if flag 1 break left Disp Digit 2 52 s n Kpp 0 1 n set 0 break case 2 right Disp Digit 2 28 s 0 right Disp Digit 2 36 s 0 right Disp Digit 2 52 s 0 Kii 0 for flag 0 n 0 right Disp Digit 2 28 kong Delay12864 1000 right Disp Digit 2 28 s n Delay12864 2500 if flag 1 break right Disp Digit 2 28 s n Kii 10 n for flag 0 n 0 right Disp Digit 2 36 kong Delay12864 1000 right Disp Digit 2 36 s n Delay12864 2500 if flag 1 break right Disp Digit 2 36 s n Kii n for flag 0 n 0 right Disp Digit 2 52 kong 此文档收集于网络 如有侵权 请联系网站删除 此文档仅供学习与交流 Delay12864 1000 right Disp Digit 2 52 s n Delay12864 2500 if flag 1 break right Disp Digit 2 52 s n Kii 0 1 n set 0 break case 3 left Disp Digit 4 28 s 0 left Disp Digit 4 36 s 0 left Disp Digit 4 52 s 0 Kdd 0 for flag 0 n 0 left Disp Digit 4 28 kong Delay12864 1000 left Disp Digit 4 28 s n Delay12864 2500 if flag 1 break left Disp Digit 4 28 s n Kdd 10 n for flag 0 n 0 left Disp Digit 4 36 kong Delay12864 1000 left Disp Digit 4 36 s n Delay12864 2500 if flag 1 break left Disp Digit 4 36 s n Kdd n for flag 0 n 0 left Disp Digit 4 52 kong Delay12864 1000 left Disp Digit 4 52 s n Delay12864 2500 if flag 1 break 此文档收集于网络 如有侵权 请联系网站删除 此文档仅供学习与交流 left Disp Digit 4 52 s n Kdd 0 1 n set 0 break case 4 right Disp Digit 4 28 s 0 right Disp Digit 4 36 s 0 right Disp Digit 4 44 s 0 V0 0 for flag 0 n 0 right Disp Digit 4 28 kong Delay12864 1000 right Disp Digit 4 28 s n Delay12864 2500 if flag 1 break right Disp Digit 4 28 s n V0 100 n for flag 0 n 0 right Disp Digit 4 36 kong Delay12864 1000 right Disp Digit 4 36 s n Delay12864 2500 if flag 1 bre

温馨提示

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

评论

0/150

提交评论