реклама на сайте
подробности

 
 
> Акселерометр как датчик вибрации для электромотора, Акселерометр как датчик вибрации для электромотора
glebka
сообщение Feb 3 2014, 11:13
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 199
Регистрация: 22-06-05
Пользователь №: 6 217



Есть идея использовать "трёхосный" акселерометр в качестве измерителя уровня вибрации для большого электромотора вентилятора (контроль состояния подшипников, "пропеллера").
Пока присматриваюсь к устройству MMA8451Q от Freescale.
Если кто-либо сталкивался с подобной задачей нужен совет от знающих: стоит ли использовать акселерометр, или лучше попробоваь поискать специализированные датчики вибрации.
Кроме того, хотелось бы добавить функцию контроля угла наклона при установке при помощи второго акселерометра , но как рассчитать точность какую можно получить пока не знаю- пока читаю даташиты и умные книги, если кто подскажет, буду весьма признателен.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
mk900
сообщение Feb 12 2014, 05:53
Сообщение #2





Группа: Новичок
Сообщений: 7
Регистрация: 11-02-14
Пользователь №: 80 447



Цитата(SM @ Feb 11 2014, 17:05) *
самое простое и оптимальное (с точки зрения понятия оптимального фильтра) видится так:
Спасибо! Примерно так я себе это и представлял, только не понимал,наверное, что это будет называться тоже ДПФ, но на одной частоте.

Цитата(SM @ Feb 11 2014, 17:05) *
первый вариант(проще):
- Подождите, пока стабилизируется частота оборотов. Измерьте эту частоту.
- Запустите сбор данных синхронно с сигналом с датчика, соберите достаточную выборку данных.
Да, я представлял себе примерно такой вариант, со следующими отличиями:
- после измерения частоты, вычислить частоту дискретизации, равную 2**N * Fоб, где N выбрать от 2 до примерно 8 (тут я не очень понимаю, будет ли какой-то плюс от увеличения кол-ва выборок на оборот);
- выполнить накопление данных с усреднением, привязавшись к датчику оборотов. Т.е. на каждом обороте суммировать в X(i) в своей ячейке, потом поделить на число оборотов.
Потом выполнить обработку, как предложили Вы:
Цитата(SM @ Feb 11 2014, 17:05) *
- Посчитайте одну точку ДПФ, соответствующую этой частоте, это две суммы перемноженных выборок сигнала с значениями sin и cos соответствующей частоты.
- Получите фазу и амплитуду.

Только Вы уж извините за глупый вопрос, не понимаю я как получить из массива две цифры, амплитуду и фазу. Ну перемножил я каждое значение сигнала на соответствующие значения sin и cos с Fоб, получил два новых массива Xsin и Xcos. Что с ними надо делать дальше? Пробую для каждой точки посчитать А=sqrt(Xsin*Xsin+Xcos*Xcos) и Ph=arctg(Xsin/Xcos), получаю еще два массива, смотрю на их графики и не понимаю, что с ними делать дальше. Не ругайте, голова уже не та, что была в молодости... Поясните, как пятикласснику.

Цитата(SM @ Feb 11 2014, 17:05) *
второй вариант (точнее):
- дождаться стабилизации частоты и измерить.
- набрать выборку из сигналов обоих датчиков (акселерометра и датчика угла/положения)
- посчитать ДПФ на этой частоте для обоих сигналов
- найти разность фаз и амплитуду.
Про этот вариант не совсем понял... Сигнал синхронизации - короткий импульс, стОит ли заморачиваться с его регистрацией и обработкой? Особенно если выполнять синхронизацию накопления на каждом обороте? Или я что-то упускаю из виду?

Цитата(SM @ Feb 11 2014, 17:05) *
Точность может быть достигнута самая разная, все зависит от сигнал/шум в сигнале, от длительности принятого сигнала, точности вычислений...
Я и имел ввиду зависимость точности от параметров обработки на одном и том же массиве данных,- от частоты дискретизации, времени усреднения, разрядности арифметики и т.д.

Я тут порылся в Инете, нашел, что вроде вычисление преобразования Фурье на одной частоте называется методом Герцеля. Причем самым эффективным, по объему вычислений, случаем, является выбор частоты дискретизации в 4 раза выше анализируемой частоты. Ну тут вроде понятно, при этом синусы и косинусы становятся нулями и единицами и количество умножений резко сокращается. Вот только насколько это повлияет на точность? Возможно для получения оперативной, но грубой оценки только на микропроцессоре, будет более оптимальным взять по 4 точки на оборот. А для детального, с повышенной точность анализа, передавать массив с бОльшей частотой дискретизации на Комп и считать там?
Нет ли у кого готовой программки алгоритма Герцеля на Си?
Go to the top of the page
 
+Quote Post
SM
сообщение Feb 12 2014, 11:18
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Цитата(mk900 @ Feb 12 2014, 09:53) *
что это будет называться тоже ДПФ,

Вы не путайте одну точку ДПФ и алгоритм БПФ, который быстро считает все точки ДПФ сразу sm.gif

Цитата(mk900 @ Feb 12 2014, 09:53) *
- после измерения частоты, вычислить частоту дискретизации, равную 2**N * Fоб, где N выбрать от 2 до примерно 8 (тут я не очень понимаю, будет ли какой-то плюс от увеличения кол-ва выборок на оборот);

Это, в общем, лишнее. Выбирайте частоту дискретизации просто побольше, в рамках разумного. И количество выборок расчитывайте такое, чтобы туда уложилось N целых периодов. А чтобы внутри одного периода было целое кол-во выборок, это не нужно.

Цитата(mk900 @ Feb 12 2014, 09:53) *
- выполнить накопление данных с усреднением, привязавшись к датчику оборотов. Т.е. на каждом обороте суммировать в X(i) в своей ячейке, потом поделить на число оборотов.
Потом выполнить обработку, как предложили Вы:

Это вообще никак не нужно, совершенно, процесс вычисления точки ДПФ сделает это внутри себя сам.

Цитата(mk900 @ Feb 12 2014, 09:53) *
Только Вы уж извините за глупый вопрос, не понимаю я как получить из массива две цифры, амплитуду и фазу. Ну перемножил я каждое значение сигнала на соответствующие значения sin и cos с Fоб, получил два новых массива Xsin и Xcos. Что с ними надо делать дальше? Пробую для каждой точки посчитать А=sqrt(Xsin*Xsin+Xcos*Xcos) и Ph=arctg(Xsin/Xcos), получаю еще два массива, смотрю на их графики и не понимаю, что с ними делать дальше. Не ругайте, голова уже не та, что была в молодости... Поясните, как пятикласснику.


Все совсем не так...
Вы считаете для каждой выборки:

sum = sum + x(t)*e^(j*w*t)

ну e^(j*w*t) по формуле Эйлера... cos(w*t)+j*sin(w*t)

отсюда действительная часть ДПФ:
sum_r = sum_r + cos(wt)*x(t);

мнимая:
sum_i = sum_i + sin(wt)*x(t);

потом, когда для ВСЕГО СИГНАЛА эти две суммы посчитаны, то:

амплитуда будет модулем этого комплексного числа sqrt(sum_r^2+sum_i^2)
фаза будет аргументом: arctg(sum_i/sum_r)


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

Цитата(mk900 @ Feb 12 2014, 09:53) *
Сигнал синхронизации - короткий импульс, стОит ли заморачиваться с его регистрацией и обработкой? Особенно если выполнять синхронизацию накопления на каждом обороте? Или я что-то упускаю из виду?

Ну это уже Вам виднее... На сколько хороший у него SNR и на сколько точно Вы можете обеспечить точный старт выборки с минимизацией джиттера между синхросигналом и первой выборкой.

Цитата(mk900 @ Feb 12 2014, 09:53) *
Я и имел ввиду зависимость точности от параметров обработки на одном и том же массиве данных,- от частоты дискретизации, времени усреднения, разрядности арифметики и т.д.


Тут все просто, чем дольше сигнал наблюдается, тем лучше на выходе SNR. Количество выборок также улучшает SNR (ширина основного лепестка сужается, и в ней остается меньше шума). Но при всем том возрастает вклад ошибки измерения частоты вращения, из-за того же сужения главного лепестка.

Цитата(mk900 @ Feb 12 2014, 09:53) *
на одной частоте называется методом Герцеля

Сначала сделайте прямой корреляцией с e^(jwt). Потом уже в герцели залезайте. Там свои подводные камни есть, с точностью вычисления коэффициентов например, чтобы они остались на единичной окружности... И вообще, влияние точности вычисления на результат там серьезно больше, как в любом рекурсивном фильтре по сравнению с нерекурсивным.
Go to the top of the page
 
+Quote Post
mk900
сообщение Feb 12 2014, 12:59
Сообщение #4





Группа: Новичок
Сообщений: 7
Регистрация: 11-02-14
Пользователь №: 80 447



Цитата(SM @ Feb 12 2014, 15:18) *
Это, в общем, лишнее. Выбирайте частоту дискретизации просто побольше, в рамках разумного. И количество выборок расчитывайте такое, чтобы туда уложилось N целых периодов. А чтобы внутри одного периода было целое кол-во выборок, это не нужно.
Я считал, что это позволит получить "не размытую" основную частоту и даст более точное значение ее амплитуды. Это не так?

А в остальном, Ваши советы сильно помогли. Спасибо! Наконец-то увидел нормальные цифры.
Вот только с фазой еще проблемы. Как избавиться от периодичности арктангенса? А то на разных углах скачки на 2 пи. Есть доступный алгоритм?
Заранее спасибо, извините, что испытываю Ваше терпение и занимаю время.
С уважением.
Go to the top of the page
 
+Quote Post
SM
сообщение Feb 12 2014, 13:44
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Цитата(mk900 @ Feb 12 2014, 16:59) *
Я считал, что это позволит получить "не размытую" основную частоту и даст более точное значение ее амплитуды. Это не так?

Совсем нет. Необходимым и достаточным критерием точного попадания в точку ДПФ, является целое количество периодов за выбранный промежуток времени, на котором ДПФ считается. А как там легли выборки, никого не волнует.

Цитата(mk900 @ Feb 12 2014, 16:59) *
Вот только с фазой еще проблемы. Как избавиться от периодичности арктангенса? А то на разных углах скачки на 2 пи. Есть доступный алгоритм?

А каким боком эта проблема тут вдруг встала? Я еще понимаю, анализ ФЧХ фильтров, где фаза может быть больше 2*пи, у вас то тут все лежит от 0 до 2*пи, больше быть не может.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- glebka   Акселерометр как датчик вибрации для электромотора   Feb 3 2014, 11:13
- - ecomp42   Датчик вибрации на акселерометре сделать можно. Во...   Feb 4 2014, 03:35
|- - Ruslan1   Цитата(ecomp42 @ Feb 4 2014, 05:35) Измер...   Feb 4 2014, 09:00
- - Stanislav   Цитата(glebka @ Feb 3 2014, 15:13) Есть и...   Feb 4 2014, 06:31
|- - gregory   Цитата(Stanislav @ Feb 4 2014, 12:31) Воп...   Mar 13 2014, 03:06
- - yes   у акселерометров полосы обычно узкие - уже килогер...   Feb 4 2014, 10:24
- - Herz   Цитата(yes @ Feb 4 2014, 12:24) у акселер...   Feb 4 2014, 15:11
- - fider   Цитата(glebka @ Feb 3 2014, 18:13) Есть и...   Feb 5 2014, 07:49
|- - SM   Цитата(fider @ Feb 5 2014, 11:49) Пояснит...   Feb 5 2014, 09:43
|- - fider   Цитата(SM @ Feb 5 2014, 16:43) Трехосевой...   Feb 5 2014, 10:03
|- - SM   Цитата(fider @ Feb 5 2014, 14:03) Тогда, ...   Feb 5 2014, 11:31
|- - HardEgor   Наипростейшим LIS3DH угол измерять еще можно - нак...   Feb 5 2014, 14:12
- - HardEgor   Цитата(glebka @ Feb 3 2014, 18:13) Есть и...   Feb 5 2014, 09:26
- - AlexandrY   Цитата(glebka @ Feb 3 2014, 13:13) Есть и...   Feb 5 2014, 10:09
|- - Stanislav   Цитата(AlexandrY @ Feb 5 2014, 14:09) Тут...   Feb 6 2014, 06:52
|- - SM   Цитата(Stanislav @ Feb 6 2014, 10:52) Это...   Feb 6 2014, 07:33
|- - AlexandrY   Цитата(SM @ Feb 6 2014, 09:33) Это не сма...   Feb 6 2014, 09:33
|- - glebka   Да, вы совершенно правы. Конечно только износ...   Feb 6 2014, 10:55
|- - mk900   Цитата(glebka @ Feb 6 2014, 14:55) Заказа...   Feb 11 2014, 10:45
|- - SM   Цитата(mk900 @ Feb 11 2014, 14:45) Как ми...   Feb 11 2014, 13:05
- - SM   Мне представляется, что абс. значение БПФ сигнала,...   Feb 5 2014, 16:39
|- - HardEgor   Всё зависит постановки задачи, но просто её не реш...   Feb 5 2014, 17:08
|- - SM   Цитата(HardEgor @ Feb 5 2014, 21:08) Тут ...   Feb 5 2014, 17:16
|- - HardEgor   Причем здесь оценка акселя? Знаем его шум и чувст...   Feb 6 2014, 02:34
|- - SM   Цитата(HardEgor @ Feb 6 2014, 06:34) Прич...   Feb 6 2014, 06:26
- - MK2   все уже давно изучено до нас))   Feb 6 2014, 08:34
- - mk900   Цитата(SM @ Feb 12 2014, 17:44) Совсем не...   Feb 13 2014, 04:40
- - SM   Цитата(mk900 @ Feb 13 2014, 08:40) Да, пр...   Feb 13 2014, 08:54
- - mk900   Цитата(SM @ Feb 13 2014, 12:54) на какую-...   Feb 13 2014, 10:31


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 16:07
Рейтинг@Mail.ru


Страница сгенерированна за 0.01446 секунд с 7
ELECTRONIX ©2004-2016