读取Echo返回的高电平高脉冲和高电平宽度的方法有哪些


  • 从硬件方面着手带您学会ARDUINO的硬件原理和编程 只有懂了硬件原理才能更清楚代码的含义。 零基础入门快速学会ARDUINO,上手做自己的小设计 从小白到大神之间就缺这部视频o(* ̄︶ ̄*)o </p>

利用Arduino可以测量0v到5v的电压,利用Arduino的模拟信号输入接口可以直接读取到接口连接的电压值

从硬件方面着手带您学会ARDUINO的硬件原理和编程。 只有懂了硬件原理才能更清楚代码的含义 零基础入门,快速学会ARDUINO上手做自己的小设计。 从小白到大神之间就缺这部视频o(* ̄︶ ̄*)o </p>

检测指定引脚上的高脉冲和高电平信号宽度

timeout为超时时间,数据类型为无符号的长整型单位:us

换行显示高脉冲和高电平宽度,单位:us若在指定时间内未检测到则退出pulseIn()函数并返回值为0;没有设置超时时间默认为1。

超声波:频率高于20000HZ的声波指向性强,能量损耗慢在介质の间传播距离较远,故经常用来测距

给Trig引脚至少10us的高电平信号,触发SR04模块的测距功能自动发送8个40kHZ的超声波高脉冲和高电平,此时若有信号返回则Echo会输出高电平高电平持续的时间就是超声波和从发射到返回的时间。

从硬件方面着手带您学会ARDUINO的硬件原理和编程 只有懂了硬件原理才能更清楚代码的含义。 零基础入门快速学会ARDUINO,上手做自己的小设计 从小白到大神之间就缺这部视频o(* ̄︶ ̄*)o </p>

 

从硬件方面着手帶您学会ARDUINO的硬件原理和编程。 只有懂了硬件原理才能更清楚代码的含义 零基础入门,快速学会ARDUINO上手做自己的小设计。 从小白到大神之間就缺这部视频o(* ̄︶ ̄*)o </p>

 
 
 

   1、数字信号:物理量的变化在时间和幅值上都是离散的(不连续)反映在电路上就是高电平和低电平两种状态(即只有0和1两个逻辑值)。比如:灯有亮和不亮两种状态天气有晴天和雨天两种状态,门有打开和不打开两种状态

   2、模拟信号:物理量嘚变化在时间和幅度上都是连续的,反映在电路上就是不同电压数值状态比如:温度、声音、速度都是模拟量。

   所以我们生活中大多数信号为模拟信号将模拟信号进行二值化量化后就变成了数字信号。两种信号是一种相对状态根据使用场合选取信号。

  a、LED灯器件分为直插和贴片导通特性一样,只是封装形式不一样需要了解的自行查阅资料。

   专为电子电路的无焊接实验设计制造的由于各种电子元器件可根据需要随意插入或拔出,免去了焊接节省了电路的组装时间,而且元件可以重复使用所以非常适合电子电路的组装、调试和训練。 

从硬件方面着手带您学会ARDUINO的硬件原理和编程 只有懂了硬件原理才能更清楚代码的含义。 零基础入门快速学会ARDUINO,上手做自己的小设計 从小白到大神之间就缺这部视频o(* ̄︶ ̄*)o </p>

维持高电平的时间。(模拟引脚只有0和1两种值抖动怎么办?我也不知道它怎么处理抖动的。)

测了一下,最短维持时间小于 40ms(我的手速)

也就是以后监控按键时,两次检测时间必须小于 40ms

【10ms应该没问题,但是间隔太长。】

【1ms的话又不知道抖动时间有没有可能大于它,以后再测吧!!!】

pulseIn()函数用来读取一个引脚的高脉冲和高电平(HIGH或LOW)例如,如果value是HIGHpulseIn()會等待引脚变为HIGH,开始计时再等待引脚变为LOW并停止计时。返回高脉冲和高电平的长度单位毫秒。如果在指定的时间内无高脉冲和高电岼函数返回计时范围从10微秒至3分钟。(1秒=1000毫秒=1000000微秒)语法:pulseIn(pin, (可选):指定高脉冲和高电平计数的等待时间单位为微秒,默认值是1秒(unsigned long)


}

原标题:超声波测距与超声测距傳感器是这样玩起来的

人们可以听到的声音的频率为20Hz~2KHz也就是可听声波,超出此频率范围的声音20Hz以下的声音称为低频声波,20KHz以上的声音稱为超声波(Ultrasound)一般说话的频率范围是10Hz-8KHz。超声波方向性好穿透能力强,易于获得较集中的声能在水中传播距离远,超声波因其频率丅限大约等于人的听觉上限而得名

超声波可以在气体、液体及固体中传播,其传播速度不同超声波在介质中传播的波形取决于介质可鉯承受何种作用力以及如何对介质激发超声波。

当介质中质点振动方向与超声波的传播方向一致时此超声波为纵波波型。任何固体介质當其体积发生交替变化时均能产生纵波在工业中应用主要采用纵向振荡。

当介质中质点的振动方向与超声波的传播方向相垂直时此种超声波为横波波型。由于固体介质除了能承受体积变形外还能承受切变变形,因此当其有剪切力交替作用于固体介质时均能产生横波。横波只能在固体介质中传播

是沿着固体表面传播的具有纵波和横波的双重性质的波。表面波可以看成是由平行于表面的纵波和垂直于表面的横波合成, 振动质点的轨迹为一椭圆在距表面1/4波长深处振幅最强,随着深度的增加很快衰减实际上离表面一个波长以上的地方,質点振动的振幅已经很微弱了

另外,超声波也有折射和反射现象并且在传播过程中有衰减。在空气中传播超声波其频率较低,一般为几十KHz,而在固体、液体中则频率可用得较高在空气中衰减较快,而在液体及固体中传播衰减较小,传播较远

利用超声波的特性,可做成各种超声传感器配上不同的电路,制成各种超声测量仪器及装置可用于测距、测速、清洗、焊接、碎石、杀菌消毒等,并在通讯、医疗、家电、军事、工业、农业等各方面得到广泛应用

能够产生超声波的方法很多,常用的有压电效应方法、磁致伸缩效应方法、静电效应方法和电磁效应方法等当给压电晶片两极施加一个电压短高脉冲和高电平时, 由于逆压电效应,晶片将发生弹性形变而产生弹性振荡振荡频率与晶片的厚度和声速有关, 适当选择晶片的厚度可以得到超声频率范围的弹性波, 即超声波。此种方式发射出的是一个超声波波包通常称为高脉冲和高电平波。

超声波测距系统主要应用于汽车的倒车雷达、及机器人自动避障行走、建筑施工工地以及一些工业現场例如:液位、井深、管道长度等场合

目前有两种常用的超声波测距方案。一种是基于单片机或者嵌入式设备的超声波测距系统一種是基于CPLD(Complex Programmable Logic Device)的超声波测距系统。

如图1所示实验采用第一种方案,利用嵌入式设备编程产生频率为40KHz的方波经过发射驱动电路放大,使超声波传感器发射端震荡发射超声波。超声波经发射物反射回来由传感器接收端接收,再经过接收电路放大、整形以嵌入式微核心的超聲波测距系统通过嵌入式设备记录超声波发射的时间和反射波的时间。当收到超声波的反射波时接收电路输出端产生一个跳变。通过定時器计数计算时间差,就可以计算出相应的距离

超声波测距的原理是利用超声波在空气中的传播速度为已知,测量声波在发射后遇到障碍物反射回来的时间根据发射和接收的时间差计算出发射点到障碍物的实际距离。首先超声波发射器向某一方向发射超声波,在发射时刻的同时开始计时超声波在空气中传播,途中碰到障碍物就立即返回来超声波接收器收到反射波就立即停止计时。超声波在空气Φ的传播速度为C=340m/s根据计时器记录的时间T秒,就可以计算出发射点距障碍物的距离L即:L= C×T /2 。这就是所谓的时间差测距法

由于超声波也昰一种声波,其声速 C 与温度有关表1列出了几种不同温度下的声速。在使用时如果温度变化不大,则可认为声速是基本不变的如果测距精度要求很高,则应通过温度补偿的方法加以校正

表1 超声波波速与温度的关系

由于超声波易于定向发射、方向性好、强度易控制、与被测量物体不需要直接接触的优点,是作为倒车距离测量的理想选择

超声波为直线传播,频率越高绕射能力越弱,但反射能力越强為此,利用超声波的这种性质就可以制成超声波传感器另外,超声波在空气中的传播速度较慢这就使得超声波传感器的使用变得简单。

超声波传感器是利用超声波的特性研制而成的传感器超声波是一种振动频率高于声波的机械波,由换能晶片在电压的激励下发生振动產生的它具有频率高、波长短、绕射现象小,特别是方向性好、能够成为射线而定向传播等特点超声波对液体、固体的穿透本领很大,尤其是在阳光不透明的固体中它可穿透几十米的深度。超声波碰到杂质或分界面会产生显著反射形成反射成回波碰到活动物体能产苼多普勒效应。因此超声波检测广泛应用在工业、国防、生物医学等方面以超声波作为检测手段必须产生超声波和接收超声波。完成这種功能的装置就是超声波传感器习惯上称为超声换能器,或者超声探头

超声波传感器主要由双压电晶片振子、圆锥共振板和电极等部汾构成。两电极间加上一定的电压时压电晶片就会被压缩产生机械形变撤去电压后压电晶片恢复原状。若在两极间按照一定的频率加上電压则压电晶片也会保持一定的频率振动。经试验测得此型号压电晶片的固有频率为38.4 KHz则在两极外加频率为40 KHz的方波高脉冲和高电平信号,此时压电晶片产生共振向外发射出超声波。同理没有外加高脉冲和高电平信号的超声波传感器在共振板接收到超声波时也会产生共振,在两极间产生电信号

超声波探头主要由压电晶片组成,既可以发射超声波也可以接收超声波。小功率超声探头多作探测作用它囿许多不同的结构,可分直探头(纵波)、斜探头(横波)、表面波探头(表面波)、兰姆波探头(兰姆波)、双探头(一个探头反射、┅个探头接收)等

超声探头的核心是其塑料外套或者金属外套中的一块压电晶片。构成晶片的材料可以有许多种晶片的大小,如直径囷厚度也各不相同因此每个探头的性能是不同的,我们使用前必须预先了解它的性能超声波传感器的主要性能指标,包括:

工作频率僦是压电晶片的共振频率当加到它两端的交流电压的频率和晶片的共振频率相等时,输出的能量最大灵敏度也最高。

由于压电材料的居里点一般比较高特别时诊断用超声波探头使用功率较小,所以工作温度比较低可以长时间地工作而不产生失效。医疗用的超声探头嘚温度比较高需要单独的制冷设备。

主要取决于制造晶片本身机电耦合系数大,灵敏度高;反之灵敏度低。

超声波测距一体模块HC-SR04

如圖2所示HC-SR04模块性能稳定,测度距离精确能和国外的SRF05、SRF02等超声波测距模块相媲美。模块高精度盲区(2cm)超近,最大识别距离为300cm

如图3所示,系统的工作是由软件和硬件的配合过程先由嵌入式微处理器使555使能端置1,继而555送出40KHz频率的方波信号经过压电换能器(超声波发射头)將信号发射出去,即发射超声波同时该时刻启动定时器开时计时。该信号遇到障碍物反射回来在此称为回波同时,压电换能器(超声波接收头)将接收的回波及接收超声波,通过信号处理的检波放大通过三级放大后再送到比较器进行比较,输出比较电压输出电压经过彡极管以后,使之电压与嵌入式微处理器的I/O口相匹配最后送至处理器处理

图3 超声波测距原理框图

机器人避障、物体测距、液位检测、公囲安防、停车场检测。

(4)接线方式及工作原理

如图4所示超声波传感器基本工作原理如下:

采用IO口TRIG触发测距,给大于10us的高电平信号;

模塊自动发送8个40KHz的方波,自动检测是否有信号返回;

有信号返回通过IO口ECHO输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间测试距离=(高电平时间*声速(340m/s))/2。

本模块使用方法简单通过嵌入式微处理器控制口发一个10us以上的高电平,启动超声波传感器模块发出8个40KHz的周期电平然后开启定时器,再延时100us左右以避免发射探头的余振的干扰接着通过在while循环中查询外部中断是不是已经捕获到回波信号,一旦檢测到有回波信号则输出回响信号回响信号的高脉冲和高电平宽度与所测的距离成正比。由此通过发射信号到接收到的回响信号的时间間隔就可以计算得到距离

如图5 所示为超声测距模块的时序图,根据时序图可以知道,回响信号的高电平就是我们用来测量距离的重要指标通过距离与速度和时间的关系,从而求得相应的距离

一个 10us 以上高脉冲和高电平触发信号,该模块内部将发出 8次40KHz 周期电平并检测回波一旦检测到有回波信号则输出回响信号,回响信号的高脉冲和高电平宽度与所测的距离成正比由此通过发射信号到收到的回响信号嘚时间间隔可以计算得到距离。建议测量周期为 60ms 以上以防止发射信号对回响信号的影响。

图6 出了超声测距模块的发射端电路

图7 超声测距发射端电路图

压电式超声波换能器是利用压电晶体的谐振来工作的。超声波换能器内部有两个压电晶片和一个换能板当它的两极外加高脉冲和高电平信号,其频率等于压电晶片的固有振荡频率时压电晶片会发生共振,并带动共振板振动产生超声波这时它就是一个超聲波发生器;反之,如果两电极问未外加电压当共振板接收到超声波时,将压迫压电晶片作振动将机械能转换为电信号,这时它就成為超声波接收换能器超声波发射换能器与接收换能器在结构上稍有不同,使用时应分清器件上的标志

图8 给出了超声测距模块的接收端電路。

集成电路CX20106是一款红外线检波接收的专用芯片常用于电视机红外遥控接收器。考虑到红外遥控常用的载波频率38KHz与测距的超声波频率40KHz較为接近可以利用它制作超声波检测接收电路。实验证明用CX20106接收超声波(无信号时输出高电平)具有很好的灵敏度和较强的抗干扰能力。適当更改电容C4的大小可以改变接收电路的灵敏度和抗干扰能力。

图9 给出了超声测距模块的电路

图10 超声波收发电路

超声波测距模块的影響因素

超声波传感器应用起来原理简单,也很方便成本也很低。但是目前的超声波传感器都有一些缺点比如,反射问题噪音,交叉問题

如果被探测物体始终在合适的角度,那超声波传感器将会获得正确的角度但是不幸的是,在实际使用中很少被探测物体是能被囸确的检测的。 其中可能会出现几种误差:

当被测物体与传感器成一定角度的时候所探测的距离和实际距离有个三角误差。

这个问题和高中物理中所学的光的反射是一样的在特定的角度下,发出的声波被光滑的物体镜面反射出去因此无法产生回波,也就无法产生距离讀数这时超声波传感器会忽视这个物体的存在。

这种现象在探测墙角或者类似结构的物体时比较常见声波经过多次反弹才被传感器接收到,因此实际的探测值并不是真实的距离值

这些问题可以通过使用多个按照一定角度排列的超声波圈来解决。通过探测多个超声波的返回值用来筛选出正确的读数。

虽然多数超声波传感器的工作频率为40-45KHz远远高于人类能够听到的频率。但是周围环境也会产生类似频率嘚噪音比如,电机在转动过程会产生一定的高频轮子在比较硬的地面上的摩擦所产生的高频噪音,机器人本身的抖动甚至当有多个機器人的时候,其它机器人超声波传感器发出的声波这些都会引起传感器接收到错误的信号。

这个问题可以通过对发射的超声波进行编碼来解决比如发射一组长短不同的音波,只有当探测头检测到相同组合的音波的时候才进行距离计算。这样可以有效的避免由于环境噪音所引起的误读

交叉问题是当多个超声波传感器按照一定角度被安装在机器人上的时候所引起的。超声波X发出的声波经过镜面反射,被传感器Z和Y获得这时Z和Y会根据这个信号来计算距离值,从而无法获得正确的测量

解决的方法可以通过对每个传感器发出的信号进行編码。让每个超声波传感器只听自己的声音

超声测距传感器实验环境由PC机(安装有Windows XP操作系统、ADS1.2集成开发环境和J-Link-ARM-V410i仿真器)、J-Link-ARM仿真器、NXP LPC2378实验節点板、超声测距传感器、实验模块和LCD显示实验模块组成,如图11所示

图11 传感器实验环境

本实验所使用实物规格图如图12所示,实物图如图13所示

图12超声测距模块实物规格图

将超声波传感模块安装到开发板上,然后用JLINK仿真器的一端用USB接口与电脑相连一端的20Pin的JTAG引脚与NXP LPC2378节点板的J2楿连,并给NXP LPC2378节点板上电如图14 所示。

图14 超声测距开发板连接图

本实验通过测距程序完成超声波发射的控制、超声波回波信号的检测和距離的计算、左右距离的比较,并显示

首先由发射程序发射10us的高电平触发信号,控制超声波发射器发射8个40KHz的方波发射器发射完信号,接收器回波电平将拉高然后开启定时器,例如在定时器输入频率为f=12MHz进行N=8分频后每个计数周期为 。再延时100us左右以避免发射探头的余振的干擾然后通过在while循环中查询外部中断是不是已经捕获到回波信号,然后获得计时器计数值count计算距离值。去掉多余的计数误差后

//通讯板IO控淛引脚设置

//设置LCD屏幕引脚

//显示距离值大概80为1cm

本实验模仿倒车,当距离小于20cm时提示司机注意安全倒车距离,大于安全距离时显示距离障礙物的距离修改Main.c中的代码如下:

//模仿倒车,当距离小于20cm时发出警告并显示当前距离值

利用声速、传播时间、传播距离的关系,模仿实驗条件简单的测出实验环境下的声速的大概值。

例如在NXP实验节点板定时器输入频率为f=12MHz进行N=8分频后每个计数周期为 ,假设超声波声速为c则由 ,可知

本实验模仿自动门的功能。初始时门关闭。当有人到达门前原有的距离被改变,当人与测距器的距离达到临界值时(例洳距离小于50cm)打开自动门。否则认为没有人员的到来,关闭自动门

idx=0;//初始状态,门处于关闭状态

1. 超声波有哪些用途?

2. 超声波测距的原理是什么

3. 你认为超声波测距模块可以应用于哪些场合?

4. 影响超声测距模块精确度的因素有哪些呢

欢迎大家给小编留言哦~

}

我要回帖

更多关于 高电平脉冲 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信