Jump to content
    

Алгоритм формирования управляющего сигнала для подавления вибрации

Пытаюсь сделать на МК 1986ВЕ92 (близок к STM32F103) устройство, которое бы подавляло вибрацию корпуса механического прибора. Структурная схема такая:

Closed-loop-control-system-for-vibration-control.png.84a6bdda5bd1f67980c1a1792032562c.png

 

Каждые 5 мкс АЦП непрерывно производит АЦ-преобразования, получаются массивы по 1024 отсчета, которые через DMA в режиме пинг-понг пересылаются в ОЗУ, затем фильтруются цифровым ФНЧ, делается БПФ по 256 отсчетам (используются каждый четвертый отсчет из 1024). Далее методами интерполяции, определяется амплитуда, частота и фаза спектрального пика, рассчитывается массив из 1024 значений сдвинутого по фазе на 180 градусов выходного синуса, который через DMA в режиме пинг-понг скармливается ЦАП. Массивы А и Б чередуются: в одном цикле обрабатываются данные из входного массива А и подготавливаются данные для выходного массива А, а в ЦАП выдаются данные из массива Б. В следующем цикле А и Б меняются местами.  

Увеличивая с нуля вручную амплитуду выходного синуса можно добиться уменьшения размаха входного сигнала где-то на 30%, после чего дальнейшее увеличение выходного синуса приводит к раскачке амплитуды входного сигнала. Раскачка, насколько понимаю, возникает из-за 5 мс (5 мкс*1024) задержки между началами окон входных и выходных данных. По мере нарастания раскачки видно нарастание расфазировки выходных сигналов А и Б. Для борьбы с расфазировкой я пробовал делать скользящее среднее фаз, рассчитанных в последних четырех циклах, но это не помогло. 

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

 

 

Share this post


Link to post
Share on other sites

В вашей схеме единственный пьезосенсор оценивает комбинацию воздействия вибрации и сигнала, который эту вибрацию подавляет. Что будет делать ваш прибор, когда вибрации нет? А когда вибрация идеально скомпенсирована? Как вы различаете эти два состояния?

А DMA и БПФ - это детали реализации.

 

Share this post


Link to post
Share on other sites

1 час назад, FatRobot сказал:

Что будет делать ваш прибор, когда вибрации нет? А когда вибрация идеально скомпенсирована? Как вы различаете эти два состояния?

Вообще-то это обычная задача про ООС - Отрицательную Обратную Связь. Разжёвана до атомов. Применяется в каждом УНЧ. :this:

 

2 часа назад, Zuse сказал:

что можно предпринять для борьбы с возбуждением.

Всё давно придумано. "Запас по фазе" надо предпринять.  Расчёт ООС (и описание применяемых терминов) есть в любом учебнике по усилительным устройствам или по ТАУ.
Входным сигналом для вашего усилителя должен быть "ноль".

Точность работы в основном будет определяться точностью оцифровки. Имеющегося в 1986ВЕ92 12-битного АЦП и ЦАПа с таким же разрешением должно хватить, чтобы иметь подавление навскидку где-то децибел 50-70.

Вибрация корпуса учитывается не выше диапазона звуковых частот, так что можно будет увеличить период опроса АЦП, чтобы рассчёт сигнала ошибки (довольно простой) укладывался в период опроса АЦП, на каждом отсчёте. А DMA, фильтры, а тем более БПФ и интерполяцию - выкинуть.

Естественно, это очень частное мнение, которое можно целиком и полностью игнорировать. Может быть, даже не читая. :biggrin:

Share this post


Link to post
Share on other sites

Вы не пробовали пойти классическим путем: сделать модель вашей системы и на ее основе синтезировать регулятор, затем посмотреть результаты и только потом заниматься имплементацией?

Edited by Patifon_Kakao

Share this post


Link to post
Share on other sites

5 часов назад, r_dot сказал:

Вообще-то это обычная задача про ООС - Отрицательную Обратную Связь. Разжёвана до атомов. Применяется в каждом УНЧ

Положительная. В смысле обратная связь. А человеку нужно немножко соответствующего образования.

Share this post


Link to post
Share on other sites

В книжке

Уидроу, Стирнз - Адаптивная обработка сигналов

описывается как такие задачи решать.

Share this post


Link to post
Share on other sites

9 часов назад, petrov сказал:

В книжке

Уидроу, Стирнз - Адаптивная обработка сигналов

описывается как такие задачи решать.

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

в общем виде это задача не решаемая потому, что подавление должно опережать причину

Share this post


Link to post
Share on other sites

44 минуты назад, gridinp сказал:

в общем виде это задача не решаемая потому, что подавление должно опережать причину

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

Edited by stells

Share this post


Link to post
Share on other sites

14 часов назад, thermit сказал:

Положительная. В смысле обратная связь.

Отрицательная. :yes:

Share this post


Link to post
Share on other sites

В 20.02.2026 в 20:39, Zuse сказал:

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

Интересно, а всё это как-то обмерялось изначально, т.е. сами датчики и  излучатели? Потом на основе полученных данных построить какую-то модель, попробовать, получить как-то теоретически результат?

Share this post


Link to post
Share on other sites

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, фильтры, а тем более БПФ и интерполяцию - выкинуть.

Естественно, это очень частное мнение, которое можно целиком и полностью игнорировать. Может быть, даже не читая. :biggrin:

Вы, если правильно вас понимаю, усилитель ошибки в цифре предлагаете реализовать... Тогда и МК можно выбросить и сделать усилитель на ОУ

Share this post


Link to post
Share on other sites

48 минут назад, Zuse сказал:

МК можно выбросить

Легко. Задача-то - чисто аналоговая.

Но можно конечно и на суперкомпьютере реализовать. :biggrin:

Share this post


Link to post
Share on other sites

3 часа назад, Zuse сказал:

Никак не обмерялось, никаких моделей не строили... Теперь уж, видимо, придется

Все эти ультразвуковые датчики/излучатели суть резонансные системы, поэтому обязательно надо найти все собственные резонансы.

Так-то вы правильно построили адаптивную систему, просто немного не доработали) Это вы еще только на макете пытаете, а у реальных приборов еще много собственных резонансов, вот там и начнутся настоящие проблемы.

Share this post


Link to post
Share on other sites

В 24.02.2026 в 19:27, Zuse сказал:

Никак не обмерялось, никаких моделей не строили... Теперь уж, видимо, придется

Вот книжечка по теме попалась, Карамышкин В.В. - Динамическое гашение колебаний(1988) , на либген есть

Еще более фундаментальный труд: Фролов К.В. (ред.) - Вибрации в технике_ справочник. Защита от вибрации и ударов Том 6 (1981)

Share this post


Link to post
Share on other sites

On 3/4/2026 at 1:13 AM, HardEgor said:

Вот книжечка по теме попалась, Карамышкин В.В. - Динамическое гашение колебаний(1988) , на либген есть

Еще более фундаментальный труд: Фролов К.В. (ред.) - Вибрации в технике_ справочник. Защита от вибрации и ударов Том 6 (1981)

Спасибо!

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...