超声波收发分体量尺(GPS / BDS芯片PPS讯号作为时间同步,同步误差约十多微秒)
这是我在微博、B站 ( https://www.bilibili.com/video/BV1g54y187NT ) 和blog.csdn.net ( https://blog.csdn.net/garfield0424/article/details/114960031 ) 有发布过的一个自己制作的项目。
*** 欢迎对我这个制作给点意见!! ***
超声波收发分体量尺(GPS / BDS芯片PPS讯号作为时间同步,同步误差约十多微秒)
用了北斗芯片的PPS输出,来提供超声波量尺发与收仪器两部件的时间同步功能,一般超声波量尺都是依靠超声波从目标物体反射回来的超声波来得到超声波在空气中行走的时间,再乘以超声波在空气中的速度,得出距离,再除以2,便可以知道物体离超声波量尺仪器有多远。但是物体必须能反射足够的超声波能量回仪器,超过超声波接收器的最低能量测量的要求才能测出。北斗芯片的PPS讯号是1Hz,PPS讯号在每一个秒的开始会有一个时间短于一秒的方波讯号产生,所有装置和仪器接收到的这个方波讯号的上升时间位置,将会是极度精准的时间同步。一般能买到的北斗芯片,这个PPS讯号输出,在不同装置和仪器接收到的方波讯号的上升时间位置精度小于100ns,1ns (1纳秒) = 0.000000001 秒。我的超声波量尺的精度不能达到这个量级,主要是由于两个微处理器本身的时脉时间讯号不同步,也因为时脉晶体的频率并不一定准确所导致的。还有一些专门作为时间同步而生产的北斗芯片型号,芯片输出的PPS时间同步精度可以远远优于100ns的量级。
一般的超声波测距并不困难,只要买一个收发一体的部件,就可以靠部件发射出超声波和接收到超声波所需的时间,加上超声波在空气中传送的速度来把距离计算出来。上面我这个项目,只需要两个正常的超声波收发一体部件,利用北斗芯片PPS输出作为时间同步,使两个完全相同的收发部件同时进行正常测距激发,两个部件将会同时发出超声波测距讯号,但是它们会先收到对方发射出的超声波讯号,而不是经反射回来的自己的超声波讯号。因此,双方都会测出两者之间的距离,而不是超声波反射后回到自己的两倍大家的距离。一般在家中的北斗卫星讯号非常微弱,所以必须购买一个北斗卫星讯号放大器,接收天线必须安放在室外,把北斗卫星讯号接收放大,再利用放大器的输出天线,在室内发放北斗卫星讯号。另外,北斗芯片PPS输出,必须是在定位成功后的输出,才会是真正的实时北斗PPS讯号,在设置北斗芯片参数时候,必需在定位参数选项选择FIXED。否则北斗芯片在一些时间,可能会因为收不到实时的北斗卫星讯号,而输出一些估算得来的PPS讯号,这个时候北斗芯片输出的PPS讯号在不同装置和仪器接收到的时间误差便会远远超过100ns。
系统运作原理图如下。T transmit (收發一體超聲波部件 [發送角色] 測距啓動時間) = T receiver timer (收發一體超聲波部件 [接收角色] 測距啓動時間)
我这个超声波量尺的两个超声波收发一体元件的距离计算结果,可以确定是收到对方发出的超声波讯号后而得出的距离计算结果。因为有GPS/BDS PPS讯号和没有讯号,这两个元件会得出不相同的距离计算结果。如果在正常运行的过程中,在收发两个部件中间放一磈实心的板,再左右移动,两边距离计算结果和超声波从这一磈实心的板反射后,回到各自元件的去来路程应该得到的测量距离完全吻合,这个情况下两个部件得到的距离数值相加的结果除以2,会大约等于没有在中间放一磈实心的板的正常距离的显示数值。