3.2水位检测系统
对于水位进行控制的方式有很多,而应用较多的主要有3种,三种方式的实现如下:
方案一:简单的机械式控制方式。其常用形式有浮标式、电极式等,这种控制形式的优点是结构简单,成本低廉。存在问题是精度不高,不能进行数值显示,另外很容易引起误动作,且只能单独控制,与计算机进行通信较难实现。
方案二:利用单片机进行水位检测和控制,基于数字电路的全自动控制,其工作过程是被测水位经过模拟信号采集模块进行采样,然后把采样得到的模拟信号送入ADC0809进行A/D转换读入单片机,再由单片机进行处理,得出结果是否启动/停止控制电路执行信号以达到水位的控制,具体硬件流程框图入图3.2.1所示。
水 位 传 感 器 转换 A/D 单 片 机 输 出 控 制 控 制 水 位 图3.2.1 方案二具体流程框图
方案三:采用89C51单片机为核心控制器的电路。因为单片机电路结构简单成本低廉、可靠性高,便于实现各个控制功能能很好的完成设计任务。水位检测由本设计使用的RC充放电水位传感器通过检测来实现水位的改变。然后通过A/D转换把信号输入到单片机,获得当前水位显示。
综合以上三种方案,方案一和方案二由于缺少温度检测模块,而水温也是影响太阳能热水器很重要的一方面:比如说水箱中水温度过高导致水沸腾这时候虽然水所在刻度不是满的,实际上已经溢出,这样说来方案一和方案二的设计算不上智能。方案三是在方案二的基础上完善和加强的,采用单片机键的双边通信,比起方案二更加方便,也更加合理。
四.元件说明
4.1 工作原理
本文阐述了基于单片机的水温水位控制系统的设计方法,此种方法是以89C51单片机为主控制单元,对水温水位参数进行控制,从而提高了电器的工作稳定性。以DS18B20为温度传感器的对水温进行数据采集并实现温度控制。该控制系统还可
以实时存储相关的温度数据以及水位高度并能记录当前的时间。为了实现功能本系统设计了相关的硬件电路和相关应用程序。硬件电路主要包括89C51单片机最小系统,测温电路、测水位电路、LCD12864液晶显示电路以及报警电路、键盘输入参数等。系统程序主要包括主程序,读出温度子程序,计算温度子程序、水位显示子程序、按键处理程序、12864液晶显示程序以及数据存储程序以及时间显示程序等
4.2单片机的选择
单片机的选择在整个系统设计中至关重要,要满足大内存、高速率、通用性、价格便宜等要求,本课题选择89C51作为主控芯片。
89C51是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处理器,俗称单片机。它是美国ATMEL公司的低电压,高性能CMOS8位单片机。89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的89C51是一种高效微控制器,89C2051是它的一种精简版本。89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。 实物图如图4.1.2所示。
图4.1.2所示实物图
1.2.1主要特性: ⑴与MCS-51 兼容
⑵4K字节可编程闪烁存储器 寿命:1000写/擦循环 数据保留时间:10年 ⑶全静态工作:0Hz-24Hz ⑷三级程序存储器锁定 ⑸128*8位内部RAM
⑹32可编程I/O线 ⑺两个16位定时器/计数器 ⑻5个中断源 ⑼可编程串行通道
⑽低功耗的闲置和掉电模式 ⑾片内振荡器和时钟电路 1.2.2管脚说明: VCC:供电电压。 GND:接地。
P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。 P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。 P3口也可作为AT89C51的一些特殊功能口,如下表所示: 口管脚 备选功能 P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 /INT0(外部中断0) P3.3 /INT1(外部中断1) P3.4 T0(记时器0外部输入)
P3.5 T1(记时器1外部输入) P3.6 /WR(外部数据存储器写选通) P3.7 /RD(外部数据存储器读选通)
P3口同时为闪烁编程和编程校验接收一些控制信号。
RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在 FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。引脚图如下图4.1.2.2所示
图4.1.2.2 引
1.3温度传感器
美国Dallas半导体公司的数字化温度传感器DS18B20是世界上第一片支持 \一线总线\接口的温度传感器,在其内部使用了在板(ON-B0ARD)专利技术。
1.3.1 DS18B20性能及结构
DS18B20原理与特性本系统采用了DS18B20单总线可编程温度传感器,来实现对温度的采集和转换,大大简化了电路的复杂度,以及算法的要求。首先先来介绍一下DS18B20这块传感器的特性及其功能: DSl8B20的管脚及特点 DS18B20可编程温度传感器有3个管脚。内部结构主要由四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。DS18B20的外形及管脚排列如下图4.1.3.1
图4.1.3.1 DS18B20的外形及管脚图
GND为接地线,DQ为数据输入输出接口,通过一个较弱的上拉电阻与单片机相连。VDD为电源接口,既可由数据线提供电源,又可由外部提供电源,范围3.O~5.5 V。本文使用外部电源供电。
主要特点有: 1. 用户可自设定报警上下限温度值。 2. 不需要外部组件,能测量-55~+125℃ 范围内的温度。 3. -10℃ ~+85℃ 范围内的测温准确度为±0.5℃ 。 4. 通过编程可实现9~l2位的数字读数方式,可在至多750 ms内将温度转换成12 位的数字,测温分辨率可达0.0625℃ 。 5. 独特的单总线接口方式,与微处理器连接时仅需要一条线即可实现与微处理器双向通讯。6. 测量结果直接输出数字温度信号,以\一线总线\串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力。7. 负压特性:电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。8. DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温。