基于US-100超声波测距仪设计

2015-07-26 09:19喻文倩西南科技大学四川绵阳621010
山东工业技术 2015年4期
关键词:蜂鸣器测距超声波

喻文倩(西南科技大学,四川 绵阳 621010)

基于US-100超声波测距仪设计

喻文倩
(西南科技大学,四川绵阳621010)

由STM32作为控制器,选用US-100超声波模块作为传感器,利用声速测量距离。利用TFTLCD显示屏和上位机作为结果显示窗口,当测量距离小于150mm时,蜂鸣器报警。

ARM;US-100超声波测距模块;声速测距

1 引言

超声波指向性强,在介质中传播的距离较远,因而超声波经常用于距离的测量,如测距仪和物位测量仪等都可以通过超声波来实现。利用超声波检测往往比较迅速、方便、计算简单、易于做到实时控制,并且在测量精度方面能达到工业实用的要求。

2 系统总体设计

系统总体设计框图如图1,可以看到,超声波测距主要是由STM 32控制器,TFTLCD显示屏,上位机作为显示,US-100超声波测距模块作为传感器。当控制器给传感器开始工作的信号时,传感器开始工作,并返回测试的数据,通过TFTLCD显示屏和上位机显示测量结果。当测量距离小于150mm时,蜂鸣器报警。

3 硬件设计

3.1STM32F103控制器

STM 32F1系列属于中低端的32位ARM微控制器,其内核是Cortex-M 3。工作频率可高达72M hz,内置高速64KBSRAM存储器;外设包512KBFLASH、2个基本定时器、4个通用定时器、2个高级定时器、3个SPI、2个IIC、5个串口、1个USB、1个CAN、3个12位ADC、1个12位DAC、1个SD IO接口、1个FSMC接口以及112个通用IO口。

3.2US-100 超声波测距模块接口

US-100超声波测距模块可实现2cm~4.5m的非接触测距功能,拥有2.4~5.5V的宽电压输入范围,静态功耗低于2mA,自带温度传感器对测距结果进行校正,同时具有GPIO,串口等多种通信方式,内带看门狗,工作稳定可靠。

将实物与开发板连接如图2所示:(US-100正面从左向右一次为1-5口)

4 软件设计

4.1总体软件设计

测距的过程可以分为三个部分,分别为:控制器资源配置、US-100的时序模拟测量过程及数据处理、显示及判断测量距离是否小于150mm。

4.1.1控制器的资源配置

#ifndef__TIMER_H#defi ne__TIMER_H

#include"sys.h"

voidGPIOA1_Init(void);voidGPIOA3_Init(void);

voidTIM 3_Int_Init(u16arr,u16psc);voidTIM 3_PWM_Init(u16arr,u16psc);

voidTIM 5_Cap_Init(u16arr,u16psc);voidTIM 4_Cap_Init(u16arr,u16psc);

#endif

定时器5通道1输入捕获配置:

voidGPIOA 1_Init(void)

初始化定时器5TIM 5:

voidTIM 5_Cap_Init(u16arr,u16psc)

中断分组初始化:

NVIC_InitStructure.NVIC_IRQChannel = TIM 5_IRQn; //TIM 3中断

NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 2; //先占优先级2级

NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; //从优先级0 级

NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //IRQ通道被使能

NVIC_Init(&NVIC_InitStructure); //根据NVIC_InitStruct中指定的参数初始化外设

TIM_ITConfig(TIM 5,TIM_IT_Update|TIM_IT_CC1,ENABLE);//,允许CC1IE捕获中断TIM_Cmd(TIM 5,ENABLE); //使能定时器5定时器5中断服务程序:void TIM 5_IRQHand ler(void)

在主程序中调用定时器:TIM 5_Cap_Init(0XFFFF,72-1);//以1Mhz的频率计数

4.1.2US-100的时序模拟测量过程

由TRIG_Send发送高电平,延时20us:

GPIO_SetBits(GPIOA,GPIO_Pin_1);

delay_us(20);

GPIO_ResetBits(GPIOA,GPIO_Pin_1);

根据时间,距离计算公式为distance=times*10e-4*340/2*10e3=times*34/2,

{tem p=TIM 5CH1_CAPTURE_STA&0X3F;

temp*=65536;//溢出时间总和

temp+=TIM 5CH1_CAPTURE_VAL;//得到总的高电平时间

TIM 5CH 1_CAPTURE_STA=0;//开启下一次捕获

distance=temp*0.17;}

4.1.3显示测量结果,并判断数据是否小于150mm LCD_ShowNum(140,50,distance,4,16);

delay_ms(2000);

i++;

if(distance<=150)

{BEEP=1;}//如果距离小于150蜂鸣器报警

if(distance>150)

{BEEP=0;}//如果距离大于150蜂鸣器关闭

if(i%20==0)

{printf("D istance:%dcm ",distance);}

5 总结

本文重点叙述了如何使用US100制作超声波测距仪。利用STM 32设计软件,通过硬件US100实现。从设计过程可以看出该仪器原理简单、制作方便、成本低。但是当要测量距离较远的目标时,由于外界环境的干扰,一方面声波发散而使能量降低,另一方面使分辨力下降,从而使得准确度下降,造成测量数据不准确。所以该设计一般用于近距离的测量。

[1]刘林茂.一种特殊构件粘接缺陷的超声波检测[J].无损检测,2010(01).

[2]邓大勇.钢板超声波检测基准灵敏度确定的诠释[J].青海电力,2008(02).

[3]刘金平,胡斌定.大型钢桥箱型梁超声波检测[J].无损探伤,2009(06).

喻文倩(1994—),女,四川成都人,本科,研究方向:电气工程及其自动化。

猜你喜欢
蜂鸣器测距超声波
电动自行车产品车速提示音检测现状和整改技术研究(2)
基于RSSI测距的最大似然估计的节点定位算法
超声波诊断甲状腺结节的临床应用观察
基于焊缝余高对超声波探伤的影响分析
掌控板制作简易钢琴
本尼丢了蜂鸣器
基于单片机的超声波测距导盲杖设计
直流系统行波测距的误差分析
基于VMD和TEO的高压输电线路雷击故障测距研究
蝙蝠的超声波