基于超声波传感器的液位控制系统

2018-01-23 08:57颜浩周林栾文洲逄增栋严俊
价值工程 2018年34期
关键词:超声波

颜浩 周林 栾文洲 逄增栋 严俊

摘要:为保证水池液位一直处于安全位置以下,设计了一款以STC89C52单片机为控制芯片的超声波非接触式液位控制系统。该系统采用HC-SR04实现测距功能,温度采集用于声速补偿,固态继电器控制三相电动机通断,LCD1602作为显示界面,按键用于参数设定。测量距离不在设定范围内时,系统自动判断并控制三相电动机的启停,该系统实现了弱电控制强电,实现无人值守自动排水。通过实际安装应用表明,系统满足设计要求,具有操作简单性能稳定等优点。

Abstract: In order to ensure that the liquid level of the pool is always below the safe position, an ultrasonic non-contact liquid level control system based on STC89C52 single-chip microcomputer is designed. The system uses HC-SR04 to achieve ranging function, temperature acquisition for sound speed compensation, solid state relay control three-phase motor on and off, LCD1602 as a display interface, keys for parameter settings. When the measurement distance is not within the setting range, the system automatically judges and controls the start and stop of the three-phase motor. This system realizes weak current control and strong power, and realizes unattended automatic drainage. The actual installation and application show that the system meets the design requirements and has the advantages of simple operation and stable performance.

關键词:STC89C52;超声波;固态继电器;三相电动机;LCD1602

Key words: STC89C52;ultrasounic;solid state relay;three-phase motor;LCD1602

中图分类号:TP212.9                                    文献标识码:A                                  文章编号:1006-4311(2018)34-0117-03

0  引言

在现实生活中利用超声波测距的应用越来越多,超声波是一种非接触式的测距传感器。超声波指向性强,能量消耗缓慢且在介质中传播的距离较远。与其它测距方式相比,它不受天气、光线及被测物体颜色的影响。对于被测物处于烟雾、有灰尘、电磁干扰、黑暗等恶劣的环境下有一定的适应能力[1]。该系统采用HC-SR04超声波传感器作为距离测量传感器,测量出与液位之间的距离,把测量数据显示在LCD1602上面,单片机通过测量的数据间接控制固态继电器,实现对三相电机的启停控制。该系统在测量的距离小于上限距离时,系统报警,同时启动三相电机自动排水,当系统测量的距离大于下限距离时,三相电机自动停止,系统距离阈值可根据实际情况设置。该系统实现了弱电控制强电,实现无人值守自动排水功能,减少了人工操作环节,避免了人工操作的安全隐患并且安装简单,成本低,具有很强的实用价值。

1  系统设计原理

1.1 系统工作原理

采用超声波测量距离,将距离显示在LCD1602上,通过按键设置水池水位的上端和下端的安全距离,当测量的距离低于上端的安全距离时,系统报警提示,同时单片机通过P2.0引脚输出低电平信号,触发小型直流继电器工作,小型直流继电器导通,从而触发固态继电器导通,三相电机将启动进行自动排水;当测量的距离低于下端的安全距离时,单片机通过P2.0引脚输出高电平信号,小型直流继电器停止工作,无输出信号,从而固态继电器不导通,三相电机将自动停止抽水。自动排水控制系统设计框图如图1所示。

1.2 超声波测距原理

采用超声波测量传感器与水池水面之间的距离,当超声波传感器的发射端发出信号后,遇到水面,就会将信号反射回来,利用超声波的这种特性,采用时间差值检测法[2]进行对水池水面距离的测量。其测量原理是超声波发射端向水面方向发射超声波,在发射声波的同时开始计时。声波在空气中传播,碰到水面立即反射回来,超声波接收端接收到反射信号就立即停止计时。根据计时器记录的传播时间及声波在空气中传播的速度,就可以计算出发射端距水面的距离,计算公式为:S=Vt/2,由公式V=331.5+0.607T,可以确定出安装使用环境下的声速V。公式中:S 表示测量距离;t表示声波发射到声波返回的时间间隔;V 表示声波在空气中传播的速度,其值受到环境温度的影响;T表示安装环境的温度(℃)[3]。将测量的距离在LCD1602上面显示出来。

2  系統硬件电路设计图

本系统硬件电路设计主要分为:电源模块、单片机最小应用系统、温度模块、超声波模块、继电器模块、按键模块,1602LCD显示电路。系统硬件电路设计图,如图2所示。

3  系统软件设计

3.1 系统程序流程图

该系统采用C语言模块化程序设计。系统程序主要包括温度采集模块、超声波测距模块程序、继电器模块程序、LCD显示模块程序、按键模块程序、报警模块程序等。主程序流程图如图 3所示。

3.2 主程序设计

程序采用模块化设计,进入主程序,首先检测蜂鸣器状态,初始化单片机IO口,初始化LCD1602和定时器,调用执行一次温度采集函数和超声波测距函数,LCD显示用户设定初始的上限和下限值。进入while循环,执行主程序。

void main()

{

speaker = 0;

delay_1ms(200);

P0 = P1 = P2 = P3 = 0XFF;

init_1602();

time_init();

get_temperature();

ultrasouic_ dis();

write_lcd(2,3,Up);

write_lcd(2,11,Down);

while(1)

{

get_temperature();

ultrasouic_ dis();

write_lcd(1,8,distance);

Relay();

key();

if(key_can < 5)

{

key_with();

}

}

}

3.3 温度采集程序设计

在本系统设计中采用DS18B20温度传感器采集环境温度,将采集的温度用于计算超声波测距的声速,补偿声速受环境温度的影响,提高测量距离的精确性。

uint get_temperature()

{

float temperature;

uchar a,b;

delay_1ms(2);

write_lcd_byte(0xcc);

write_lcd_byte (0xbe);

a= write_lcd_byte ();

b= write_lcd_byte ();

temp=b;

temp<<=8;

temp=temp|a;

temperature=temp*0.0625;

temp=temperature*100+0.5;

return temp;

}

3.4 超声波测距程序设计

首先超声波的发射端发射出一个超声波脉冲信号,延时10ms关闭脉冲信号,等待接收端接收返回的信号,开启定时器T0计时,当接收到信号后立即执行while(ultrasouic_recive)函数,利用计数器 T0中的计数计算出被测液面与超声波测距仪之间的距离[4]。

void ultrasouic_dis ()

{

TH0 = 0;

TL0 = 0;

TR0 = 0;

ultrasouic_send = 1;

delay();

ultrasouic_send = 0;

while(!ultrasouic_recive);

TR0=1;

while(ultrasouic_recive)

{

flag_time0 = TH0 * 256 + TL0;

if((flag_time0 > 23530))

{

TR0 = 0;

distance = 888;

break ;

}

else

{

flag_ultrasouic_utility = 1;

}

}

if(flag_ultrasouic_utility==1)

{

TR0=0;

V =331.5+0.607* temp;

distance = flag_time0/2* V;

if((distance > 400))

{

distance = 888;

}

}

}

3.5 继电器程序设计

对测量的距离与用户设定的上限和下限距离相比较,当测量的距离小于用户设定的上限距离时,固态继电器吸合,此时启动三相异步电机;水位不断下降,当测量的距离大于用户设定的下限距离时,固态继电器断开,三相异步电机停止工作。

void Relay()

{

if(distance<Up)

{

Relay1 = 0;

}

else if(distance>Down)   Relay1 = 1;

}

4  安装调试与应用

表1为同一环境高度下不同液面测量的距离与实际距离。将制作好的超声波测距仪安装在应急排水池上方60cm处固定好,通过实验得到以下数据。

通过实验数据表明,在有效数据测量范围内,测量距离与实际距离的误差均小于1.5%,满足系统设计要求。

表2为实际安装应用时系统测试结果,当系统测量的距离小于设定的安全距离上限时,电机自动启动进行排水,当系统测量的距离大于设定的安全距离下限时,电机自动停止排水。经过一段时间实际安装测试应用,该系统满足厂内自动排水要求,能够保证液面一直处于安全位置,避免了因积液而造成的安全隐患。

5  结束语

通过超声波测量距离,实现了应急排水池的自动排水,保证液面一直处于安全位置,减少了人工操作环节,避免了人工操作的安全风险,避免了夜间水池液面超过安全距离而造成的危险。该测距自动排水系统设计简单,安装方便,实现无人值守自动排水的功能,在实际安装应用中取得很好的效果。在硬件制作中充分考虑了三相交流固态继电器扇热性能,采用铝排安装固定并在接触面涂有散热硅胶,避免雨季因频繁启动过热而损坏继电器;考虑了环境温度对超声波声速的影响,采用DS18B20测量安装环境的温度,用于补偿超声波传感器声速受温度的影响,提高测量距离的精确性。该系统实现了弱电控制强电,具有抗干扰能力强,设计简单,安全可靠,精确度高、成本低和操作简单等特点,可以广泛应用于排水、防洪坑的自动排水。

参考文献:

[1]刘玉芹,刘敬文.超声波测距仪在移动机器人避障中的应用[J].仪器仪表学报,2006(S2):541-542.

[2]李航,王可人.基于STC89C52RC的超声波测距系统设计[J].电子测试,2010(1):55-58.

[3]唐万伟,张银蒲,申彦春.基于AT89S52单片机的超声波测距系统设计[J].唐山学院学报,2012(25):17-18,21.

[4]郭清.基于STC89C52的超声波测距防撞系统设计[J].仪表技术与传感器,2011(6):74-77.

[5]周卫兵.固态继电器的特点及应用[J].山西電子技术,2010.

猜你喜欢
超声波
超声波振动车削的设计
基于Niosll高精度超声波流量计的研究
浅谈超声波测距
基于手机准超声波控制的智能灯
蝙蝠的超声波
超声波流量计的研究
超声波流量计在兰干渠上的应用
超声波促进合成新型吡咯α,β-不饱和酮
超声波治疗脑卒中后顽固性呃逆的临床观察
超声波强化制备高取代度大米淀粉乙酸酯