水温控制系统设计制作.docx
《水温控制系统设计制作.docx》由会员分享,可在线阅读,更多相关《水温控制系统设计制作.docx(10页珍藏版)》请在冰豆网上搜索。
水温控制系统设计制作
读懂的强大千万
水温控制系统设计
本设计以89c52单片机为核心,采用了温度传感器AD590,A/D采样芯片ADC0804,可控硅MOC3041及PID算法对温度进行控制。
该水温控制系统是一个典型的检测、控制型应用系统,它要求系统完成从水温检测、信号处理、输入、运算到输出控制电炉加热功率以实现水温控制的全过程。
本设计实现了水温的智能化控制以及提供完善的人机交互界面及多机通讯接口,系统由前向通道模块(即温度采样模块)、后向控制模块、系统主模块及键盘显示摸块等四大模块组成。
硬件电路设计与计算
本电路总体设计包括五部分:
主机控制部分(89C52)、前向通道(温度采样电路)、后向通道(温度控制电路)、键盘和数字显示部分。
主机控制部分
此部分是电路的核心部分,系统的控制采用了单片机89C52。
单片机89C52内部有8KB单元的程序存储器及256字节的数据存储器。
因此系统不必扩展外部程序存储器和数据存储器这样大大的减少了系统硬件部分。
温度采样电路
系统的信号采集电路主要由温度传感器(AD590)、基准电压(7812)及A/D转换电路(ADC0804)三部分组成。
电路图如图1
图1温度采样电路原理图
(1)AD590性能描述测量范围在-50℃--+150℃,满刻度范围误差为±0.3℃,当电源电压在5—10V之间,稳定度为1﹪时,误差只有±0.01℃。
AD590为电流型传感器温度每变化1℃其电流变化1uA在35℃和95℃时输出电流分别为308.2uA和368.2uA。
(2)ADC0804性能描述ADC0804为8bit的一路A/D转换器,其输入电压范围在0—5v,转换速度小于100us,转换精度0.39﹪。
满足系统的要求。
(3)电路原理及参数计算温度采样电路的基本原理是采用电流型温度传感器AD590将温度的变化量转换成电流量,再将电流量转换成电压量通过A/D转换器ADC0804将其转换成数值量交由单片机处理。
图-2
如上图4-2-2图中三端稳压7812作为基准电压,由运放虚短虚断可知运放的反向输入端ui的电压为零伏,当输出电压为零伏时,列出A点的节点方程如下:
…………………………………………………………….
(1)
由于系统控制的水温范围为35℃--95℃,所以当输出电压为零伏时AD590的输出电流为308.2uA,因此为了使Ui的电位为零就必须使电流
等于电流
等于308.2uA,三端稳压7812的输出电压为12v所以由方程
(1)得
……………………………………
(2)
由方程
(2)的取电阻R2=30k,R1=10k的电位器。
又由于ADC0804的输入电压范围为0—5v,为了提高精度所以令水温为95℃时ADC0804的输入电压为5v(即Uo=5v)。
此时列出A点的结点方程如下:
………………………………………(3)
当水温为95℃时AD590的输出电流为368.2uA。
由方程式(3)得
R4+R5=83.33k因此取R5=81k,R5=5k的电位器。
温度控制电路
此部分电路主要由光电耦合器MOC3041和双向可控硅BTA12组成。
MOC3041光电耦合器的耐压值为400v,它的输出级由过零触发的双向可控硅构成,它控制着主电路双向可控硅的导通和关闭。
100Ω电阻与0.01uF电容组成双向可控硅保护电路。
控制部分电路图如图(-3)。
图-3
键盘与数字显示部分
在设计键盘/显示电路时,我们使用单片机2051做为电路控制的核心,单片机2051具有一个全双工的串行口采用串口,利用此串行口能够方便的实现系统的控制和显示功能。
键盘/显示接口电路如图4-4-1。
图4键盘/显示部分电路
图4中单片机2051的P1口接数码管的8只引脚,这样易于对数码管的译码,使数码管能显示设计者所需的各数值、小数点、符号等等。
单片机2051的P3.3、P3.4、P3.5接3-8译码器74L138,译码器的输出端直接接八个数码管的控制端和键盘,键盘扫描和显示器扫描同用端口这样能大大的减少单片机的I/O,减少硬件的花费。
键盘的接法的差别直接影响到硬件和软件的设计,考虑到单片机2051的端口资源有限,所以我们在设计中将传统的4*4的键盘接成8*2的形式(如图4-4-2),键盘的扫描除了和显示共用的8个端外,另外的两个端直接和2051的P3.2和P3.7相连。
图5键盘接线
如图5的接法已经完全用完了单片机的15个I/O口,有效的利用了单片机的资源。
软件设计
键盘显示程序流程:
图5-1-1中的设定水温、显示温度、确定、取消、清零、输出,均为各种子程序,1、2、3、4、5、6代表个子程序的应用程序。
6.2主程序流程图:
主程序流程图如图5所示,程序主要完成以下的几部分任务:
(1)初始化设定各参数的初始值,设定各中断及定时器。
输出
图4-2-1
取消输出
清零
确定单步
显示温度
(2)接收/发射此部分程序主要完成数据的控制及显示,其主要通过89C52单片机的键盘部分的双向通信。
(4)数值转换子程序由于主程序中用到了很多的数值转换及数值的运算(如十进制转换成十六进制、双字节与单字节的除法运算等等),为了程序调用的方便,特地将其编写成子程序的形式。
(5)PID算法PID算法为此温控系统的性能好坏的决定性因数。
序流程图如图5-2-1所示。
PID为控制中最为成熟的一中算法,其一般算式及模拟控制规律表达式如下式(4-1):
………………………………...
(1)
式
(1)中U(t)为控制器的输出;e(t)为偏差,即设定值与反馈值之差;Kc为控制器的放大系数,即比例增益;Ti为控制器的积分常数;Td为控制器的微分时间常数。
PID算法的原理即调节Kc、Ti、Td三个参数使系统达到稳定。
由于PID的一般算式不易与单片机的处理,因此我们在设计中采用了增量型PID算法。
将式
(1)转换成式
(2)的形式:
…………………………………………………………
(2)
有式(3)可得:
……….……………….….……….(5-3)
有式(3)中的u(k)即输出PWM波的倒通时间。
图5PID算法
测试方法与测试结果
系统测试仪器:
双路跟踪稳压稳流电源
数字示波器
多功能数字表
数字万用表
温度计、调温电热杯、秒表
7.2测试方法:
(1)在调温电热杯中放入1升清水,电热杯和控制系统相连,给系统上电,系统进入准备工作状态。
(2)用温度计测量及调节水杯中清水,水稳为35℃,给系统调零。
分别设定温度为40℃、45℃、50℃、60℃、70℃、75℃、80℃、90℃,观察设定温度和实际温度,并记录数据。
填写表6-1。
(3)观察水温变化的动态情况,并记温度稳定的时间。
填写表6-2。
测试结果
(1)给定温度与实测温度的数据对比如表6-1
表6-1误差分析表
设定温度(℃)
实测温度(℃)
绝对误差(℃)
相对误
差(%)
设定温度(℃)
实测温度(℃)
绝对误差(℃)
相对误
差(%)
1
35.3℃
35.3℃
0℃
0%
4
60℃
60.5℃
0.5℃
0.83%
2
40.2℃
40.1℃
-0.1℃
0.24%
5
74℃
73.4℃
-0.4℃
0.60%
3
45℃
45.3℃
0.3℃
0.66%
6
81℃
81.2℃
0.2℃
0.25%
从表6-1中的数据可知,系统的误差基本稳定在正负0.3℃能很好的满足系统的设计要求。
(2)温度稳定和时间的关系
设定温度为50℃,每隔30s记录实测温度如表6-2
表6-2温度稳定速度关系表(设定温度50℃)
测量时间(分)
0.5分
1分
1.5分
2.0分
2.5分
3.5分
4.0分
实测温度℃
35.5℃
37.℃
40.3℃
43.5℃
48.1℃
50.3℃
51.1℃
测量时间(分)
4.5分
5.0分
5.5分
6.0分
6.5分
实测温度℃
50.6℃
49.8℃
50.5℃
50.2℃
50.1℃
从表6-2中的数据可知,系统运行5分钟时系统基本达到稳定。
由微机逐点采样所的曲线图如图6-3所示
图6-3温度变化图
8.设计总结
通过一个学期的努力,我成功的完成了此次设计,在设计的过程中我们学会了很多知识的同时也锻炼了自己的各方面能力。
在设计的初期我也遇到了很多的困难,但通过自己的努力和老师的指导克服了种种困难。
并在实现基本要求的同时扩展了很多功能,比如和微机的通信等等。
虽然此次设计比较成功,比如说温度精度方面还好,但是电路还存在着很多不足之处,希望在今后我还能将其完善。