基于RS-485通信的温度水位远程测控系统
摘要:为满足太阳能热水工程远距离测控的需要,设计了一个基于单片机控制的温度和水位远程测控系统。系统的主机和从机均以ATmega16为控制器,二者通过RS-485通信,距离可以超过1 km。用NTC热敏电阻作测温元件,使用单片机内置的10位A/D转换模块实现多路温度的测量。通过非对称式多谐振荡器电路把水位转换为振荡频率,再用计数器测量频率来实现水位的测量。给出了主机和从机的完整电路及功能,较详细地介绍了水位和温度的测量电路以及传感器参数。
关键词:RS-485;ATmega16;水位;温度;远程
目前,与太阳能集热热水工程配套的控制器基本上都是单机工作,需要安装在离太阳能热水工程现场较近的位置,而太阳能热水工程一般是安装在工厂、宾馆和居民楼的楼顶上,因此管理人员必须爬上楼顶才能完成信息查看和功能操作,管理和操作十分便。为满足太阳能热水工程远距离测控的需求,本设计采用ATmega16单片机,利用RS-485通信技术、NTC热敏传感器和多谐振荡器测量水位方法,研制开发了温度水位远距离测控系统,解决了太阳能热水工程需要远距离测控的问题。
1 系统结构和工作原理
远距离温度和水位测控系统用于选择功能,设置参数,测量和显示太阳能热水工程储水箱中的水温和水位、集热器的温度、温差循环管道温度和出水温度,控制上水、温差循环换能、辅助电加热、管道防冻等。系统主要由主机、从机、温度和水位传感器及电气控制部分组成,远程温度和水位测控系统的总体结构如图1所示。主机以ATmega16单片机为控制芯片,通过RS-485与从机通信,完成基本功能设置,用LCD显示工作状态、水位、多路温度等数据,并把设置的参数和控制信息传送给从机。从机也是以ATmega16为控制芯片,主要负责完成水位、温度等现场数据的采集和电气控制。
2 系统硬件设计
ATmega16单片机内置10位A/D模块,可直接实现多达8个通道模拟信号的A/D转换输入,有两个8位和一个16位的计数器,带有512的E2PROM,可以实现数据掉电保护,ATmega16还带有串行接口,可以接485转换芯片实现RS-485通信。
2.1 主机电路
主机的主要功能是接收从机采集的储水箱水位、4路温度数据、在128x64的液晶上显示水位、温度和工作状态。主机的另外一个功能是完成参数的设置,然后把设置的参数发送给从机。图2是主机的电路图,其主要由RS-485通信、键盘输入和LCD显示等几个部分组成。
2.1.1 RS-485通信
RS-485总线通信模式由于具有结构简单、价格低、通信距离和数据传输速率适当的优点而被广泛应用于楼宇控制、监控报警等领域。但RS-485总线存在自适应、自保护功能差等缺点,如一些细节处理不好,常会出现通信失败等故障,因此提高RS-485总线的可靠性十分重要。在该电路中使用的接口芯片MAX485是Maxim公司的一种RS-485芯片,采用单+5 V电源工作,额定电流为300 μA,采用半双工通讯方式,它的结构和引脚简单,内部含有一个驱动器和接收器。RO和DI端分别是接收器的输出和驱动器的输入端,与单片机连接时只需分别与单片机的RXD和TXD相连即可。RE和DE端分别是接收和发送的使能端,当RE为逻辑0时,器件处于接收状态,当DE为逻辑1时,器件处于发送状态,因为MAX485工作在半双工状态,所以只需用单片机的一个管脚PD2控制这两个引脚即可。A端和B端分别是接收和发送的差分信号端,当A引脚的电平高于B时,代表发送的数据为1,当A的电平低于B端时,代表发送的数据为0。同时将A和B端之间加匹配电阻R9,一般可选120 Ω的电阻。在图2中使用四位一体的光电耦合器TLP521让单片机与MAX485之间实现了完全的电隔离,消除了相互干扰,提高了电路的可靠性。
2.1.2 键盘输入和输出显示电路
液晶显示选用的OCM128x64是128x64点阵型液晶显示模块,可显示各种字符及图形,可显示四行汉字,满足本设计的要求,可与单片机直接接口,具有8位标准数据总线、6条控制线及电源线。键盘输入和显示输出电路如图2中所示,LCD与单片机的连接使用数据串行输入方法,数据通过PA7和LCD串行输入端输入,PA4、PA5为片选信号,PA6为读写使能信号。输入按键为8个,用2x4键盘接PC0~PC5实现。
2.2 从机电路
从机的主要功能是完成一路水位和四路温度的测量,并通过RS-485通信将这些数据传送给主机,接收主机发送来的参数和控制信息,通过继电器组控制上水、温差循环、辅助电加热、管道防冻和恒温供水等。从机电路如图3所示。
2.2.1 水位测量
先用非对称式多谐振荡器电路把水位传感器的阻值大小转换为振荡信号的频率,再用单片机内部的计数器测量信号的频率来测量水位。如图4所示,非对称式多谐振荡器电路由74HC04、C1、R5~R7和水位传感器的电阻Rw组成。该振荡器的振荡频率为f=1/[2.2(R5+R6+Rw)C1]。可选用四个电阻相串联,在电阻引线处引出5个水位探测电极,作为4水位测量传感器。由于水有导电性,水位的变化引起水位探测电极间的短路,改变水位传感器的电阻Rw的阻值,使振荡频率f发生变化。该振荡信号经非门隔离后接单片机的引脚PB1,由Tmega16片内16位计数器T1对振荡信号的频率f计数来测量水位高低。通过大量实验,对上述多谐振荡器电路和参数,当选用阻值分别为30、10、10、10 kΩ的4个电阻串联组成测量水位传感器时,振荡信号的频率f的值在60~415 Hz之间,用于水位测量,效果很好。
远程 系统 水位 温度 RS-485 通信 基于 相关文章:
- 基于CDMA 1X的远程监控系统设计(05-07)
- 远程发射/接收组件使用注意事项(05-09)
- 加上wifi就是智能家电了吗?别再忽悠消费者(11-16)
- 服务器租用与虚拟主机租用有什么区别?(06-12)
- 基于铁路巡线的导航定位终端的设计 (11-30)
- 基于物联网技术的智能农业应用系统(05-20)