基于PIC16F877单片机实现水文自动测报系统的应用方案

描述

自报式水文遥测系统能在无人值守情况下,自动收集雨量、水位和其他水文参数的实时数据并自动报送所采集的数据,得到广泛应用。传统水文遥测终端多采用MC-51单片机做为控制芯片,集成度低,设计较为烦琐,外围电路较复杂。PIC单片机是MICROCHIP公司近年来推出的新型单片机系列,本文以PIC16F877单片机作为数据采集终端机核心控制芯片,设计一种新型的水文遥测系统,具有体积小、功耗低、指令集精简、抗干扰性好、可靠性高、扩展性强等特性,用PIC单片机设计水文遥测系统终端机较传统51单片机的设计更加灵活,外围电路更精简。

水文自动测报系统的基本组成

系统由终端机(遥测站)、中继站(信息传输通道)以及中心站三部分组成。组成结构如图1所示。

芯片

图1 系统组成示意图

终端机通过传感器自动实时地进行水位及雨量数据的采集,并通过无线电台向中心站发送数据,通常用超短波频段,功率5~25W,当通信距离超过50km,或有高山阻挡时,可设置中继站,进行再生转发,中心站接收数据后可进行数据分析及处理。

水文自动测报系统的系统总体功能

数据接收、处理:实时接收遥测站的雨情、水情等信息;自动检查数据帧格式,并进行合理性判断;加注时标,自动存储。

应答、查询:定时或人工查询下属站点的雨情、水情等信息及其工作状态。

数据库管理:包含原始数据库、历史数据库、预报或成果数据库的形成、检索、查询等。

数据输出:可通过显示器(包括大屏幕显示)、打印机、绘图仪等输出雨量直方图、水位、流量过程线等、雨量线图等。

洪水预报及优化调度:包括洪水预报参数初始化、参数 设置/修改、定时预报、脱机估报、水库优化调度,成果存储、输出。

连网通信:可接入局域网或广域网实现数据共享,可实现多计算机串行通信,通过电话线可实现数据传输。

状态告警:根据设定的告警雨量、水位值,可实现自动声光告警,并可通过电话线实现电话语言报警。

水文遥测终端机设计

1 工作方式选择

目前,水文遥测系统有三种工作方式:(1)自报式:每当被测的水文参数发生一个单位变化时,遥测站自动采集发送一次数据;(2)应答式:中心站自动定时或随机呼叫遥测站,查询其水文数据;(3)兼容式:既具有自报功能,又具有应答功能,在水文数据无变化、中心站未发送查询请求时系统返回低功耗状态。考虑到用户需求、系统工作环境和特点,以及对低功耗和高可靠性的要求,本系统选择采用自报式工作方式。

2 传感器以及性能要求

雨量、水位和电压信息分别通过各自的传感器接到微控制器的I/O口,微控制器对这些数据进行采集,然后进行相应的处理。雨量传感器采用翻斗式雨量计,分辨率为1mm;水位传感器采用浮子式水位计,分辨率为1cm。

3 通信协议设计

通信速率为300b/s。FSK副载波频率符合CCITTV21或V23标准。异步通信帧格式:1位起始位,8位信息位,1位奇校验位,1位停止位。

据帧格式如表1所示。其中,帧同步(起始)字节为02H,帧结束字节为03H;校验字节(8比特)是站址字节、帧特征字节、数据高位字节、数据低位字节的模2加;站址字采用十进制压缩BCD编码方式;帧特征字定义如表2所示。数据字段采用两字节长度,分为数据低位和高位。编码方式由特征位定义,其中水位可为十进制或二进制,而雨量为二进制表示。

芯片

芯片

规则采用重复编码,方法是每次重发三帧,接受端大数判决。发送控制及时序如图2所示。

芯片

图2 RTX与TXD的时序图

4 硬件电路设计与实现

终端机采用PIC16F877作为核心芯片,具有以下优势:芯片集成了大量的外围部件,是低工作电压、超低功耗、高性能的微控制器,在3V@32kHz时典型值小于20μA,典型稳态电流值小于1μA,UART可扩展RS-485、发送数据以及编程扩展,I2C接口可作编程扩展,EEPROM可作数据资料寄存器,ADC可作欠压检测、掉电检测以及外部模拟量输入扩展,并有监控定时器WDT避免系统死机,芯片集成度高,整个板子只须另加RS-485驱动和DC/DC变换器芯片即可。

由于模块中既有+12V供电的模块又有+3.3V供电的模块,因此必须在电路中设计电压转换电路。考虑到FM发射机需要+12V供电,且降压电路易于实现,所以+12V部分采用直接供电,而+3.3V部分采用降压后的电源供电的供电方案。在DC/DC变换芯片的选择上,选用比较常用的LP2950来实现+12V~+3.3V的电压转换。LP2950是SIPEX公司推出的低功耗电压调节器,非常适用于一些电池供电系统,其具有低静态电流、低压差等特性,非常良好的负载及线路调节特性,适合做低功率电压源。

该设计留有压力式水位计扩展接口,可用于今后有扩展需求时进行使用。通过DIP编程开关可设置该机是否清零,定时发送水位还是雨量以及终端机站址的设置。为了方便维护,在设计中增加了强发功能,按动[send]键后,则终端机进入发送状态。此时发送过程与定时发送一样。硬件电路图如图3所示。

芯片

图3 终端机电路图

5 软件设计与实现

整个程序采用模块化结构,分为主程序和中断程序,包括基本的CPU时钟和外围模块的初始化,以及各功能模块的实现,如数据采集、数据处理、通信等。

主程序执行对定时器、串行通信等的初始化,系统的升级,收集、整理、发送数据等进程,最后进入省电模式,以中断服务唤醒CPU,主程序流程图如图4所示。

芯片

图4 主程序流程图

中断服务主要有雨量计数、水位数据采集、定时发送进程。定时从水位计上将水位数据读入,并加以分析,依分析结果确定是否把所读入的水位数据写入带有保护的数据存储区并发送。同样,当雨量信号到来时,雨量数据写入数据存储区中并发送。中断程序流程图如图5所示。

芯片

图5 中断程序流程图

中心站的功能与结构

中心站由实时监控服务器、数据库服务器、通信设备、电源系统、防雷设施、软件系统等组成,含中心软件及洪水预报软件,能够集中遥测系统内各终端机的水文数据。

芯片

图6 中心站拓扑结构示意图

中心站主要完成以下功能:

● 实时显示水文信息。

● 实现各水文站、遥测站的雨量、水位信息的接收和存储。

● 实现水文水资源信息省中心或防汛部门、自动测报系统中心的自动传输。

● 提供实时水情分析及水情预警服务。

● 对站点任意时间的水位、雨量、日雨量和累计雨量信息的查询。

● 对所形成各种水文要素资料整编成表。

结论

本设计和研究主要目的是为了进一步优化水文遥测系统的性能,通过使用这种新型芯片设计,降低遥测终端机功耗,实现终端机外围电路最简化,并留出了软件更新以及附加硬件设备的扩展接口,进一步提高了自报式水文系统的性能。实验结果表明,设计方案可行,系统工作稳定可靠,达到了预期目标。

责任编辑:gt

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分