超声波测距的原理一般采用渡越时间法TOF(time of flight)。首先测出超声波从发射到遇到障碍物返回所经历的时间,再乘以超声波的速度就得到二倍的声源与障碍物之间的距离,即D=vt/2。
其中D为传感器和被测障碍物之间的距离,v为声波在介质中的传输速率,v=331+0.607*(T),0度时超声波的传输速度为v=331m/s。 在精度要求不高的情况下,一般认为v=340m/s(约15度时速度)。
常规情况下测量是用17cm/ms作为计算标准。
在不考虑温度补偿的情况下
距离160cm的障碍物在85度时测到的距离为184.9cm,在-40度测到的距离为148cm。相差很大。
所以在实际开发中需要进行相应的温度补偿。一般选择-20度和50度这两点做为补偿开启点。当然如果需要准确的距离,并且确保能快速获取温度的情况下,可以将温度补偿做的更细。