ImageVerifierCode 换一换
格式:DOCX , 页数:26 ,大小:333.90KB ,
资源ID:3096009      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3096009.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于51单片机的PID调温热得快.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于51单片机的PID调温热得快.docx

1、基于51单片机的PID调温热得快自动控制原理课程设计指导老师:邹恩年级专业:13 自动化 4 班姓名学号(分工) 韩锦澎2(电路设计) 韦伊玲2 (程序编写) 徐敏芳2 (焊接调试)王可欣2 (论文)2015 年 1 月 7 日1. 系统设计方案 选用铂电阻温度传感器。此类温度传感器线性度、稳定性等方面性能都很好,但其成本较高。 采用热敏电阻。选用此类元器件有价格便宜的优点,但由于热敏电阻的非线性特性会影响系统的精度。比较以上三种方案,方案三具有具有体积小、质量轻、线形度好、性能稳定等优点其各方面特性都满足此系统的设计要求的优点,因此选用方案三。2. 系统硬件部分设计硬件设计包含DS18B20

2、模块,1602液晶显示模块,继电器模块,键盘输入模块和声光报警模块,DS18B20可以被编程,所以箭头是双向的,CPU(89C52)首先写入命令给DS18B20,然后DS18B20开始转换数据,转换后通89C52来处理数据。数据处理后的结果就显示到1602液晶上。2.1系统硬件电路图3. 系统软件部分软件设计的部分采用分层模块化设计,主要有键盘扫描、按键处理程序、数码管显示程序、继电器控制程序、温度信号处理程序、超温报警程序。另外以 AT89C52 单片机为控制核心。利用PID 控制算法提高了水温的控制精度使用PID 控制算法实施自动控制系统具有控制参数精度高、反映速度快和稳定性好的特点。 通

3、过热电偶采集的被测温度偏离所希望的给定值时,PID控制可根据测量信号与给定值的偏差进行比例(P)、积分(I)、微分(D)运算,从而输出某个适当的控制信号给执行机构,促使测量值恢复到给定值,达到自动控制的效果。PID模块的温度控制精度主要受P、I、D这三个参数影响。其中P代表比例,I代表积分,D代表微分。比例运算(P)比例控制是建立与设定值(SV)相关的一种运算,并根据偏差在求得运算值(控制输出量)。如果当前值(PV)小,运算值为100%。如果当前值在比例带内,运算值根据偏差比例求得并逐渐减小直到SV和PV匹配(即,直到偏差为0),此时运算值回复到先前值(前馈运算)。若出现静差(残余偏差),可用

4、减小P方法减小残余偏差。如果P太小,反而会出现振荡。积分运算(I)将积分与比例运算相结合,随着调节时间延续可减小静差。积分强度用积分时间表示,积分时间相当于积分运算值到比例运算值在阶跃偏差响应下达到的作用所需要的时间。积分时间越小,积分运算的校正时间越强。但如果积分时间值太小,校正作用太强会出现振荡。微分运算(D)比例和积分运算都校正控制结果,所以不可避免地会产生响应延时现象。微分运算可弥补这些缺陷。在一个突发的干扰响应中,微分运算提供了一个很大的运算值,以恢复原始状态。微分运算采用一个正比于偏差变化率(微分系数)的运算值校正控制。微分运算的强度由微分时间表示,微分时间相当于微分运算值达到比例

5、运算值在阶跃偏差响应下达到的作用所需的时间。微分时间值越大,微分运算的校正强度越强。 用继电器模块来控制200W“热得快”来对1升水进行加热,用键盘设定需要加热温度值,观察1602所显示的稳定水温和环境温度降低时温度控制的静态误差。多次调试并合设定PID参数来完善系统。 实物图:首先,通过本次应用系统设计,在很大程度上提高了我们的独立思考能力和专业知识相信在接下来的日子我们能在已有的基础上做得更好。我们所设计的该系统主要根据目前省能源的发展趋势和国内实际的应用特点和要求,采用了自动化的结构形式,实现对水温的自动检测和控制。该系统的主要特点是: 1)适用性强,用户只需对界面参数进行设置并启动系统

6、正常运行便可满足不同用户水温的要求,实现对水温的实时监控。避免了电力力资源的浪费,节省了能源。 2)将单片机以及温度传感器引入对水温的分析和处理中,单片机控制决策无需建立被控对象的数学模型,系统的适应性强,适合对非线性、时变、滞后系统的控制对水温控制系统进行控制。 3)系统成本低廉,操作非常简单,可扩展性强,只要稍加改变,即可增加其他使用功能。 通过对本设计的思考,更加加深了我们对单片机的认识,熟练了对单片机的控制,更对当前的温度传感器有了更深刻的认识与了解,但是由于此系统依赖温度传感器,因而对温度传感器的稳定性,线性等诸多方面有着严格的要求,但是传感器的性能越好,相对而言其价格也就越高,因而

7、在此设计中,温度传感器觉的还是存在遗憾,由于温度计的使用温度有限所以水温不能达到90以上。最后由于时间紧迫,本设计还有诸多地方需要改进,我们会在接下来的时间里继续完善该设计,以期做的更好。附录:部分程序:/main.c:#include#includelcd.h#includetemp.h#includepid.hsbit c1=P26;sbit c2=P27;sbit beep=P13;sbit K3=P32;sbit K4=P33;void IntConfiguration();void Delay(unsigned int n);unsigned char KeyValue=0;exte

8、rn float set_temper;/* 函数名 : main* 函数功能 : 主函数* 输入 : 无* 输出 : 无*/void main() extern struct PID spid; / PID Control Structure LcdInit(); IntConfiguration(); PIDInit ( &spid ); spid.Proportion = 10; / Set PID Coefficients spid.Integral = 8; spid.Derivative =6; spid.SetPoint = 100; / Set PID Setpoint bee

9、p=1; TMOD=0x21; TH0=0x2f; TL0=0x40; /PCON=0X80; /波特率加倍 /TH1=0XF3; /计数器初始值设置,注意波特率是4800的 /TL1=0XF3; EA=1; ET0=1; /ES=1; TR0=1; TR1=1; c1=0; c2=0; P1=0XFF; while(1) LcdDisplay(Ds18b20ReadTemp(); LcdDisplay2(set_temper);/ LcdDisplay3(realtmp);/* if(set_temper-realtmp)1&(realtmper-set_temp)0;n-) for(b=1

10、;b0;b-) for(a=22;a0;a-); /* 函数名 : Int0() interrupt 0* 函数功能 : 外部中断0的中断函数* 输入 : 无* 输出 : 无*/void Int0() interrupt 0 /外部中断0的中断函数 Delay(1); /延时消抖 if(K3=0) while(K3=0); set_temper+; if(set_temper60.00) set_temper=60.00;/* 函数名 : Int1() interrupt 2* 函数功能 : 外部中断1的中断函数* 输入 : 无* 输出 : 无*/void Int1() interrupt 2

11、 /外部中断1的中断函数 Delay(1); /延时消抖 if(K4=0) while(K4=0); set_temper-; if(set_temper40.00) set_temper=40.00; /pid.c#includepid.h#includetemp.hstruct PID spid; / PID Control Structure unsigned int rout; / PID Response (Output) unsigned int rin; / PID Feedback (Input) int i=0,j=0,flag2=0,tem=0;sbit output=P16; unsigned char flag,flag_1=0; unsigned char high_time,low_time,count=0;/占空比调节参数 float set_temper=40; void PIDInit (struct PID *pp) high_time=50; low_time=50; memset ( pp,0,sizeof

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1