欢迎来到天天文库
浏览记录
ID:20176105
大小:183.00 KB
页数:11页
时间:2018-10-08
《pwm温度自动控制系统的设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、《计算机控制技术》课程设计学生姓名:学号:专业班级:电气工程及其自动化(1)班指导教师:二○一二年十月二十九日11目录1.课程设计目的32.课程设计题目和要求33.设计内容34.设计总结104.参考书目115.附录111.课程设计目的通过本课程设计,主要训练和培养学生的以下能力:(1).查阅资料:搜集与本设计有关部门的资料(包括从已发表的文献中和从生产现场中搜集)的能力;(2).方案的选择:树立既考虑技术上的先进性与可行性,又考虑经济上的合理性,并注意提高分析和解决实际问题的能力;(3).迅速准确的进行工程计算的能力,计算机应用能力;(4).用简洁的文字,清晰的图表来
2、表达自己设计思想的能力。2.课程设计题目和要求题目:PWM温度自动控制系统的设计要求:1.要求设计温度控制系统,设定温度为230度,采用电阻丝作为加热器件,要求无余差,超调小,加热速度快。2.硬件采用51系列单片机,采用固态继电器作为控制元件。3采用keilc作为编程语言,采用结构化的设计方法。4.要求用protel设计出硬件电路图。5画出系统控制框图。6画出软件流程图。3.设计内容3.1PID控制原理将偏差的比例,积分和微分通过线性组合构成控制量,用这一控制对被控对象进行控制,这一样的控制器称PID控制器113.1.1.模拟PID控制原理在模拟控制系统中,控制器最常
3、用的控制规律是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控制的规律为:其中:
4、Kp为控制器的比例系数Ti为控制器的积分时间,也称积分系数Td为控制器的未分时间,也称微分系数113.1.2带死区PID的算法带死区的PID控制作用:消除由于频繁动作所引起的振荡计算机中带死区的PID:3.2系统控制框图程序模块113.3程序模块1、主程序2、AD转换程序3、pid计算程序4、延时程序5、定时器中断服务程序3.4Protel硬件电路图113.5软件设计3.5.1设计流程图:扫描给定值刷新给定值采样AD转换反馈值刷新输出值计算刷新输出值定时器初值更新主要程序流程说明:主程序首先进行初始化,包括pid参数设定,定时器设置,中断设置及赋初值。然后循环做四件事
5、:通过AD转换对反馈值采样,根据设定值减反馈值计算偏差进而计算输出值,根据输出值算出定时器初值,扫描给定按键刷新给定值。通过不断循环改变定时器初值以改变占空比,实现PWM控制。3.5.2程序#includesbitA=P2^0;//模拟通道选择位sbitBB=P2^1;sbitC=P2^2;sbitST=P2^4;sbitEOC=P2^5;11sbitOE=P2^6;sbitP27=P2^7;//PWM脉冲输出sbitP10=P1^0;sbitP17=P1^7;voidad();//模数转换voidpid();//pid计算inta=0,b=0,ou
6、t=0;doublep=0.4,i=0.1,d=0;//系数设定doubles=0,e0=0,elast=0,in=200;voiddelay(longi)//延时{intj=255;while(i--){for(;j>0;j--);}}main(){A=BB=C=0;OE=1;TMOD=0x11;TH0=0xD8;TL0=0xF0;EA=1ET0=1;ET1=1;TR0=1;while(1){ad();//模数转换11pid();a=(65535-out*39)/0x100;b=(65535-out*39)%0x100;//T1低8位if(P10==0){in++;
7、delay(100);}if(P17==0){in--;delay(100);}}}//模数转换voidad(){ST=0;ST=1;ST=0;//启动转换while(EOC==0);//等待转换结束}//pid计算voidpid(){e0=in-P0;//偏差值out=p*(e0+i*s+d*(e0-elast));//由公式计算输出值s=s+e0;//累计偏差elast=e0;}voidint0()interrupt1using0//定时器0服务子程序(interrupt1定时器0){TH0=0xD8;TL0=0xF0;//定时器0初值P27=1
此文档下载收益归作者所有