Zuse 0 February 20 Posted February 20 · Report post Пытаюсь сделать на МК 1986ВЕ92 (близок к STM32F103) устройство, которое бы подавляло вибрацию корпуса механического прибора. Структурная схема такая: Каждые 5 мкс АЦП непрерывно производит АЦ-преобразования, получаются массивы по 1024 отсчета, которые через DMA в режиме пинг-понг пересылаются в ОЗУ, затем фильтруются цифровым ФНЧ, делается БПФ по 256 отсчетам (используются каждый четвертый отсчет из 1024). Далее методами интерполяции, определяется амплитуда, частота и фаза спектрального пика, рассчитывается массив из 1024 значений сдвинутого по фазе на 180 градусов выходного синуса, который через DMA в режиме пинг-понг скармливается ЦАП. Массивы А и Б чередуются: в одном цикле обрабатываются данные из входного массива А и подготавливаются данные для выходного массива А, а в ЦАП выдаются данные из массива Б. В следующем цикле А и Б меняются местами. Увеличивая с нуля вручную амплитуду выходного синуса можно добиться уменьшения размаха входного сигнала где-то на 30%, после чего дальнейшее увеличение выходного синуса приводит к раскачке амплитуды входного сигнала. Раскачка, насколько понимаю, возникает из-за 5 мс (5 мкс*1024) задержки между началами окон входных и выходных данных. По мере нарастания раскачки видно нарастание расфазировки выходных сигналов А и Б. Для борьбы с расфазировкой я пробовал делать скользящее среднее фаз, рассчитанных в последних четырех циклах, но это не помогло. Буду признателен за советы, что можно предпринять для борьбы с возбуждением. Quote Share this post Link to post Share on other sites More sharing options...
FatRobot 8 February 20 Posted February 20 · Report post В вашей схеме единственный пьезосенсор оценивает комбинацию воздействия вибрации и сигнала, который эту вибрацию подавляет. Что будет делать ваш прибор, когда вибрации нет? А когда вибрация идеально скомпенсирована? Как вы различаете эти два состояния? А DMA и БПФ - это детали реализации. Quote Share this post Link to post Share on other sites More sharing options...
r_dot 33 February 20 Posted February 20 · Report post 1 час назад, FatRobot сказал: Что будет делать ваш прибор, когда вибрации нет? А когда вибрация идеально скомпенсирована? Как вы различаете эти два состояния? Вообще-то это обычная задача про ООС - Отрицательную Обратную Связь. Разжёвана до атомов. Применяется в каждом УНЧ. 2 часа назад, Zuse сказал: что можно предпринять для борьбы с возбуждением. Всё давно придумано. "Запас по фазе" надо предпринять. Расчёт ООС (и описание применяемых терминов) есть в любом учебнике по усилительным устройствам или по ТАУ. Входным сигналом для вашего усилителя должен быть "ноль". Точность работы в основном будет определяться точностью оцифровки. Имеющегося в 1986ВЕ92 12-битного АЦП и ЦАПа с таким же разрешением должно хватить, чтобы иметь подавление навскидку где-то децибел 50-70. Вибрация корпуса учитывается не выше диапазона звуковых частот, так что можно будет увеличить период опроса АЦП, чтобы рассчёт сигнала ошибки (довольно простой) укладывался в период опроса АЦП, на каждом отсчёте. А DMA, фильтры, а тем более БПФ и интерполяцию - выкинуть. Естественно, это очень частное мнение, которое можно целиком и полностью игнорировать. Может быть, даже не читая. Quote Share this post Link to post Share on other sites More sharing options...
Patifon_Kakao 1 February 20 Posted February 20 (edited) · Report post Вы не пробовали пойти классическим путем: сделать модель вашей системы и на ее основе синтезировать регулятор, затем посмотреть результаты и только потом заниматься имплементацией? Edited February 20 by Patifon_Kakao 1 Quote Share this post Link to post Share on other sites More sharing options...
thermit 5 February 20 Posted February 20 · Report post 5 часов назад, r_dot сказал: Вообще-то это обычная задача про ООС - Отрицательную Обратную Связь. Разжёвана до атомов. Применяется в каждом УНЧ Положительная. В смысле обратная связь. А человеку нужно немножко соответствующего образования. Quote Share this post Link to post Share on other sites More sharing options...
petrov 19 February 20 Posted February 20 · Report post В книжке Уидроу, Стирнз - Адаптивная обработка сигналов описывается как такие задачи решать. Quote Share this post Link to post Share on other sites More sharing options...
gridinp 11 February 21 Posted February 21 · Report post 9 часов назад, petrov сказал: В книжке Уидроу, Стирнз - Адаптивная обработка сигналов описывается как такие задачи решать. да описано, но надо иметь в виду что это хорошо работает для случаев, когда внешнее воздействие меняется медленно и адаптивный фильтр с низким КУ делает тысячи итерации для подстройки в общем виде это задача не решаемая потому, что подавление должно опережать причину Quote Share this post Link to post Share on other sites More sharing options...
stells 18 February 21 Posted February 21 (edited) · Report post 44 минуты назад, gridinp сказал: в общем виде это задача не решаемая потому, что подавление должно опережать причину В общем виде решаемая, если сигнал снимать с устройства, вызывающего вибрацию. Сейчас, говорят, авто научились читать дорожное покрытие и регулировать подвеску соответствующего колеса для обеспечения плавности хода, авто "летит" над дорогой )) Edited February 21 by stells Quote Share this post Link to post Share on other sites More sharing options...
r_dot 33 February 21 Posted February 21 · Report post 14 часов назад, thermit сказал: Положительная. В смысле обратная связь. Отрицательная. Quote Share this post Link to post Share on other sites More sharing options...
HardEgor 164 February 21 Posted February 21 · Report post В 20.02.2026 в 20:39, Zuse сказал: Буду признателен за советы, что можно предпринять для борьбы с возбуждением. Интересно, а всё это как-то обмерялось изначально, т.е. сами датчики и излучатели? Потом на основе полученных данных построить какую-то модель, попробовать, получить как-то теоретически результат? Quote Share this post Link to post Share on other sites More sharing options...
Zuse 0 February 24 Posted February 24 · Report post On 2/20/2026 at 6:50 PM, Patifon_Kakao said: Вы не пробовали пойти классическим путем: сделать модель вашей системы и на ее основе синтезировать регулятор, затем посмотреть результаты и только потом заниматься имплементацией? On 2/21/2026 at 11:01 PM, HardEgor said: Интересно, а всё это как-то обмерялось изначально, т.е. сами датчики и излучатели? Потом на основе полученных данных построить какую-то модель, попробовать, получить как-то теоретически результат? Никак не обмерялось, никаких моделей не строили... Теперь уж, видимо, придется On 2/20/2026 at 6:36 PM, r_dot said: Входным сигналом для вашего усилителя должен быть "ноль". Точность работы в основном будет определяться точностью оцифровки. Имеющегося в 1986ВЕ92 12-битного АЦП и ЦАПа с таким же разрешением должно хватить, чтобы иметь подавление навскидку где-то децибел 50-70. Вибрация корпуса учитывается не выше диапазона звуковых частот, так что можно будет увеличить период опроса АЦП, чтобы рассчёт сигнала ошибки (довольно простой) укладывался в период опроса АЦП, на каждом отсчёте. А DMA, фильтры, а тем более БПФ и интерполяцию - выкинуть. Естественно, это очень частное мнение, которое можно целиком и полностью игнорировать. Может быть, даже не читая. Вы, если правильно вас понимаю, усилитель ошибки в цифре предлагаете реализовать... Тогда и МК можно выбросить и сделать усилитель на ОУ Quote Share this post Link to post Share on other sites More sharing options...
r_dot 33 February 24 Posted February 24 · Report post 48 минут назад, Zuse сказал: МК можно выбросить Легко. Задача-то - чисто аналоговая. Но можно конечно и на суперкомпьютере реализовать. Quote Share this post Link to post Share on other sites More sharing options...
HardEgor 164 February 24 Posted February 24 · Report post 3 часа назад, Zuse сказал: Никак не обмерялось, никаких моделей не строили... Теперь уж, видимо, придется Все эти ультразвуковые датчики/излучатели суть резонансные системы, поэтому обязательно надо найти все собственные резонансы. Так-то вы правильно построили адаптивную систему, просто немного не доработали) Это вы еще только на макете пытаете, а у реальных приборов еще много собственных резонансов, вот там и начнутся настоящие проблемы. Quote Share this post Link to post Share on other sites More sharing options...
HardEgor 164 March 3 Posted March 3 · Report post В 24.02.2026 в 19:27, Zuse сказал: Никак не обмерялось, никаких моделей не строили... Теперь уж, видимо, придется Вот книжечка по теме попалась, Карамышкин В.В. - Динамическое гашение колебаний(1988) , на либген есть Еще более фундаментальный труд: Фролов К.В. (ред.) - Вибрации в технике_ справочник. Защита от вибрации и ударов Том 6 (1981) 1 Quote Share this post Link to post Share on other sites More sharing options...
Zuse 0 March 18 Posted March 18 · Report post On 3/4/2026 at 1:13 AM, HardEgor said: Вот книжечка по теме попалась, Карамышкин В.В. - Динамическое гашение колебаний(1988) , на либген есть Еще более фундаментальный труд: Фролов К.В. (ред.) - Вибрации в технике_ справочник. Защита от вибрации и ударов Том 6 (1981) Спасибо! Quote Share this post Link to post Share on other sites More sharing options...