基于ATmega16的多路水文参数采集及无线传输系统

分享到:

中北大学电子测试技术国家重点实验室 卢长晓

引言

为适应防汛和水利调度的现代化、信息化要求,水文监测系统的建设进入了数字化、网络化阶段。在许多重点水域(重点河流、湖泊、水库、水利工程等),往往需要监测多个水文数据才能满足实际需求,包括流速、水位、水质、流量、温度、降水量等。这就为多路数据采集提出了应用需求。另外,大坝上下、河流交汇处、汛情多发地段、引水隧洞等不同地段水文参数往往也各不相同,这就需要进行多点组网实时数据采集和传输。为此设计了一套数据采集和无线传输系统。

系统总体设计
该系统由若干个监测点组成无线监测网络,如图1a所示。监控中心向各监测点发出的各项指令由无线电台发送出去,各监测点在接收到指令后先进行身份识别,当确认本身被选中时便开始执行相应的指令,在执行完指令后,通过无线电台把采集到的数据返回监控中心。其他没被选中的监测点则处于监听状态。图1b为各监测点的原理框图。各监测点子系统由3路传感器(水位、雨量、流量)、ATmega16单片机、RS-485接口电路和无线数传电台组成。3路传感器输出的信号经信号调理电路送入ATmega16单片机,它利用内部自带的A/D转换器采集3路传感器的数据,将其经由RS-485接口电路传送给无线数传电台。


系统硬件实现

ATmega16单片机主要特征及片内A/D转换器

ATmega16单片机芯片内集成了较大容量的非易失性程序和数据存储器以及工作存储器;丰富强大的外部接口性能;特殊的微控制处理器性能。其主要优点是芯片本身自带看门狗电路,片内程序Flash及8通道复用的10位A/D转换器;通用I/O接口具有很强的驱动能力,可省去部分驱动电路,节约了系统成本;附带同步和异步串行接收和转发器(USART),可以实现与PC机和无线电台的联网通讯功能。ATmega16有一个10位的逐次比较的A/D转换器,ADC与一个8通道的模拟多路复用器连接,能够对以PORTA口作为ADC输入引脚的8路单端电压输入进行采样。

多路数据采集的实现

A/D多路数据采集系统是本设计的关键之一,它主要由微处理器、A/D采集处理部分、参数设置、输出单元和通讯接口等功能模块组成。ADC包括样保持电路,以确保输入电压在ADC转换过程中保持恒定。ADC功能单元有独立的专用模拟电源引脚AVCC供电。AVCC和VCC的电压差别不能大于0.3V。ADC转换的参考电源可采用外部的参考电源,外部参考电源由引脚AREF接入,同时AREF引脚外部并接一个0.1μF的电容来提高ADC的抗噪性能。

采集的3路数据是0-15mA的电流信号,通过在输出端加上匹配的负载电阻,可将电流值转换为电压值,电路连接如图2所示。

放大后的模拟信号利用微处理器提供的内部ADC进行模数转换处理,并将10位转换结果放在ADC数据寄存器ADCH和ADCL中。在连续采样模式下,ADC连续取样,并不断更新ADC数据寄存器。通过读取ADC内的数据即可得到所要采集数值的二进制值。

单片机与数传电台的通信

RS-232串口标准是低速率串行通讯中的单端标准。RS-232采取不平衡传输方式,即单端通讯,其收发端的数据信号都是相对于地信号的,所以共模抑制能力差,再加上双绞线的分布电容,传输距离最大约为15米。由于本系统需要工作在室外,气候环境相对恶劣,且需要长距离传输,针对RS-232串口的局限性,所以系统采用具有极强的抗共模干扰能力的RS-485接口。单片机的RS-485接口电路原理图如图3所示,RS-485的A、B为总线接口,DI是发送端,RO是接收端,/RE、DE为RS-485收发使能端,由单片机的PD4口控制。

通信网络

监控中心和若干监测点的数传电台联网组成无线监控网络,通过应答式通信协议可实时监测不同地域的水情。本系统采用GD230V-8电台,该电台的主要参数如下:(1)调制方式:MSK/FSK;(2)接收灵敏度:≤0.25μV;(3)输出功率:8W ;(4)频率范围:220-240MHz;(5)信道速率:2400/1200bps(MSK方式),0-1200bps(FSK方式);(6)数据接口:异步传输,EIA-232/ EIA - 485 /TTL。

监控中心在向各监测点发出指令前先发送一组地址信息,各监测点收到地址信息后首先需要进行身份,如果收到的地址信息与自身相符便给监控中心返回一应答信号,监控中心收到应答信号后即可发出各项指令,被选中的监测点便开始执行相应的指令,并把数据传回监控中心,从而实现多点联网监测。

系统软件设计

软件编程也是实现该多路数据采集的关键之一,本文主要介绍数据采集部分。系统上电后执行初始化程序,复位各个端口。当处于监听状态时,各监测点数据采集模块处于3路自动巡回监测状态,系统开始对0~3通道间隔1s时间采集一次电压值;当接收到监控中心发送来的指令便选中相应的采集通道执行数据采集,调用数字滤波子程序进行滤波得到精确的数值。再通过数据转换和处理后送微处理器的数据存储器,等待数传电台的读取,其工作流程如图4所示。

A/D采集子程序

 
 
结束语

ATmega16单片机本身带有多路10位精度的逐次比较式A/D转换器,在该多回路数据采集器系统中可以显著地降低成本。由于ATmega16的A/D转换器转换速度比较高,可以采取一些数字滤波算法来得到较为精确和稳定的转换结果。利用C语言编程,使该多回路数据采集器系统的硬件设计变得简单,A/D采集处理编程也更为容易,大大缩短了开发周期。该方案可应用在河道水文、湖泊水库和沿海潮汛潮位等监测项目上,经山西某水文站实际使用,结果表明:系统工作稳定可靠,具有建网费用低、建设周期短、维护量小等优点。

本文摘自《世界电子元器件》
继续阅读
基于Atmega16的电流采样电路设计

文中研制了一套模拟并网发电系统,实现了频率跟踪、最大功率跟踪、相位跟踪、输入欠压保护、输出过流保护、反孤岛效应等功能

AVR中断优先级

AVR单片机在同一个优先级中,中断向量入口地址越低,其优先级越高。AVR单片机在响应中断以后,会禁止系统响应其余中断。如果程序需要在某个中断服务程序中响应其它中断事件,可以在该中断服务程序中用SEI指令或_SEI()(IAR)、 SEI()(ICCAVR)重新使能全局中断即可。否则,AVR单片机只有在退出中断进程时,才重新使能全局中断。

基于ATmega16单片机的简易多通道虚拟示波器的设计

虚拟仪器是基于PC技术发展起来的,所以完全"继承"了以现成即用的PC技术为主导的最新商业技术的优点,包括功能超卓的处理器和文件I/O,使在数据导入磁盘的同时就能实时地进行复杂的分析。为了实时、准确地测量输入波形的参数,本文采用自带8路10位ADC的单片机ATmega16,结合简单的外围电路,即可将输入波形实时传送给PC机进行处理。

便携式生命体征动态监测仪设计

生命体征监测仪是医院不可缺少的重要设备,它实时、连续、长时间地监测病人的重要医学生理参数,并将获得的数据传送给医护人员,以供医护人员进行分析,使得医护人员能够对病人当前的状态做出正确判断,从而做出正确的处理。

基于单片机的智能学习型红外空调遥控器

为了解决空调遥控器不兼容问题,设计了一款基于Atmega16单片机的智能空调遥控器。该遥控器采用测量脉冲宽度的方法学习红外信号,同时使用游程编码算法对数据进行压缩后存储,并利用单片机内部定时器PWM模式产生红外载波,成功实现了对红外遥控的学习与再现,并可通过上位机进行控制。

©2018 Microchip Corporation
facebook google plus twitter linkedin youku weibo rss