基于单片机的水温控制系统设计.docx
- 文档编号:7925889
- 上传时间:2023-01-27
- 格式:DOCX
- 页数:27
- 大小:1.35MB
基于单片机的水温控制系统设计.docx
《基于单片机的水温控制系统设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的水温控制系统设计.docx(27页珍藏版)》请在冰豆网上搜索。
基于单片机的水温控制系统设计
第1节引言……………………………………………………………3
1.1水温控制系统概述……………………………………………3
1.2本设计任务和主要内容………………………………………4
第2节系统设计原理与方案论证……………………………………5
2.1总体框图………………………………………………………5
2.2总体方案论证…………………………………………………5
2.3各部分电路方案论证…………………………………………6
第3节硬件电路设计与计算……………………………………………8
3.1温度采样和转换电路…………………………………………8
3.2温度控制电路…………………………………………………9
3.3单片机控制部分………………………………………………10
3.4键盘及数字显示部分…………………………………………10
第4节实验测试………………………………………………………12
4.1循环显示“HELLO888”………………………………………12
4.2键盘及数字显示结合…………………………………………13
4.3温度设定和传送电路…………………………………………15
4.4PWM电压输出电路……………………………………………20
第5节课程设计总结……………………………………………………23
5.1此次水温控制系统设计过程中遇到的问题及其解决方法…23
5.2设计体会及对该设计的建议…………………………………23
参考文献……………………………………………………………………24
基于单片机的水温控制系统
数理与信息工程学院电信041班杨炼
指导教师:
余水宝
第1节引言
水温控制在工业及日常生活中应用广泛,分类较多,不同水温控制系统的控制方法也不尽相同,其中以PID控制法最为常见。
单片机控制部分采用AT89C51单片机为核心,采用软件编程,实现用PID算法来控制PWM波的产生,进而控制电炉的加热来实现温度控制。
然而,单纯的PID算法无法适应不同的温度环境,在某个特定场合运行性能非常良好的温度控制器,到了新环境往往无法很好胜任,甚至使系统变得不稳定,需要重新改变PID调节参数值以取得佳性能。
本文首先用PID算法来控制PWM波的产生,进而控制电炉的加热来实现温度控制。
然后在模型参考自适应算法MRAC基础上,用单片机实现了自适应控制,弥补了传统PID控制结构在特定场合下性能下降的不足,设计了一套实用的温度测控系统,使它在不同时间常数下均可以达到技术指标。
此外还有效减少了输出继电器的开关次数,适用于环境参数经常变化的小型水温控制系统。
1.1水温控制系统概述
温度控制是无论是在工业生产过程中,还是在日常生活中都起着非常重要的作用,过低的温度或过高的温度都会使水资源失去应有的作用,从而造成水资源的巨大浪费。
特别是在当前全球水资源极度缺乏的情况下,我们更应该掌握好对水温的控制,把身边的水资源好好地利用起来。
在现代冶金、石油、化工及电力生产过程中,温度是极为重要而又普遍的热工参数之一。
在环境恶劣或温度较高等场合下,为了保证生产过程正常安全地进行,提高产品的质量和数量,以及减轻工人的劳动强度、节约能源,要求对加热炉炉温进行测、显示、控制,使之达到工艺标准,以单片机为核心设计的炉温控制系统,可以同时采集多个数据,并将数据通过通讯口送至上位机进行显示和控制。
那么无论是哪种控制,我们都希望水温控制系统能够有很高的精确度(起码是在满足我们要求的范围内),帮助我们实现我们想要的控制,解决身边的问题。
在计算机没有发明之前,这些控制都是我们难以想象的。
而当今,随着电子行业的迅猛发展,计算机技术和传感器技术的不断改进,而且计算机和传感器的价格也日益降低,可靠性逐步提高,用信息技术来实现水温控制并提高控制的精确度不仅是可以达到的而且是容易实现的。
用高新技术来解决工业生产问题,排除生活用水问题实施对水温的控制已成为我们电子行业的任务,以此来加强工业化建设,提高人民的生活水平。
1.2本设计任务和主要内容
1.基本要求
一升水由1kW的电炉加热,要求水温可以在一定范围内由人工设定,并能在环境温度降低时实现自动调整,以保持设定的温度基本不变。
2.主要性能指标
①温度设定范围:
,最小区分度为
。
②控制精度:
温度控制的静态误差
。
③用十进制数码显示实际水温。
3.扩展功能
①具有通信能力,可接收其他数据设备发来的命令,或将结果传送到其他数据设备。
②采用适当的控制方法实现当设定温度或环境温度突变时,减小系统的调节时间和超调量。
③温度控制的静态误差
。
第2节系统设计原理
2.1水温控制系统总体框图
图2-1单片机控制系统原理框图
该水温控制系统主要由AT89C51单片机控制系统、前向通道(温度采样转换电路)、后向通道(温度控制电路)、键盘显示电路等四部分组成,其总体设计框图如上图所示。
2.2总体方案论证
(一)、方案论证与比较
本题目是设计制作一个水温控制系统,对象为一升净水,加热器为1KW的电炉。
要求能在35℃--95℃范围内设定控制水温,并具有较好的快速性和较小的超调,以及十进制数码管显示等功能。
1、总体方案设计及论证
根据题目的要求,我们提出了以下的两种方案:
方案1:
此方案是采用传统的二位模拟控制方法,选用模拟电路,用电位器设定给定值,采用上下限比较电路将反馈的温度值与给定的温度值比较后,决定加热或者不加热。
由于采用模拟控制方式,系统受环境的影响大,不能实现复杂的控制算法使控制精度做得教高,而且不能用数码显示和键盘设定。
方案2:
采用单片机AT89C51为核心。
采用了温度传感器AD590采集温度变化信号,A/D采样芯片ADC0804将其转换成数字信号并通过单片机处理后去控制温度,使其达到稳定。
使用单片机具有编程灵活,控制简单的优点,使系统能简单的实现温度的控制及显示,并且通过软件编程能实现各种控制算法使系统还具有控制精度高的特点。
比较上述两种方案,方案2明显的改善了方案1的不足及缺点,并具有控制简单、控制温度精度高的特点,因此本设计电路采用方案2。
2.3各部分电路方案论证
本电路以单片机为基础核心,系统由前向通道模块、后向控制模块、系统主模块及键盘显示摸块等四大模块组成。
现将各部分主要元件及电路做以下的论证:
(1)、温度采样部分
方案1:
采用热敏电阻,可满足35℃--95℃的测量范围,但热敏电阻精度、重复性和可靠性都比较差,对于检测精度小于1℃的温度信号是不适用的。
方案2:
采用温度传感器AD590。
:
AD590具有体积小、质量轻、线形度好、性能稳定等优点。
其测量范围在-50℃--+150℃,满刻度范围误差为±0.3℃,当电源电压在5—10V之间,稳定度为1﹪时,误差只有±0.01℃,其各方面特性都满足此系统的设计要求。
此外AD590是温度-电流传感器,对于提高系统抗干扰能力有很大的帮助。
经上述比较,方案2明显优于方案1,故选用方案2。
(2)、键盘显示部分
控制与显示电路是反映电路性能、外观的最直观部分,所以此部分电路设计的好坏直接影响到电路的好坏。
方案1:
采用可编程控制器8279与数码管及地址译码器74LS138组成,可编程/显示器件8279实现对按键的扫描、消除抖动、提供LED的显示信号,并对LED显示控制。
用8279和键盘组成的人机控制平台,能够方便的进行控制单片机的输出。
方案2:
采用单片机AT2051与地址译码器74LS138组成控制和扫描系统,并用2051的串口对主电路的单片机进行通信,这种方案既能很好的控制键盘及显示,又为主单片机大大的减少了程序的复杂性,而且具有体积小,价格便宜的特点。
对比两种方案可知,方案1虽然也能很好的实现电路的要求,但考虑到电路设计的成本和电路整体的性能,我们采用方案2。
(3)、控制电路部分
方案1:
采用8031芯片,其内部没有程序存储器,需要进行外部扩展,这
给电路增加了复杂度。
方案2:
本方案的CPU模块采用2051芯片,其内部有2KB单元的程序存储器,不需外部扩展程序存储器。
但由于系统用到较多的I/O口,因此此芯片资源不够用。
方案3:
采用AT89C51单片机,其内部有8KB单元的程序存储器,不需外部扩展程序存储器,而且它的I/O口也足够本次设计的要求。
比较这3种方案,综合考虑单片机的各部分资源,因此此次设计选用方案3。
设计电路图如图2-2 所示:
图2-2 AT89C51单片机原理图
第3节硬件电路设计与计算
本电路总体设计包括四部分:
主机控制部分(89C51)、前向通道(温度采样和转换电路)、后向通道(温度控制电路)、键盘显示部分。
3.1温度采样和转换电路
系统的信号采样和转换电路主要由温度传感器AD590、基准电压7812、运算放大器OP-07及A/D转换电路ADC0804四部分组成。
设计电路图如图3-1所示:
图3-1 温度采样和转换电路原理图
(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的电压信号。
(3)ADC0804性能描述
ADC0804为8位逐次逼近型A/D转换器,其输入电压范围在0—5v,转换速度为100us,转换精度为0.39﹪,对应误差为0.234℃。
满足系统的要求。
(4)电路原理及参数计算
温度采样电路的基本原理是采用电流型温度传感器AD590将温度的变化量转换成电流量,再通过OP-07将电流量转换成电压量,通过A/D转换器ADC0804将其转换成数值量交由单片机处理。
图3-1中三端稳压7812作为基准电压,由运放虚短虚断可知运放OP-07的反向输入端
(2脚)的电压为零伏。
当输出电压为零伏时(即Uo=0v) ,令7812的输出电压为
=12V,OP-07的2脚处为A点,AD590的转换电流为
。
列出A点的结点方程如下:
(1)
由于系统控制的水温范围为35℃--95℃,所以当输出电压为零伏时AD590的输出电流为308.2uA,因此为了使Ui的电位为零就必须使电流 等于电流等于308.2uA, 三端稳压7812的输出电压为12v所以由方程
(1)得
=
=38.94k
(2)
由
(2)取电阻R1=30k , R2=20k的电位器。
又由于ADC0804的输入电压范围为0—5v ,为了提高精度所以令水温为95℃时ADC0804的输入电压为5v(即Uo=5v)。
此时列出A点的结点方程如下:
(3)
当水温为95℃时AD590的输出电流为368.2uA。
由方程式(3)得
+
=83.33k因此取
=81k ,
=5k的电位器。
3.2、温度控制电路
此部分电路主要由光电耦合器MOC3041和双向可控硅BTA12组成。
采用脉宽调制输出控制电炉与电源的接通和断开比例,以通断控制调压法控制电炉的输入功率。
MOC3041光电耦合器的耐压值为400v,它的输出级由过零触发的双向可控硅构成,它控制着主电路双向可控硅的导通和关闭。
100Ω电阻与0.01uF电容组成双向可控硅保护电路。
控制部分电路图如图3-2所示:
图3-2 温度控制电路原理图
3.3、单片机控制部分
此部分是电路的核心部分,系统的控制采用了单片机AT89C51。
单片机AT89C51内部有8KB单元的程序存储器及256字节的数据存储器。
因此系统不必扩展外部程序存储器和数据存储器这样大大的减少了系统硬件部分。
电路原理图如图3-3所示:
图3-3 单片机控制电路部分原理图
3.4、键盘及数字显示部分
在设计键盘/显示电路时,我们使用单片机2051作为电路控制的核心,单片机2051具有一个全双工的串行口采用串口,利用此串行口能够方便的实现系统的控制和显示功能。
键盘/显示接口电路如图3-4所示
图3-4 键盘/显示部分电路
图3-4中单片机2051的P1口接数码管的8只引脚,这样易于对数码管的译码,使数码管能显示设计者所需的各数值、符号等等。
单片机2051的P3.3、P3.4、P3.5接3-8译码器74L138,译码器的输出端直接接八个数码管的控制端和键盘,键盘扫描和显示器扫描同用端口这样能大大的减少单片机的I/O,减少硬件的花费。
键盘的接法的差别直接影响到硬件和软件的设计,考虑到单片机2051的端口资源有限,所以我们在设计中将传统的4*4的键盘接成8*2的形式(如图3-4),键盘的扫描除了和显示共用的8个端外,另外的两个端直接和2051的P3.2和P3.7相连。
图3-5译码显示部分
如图3-5的接法已经完全用完了单片机的15个I/O口,有效的利用了单片机的资源。
第4节实验测试
4.1循环显示“HELLO888”
编一小程序,实现数码管八跑马——循环显示“HELLO888”。
源程序如下:
RG0000H
HL:
MOVP1,#89H
MOVP3,#00H
ACALLDELAY
MOVP1,#86H
MOVP3,#08H
ACALLDELAY
MOVP1,#0C7H
MOVP3,#10H
ACALLDELAY
MOVP1,#0C7H
MOVP3,#18H
ACALLDELAY
MOVP1,#0C0H
MOVP3,#20H
ACALLDELAY
MOVP1,#80H
MOVP3,#28H
ACALLDELAY
MOVP1,#80H
MOVP3,#30H
ACALLDELAY
MOVP1,#80H
MOVP3,#38H
ACALLDELAY
LJMPHL
DELAY:
MOVR0,#0DFH
D1:
MOVR1,#0FFH
DJNZR1,$
DJNZR0,D1
RET
4.2、键盘及数字显示结合
编一小程序,实现键盘及数字显示结合——按键盘1数码管显示1,按键盘2数码管显示3,按键盘3数码管显示3,按键盘4数码管显示4,按键盘5数码管显示5,按键盘6数码管显示6,按键盘7数码管显示7,按键盘8数码管显示8,按键盘9数码管显示9,按键盘10数码管显示A,按键盘11数码管显示b,按键盘12数码管显示C,按键盘13数码管显示d,按键盘14数码管显示E,按键盘15数码管显示F。
源程序如下所示:
ORG0000H
MOVP1,#8CH
LL:
ACALLHH
ACALLL0
ACALLL1
ACALLL2
ACALLL3
ACALLL4
ACALLL5
ACALLL6
ACALLL7
SJMPLL
L0:
CLRP3.5
CLRP3.4
CLRP3.3
JNBP3.2,H0
JNBP3.7,E0
RET
H0:
JBP3.2,Y0
SJMPH0
Y0:
MOVP1,#88H
ACALLHH
SJMPLL
E0:
JBP3.7,F0
SJMPE0
F0:
MOVP1,#0F9H
ACALLHH
SJMPLL
L1:
CLRP3.5
CLRP3.4
SETBP3.3
JNBP3.2,H1
JNBP3.7,E1
RET
H1:
JBP3.2,Y1
SJMPH1
Y1:
MOVP1,#83H
ACALLHH
LJMPLL
E1:
JBP3.7,F1
SJMPE1
F1:
MOVP1,#0A4H
ACALLHH
SJMPLL
L2:
CLRP3.5
SETBP3.4
CLRP3.3
JNBP3.2,H2
JNBP3.7,E2
RET
H2:
JBP3.2,Y2
SJMPH2
Y2:
MOVP1,#0C6H
ACALLHH
LJMPLL
E2:
JBP3.7,F2
SJMPE2
F2:
MOVP1,#0B0H
ACALLHH
LJMPLL
L3:
CLRP3.5
SETBP3.4
SETBP3.3
JNBP3.2,H3
JNBP3.7,E3
RET
H3:
JBP3.2,Y3
SJMPH3
Y3:
MOVP1,#0A1H
ACALLHH
LJMPLL
E3:
JBP3.7,F3
SJMPE3
F3:
MOVP1,#99H
ACALLHH
LJMPLL
L4:
SETBP3.5
CLRP3.4
CLRP3.3
JNBP3.2,H4
JNBP3.7,E4
RET
H4:
JBP3.2,Y4
SJMPH4
Y4:
MOVP1,#86H
ACALLHH
LJMPLL
E4:
JBP3.7,F4
SJMPE4
F4:
MOVP1,#92H
ACALLHH
LJMPLL
L5:
SETBP3.5
CLRP3.4
SETBP3.3
JNBP3.2,H5
JNBP3.7,E5
RET
H5:
JBP3.2,Y5
SJMPH5
Y5:
MOVP1,#8EH
ACALLHH
LJMPLL
E5:
JBP3.7,F5
SJMPE5
F5:
MOVP1,#82H
ACALLHH
LJMPLL
L6:
SETBP3.5
SETBP3.4
CLRP3.3
JNBP3.2,H6
JNBP3.7,E6
RET
H6:
JBP3.2,Y6
SJMPH6
Y6:
MOVP1,#89H
ACALLHH
LJMPLL
E6:
JBP3.7,F6
SJMPE6
F6:
MOVP1,#0F8H
ACALLHH
LJMPLL
L7:
SETBP3.5
SETBP3.4
SETBP3.3
JNBP3.2,H7
JNBP3.7,E7
RET
H7:
JBP3.2,Y7
SJMPH7
Y7:
MOVP1,#0C7H
ACALLHH
LJMPLL
E7:
JBP3.7,F7
SJMPE7
F7:
MOVP1,#80H
ACALLHH
LJMPLL
HH:
MOVP3,#0FFH
ACALLDELAY
MOVP3,#0F7H
ACALLDELAY
MOVP3,#0EFH
ACALLDELAY
MOVP3,#0E7H
ACALLDELAY
MOVP3,#0DFH
ACALLDELAY
MOVP3,#0D7H
ACALLDELAY
MOVP3,#0CFH
ACALLDELAY
MOVP3,#0C7H
ACALLDELAY
RET
DELAY:
MOVR0,#01H
DAl:
MOVR1,#9FH
DA2:
NOP
NOP
NOP
NOP
DJNZR1,DA1
DJNZR0,DA2
RET
END
4.3、温度设定和传送电路
编一小程序,实现温度设定和传送电路——以下是双机串口通讯主程序流程图:
图4-1双机串口通讯流程图
;程序1------方式2两位设定就不可的
FLAGABIT2AH.0
FLAGBBIT2AH.1
FLAG0BITP3.3
FLAG1BITP3.4
FLAG2BITP3.5
GUAN1EQU30H
GUAN2EQU31H
GUAN3EQU32H
GUAN4EQU33H
GUAN5EQU34H
GUAN6EQU35H
GUAN7EQU36H
GUAN8EQU37H
ORG00H
LJMPstar
ORG23H
LJMPCKT
;-----------------------初始设定
STAR:
MOVSP,#60H
MOVIE,#10010000B
MOVSCON,#10010000B
ANLPCON,#0111111B
MOVTMOD,#20H
MOVTH1,#0F2H
MOVTL1,#0F2H
SETBTR1
MOVGUAN2,#00H
MOVGUAN3,#00H
MOVGUAN6,#00H
MOVGUAN7,#00H
CLRFLAGB
CLRFLAGA
MOVDPTR,#TABLE
;-----------------主要执行总程序
ZONGSAO:
LCALLSHOW
ACALLAA
SJMPZONGSAO
;-------扫描按键是否按下子程序
AA:
S1:
;------------------0,5键
JNBFLAGB,S2
CLRFLAG2
CLRFLAG1
CLRFLAG0
JBP3.2,NEXT1
ACALLDELAY
JBP3.2,NEXT1
JNBP3.2,$
JBFLAGA,WW1
MOVGUAN7,#00H
SETBFLAGA
LJMPNEXT1
WW1:
MOVGUAN6,#00H
CLRFLAGB
NEXT1:
JBP3.7,ONE1
ACALLDELAY
JBP3.7,ONE1
JNBP3.7,$
JBFLAGA,MM1
MOVGUAN7,#05H
SETBFLAGA
LJMPONE1
MM1:
MOVGUAN6,#05H
CLRFLAGB
ONE1:
LJMPS2
S2:
;----------------------1,6键
JNBFLAGB,S3
CLRFLAG2
CLRFLAG1
SETBFLAG0
JBP3.2,NEXT2
LCALLDELAY
JBP3.2,NEXT2
JNBP3.2,$
JBFLAGA,WW2
MOVGUAN7,#01H
SETBFLAGA
LJMPNEXT2
WW2:
MOVGUAN6,#01H
CLRFLAGB
NEXT2:
JBP3.7,ONE2
LCALLDELAY
JBP3.7,ONE2
JNBP3.7,$
JBFLAGA,MM2
MOVGUAN7,#06H
SETBFLAGA
LJMPONE2
MM2:
MOVGUAN6,#06H
CLRFLAGB
ONE2:
LJMPS3
S3:
;----------------------2,7键
JNBFLAGB,S4
CLRFLAG2
SETBFLAG1
CLRFLAG0
JBP3.2,NEXT3
LCALLDELAY
JBP3.2,NEXT3
JNBP3.2,$
JBFLAGA,WW3
MOVGUAN7,#02H
SETBFLAGA
LJMPNEXT3
WW3:
MOVGUA
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 水温 控制系统 设计
![提示](https://static.bdocx.com/images/bang_tan.gif)