让小车跑起来,需要给小车加上避障装置。一般使用红外传感器。高级的有用激光的,提前测量周围环境,并经过计算,动态设计行进路线。我这次准备使用超声波测距模块实现测距功能。超声波模块使用的是传统的SR04模组,兼顾收发功能。
在使用的时候,在触发端Trig施加至少10微秒的高电平信号,超声波模组就会自动发出8个周期为40KHz的方波,同时检测回波。如果收到了回波,在Echo端就会产生一个高电平信号。这个信号高电平持续的时长,代表着超声波测试模块与前方障碍物的距离。这个信号的上升沿,表示发出超声波的时刻,一直持续,知道收到回波后,变为低电平。
声波在空气中的传播速度为340米/秒,也就是0.34毫米/微秒。超声波的发和收,是相当于往返的,按照公式,探测距离就是以下公式:
距离L = 高电平持续的时间(微秒单位) * 0.34毫米/微秒/2
在上次的定时器实验中,定时器的周期为1秒。为了适配超声波模块,需要调高定时器的工作频率,一个是为了保证能让超声波模块的触发信号保持10微秒以上,另一个是为了更准确地测出距离的准确数据,准备把定时器调整到10微秒,但看了程序,在没完全搞懂频率设置的情况下,有点难度。好吧,在原有程序的基础上调为125微秒。实测是125不到,不知道是示波器不行,还是算正常误差。
这个120微秒是高电平或者低电平持续的时间。已经满足超声波10微秒的要求。就是高了太多,不知道会有啥影响。最后还是改成了62微秒的样子来测试的。 接着使用P3_30作为触发信号,使用P3_31最为回应信号,用杜邦线连接好超声波模块。启动程序测试。不出意外,失败!用示波器查看,发现以下三个问题: 1、触发端信号在空载(不接超声波模块)时,从低电平变为高电平时,高电平可以达到3.2;一单接上超声波模块,触发端信号的高电平,只有1.2V左右。估计这个信号是没法触发超声波发出测量信号了。
2、大概是因为1的原因,超声波的回收信号,根本就没变成过高电平。
3、超声波模块的工作电压也只有4.8V不到,估计也无法达到超声波的TTL电路正常工作的程度。
综合1、2、3 的考虑,考虑需要增加驱动能力,同时提供电平转换处理了。加装电平转换处理要花时间,先试试提高超声波的工作电压试试,就是单独提供工作电压。
提高到了2.4V,还是达不到触发的程度啊。
|