您现在所在的是:

仪器仪表

回帖:2个,阅读:362 [上一页] [1] [下一页]
597
dianlv88
文章数:29
年度积分:50
历史总积分:597
注册时间:2012/9/3
发站内信
发表于:2012/11/23 10:06:15
#0楼
我国对于积雪的实时检测技术还比较落后,如通过利用卫星来实时监视积雪融化动态,但在实际的运作中,由于地面环境的复杂性存在比较大的误差与缺陷[1]。早在1973年,MrClain等人指出雪的表面反射率可以作为雪深的指示因子[2],但是由于地表土壤成分各不相同以及表面杂物不同,其检测效果也并不可观。因此,研制一套低功耗高精度的融雪测量仪是有必要的,而且具有广阔的应用前景。

1 总体设计方案

本设计提出以超声波传感器进行积雪厚度的实时监测,采用“渡越时间检测法”进行雪厚的测量。其测量原理为:超声波发射器垂直地向雪表面发射超声波,同时采集板上微控制器内部定时器开始计时,碰到雪面反射回来。当超声波接收器接收到反射波时,定时器就立即停止计时,根据定时值,计算出发射点距雪表面的距离 S。假设设备安装高度为S0,雪厚值为S0-S。最终控制器对采集板进行召测,对采集到的数据处理与分析,并做出相应的预警功能。

2 低功耗的实现方案

低功耗实现方案主要有:控制板的主控制器的选型以及工作模式的选择;控制AT89C2051单片机的工作模式和485通信状态的控制以及设置合理的采样周期。

(1)主控制器的选型及工作模式的选择

控制板的主控制器选择MSP430F149,这是一款16位超低功耗的混合信号处理器。电源电压采用1.8~3.6 V,在2.2 V、1 MHz的时钟条件下运行时,电流仅有160 μA。待机模式:1.6 μA。关闭模式(RAM保持):0.1 μA。平时让主控制器处于LPM3模式下,CPU停止工作,主时钟关闭,子时钟关闭,内部振荡器关闭,辅导时钟打开,其功耗为2 μA。同时,将TIMER_A的时钟源选为ACLK,当到达定时时间时,用#pragma vector=TIMERA1_VECTOR中断CPU唤醒。具体程序实现方法为:

Void Init_Timer_A()

{

TACTL|=TASSEL_1+TACLR; //选择时钟源为ACLK

TACTL|=MC1+TAIE; //使能定时器A中断

}

_BIS_SR(LPM3_bits+GIE); //Enter LPM3 interrupt

#pragma vector=TIMERA1_VECTOR //中断服务函数

__interrupt void Timer_A(void)

{}

(2)工作模式以及485状态控制

平时单片机处于“空闲方式”状态,当有串口中断唤醒的时候,CPU才开始采集数据。当采集完成后通过RS-485总线发送给控制板(注:RS-485平时处于接收状态,需要发送时才使能发送端口,为了降低功耗),执行完成后单片机继续“睡觉”。程序实现方法如下所示。

Void Init_Uart()

{

TMOD=0X21;TH1=0XFD;TL1=0XFD;TR1=1;

//波特率发生器的选择

REN=1; //使能接受

SM0=0;SM1=1;

ES=1; //打开串口中断

EA=1; //开总中断

}

Void Init_485()

{

CONTROL_485=0; //使485模块处于接收状态;

}

Void Serial() interrupt 4 //串口中断服务函数

{}

Void Lower_Power()

{

CONTROL_485=0; //使485处于接收状态

PCON=0X01;//使单片机处于“空闲模式”

}

(3)设置合理的采样周期

由于积雪的融化与温度有关,当温度在冰点之下时,积雪不融化。这时候就没必要一直去采集积雪的融化状况,即采集频率可以减小,对于降低功耗是一种有效的方法(根据实际情况可在软件中设定值)。该设计中设定的采样周期如表1所示。




3 高精度的实现方案

高精度的实现方案主要表现为:确定回波检测方案,温度补偿,对采集值进行数字滤波,真实值与测量值之间做线性补偿。

(1)确定回波检测方案

能够快速检测到回波对于提高精度是一个关键点。如果在程序中使用冗余或者复杂的程序后,势必会增加定时器的计数值,从而影响测距精度。下面是该设计中使用的回波检测程序。

C语言程序:

while(SUPERSONIC_IN&&(TF0==0))

{}

TR0=0; //关闭定时器0

反汇编分析:

290: while(SUPERSONIC_IN&&(TF0==0))

C:0x055B 30B703 JNB SUPERSONIC_IN(0xB0.7),C:0561

C:0x055E308DFA JNB TF0(0x88.5),C:055B

291: {}

292:

293: TR0=0; //关闭定时器0

C:0x0561 C28C CLR TR0(0x88.4) 一条JNB bit,rel汇编语句执行时间为2个机器周期,一条CLR C汇编语句执行时间为1个机器周期,所以执行一次上述回波检测语句需要5个机器周期,而该设计中使用的晶振为12 MHz,一个机器周期为1 μs,因此需要5 μs。由公式S=VT/2,S为距离,V为波速,T为渡越时间。假设此时的V为340 m/s,得S=0.85 mm,误差在1 mm之内,在设计允许范围之内。

(2)温度补偿

由于超声波波速受到环境温度的影响,需要对波速进行温度补偿,利用数字温度传感器采集环境温度,以便为做成高精度的采集系统做保障。表2列出几种不同温度下的超声波波速[3]。




根据上述表2中数据,可以得出温度补偿公式如式(1)所示:

V=331.5+0.607×T (1)

其中V表示实际波速,T表示环境温度。程序算法如下所示:

float Count_Supersonic_Speed

(UCHAR real_temp)

{

float V1;

V1=real_temp/2+real_temp/10+331+1/2;

return V1;

}

(3)对采集值进行数字滤波

由于实际测量中会出现偶然脉冲干扰,使测得的数值偏差很大,通过防脉冲干扰平均滤波法(Anti-Pulse Interference Average Filtering Method)踢除此干扰,同时对剩余的数据取平均值。测试效果如表3所示。

(4)真实值与测量值之间做线性补偿

由于实际测量值与真实值之间会存在误差,现在通过用一次函数Y=KX+B做线性补偿算法来减少测量误差。在没有加入补偿之前如表4中的误差1所示。E2 到E11中的数值是Y由式EN=(AN+1-AN)/(BN+1-BN),(N=2~11)得到。F2到F22中的数据是对E2到E11中数据取平均值。 G2到G11中的数据由公式GN=AN-FNBN,(N=2~11)。HN(N=2~11)中的数据是对G2到G11取平均值得到。计算出K=1.077 229 163,B=32.240 783 23。Y=1.077 229 163X+32.240 783 23,得到补偿后的数据I2到I22。最终保证误差在5‰左右,如表4中的误差2所示。上海华声电气研究所转经过测试,融雪测量仪的测量范围为300 mm~2 000 mm,测量精度控制在5‰之内,且耗电量低。同时,由于考虑到实际应用环境的复杂性,对于元器件的选择全都采用工业级产品,以保证设备的稳定与可靠性。

参考文献

[1] 毛炜峰,张旭,杨志华,等.卫星遥感首次监测到准噶尔盆地西北部的冬季融雪洪水[J].冰川冻土,2010,32(1):211-214.

[2] RAMSAYB H. The interactive multisensor snow and ice mapping system[J]. Hydrological Processes, 1998,12:1537-1546.

[3] 翟国富,刘茂恺.一种实时高精度的机器人用超声波测距处理方法[J].应用声学,1990(1):17-24.
756
twj1022
文章数:70
年度积分:50
历史总积分:756
注册时间:2012/11/19
发站内信
发表于:2012/11/23 16:19:46
#1楼
就第一段看懂了说的是我国检测技术比较落后 其余的看不懂了
[url=http://www.fusens.com气体检测仪 [/url]
匿名用户
文章数:N/A
年度积分:0
历史总积分:0
注册时间:2007/12/6
发站内信
发表于:2012/11/24 13:52:25
#2楼
该用户被锁定,回复内容不予显示!

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2024 Gkong.com, All Rights Reserved

46.8003