题目:
设计并制作一个震源方位探测装置,探测区域是边长为500mm的正方形,沿水平和垂直方向的边沿标注了X、Y坐标系,O点为坐标原点。传感器布置区在右下角,是边长100mm的正方形区域。在震源产生区内有10g、5g、2g砝码坠落时,探测装置能够显示砝码坠落点在图中坐标系内的坐标位置(X,Y)。
方案初探:
- 通过摄像头进行砝码识别进行x,y的值的推导
失败原因:
摄像头无法将整个板子照进去会有盲区,增加两个摄像头会有重合区且由于物体太小,所以很难区分砝码大小。 - 通过多个超声波测距模块儿得到距离值通过算法计算得到x,y值。
失败原因:
测距模块儿无法测得砝码,可以透过砝码测得后面的板子距离。 - 通过mpu6050的xyz加速度值进行位置估计
失败原因:
mpu6050的串口最高数据输出速率为100HZ,通过IIC的mpu6050的采样频率1KHZ,通过物理公式测算采样速率完全达不上要求。
最终方案:
初次设想:通过声音传感器的数字值的电平高低变化得到中间的时间差值通过TDOA定位算法可以得到x,y值。
初次设想失败原因:通过示波器的显示,由于模块儿通过比较器进行高低电平的判断,所以可以通过滑动电阻的调节进行比较电压的改变,很难达到比较电平的一致,导致模块儿的灵敏度不同,得到的正弦波信号周期不同。(有些在触发达到的时候另一些依旧没触发)
最终设想:通过声音传感器的模拟信号可以得到触发的时刻频率与时长,按照理论传感器接收到的信号周期一样,可以通过多个传感器的相位进行比较,通过比较相位的偏移得到几点之间的时间差,后通过TDOA定位算法可以得到x,y值。
实际的困难:
- 声音模块儿检测通过板子震动传来的声音,由于板子本身密度可能并不完全一样,不同模块在不同地点收到的声音可能不一致。
- 声音模块通过咪头进行声音接收,咪头摆放与板子贴合程度不同导致接收的强度也不同,甚至可能导致接收到人声音的误差
- 通过咪头接收到的声音根据模块儿电路图显示并无滤波,导致噪声过大,很容易导致误判。
- 将接收到的模拟信号通过另一模块儿滤波器出来的信号在高低电压之间会有信号失真,导致类似于方波的形状。
- 由于有滑动电阻需要进行灵敏度调节所以导致模块儿之间灵敏度有时候相差较大,示波器显示的多个信号之间很难对比相位。
解决方案:通过多个传感器之间的正弦信号进行互相关函数的建立进行大量点的采集,进行函数拟合得到x,y的坐标。