Это устройство появилось на свет в процессе работы над проектом компьютера для дайвинга, который в своём составе должен был иметь узколучевой сонар-дальномер. То ли мы плохо искали, то ли, действительно, на рынке ничего подходящего по параметрам нет в продаже, но в итоге, вместо приобретения готового модуля, решили мы для дайвинг-компьютера изобрести свой дальномер. Тем более, что процесс интеграции в компактный корпус компьютера казался проще при разнесении излучателя и электронной схемы в соответствие со свободным пространством внутри корпуса.
Пока дайвинг-компьютер ожидает своего часа, нам пришла в голову мысль: а что если дальномер выделить в отдельный проект? Поскольку у нас возникли сложности с поиском подходящего модуля подводного дальномера, наверняка ещё кто-нибудь сталкивался с подобными трудностями поиска.
Первоначальные требования к модулю были обозначены следующие:
- простой цифровой интерфейс. В идеале – UART с текстовыми командами/ответами.
- напряжение питания – 5 Вольт
- как можно более компактный водонепроницаемый корпус
Чтобы не затягивать с повествованием, привожу сразу первоначальную рабочую схему с некоторыми пояснениями в тексте.
Как видно, схема представляет собой классический вариант, условно разделенный на три основных блока:
- Управляющий
- Передающий
- Принимающий
В качестве элемента управления был выбран МК STM32F302K8U6, как неплохое сочетание цены, производительности и габаритов. Зона ответственности этого блока состоит в том, чтобы сформировать сигнал для передающего блока, оцифровать и обработать сигнал с принимающего, а пользовательским приложениям предоставить доступ для конфигурирования системы и данным измерений в удобном для них формате.
Передающий блок содержит в себе: драйвер затворов, силовые ключи, согласующий-повышающий трансформатор, встречно-параллельная сборка диодов. Последний элемент, вообще говоря, не обязателен в подобных схемах, но, в нашем случае, выполняет важную роль по “отключению” трансформатора на этапе приёма, когда значение действующего напряжения на пьезоэлементе ниже напряжения открытия диодов, что помогает изолировать входной каскад усилителя принимаемого сигнала от трансформатора.
Принимающий блок — самый требовательный к качеству исполнения, от работы которого зависит практически всё. С одной стороны, должен переварить сотни вольт на входе на этапе генерации зондирующего импульса. С другой стороны, обеспечить усиление сигнала амплитудой порядка микровольт с приемлемым соотношением сигнал/шум и до уровня уверенного детектирования и захвата на АЦП. За способность оставаться целым и невредимым при сотнях вольт на входе отвечают два компонента: высоковольтный конденсатор C2, на котором происходит ограничение переменного тока и встречно-параллельная сборка диодов, ограничивающая напряжение до приемлемых значений. Стоит отметить, что эта цепь способна выполнять свою задачу только в импульсном режиме длительностью порядка десятков микросекунд.
За усиление сигнала отвечают три каскада активных полосовых фильтров, из которых два последних являются узкополосными фильтрами второго порядка, обеспечивающих хорошую избирательность по частоте. Однако, ценой хорошей избирательности по частоте является более строгий подход выбору погрешностей для частотозадающих компонентов, иначе не обеспечить стабильность параметров от экземпляра к экземпляру. В рамках бюджетности устройства оптимальным для нашей задачи оказались погрешности 0,1% для резисторов и 0,5% для конденсаторов. Далее по схеме: амплитудный детектор и пассивный ФНЧ, для подавления остатков несущей, прошедшей через детектор.
Что касается акустической части устройства, которая не видна на принципиальной схеме, то здесь базовый элемент – это пьезоэлектрический диск ДЖГК.757681.008-172, диаметром 12,9мм, толщиной 3,1мм, резонансной частотой 640кГц. Этот элемент является одновременно и излучателем зондирующего импульса, и приёмником отражённого сигнала. Со стороны водной среды он изолирован четвертьволновым согласующим элементом (полиуретановая смола). Вместе с аналоговой схемой, конструкция излучателя/приёмника вносит большой вклад в качество устройства в целом. Скорость звука в пластике, который используется в излучателе как согласующий/изолирующий элемент, составляет 2400 м/с. Это определило толщину согласующего элемента – 0,9 мм.
В прототипе печатной платы присутствовали некоторые недочёты, но навесным монтажом мы заставили это устройство работать в минимально приемлемом режиме. Этого оказалось достаточно, чтобы снять характеристики диаграммы направленности.
В качестве стенда для измерения направленности мы не придумали ничего лучше, кроме как использовать пластиковое корыто полное воды, в котором установлен наш модуль-дальномер в качестве излучателя, и на небольшом расстоянии от него приёмник – пьезоэлемент, подключенный к осциллографу. Модуль-дальномер может поворачиваться влево-вправо от 0 до 180°, в это время с приёмника мы снимаем осциллограмму и определяем амплитуду принятого сигнала в зависимости от угла поворота излучателя.
Ниже приведен график итоговой диаграммы направленности.
Дальнейшие измерения проводились в импровизированном бассейне – пластиковой трубе, заполненной водой на высоту 1 метр. Кстати, удалось засечь три переотражения от дна и поверхности воды, прежде чем сигнал совсем исчез.
Поскольку мы решили использовать интерфейс UART с простыми текстовыми командами (на первом этапе), то не составило большого труда реализовать связку модуля дальномера с ГУИ на компьютере, выполненном на Processing.
На фото — попытка сканирования дна местного водоёма с помощью кораблика с установленным модулем дальномера и радиопередатчиком для получения данных с модуля на ноутбук. К сожалению, в моменты волнительного испытания железки, меньше всего думаешь о качестве фотографий процесса.
А используя приложение для смартфона Bluetooth Electronics и преобразователь USB->UART можно реализовать более мобильный вариант тестовой установки.
В данный момент мы работаем над следующим прототипом модуля дальномера, поскольку улучшать, на самом деле, есть что.
Например, реализовать постепенное усиление входного сигнала, чтоб отражение от ближайших объектов не зашкаливало, а от дальних объектов усиление было максимальным. Может, применить более дешёвую элементную базу. Продумать вариант заполнения внутреннего пространства каким-нибудь компаундом или силиконовым маслом для герметизации и противостоянии большому давлению.
Увидимся в следующем выпуске!
Комментарии (69)
Mogwaika
13.02.2019 20:21В чём заключается обработка? Вы просто амплитуду рисуете? Свёртку с идеальным горбиком нет смысла делать?
MShekunov Автор
13.02.2019 21:08Устраняются шумы АЦП с помощью цифрового ФНЧ, затем определяется максимум амплитуды в заданном временнОм окне — это и есть элемент графика. Получается, что да — просто амплитуду. Про какой горбик идёт речь?
Mogwaika
13.02.2019 21:16Можно снять сигнал от ровной твёрдой стеночки, развернуть его во времени и свернуть с принятым сигналом. По идее можно точнее отслеживать дистанцию по максимуму свёртки, чем по фронту и без фильтра можно наверное обойтись.
MShekunov Автор
13.02.2019 21:45Пока это не очень умная железка, которая лишь отдаёт принятый сигнал с минимальными обработками.
Zenitchik
13.02.2019 20:34реализовать постепенное усиление входного сигнала
ВАРУ?
Ещё можно стробировать принимаемый сигнал по дальности и сравнивать его с заданными внешними сигналами (полустробами сопровождения :) )
siryoshka
13.02.2019 21:10Как я понимаю обработка сигнала с помощью цифрового корреляционного фильтра. Непонятно со стробированием тактов
MShekunov Автор
13.02.2019 21:44Корреляционный фильтр не используется. Всё гораздо проще: этой самой «корреляцией», если можно так выразиться, занимается активный фильтр на операционных усилителях. У него АЧХ получается фиксированной на железном уровне.
Что имеется в виду под стробированием тактов?siryoshka
13.02.2019 23:09Да у вас схема не открывается, трудно разобрать. Собственно подумалось использование корреляции, в данном случае возможность получения полезного сигнала ниже соотношения сигнал/шум. К тому же применение STM32 так и намекает на более серьёзную отработку сигнала.
Собственно стробирование и нужно для более точного анализа принимаемого сигнала. Грубо говоря вы передаёте импульс и ждёте определённый сигнал, который автоматически подстраивается под среду, что собственно и есть стробирование. Понятно, любое отклонение, есть аномалия
Upd; почему бы не применить фазовый детектор во входной цепи, напримерZenitchik
14.02.2019 15:06Да у вас схема не открывается, трудно разобрать.
Правой кнопкой и «открыть в новой вкладке»
hardegor
13.02.2019 21:57+1Не очень понятно зачем такой точный фильтр?
У вас пьезоэлемент уже является полосовым фильтром, и если вы запускаете в него несколько периодов 640кГц, то достаточно подавить всё ниже 500 кГц, остальное усилить до ограничения и работать по первым принятым импульсам.MShekunov Автор
13.02.2019 22:07Не очень понятно зачем такой точный фильтр?
Если очень коротко — то для возможного применения нескольких модулей одновременно, разнесённых по частоте.
А про пьезоэлемент и его избирательность Вы слишком хорошего мнения :)
barbos6
13.02.2019 23:55Не прорабатывали использование иного железа, например, tdc7201?
MShekunov Автор
14.02.2019 08:49Посматриваем на AD8310. Это логарифмический усилитель с детектором в одном корпусе.
Задача модуля не только расстояние до ближайшего объекта вычислить, но и показать все отражения от объектов в пределах какого-то диапазона.
Solgo
14.02.2019 08:23На схеме смутил сильный дисбаланс в схеме передатчика, мощные полумостовые драйвера на 2.5 Ампера, транзисторные сборки на 20 Ампер, и BAT54 диоды шоттки на 200 мА от трансформатора к излучателю.
MShekunov Автор
14.02.2019 08:33Примите в расчёт и всю вторичную цепь, которая выступает в качестве нагрузки. Питание мостов 5 Вольт, трансформатор имеет коэффициент 14:1, ёмкость пьезоэлемента около 800пФ (сопротивление более 300 Ом на частоте 640кГц), можете прикинуть токи через диод, который, на самом деле, выдерживает 600 мА импульсно.
Solgo
14.02.2019 10:27А какова индуктивность первичной обмотки передающего трансформатора?
MShekunov Автор
15.02.2019 14:16Новая версия модуля использует планарный трансформатор, у него индуктивность первички 3-4 мкГн (тяжело точно измерить). Но что вам даст эта информация?
Solgo
16.02.2019 09:36Индуктивность первичной обмотки определяет какой ток будет протекать в ней. При 640КГц пол периода это 0.78мкс. За это время ток сумеет вырасти с 0 до 5в*0.78мкс/2мГн=1.95Ампера. Транзисторы на 20А это получается с 10 кратным запасом. Для экспериментов нормально, но для производства дороговато для DIY тем более. Передатчик на такие токи, скорости и напряжения можно попроще сделать, по моему мнению конечно.
Solgo
16.02.2019 09:402мкГн это я еще взял "лучший" для максимального тока вариант, для 3мкГн ток уже 1.3Ампера получается.
MShekunov Автор
16.02.2019 13:27Ваши расчёты справедливы только для работы трансформатора вхолостую, без нагрузки. И измерения индуктивности первички я сделал у неподключенного трансформатора.
Токи в первичке работающего транса достигают 30 Ампер.Solgo
16.02.2019 15:05+1Да, я посчитал только треугольную составляющую тока. Прямоугольная составляющая определяется нагрузкой трансформатора. Нагрузка у нас емкость 800пф I=CdU/dt=800пф140/0.78мкс=143ма, т.е. нагрузка может принять мощность 143ма*140В= 20W. Прямоугольная составляющая тока около 4Ампер. Плюс 1.3Ампера треугольная сотавляющая тока итого 5.3Ампера. 30 ампер может получиться только если насыщается сердечник трансформатора.
Solgo
16.02.2019 15:19+1Я не корректно сложил токи. "Прямоугольная" сотавляющая тока не будет прямоугольной. Ток будет падать по мере перезаряда емкости и треугольная будет нарастать. Суммарный ток будет меньше 5.3Ампер. В начале импульса ток будет 4А, а в конце импульса, так как емкость пьезоизлучателя уже зарядиться ток уже будет определяться индуктивностью трансформатора.
ancc
14.02.2019 08:59А можно взять F4 и почти всю обработку делать на нем?
MShekunov Автор
14.02.2019 11:30Модуль отдаёт результат своей предварительной обработки хосту, а тот уже может делать с этими данными что захочет. Наружу выведен даже вывод сразу после усилителя-фильтра, чтоб можно было обрабатывать сырой сигнал внешними средствами, если это будет необходимо.
Функционал этого модуля, на самом деле, мог бы осилить и какой-нибудь ATMega. Применение мощного процессора в модуле избыточно.
DyshaHr
14.02.2019 11:16Скажите, в чём принципиальные отличия от рыбацких эхолотов?
Какая максимальная дальность обнаружения у него будет и скажем так, юзеркейс у него какой? В каких практических ситуациях он пригодится дайверу?MShekunov Автор
14.02.2019 11:26Предполагается, что это будет нечто вроде элемента конструктора, как всякие прочие модули для ардуинщиков. Поэтому и выбран был UART с текстовыми командами в качестве интерфейса. Например, можно установить на подводный аппарат. Конкретно этот модуль — он не про дайверов, а про самодельщиков, увлекающихся водной/подводной тематикой.
Когда мы тестировали подводный компьютер в бассейне, то нам удавалось засечь два переотражения от стенок 25-метрового бассейна. Но это были идеальные условия.
Нам сильно не хватает тестов в реальных условиях. Надеюсь, сообщество однажды поможет в этом вопросе.DyshaHr
14.02.2019 12:03+1Пишите на коробке «дальность 15 метров» и в продакшн.
Я серьёзно, для ардуинщиков вполне достаточно, если он вообще им понадобится.
А версию 2.0 надо допиливать на деньги от продажи 1.0
Желание сделать сразу идеальное устройство или написать идеальную программу это гарантированный способ угробить проект.
Удачи вам и всем, кто присоединится.MShekunov Автор
14.02.2019 13:28Спасибо за добрые слова )
Zenitchik
14.02.2019 15:17Реально тема интересная. Говорю как начинающий ардуинщик и человек кое-что понимающий в радиолокации.
Главное — не надо урезать функционал. Временная автоматическая регулировка усиления (ВАРУ) — очень хорошая идея. Скажем, в стародавние времена на усилитель подавались пилообразные колебания с периодом равным периоду повторения сканирующих импульсов.
Из статьи не понял, что поступает на выход модуля. Насколько возможна дальнейшая обработка сигнала, например, стробирование по дальности и умножение на другие кривые?
Каков период повторения импульсов?MShekunov Автор
14.02.2019 15:29Благодарю за Ваши вопросы, но они затрагивают тему второй статьи. Всё это будет описано.
Zenitchik
14.02.2019 15:56О! Ещё один момент вспомнил. Не уверен, задача ли это вашего прибора или лучше делать это на стороне внешнего устройства, но нужна функция измерения скорости звука по известному расстоянию.
Punk_Joker
14.02.2019 18:33Это и есть калибровка устройства о которой я писал в начале. Если устройство позиционируется как законченное устройство с цифровым интерфейсом, то это должно быть реализованно в самом устройстве.
Zenitchik
14.02.2019 18:48Тогда, может имеет смысл сконструировать уголковый отражатель для калибровки?
Не смог найти картинку, но они принципиально такие же как для радио. Читал о них вот в этой книге www.twirpx.com/file/681403
frts
14.02.2019 16:51Добрый день! Скорость звука в воде зависит от нескольких факторов: температура, плотность воды(давление или глубина), соленость. Соленость можно взять среднюю по морям, где планируется использование прибора, или пресная вода. Давление на глубинах для дайвинга (до 30-40 м) не сильно влияет на скорость звука. Измерить температуру воды не сложно :) формулы по расчетам в книге Дж.Урик «Основы гидроакустики».
wormball
14.02.2019 22:19> Измерить температуру воды не сложно
Сложно только измерить её на глубине.Punk_Joker
14.02.2019 23:59Почему?
wormball
15.02.2019 01:18Потому, что градусник надо опустить на глубину. А у нас эхолот, который и нужен только для того, чтобы ничего не надо было опускать. А температура на поверхности и на глубине может сильно различаться.
Altish
15.02.2019 10:40можно же взять в расчет какие то определенные диапазоны температуры воды, для данной местности и т.д., в основном дайверы ныряют в теплых странах типа: Мексики, Бали, Египта, Мальдив и т.д. в тех краях вода от 15-30 градусов даже с учетом глубины, в целом будет погрешность 10-15% в точности измерения (вы же не делаете высокоточный военный эхолот, так или иначе главное взять в расчет какие то отправные точки ( которые в последующем, после доп испытаний в разных условиях можно будет доработать).
Zenitchik
15.02.2019 11:25вы же не делаете высокоточный военный эхолот
Поэтому надо просто откалибровать его на местности.
Punk_Joker
15.02.2019 11:47А в чем проблема добавить датчик температуры в само устройство?
wormball
15.02.2019 12:02+1В том, что устройство находится в одной точке, а нам надо знать температуру на всём протяжении пути звука.
Altish
15.02.2019 12:18тут уже вопрос встает в каком направлении вы будете излучать если непосредственно перед собой, то ввиду того, что измерения будут проводится на n-ой глубине там значительные температурные перепады могут быть только при наличии холодных/горячих течений. ( все зависит от того, в каком направлении вы планируете сканировать( т.е. рельеф дна или же таки препятствия на пути дайвера)).
Zenitchik
15.02.2019 13:59+1в каком направлении вы будете излучать
Скорее наклонно — вперёд и вниз. Чисто с точки зрения вероятности.
Прикол ещё в том, что из-за неоднородности температуры по глубине, путь звука будет не прямым.MShekunov Автор
15.02.2019 14:12+1Прикол ещё в том, что из-за неоднородности температуры по глубине, путь звука будет не прямым
Хех, этот эффект особенно виден, если проводить измерения на воздухе. Достаточно просто тёплого дыхания между излучателем и препятствием, чтобы заметно исказить принимаемый сигнал.Altish
15.02.2019 15:21сейчас за обедом обсудил с коллегами ваш вопрос, все сошлись на том, что для любительского эхолота тем более для дайвинга погрешность в 1-2мм будет не значительно и можно взять таки усреднеенную темпеературу т.к. примерно от 15-30 градусов скорость изменяется, порядка 20мс на 5 градусов
Altish
14.02.2019 16:51Например, реализовать постепенное усиление входного сигнала, чтоб отражение от ближайших объектов не зашкаливало, а от дальних объектов усиление было максимальным.
для удобства реализации данных задумок, я бы посоветовал посмотреть, разного рода источники по медицинским допплеровским устройствам, почти во всех устройствах есть ВАРУ (временная автоматическая регулировка) которая чаще всего реализует как раз таки усиление в дальней зоне луча.
AVDerov
14.02.2019 20:54+1Позволю себе пару советов:
- Что касается защитного слоя в четверть длины волны, надо смотреть акустический импеданс резины, если он не сильно отличается от импеданса воды, тогда пойдет. А так заливайте резиной как есть.
- пьезоэлемент на что опёрт? По уму его надо сажать на массивный металлический корпус на эпоксидку (можно на эпоксидку плюс молотый порошок пьезокерамики 50% + 50% по массе, порошок керамики можно еще прокалить при температуре 100 С, для обезвоживания, толочь керамику в порошок и все остальное строго в респираторе — канцерогенно, это для согласования акустического импеданса керамики и опоры)
- делать герметизацию через маслонаполненный корпус можно, микросхемы давление держат, проблема с конденсаторами и кварцевыми осцилляторами — они чувствительны к давлению, выход — закатать их в каплю эпоксидки, но это на давления — километры)
- что бы знать на какой частоте излучать, неплохо бы измерить электрический импеданс конструкции излучателя в воде, если не ошибаюсь максимальная эффективность излучения на максимуме импеданса.
wormball
14.02.2019 22:04> неплохо бы измерить электрический импеданс конструкции излучателя в воде
Можно просто попищать и измерить частоту собственных колебаний.AVDerov
14.02.2019 22:34Не понял, как вы измерите собственные частоты излучателя? И мы, полагаю, говорим про "попищать" в воде?
wormball
15.02.2019 01:11Подаём на излучатель приблизительно упомянутые 640 кГц, перестаём подавать, излучатель ещё некоторое время колеблется, вот эти колебания и меряем через АЦП после усилителя. Или даже не АЦП, а просто через цифровой вход. Что не так?
AVDerov
15.02.2019 07:16Ну подали вы 640 кГц на излучатель, начинаете измерять остаточные колебания и увидите те же 640 кГц в затухающем режиме. Откуда возьмутся новые частоты???
Можете подать конечный импульс на излучатель (спектр), потом посмотреть как этот спектр распадается. Как вы идентифицируете собственную частоту?wormball
15.02.2019 12:17> Ну подали вы 640 кГц на излучатель, начинаете измерять остаточные колебания и увидите те же 640 кГц в затухающем режиме. Откуда возьмутся новые частоты???
Ну вот раскачиваете вы качели, скажем, на частоте 1 Гц, а затем перестаёте раскачивать. Вы утверждаете, что они так и будут качаться на одном герце, вне зависимости от собственной частоты?AVDerov
15.02.2019 14:35Пример правильный, но при чем тут "попищать", достаточно импульсного возбуждения пьезоэлемента.
AVDerov
14.02.2019 22:40Электрический импеданс самое простое, что можно измерить. А просто попищать, честно говоря не представляю как. На слух, что ли или у автора есть калиброванный гидрофон B&K? Потом ширина пика импеданса будет несколько кГц, так что лучше по твоей, все что за пределами резонанса на порядки слабее.
MShekunov Автор
15.02.2019 14:06+1Благодарю за советы. Попробую ответить:
- Самый подходящий материал в качестве защитного слоя — полиимид. Но он недоступен для нас. На втором месте — поликарбонат, пмма (оргстекло), пластики. Выбрали самый удобный материал — литьевой полиуретан.
- Пьезоэлемент с задней стороны залит эпоксидкой
- Опыты покажут устойчивость к давлению. Неплохо бы, конечно, в барокамере продавить, атмосфер под 30
- Выбрать максимально эффективную частоту очень просто — достаточно измерять уровень отражённого сигнала от неизменного препятствия, при этом меняя частоту импульсов в пачке. Это, в принципе, реализовано. И эффективная частота не совпадает с резонансной частотой пьезоэлемента
AVDerov
15.02.2019 15:30А Вы не поделитесь соображениями почему полиимид для вас наиболее предпочтителен как защита излучателя? Как вы можете обеспечить акустический контакт полиимид/пьезокерамика?
RV3EFE
15.02.2019 10:59У меня вопрос человека немного не в теме, наверное, но:
А можно использовать два разных излучателя?
Один на приём, второй на передачу?
Механически разнести их так, что бы прямой волны не было в зоне приёма.
Передающему сделать автогенератор, он будет тогда в своей резонансной частоте всегда работать. Это даст максимум кпд.
Дальше всегда мониторим частоту работы генератора и вычитаем её из принимаемого сигнала.
MShekunov Автор
15.02.2019 14:10Можно реализовать и вашу схему, но с оговоркой — в режиме непрерывной генерации модуль использовать нельзя, только в импульсном. Например, пачки из 2 — 50 импульсов с частотой до 25 Герц. Но вся остальная логика должна быть не на уровне модулей, а на уровне управляющих устройств.
Zenitchik
15.02.2019 14:24Вижу преимущество данной схемы только в возможности использовать один передатчик с несколькими приёмниками — для измерения угловых координат цели.
RV3EFE
15.02.2019 14:44Можете пояснить, почему нельзя использовать с непрерывной генерацией?
Из за переотражённых волн и их наложений?MShekunov Автор
15.02.2019 15:00Причина №1 — Сила тока в первичной обмотке достигает 30 Ампер. В импульсном режиме это не страшно, но для постоянного режима это неприемлемо. Сгорят транзисторы, трансформатор, питающие проводники.
Причина №2 — Энергия, которая используется для генерации импульсов ограничена ёмкостью конденсаторов С22-С31 на схеме. Этой энергии достаточно для нескольких десятков импульсов, не более.
Zenitchik
15.02.2019 15:17А дальность как измерять?
Altish
15.02.2019 16:41если вы спрашивается про определение дальности обьекта, то рассчитывается по скорости звука вводе на время, а если про дальность распространения волны, то зависит от мощности излучения и затухания ( но вводе он практически не затухает)
Zenitchik
15.02.2019 18:17А Вы всю ветку постов читать не пробовали?
Я спрашиваю про измерение дальности до объекта при непрерывной работе излучателя.
Punk_Joker
А какие возможности предоставлены по цифровому интерфейсу? Имеется возможность самостоятельной калибровки?
MShekunov Автор
Правильно ли я понимаю, что вы имеете в виду сопоставление реального расстояния до объекта его измеренному значению? Хотя, не важно, что Вы имели в виду, сейчас модуль реагирует только на единичные запросы измерения, хоть и с относительно большой частотой (20 Гц). И возможности какой-то калибровки пока нет.
Кстати, благодарю за правильный вопрос. Такую калибровку обязательно следует реализовать.
Punk_Joker
Тогда, я так понимаю, изменение свойств среды (плотность, соленость, температура), ее неоднородность (поднят ил например животиной) сейчас никак не учитываются?
MShekunov Автор
Да, Вы правы, сейчас расчёт только на воду. Следующая версия модуля предполагает возможность пользователя задавать такой параметр как скорость звука в среде (и не только этот).