Датчик СО2

Использование прочих датчиков и энкодеров и пользовательских блоков к ним
JORA555
Рядовой
Сообщения: 37
Зарегистрирован: 16.02.2017{, 05:09}
Репутация: 0
Откуда: Барнаул

Датчик СО2

#21

Сообщение JORA555 » 17.02.2017{, 09:48}

AVGN писал(а):MH-Z19 нельзя соединить с Arduino nano на прямую. Выходы/входы поддерживают уровень 3,3V
AVGN, благодарю. Рабочее питание посмотрел, а про это не подумал.

Anydy

Датчик СО2

#22

Сообщение Anydy » 17.02.2017{, 10:15}

JORA555 писал(а):По малинке: лежит одна ревизии В
Так если есть малинка зачем тогда мега. Я бы поставил на нее MajorDomo, Openhub, iobroker может еще есть какие....намного интереснее получится!
По UART .. на такие расстояния скорее всего не будет нормально работать. Думаю либо WIFI либо LAN, RS485 или т.п.
Не совсем понятно что будут делать удаленные устройства, только мониторить или управлять тоже? Только с сервером или автономно тоже?
По уровням...конечно лучше TTL но работает и от 5в, можно резисторный делитель попробовать, у меня работал так SIM800

JORA555
Рядовой
Сообщения: 37
Зарегистрирован: 16.02.2017{, 05:09}
Репутация: 0
Откуда: Барнаул

Датчик СО2

#23

Сообщение JORA555 » 17.02.2017{, 11:04}

AVGN писал(а):MH-Z19 нельзя соединить с Arduino nano на прямую. Выходы/входы поддерживают уровень 3,3V
AVGN, Anydy тогда как здесь все работает: http://www.2150692.ru/faq/87-co2-mhz19-arduino

Добавлено (17.02.2017, 10:46)
---------------------------------------------
Anydy писал(а):Не совсем понятно что будут делать удаленные устройства
Кажется понял как можно сделать, прокомментируйте пожалуйста:
Режим вентиляции:
1) Удаленное устройство (в количестве 3 шт.):измерение СО2, отображение уровня СО2, отображение уставки СО2, изменение уставки, сравнение значения с уставкой и при выходе за пределы отправка по цифровому выходу сигнала на основной блок (Не знаю хватит ли мощности цифрового выхода на 15 метров кабеля?).
2) Удаленный блок принимает сигнал и работает по своему алгоритму: Система в ждущем режиме. При сигнале о превышении СО2 с удаленного блока: включение вентилятора, открытие необходимой заслонки (для данной комнаты), ПИД регулирование температуры, регулирование заслонки рециркуляции. При поступлении сигнала от второго удаленного устройства (при включенном первом) происходит добавление оборотов вентилятора, открытие заслонки во вторую комнату. 3-е устройство по аналогии.
Существует несколько режимов работы: вентиляция, отопление, кондиционирование
Режим работы системы меняется только на основном блоке, так как смена режима нужна очень редко.
В режиме кондиционирования и отопления те же действия, только по уставке температур.
Внимание вопрос: Как на дисплее удаленных устройств показать какой режим включен в настоящий момент.
В общем: Удаленные устройства работают как задатчики включения, выключения для основного блока

Добавлено (17.02.2017, 10:49)
---------------------------------------------
JORA555 писал(а):В общем: Удаленные устройства работают как задатчики включения, выключения для основного блока
Показания температур, СО2 на основной блок думаю не передавать-не зачем, только сигналы включения. Нужны они только для отладки системы, чтобы не бегать к удаленным измерителям, но у меня трое детей-три устройства, организую громкую связь

Добавлено (17.02.2017, 10:54)
---------------------------------------------
Anydy писал(а):Я бы поставил на нее MajorDomo, Openhub, iobroker может еще есть какие....намного интереснее получится!
Согласен. Пытался разобраться и опять уперся в одно но: не програмист я, и освоить необходимые языки программирования просто не под силу, да и если честно, желания нет. А с FBD разобрался быстро. Как то так.

Добавлено (17.02.2017, 10:58)
---------------------------------------------
Anydy, дисплеи хочу взять на HD47800 16, либо 20 символов, 4 строки. В левой части выводить текущие параметры, в правой-уставки. Наглядно и ничего лишнего. Программировать по аналогии с приведенными уроками для 16х2 дисплеев или другой блок FBD нужен?

Добавлено (17.02.2017, 11:04)
---------------------------------------------
slavas писал(а):блок на пробу A0 A1 -RX TX данные в порт кидает. Проверьте если что подправлю.
Пока делаю подборку того что нужно приобрести: как опробую, обязательно отпишусь

Аватара пользователя
AVGN
Капитан
Сообщения: 727
Зарегистрирован: 03.02.2017{, 12:23}
Репутация: 56

Датчик СО2

#24

Сообщение AVGN » 17.02.2017{, 11:26}

JORA555 писал(а):Цитата AVGN ()
MH-Z19 нельзя соединить с Arduino nano на прямую. Выходы/входы поддерживают уровень 3,3V
AVGN, Anydy тогда как здесь все работает: http://www.2150692.ru/faq/87-co2-mhz19-arduino
Я прочитал всего лишь мануал.
Погуглил и вот здесь соединяют mh-z14 через TTL logic level covnerter
https://www.arduino.md/arduino-co2-gas-sensor-mh-z14
Если вы не можете объяснить это просто – значит, вы сами не понимаете этого до конца.
☆Альберт Эйнштейн

Anydy

Датчик СО2

#25

Сообщение Anydy » 17.02.2017{, 11:45}

JORA555 писал(а):другой блок FBD нужен
не нужен, в настройках есть 4 строки
JORA555 писал(а):Показания температур, СО2 на основной блок думаю не передавать-не зачем, только сигналы включения
Тогда вообще не вижу необходимости в центральном блоке, иначе вы получается пытаетесь сами написать систему уже готовую типа iobroker....кстати знание программирования и не нужны там.

Проще сделать три отдельных устройства, задал температуру, СО2 и в зависимости от настроек они сами выполняют действия по алгоритму - открывают форточки, включают обогрев и т.д.

Я сам делаю подобный термостат для гаража/дачи, но с мониторингом и управлением через MQTT протокол и сеть GSM/GPRS

holodaleksey
Лейтенант
Сообщения: 566
Зарегистрирован: 10.01.2016{, 13:47}
Репутация: 14

Датчик СО2

#26

Сообщение holodaleksey » 17.02.2017{, 12:47}

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

OlegAn1962
Лейтенант
Сообщения: 361
Зарегистрирован: 07.09.2015{, 23:53}
Репутация: 0

Датчик СО2

#27

Сообщение OlegAn1962 » 17.02.2017{, 13:03}

Anydy писал(а):Я сам делаю подобный термостат для гаража/дачи,
Для гаража лучше мерять не СО2, а СО

JORA555
Рядовой
Сообщения: 37
Зарегистрирован: 16.02.2017{, 05:09}
Репутация: 0
Откуда: Барнаул

Датчик СО2

#28

Сообщение JORA555 » 17.02.2017{, 14:02}

Anydy писал(а):Тогда вообще не вижу необходимости в центральном блоке
Смотрите, что получается:
1) Обороты регулируются в зависимости от количества необходимого в данный момент воздуха причем сигналом 0-10В, значит нужно алгоритм определения выходного сигнала для вентилятора, причем данные значения будут корректироваться по мере засорения фильтров, а следовательно увеличения сопротивления системы. К тому же уставки производительности нужно регулировать - т.е. делать уставку на работу 1,2,3 производительность.
2) Нагреватель регулируется по ШИМ (с периодом 1секунда), для него нужно задавать коэффициенты-а это тоже значение регулируемое. и вшить в программу их нельзя, также необходимо определять нужно ли его вообще включать летом, если на улице допустим +18, а это только по температуре внутреннего воздуха определяется. Не можем выйти на уставку зимой-уменьшаем обороты вентилятора;
3) Для кондиционера тоже нужна уставка приточного воздуха и регулятор, иначе при температуре в помещении +27 может начать давать приток воздуха допустим +18, а это сквозняк и сопли у детей. Регулировка уставки идет заслонкой наружного и рециркуляционного воздуха в зависимости от температуры уличного и приточного воздуха. Причем, если заслонкой не получается выйти на уставку ПИ регулятор начинает управлять оборотами двигателя.
4) Также есть много параметров, которые надо отслеживать: авария вентилятора, авария кондиционера, бак конденсата, перегрев тенн, подача переохлажденного воздуха, включение кухонной вытяжки
Под итожу: суть задачи в том, что оборудование в одном экземпляре, а зон регулирования-3шт. Если бы была одна зона, все было бы проще и собиралось на 1 Arduino.
P.S. Если есть желание ознакомиться с алгоритмом работы, могу сделать скрин с программой под програмируемое реле ПР-200;
Если решите повторить что-то подобное, могу написать алгоритм работы более детально.

Добавлено (17.02.2017, 13:53)
---------------------------------------------
holodaleksey писал(а):один из пользователей форума уже использует этот датчик и сделал под него блок с выходом в uart.
Будьте добры ссылку. Я вообще считаю, что поиск по форуму, куда хуже живого общения+задав вопрос, я уже разузнал почти всю необходимую информацию для моей системы. Но на будущее учту.

Добавлено (17.02.2017, 14:02)
---------------------------------------------
AVGN писал(а):Погуглил и вот здесь соединяют mh-z14 через TTL logic level covnerter
Да я с вами не спорю, учту данное замечание при сборке. Вопрос в том что без TTL на сколько схема рабочая, долго ли протянет с теоретической точки зрения, а то может и не в том суть: входной сигнал от датчика 3,3В, а приемный на контроллере 5В. Вот если бы было наоборот, другой разговор, по моему, умер бы Arduino смертью храбрых.

Anydy

Датчик СО2

#29

Сообщение Anydy » 17.02.2017{, 14:23}

JORA555 писал(а):входной сигнал от датчика 3,3В, а приемный на контроллере 5В.
Вот в том и дело, не все пятивольтовые устройства от 3.3в будут работать, а наоборот по линии RX два резистора или конвертер уровней и вперед!
holodaleksey писал(а):правда не пойму, поисковиком вера пользоваться не разрешает?...
В поиске никакой конструктивной информации, здесь человек попросил сделать блок для датчика, ему предложили варианты блоков, при чем и по UART и по PWM. Кроме того много попутных вопросов он узнал для себя.
OlegAn1962 писал(а):Для гаража лучше мерять не СО2, а СО
Это понятно, я не собирался мерить СО2....хотя при работе газовой горелки а не автомобиля(кто ж его заводит в гараже) наверное лучше мерить и то и другое. Мне нужно управление/мониторинг термостатом(овощехранилище, сигнализацией, датчик движения. Ключевая фраза через MQTT/GPRS. А так же таким же макаром управление/мониторинг дачи.
JORA555 писал(а):Также есть много параметров, которые надо отслеживать
Тогда да, нужен центральный блок, если на Меге придется изучать С++(Wiring), либо что проще пробовать настроить готовый софт на малинке.
Последний раз редактировалось Anydy 17.02.2017{, 14:27}, всего редактировалось 1 раз.

holodaleksey
Лейтенант
Сообщения: 566
Зарегистрирован: 10.01.2016{, 13:47}
Репутация: 14

Датчик СО2

#30

Сообщение holodaleksey » 17.02.2017{, 14:27}

1.пользователь Xops, делал на блок на uart
2. а зачем нам скрин, многие тут овенлоджик в программ файлс имеют)
Подпись удалена мною по требованию администрации форума, что является нарушение демократии )

JORA555
Рядовой
Сообщения: 37
Зарегистрирован: 16.02.2017{, 05:09}
Репутация: 0
Откуда: Барнаул

Датчик СО2

#31

Сообщение JORA555 » 17.02.2017{, 14:35}

Anydy писал(а):Тогда да, нужен центральный блок, если на Меге придется изучать С++(Wiring), либо что проще пробовать настроить готовый софт на малинке.
Anydy, я аж напрягся.   По Вашему мнению на FBD не возможно необходимый мной алгоритм создать. Объясните какие грабли могут возникнуть? Вроде все функции, блоки уже есть. Мне надо то всего создать условия, операции:сложить, вычесть, разделить, да блок Пид регулятора. Обычная релейная логика, да немного аналогового сигнала на заслонку, да на управление вентилятором.

Добавлено (17.02.2017, 14:35)
---------------------------------------------
Anydy писал(а):Мне нужно управление/мониторинг термостатом(овощехранилище
С параметрами овощехранилища могу помочь. В настоящее время запускаю проект на 1500тонн в режиме тестирования, на будущий год в работу.
Даже, если у Вас погреб, микроклимат все равно нужно поддерживать, тем более если такие навыки программирования.

Anydy

Датчик СО2

#32

Сообщение Anydy » 17.02.2017{, 14:35}

JORA555 писал(а):я аж напрягся. surprised
Ну я наверно перегнул палку, но базовые знания нужны.
Не все еще в программе реализовано, а если учесть что постоянно что то новое выпускается....захочется а в программе нет такого....

Мне пока что нужна помощь как завернуть MQTT через GPRS модуль, но пока что здесь в этом вопросе тишина....
PS В общем получилось создать соединение, щас рисую блок, поподробнее бы с самим протоколом разобраться...
Последний раз редактировалось Anydy 17.02.2017{, 14:41}, всего редактировалось 1 раз.

JORA555
Рядовой
Сообщения: 37
Зарегистрирован: 16.02.2017{, 05:09}
Репутация: 0
Откуда: Барнаул

Датчик СО2

#33

Сообщение JORA555 » 17.02.2017{, 14:46}

Anydy писал(а):Не все еще в программе реализовано, а если учесть что постоянно что то новое выпускается....захочется а в программе нет такого....
Все датчики необходимые для данного проекта я озвучил, пока загвоздка только в СО2 и то, когда придет думаю всем миром что-нибудь придумаем. Отслеживаемые параметры, кроме тех что были озвучены ранее-это температуры воздуха в установке и аварии-причем они все на дискрете: полный бак-поплавок замкнул контакт,  сгорел крутиться вентилятор-датчик давления разомкнул контакт.
Не ужели вот такое не получиться сделать на FLProg
Вложения
2650383.png

holodaleksey
Лейтенант
Сообщения: 566
Зарегистрирован: 10.01.2016{, 13:47}
Репутация: 14

Датчик СО2

#34

Сообщение holodaleksey » 17.02.2017{, 15:57}

да запросто. вопрос какая будет длительность одного цикла. недавно закинул на i2c 5 устройств - тормоза дикие. пока теоритически имхо - под подобные вещи лучше сразу дуе
Подпись удалена мною по требованию администрации форума, что является нарушение демократии )

JORA555
Рядовой
Сообщения: 37
Зарегистрирован: 16.02.2017{, 05:09}
Репутация: 0
Откуда: Барнаул

Датчик СО2

#35

Сообщение JORA555 » 28.03.2017{, 19:23}

holodaleksey писал(а):да запросто. вопрос какая будет длительность одного цикла. недавно закинул на i2c 5 устройств - тормоза дикие. пока теоритически имхо - под подобные вещи лучше сразу дуе
Так посоветуйте, знатоки: на головной блок Mega или все-таки Due?

Добавлено (19.02.2017, 14:07)
---------------------------------------------
Заказал
1) Arduino Nano;
2) MH-Z19;
3) DHT22;
4) HD44780 20х4;
5) TTL 3.3-5В
Ждемс...

Добавлено (28.03.2017, 18:53)
---------------------------------------------
Дождались  

Итого по факту имеем:
дисплей, DTH22, ну и собственно Arduino завелись с пол пинка, а вот с датчиком MH-Z19 небольшие заморочки. Первоначально хочу сказать большое СПАСИБО, Anydy за помощь в написании блока (использовал из поста #16, подключил по UART, PWM не проверял). При подключении по USB данные с датчика корректны, после прогрева датчика значение нормализуется и скачет в районе 10-20ppm. Т.к. дисплей четырехстрочный, как я понял ему не хватает питания для яркого отображения текста, и тут начинаются приключения: внешний блок питания подключаю к Vin-на дисплее "0". Согласно мануал на Nano, выход 3,3B отключается при внешнем питании (нужен для TTL). Думал проблема в этом, но прибор показывает 3,2В на выходе. Прошу помощи. В чем проблема. Еще заметил отличие в работе: светодиод Tx при USB питании мигает с определенной последовательностью 10пауза101010101010101010пауза и повторение, при внешнем питании 10101010 до бесконечности. Rx вообще не загорается при любом питании. В блоке есть задержка запроса delay, установлено 100, а в каких единицах измерения. Кто разбирается-подскажите, а то у меня данные на дисплее обновляются раз в 5 сек., хотелось бы добавить время обновления до 30 секунд.

Добавлено (28.03.2017, 19:23)
---------------------------------------------
Также добавлю, когда пытался подключить датчик к пинам 0,1 (Rx, Tx) постоянно отображался "0", при подключении к другим цифровым пинам, датчик ожил. Объясните почему, кто в теме.

Аватара пользователя
Alias
Лейтенант
Сообщения: 481
Зарегистрирован: 27.11.2017{, 13:15}
Репутация: 36
Откуда: Rus44
Имя: Michael
Контактная информация:

Датчик СО2

#36

Сообщение Alias » 23.12.2017{, 20:31}

Anydy писал(а):Накидал два блока для MH-Z19 по примерам с сайта выше.Один по UART работает второй по ШИМ.
Спасибо огромное! Объявляю благодарность!
Вернулся домой и первым делом решил прикрутить MH-Z19, который тоже только что пришел. Интересно же, чем мы дышим.
Использовал конвертер уровней. Почти сразу заработало - перепутал Rx и Tx. Я думал, что их нужно, как в описании к блоку соединять, Rx на 10 пин, а Tx - на 11, см. скриншот, но потом понял, что как обычно
Эти параметры можно изменять, как я понимаю, на любы пины и только эти настройки для работы и нужны?
А можно ли изменять период опроса датчика? delay(100) - это оно, в секундах?
А вообще разрешение его работы через привычный на блоке "En"?
Спасибо!
ЗЫ Пробовал менять delay(100) даже на 10000. Датчик как мигал своим измеряющим светодиодом каждые 3 секунды, так и мигает...
Вложения
6200447.png
7189875.png
Последний раз редактировалось Alias 23.12.2017{, 22:36}, всего редактировалось 1 раз.

Anydy

Датчик СО2

#37

Сообщение Anydy » 24.12.2017{, 11:54}

Alias, Столько времени прошло, я уже не помню что делал...
Если критично - займусь восстановлением своей памяти))))

Аватара пользователя
Alias
Лейтенант
Сообщения: 481
Зарегистрирован: 27.11.2017{, 13:15}
Репутация: 36
Откуда: Rus44
Имя: Michael
Контактная информация:

Датчик СО2

#38

Сообщение Alias » 24.12.2017{, 14:31}

Насколько критично? Ну, не горит сильно. Форум альтруистический, все строится на энтузиазме.
Но, если Вы возьметесь, я готов тестировать Ваши блоки и в результате может получиться готовый пользовательский блок, пригодный для использования в flprog любым желающим без танцев с бубнами.
Модуль очень полезный и знать концентрация СО2 куда важнее, чем влажность и температуру воздуха, их то мы ощущаем и хоть как-то в состоянии оценить и без приборов
По текущему блоку. Вчера наблюдал. В установившемся режиме, когда сквозняков и непосредственно рядом с ним никого нет, каждый отсчет в 3 секунды показания растут на единицу. Так, вечером значения плавно росли до 950 с чем-то, затем резко добавили примерно 200, при этом на секунду мигнули ошибкой показания DHT22, через какое-то время снова упали вниз до 800, а потом было утро
Сегодня прикручу часики и карту памяти, буду вести логи, чтобы понять порядок вещей.

Anydy

Датчик СО2

#39

Сообщение Anydy » 24.12.2017{, 15:12}

Alias писал(а):прикручу часики и карту памяти, буду вести логи, чтобы понять порядок вещей.
Верное решение!

Аватара пользователя
Alias
Лейтенант
Сообщения: 481
Зарегистрирован: 27.11.2017{, 13:15}
Репутация: 36
Откуда: Rus44
Имя: Michael
Контактная информация:

Датчик СО2

#40

Сообщение Alias » 25.12.2017{, 22:01}

С логом и про блок расскажу завтра. А сегодня столкнулся с совершенно не очевидной для меня загвоздкой. Видимо, мыслю не как программист.
Решил поиграть и вывести показания датчиков на экран строкой. Я рассчитывал, что обновляться показания будут при любом изменении переменных, например, ежесекундно, вместе с теми же секундами.
Так и было, пока я не изменил период опроса датчика СО2. Выяснилось, что экран обновляется только одновременно с опросом датчика.
Что характерно, результат не зависит от способа выведения информации с датчиков на экран, вторая схема работает идентично первой.
Где можно почитать, почему так получается, чтобы избежать сюрпризов в будущем? Наверное, датчик СО2 занимает какую-то шину?
ЗЫ Перепробовал все свободные пины, которые можно в блоке назначить датчику, ситуация не меняется. Может, это в самом блоке какая-то процедура тормозит работу? Датчик физически отключал, не помогает.
Спасибо!
Вложения
co2-4.flp
(110.14 КБ) 126 скачиваний
co2-3.flp
(179.85 КБ) 121 скачивание
Последний раз редактировалось Alias 25.12.2017{, 22:20}, всего редактировалось 1 раз.

Ответить

Вернуться в «Прочие датчики и энкодеры»