主页 关于我们 最新公告 往期目录 录用通知 精彩阅读 原创作品选编 投稿指南 汇款方式 联系我们
最新公告
《价值工程》现安排24年6月版面!04-01
2023年中国科技核心期刊目录09-21
《价值工程》投稿咨询电话!08-22
《价值工程》栏目设置07-22
《价值工程》文章细节要求:05-15
《价值工程》作者简介格式07-19

版权信息

版权信息:
杂志名称:《价值工程》
主管单位:河北省科学技术协会
主办单位:河北省技术经济管理现代化研究会
国际刊号:1006-4311
国内刊号:13-1085/N
邮发代号:18-2
责任编辑:张崇
咨询电话:18132119945
投稿邮箱:vezzs02@163.com

原创作品选编
基于超声波传感器的液位控制系统

Ultrasonic Sensor Based Liquid Level Control System

颜浩 YAN Hao;周林 ZHOU Lin;栾文洲 LUAN Wen-zhou;
逄增栋 PANG Zeng-dong;严俊 YAN Jun
(乐山有研稀土新材料有限公司,乐山 614300)
(Leshan Institute of Rare Earth New Materials Co.,Ltd.,Leshan 614300,China)

摘要:为保证水池液位一直处于安全位置以下,设计了一款以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.

社址:石家庄市槐安西路88号卓达玫瑰园物业楼 050091    电话:18132119945    微信:15132496582

投稿邮箱:vezzs02@163.com

价值工程杂志社

    点击这里给我发消息      点击这里给我发消息

备案号:冀ICP备19020820号-1


我要啦免费统计
点击这里给我发消息
点击这里给我发消息
24小时热线: 18132119945