前段时间,写RGV程序时,发现一个问题,就是485通讯读取的数据精度比模拟量读取的数据精度要高很多,但又发现,485通讯数据更新的频率有点慢(激光测距仪器的频率更新最大40HZ,一开始没有发现,加大通讯波特率,发现数据更新的频率还是不行,再往后面,还是怀疑是程序读取数据的频率过慢,于是增加了中断程序,5ms中断一次读取数据,结果发现还是不行,最后到官网查找相关资料,发现该款激光测距仪器数据更新频率是40HZ,既更新频率为25ms)。有了以上经验后,我把485通讯获得的数据和模拟量读取数据用trace波形图监控一下,以下是小车静止情况下波形图:
上面波形是模拟量监控数据,下面是485通讯监控数据,可以从图形中得到,模拟量数据更新的频率是要比485通讯获取的数据更新频率更快,但会发现,485通讯获得的数据较为平稳。
再用trace波形图监控一下,以下是小车移动状态时监控的波形图:
上图,可以看出,模拟量获得的数据更接近一条直线,一条有斜率一定的直线(小车用确定频率移动,移动速度一定),而485通讯获得是波形图是楼梯式的,我记得在trace中,用尺子工具测量测量的数据更新时间间隔约2s,而且每次更新后的距离已经行走近20cm,更新速率太慢,导致小车在定位时,定位与目标位置相差很大。