基于AVR和振弦式渗压计的大坝监测系统设计

发布者:见贤思奇异果最新更新时间:2011-09-21 关键字:AVR  振弦式渗压计  大坝监测 手机看文章 扫描二维码
随时随地手机看文章
    渗流监测是大坝安全监测中的重要项目之一,为了全面地分析大坝在运行期间的安全性,必须进行渗流量的观测,同时还应观测渗水的温度。由于振弦式渗压计具有分辨率高、不受降雨干扰、无淤堵等优点,所以近年来在大坝渗压监测中得到了广泛的应用。文中提出了以AVR单片机为核心的简单有效的大坝渗压监测系统,并对其中部分模块进行了改进。

1 振弦式渗压计
1.1 振弦式渗压计结构与原理
    本文采用的是VWP型振弦式渗压计,它由透水板、感应膜、密封壳体、振弦及激振电磁圈等组成。仪器中有一个灵敏的不锈钢膜片,在它上面连接振弦,如图1所示。当被测水压作用膜片上时,将引起弹性膜板的变形,其变形带动振弦转变成振弦应力的变化,从而改变振弦的振动频率。使用时,通过对电磁线圈加载适当的电流实现激振过程,激振完成后,切断对线圈的供电,同时将线圈接入测量电路中,通过拾取线圈中的感生电动势来获得振弦的固有频率,频率信号经电缆传输至读数设备,即可测出水荷载的压力值,同时可测出埋设点的温度值。

a.JPG


1.2 振弦式渗压计的数学模型
    对于图1所示的振弦式渗压计,当振弦受张力T作用时,其等效刚度发生变化,振弦的谐振频率f为:
    b.JPG
    式中,p-振弦的线密度(tex,ltex=g/km);l-振弦的有效振动长度(m)。
    本文采用的是单根振弦的渗压计,根据其输出特性,计算公式如下:
    c.JPG
    式中,Pm为渗透压力;k为渗压计的测量灵敏度;fo为基准频率值;f实测频率值;b为温度修正系数;T为实时测量的温度值;T0为温度的基准值;Q为大气压修正系数,对于密封腔与大气压沟通的仪器,Q恒为0。
    假设不考虑大气压力影响,当外界温度恒定时,渗透压力与频率平方差成正比;当渗压增量恒定时,渗透压力与频率平方差成正比,这个输出量仅仅是由温度变化而造成的,与温度增量成线性关系,即d.JPG,于是温度修正系数e.JPG,如果不考虑温度增量的影响,这个输出的变化就是温度变化引起的系统误差。本系统中采用的渗压计k=0.1105,b=0.3042。
[page]

2 ATmega128微处理器
    ATmega128作为数据端的控制核心,是基于增强的AVRRISC结构的低功耗8位CMOS微控制器。由于其先进的指令集以及单时钟周期指令执行时间,ATmega128的数据吞吐率高达1 MIPS/MHz,从而可以缓减系统在功耗和处理速度之间的矛盾。该芯片采用5 V供电,其最高工作频率可达16 MHz;4 K字节的SRAM、4 K字节的EZPROM(其寿命可达100 000次写/擦除周期);4个灵活的具有比较模式和PWM功能的定时器/计数器(T/C)。支持外部存储器扩展,为编写和运行程序提供了强力的保证。
    特别的,T/C的输入捕捉单元可用来捕获外部事件,并为其赋予时间标记,以说明此时间的发生时刻。外部事件发生的触发信号由引脚ICPn输入,也可以通过模拟比较器单元来实现。本文采用通过模拟比较器单元触发方式,可以将放大滤波后的模拟信号直接转换为数字信号并被单片机检测。模拟比较器的框图如图2所示。

f.JPG


    其中,ACIC置位后允许通过模拟比较器来触发T/C1的输入捕捉功能。此时比较器的输出被直接连接到输入捕捉的前端逻辑,从而使得比较器可以利用T/C1输入捕捉中断逻辑的噪声抑制器及触发沿选择功能。ACIC为“0”时模拟比较器及输入捕捉功能之间没有任何联系。为了使比较器可以触发T/C1的输入捕捉中断,定时器中断屏蔽寄存器TIMSK的TICIE1必须置位。

    ATmega128有一个10位的逐次逼近型ADC。ADC包括一个采样保持电路,以确保在转换过程中输入到ADC的电压保持恒定。ADC通过逐次逼近的方法将输入的模拟电压转换成一个10位的数字量。最小值代表GND,最大值代表AREF引脚上的电压再减去1LSB。通过写ADMUX寄存器的REFn位可以把AVCC或内部2.56 V的参考电压连接到AREF脚。在AREF上外加电容可以对片内参考电压进行解耦,以提高噪声抑制性能。如果使用单端通道,则绕过增益放大器。因此电路在设计时,将激振输出的信号进行放大并滤除直流信号,进而进行ADC转换。转换结束后(ADIF为高),转换结果被存入ADC结果寄存器(ADCL、ADCH)。单次转换的结果如下:
    g.JPG
    式中,VIN为被选中引脚的输入电压(PF0),VREF为参考电压。0x000代表模拟地电平,0x3FF代表所选参考电压的数值减去1LSB。

3 系统设计与实现
    根据上述基本原理,设计的监测系统的整体框图如图3所示。主要由防雷击电路、激振电路、检测电路、单片机控制电路等几部分组成。工作过程是由单片机产生PWM信号完成对渗压计的激振,线圈中产生的感应电动势经放大滤波电路送给单片机,运用其模拟比较器进行数据捕捉处理,在人工采集数据时直接送显示电路显示。但在远程监控时,可通过Zigbee通信模块进行无线传输,从而完成对数据的采集处理。

h.JPG

[page]

3.1 防雷击电路
    雷击是影响大坝安全检测系统正常运行的重要因素之一,因此必须提高检测系统的防雷性能。本文将介绍一个简便易行有效的防雷击电路,如图4所示。

i.JPG


    防雷击电路由玻璃放电管(防雷管)、双向瞬变二极管和热敏电阻组成。当强电流(高于玻璃放电管的放电电压)来时,放电管两端会产生弧光放电,气体电离放电后,两端电压以10-9秒量级的速度迅速降低,从而保护电路。在有可能出现续流的地方,为防止玻璃放电管击穿后长时间导通而损坏,电路中串联热敏电阻。双向TVS(导通电压定位6 V>5 V),在这里起到备用通路的作用。它可在正反两个方向将其工作阻抗立即降至很低的导通值,并将电压钳制到预定水平,从而提高了防雷电路的可靠性。
3.2 激振检测电路
    作为整个系统的主体部分,首先给出总的电路图,如图5所示。

g.JPG


3.2.1 激振电路
    目前,振弦式传感器激励方式主要有高压拨弦和低压扫频激振两种。由于系统运行在低压状态,故采用低压扫频激振。根据传感器的固有频率选择合适的频率段,对传感器施加频率逐渐变大的扫频脉冲串信号,当激振信号的频率和钢弦的固有频率相近时,钢弦能快速达到共振状态,此时产生感应电动势且振幅最大,传感器输出的频率信号信噪比较高且便于测量。
    本系统选用的传感器振弦的固有频率为450~5 000 Hz,故可以充分利用AVR微处理器。运用软件设计,设置ATmega128单片机的引脚PB44输出PWM信号进行激振,激振输出的信号经过光电隔离放大整形电路,进入单片机的ADC接口(PF0),完成对感应电动势的采集。通过程序设计,将最大感应电压信号对应的频率保存在片内存储器中,从而完成对渗压计的激振。对于以后的激振将一直采用此频率,从而确保系统能获得高精度的测量结果,流程图如6所示。

k.JPG


3.2.2 信号调理检测电路
    对传感器进行扫频激励后,传感器将返回幅度不断衰减的正弦信号,由于信号幅度较小,在1 mV左右,因此需要对信号进行放大。本系统选用INA326精密仪表放大器,其适用于单电源、低功耗和精密测量的应用场合,并可保持良好的线性。如图5,INA326的增益它的增益可通过与输入信号隔离的外部增益电阻来设置,而且工作性能稳定。电路中分别由R1、R2、R5、R6设置,增益G1=2R2/R1,G2=2 R6/R5。外接电阻除与增益有关外,也直接影响到稳定性及温度漂移,因此要求精度高时要采用低温度系数的精密电阻。为尽量减少在脚1与脚8的杂散电容量,而且将脚4与脚7直接用电容相连接。

[page]

    由于振弦的共振频率范围为450~5 000 Hz,此频率信号的稳定持续时间是有限的,必须在共振信号衰减到不至于影响测频前完成测量任务。ATmega128的两个16位定时/计数器(T/C1、T/C3)具有输入捕捉功能,它是AVR定时/计数器的又一个显著的特点。本文将使用ATmega-128的1个定时/计数器,再配合其输入捕捉功能来测量脉冲的宽度,实现程序流程图7所示。

l.JPG


    在T/C1的捕捉中断中,首先比较PE2(AIN0)和PE3(AIN1)的电压值,得出AC0的实际状态,并清空溢出计数器。当检测器证实ACO为高电平,输入捕捉即被激发,16位的TCNTn数据被复制到输入捕捉寄存器ICRn,同时输入捕捉标志位ICFn被置位。通过读取ICRn寄存器,得到上升沿出现的时间T1;重复上面的过程,记录第二次上升沿出现的时间T2。将两次记录的时间相减,便求得脉冲的周期。如此重复测量多次,求得平均值,从而完成信号的检测。
    可以看到,由于使用定时/计数器以及配合它的捕捉功能测量两次上升沿之间的时间,不仅节省系统的硬件资源,编写程序简单,而且精度也高。
3.3 通道选择电路
    本系统所使用的传感器为白、绿、红、黑四线接头,其中白线与绿线代表所测热敏电阻接线端,红线与黑线代表振弦的两端。通过八通道模拟开关HCF4051以及单片机控制,通道选择模块把8路传感器分时测量。由单片机的引脚发出控制信号选通渗压计,然后进行激振并输出频率信号,最后以总线的形式接入到单片机测量电路。
3.4 测温电路
    在振弦传感器激振线圈旁设置有能测量温度的热敏电阻,这样就能测出温度对振弦频率的影响,从而对测量误差提出修正。
    在通常情况下,其温度与电阻的关系在一定温度范围内可表示为:
    m.jpg
    式中,T为温度,℃;g(R)为电阻R的函数关系式。所以,要测出温度,只要测量出温度传感器等效电阻即可。

4 结束语
    本测频系统具有简单有效的防雷击电路,以及简便的系统电路,使得整个系统的稳定性得到很大的提高。同时充分利用AVR单片机的强大特性,使得信号采集和检测的精度得到提高,为测量结果的后期处理与大坝安全监测带来了极大的便利。

 

关键字:AVR  振弦式渗压计  大坝监测 引用地址:基于AVR和振弦式渗压计的大坝监测系统设计

上一篇:基于AVR单片机与FPGA的低频数字式相位测量仪
下一篇:基于AVR单片机并采用分立元件构成的125 kHz RFID

推荐阅读最新更新时间:2024-03-16 12:41

基于AVR微控制器的电力机车智能辅保系统的实现
    摘要: 给出了以AVR微控制器为核心的电力机车智能辅保系统的设计方案,并介绍了系统硬件及软件的具体实现方法。     关键词: 智能辅保系统 AVR微控制器 硬件 软件 电气机车辅助系统中有劈相机、空气压缩机、通风机及制动风机等各种类型的电机。运行中为了防止出现短路、过流等异常情况而烧毁电机,通常配置辅助保护系统,起到及时监测电机故障并加以处理的作用。目前电力机车上安装的辅保系统都是模拟电路装置,系统硬件复杂,又不方便司机使用和维修。因此,设计一种实时性高、性能可靠的智能辅保系统替代原有的模拟电路装置势在必行。本文将介绍笔者开发的用于韶山型电力机车的智能辅助保护系统的设计及实现。 1 系统的主要功能
[应用]
avr的IO模拟SPI时序发送23位数据
#include iom16v.h /***********************************************************************/ #define DAT_L PORTA&=~(1 PA1) #define DAT_H PORTA|= (1 PA1) #define CLK_L PORTA&=~(1 PA0) #define CLK_H PORTA|= (1 PA0) #define ENA_L PORTA&=~(1 PA2) #define ENA_H PORTA|= (1 PA2) /*****************USART全局变量**************
[单片机]
AVR单片机新手避免锁死的方法
新手尽量不要设定熔丝,但是下载程序又必须设定一些,因此下面这些显得十分必要: 1、针对新买的AVR,它的内部没有程序,在电路板第一次通电写程序前设置与实际工作相符的熔丝位。特别是没有外部晶振时设置成外部时钟那肯定必死无疑。 2、如果AVR已有程序,且之前没有用外部晶振电路,中途想加外部晶振怎么办,焊接好外部晶振后,不要急着修改熔丝位,否则后果你懂得。先在内部RC工作模式下清除FLASH程序,然后再将熔丝位修改成外部晶振时钟。 3、如果熔丝锁死已经发生,没办法,要么用高压编程,要么自己买个大于4M的有源晶振(4个脚)直接给AVR提供时钟解锁。
[单片机]
AVR单片机直接控制其步进电机
用mege8L的PB0-PB3连接步进电机的四个接线端!该步进电机的转矩很小,强烈建议不要将其从底座上拆下!!!否则没有轴承支撑,摩擦力太大,转不起来! #include iom8v.h #define uchar unsigned char #define uint unsigned int uchar np; const uchar motortb ={0x11,0x99,0x88,0xcc,0x44,0x66,0x22,0x33};//步进电机运行数据表 void delay(uchar t)// 每步延时的子程序 { uchar i; uint j; for (i=0;i t;i++) for (j=0;j 900
[单片机]
AVR 单独按键状态机的实现
#include iom16v.h #include macros.h #include 1602.h #define key_state_0 0 #define key_state_1 1 #define key_state_2 2 #pragma interrupt_handler timer0:20 flash unsigned char led_7 ={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; unsigned char time ; unsigned char time_counter,key_stime_counter; char point_o
[单片机]
ICC错误集锦,看懂ICC AVR的报错
新手用ICC编程的时候,经常会出现一些错误,现在将常见的错误报告整理如下。这里的一些错误是我为了展示而故意制造的,欢迎你提供你遇到的错误。排名不分先后: 一、正常编译通过 CODE: C:\icc\bin\imakew -f main.mak iccavr -c -IC:\icc\include\ -e -DATMEGA -DATMega16 -l -g -Mavr_enhanced D:\桌面\实验教程\LED应用\霓虹灯\main.c iccavr -o main -LC:\icc\lib\ -g -ucrtatmega.o -bfunc_lit:0x54.0x4000 -dram_end:0x45f -bdata:
[单片机]
基于AVR的闸间隙报警CAN通讯模块的设计
0 引言 在煤矿生产中,矿井提升机是矿山大型关键设备。提升机的制动系统则是保证提升机能否安全运行、实现提升机正常减速停车以及在各种故障情况下执行紧急制动安全停车的最终手段。盘形闸是绞车提升系统中非常重要的配套设备,是保证安全提升的重要部分。盘形闸工作间隙报警有利于缩短故障排除的时间,故开发闸间隙报警模块具有重要的实际意义。CAN总线是一种总线型现场设备控制网络,具有突出的实时性、可靠性和灵活性。鉴于CAN总线的优势,本文开发了一种基于AVR的闸间隙报警CAN通讯模块,其成本低廉,安装方便。 1 模块硬件设计 该模块由处理器ATmega128、CAN总线控制器SJAl000以及CAN收发芯片CTM8251组成。其硬件结
[单片机]
基于<font color='red'>AVR</font>的闸间隙报警CAN通讯模块的设计
AVR熔丝位配置详解
AVR通过熔丝来控制芯片内部的一些功能,比如JTAG,时钟的使用,掉电检测电压,是否允许调试等。 AVR Studio 中 STK500 处理熔丝位有巨大的优势:它是以功能组合让用户配置。 这种方式与小马(PnoyProg2000,SL-ISP)相比,具有以下的优势(优势是如此明显,可以用 巨大优势 来形容): 有效避免因不熟悉熔丝位让芯片锁死 (这是初学者的恶梦), 笔者曾经锁死过三片Atmega16。 不需要靠记忆与查文档,就能配置熔丝位(这也是初学者的恶梦) 动手之前:请你一定弄清楚了,你这样改会有什么后果,除非你有很多钱不在乎多锁死几个芯片。备份你的熔丝位状态,在点击Program之前再次检查熔丝位设置正确与否,不
[单片机]
<font color='red'>AVR</font>熔丝位配置详解
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • ARM裸机篇--按键中断
    先看看GPOI的输入实验:按键电路图:GPF1管教的功能:EINT1要使用GPF1作为EINT1的功能时,只要将GPFCON的3:2位配置成10就可以了!GPF1先配 ...
  • 网上下的--ARM入门笔记
    简单的介绍打今天起菜鸟的ARM笔记算是开张了,也算给我的这些笔记找个存的地方。为什么要发布出来?也许是大家感兴趣的,其实这些笔记之所 ...
  • 学习ARM开发(23)
    三个任务准备与运行结果下来看看创建任务和任运的栈空间怎么样的,以及运行输出。Made in china by UCSDN(caijunsheng)Lichee 1 0 0 ...
  • 学习ARM开发(22)
    关闭中断与打开中断中断是一种高效的对话机制,但有时并不想程序运行的过程中中断运行,比如正在打印东西,但程序突然中断了,又让另外一个 ...
  • 学习ARM开发(21)
    先要声明任务指针,因为后面需要使用。 任务指针 volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • 学习ARM开发(20)
  • 学习ARM开发(19)
  • 学习ARM开发(14)
  • 学习ARM开发(15)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved