И да мне обидно за то, что ты называешь сильношумящим датчик BMP180. Даже фильтрации данных с датчика шум от него по высоте не превышает метра (производитель заявляет 50 сантиметров в режиме экономии энергии и 17 сантиметров в режиме повышенного разрешения). То есть даже без дополнительной фильтрации видно как ты перекладываешь датчик со стола на пол и наоборот. И я считаю это более чем отличным результатом.
Ну смотри. Например мы хотим измерить напряжение от нуля до 5 вольт. Мы можем использовать встроенный 10 разрядный АЦП и получать значения от 0 до 1024. Естественно как минимум в младшем разряде там будет постоянный шум. В физических единицах величина этого шума будет 5/1024, то есть шум у нас будет порядка 5мВ. А теперь возьмем 24 разрядный АЦП у которого пускай будут шуметь младшие 3 разряда. Однако переведя в физические единицы выяснится, что за счет остальных 24-3 разрядов величина этого шума менее одной сотой мВ. В единицах АЦП 10 битный шумит меньше, а в физических величинах наоборот.
И как бы да, растянув график так, что у тебя от пика до пика у тебя менее метра, то естественно у тебя график будет метаться как стрелка осциллографа. Но любой сигнал если его достаточно сильно растянуть будет так же колебаться. Вот например график шума от источника опорного напряжения, смотри какой дерганный график и как он сильно шумит. Однако если ты посмотришь на подписи к осям, то ты увидишь, что речь там идет о микровольтах и в подавляющем большинстве применений такой шум не существенен.
Так же и тут, да если растянуть график, то значения будут сильно колебаться. Но я считаю, что датчик который способен почувствовать столь незначительную разницу в давлении при таком малом перепаде высот это отличный датчик и низким уровнем шума.
А теперь повесь на этот дачкик управление чем-либо. И наслаждайся пилой на исполнительном устройстве.
У меня например, приточным вентилятором рулит MH-Z19. Если без фильтрации выдавать управление на вентилятор, шум ощутимо гуляет, RC фильтр на выходе хорошо режет только шум ардуиновского шима. Скачки связанные с деятельностью людей, да и саму погрешность датчика лучше всего резать калманом, т.к. скорость опроса датчика 6 раз в минуту. А резкое увеличение скорости вентилятора приводит к изменению шума. То что я не точно управляю - мне плевать. Т.к. мне не критично, что вентилятор разгонится на полную через 5 минут после прихода толпы гостей. Но критично если ночью котейка потусит возле датчика и вентилятор резко "взвоет", реагируя на прирост CO2.
Рассматривал варианты скользящего среднего за 5 минут, но там памяти жалко. Калман более экономичен.
А по поводу вашего примера. Если кот потусил рядом с датчиком, надышал на него CO2 и датчик изменил свои показания то это не проблема датчика. Он честно отработал изменение состояния воздуха. То, что тебе не нужна такая быстрая реакция на изменение состояния, то это не проблема датчика, а проблема твоей управляющей системы.
Мне кажется, что цель поста была немного другая: показать работу фильтра и его настройку. Для этого нужен быстрый датчик, у которого присутсвует "дребезг". Автор задачу решил вполне успешно.
Если бы мне эта видюшка попалась месяцев 6 назад, я бы потратил гораздо меньше времени на решение своей задачи, описанной в примере.
Да, датчик отработал честно, да П регулятор отработал хорошо. Но на выходе я получил не устраивающее меня качество управления.
Для решения этой проблемы между датчиком и П регулятором был установлен фильтр, сглаживающий показания датчика.
В результате СУ обеспечивает управление с необходимыми мне характеристиками.
Привет, сори что оффтоп, подскажи плз датчик температуры, совместимый с ардуинкой, который 200+ Цельсия выдерживает
Arduino & Pi
1.4K постов20.6K подписчиков
Правила сообщества
В нашем сообществе запрещается:
• Добавлять посты не относящиеся к тематике сообщества, либо не несущие какой-либо полезной нагрузки (флуд)
• Задавать очевидные вопросы в виде постов, не воспользовавшись перед этим поиском
• Выкладывать код прямо в посте - используйте для этого сервисы ideone.com, gist.github.com или схожие ресурсы (pastebin запрещен)
• Рассуждать на темы политики
• Нарушать установленные правила Пикабу