1、 水温控制系统 《单片机原理及应用》课程设计 水温控制系统 目 录 第1节 引言…………………………………………………………………………3 第2节 方案论证与比较……………………………………………………………3 2.1 总体方案设计及论证……………………………………………………3 2.2 各部分电路方案论证……………………………………………………4 第3节 总体设计框图……………………
2、…………………………………………5 第4节 硬件电路设计与计算………………………………………………………5 4.1 温度采样和转换电路 …………………………………………………5 4.2 温度控制电路……………………………………………………………7 4.3 单片机控制部分…………………………………………………………7 4.4 键盘及数字显示部分……………………………………………………8 第5节 软件设计及程序流程图……………………………………………………9 5.1 主程序流程图……………………………………………………………9 5.2
3、 串行通信流程图………………………………………………………10 5.3 键盘显示部分的程序流程图…………………………………………10 5.4 PID 算法………………………………………………………………10 第6节 测试方法和测试结果……………………………………………………11 6.1 系统测试仪器及设备…………………………………………………11 6.2 测试方法………………………………………………………………12 6.3 测量结果………………………………………………………………12 第7节 设计总结…………………………………………………………
4、………13 第8节 参考文献…………………………………………………………………13 附录…………………………………………………………………………………14 1 主系统电路原理图…………………………………………………14 2 键盘与显示电路原理图……………………………………………14 3、PCB图………………………………………………………………………15 水温控制系统 第1节 引言 引言:该系统以AT89C51单片机为核心实现温度控制。温度信号由AD590和温度/电压转换电路获得,温度实时控制采用PID算法,控制输出采
5、用PWM波触发可控硅来控制加热通断。使系统具有较高的测量精度和控制精度。 Abstract:This system uses microcontroller AT89C51 to control the temperature. The signal of temperature is supplied by AD590 and converter,PID algorithm is adopted to control the temperature, the output circuit uses the pluse controlled trigge silicon to ad
6、just the efficient power of the heating line.The system has better accuracy of meature and control. 第2节 方案论证与比较 本题目是设计制作一个水温控制系统,对象为一升净水,加热器为1KW的电炉。要求能在35℃--95℃范围内设定控制水温,并具有较好的快速性和较小的超调,以及键盘控制和数码管显示等功能。 2.1总体方案设计及论证 根据题目的要求,我们提出了以下的两种方案 方案一:采用传统的二位模拟控制方法,选用模拟电路,用电位器设定给定值,采用上下限比较电路将反馈的温度值与给定的温度
7、值比较后,决定加热或者不加热。由于采用模拟控制方式,系统受环境的影响大,不能实现复杂的控制算法,控制精度做得不高,而且不能用数码显示和键盘设定。方案框图如图1所示: 方案二:采用单片机AT89C51为核心,采用温度传感器AD590采集温度变化信号,A/D采样芯片ADC0804将其转换成数字信号并通过单片机处理后去控制温度,使其达到稳定。单片机具有编程灵活,控制简单的优点,使系统能简单的实现温度的控制及显示,并且通过软件编程能实现各种控制算法使系统还具有控制精度高的特点。 比较两种方案,方案二明显的改善了方案一的不足及缺点,并具有控制简单、控制温度精度高的
8、特点。因此本设计电路采用方案二。 2.2 各部分电路方案论证 本电路以单片机为基础核心,系统由前向通道模块、后向控制模块、系统主模块及键盘显示模块等四大模块组成。现将各部分主要元件及电路做以下的论证: (1)温度采样部分 方案一:采用热敏电阻,可满足35℃--95℃的测量范围,但热敏电阻精度低、重复性和可靠性都比较差,对于检测精度小于1℃的温度信号是不适用的。 方案二:采用温度传感器AD590。AD590具有体积小、质量轻、线形度好、性能稳定等优点。其测量范围在-50℃--+150℃,满刻度范围误差为±0.3℃,当电源电压在5—10V之间,稳定度为1﹪时,误差只有±0.01℃,其各
9、方面特性都满足此系统的设计要求。此外AD590是温度-电流传感器,对于提高系统抗干扰能力有很大的帮助。 经上述比较,方案二明显优于方案一,故选用方案二 (2)、键盘显示部分 控制与显示电路是反映电路性能、外观的最直观部分,所以此部分电路设计的好坏直接影响到电路的好坏。 方案一:采用可编程控制器7279与数码管组成,可编程/显示器件7279实现对按键的扫描、消除抖动、提供LED的显示信号,并对LED显示控制。用7279和键盘组成的人机控制平台,能够方便的进行控制单片机的输出。 方案二:采用单片机AT89C2051与地址译码器74LS138组成控制和扫描系统,并用AT89C2051的串口
10、与主电路的单片机进行通信,这种方案既能很好的控制键盘及显示,又为主单片机大大的减少了程序的复杂性,而且具有体积小,价格便宜的特点。 方案一虽然也能很好的实现电路的要求,但考虑到电路设计的成本和电路整体的性能,我们采用方案二。 (3)、控制电路部分 方案一:采用8031芯片,其内部没有程序存储器,需要进行外部扩展,这给电路增加了复杂度。 方案二:本方案的CPU模块采用2051芯片,其内部有2KB单元的程序存储器,不需外部扩展程序存储器。但由于系统用到较多的I/O口,因此此芯片资源不够用。 方案三:采用AT89C51单片机,其内部有8KB单元的程序存储器,不需外部扩展程序存储器,
11、而且它的I/O口也足够本次设计的要求。 比较以上三种方案,综合考虑单片机的各部分资源,因此此次设计选用方案三。 第3节 总体设计框图 该水温控制系统主要由AT89C51单片机控制系统、前向通道(温度采样转换电路)、后向通道(温度控制电路)、键盘显示电路等四部分组成,其总体设计框图如图2所示。 第4节 硬件电路设计与计算 本电路总体设计包括四部分:主机控制部分(AT89C51)、前向通道(温度采样和转换电路)、后向通道(温度控制电路)、键盘显示部分。 一 温度采样和转换电路 系统的信号采样和转换电路主要由温度传感器AD
12、590、基准电压7815、运算放大器OP-07及A/D转换电路ADC0804四部分组成。电路图如图3所示 图3 温度采样和转换电路原理图 (1) AD590性能描述 测量范围在-50℃--+150℃,满刻度范围误差为±0.3℃,当电源电压在5—10V之间,稳定度为1﹪时,误差只有±0.01℃ 。AD590为电流型传感器温度每变化1℃其电流变化1uA在35℃和95℃时输出电流分别为308.2uA 和368.2uA。 (2)基准电压7812提供12V 标准电压,它与运算放大器OP-07和电阻组成信号转换与放大电路,将35℃--95℃的温度转换为0—5V的电
13、压信号。 (3)ADC0804性能描述。ADC0804为8位逐次逼近型A/D转换器,其输入电压范围在0—5v,转换速度为100us,转换精度为0.39﹪,对应误差为0.234℃。满足系统的要求。 (4)电路原理及参数计算 温度采样电路的基本原理是采用电流型温度传感器AD590将温度的变化量转换成电流量,再通过OP-07将电流量转换成电压量,通过A/D转换器ADC0804将其转换成数值量交由单片机处理。图3中三端稳压7812作为基准电压,由运放虚短虚断可知运放OP-07的反向输入端Ui(2脚)的电压为零伏。当输出电压为零伏时(即Uo=0v) ,令7812的输出电压为Ub=12V
14、OP-07的2脚处为A点,AD590的转换电流为IC。 列出A点的结点方程如下: Ub/(R1+R2)=Ic 由于系统控制的水温范围为35℃--95℃,所以当输出电压为零伏时AD590的输出电流为308.2uA,因此为了使Ui的电位为零就必须使电流Ib等于电流Ic等于308.2uA, 三端稳压7812的输出电压为12v所以由方程(1)得 R1+R2=Ub/Ic=12v/308.2uA =38.94k 由方程(2)的取电阻R1=30k , R2=20k的电位器。 又由于ADC0804的输入电压范围为0—5v ,为了提高精度所以令水温为95℃时ADC0804的输入
15、电压为5v(即Uo=5v)。此时列出A点的结点方程如下: Uo/(R3+R4)+Ub/(R1+R2)=Ic 5V/(R3+R4)+308.2 uA =368.2uA R3+R4=83.33K 当水温为95℃时AD590的输出电流为368.2uA。由方程式(3)得 R3+R4=83.33k,因此取R3=81k , R4=5k的电位器。 1、 温度控制电路 此部分电路主要由光电耦合器MOC3041和双向可控硅BTA12组成。采用脉宽调制输出控制电炉与电源的接通和断开比例,以通断控制调压法控制电炉的输入功率。MOC3041光电耦合器的耐压值为400v,它的输出级由过零触发的双向可
16、控硅构成,它控制着主电路双向可控硅的导通和关闭。100Ω电阻与0.01uF电容组成双向可控硅保护电路。控制部分电路图如图4所示。 图4 温度控制电路原理图 2、 单片机控制部分 此部分是电路的核心部分,系统的控制采用了单片机AT89C51。单片机AT89C51内部有8KB单元的程序存储器及256字节的数据存储器。因此系统不必扩展外部程序存储器和数据存储器这样大大的减少了系统硬件部分。电路原理图如图5所示: 图5 单片机控制电路部分原理图 3、 键盘及数字显示部分 在设计键盘/显示电路时,我们使用单片机2051作为电路控制的核心,单片机2051具有一个全双工的
17、串行口采用串口,利用此串行口能够方便的实现系统的控制和显示功能。键盘/显示接口电路如图6所示。 图6 键盘/显示部分电路 图6中单片机2051的P1口接数码管的8只引脚,这样易于对数码管的译码,使数码管能显示设计者所需的各数值、符号等等。 单片机2051的P3.2、P3.3、P3.4接3-8译码器74L138,译码器的输出端直接接八个数码管的控制端和键盘,键盘扫描和显示器扫描同用端口这样能大大的减少单片机的I/O,减少硬件的花费。 键盘的接法的差别直接影响到硬件和软件的设计,考虑到单片机2051的端口资源有限,所以我们在设计中将传统的4*4
18、的键盘接成8*2的形式(如图7),键盘的扫描除了和显示共用的8个端外,另外的两个端直接和2051的P3.5和P3.7相连。 图7 键盘接线 如图7的接法已经完全用完了单片机的15个I/O口,有效的利用了单片机的资源。 第5节 软件设计及程序流程图 3.1主程序流程图(如图8所示) 图8 主程序程序 3.2 串行通信流程图(图9) 图9 串行中断程序图 3.
19、3 键盘显示部分的程序流程图(图10) 图10 键盘显示部分程序流程图 3.4 PID算法 PID算法为此温控系统的性能好坏的决定性因数,其程序流程图如图13所示。PID为控制中最为成熟的一中算法,其一般算式及模拟控制规律表达式如下式: 上式中U(t)为控制器的输出;e(t)为偏差,即设定值与反馈值之差;Kc为控制器的放大系数,即比例增益;Ti为控制器的积分常数;Td为控制器的微分时间常数。PID算法的原理即调节Kc、Ti、Td三个参数使系统达到稳定。 由于PID的一般算式不易与单片机的处理,因此我们在设计中采用了增量型P
20、ID算法。将式(4-1)转换成式(4-2)的形式: 由上式可得: 由上式中的u(k)即输出PWM波的倒通时间。 图13 PID算法 第6节 测试方法和测试结果 6.1系统测试仪器及设备: 双路跟踪稳压稳流电源DH1718E-5 伟福E6000/L 仿真器 数字万用表 P4 CPU2.4 内存261.616RAM Haier机。 0~100℃温度计、调温电热杯、秒表 6.2测试方法 (1)在水杯中存放1L净水,放置在1KW的电炉上,打开控制电源,系统进入准备工作状态。 (2)用温度计标定测温系统。分别是水温稳定在3
21、5℃、45℃、55℃、65℃、75℃、85℃,观察系统测量温度值和实际温度值,校准系统使测量误差在1℃以内。记录测量数据填入表1。 (3)动态测量:设定温度为55℃,系统由低温开始进入升温状态。每隔半分钟记录温度值一次,将所观察到的数据填入表2 6.3测量结果 (1)测量温度与给定温度的相应值如表1所示 表 1 给定温度(℃) 实测温度(℃) 相对误差 给定温度(℃) 实测温度(℃) 相对误差 1 35 34.8 -0.57% 4 65 64.6 -0.62% 2 45 45.3 0.66%
22、 5 75 74.7 -0.4% 3 55 55.1 0.18% 6 85 85.4 0.47% 由上表可以看出,实测温度和给定温度之间的绝对温度在±1℃之间,测量结果满足系统误差的要求。 (2)温度变化和时间的关系 设定温度为55℃,每隔0.5min记录实测温度一次,所测数据如表2所示。 表2 温度与时间之间的变化关系 设定温度:55℃ 测量时间(min) 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 实测温度(℃
23、 35 38.1 42.5 46.4 50.1 55.7 58.6 60.3 测量时间(min) 4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0 实测温度(℃) 59.4 57.6 56.4 55.8 54.7 55.3 54.8 55.2 由上表可以看出,水温达到稳定值需要近6.5min的时间,这主要是由于热水散热较慢,所需时间较长。若用电风扇吹着使其散热速度加快,则温度达到稳定所需的时间会大大缩短。 第7节 设计总结 本系统是以AT89C51为核心,采用软件编程,实现用PID算法来控制PWM波的产生,进而控
24、制电炉的加热来实现温度控制。在系统的软硬件调试过程中,不断地有问题出现,如OP-07、ADC0804会发烫,串行通信…,但通过电路检查、原理分析、程序修改等工作,这些问题都一一得到了解决,所以在这次调试过程中,我们学到了很多知识,同时也大大地提高了我们的实际动手能力,这对我们以后的系统设计会有很大的帮助。 第8节 参考文献 《8051单片机实践与应用》 吴金 清华大学出版社 2002.9 《全国大学生电子设计竞赛获奖作品精选》 北京理工大学出版社 2003.3 《全国大学生电子设计竞赛获奖作品汇编》 北京理工大学出版社 2004.8 《单片微型机原理、应用与实验》 张友德 复旦大学出版社 2003.6 《电路原理图与电路板设计教程Protel 99SE》 石宗义 北京希望电子出版社 2002.6 《电子系统设计》 何小艇 浙江大学出版社2004.6 附录: 1、主系统电路原理图 2、键盘与显示电路原理图 3、PCB图 14






