基于单片机的水温控制系统.docx
《基于单片机的水温控制系统.docx》由会员分享,可在线阅读,更多相关《基于单片机的水温控制系统.docx(13页珍藏版)》请在冰点文库上搜索。
基于单片机的水温控制系统
计控学院
Collegeofcomputerandcontrolengineering
Qiqiharuniversity
电气工程课程设计报告
题目:
水温控制系统
系别电气工程系
专业班级
学生姓名
学号
指导教师
提交日期
成绩
摘要
本水温控制系统以AT89S52单片机为中心控制器件,主要由温度传感模块,A/D转换放大模块,单片机编程模块,显示模块,控制模块等部分组成。
温度信号由温度传感器AD590采集,经过放大转化为电压信号进行编码,测温分辨率0.1℃。
水温实时控制由继电器电热丝和风扇进行升温和降温。
显示部分由“人机交互界面”的12864液晶显示,增加可读性。
该系统具备较高的测量精度,能较好的完成设计要求。
关键词:
AT89S52;A/D转换;12864液晶
目录
1引言1
1.1设计任务1
1.2系统设计方案1
2各模块电路的方案1
2.1主机控制模块1
2.2温度控制模块2
2.3温度采集模块2
2.4显示模块3
3功能模块设计和参数计算3
3.1温度采集部分3
3.2单片机控制部分5
3.3温度控制电路5
3.4键盘及数字显示部分6
4软件设计6
4.1主程序6
4.2液晶显示模块7
4.3温度读取及加热散热控制8
总结9
参考文献10
引言
在能源日益紧张的今天,电热水器、饮水机、电饭煲之类的家用电器在保温时,由于简单的温度控制系统,因而会造成很大的能源浪费。
当前,能源问题是最热门的话题,也是我们急需解决的,因而我们从节省能源,保护环境出发,设计出本系统。
1.1设计任务
设计制作一个水温自动控制系统,控制对象为10L水,容器为搪瓷器皿。
水温可以在一定范围内由人工设定,并能在环境温度降低时实现自动控制,以保持设定温度保持不变。
1.2系统设计方案
该系统以AT89S52单片机为中心控制器件,主要由温度传感模块,A/D转换放大模块,单片机编程模块,显示模块,控制模块等部分组成,如图1-1系统基本模块方框图。
图1-1系统基本模块方框图
2各模块电路的方案
2.1主机控制模块
方案一:
采用FPGA作为系统控制器。
FPGA功能强大,可实现各种复杂的逻辑功能,规模大,密度高,它将所有器件集成在一块芯片上,可以减少体积,提高稳定性,并且可用EDA软件仿真、调试,易于进行功能扩展,但成本较高。
由于本设计对数据的处理速度本不高,FPGA的高速处理优势得不到充分体现,且引脚较多,
方案二:
采用模拟放大器组成的PID控制系统。
对于水温控制系统是足够的。
但要附加显示,温度设置等功能,附加电路较多,且反应速度慢。
方案三:
采用AT89S52单片机作为控制器。
单片机算术运算功能强,软件编程灵活、自由度大,可用软件编程实现各种算法和逻辑功能。
本身带有定时/计数器,可以用来定时、计数,并且具有功耗低、体积小、技术成熟和成本低等优点。
基于以上分析,拟定方案三,由AT89S52作为主机控制部分。
2.2温度控制模块
方案一:
采用可控硅来控制加热器有效功率。
可控硅是一种半控器件,应用于交流电的功率控制有两种形式:
控制导通的交流周期数达到控制功率的目的;控制导通角的控制交流功率。
由交流过零检测电路输出方波经适当延时控制双向可控硅的导通角,延时时间即移相偏移量由温度误差计算得到。
可以实现对交流电单个周期有效值周期性控制,保证系统的动态性能指标。
该方案电路稍复杂,需使用光耦合驱动芯片以及变压器等器件。
但该方案可以实现功率的连续调节,因此反应速度快,控制精度高。
方案二:
采用继电器控制。
使用继电器可以很容易地实现通过较高的电压和电流,在正常条件下,工作十分可靠。
继电器无需外加光耦,自身即可实现电气隔离。
这种电路无法精确实现电热丝功率控制,电热丝只能工作在最大功率或零功率,对控制精度将造成影响。
但可以由多路加热丝组成功率控制,由单片机对温差的处理实现分级功率控制提高系统动态性能。
基于以上分析以及现有器件限制选择方案二,采用继电器控制省去光耦和交流过零检测电路,在软件上选用适当的控制算法,同样可以达到较好的效果。
2.3温度采集模块
方案一:
选用Harris公司生产的采用激光修正的精密集成温度传感器AD590。
AD590的岑温范围是-55~+150℃,最大非线性误差为±0.3℃,响应时间仅为20us,重复性误差低至±0.05℃,功耗低,仅为2mW。
此外AD590是温度-电流传感器,对于提高系统抗干扰能力有很大的帮助。
方案二:
采用热敏电阻。
选用此类元件的优点价格便宜,但由于热敏电阻的非线性特性会带来较大的误差。
方案三:
使用带有A/D(模数转换)单片集成的DS18B20传感器。
DS18B20数字温度计是DALLAS公司生产的即单总线器件,无需其他外加电路,直接输出数字量。
可直接与单片机通信,读取测温数据。
具有线路简单,性能稳定体积小的特点。
但DS18B20的程序较复杂,且时序时间较苛刻,不便于书写程序。
比较以上方案,结合设计精度要求最小区分度为1℃,所以选择方案一。
2.4显示模块
方案一:
采用三个LED八段数码管分别显示温度的十位、个位和小数位。
数码管具有低能耗,低损耗,寿命长,耐老化,对外界环境要求低。
但LED八度数码管引脚排列不规则,动态显示时要加驱动电路,硬件电路复杂。
方案二:
采用带有字库的12864液晶显示屏。
12864液晶显示屏(LCD)具有功耗低、轻薄短小无辐射危险,平面显示及影像稳定,不闪烁,可视面积大,画面效果好,抗干扰能力强。
同时,12864带有字库,编程容易,且具有多种功能:
光标显示、画面移位、睡眠模式,增加可读性,降低功耗。
比较以上方案,结合实际要求,所以选择方案二。
3功能模块设计和参数计算
3.1温度采集部分
系统的信号采样和转换电路主要由温度传感器AD590、运算放大器OP-07及A/D转换电路ADC0804等组成。
设计电路图如图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℃,满足系统的要求。
图3-1温度采样和转换电路
(4)电路原理及参数计算
温度采样电路的基本原理是采用电流型温度传感器AD590将温度的变化量转换成电流量,再通过OP-07将电流量转换成电压量,通过A/D转换器ADC0804将其转换成数值量交由单片机处理。
图3.1中输入12V作为基准电压,由运放虚短虚断可知运放OP-07的反向输入端Ui(2脚)的电压为零伏。
当输出电压为零伏时(即Uo=0v) ,输出电压为Ub=12V,OP-07的2脚处为A点,AD590的转换电流为Ic。
列出A点的结点方程如下:
(1)
由于系统控制的水温范围为35℃--95℃,所以当输出电压为零伏时AD590的输出电流为246.56uA,因此为了使Ui的电位为零就必须使电流 等于电流等于246.56uA, 输出电压为12v所以由方程
(1)得
= 12V/246.56uA=48.67k
(2)
由
(2)取电阻R1=47k , R2=5k的电位器。
又由于ADC0804的输入电压范围为0—5v ,为了提高精度所以令水温为95℃时ADC0804的输入电压为5v(即Uo=5v)。
此时列出A点的结点方程如下:
(3)
当水温为95℃时AD590的输出电流为368.2uA。
由方程式(3)得R3+R4=83.33k因此取R3=75k,R4=10k的电位器。
3.2单片机控制部分
此部分是电路的核心部分,系统的控制采用了单片机AT89S52。
单片机AT89S52内部有8KB单元的程序存储器及256字节的数据存储器。
因此系统不必扩展外部程序存储器和数据存储器这样大大的减少了系统硬件部分。
电路原理图如图3-2单片机控制电路:
图3-2单片机控制电路
3.3温度控制电路
此部分电路主要由继电器控制。
采用两个继电器分别控制加热和降温系统:
对于加热系统,继电器的两输出端220V的交流电,通过控制继电器的闭合来控制电热丝是否加热;对于降温系统,通过控制继电器的闭合控制+12V直流电机的转与停。
继电器的交流耐压值为250V,直流耐压值为36V,均满足要求。
在继电器的输入端各接一个反向二极管,起到保护电路的作用。
控制部分电路图如图3-3温度控制电路:
图3-3温度控制电路
3.4键盘及数字显示部分
在设计键盘/显示电路时,我们使用单片机AT89S52作为电路控制的核心,单片机AT89S52具有一个全双工的串行口,利用此串行口能够方便的实现系统的控制和显示功能。
键盘部分,为了便于编程,采用独立键盘;显示部分采用更加友好的人机交互界面12864液晶显示。
键盘/显示接口电路如图3-4键盘及数字显示部分。
图3-4键盘及数字显示部分
4软件设计
程序设计采用了模块化思想,有一个主程序,三个应用程序,即温度采集程序、温度控制程序、液晶显示程序。
4.1主程序
主程序首先进行系统初始化,对显示模块进行必要的初始化,设置系统显示界面。
其次就是温度值的读取、显示与控制,并进行按键扫描设置温度预设值,如图4-1主程序流程图:
图4-1主程序流程图
4.2液晶显示模块
液晶显示模块主要完成人机交换界面的显示及系统相关的操作指示。
具体能显示当前的温度值、预设值、控制功能(预设值加1、减1图标)。
流程如图4-2液晶显示流程图:
图4-2液晶显示流程图
4.3温度读取及加热散热控制
单片机读取ADC0804转换来的温度信息二进制代码值,并依据电路原理及相关计算公式,将包含温度信息的二进制代码转化成相应的十进制温度值,并和温度预设值比较做出判断来控制继电器是否加热或启动风扇散热。
总结
本论文是采用AT89S52单片机来实现水温控制系统的设计,利用液晶作为显示器件,通过AD590温度传感器采集水温信息,并对数据进行AD转换处理分析,实现对水温的恒温控制。
具有可控性较好,显示界面更人性化,易于操作,成本低廉的优点。
本系统能较好的服务于生活,比如恒温水产,具有较好的应用前景。
同时,由于时间有限,系统功能还有待于完善,特别是水温由40℃突变到60℃时,通过适当控制反应时间还可以缩短。
在本次系统设计中遇到了很多困难,最后在老师的帮助、队友的配合下,最终得以解决,通过思考,更加深了对单片机的认识和了解。
参考文献
[1]张毅刚.单片机原理及应用[M].高等教育出版社,2003.
[2]高吉祥.全国大学生电子设计竞赛培训系列教程模拟电子线路设计[M].北京:
电子工业出版社,2007.5
[3]黄智伟.全国大学生电子设计竞赛训练教程[M].北京:
电子工业出版社,2005
[4]陈杰,黄鸿.传感器与检测技术[M].北京:
高等教育出版社,2008
[5]翟玉文等.电子设计与实践[M].北京:
北京中国电力出版社,2005
[6]肖忠祥.数据采集原理[M].西安:
西北工业出版社,2002
[7]余锡存,曹国华.单片机原理及接口技术西安:
西安电子科技大学出版社,2004
[8]谭浩强.C程序设计(第三版)[M].北京:
清华大学出版社,2005