0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

电子设计 来源:今日电子 作者:谢君,赵利 2021-01-25 09:38 次阅读

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

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

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

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

图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

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

    关注

    447

    文章

    47775

    浏览量

    409076
  • 单片机
    +关注

    关注

    6001

    文章

    43973

    浏览量

    620802
  • 数据采集
    +关注

    关注

    38

    文章

    4516

    浏览量

    112313
收藏 人收藏

    评论

    相关推荐

    基于PIC16F877单片机的简易测速计设计方案

    本文介绍了一种基于低功耗芯片PIC16F877的简易测速计的设计方案,并给出了其在Proteus软件下的仿真结果。该方案中整个测速计的设计有效地利用了PIC
    发表于 11-07 11:01 3815次阅读
    基于<b class='flag-5'>PIC16F877</b><b class='flag-5'>单片机</b>的简易测速计设计<b class='flag-5'>方案</b>

    PIC16F877 datasheet 中文资料 pdf

    PIC16F877 datasheet 中文资料 PIC16F87X 28/40引脚,8位CMOS Flash单片机
    发表于 11-03 10:08

    pic16f877

    请问一下各位,PIC16F877单片机的使用的烧录程序的接口叫什么名字啊,我在画原理图的时候用到那个接口了,但由于不知道叫什么,在库里就没办法找到
    发表于 06-06 17:30

    PIC16F877单片机的资料分享,c语言例程+C语言仿真12例

    PIC16F877单片机的资料分享,c语言例程+C语言仿真12例大家自己下载学习啊。另外请版主允许我做一个小小的pic宣传。★☆二手PIC开发板供求信息交流群:321439582。本群
    发表于 06-08 09:56

    pic16f877单片机管脚和说明

    pic16f877单片机管脚和说明, 烧写程序2 LCD16023 PCF85914 独立按键1 烧写程序前面我们已经利用MPLAB生成了hex文件,并把hex文件弄到proteus进行单片机仿真了
    发表于 07-14 06:46

    PIC16F877单片机课程设计

    PIC16F877单片机课程设计,文章目录1 参考书籍:2 单片机基础寄存器操作:3 工程建立与仿真4 实际项目1 参考书籍:2 单片机基础寄存器操作:3 工程建立与仿真4 实际项目
    发表于 07-15 09:15

    PIC16F877 单片机的键盘和LED 数码显示接口

    PIC16F877 单片机的键盘和LED 数码显示接口 1 PIC16F877单片机与键盘和LED数码显示的硬件接口电路单片机的许多应用都
    发表于 04-06 13:54 139次下载

    PIC16F877单片机原理图设计及应用

    图1所示为PIC16F877单片机最小系统,图2所示为单片机与发光二级管的接线原理图,其中8个发光二极管与地之间通过一个8位拨码
    发表于 12-11 13:41 4301次阅读

    上海某公司PIC16F877单片机编程实例教程下载

    上海某公司PIC16F877单片机编程实例教程下载
    发表于 06-17 11:37 43次下载

    基于PIC16F877单片机通过SPWM脉宽调制技术软件产生纯正

    通过PIC16F877单片机实现PWM脉宽调节
    发表于 05-03 16:42 13次下载

    基于PIC16F877单片机的GPS车速传感器的设计与应用

    基于PIC16F877单片机的GPS车速传感器的设计与应用
    发表于 02-07 16:14 22次下载

    PIC16F877单片机与LCD的接口电路设计及LCD字符显示的实现

    方法,同时介绍在实际调试中遇到的问题以及解决、改进的方法。 本文提到的可编程电源主要由主控芯片PIC16F877 单片机[1]、液晶显示器、键盘、RS232 远程控制、D/A 转换机、电源主机等几大部分构成。其中,PIC16F877
    发表于 12-01 09:19 19次下载
    <b class='flag-5'>PIC16F877</b><b class='flag-5'>单片机</b>与LCD的接口电路设计及LCD字符显示的<b class='flag-5'>实现</b>

    PIC16F877实现直流无刷电机的控制

    PIC16F877实现直流无刷电机的控制(深圳市核达中远通电源技术有限公司电话)-PIC16F877实现直流无刷电机的控制。PDF中有详尽的直流无刷电机介绍。
    发表于 09-28 12:11 96次下载
    <b class='flag-5'>PIC16F877</b><b class='flag-5'>实现</b>直流无刷电机的控制

    PIC16F877矩阵键盘的识别

    PIC16F877矩阵键盘的识别
    发表于 11-16 19:51 6次下载
    <b class='flag-5'>PIC16F877</b>矩阵键盘的识别

    PIC16F877矩阵键盘的识别

    PIC16F877矩阵键盘的识别
    发表于 11-16 21:06 17次下载
    <b class='flag-5'>PIC16F877</b>矩阵键盘的识别