1 理论分析
超声波在悬浮液中传播时,与悬浮粒子相遇的超声波在界面被散射衰减,其余部分入射到粒子内被吸收衰减,接触界面的超声波又受到粘滞衰减,最后到达接收端。各种衰减的机理是很复杂的,但都是由悬浊粒子所引起,并与悬浊粒子的数目成比例,故在一定条件下衰减是和浓度成比例的,测知悬浮液的声衰减系数,就能求出浓度。设液体中有悬浮粒子时的衰减率和接收电压分别为(a0+ax)和E。,液体中没有悬浊粒子时的衰减率和接收电压分别为a0和E0,发射、接收端之间的距离为L,发射电压为Er,则:
根据上述两个公式,悬浊粒子引起的衰减率可由ax=(lnE0-lnEx)/L求得。
由接收探头接收到的声波幅度将随悬浮液浓度的增加而衰减,声波幅度转换成的电压值也随浓度的增加而衰减,该浓度一电压衰减曲线经过标定后,即可从测量电压得到浓度值。
2 硬件设计
如图1所示,整个系统以超声波发射和接收电路为核心,采用直接数字频率合成芯片AD9833产生脉冲串,经过功率放大电路驱动超声波换能器,超声波经过悬浊液到达接收换能器,利用92 dB对数放大器AD8307对回波衰减信号进行对数放大,最后由微控制器对数据进行处理得出浓度值。系统还包括键盘、显示、参数存储、开关量输出、继电器输出、电流输出、UART通信等部分。
2.1 主控芯片电路
本系统以美国Silab的高速混合信号ISP Flash微控制器C8051F021为核心。衰减法超声波浓度计在超声波发射和接收的时序上需要精确的控制,这不仅需要处理器的速度快,而且需要多个定时器;由接收单元返回的是低于2.5 V的电压信号,需要经过精确的A/D采集转换成数字信号传递给CPU处理。C8051F021的特点如下;
①高速、流水线结构的8051兼容的CIP-51内核(可达25 MIPS)。
②12位的片上SAR ADC,可编程转换速率,最大100 kbps,可编程放大器增益。
③4 352字节内部数据RAM,64 KB Flash存储器;可以在系统编程。
④5个通用16位计数器、定时器阵列,硬件SMBus、SPI及2个UART串口。
⑤功耗低(10 mA@20 MHz),多种节电休眠和停机方式。
2.2 DDS产生超声波发射单元的脉冲串
直接数字频率合成器(DDS)以“相位”的概念进行频率合成,不仅可以产生不同频率的正弦波,而且可以控制波形的初始相位,还可以产生三角波和方波。本系统采用DDS AD9833作为超声波发射单元的脉冲生成器。AD9833是可编程的,通过高速串口外围接口(SPI),只需要一个外部时钟去产生简单正弦波就可工作。 AD9833可以在基于25 MHz的时钟下产生0 Hz~12.5 MHz的波形。
超声波发射单元的脉冲生成电路如图2所示。DDS的时钟来源于25 MHz有源晶振。AD9833的SPI总线CLK、DATA、CS与微处理器的I/O口通过一片74HC244相连接。74HC244是八同相三态缓冲器,用于增强信号带负载能力。通过微处理的控制,AD9833在VOUT引脚输出需要频率的方波。AD9833的输出与微控制器的选通信号EN在与非门的作用下,在与非门的输出端产生脉冲串,这个脉冲串经过功率放大电路就可以对超声波换能器进行驱动。
2.3 超声回波接收单元的对数放大器
在信号处理领域中,一些信号往往具有很宽的动态范围。比如在雷达、声纳等系统中,需要处理的信号动态范围可达120 dB以上;超声波回波接收器前端的电压也可以从“μV”级到“V”级。宽动态范围往往给应用设计带来很多问题。
在实际应用中,一般会对所要处理的信号进行非线性压缩。应用最多的就是对数放大器。它使输出信号和输入信号的包络成对数比例。它对信号动态范围的压缩不需要像AGC系统那样提取输入信号的电平来控制增益,其增益与信号的大小成反比,在通信、雷达、超声、电子对抗中有着广泛的应用。
如图3所示,该方案采用单端输入,有对数零点和斜率调节电路,将对数零点设在-84 dBm,斜率定为大约20 mV/dB。对数放大器后加一级缓冲(AD8031),主要作用有二:一是使接收模块最终输出是低阻抗的,提高抗干扰能力;二是通过这一级的电压增益将对数斜率恢复到25 mV/dB 。设计的对数放大器信号输入范围定为-72 dBm(在50 Ω源阻抗时,-72 dBm相当于振幅为±80 μV的正弦波)到+10 dBm(振幅为±1 V的正弦波),相应的对数输出电压为0.3~2.35 V,对数动态范围82 dB 。该电路做成模块形式,封装在屏蔽罩中。所有引线(地线和输出信号线除外)均通过穿心电容引出,穿心电容的外极接地,以提高屏蔽效果。
3 软件设计
超声波浓度计软件由信号处理程序、界面程序、控制信号输出程序、通信程序四部分组成,软件总流程如图4所示。信号处理程序实现DDS控制、超声波发射、回波信号A/D采集、信号综合处理等功能,是软件程序的重点。界面程序包括界面显示、参数设置、键盘处理等功能,实现与用户良好的沟通。控制信号输出程序实现了电流信号、继电器信号、开关量的输出,完成了工业现场控制的需要。通信程序按一定的协议送出仪表存储的单次A/D值和综合处理的显示值,供仪器的性能校验使用。
软件程序的核心由超声波发射(包含DDS脉冲合成)、超声波回波A/D采集程序、信号滤波程序、浓度计算程序构成。
3.1 超声波发射程序、回波A/D采集程序
本系统选用的DDS是SPI总线的,在串口时钟SCLK的作用下,数据以16位的方式加载到设备上。FSYNC引脚是使能引脚,电平触发方式,低电平有效。进行串行数据传输时,FSYNC引脚必须置低,要注意FSYNC有效到SCLK下降沿的建立时间的最小值。FSYNC置低后,在16个SCLK的下降沿数据被送到DDS的输入移位寄存器,在第16个SCLK的下降沿FSYNC可以被置高,但要注意在SCLK下降沿到FSYNC上升沿的数据保持时间的最小和最大值。当然,也可以在FSYNC为低电平的时候,连续加载多个16位数据,仅在最后一个数据的第16个SCLK的下降沿时将FSYNC置高。最后要注意的是,写数据时SCLK时钟为高低电平脉冲,但是,在FSYNC刚开始变为低时(即将开始写数据时),SCLK必须为高电平。
通过微控制器的硬件SPI(使用微控制器的3个端口)可以控制DDS输出0 Hz~12.5 MHz的方波。另外使用一个端口和DDS的输出共同作为与非门的输入,这样就可以实现脉冲串的时长控制,开启脉冲串输出的同时对时长计数,依据超声波在矿浆中的传送速度和发射接收传感器的间距就可以判断何时接收超声波回波。利用片内A/D采集超声波回波,便可以对A/D采集到的数字信号进行处理。
3.2 信号滤波程序
常用的软件滤波方法很多,包括限幅滤波法、中位值滤波法、算数平均滤波法、递推平均滤波法、中位值平均滤波法、限幅平均滤波法、一阶滞后滤波法、加权递推平均滤波法、消抖滤波法。由于工业现场环境恶劣,采集到的信号没经过处理往往不能直接用,这样就需要对采集到的A/D值进行滤波处理。由于现场的跳变是随机的,所以不能用常规的滤波程序,需要用到限幅滤波法和消抖滤波法的综合方法——限幅消抖滤波法。
限幅滤波法是根据经验判断,确定两次采样允许的最大偏差值(设为A)。每次检测到新值时判断:如果本次值与上次值之差小于等于A,则本次值有效;如果本次值与上次值之差大于A,则本次值无效,放弃本次值,继续下一次A/D采样。
消抖滤波法是设置一个滤波计数器,将每次采样值与当前有效值比较:如果采样值等于当前有效值,则计数器清零;如果采样值大于或小于当前有效值,则计数器加 1,并判断计数器是否大于等于上限N(溢出)。如果计数器溢出,则将本次值替换当前有效值,并清零计数器。限幅消抖滤波程序能随着现场的跳变做出相应的改变,使信号处理更合理准确。
3.3 浓度计算程序
浓度计算程序中包含浓度曲线拟合和温度补偿两部分。
曲线拟合是用连续曲线近似地刻画或比拟平面上离散点组所表示的坐标之间的函数关系的一种数据处理方法。浓度曲线拟合经过多次的试验校正,采用了2条一次曲线和1条二次曲线,确保浓度的最大程度拟合。同时由于现场不同环境的需要,设置了一些拟合参数,以便于随时调整。
温度变化给超声波传感器实际测量带来误差,表现在微控制器对超声波回波A/D采集上产生非线性变化。为了解决这个问题,必须进行温度补偿,找出它们之间的关系,建立相应的数学模型。本系统用拟合法求出各温度时的传感器静态输出特性的拟合多项式,将各个拟合参数b0,b1,b2,…,bk写入程序,对微控制器片上A/D采集到的超声波回波数据进行温度补偿,即由输入温度和A/D值查找和计算相应的补偿后的正确值,确保浓度数据的正确性。
结 语
本文讨论了超声波浓度计的实现方法及应用的主要技术,发射电路采用DDS,接收电路采用对数放大器,经工程实践证明,这些方法都是可行的。但由于自身电路的局限和工业现场的环境干扰,该产品的精度还有待提高。 |