网站大量收购独家精品文档,联系QQ:2885784924

《计算机控制技术》课程设计-PWM温度自动控制系统的设计.doc

《计算机控制技术》课程设计-PWM温度自动控制系统的设计.doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《计算机控制技术》课程设计-PWM温度自动控制系统的设计

《 计算机控制技术》 课程设计 题 目:PWM温度自动控制系统的设计 学生姓名: 学 号: 专业班级: 指导教师: 二○一○年十二月二十五日 目 录 1.设 计 目 的…………………………………………………1 2.设 计 要 求…………………………………………………1 3.PID控制原理…………………………………………………1 带死区的PID算法……………………………………………2 5.系统框图………………………………………………………2 6.程序流程图以及程序代码…………………………………………4 7.心得体会………………………………………………………5 8.参考目录………………………………………………………5 一.设计的目的 通过课程设计,来加深对过程控制中自动化控制系统框架的理解 通过课程设计,来加深对PID控制系统的理解 利用所学的理论知识,设计一个工业常用中的温度控制系统,达到对一个系统的初步设计 二.设计要求 1. 要求设计温度控制系统,设定温度为230度,才用电阻丝做为加热器件,采用PID算法,无余差,超调小,加热速度快。 2. 硬件采用51系列单片机,采用固态继电器作为控制元件 3. 采用keil c作为编程语言,采用结构化的设计方法 三.PID控制原理 将偏差的比例,积分和微分通过线性组合构成控制量,用这一控制对被控对象进行控制,这一样的控制器称PID控制器 1.模拟PID控制原理 在模拟控制系统中,控制器最常用的控制规律是PID控制。为了说明控制器的原理,以图1.1的例子说明。给定输入信号n0(t)与实际输出信号n(t)进行比较,其差值e(t)=n0(t)-n(t),经过PID控制器调整输出控制信号u(t),u(t)对目标进行作用,使其按照期望运行。 常规的模拟PID控制系统原理框图如同1.2所示。该系统有模拟PID和被控对象组成。图中r(t)是给定的期望值,y(t)是系统的实际输出值,给定值与实际输出值,给定值与实际值构成控制偏差e(t): e(t)作为PID控制的输入,u(t)作为PID控制的输出和被控对象的输入。构成PID和被控对象的输入。构成PID控制的规律为: 其中:Kp为控制器的比例系数 Ti为控制器的积分时间,也称积分系数 Td为控制器的未分时间,也称微分系数 四.带死区PID的算法 带死区的PID控制 作用:消除由于频繁动作所引起的振荡 计算机中带死区的PID: 系统框图 (1)系统框图 系统工作过程:温度传感器检测容器内部的温度,把温度信号传送给D/A转换芯片进行模/数转化,转化完的数字信号送入51单片机,再与设定值进行比较,比较完的差值进行带死区的PID算法运算,PID后的U(k)经过PWM波比较,输出占空比随U(k)调整的脉冲波形,再通过光电耦合器控制固态继电器的通断时间,达到对容器内温度加热的控制,从而能较精确地控制器内温度。 程序流程图以及程序代码 .程序流程图 (2)程序代码 #include reg51.h #include absacc.h //用“#includeabsacc.h”即可使用其中定义的宏来访问绝对地址 #include math.h sbit P3_0=P3^0; #define kp 10 //假设的比例系数设定值 #define ki 20 /假设的积分系数设定值 #define kd 30 //假设的微分系数设定值 #define set 90 //容器内温度的设定值 #define k1 5 //误差在死区内时,系数的设定值 #define x 3 //死区范围的设定值 #define AD_adr XBYTE[0x7ff8] //AD芯片的地址 int ek,ek_1,uk,sum,b; int PID( ); //死区PID算法函数调用的声明 void AD( ); //进行AD转换函数调用的声明 PWM();

您可能关注的文档

文档评论(0)

2017meng + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档