基于单片机的水温控制系统
- 格式:doc
- 大小:364.50 KB
- 文档页数:34
保定科技职业学院毕业论文(设计)
1 一、系统方案
1.1 水温控制系统的设计任务和要求
该系统为一实验系统,系统设计任务:
设计一个水温自动控制系统,控制对象为1升净水,容器为搪瓷器皿。水温可以在一定范围内由人工设定,并能在环境温度降低时实现自动调整,以保持设定的温度基本不变。
利用单片机AT89c51实现水温的智能控制,使水温能够在一定温度之间实现控制温度调节。利用仪器读出水温,并在此基础上将水温调节到我们通过键盘输入的温度(其方式是加热或降温),而且能够将温度显示在我们的七段发光二极管板上。
系统设计具体要求:
(1)由键盘设定温度,设定范围为0~99℃,最小区分度为l℃,标定温差<1。
(2)温度低于设定温度值时加热,温度高于设定值时降温。
(3)实现容器中无水时报警,及溢流控制等。
(4)环境温度降低时(例如用电风扇降温)温度控制约静态误差<1。
1.2 系统总体方案的选择
(1)方案一 (如图1-1)此方案是传统的一位式模拟控制方案,选用模拟电路,用电位器设定给定值,反馈的温度值和设定值比较后,决定加热或不加热。其特点是电路简单,易于实现,但是系统所得的结果精度不高并且调节动作频繁,系统静差大,不稳定。系统受环境的影响大,不能实现复杂的控制算法,不能用数码管显示,不能用键盘设定。
图1-1 模拟电路一 信号放大
温度预置 比较器 信号放 大
负载 数据采集 固态继电器 保定科技职业学院毕业论文(设计)
2 (2)方案二 (如图1-2)此方案是传统的二位式模拟控制方案,其基本思想与方案一相同,但由于采用上下限比较电路,所以控制精度有所提高。这种方法还是模拟控制方法,因此也不能实现复杂的控制算法使控制温度做的更高。而且仍不能用数码管显示和键盘设定。
图1-2 模拟电路二
(3)方案三 (如图1-3)此方案采用AT89c51单片机系统来实现。单片机软件编程灵活,自由度大,可用软件编程实现各种控制算法和逻辑控制【1】。单片机系统可用数码管显示水温的实际值,能用键盘输入设定值等功能。本方案选用了AT89c51芯片,不需要外扩展存储器,可使系统整体结构更为简单。
图1-3 温度控制系统框图
方案论证 方案一和方案二是传统的模拟控制方式,而模拟控制系统难以实现复杂控制规律,控制方案的修改也较麻烦。而方案三是采用以AT89c51为控制核心的单片机控制系统,尤其对温度控制,可以达到模拟控制所达不到的控制效果,并且可以实现显示、键盘设定,报警等功能。大大提高的系统的智能化,也使得系统所测结果的精度大大提高了。所以本次设计采用方案三。
单片机
键盘输入
温度传感器
无水检测
电源 数码管显示
加热装置
降温装置
蜂鸣报警
溢流控制 信号采集 信号放大 上限比较
下限比较 信号处理 固态继电器
负载 温度预置 保定科技职业学院毕业论文(设计)
3 二、元器件选型及硬件电路设计
2.1 元器件选型
2.1.1 温度传感器
温度传感器选用可编程温度传感器(DS18B20)芯片。DS18B20数字温度计是DALLAS公司生产的1-Wire,即单总线器件,具有线路简单,体积小的特点。因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多这样的数字温度计,十分方便。
1)、DS18B20产品的特点
(a)、只要求一个端口即可实现通信。
(b)、在DS18B20中的每个器件上都有独一无二的序列号。
(c)、实际应用中不需要外部任何元器件即可实现测温。
(d)、测量温度范围在-55。C到+125。C之间。
(e)、数字温度计的分辨率用户可以从9位到12位选择。
(f)、内部有温度上、下限告警设置
2)、DS18B20的引脚介绍
DS18B20可编程温度传感器有3个管脚。(如图2-1) GND为接地线,DQ为数据输入输出接口,通过一个较弱的上拉电阻与单片机相连。VDD为电源接口,既可由数据线提供电源,又可由外部提供电源,范围3.O~5.5 V【7】。本文使用外部电源供电。
图2-1 DS18B20管脚 保定科技职业学院毕业论文(设计)
4 3)、DS18B20的内部结构
DS18B20内部功能模块如图2-2所示,主要由4部分组成:64位光刻R0M、温度传感器、非易失性的温度报警触发器TH和TL、配置寄存器。R0M 中的64位序列号是出厂前被光刻好的,他可以看作是该DSISB20的地址序列码,每个DSI8B20的64位序列号均不相同。高低温报警触发器TH 和TL,配置寄存器均由一个字节的E2PROM组成,使用一个存储器功能命令可对 TH,TL或配置寄存器写入。配置寄存器中R1,R0决定温度转换的精度位数:R1R0=’00’,9位精度,最大转换时间为93.75 ms;R1R0 = ‘01’,10位精度,最大转换时间为187.5 ms;R1R0 = ‘10’,11位精度,最大转换时间为375 ms;R1R0
=’11’,12位精度,最大转换时间为750 ms;未编程时默认为12位精度。
4)、DS18B20的使用方法
由于DS18B20采用的是1-Wire总线协议方式,即在一根数据线实现数据的双向传输,而对AT89c51单片机来说,硬件上并不支持单总线协议,因此,我们必须采用软件的方法来模拟单总线的协议时序来完成对DS18B20芯片的访问。
由于DS18B20是在一根I/O线上读写数据,因此,对读写的数据位有着严格的时序要求。DS18B20有严格的通信协议来保证各位数据传输的正确性和完整性。该协议定义了几种信号的时序:初始化时序、读时序、写时序。所有时序都是将主机作为主设备,单总线器件作为从设备。而每一次命令和数据的传输都是从主机主动启动写时序开始,如果要求单总线器件回送数据,在进行写命令后,主机需启动读时序完成数据接收。数据和命令的传输都是低位在先。
DS18B20的复位时序
图2-2 DS18B20的复位时序图
DS18B20的读时序
对于DS18B20的读时序分为读0时序和读1时序两个过程。 保定科技职业学院毕业论文(设计)
5 对于DS18B20的读时序是从主机把单总线拉低之后,在15秒之内就得释放单总线,以让DS18B20把数据传输到单总线上。DS18B20要完成一个读时序过程,至少需要60us才能完成。
图2-3 DS18B20的读时序图
DS18B20的写时序
对于DS18B20的写时序仍然分为写0时序和写1时序两个过程。
对于DS18B20写0时序和写1时序的要求不同,当要写0时序时,单总线要被拉低至少60us,保证DS18B20能够在15us到45us之间能够正确地采样IO总线上的“0”电平,当要写1时序时,单总线被拉低之后,在15us之内就得释放单总线。
图2-4 DS18B20的写时序图
2.1.2 键盘
键盘选用轻触开关,只用三个键来输入,它们的功能分别为“加一”,“减一”和“确认”三个功能按键,详细电路和程序见后面章节。
2.1.3数码管
1)LED数码管的结构 保定科技职业学院毕业论文(设计)
6 LED数码管是由发光二极管构成的,亦称半导体数码管. 将条状发光二极管按照共阴极(负极)或共阳极(正极)的方法连接,组成"8"字,再把发光二极管另一电极作笔段电极,就构成了LED数码管.若按规定使某些字段上的发光二极管就能显示从0~9的一系列数字。同荧光数码管、辉光数码管(NRT)相比它具有:体积小、功耗低、耐震动、寿命长、亮度高、单色性好、发光响应的时间短,能与TTL,CMOS电路兼容等的数显器件。
2)LED数码管的管脚排列
本次设计采用共阴极的LED数码管,其管脚排列如图2-5所示。
图2-5 共阴极数码管及其管脚排列
2.1.4继电器
本系统利用继电器的吸合与否来控制加热装置和降温装置,实现水温的自动化控制。
本次设计采用型号为JRC-21F的继电器。其特点有:
1).超小型,低功耗;
2).触点型式:1H,1Z(1A.AC);
3).触点负载:2A,120VAC;
4).外型尺寸:15.7X10.4X11.4
2.2 硬件电路设计
总电路图见附页1,下面重点介绍各个模块的电路图。
2.2.1 温度采集电路
DS18B20为单总线器件,接口电路简单,如下图2-6所示 保定科技职业学院毕业论文(设计)
7
图2-6 温度采集电路
2.2.2 键盘电路
本键盘电路采用独立键设计,三个键接到单片机的三个中断源上。当按下时为低电平。其中S2为“确认”键、S3为“减一”键、S4为“加一”键,电路如图2-7所示:
图2-7 键盘电路
2.2.3数码管显示电路
数码管显示电路是使用的串口显示,这种显示最大的优点就是使用口资源比较少,只用P3口的P3.0和P3.1两个端口,四只数码管采用74LS164右移寄存器驱动,显示比较清晰,电路如图2-8所示:
图2-8 数码管显示电路 保定科技职业学院毕业论文(设计)
8 2.2.4输出驱动电路
继电器通过一个三极管来驱动,其中三极管的型号为9015。这里用到两个驱动电路,一个用于驱动加热装置,一个用于降温装置。电路如图2-9所示。其中加热装置可用小功率的电热棒,它可达到加热的目的,又较容易实现对温度的控制。而降温装置可用加入冷水的方法,用一个分流阀实现对冷水加入量的控制,当水的温度过高要进行降温时,降温驱动电路工作,打开分流阀,缓慢注入冷水,动态温度比较,实现对温度的实时控制。同时为了防止加入的水量过多而超出容器,增加了溢流控制装置,达到对容器中水量的控制。
图2-9 输出驱动电路
2.2.5蜂鸣报警电路
蜂鸣器通过一个三极管来驱动,这里选用9015。电路如图2-10所示:
图2-10 蜂鸣报警电路
2.2.6无水检测电路
无水检测电路如图2-11所示: