图3.3 SY-9411L-D型变送器
在水箱底部安装1根直径为5mm的软管,一端安装在水箱底部;另一端与传感器连接。水箱水位高度发生变化时,引起软管内气压变化,然后传感器把气压转换成电压信号,输送到A/D转换器。 3.2.2 A/D转换方案
通过对传感器的选择,可知由传感器输出的水位高度信号是0~10V的直流电压。在设计中,可以通过采样、保持电路对这一信号进行处理,将模拟信号转换为多个采样点信号。但这种处理方法由于受电路规模和采样精度的影响,不可能对水位信号作出精确的处理,近而也无法对电机、水位高度显示和报警作出精确的控制。因此,本设计中采用集成芯片TLC549对0~10V的直流电压进行处理。可以达到:
(1)电路简洁、明了。 (2)高转换精度。 (3)高控制精确。 3.2.3单片机复位方案
RST/VPD:复位/备用电源线,可以使单片机处于复位(即初始化)工作状态。通常,单片机的复位有自动上电复位和人工按钮复位两种,图3.4给出了它们的电路。考虑到,水塔与居民生活密切相关,当因特殊原因导致单片机掉电,需单片机立即自动复位(如:夜间短时间停电,导致本系统停止工作),故本设计采用上电复位方式。
图3.4 复位电路
3.2.4单片机起振方案
XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器,石晶振荡和陶瓷振荡均可采用。也可以采用外部时钟源驱动器件。考虑到设计、使用的方便,本设计中采用片内时钟驱动。即XTAL1和XTAL2只需外接晶振(配上相应的电容),便可以给单片机提供相应的时钟频率。 3.2.5驱动显示方案
本设计中需显示水塔水位的高度,具体的显示方案有两种选择:
(1)利用74LS48驱动数码管:与单片机连接较为复杂,需占用单片机8个端口。且在与数码管连接时需附加上拉电阻,用以完成数码管的驱动。
(2)利用LCD1602液晶显示: a.显示质量高
由于液晶显示器每一个点在收到信号后就一直保持那种色彩和亮度,恒定发光,而不像阴极射线管显示器(CRT)那样需要不断刷新新亮点。因此,液晶显示器画质高且不会闪烁。
b.数字式接口
液晶显示器都是数字式的,和单片机系统的接口更加简单可靠,操作更加方便。 c.体积小、重量轻
液晶显示器通过显示屏上的电极控制液晶分子状态来达到显示的目的,在重量上比相同显示面积的传统显示器要轻得多。
d.功耗低
相对而言,液晶显示器的功耗主要消耗在其内部的电极和驱动IC上,因而耗电量比其它显示器要少得多。
考虑到本设计中,若利用MAX7219驱动数码管,MAX7219芯片价格较高,采用后大大提高成本支出将造成资源浪费,且。同时,随着MAX7219的使用(对MAX7219的编程)将提高源程序的复杂度,对编译、调试和单片机运行效率都将造成影响。故设计中采用LCD1602液晶显示。 3.2.6电机选择方案
电动机有直流流、交流之分。异步电动机属于交流电机的一种;另一种交流电机是同步电机。异步电机由于结构简单,维护方便,价格便宜,所以应用最为广泛。本设计中,采用异步三相交流电机。
3.3 总体思路
①水位高度的检测:利用水位传感器完成。
②传感器输出信号处理:传感器输出信号,有直流电压和直流电流之分。设计中需将这一信号进行处理,以便单片机能够接收和处理。
③单片机控制:单片机将由前级输入的检测信号进行分析和处理,从而产生相应的控制信号。
④数码显示、电机驱动和报警电路根据单片机产生的控制信号,作出相应的动作。
⑤电机控制电路根据电机驱动电路的状态作出相应的动作。
4 硬件设计
4.1 系统组成
水位自动控制器由7个部分组成,即水位传感器、A/D转换、键盘、单片机、显示部分、电机控制、报警控制部分。系统框图可参考图3.2。
4.2 单元模块设计
4.2.1单片机介绍
选用STC89C52作为控制芯片,其引脚图如图4.1所示。
(1)STC89C52是宏晶科技推出的新一代超强抗干扰、高速、低功耗单片机,指令代码完全兼容Intel 8051单片机。
(2)STC89C52的封装
STC89C52的封装如图4.2所示。 图4.1 STC89C52引脚图 图4.2 STC89C52封装图
293031PSENALEEA1918U1XTAL1P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD393837363534333221222324252627281011121314151617XTAL29RST12345678P1.0/T2P1.1/T2EXP1.2P1.3P1.4P1.5P1.6P1.7AT89C52(1)STC89C52各引脚功能及管脚电压
STC89C52为40脚双列直插封装的8 位通用微处理器,采用工业标准的C51内核,在内部功能及管脚排布上与通用的8XC51相同,其主要用于会聚调整时的功能控制。功能包括对会聚主IC内部寄存器、数据RAM及外部接口等功能部件的初始化,会聚调整控制,会聚测试图控制,红外遥控信号IR的接收解码及与主板CPU通信等。主要管脚有:XTAL1(19脚)和XTAL2(18脚)为振荡器输入输出端口,外接12MHz晶振。RST/VPD(9脚)为复位输入端口,外接电阻电容组成的复位电路。VCC(40脚)和VSS(20脚)为供电端口,分别接+5V电源的正负端。P0~P3为可编程通用I/O脚,其功能用途由软件定义,在本设计中,P0端口(32~39脚)被定义为N1功能控制端口,分别与N1的相应功能管脚相连接,13 脚定义为IR输入端,10 脚和11脚定义为I2C总线控
制端口,分别连接N1的SDAS(18脚)和SCLS(19脚)端口,12 脚、27脚及28脚定义为握手信号功能端口,连接主板CPU的相应功能端,用于当前制式的检测及会聚调整状态进入的控制功能[6]。
P0口
P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口。作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口P0写“1”时,可作为高阻抗输入端用在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。在Flash编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。
P1 口
P1 是一个带内部上拉电阻的8 位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。与STC89C52不同之处是,P1.0和P1.1还可分别作为定时/计数器2的外部计数输入(P1.0/T2)和输入(P1.1/T2EX),Flash编程和程序校验期间,P1接收低8位地址。
表4.1 P1.0和P1.1的第二功能
引脚号 P1.0 P1.1 功能特性 T2,时钟输出 T2EX(定时/计数器2) P2 口
P2 是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口P2写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVX@DPTR 指令)时,P2口送出高8位地址数据。在访问8位地址的外部数据存储器(如执行