(4)(4.5) Underwater Sonar (Analog)

文章目录

前言

1 推荐硬件

2 连接和配置

3 参数说明


前言

本页详细介绍了低成本模拟水下声纳(又称"探鱼器")和数字转换器的设置,数字转换器可将模拟读数转换成 NMEA 0183,供 ardupilot 读取。这种设置可以测量船下的水深。所述传感器的最大探测距离为 300m,波束宽度为 22 度。


这些说明由 OlavA 在这篇 ardupilot.org 博文的底部提供(OlavA at the bottom of this ardupilot.org blog post)。

Note

Rover-3.4 添加了对该传感器的支持。

1 推荐硬件

Lowrance HST-WSBL 83/200 kHz 底座安装传感器(Lowrance HST-WSBL 83/200 kHz Transom Mount Transducer)可在包括亚马逊网站(amazon.com)在内的许多零售商处购买。其他传感器也可以使用。

DST-2 200kHz 数字转换器(DST-2 200kHz digitizer)可从 Navstore.com 等许多零售商处(many retailers)购买(手册在此)(manuals here)。

2 连接和配置

下图显示的是 airmar 模拟传感器的引脚输出,但与 Lowrance HST-WSBL 的引脚输出相同。

应将 Lowrance HST-WSBL 引脚连接到 DST-2 右侧的引脚上,如下图所示。请注意,Lowrance HST-WSBL 没有速度传感器,因此只需连接引脚 14-7

DST-2 需要 10V28V 的电源,这意味着它可以使用 3S4S 锂电池供电。

接下来应将 DST-2 左侧的引脚(串行和 RS-232 输出)连接到自动驾驶仪的遥测/串行输入端。最简单的连接方法是将 DST-25V 串行输出直接连接到自动驾驶仪遥测端口的 TxRx 和公共接地。连接前最好查阅 DST-2 文档,但下面显示了 Pixhawk(或其他自动驾驶仪)的遥测引脚应如何连接到 DST-2 左侧的引脚。

通过地面站连接自动驾驶仪并设置以下参数(这些设置假定第一个传感器连接到 Telem2/Serial2)。

  • SERIAL2_PROTOCOL = 9 (Lidar);
  • SERIAL2_BAUD = 4 (4800 baud)。

然后应设置以下测距仪相关参数:

  • RNGFND1_TYPE = 17 (NMEA);
  • RNGFND1_MIN_CM = 13
  • RNGFND1_MAX_CM = 30000(即 30m)。这是测距仪能够可靠读取的距离,单位为厘米;
  • RNGFND1_ORIENT = 25(即向下),如果安装在船上。

测试传感器

传感器读取的距离可在Mission Planner飞行数据屏幕的状态选项卡中查看。仔细查看"sonarrange"(声纳范围)。

3 参数说明

1SERIAL2_PROTOCOL:串行2协议选择

注意:更改后需要重新启动。

控制 Serial2 端口应使用何种协议。请注意,Frsky 选项需要外部转换器硬件。详情请查看维基百科。

Values

Value

Meaning

-1

None

1

MAVLink1

2

MAVLink2

3

Frsky D

4

Frsky SPort

5

GPS

7

Alexmos Gimbal Serial

8

Gimbal

9

Rangefinder

10

FrSky SPort Passthrough (OpenTX)

11

Lidar360

13

Beacon

14

Volz servo out

15

SBus servo out

16

ESC Telemetry

17

Devo Telemetry

18

OpticalFlow

19

RobotisServo

20

NMEA Output

21

WindVane

22

SLCAN

23

RCIN

24

EFI Serial

25

LTM

26

RunCam

27

HottTelem

28

Scripting

29

Crossfire VTX

30

Generator

31

Winch

32

MSP

33

DJI FPV

34

AirSpeed

35

ADSB

36

AHRS

37

SmartAudio

38

FETtecOneWire

39

Torqeedo

40

AIS

41

CoDevESC

42

DisplayPort

43

MAVLink High Latency

44

IRC Tramp

2RNGFND1_TYPE:测距仪类型

连接测距仪的类型。

Values

Value

Meaning

0

None

1

Analog

2

MaxbotixI2C

3

LidarLite-I2C

5

PWM

6

BBB-PRU

7

LightWareI2C

8

LightWareSerial

9

Bebop

10

MAVLink

11

USD1_Serial

12

LeddarOne

13

MaxbotixSerial

14

TeraRangerI2C

15

LidarLiteV3-I2C

16

VL53L0X or VL53L1X

17

NMEA

18

WASP-LRF

19

BenewakeTF02

20

Benewake-Serial

21

LidarLightV3HP

22

PWM

23

BlueRoboticsPing

24

DroneCAN

25

BenewakeTFminiPlus-I2C

26

LanbaoPSK-CM8JL65-CC5

27

BenewakeTF03

28

VL53L1X-ShortRange

29

LeddarVu8-Serial

30

HC-SR04

31

GYUS42v2

32

MSP

33

USD1_CAN

34

Benewake_CAN

35

TeraRangerSerial

36

Lua_Scripting

100

SITL

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/787375.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Kubernetes篇(三)— 资源管理

目录 前言资源管理介绍YAML语言介绍资源管理方式命令式对象管理命令式对象配置声明式对象配置 前言 本章节主要介绍yaml语法和kubernetes的资源管理方式 资源管理介绍 在kubernetes中,所有的内容都抽象为资源,用户需要通过操作资源来管理kubernetes。 …

【THM】SQL Injection(SQL注入)-初级渗透测试

简介 SQL(结构化查询语言)注入,通常称为 SQLi,是对 Web 应用程序数据库服务器的攻击,导致执行恶意查询。当 Web 应用程序使用未经正确验证的用户输入与数据库进行通信时,攻击者有可能窃取、删除或更改私人数据和客户数据,并攻击 Web 应用程序身份验证方法以获取私有数据…

java-map接口学习

java-map接口学习 Java Map接口HashMapLinkedHashMapTreeMap例子 Java Map接口 Map接口是基于键(key)和值(value)对的集合。每个键值对被称为一个条目(entry)。Map中的键是唯一的。 如果需要根据键进行搜索、更新或删Java Map接口除元素,那么Map是很有用的。 在Ja…

PCB三大走线,如何高效率检查?

在PCB设计中,走线的布局与检查是至关重要的环节。按照走线类型,可分为直角走线、差分走线及蛇形线,如何针对这三种走线方式进行高效率检查,去也报电路的稳定性和可靠性? 1、直角走线 容性负载:观察直角拐角…

从SQL质量管理体系来看SQL审核(4)- 如何设计一个优秀的SQL审核引擎

如何设计一个优秀的SQL审核引擎 从SQL质量管理体系来看SQL审核系列包括多篇文章,从SQL质量管理体系的角度来讨论如何设计一个优秀SQL审核引擎,欢迎订阅。 从SQL质量管理体系来看SQL审核(1)- SQL质量管理体系概览 从SQL质量管理…

YOLOv9改进策略 :主干优化 | 无需TokenMixer也能达成SOTA性能的极简ViT架构 | CVPR2023 RIFormer

💡💡💡本文改进内容: token mixer被验证能够大幅度提升性能,但典型的token mixer为自注意力机制,推理耗时长,计算代价大,而RIFormers是无需TokenMixer也能达成SOTA性能的极简ViT架构 ,在保证性能的同时足够轻量化。 💡💡💡RIFormerBlock引入到YOLOv9,多个数…

JavaEE 初阶篇-深入了解单例模式(经典单例模式:饿汉模式、懒汉模式)

🔥博客主页: 【小扳_-CSDN博客】 ❤感谢大家点赞👍收藏⭐评论✍ 文章目录 1.0 单例模式的概述 2.0 单例模式 - 饿汉式单例 2.1 关于饿汉式单例的线程安全问题 3.0 单例模式 - 懒汉式单例 3.1 关于懒汉式单例的线程安全问题 3.1.1 加锁 synchr…

spring boot3登录开发-3(2短信验证登录/注册逻辑实现)

⛰️个人主页: 蒾酒 🔥系列专栏:《spring boot实战》 🌊山高路远,行路漫漫,终有归途 目录 写在前面 上文衔接 内容简介 功能分析 短信验证登录实现 1.创建交互对象 用户短信登录/注册DTO 创建用户登录VO…

IOTX:未来市场爆发点的RWA协议?DePIN赛道被低估的龙头

从基本面来看,IoTeX的目标是创建一个连接的世界,在这个世界中,每个人都能控制自己的数据、设备和身份。通过区块链技术,IoTeX旨在解锁智能设备和数据的潜力,支持新一代的现实世界Dapp和数字资产的发展。IOTX始终致力于…

红黑树剖析

目录 一. 红黑树的概念 二. 红黑树的性质 三. 红黑树节点的定义 四. 红黑树的插入操作 4.1 uncle存在且颜色为红 4.2 uncle不存在或者uncle存在且为黑 五. 整体代码展示 一. 红黑树的概念 红黑树,是一种二叉搜索树,但在每…

OpenCV 4.9基本绘图

返回:OpenCV系列文章目录(持续更新中......) 上一篇:OpenCV使用通用内部函数对代码进行矢量化 下一篇:OpenCV系列文章目录(持续更新中......) ​目标 在本教程中,您将学习如何&am…

广东小团队惊艳业绩揭秘:链动模式助力面膜销售破千万!

惊爆!广东一个默默无闻的小团队竟然在短短一个月内,仅凭销售面膜就实现了超过千万的惊人业绩!这背后究竟隐藏着怎样的秘密武器呢? 揭开链动模式的神秘面纱 链动模式,作为社交电商领域的一股新兴力量,正以其…

【强化学习的数学原理-赵世钰】课程笔记(一)基本概念

目录 一. 内容概述1. 通过案例介绍强化学习中的基本概念2. 在马尔可夫决策过程(MDP)的框架下将概念正式描述出来 二. 通过案例介绍强化学习中的基本概念1. 网格世界(A grid world example)2. 状态(State)3.…

Spring AOP + 自定义注解 实现公共字段的填充

Spring AOP 自定义注解 实现公共字段的填充 代码冗,不利于后期维护. 定义操作这些字段的方法类型 实现步骤: 自定义注解AutoFill,用于表示操作这些公共字段的方法自定义切面类AutoFillAspect,统一拦截,通过反射获取方法入参,并填充公共字段…

【THM】Burp Suite:Other Modules(其他模块)-初级渗透测试

介绍 除了广泛认可的Repeater和Intruder房间之外,Burp Suite 还包含几个鲜为人知的模块。这些将成为这个房间探索的重点。 重点将放在解码器、比较器、排序器和组织器工具上。它们促进了编码文本的操作,支持数据集的比较,允许分析捕获的令牌内的随机性,并帮助您存储和注释…

9、鸿蒙学习-开发及引用静态共享包(API 9)

HAR(Harmony Archive)是静态共享包,可以包含代码、C库、资源和配置文件。通过HAR可以实现多个模块或多个工程共享ArkUI组件、资源等相关代码。HAR不同于HAP,不能独立安装运行在设备上,只能作为应用模块的依赖项被引用。…

MongoDB 6.1 及以上版本使用配置文件的方式启动报错 Unrecognized option: storage.journal.enabled

如果你使用的 MongoDB 的版本大于等于 6.1,并且在 MongoDB 的配置文件中编写了如下内容 storage:journal:# 启用或禁用持久性日志以确保数据文件保持有效和可恢复# true 启用;false 不启用# 64 位系统默认启用,启用后 MongoDB 可以在宕机后根…

Linux多进程通信(1)——无名管道及有名管道使用例程

管道是半双工通信,如果需要 双向通信,则需要建立两个管道, 无名管道:只能父子进程间通信,且是非永久性管道通信结构,当它访问的进程全部终止时,管道也随之被撤销 有名管道:进程间不需…

RK3568驱动指南|第十四篇 单总线-第162章DS18B20驱动读时序编写

瑞芯微RK3568芯片是一款定位中高端的通用型SOC,采用22nm制程工艺,搭载一颗四核Cortex-A55处理器和Mali G52 2EE 图形处理器。RK3568 支持4K 解码和 1080P 编码,支持SATA/PCIE/USB3.0 外围接口。RK3568内置独立NPU,可用于轻量级人工…

Golang 开发实战day06 - Boolean Conditional

Golang 教程06 - Boolean & Conditional 1. Boolean & Conditional 1.1 什么是布尔类型? 想象一下,你正在玩一个古老的游戏,只有两个选项:是或否。在 Golang 中,这就是布尔类型,用 bool 关键字表…