Вопросы и замечания по статьям и схемам, представленным на нашем сайте

При поддержке РадиоКОТструктор.ру


Ответить

Re: Ультразвуковой анемометр

Вт май 24, 2022 20:36:24

Мало ли пригодиться, фазовый детектор, не чувствительный к амплитуде и смещению сигнала. Настройки на 4 mps.
https://github.com/Maniak003/Anemometer ... tector.ods

Пересчет в макросе, запуск по кнопке Quadrature, в верхнем правом углу. Делал для тестирования, когда с альтерой возился.

Re: Ультразвуковой анемометр

Вт май 24, 2022 23:44:00

Поразмышляю вслух...
Я имею вот такой макет из г... и палок
Изображение
Расстояние между датчиками и основанием 14мм.
Подключаю осциллограф и вижу картину. Синий луч - сигнал TX, жёлтый луч - сигнал после усилителя RX. Тут же принимаю решение анализировать принятый сигнал в момент наивысшей амплитуды огибающей. К примеру пару периодов подсвеченных розовым.
Изображение
Собираю прибор, всё прекрасно работает, но затем выношу прибор на мороз, скорость звука прилично падает (с 343м/с до 318м/с). При моих габаритах макета это замедление эквивалентно увеличению числа волн звука 40кГц между датчиками на примерно одно колебание. Я отодвигаю основание от датчиков (типа мы на морозе)
Изображение
И вижу вот такую картину на осциллографе в моём выбранном окне анализа сигнала амплитуда сильно упала! Анализировать нечего!
Изображение
Пока снова пришел к выводу, что переотражения между "полом" и "потолком" нам портят всю картину при изменении температуры. И всегда найдётся такая температура при которой в нужном окне анализа амплитуда будет почти ноль.
PS Осциллограммы реальные и сняты с макета на фото.

Re: Ультразвуковой анемометр

Ср май 25, 2022 08:11:03

Есть гипотеза (моя), что узловая точка возникает из-за изменения резонансной частоты излучателя. Проверить смогу на выходных. Сейчас мне удалось добиться, наличие узла в одном из 4 каналов при комнатной температуре. Очень хочется понять природу этого явления.

Изображение

[ко]
И, да, Вы же понимаете, что проблема не в нулевой амплитуде, а втом, что в этом месте изменяется фаза.
[\ко]
Последний раз редактировалось Maniak003 Ср май 25, 2022 12:53:55, всего редактировалось 1 раз.

Re: Ультразвуковой анемометр

Ср май 25, 2022 09:12:13

Кто не видел соседнюю тему. Multik провёл грандиозную работу по анализу датчиков: ссылка.

Re: Ультразвуковой анемометр

Ср май 25, 2022 10:31:10

Есть гипотеза (моя), что узловая точка возникает из-за изменения резонансной частоты излучателя. Проверить смогу на выходных. Сейчас мне удалось добиться, наличие узла в одном из 4 каналов при комнатной температуре. Очень хочется понять природу этого явления.

[ко]
И, да, Вы же понимаете, что проблема не в нулевой амплитуде, а втом, что в этом месте изменяется фаза.
[\ко]

Да это сумма отражённой волны от основания и переотражённой несколько раз от пола и потолка так скажем. И сумма эта в противофазе, поэтому амплитуда сильно занижается. Я так преполагаю.

Re: Ультразвуковой анемометр

Ср май 25, 2022 10:54:50

Да, Ваша идея понятна. Только возможно, что все несколько хуже. Известно, что есть несколько видов ультразвуковых волн: продольные, поперечные, поверхностные, Лемба. Вы же заметили, что при увеличении расстояния, эфект наложения уменьшается. Видимо имеет место не один вид волн.

Вот, небольшая, но познавательная статья на тему ультразвука. Нам видимо интересен раздел "Звуковое поле излучателя".

Re: Ультразвуковой анемометр

Вс май 29, 2022 15:37:46

Пока не вышел из тупика, появилась вот такая картинка:

Изображение

Максимально, что удалось добиться, подбором расстояния от излучателей, до отражающей поверхности. Но срывы сигнала все равно есть. Выбирается такая дистанция, на которой при комнатной температуре, устойчиво детектируется эхо, а при уменьшении расстояния, уровень эха увеличивается. Расстояние подгоняется в пределах 2 мм.

Похоже, нужно, что то кардинально менять, подбор размеров -- это очень не технологично. Можно конечно, увеличить расстояние и проблема уйдет сама, но при этом снизится максимальная измеряемая скорость. Пока надеюсь, что удастся найти какое нибудь решение.

Пришли вот такие излучатели:

Изображение

Работают, но чувствительность раза в полтора хуже, чем у не покрашенных и диаметр передней части отличается, пришлось корпус перепечатывать, иначе на 1мм выше становятся.

Re: Ультразвуковой анемометр

Чт дек 01, 2022 13:04:09

Offtop:

Это Вы ее не мочили еще! Если конденсат или капли дождя на отражающей пластине - скорость 10-12 мс при реальном штиле и хаотичные градусы.

Re: Ультразвуковой анемометр

Чт дек 01, 2022 13:52:13

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

А если излучатели утопить в шахты-рупоры?

Re: Ультразвуковой анемометр

Чт дек 01, 2022 18:11:38

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

Re: Ультразвуковой анемометр

Вт дек 06, 2022 14:31:25

Надеюсь скоро удастся возобновить разработку.

Как он себя чувствует с дождем? Кажется Ваш проект вдохновил меня на покупку 3d принтера и попробовать повторить этот датчик. Еще просится сюда добавить счетчик дождя на оптической основе в крышу. На эффекте отражения, встречали такие варианты?
Можно ли пообщаться в телеграм?

Re: Ультразвуковой анемометр

Пн мар 20, 2023 11:56:27

Последние две недели удалось возобновить работу над проектом. Крайняя версия прибора:

Изображение Изображение Изображение Изображение Изображение

Усилители смонтированы с излучателями для снижения уровня помех от импульсных источников. Датчики расположил под углом для уменьшения интерференции. Решил не использовать мультиплексоры для обеспечения работы в непрерывном режиме:

Изображение

Непрерывный режим не оказался панацеей от всех проблем, но позволил избавится от фазовой нестабильности. Температурная нестабильность конструкции заметно уменьшилась, но как оказалось, большее влияние на постоянство измерений оказывают различия в самих датчиках. Сравнил несколько моделей датчиков на предмет постоянства добротности и резонансной частоты.

Изображение Изображение Изображение Изображение

Результаты не сильно отличаются и выделить, что то однозначно сложно и вот почему:

Изображение Изображение

На первом графике сырые данные с датчиков при изменении температуры. В исследуемом приборе датчики установлены в посадочные места с натягом и жестко зафиксированы. Подробнее по графику: ось X, красная и зеленая линии, ось Y синяя и коричневая, температура -- желтая. Измеряется температура корпуса, в области крепления датчиков. Видно, что ни о каком линейном законе речь не идет. На втором графике значения скорости. Около 17:20 наблюдается скачкообразное изменение значений при установившейся температуре.

Далее посадочные места под датчики были расточены, что бы корпус не касался датчика. Так же подобрал максимально близкие по параметрам пары.

Изображение

Исчезли скачкообразные изменения и наблюдается стабильная повторяемость.

Изображение Изображение

Но результат все еще оставляет желать... Напрашивается калибровка во всем диапазоне температур, но пока не известно как прибор будет реагировать на погодные условия. Что бы не возникло идей играться с корпусом, покажу вот такую модель:

Изображение

Результат тот же. Мне кажется, что конструкция получается крайне не технологична в плане калибровки и видимо при отсутствии идей, это концепт лучше оставить как есть. Дальше предполагаю попробовать датчики на 200kHz.

Изображение Изображение

Суть метода измерения намного проще и менее подвержена влиянию конструктивных особенностей датчиков (кмк), нужно получить время между сигналом и ответом. Но как обычно не без сюрпризов: при скорости от 15м/с приемник "глохнет", от 18м/c -- появляется сильный шум. Т.е. нужно поднимать уровень сигнала, значит предыдущая схемотехника не годится в принципе.

Re: Ультразвуковой анемометр

Пн апр 03, 2023 17:03:30

Изображение

Потихоньку продолжаю эксперименты с датчиками на 200кГц. В частности обработка сигнала согласованным фильтром. Выполнял обработку сигнала с тройным по времени запасом и получил интересный результат.

Вот сигнал который принимаем на дистанции 203 мм:

Изображение

Задержка 587 uS
Согласованный фильтр тоже это подтверждает. Но он так же находит это сигнал на 1.743mS. А вот, что там на самом деле:

Изображение

Т.е. можно увидеть дважды отраженный сигнал. Вот она, перспектива автоматической калибровки. Датчики можно приколотить к любой деревяшке и геометрия определиться сама.

Re: Ультразвуковой анемометр

Пн май 01, 2023 18:46:05

Творческий кризис, не знаю куда дальше двигаться.... Вот так забил stm32f303cc.

Изображение
Проблема не в HAL, а в том, что слишком много памяти уходит на математику.

Остановился на том, что сначала использую согласованный фильтр, но свертка не дает нормальной возможности определить начало импульса.

Исходный сигнал, 200 измерений:
Изображение

Результат свертки, 76 точек:
Изображение

Т.е. видно, что положение максимума зависит от расположения точек оцифровки. Увеличение количества измерений особо не играет роли -- несколько уменьшается ошибка, но она может быть до полупериода.

Тогда пришла в голову идея получить огибающую преобразованием Гильберта и на ней найти максимум.

Изображение

Результат замечательный только в смысле результата вычислений, а вот реализация и время вычисления -- это ужас. На F303, при 72МГц, расчет 200 измерений занимает около секунды.

Не проблема МК заменить на более производительный и с большей памятью. Но может быть кто то владеет математикой не так как я, а на нормальном уровне и подскажет более эффективный алгоритм ?

На всякий случай: fft, удаление половины спектра с удвоением второй половины и обратное fft -- занимает еще больше места.

Re: Ультразвуковой анемометр

Ср май 03, 2023 09:53:22

Maniak003, опишите поподробней ваш алгоритм. Я предполагал, что достаточно измерять фазовый сдвиг между непрерывным опорным сигналом и сигналом с датчика. А это делать на много проще.

Re: Ультразвуковой анемометр

Ср май 03, 2023 10:33:54

Поскольку этот проект работает на 200KHz, ушел от фазовых измерений.

Изображение

Нужно просто определить задержку и посчитать скорость.

Re: Ультразвуковой анемометр

Ср май 10, 2023 13:26:07

А почему не использовать более дешевые ESP32. Пообъемнее и побыстрее.

Re: Ультразвуковой анемометр

Ср май 10, 2023 14:41:13

Не очень владею esp32. Нужно, что бы таймеры и АЦП взаимодействовали на аппаратном уровне. Как это сделать на esp32 -- не знаю. Как минимум нужно три таймера. Первый формирует 13 импульсов, второй запускается по событию от первого и по окончании (задержка измерений) запускает ADC и третий таймер для фиксации пересечений нуля.

Re: Ультразвуковой анемометр

Вс май 21, 2023 13:28:10

Собрал на stm32g473cbt6, оперативной памяти использовано около 60КБ для 1024 отсчетов. Сначала сделал на CMSIS-DSP -- нормально получилось, потом попробовал то, что сгенерировал MATLAB. Пока остановлюсь на коде MATLAB'а, поскольку легче с отладкой. На компе проверил, загрузил в МК -- работает одинаково. По скорости: CMSIS-DSP -- примерно в полтора раза быстрее.

Алгоритм для одного измерения выполняется за 35 mS. В идеале нужно 4 измерения (хотя кмк достаточно двух), т.е. за, примерно 0.15 сек., реализуется полный расчет. На текущий момент попробовал уточнить начало ответа при помощи таймера, но точность из-за шумов получается так себе. Преобразование по 1024 точкам, дает более стабильный результат. Все значения вычисляются с учетом таимингов и размеров конструкции, никакие поправочные/калибровочные коэффициенты не используется. Вот, что получается в сравнении:

Изображение

Vc - значения с поправкой capture таймера. Видимо от фиксации пересечения нуля буду отказываться.
Vh - Измеренное значения скорости, найденное по максимуму огибающей.
Vs - Рассчитанная скорость звука по температуре, влажности и давлению.

При 1024 отсчетах, получается погрешность измерения ~ 0.2m/s. При желании можно использовать dual mode adc и повысить точность в два раза, памяти для этого достаточно и время выполнения будет не критичное. Правда, пока особой необходимости в этом не вижу. Удивительно, но на столе, все получается намного проще, чем при фазовом методе -- прощаются погрешности в сотни nS.

Текущая схема приемной части, для возможности 4-х измерений:

Изображение

Пожалуйста критикуйте/поправляйте.

Re: Ультразвуковой анемометр

Сб май 27, 2023 13:57:08

Удалось повысить разрешение в три раза при помощи интерполяции.

Изображение

Зеленая точка -- ближе к истинному максимуму огибающей.

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

Изображение

Т.е. сейчас, дискретность измерения 0.06м/с.

Использование памяти, без учета стека:

Изображение

Реально, RAM задействовано примерно на 60кБ больше. Основная часть flash, используется для табличных значений. В общем места остается более чем достаточно, а то была мысль, сразу делать на stm32f722.
Ответить