温度控制系统ppt课件

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
22
➢总结
同时本设计还存在着一些不足,例如:系统的硬件设计 方面有待完善,可以增加各种保护功能和故障检测功能。 还有可以用12864显示温度曲线,或者用电脑和单片机 描出图形,使得PID参数更好的调节。 通过本次毕业设计我感受很深,从中学到了很多东西。 通过本次实践,不但培养了我们独立思考问题的能力, 同时也增强了我的动手能力,为以后步入工作岗位奠定 了基础。
通过~(P0|oxf0)的 值知道是哪一行有
按键按下
P0=ox0f N
判断P0是否等于ox0f即判断按键是否松开 Y
返回按键
结束
Y Y 返回值为字符X
➢软件设计
17
➢软件设计
软件设计还有许多的小程序和一些小技巧 比如初始化程序,DS18B20的时序电路, 如何命名变量,如何程序模块化等,就在 此略过。
基于PID算法和51单片机的温 度控制系统设计
1
目录
研究意义 研究背景 研究内容 研究方法 硬件电路 软件设计 小插 曲 结论
2
➢研究意义
温度是生活及生产中最基本的物理量,它表征的 是物体的冷热程度。自然界中任何物理、化学过程 都紧密的与温度相联系。在很多生产过程中,温度 的测量和控制都直接和安全生产、提高生产效率、 保证产品质量、节约能源等重大技术指标相联系。 因此,温度的测量与控制在国民经济各个领域中均 受到了相当程度的重视。
18
➢小插曲
1.困惑与PID三个参数的调节,本来我是想从纯理 论的方面去思索这个问题的后面与老师交谈了下 才知道PID的参数调节是与实际环境相关的。 2.鬼影,LCD1602出现鬼影。本来我并不知道这 个是鬼影,在网上搜索也就不知道检索什么关键 词。后面请教了公司的一个毕业不久的学长得知 是鬼影,解决方法是在VDD端和地之间串联个 10K的电位器,发现鬼影可调。
停止计时
Y
扫描是否有按键按下
Y
读出按键值并存储 N
在LCD1602中显示 按键输入值
按键输入是否完整
Y
调用PID算法
N 给PWM波的高电平 的占空比赋值
开始计时
开始
开机初始化 T是否等于0.1秒
N T是否等于0.2秒
停止计时
读取DS18b20的温 度数据送LCD显示
T=0
开始计时
➢软件设计
15
PID算法
4
➢研究内容
本次设计控制对象是1L水的温度,主要要求如下: (1)能够连续测量水的温度值,用LCD1602显示水的实 际温度。 (2)能够设定水的温度值,设定范围是30℃~90℃。 (3)能够实现水温的自动控制,如果设定水温为85℃, 则能使wk.baidu.com温保持恒定在85℃的温度下运行。 (4)用DS18B20做温度传感器,用单片机AT89C52和 PID算法控制电加热器,通过矩阵键盘的输入来控制水温 的设定值,数值采用LCD1602显示。
5
➢研究方案
6
USB供电
➢电路设计
7
晶振和复位电路
➢电路设计
8
程序下载电路
➢电路设计
9
报警电路
➢电路设计
10
显示电路
➢电路设计
11
矩阵键盘
➢电路设计
12
温度传感器电路
➢电路设计
13
负载驱动电路
➢电路设计
14
主程序
注释
在输入没有完成的时候是不会 调用PID算法的, 这个时候的 加热目标值还是上一次的输入 值。 如果输入长时间没有完 成系统是无法正常工作的
根据W_pid的值求出加热的 PID功率求出PWM的占空比
PID算法结束
16
按键程序
开始
对阵键盘的对应的 表格赋值,方便后
面查表
P0=oxf0 行为低4 位 列为高4位
判断P0是否等于oxf0 N
延时500us
判断P0是否等于oxf0 N
通过~(P0|ox0f)的 值得到是哪一列有
按键按下
P0=ox0f
20
➢小插曲
5.矩阵键盘这块焊接的时候倒是发了我不少时间, 以前都是看着的以为自己会。这次我真正的感受到 动手和不动手的区别。矩阵键盘的程序也让我纠结 了点时间。这里有个思维过程。首先我确定了我的 这个电路是有按键按下是高电平的IO口会被拉低, 比如说11110000会变成1011000,让P0口和 00001111继续位或运算在按位取反,就可以得到是 第二列有按键按下,在赋值00001111就可以等到行 就能确定是哪个按键按下。这里要理清硬件电路的 关系才能编程。
停止加热
Y
开始 温度大于目标温度
➢软件设计
最大功率加热
Y
温度是否相差2℃
计算离目标温度还差多少功 率er[2]
积分W_i[1]=Ki*er[2]
W_pid=Kp*er[2]+W_i[1]+W_i[0]+ Kd*(er[0]-2*er[1]+er[2])
er[0]=er[1] er[1]=er[2] W_i[0]=W_i[0]+W_i[1]
19
➢小插曲
3.以前我用单片机烧写程序的时候都是用M8下载器,这次我是用 的串口烧写,需要的条件是USB转串口驱动,和一个STC-ISP软 件,注意要调节好对应的USB口。 4.在实习的时候我看了公司的不少程序蛮有感触的,我发现他对 变量的命名很好让人看到这个变量知道这个变量的作用,方法是 下划线和大小写。还有一个是扫描程序,用定时器让一个变量自 加,就等于到了某个时间单片机会去检查某个部位,本来我是打 算用中断写这些程序的。本次毕业设计我就用上了这些学到的东 西。初次用比较生疏。
3
➢研究背景
近年来,温度的检测在理论上发展比较成熟,但 在实际测量和控制中,如何保证快速实时地对温 度进行采样,确保数据的正确传输,并能对所测 温度场进行较精确的控制,仍然是目前需要解决 的问题 。 从工业控制器的发展过程来看,温度控制技术大 致可分以下几种:定值开关温控法、PID线性温 控法、智能温控法。
23
敬请老师批评指正
谢谢!
24
21
➢小插曲
6.模块的综合,以前变成的时候都是写小程序,这次 我把这些小模块加在了一起,中间出现了许多的小问题, 使得编译通过不了。总能马上解决的那种。 7.MOC3051和BTA08的电路图我开始不会接,不懂原 理后来问了公司的一个经验比较老道的大哥。弄清原理 后,然后我就按照MOC3051的经典案例接了硬件电路。 最后却忽略了焊锡能通过的最大电流问题。用焊锡部分 用比较粗的导线代替。
相关文档
最新文档