Open Echo:一个开源的声纳项目

描述

 这是一个还在迭代中的项目。开源的回声测深仪/水深测量仪/声呐系统,适用于水文测绘及科研用途。基于Arduino平台开发并具备良好兼容性 

Arduino   Open Echo 概览

作为持续迭代的开源硬件项目,Open Echo 致力于构建高精度声呐系统,主要应用于水文测绘与科研探测领域。项目遵循完全开源协议,目前已在GitHub平台公开全部技术资料(代码库、原理图、PCB文件):

https://github.com/Neumi/open_echo

回声测深仪是一种用于测量水深的设备,它发出短促的声波(通常是超声波),然后等待回声返回。通过测量回声返回所需的时间,该装置可以计算出超声波传感器下方的水深。

几乎所有船只都使用回声测深仪来导航和确保安全。研究人员依靠它们进行测深、绘图和考古研究。搜救(SAR)队使用它们进行定位和打捞,而渔民则使用它们来确定鱼类丰富区域的位置。

我需要一个与 Arduino 兼容的回声测深仪用于另一个水深 GPS 记录设备项目。可读取 Arduino 的回声测深仪很难买到,所以我想,为什么不自己制作呢?基本工作原理很简单,但底层的电子学和物理学并不总是那么简单。

因此,我接受了挑战,并立即投入其中......

项目当前状态

部分逆向工程 "LUCKY 鱼群探测器"

从回声接收器/放大器向 FastLOGIC/Arduino 获取原始数据

使用 Matplotlib + Python 将数据绘制成瀑布图

制作并测试 DIY 传感器(正常工作)

制作并测试 TUSS4470 威廉希尔官方网站 板(正常工作)

完成 TUSS4470 Arduino 代码示例

更改 TUSS4470 硬件,以支持变压器驱动更高电压的压电元件(例如用于水下的 200kHz)

水下测试成功!(仅测试到 3 米范围)

可以使用 Arduino 读取带有 DIY 传感器(或库存)的 LUCKY 鱼探仪的 RAW 放大器(回声)数据,并使用 Matplotlib + Python 显示数据。

新的 TUSS4470 威廉希尔官方网站 板现在可以使用传感器(已测试 40kHz 和 200kHz)、驱动传感器、接收回声、过滤信号并将 RAW 回声数据发送到 Python 后端。为了获得良好的效果,在 XT30 连接器上使用直流 25V 电压。

TUSS4470 超声波传感器驱动器 Arduino 板

该 PCB 板与 Arduino (Uno) 兼容,用于测试 TI 的 TUSS4470 超声波驱动器集成威廉希尔官方网站 。所提供的 Arduino UNO 示例代码可让您驱动一个 40kHz 的传感器,应用噪声过滤,并通过串行接口将回声发送到 Python 后端。您可以根据自己的需要修改代码(如使用其他频率、采样大小、速度等)。Arduino UNO 的时钟速度和 RAM 大小限制了采样速度,使其在空气中的分辨率约为 1-2 厘米,在水中的分辨率约为 4 厘米(约 13uS/sample ),采样次数约为 850 次。Arduino MEGA 可以部分解决这个问题。

TUSS4470 Arduino Shield:

Arduino

Arduino

TUSS4470 的工作原理如下: 初始设置完成后,Arduino 通过 PIN9 向 TUSS4470 发送 8 个驱动频率脉冲串。TUSS4470 将此脉冲发送至传感器,然后等待。传感器将此脉冲作为短脉冲声音发送出去。障碍物反射的回声反弹到传感器,并在产生电压。TUSS4470 会测量该电压,对其进行过滤和放大,然后将其发送到 Arduino 的 A0 引脚。通过读取放大后的电压,可以检测到一个(或多个)障碍物。Python 脚本将这些数据绘制成瀑布图。

用于水下的带 1:6 变压器和 228kHz 的 DIY 传感器组件:

Arduino

使用 DIY 传感器组件进行测试的回声图: Arduino 海水环境垂直向与水平向联合探测(8倍速采集),后半程水下呈阶梯结构:   200kHz 19 毫米的传感器可以穿透 20 毫米厚的冰层,结果依然良好。在传感器表面和冰层之间有一层液态水很重要。与传感器和水之间没有冰层相比,回声较弱,但地面仍清晰可见,甚至还有第二次反射。 Arduino   Arduino

瀑布图可以让您更好地了解过去的情况,并更好地区分真正的回声和噪音。压电传感器在发出声音脉冲后很长时间内会产生振荡。这是图中较低的黄色部分(约 50 厘米)。在这个盲区内,您不会看到回声或反射。

回声测深仪的探测范围不仅取决于电子设备,还在很大程度上取决于换能器频率和使用介质。例如,上述 200kHz 设置在空气中的范围只有 50 厘米,但在海水中至少有 8 米。这是介质衰减(取决于频率)和波束形状(在每种介质中都不同)造成的。作为一个良好的起点,200kHz 适合水下使用。

如前所述,波束形状在很大程度上取决于频率。直径为 10 毫米、频率为 100 千赫的传感器的波束开角约为 130°,相同尺寸、频率为 200 千赫的传感器的波束开角约为 55°。频率越高,光束越窄。但衰减也会增加。

此外,波长越短(频率越高),您能看到的细节就越小。海水中 200 千赫的声音信号波长约为 7.5 毫米。可分辨的最小物体约为波长的一半,即约 3.75 毫米。

正在开发中的新PCB

继 TUSS4470 Arduino Shield之后,我正在开发一块新的一体化威廉希尔官方网站 板,将所有元件集成到一个组件中。该装置可封装在环氧树脂、聚氨酯或硅胶中以防水,并通过 USB 连接到带有基于 Python 的后台和接口的计算机。这种设置可对采样、驱动频率、原始数据等进行全面的软件控制。 ArduinoArduino

。外壳将由铝或塑料经数控加工而成,内装电子元件,以保护它们不受环境影响。19 毫米 200kHz 传感器将采用聚氨酯或硅胶封装,而有源表面将直接与水接触。

Arduino

Arduino   Arduino 水下潜水声纳

除了电子设计和 RAW 输出回声测深仪外,我还在开发一款带声纳的潜水计算机。它基于一个 Raspberry Pi + 7" 显示器、一个 IMU 和 KOGGER Basic Sidescan。我的第一个想法是将 KOGGER Basic 侧扫声纳安装上去。这很可能是获得良好水下声纳图像的最简单方法。也许以后我会自己制作一个 FAN 声纳,安装在潜水电脑上。但我们还是一件事、一件事慢慢来...... 

FAN/Sidescan SONAR 传感器与陀螺仪传感器和 Raspberry Pi 结合使用,可以显示前方地面或沉船等障碍物的扫描图像。

外壳由 50 毫米厚的聚乙烯块加工而成。箱盖采用 PMMA 材料密封,箱体采用 5 毫米 O 形环密封。内部使用潜水罐中的干燥空气进行加压,以防止水渗入,对密封件进行预压,并检查是否有泄漏(同时防止内部结露)。

四个带磁铁的按钮与内部的霍尔效应传感器相互作用,这些传感器位于 RPi 的载板上。其余部分用于电池管理、一个磁性旋转编码器、压力传感器的 ADC 和一个使用 1/2 英寸水管盖的防水 USB 连接器。

我在水中测试了几次 KOGGER BASIC 侧扫仪,分辨率和范围都非常不错。(不过,我还需要做更多的测试,并编写使用陀螺仪数据的软件,使其成为一个扫描侧扫声纳。

Arduino

Arduino

Arduino

最后...

让我们看一下第二代基于 TUSS4470 的 Shield 原理图、PCB 和 测量过程中的一些实体图片:

ArduinoArduinoArduinoArduinoArduinoArduinoArduinoArduinoArduino

注意:如果想第一时间收到 KiCad 内容推送,请点击下方的名片,按关注,再设为星标。

常用合集汇总:

和 Dr Peter 一起学 KiCad

KiCad 8 探秘合集

KiCad 使用经验分享

KiCad 设计项目(Made with KiCad)

常见问题与解决方法

KiCad 开发笔记

插件应用

发布记录

审核编辑 黄宇

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分