Используем фильтр Калмана на Ардуино

Arduino & Pi

1.4K постов20.6K подписчиков

Добавить пост

Правила сообщества

В нашем сообществе запрещается:

• Добавлять посты не относящиеся к тематике сообщества, либо не несущие какой-либо полезной нагрузки (флуд)

• Задавать очевидные вопросы в виде постов, не воспользовавшись перед этим поиском

• Выкладывать код прямо в посте - используйте для этого сервисы ideone.com, gist.github.com или схожие ресурсы (pastebin запрещен)

• Рассуждать на темы политики

• Нарушать установленные правила Пикабу

Вы смотрите срез комментариев. Показать все
Автор поста оценил этот комментарий

И да мне обидно за то, что ты называешь сильношумящим датчик BMP180. Даже фильтрации данных с датчика шум от него по высоте не превышает метра (производитель заявляет 50 сантиметров в режиме экономии энергии и 17 сантиметров в режиме повышенного разрешения). То есть даже без дополнительной фильтрации видно как ты перекладываешь датчик со стола на пол и наоборот. И я считаю это более чем отличным результатом.

раскрыть ветку (9)
2
Автор поста оценил этот комментарий
Я знаю, среднее значение точности там даже около 25см. Но посмотри на графики, и скажи мне, что красный не шумит
раскрыть ветку (8)
1
Автор поста оценил этот комментарий

Ну смотри. Например мы хотим измерить напряжение от нуля до 5 вольт. Мы можем использовать встроенный 10 разрядный АЦП и получать значения от 0 до 1024. Естественно как минимум в младшем разряде там будет постоянный шум. В физических единицах величина этого шума будет 5/1024, то есть шум у нас будет порядка 5мВ. А теперь возьмем 24 разрядный АЦП у которого пускай будут шуметь младшие 3 разряда. Однако переведя в физические единицы выяснится, что за счет остальных 24-3 разрядов величина этого шума менее одной сотой мВ. В единицах АЦП 10 битный шумит меньше, а в физических величинах наоборот.


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


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

Иллюстрация к комментарию
раскрыть ветку (5)
1
Автор поста оценил этот комментарий

А теперь повесь на этот дачкик управление чем-либо. И наслаждайся пилой на исполнительном устройстве.


У меня например, приточным вентилятором рулит MH-Z19. Если без фильтрации выдавать управление на вентилятор, шум ощутимо гуляет, RC фильтр на выходе хорошо режет только шум ардуиновского шима. Скачки связанные с деятельностью людей, да и саму погрешность датчика лучше всего резать калманом, т.к. скорость опроса датчика 6 раз в минуту. А резкое увеличение скорости вентилятора приводит к изменению шума. То что я не точно управляю - мне плевать. Т.к. мне не критично, что вентилятор разгонится на полную через 5 минут после прихода толпы гостей. Но критично если ночью котейка потусит возле датчика и вентилятор резко "взвоет", реагируя на прирост CO2.


Рассматривал  варианты скользящего среднего  за 5 минут, но  там  памяти  жалко. Калман более экономичен.

раскрыть ветку (4)
1
Автор поста оценил этот комментарий
Мне кажется, что если у вас устройство идет в разнос из за того, что высота измененная по барометру изменилась на 30 сантиметров, то что то у вас сильно пошло не так. Возможно не стоит использовать измерение высоты по барометру в столь чувствительных к высоте решениях.

А по поводу вашего примера. Если кот потусил рядом с датчиком, надышал на него CO2 и датчик изменил свои показания то это не проблема датчика. Он честно отработал изменение состояния воздуха. То, что тебе не нужна такая быстрая реакция на изменение состояния, то это не проблема датчика, а проблема твоей управляющей системы.
раскрыть ветку (3)
1
Автор поста оценил этот комментарий

Мне кажется, что цель поста была немного другая: показать работу фильтра и  его настройку. Для этого нужен быстрый датчик, у которого присутсвует "дребезг". Автор задачу решил вполне успешно.

Если бы мне эта видюшка попалась месяцев 6 назад, я бы потратил гораздо меньше времени на решение своей задачи, описанной в примере.

Да, датчик отработал честно, да П регулятор отработал хорошо. Но на выходе я получил не устраивающее меня качество управления.

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

В результате СУ обеспечивает управление с необходимыми мне характеристиками.

раскрыть ветку (2)
Автор поста оценил этот комментарий
По теме видео я высказал свое мнение в соседнем комментарии. И против Калмана ничего не имею. Мне стало обидно, что весьма хороший датчик в двух видео подряд автор называет сильношумящим.
раскрыть ветку (1)
Автор поста оценил этот комментарий
Я уже написал что датчик довольно точный. Но посмотрите на два графика и скажите мне, что красный не шумит на фоне желтого. И я не называл датчик шумящим, я сказал в качестве источника шумящих значений...
Автор поста оценил этот комментарий

Привет, сори что оффтоп, подскажи плз датчик температуры, совместимый с ардуинкой, который 200+ Цельсия выдерживает

раскрыть ветку (1)
1
Автор поста оценил этот комментарий
Привет, глянь у меня видео про сварочник для пп труб на канале alexgyver
Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку