датчик пыли DSM501(A)

Ответить
tol123
Рядовой
Сообщения: 58
Зарегистрирован: 16.07.2021{, 11:34}
Репутация: 7
Имя: Anatoly

датчик пыли DSM501(A)

#1

Сообщение tol123 » 02.12.2022{, 03:57}

Сделал как в описании статьи https://diymcblog.blogspot.com/2016/08/dsm501-1.html и даташит самого датчика. Что плохо получилось - это усреднять данные в node mcu esp 8266, но с этим справился mode-red. И вторая проблема более качественных показаний этого датчика связана с хорошим питанием датчика.
Вложения
flows для node-red.txt
(11.03 КБ) 16 скачиваний
характеристика датчика dsm501.xlsx
(29.84 КБ) 17 скачиваний
как правильно использовать датчик пыли DSM501(A) (1).png
Пояснение2.png
dsm501 без обрабртки .flp
(765.08 КБ) 31 скачивание
Последний раз редактировалось tol123 21.03.2023{, 11:33}, всего редактировалось 3 раза.

tol123
Рядовой
Сообщения: 58
Зарегистрирован: 16.07.2021{, 11:34}
Репутация: 7
Имя: Anatoly

датчик пыли DSM501(A)

#2

Сообщение tol123 » 22.12.2022{, 10:54}

Как видно на графике за время до 5 минут плохо получается сделать вывод о том, что показывает датчик. Сейчас он запитан от usb хаба который подпитан от розетки и соединён с пк. Скачков напряжения а осциллографе не обнаружил. Позже сравню показания двух датчиков SDS011 b Dsm501.
Последний раз редактировалось tol123 21.03.2023{, 11:01}, всего редактировалось 1 раз.

tol123
Рядовой
Сообщения: 58
Зарегистрирован: 16.07.2021{, 11:34}
Репутация: 7
Имя: Anatoly

датчик пыли DSM501(A)

#3

Сообщение tol123 » 16.03.2023{, 15:29}

Ошибочка в узле агрегатор: в нем надо ставить суммирование за период. А те графики сверху это средние за период ни чего не показывают. Пока тестирование продолжается.

Аватара пользователя
Dryundel
Полковник
Сообщения: 2401
Зарегистрирован: 22.05.2017{, 23:15}
Репутация: 783
Откуда: Ярославль
Имя: Андрей
Контактная информация:

датчик пыли DSM501(A)

#4

Сообщение Dryundel » 17.03.2023{, 13:28}

Ничо не понял. Но интересно. :)
tol123, вот есть некий датчик. (Никогда не имел с ним дела) Он что выдает? Импульс как только обнаруживает частицу выше определенного размера? И что? Чем чаще эти импульсы, тем больше запыленность? Я правильно понимаю?

Если так, то почему вы измеряете длительность паузы?
Нет, я бы понял в этом логику если бы сенсор давал сигнал только по одному размеру. Но их два, как я понял.
По методике предложенной по ссылке, считается и то и другое за единицу времени, а потом из первого вычитается второе. Ну это логично.
А вот как Вы оперируете измеренными паузами, я не понял. Поясните пожалуйста.

tol123
Рядовой
Сообщения: 58
Зарегистрирован: 16.07.2021{, 11:34}
Репутация: 7
Имя: Anatoly

датчик пыли DSM501(A)

#5

Сообщение tol123 » 20.03.2023{, 04:17}

Глянул даташит там за 30 секунд расчитывается процент низкого сигнала шим в сумме по отношению к 30 секундам. Думаю у меня неправильно сделано. Надо переделывать.
Вложения
dsm501.png

tol123
Рядовой
Сообщения: 58
Зарегистрирован: 16.07.2021{, 11:34}
Репутация: 7
Имя: Anatoly

датчик пыли DSM501(A)

#6

Сообщение tol123 » 21.03.2023{, 08:14}

Dryundel писал(а):
17.03.2023{, 13:28}
Поясните
. Ну сходу включить и получить то что нужно
пока с этим датчиком не получается. Беру с вывода ЕСП8266 скоростной счетчиком микросекунды по низкому сигналу, отправляю в MQTT, ловлю в Node-red, закидываю в массив за 10 минут, а потом массив суммирую, делю эту сумму на общее время (10минут=600сек=600000мс=)600000000мкс, умножаю на 100%, получаю Low ratio[%] . После чего заранее вывел формулу в эксель
перевел из графика формулу квадратного уравнения, так как кривая не прямая ((0.0023*payload*payload)+(0.0629*payload)-0.0535) в которой перевел из Low ratio[%], получив mg/m3. Пока тестирую, но что-то данные какие-то не совсем похожие на правду. Не знаю почему в даташите на DSM501(A) на графике mg/m3(может должно микрограм μg/m3). Можно забить на это и сопоставить данные с датчиком SDS011 так сказать прокалибровать с ним и получать что-то типа правды. В итоге получаю с него 0,052 с одного вывода mg/m3 а это 52 μg/m3, то похоже с SDS011 47(μg/m3 2.5) и 87.3 (μg/m3 10). Так что потестирую. Спасибо , что обратили внимание на недочеты. Не всегда есть время уделять время для доделки начатого и время растягивается для завершения задуманного.
Вложения
dsm501а.png

Аватара пользователя
Dryundel
Полковник
Сообщения: 2401
Зарегистрирован: 22.05.2017{, 23:15}
Репутация: 783
Откуда: Ярославль
Имя: Андрей
Контактная информация:

датчик пыли DSM501(A)

#7

Сообщение Dryundel » 21.03.2023{, 08:51}

tol123 писал(а):
21.03.2023{, 08:14}
Спасибо , что обратили внимание на недочеты.
Даже не имел намерений указывать на недочёты. Мне реально не понятен ход вашей мысли. Может Вы и правильно делали измеряя паузы. Но как Вы ими оперируете не ясно. В методике по ссылке про паузы ничего нет.

Отправлено спустя 3 минуты 46 секунд:
tol123 писал(а):
21.03.2023{, 08:14}
После чего заранее вывел формулу в эксель
перевел из графика формулу квадратного уравнения, так как кривая не прямая
Не на столько она и кривая, чтобы вводить такие формулы. Данной нелинейностью можно и пренебречь. Во всяком случае до момента получения данных близких к реальным.

Отправлено спустя 8 минут 45 секунд:
Dryundel писал(а):
21.03.2023{, 08:55}
Беру с вывода ЕСП8266 скоростной счетчиком микросекунды по низкому сигналу, отправляю в MQTT, ловлю в Node-red, закидываю в массив за 10 минут, а потом массив суммирую, делю эту сумму на общее время
И похоже получаете погоду на Марсе. При чем здесь паузы? Нет, наверное можно как то и с ними, но вот как, это ещё вопрос. Они же рандомные.

Счётчиком можно посчитать количество импульсов за секунду(минуту) . Одного и другого показателя. Найти разницу и привязать её каким то коэффициентом к результату.
Как по другому, мне не понятно.

tol123
Рядовой
Сообщения: 58
Зарегистрирован: 16.07.2021{, 11:34}
Репутация: 7
Имя: Anatoly

датчик пыли DSM501(A)

#8

Сообщение tol123 » 21.03.2023{, 11:00}

Dryundel писал(а):
21.03.2023{, 09:03}
посчитать количество импульсов
Для него длительность импульсов считается из даташита.
Одно радует, что датчик хоть на пыль как-то реагирует.

Аватара пользователя
Dryundel
Полковник
Сообщения: 2401
Зарегистрирован: 22.05.2017{, 23:15}
Репутация: 783
Откуда: Ярославль
Имя: Андрей
Контактная информация:

датчик пыли DSM501(A)

#9

Сообщение Dryundel » 21.03.2023{, 11:07}

tol123 писал(а):
21.03.2023{, 11:00}
Для него длительность импульсов считается из даташита.
По моему Вы перепутали две идеи и объединили в одну. :)
Предполагаю, что в даташите сказано о том, как определяется датчиком зазмер частицы. Если длительность импульса больше то и частица больше. Именно так можно разделить маленькие и большие.
Но заметьте, даже и здесь речь идёт об импульсе. Вы же пытаетесь оперировать паузой.

Отправлено спустя 5 минут 26 секунд:
Длительность импульсов Вы с датчика не получите. А только сам факт этого импульса. А с разных выходов будет разное количество таких фактов, потому что один настроен на частицы превышающих мелкий размер, а другой более крупный. Естественно что на первом выходе будут и те и другие.

tol123
Рядовой
Сообщения: 58
Зарегистрирован: 16.07.2021{, 11:34}
Репутация: 7
Имя: Anatoly

датчик пыли DSM501(A)

#10

Сообщение tol123 » 21.03.2023{, 11:21}

Если кому надо то объем пыли и масса пыли (из плотности) вычисляются примерно так:
Объем V = 4/3 π R3,

Объем V = 1.333 x 3.141 x (1.3x10е-6 m)3 = 9.2x10е-18 m3.
(радиус R = 1.3 микрон, R = 1.3x10е-6)

Масса M = 9.2x10е-18 = 1.8x10е-14 кг.
(плотность пыли принимается= 2000 кг/m3(может приниматься от 1000 до 3000 кг/m3)

к тому же изменились дела в node-red скидываю обновления
Вложения
flows (4).txt
(11.03 КБ) 17 скачиваний

Аватара пользователя
Dryundel
Полковник
Сообщения: 2401
Зарегистрирован: 22.05.2017{, 23:15}
Репутация: 783
Откуда: Ярославль
Имя: Андрей
Контактная информация:

датчик пыли DSM501(A)

#11

Сообщение Dryundel » 21.03.2023{, 11:37}

Dryundel писал(а):
21.03.2023{, 11:13}
Масса M = 9.2x10е-18
Это масса чего по вашему?

Отправлено спустя 4 минуты 29 секунд:
tol123 писал(а):
21.03.2023{, 11:21}
Объем V = 1.333 x 3.141 x (1.3x10е-6 m)3 = 9.2x10е-18 m3.
И почему Вы вдруг массу приравняли к объёму не умножив на плотность?
Dryundel писал(а):
21.03.2023{, 11:37}
плотность пыли принимается= 2000
Это Вы вообще откуда взяли?
Плотность золота и то 19 примерно.
Откуда 2000?

Отправлено спустя 57 секунд:
По моему Вы просто плаваете в понятия и расчётах.

tol123
Рядовой
Сообщения: 58
Зарегистрирован: 16.07.2021{, 11:34}
Репутация: 7
Имя: Anatoly

датчик пыли DSM501(A)

#12

Сообщение tol123 » 21.03.2023{, 13:08}

Dryundel писал(а):
21.03.2023{, 11:42}
плаваете в понятия и расчётах
Абсолютно. Я троешник.

Аватара пользователя
Dryundel
Полковник
Сообщения: 2401
Зарегистрирован: 22.05.2017{, 23:15}
Репутация: 783
Откуда: Ярославль
Имя: Андрей
Контактная информация:

датчик пыли DSM501(A)

#13

Сообщение Dryundel » 21.03.2023{, 14:44}

tol123 писал(а):
21.03.2023{, 13:08}
Абсолютно. Я троешник.
Вот чуть что, сразу слышу эту фразу. :smile9: Это не показатель! :)

Ну давайте попробуем разобраться.
На сколько я понял данный датчик это откровенная балалайка.
С другой стороны, а как по другому, электронным способом измерить запыленность?
Принцип такой, есть некий щелевой датчик. (Не знаю точно, но предполагаю что так) Который выдает импульс когда частица попадает в его поле видимости. Так же он замеряет сколько времени он видел эту частицу и по этим данным определяет крупная она или мелкая, после чего выдает импульс на соответствующий выход.
Вопрос: А как быть со скоростью движения воздуха? Конвекция это одно, а сквозняк другое. И они по разному будут влиять на измерения.

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

Теперь по формулам. Первая которую Вы предложили, это формула объема шара. Принимаем допущение что частица - шар. Имея какое то количество импульсов которое мы получили путем вычитания, опять же допускаем, что эти частицы в среднем 1,75 микрона.

Дальше автор статьи пишет.
Ошибка номер 4 - измерение количества частиц на 283 мл. Собственно вот она, погода на марсе. Кто знает зачем измерять количество частиц на 283 миллилитра и что потом с этим значением делать?
Тоже мне умник. Вообще то запыленность и измеряется содержанием килограммов(граммов) пыли на какой то объем. А эта цифра из даташита вероятно и говорит о том, что показания датчика соответствуют количеству частиц пыли содержащемся именно в таком объеме.

Далее можно прибегнуть к математике пересчитать количество на кубический метр например, умножить сумму засеченных единиц пыли на их объем(шара) умножить на какую то гипотетическую плотность и получить требуемые данные.
Но вот нахрена вся эта свистопляска с вычислениями, которые должны обеспечивать еще и невероятную точность. float который доступен в FLProg, точно с этим не справится.

Поэтому идем по простому пути.
Считаем количество импульсов за единицу времени. (Скоростной счетчик - Количество импульсов за период) и тупо умножаем на какойто коэффициент. Его мы просто подбираем исходя из какой то гипотетически известной величины запыленности в данном месте в данное время.

Я так думаю, это все, что требуется сделать. :)

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

tol123
Рядовой
Сообщения: 58
Зарегистрирован: 16.07.2021{, 11:34}
Репутация: 7
Имя: Anatoly

датчик пыли DSM501(A)

#14

Сообщение tol123 » 21.03.2023{, 15:13}

Да верно то, что автор статьи начал считать какие-то милилитра и т. д. Да мне чисто поприколу что-нибудь выжать с этого датчика. Про скорость движения - да влияет, но надо ставить в тихое место безветренное. Там не зря в нем от 10 до 90 микросекунд даны для того, чтобы лишний шум не пропускать в сигнал, типо большую пыль с матраса. Пыль, он имеет ввиду типа дыма. Зачем говорить какой-то датчик. Ни какой-то, а конкретный со своими параметрами и условиями и даташитом. Я понимаю, может не получиться прям вытащить с него точность. Хотя бы какой-нибудь сигнализатор за пару сотен рублей.

Ответить

Вернуться в «ESP8266»