Pull to refresh

Comments 75

А какие возможности предоставлены по цифровому интерфейсу? Имеется возможность самостоятельной калибровки?
Правильно ли я понимаю, что вы имеете в виду сопоставление реального расстояния до объекта его измеренному значению? Хотя, не важно, что Вы имели в виду, сейчас модуль реагирует только на единичные запросы измерения, хоть и с относительно большой частотой (20 Гц). И возможности какой-то калибровки пока нет.
Кстати, благодарю за правильный вопрос. Такую калибровку обязательно следует реализовать.
Тогда, я так понимаю, изменение свойств среды (плотность, соленость, температура), ее неоднородность (поднят ил например животиной) сейчас никак не учитываются?
Да, Вы правы, сейчас расчёт только на воду. Следующая версия модуля предполагает возможность пользователя задавать такой параметр как скорость звука в среде (и не только этот).
В чём заключается обработка? Вы просто амплитуду рисуете? Свёртку с идеальным горбиком нет смысла делать?
Устраняются шумы АЦП с помощью цифрового ФНЧ, затем определяется максимум амплитуды в заданном временнОм окне — это и есть элемент графика. Получается, что да — просто амплитуду. Про какой горбик идёт речь?
Можно снять сигнал от ровной твёрдой стеночки, развернуть его во времени и свернуть с принятым сигналом. По идее можно точнее отслеживать дистанцию по максимуму свёртки, чем по фронту и без фильтра можно наверное обойтись.
Пока это не очень умная железка, которая лишь отдаёт принятый сигнал с минимальными обработками.
реализовать постепенное усиление входного сигнала

ВАРУ?
Ещё можно стробировать принимаемый сигнал по дальности и сравнивать его с заданными внешними сигналами (полустробами сопровождения :) )
Как я понимаю обработка сигнала с помощью цифрового корреляционного фильтра. Непонятно со стробированием тактов
Корреляционный фильтр не используется. Всё гораздо проще: этой самой «корреляцией», если можно так выразиться, занимается активный фильтр на операционных усилителях. У него АЧХ получается фиксированной на железном уровне.
Что имеется в виду под стробированием тактов?
Да у вас схема не открывается, трудно разобрать. Собственно подумалось использование корреляции, в данном случае возможность получения полезного сигнала ниже соотношения сигнал/шум. К тому же применение STM32 так и намекает на более серьёзную отработку сигнала.
Собственно стробирование и нужно для более точного анализа принимаемого сигнала. Грубо говоря вы передаёте импульс и ждёте определённый сигнал, который автоматически подстраивается под среду, что собственно и есть стробирование. Понятно, любое отклонение, есть аномалия
Upd; почему бы не применить фазовый детектор во входной цепи, например
Да у вас схема не открывается, трудно разобрать.

Правой кнопкой и «открыть в новой вкладке»
Не очень понятно зачем такой точный фильтр?
У вас пьезоэлемент уже является полосовым фильтром, и если вы запускаете в него несколько периодов 640кГц, то достаточно подавить всё ниже 500 кГц, остальное усилить до ограничения и работать по первым принятым импульсам.
Не очень понятно зачем такой точный фильтр?

Если очень коротко — то для возможного применения нескольких модулей одновременно, разнесённых по частоте.
А про пьезоэлемент и его избирательность Вы слишком хорошего мнения :)
Не прорабатывали использование иного железа, например, tdc7201?
Посматриваем на AD8310. Это логарифмический усилитель с детектором в одном корпусе.
Задача модуля не только расстояние до ближайшего объекта вычислить, но и показать все отражения от объектов в пределах какого-то диапазона.
На схеме смутил сильный дисбаланс в схеме передатчика, мощные полумостовые драйвера на 2.5 Ампера, транзисторные сборки на 20 Ампер, и BAT54 диоды шоттки на 200 мА от трансформатора к излучателю.
Примите в расчёт и всю вторичную цепь, которая выступает в качестве нагрузки. Питание мостов 5 Вольт, трансформатор имеет коэффициент 14:1, ёмкость пьезоэлемента около 800пФ (сопротивление более 300 Ом на частоте 640кГц), можете прикинуть токи через диод, который, на самом деле, выдерживает 600 мА импульсно.
А какова индуктивность первичной обмотки передающего трансформатора?
Новая версия модуля использует планарный трансформатор, у него индуктивность первички 3-4 мкГн (тяжело точно измерить). Но что вам даст эта информация?

Индуктивность первичной обмотки определяет какой ток будет протекать в ней. При 640КГц пол периода это 0.78мкс. За это время ток сумеет вырасти с 0 до 5в*0.78мкс/2мГн=1.95Ампера. Транзисторы на 20А это получается с 10 кратным запасом. Для экспериментов нормально, но для производства дороговато для DIY тем более. Передатчик на такие токи, скорости и напряжения можно попроще сделать, по моему мнению конечно.

2мкГн это я еще взял "лучший" для максимального тока вариант, для 3мкГн ток уже 1.3Ампера получается.

Ваши расчёты справедливы только для работы трансформатора вхолостую, без нагрузки. И измерения индуктивности первички я сделал у неподключенного трансформатора.
Токи в первичке работающего транса достигают 30 Ампер.

Да, я посчитал только треугольную составляющую тока. Прямоугольная составляющая определяется нагрузкой трансформатора. Нагрузка у нас емкость 800пф I=CdU/dt=800пф140/0.78мкс=143ма, т.е. нагрузка может принять мощность 143ма*140В= 20W. Прямоугольная составляющая тока около 4Ампер. Плюс 1.3Ампера треугольная сотавляющая тока итого 5.3Ампера. 30 ампер может получиться только если насыщается сердечник трансформатора.

Я не корректно сложил токи. "Прямоугольная" сотавляющая тока не будет прямоугольной. Ток будет падать по мере перезаряда емкости и треугольная будет нарастать. Суммарный ток будет меньше 5.3Ампер. В начале импульса ток будет 4А, а в конце импульса, так как емкость пьезоизлучателя уже зарядиться ток уже будет определяться индуктивностью трансформатора.

Правильнее спрашивать какая индуктивность рассеивания, измеряется при короткозамкнутой вторичке. Вот именно она и определяет максимальный ток.
Индуктивность с разомкнутой вторичкой показывает уровень паразитного тока.
А можно взять F4 и почти всю обработку делать на нем?
Модуль отдаёт результат своей предварительной обработки хосту, а тот уже может делать с этими данными что захочет. Наружу выведен даже вывод сразу после усилителя-фильтра, чтоб можно было обрабатывать сырой сигнал внешними средствами, если это будет необходимо.
Функционал этого модуля, на самом деле, мог бы осилить и какой-нибудь ATMega. Применение мощного процессора в модуле избыточно.
Я имел ввиду упростить аналоговую часть, не делать фильтры
Скажите, в чём принципиальные отличия от рыбацких эхолотов?
Какая максимальная дальность обнаружения у него будет и скажем так, юзеркейс у него какой? В каких практических ситуациях он пригодится дайверу?
Предполагается, что это будет нечто вроде элемента конструктора, как всякие прочие модули для ардуинщиков. Поэтому и выбран был UART с текстовыми командами в качестве интерфейса. Например, можно установить на подводный аппарат. Конкретно этот модуль — он не про дайверов, а про самодельщиков, увлекающихся водной/подводной тематикой.
Когда мы тестировали подводный компьютер в бассейне, то нам удавалось засечь два переотражения от стенок 25-метрового бассейна. Но это были идеальные условия.
Нам сильно не хватает тестов в реальных условиях. Надеюсь, сообщество однажды поможет в этом вопросе.
Пишите на коробке «дальность 15 метров» и в продакшн.
Я серьёзно, для ардуинщиков вполне достаточно, если он вообще им понадобится.
А версию 2.0 надо допиливать на деньги от продажи 1.0
Желание сделать сразу идеальное устройство или написать идеальную программу это гарантированный способ угробить проект.
Удачи вам и всем, кто присоединится.
Реально тема интересная. Говорю как начинающий ардуинщик и человек кое-что понимающий в радиолокации.
Главное — не надо урезать функционал. Временная автоматическая регулировка усиления (ВАРУ) — очень хорошая идея. Скажем, в стародавние времена на усилитель подавались пилообразные колебания с периодом равным периоду повторения сканирующих импульсов.

Из статьи не понял, что поступает на выход модуля. Насколько возможна дальнейшая обработка сигнала, например, стробирование по дальности и умножение на другие кривые?

Каков период повторения импульсов?
Благодарю за Ваши вопросы, но они затрагивают тему второй статьи. Всё это будет описано.
О! Ещё один момент вспомнил. Не уверен, задача ли это вашего прибора или лучше делать это на стороне внешнего устройства, но нужна функция измерения скорости звука по известному расстоянию.
Это и есть калибровка устройства о которой я писал в начале. Если устройство позиционируется как законченное устройство с цифровым интерфейсом, то это должно быть реализованно в самом устройстве.
Тогда, может имеет смысл сконструировать уголковый отражатель для калибровки?
Не смог найти картинку, но они принципиально такие же как для радио. Читал о них вот в этой книге www.twirpx.com/file/681403
Добрый день! Скорость звука в воде зависит от нескольких факторов: температура, плотность воды(давление или глубина), соленость. Соленость можно взять среднюю по морям, где планируется использование прибора, или пресная вода. Давление на глубинах для дайвинга (до 30-40 м) не сильно влияет на скорость звука. Измерить температуру воды не сложно :) формулы по расчетам в книге Дж.Урик «Основы гидроакустики».
> Измерить температуру воды не сложно

Сложно только измерить её на глубине.
Потому, что градусник надо опустить на глубину. А у нас эхолот, который и нужен только для того, чтобы ничего не надо было опускать. А температура на поверхности и на глубине может сильно различаться.
можно же взять в расчет какие то определенные диапазоны температуры воды, для данной местности и т.д., в основном дайверы ныряют в теплых странах типа: Мексики, Бали, Египта, Мальдив и т.д. в тех краях вода от 15-30 градусов даже с учетом глубины, в целом будет погрешность 10-15% в точности измерения (вы же не делаете высокоточный военный эхолот, так или иначе главное взять в расчет какие то отправные точки ( которые в последующем, после доп испытаний в разных условиях можно будет доработать).
вы же не делаете высокоточный военный эхолот

Поэтому надо просто откалибровать его на местности.
А в чем проблема добавить датчик температуры в само устройство?
В том, что устройство находится в одной точке, а нам надо знать температуру на всём протяжении пути звука.
тут уже вопрос встает в каком направлении вы будете излучать если непосредственно перед собой, то ввиду того, что измерения будут проводится на n-ой глубине там значительные температурные перепады могут быть только при наличии холодных/горячих течений. ( все зависит от того, в каком направлении вы планируете сканировать( т.е. рельеф дна или же таки препятствия на пути дайвера)).
в каком направлении вы будете излучать

Скорее наклонно — вперёд и вниз. Чисто с точки зрения вероятности.
Прикол ещё в том, что из-за неоднородности температуры по глубине, путь звука будет не прямым.
Прикол ещё в том, что из-за неоднородности температуры по глубине, путь звука будет не прямым


Хех, этот эффект особенно виден, если проводить измерения на воздухе. Достаточно просто тёплого дыхания между излучателем и препятствием, чтобы заметно исказить принимаемый сигнал.
сейчас за обедом обсудил с коллегами ваш вопрос, все сошлись на том, что для любительского эхолота тем более для дайвинга погрешность в 1-2мм будет не значительно и можно взять таки усреднеенную темпеературу т.к. примерно от 15-30 градусов скорость изменяется, порядка 20мс на 5 градусов
Например, реализовать постепенное усиление входного сигнала, чтоб отражение от ближайших объектов не зашкаливало, а от дальних объектов усиление было максимальным.

для удобства реализации данных задумок, я бы посоветовал посмотреть, разного рода источники по медицинским допплеровским устройствам, почти во всех устройствах есть ВАРУ (временная автоматическая регулировка) которая чаще всего реализует как раз таки усиление в дальней зоне луча.

Позволю себе пару советов:


  • Что касается защитного слоя в четверть длины волны, надо смотреть акустический импеданс резины, если он не сильно отличается от импеданса воды, тогда пойдет. А так заливайте резиной как есть.
  • пьезоэлемент на что опёрт? По уму его надо сажать на массивный металлический корпус на эпоксидку (можно на эпоксидку плюс молотый порошок пьезокерамики 50% + 50% по массе, порошок керамики можно еще прокалить при температуре 100 С, для обезвоживания, толочь керамику в порошок и все остальное строго в респираторе — канцерогенно, это для согласования акустического импеданса керамики и опоры)
  • делать герметизацию через маслонаполненный корпус можно, микросхемы давление держат, проблема с конденсаторами и кварцевыми осцилляторами — они чувствительны к давлению, выход — закатать их в каплю эпоксидки, но это на давления — километры)
  • что бы знать на какой частоте излучать, неплохо бы измерить электрический импеданс конструкции излучателя в воде, если не ошибаюсь максимальная эффективность излучения на максимуме импеданса.
> неплохо бы измерить электрический импеданс конструкции излучателя в воде

Можно просто попищать и измерить частоту собственных колебаний.

Не понял, как вы измерите собственные частоты излучателя? И мы, полагаю, говорим про "попищать" в воде?

Подаём на излучатель приблизительно упомянутые 640 кГц, перестаём подавать, излучатель ещё некоторое время колеблется, вот эти колебания и меряем через АЦП после усилителя. Или даже не АЦП, а просто через цифровой вход. Что не так?

Ну подали вы 640 кГц на излучатель, начинаете измерять остаточные колебания и увидите те же 640 кГц в затухающем режиме. Откуда возьмутся новые частоты???
Можете подать конечный импульс на излучатель (спектр), потом посмотреть как этот спектр распадается. Как вы идентифицируете собственную частоту?

> Ну подали вы 640 кГц на излучатель, начинаете измерять остаточные колебания и увидите те же 640 кГц в затухающем режиме. Откуда возьмутся новые частоты???

Ну вот раскачиваете вы качели, скажем, на частоте 1 Гц, а затем перестаёте раскачивать. Вы утверждаете, что они так и будут качаться на одном герце, вне зависимости от собственной частоты?

Пример правильный, но при чем тут "попищать", достаточно импульсного возбуждения пьезоэлемента.

Электрический импеданс самое простое, что можно измерить. А просто попищать, честно говоря не представляю как. На слух, что ли или у автора есть калиброванный гидрофон B&K? Потом ширина пика импеданса будет несколько кГц, так что лучше по твоей, все что за пределами резонанса на порядки слабее.

Благодарю за советы. Попробую ответить:
  • Самый подходящий материал в качестве защитного слоя — полиимид. Но он недоступен для нас. На втором месте — поликарбонат, пмма (оргстекло), пластики. Выбрали самый удобный материал — литьевой полиуретан.
  • Пьезоэлемент с задней стороны залит эпоксидкой
  • Опыты покажут устойчивость к давлению. Неплохо бы, конечно, в барокамере продавить, атмосфер под 30
  • Выбрать максимально эффективную частоту очень просто — достаточно измерять уровень отражённого сигнала от неизменного препятствия, при этом меняя частоту импульсов в пачке. Это, в принципе, реализовано. И эффективная частота не совпадает с резонансной частотой пьезоэлемента

А Вы не поделитесь соображениями почему полиимид для вас наиболее предпочтителен как защита излучателя? Как вы можете обеспечить акустический контакт полиимид/пьезокерамика?

Если рассматривать систему «пьезокерамика-изолятор-вода», с неизменными значениями акустического сопротивления керамики и воды (23400000 и 1480000 ед. соответственно), то для достижения наибольшей отдаваемой мощности в воду, сопротивление изолятора должно быть 5900000 ед. На момент выбора изолятора полиимид с его сопротивлением, близким к этой цифре, нам казался самым подходящим, хоть и недоступным.
Электропроводные материалы в качестве защиты мы не рассматривали.
Для своих расчётов пользовались этим ресурсом: engineering-solutions.ru/ultrasound/theory
Не надо порошок керамики делать — обычно применяют вольфрам или оксид вольфрама. Если импеданс получается слишком большой, то замешивают еще оксид титана.
У меня вопрос человека немного не в теме, наверное, но:
А можно использовать два разных излучателя?
Один на приём, второй на передачу?
Механически разнести их так, что бы прямой волны не было в зоне приёма.
Передающему сделать автогенератор, он будет тогда в своей резонансной частоте всегда работать. Это даст максимум кпд.
Дальше всегда мониторим частоту работы генератора и вычитаем её из принимаемого сигнала.

Можно реализовать и вашу схему, но с оговоркой — в режиме непрерывной генерации модуль использовать нельзя, только в импульсном. Например, пачки из 2 — 50 импульсов с частотой до 25 Герц. Но вся остальная логика должна быть не на уровне модулей, а на уровне управляющих устройств.
Вижу преимущество данной схемы только в возможности использовать один передатчик с несколькими приёмниками — для измерения угловых координат цели.
Можете пояснить, почему нельзя использовать с непрерывной генерацией?
Из за переотражённых волн и их наложений?
Причина №1 — Сила тока в первичной обмотке достигает 30 Ампер. В импульсном режиме это не страшно, но для постоянного режима это неприемлемо. Сгорят транзисторы, трансформатор, питающие проводники.
Причина №2 — Энергия, которая используется для генерации импульсов ограничена ёмкостью конденсаторов С22-С31 на схеме. Этой энергии достаточно для нескольких десятков импульсов, не более.
если вы спрашивается про определение дальности обьекта, то рассчитывается по скорости звука вводе на время, а если про дальность распространения волны, то зависит от мощности излучения и затухания ( но вводе он практически не затухает)
А Вы всю ветку постов читать не пробовали?
Я спрашиваю про измерение дальности до объекта при непрерывной работе излучателя.
Тему в прошлом году изучал. Да в инете мало инфы на русском.
Хотел сделать дальномер только на воздухе, а не в воде. Все что ищется это присобачить китайский дальномер для ардуино.
Единственное более менее адекватное чтиво vrtp.ru/index.php?showtopic=24048
но автор не закончил проект.
Но написал достаточно для подумать и построить вполне себе неплохой сонар.
Для воздуха можно обойтись почти полностью нашей схемой, но с заменой номиналов фильтра под частоту 40 кГц. И когерентный приём гораздо проще реализовать именно под воздушный сонар с их невысокими частотами.
Sign up to leave a comment.

Articles