超声波传感器的原理?
超声波传感器是用来测量物体的距离。首先,超声波传感器会发射一组高频声波,一般为40-45KHz,当声波遇到物体后,就会被反弹回,并被接受到。通过计算声波从发射到返回的时间,再乘以声波在媒介中的传播速度(344米/秒,空气中)。就可以获得物体相对于传感器的距离值了。
声波换能器特性
声波换能器就好比一个喇叭,能将电流信号转换成高频声波,或者将声波转换成电信号。(其实多数喇叭都可以当作话筒用,不信大家可以去试一下,用喇叭代替麦克风,也是可以的,只不过麦克风将声波转化成电信号的能力比较强一点。所以,更加灵敏一点。)
换能器在将电型号转化成声波的过程中,所产生的声波并不是理想中的矩形,(图1-a),而是一个类似花瓣一样形状,参见(图1-b,c):
图1:声波特性
值得一提的是,在实际应用中,产生的波形应该是三维的,类似柱状体。
对于机器人的应用来说,超声波传感器主要用来探测物体的距离以及相对于传感器的方位,以便可以进行避障动作。最理想就是矩形,不但可以准确的获得物体的距离值,也可以准确的获得方位值,就是正前方。但是实际上,超声波的波束根据应用不同,有宽波束,和窄波束。宽波束(图1-b)的传感器会检测到任何在波束范围的物体,它可以检测到物体的距离,但是确无法检测到物体的方位,误差最高会有100度左右,机器人将无法准确的确定其避障的动作。当然,作为只要探测物体有或者无的用途来说,宽波束的传感器是比较理想的。同理,窄波束可以相对宽波束获得更加精确的方位角。在选择超声波传感器的时候,这个波形特性是必须要考虑的。
超声波的问题
超声波传感器应用起来原理简单,也很方便,成本也很低。但是目前的超声波传感器都有一些缺点,比如,反射问题,噪音,交叉问题。
反射问题
如果被探测物体始终在合适的角度,那超声波传感器将会获得正确的角度。但是不幸的是,在实际使用中,很少被探测物体是能被正确的检测的。图二给出了几个例子。
图2:声波反射
图2.a中的情况叫做三角误差,当被测物体与传感器成一定角度的时候,所探测的距离和实际距离有个三角误差。
图2.b中的情况叫做镜面反射,这个问题和高中物理中所学的光的反射是一样的。在特定的角度下,发出的声波被光滑的物体镜面反射出去,因此无法产生回波,也就无法产生距离读数。这时超声波传感器会忽视这个物体的存在。
图2.c中的情况可以叫做多次反射。这种现象在探测墙角或者类似结构的物体时比较常见。声波经过多次反弹才被传感器接收到,因此实际的探测值并不是真实的距离值。
这些问题可以通过使用多个按照一定角度排列的超声波圈来解决。通过探测多个超声波的返回值,用来筛选出正确的读数。
噪音
虽然多数超声波传感器的工作频率为40-45Khz,远远高于人类能够听到的频率。但是周围环境也会产生类似频率的噪音。比如,电机在转动过程会产生一定的高频,轮子在比较硬的地面上的摩擦所产生的高频噪音,机器人本身的抖动,甚至当有多个机器人的时候,其它机器人超声波传感器发出的声波,这些都会引起传感器接收到错误的信号。
这个问题可以通过对发射的超声波进行编码来解决,比如发射一组长短不同的音波,只有当探测头检测到相同组合的音波的时候,才进行距离计算。这样可以有效的避免由于环境噪音所引起的误读。
交叉问题
交叉问题是当多个超声波传感器按照一定角度被安装在机器人上的时候所引起的,如图3所示。
图3:交叉对话问题
超声波X发出的声波,经过镜面反射,被传感器Z和Y获得,这时Z和Y会根据这个信号来计算距离值,从而无法获得正确的测量。
解决的方法可以通过对每个传感器发出的信号进行编码。让每个超声波传感器只听自己的声音。
转载请注明出处。