Doomnik 1,428 Опубликовано 9 января, 2018 (изменено) Началось с того, что я на форуме натыкался на спор о пользе самодельных CO2-генераторов а-ля бражка в пластиковых бутылках. И меня раздражали эти беспредметные споры, когда один говорит что толк есть, а другой утверждает обратное. Я так понял, что проблема в отсутствии средства измерения, которое должно по идее поставить жирную точку в подобных спорах: по замерам CO2 в воздухе либо стало больше, либо нет. Поэтому я подкидываю идею интересующимся том, как монитор CO2. За основу взял датчик MH-Z19B, стоит на алике чуть больше штукаря. +Arduino nanoДатчик имеет две конфигурации: замер в диапазоне 0-2000ppm и 0-5000ppm. Я не программист и особо не специалист, поэтому без резких претензий.Статья рассчитана на тех, кто уже программировал Ардуинку. Я разделил проект на 4 уровня сложности, чтобы каждый выбрал что хочет. В конце можно получить вот такой вот логгер, отображающий результат на табло с записью на карту памяти с привязкой к часам реального времени. Ниже про принцип работы датчика. В основе процесса измерения в сенсорах MH-Z лежит принцип оптического измерения содержания определенного газа. В английском языке подобная технология называется Nondispersive infrared, что на русский язык переводится примерно как «недисперсионная инфракрасная технология» или сокращенно NDIR. Наличие IR и то, что сам сенсор используется инфракрасное излучение для анализа воздуха наводит некоторых «специалистов» на то, что в датчике используется PIR (Passive Infrared) технология. Да, в PIR, как и в NDIR, используется инфракрасный свет, а в остальном это две отличных технологий. В NDIR используется две камеры, одна заполнена азотом, а такой газ содержится и в атмосфере нашей планеты. Более того, азота в воздухе, которым мы дышим аж 78%. Кислорода 21%, а углекислого газа всего 1%. Так вот, одна из камер содержит азот, а вторая тот воздух, который подвергается исследованию. Через обе камеры, одновременно пропускается пучок инфракрасного света. Его источником может быть, все что угодно. В подобных устройствах обычно используется полупроводниковый диод, обеспечивающий требуемую длину волны. Если же источник инфракрасного света недостаточно стабилизирован по спектральной характеристике, то применяется оптический фильтр, отсекающий все остальные длины волн. Проходя через обе камеры, световой импульс подвергается рассеиванию на молекулах газа. Во время дисперсии происходит рассеивание (преломление) направленного пучка света и его частичное поглощение молекулами или стенками сенсора. Как правило, в качестве базовой отправной точки используется камера с азотом, а результаты из второй камеры сравниваются с результатами в камере с азотом. В результате прошедший через камеры свет анализируется фотоприемником и вычисляется содержание искомого газа. Следует заметить, что метод весьма точен и мало затратен в плане энергетики, а сам сенсор будет служить, по крайней мере так заявляет производитель, верой и правдой своему хозяину на протяжении ну никак не менее пяти лет. Деградация датчика будет происходить из-за забивания пылью фильтров, изменения спектральных характеристик у излучающего светодиода и деградацией фотоприемника. Но эти процессы небыстрые, поэтому можно считать, что такой датчик будет служить лет десять без видимых ухудшений показаний. Несмотря на то что измерения сенсорами с технологией NDIR точны, могут наблюдаться и некоторые погрешности, особенно при малых концентрациях искомого газа, связанные с наличием в воздухе других газов. Так, у датчиков, используемых для определения CO2 есть некоторые, совсем небольшие, проблемы с H2O (паром), SO2 и NO2. В бытовом применении эти погрешности можно с легкостью скинуть со счетов, но для промышленного применения, где требуется высокая точность, видимо надо изобретать какие- то дополнительные механизмы. И да, когда вы дышите на датчик, стараясь проверить насколько он здорово работает, учтите, что в выдыхаемом вами воздухе содержится изрядное количество водяного пара, который так же окажет влияние на показания. От датчика без индекса B ( просто mh-z19) данный девайс отличает:1. Поддерживает пятивольтовые логические уровни - можно выткать сразу в ардуино.2. Аналоговый выход (0,4-2В по умолчанию, бывает 0-2,5В) Уровень 0 Как говорилось выше, датчик имеет аналоговый выход 0,4-2В. Что это значит? Это значит то, что на этом выходе меняются вольты пропорционально концентрации CO2. Если ваш датчик имеет максимальный предел 5000ppm, то 2 вольта это 5000 ppm, а 0,4 В - это 400 ppm скорее всего, но об этом позже.Vin - подаем +5 вольтCND - земля.Берем тестер, переводим в режим измерения постоянного напряжения,тыкаем плюсовым щупом в Vo, минусовым в GND и радуемся. Уровень 1 Датчик имеет еще выход ШИМ и цифровой. Возьмем цифровой, т.к. он мне больше нравится, хотя выход ШИМ, как пишут, не менее точный. Я нашел готовый код на просторах интернета, поэтому... что объяснять? К каждой строчке я добавил комментарий. Никаких библиотек не надо левых. // Arduino nano. Яварь 2018 //*******настраиваем библиотеку и порты для работы с датчиком CO2*******#include <SoftwareSerial.h> // используем эту библиотеку т.к. CO2 общается по UARTSoftwareSerial mySerial(A0, A1); //указываем куда подключили TX и RX датчика CO2byte cmd[9] = {0xFF,0x01,0x86,0x00,0x00,0x00,0x00,0x00,0x79}; //это надо послать в датчик, чтобы получить ответchar response[9]; // здесь будет хранить ответ от датчика CO2//*******конец настройки датчика CO2******* void setup(){Serial.begin(9600); //это наш монитор портаmySerial.begin(9600); //настраиваем линию UART связи как требует библиотека SoftwareSerial.h} void loop(){mySerial.write(cmd,9); //отправили в датчик команду звпроса измерения концентрации (ppm) СО2 <-работаетбилиотека SoftwareSerial.hmySerial.readBytes(response, 9); // получили ответ в массив response <-работает билиотека SoftwareSerial.hint responseHigh = (byte) response[2]; // надо читать мануал, ответ приходит во втором и третьем битах, второй бит записываем в responseHighint responseLow = (byte) response[3]; // третий бит записываем в responseLowint ppm = (256*responseHigh)+responseLow; // по формуле из мануала конвертируем биты в ppm Serial.println(ppm); // выводим в монитор портаdelay(10000); // хадержка 10 секунд, хотя по документашке надо больше} TX датчика CO2 подключаем на A0 ардуинкиRX датчика CO2 подключаем на А1 ардуинки питать датчик пятью вольтами можно от ардуинки (Vin, GND). Переходим в "Монитор порта" и там видим результат замера. Уровень 2 Смотреть всё время в монитор не очень удобно. Поэтому мы добавим индикатор TM1637 TX датчика CO2 подключаем на A0 ардуинкиRX датчика CO2 подключаем на А1 ардуинки CLK индикатора подключаю на A2 ардуинкиDIO индикатора подключаю на A3 ардуинки Код опять же украден из примеров... Добавил свои комментарии // Arduino nano. Яварь 2018 //*******настраиваем библиотеку и порты для работы с датчиком CO2*******#include <SoftwareSerial.h> // используем эту библиотеку т.к. CO2 общается по UARTSoftwareSerial mySerial(A0, A1); //указываем куда подключили TX и RX датчика CO2byte cmd[9] = {0xFF,0x01,0x86,0x00,0x00,0x00,0x00,0x00,0x79}; //это надо послать в датчик, чтобы получить ответchar response[9]; // здесь будет хранить ответ от датчика CO2//*******конец настройки датчика CO2******* //*******настраиваем библиотеку и порты для работы с индикатором tm1637*******#include <TM1637.h> //подключаем библиотеку с работой индикатора#define CLK A2 //указываем к какому порту ардуино подключили CLK индикатора (можно менять)#define DIO A3 //указываем к какому порту ардуино подключили DIO индикатора (можно менять)TM1637 tm1637(CLK, DIO); //объявляем объект для работы с функциями библиотеки//*******конец настройки индикатора tm1637******* void setup(){Serial.begin(9600); //это наш монитор порта; в ардуино вызываеться Инструменты->Монитор порта mySerial.begin(9600); //настраиваем линию UART связи с датчиком CO2 как требует библиотека SoftwareSerial.h tm1637.init(); // инициализация индикатора tm1637, как требует библиотека TM1637.htm1637.set(5); // установка яркости цифр индикатора, диапазон 0-7, в соответствии с библиотекой TM1637.h } void loop(){mySerial.write(cmd,9); //отправили в датчик команду звпроса измерения концентрации (ppm) СО2 <-работает билиотека SoftwareSerial.hmySerial.readBytes(response, 9); // получили ответ в массив response <-работает билиотека SoftwareSerial.hint responseHigh = (byte) response[2]; // надо читать мануал, ответ приходит во втором и третьем битах, второй бит записываем в responseHighint responseLow = (byte) response[3]; // третий бит записываем в responseLowint ppm = (256*responseHigh)+responseLow; // по формуле из мануала конвертируем биты в ppm tm1637.display(ppm);// вывод ppm СО2 на индикатор tm1637 Serial.println(ppm); // выводим в монитор порта, хотя это уже лишнее.delay(10000); // хадержка 10 секунд, хотя по документашке надо больше здесь понадобиться библиотека TM1637.h которую необходимо скачать, на всякий случай я ее добавил к ссылкам ниже. Уровень 3 Смотреть на табло особо долго тоже не варик, поэтому подключаем модуль карты памяти.На алике я брал такойhttps://ru.aliexpress.com/item/1PCS-Micro-SD-Storage-Expansion-Board-Mciro-SD-TF-Card-Memory-Shield-Module-SPI-For-Arduino/32523546123.htmlКарту нужно форматнуть в FAT или FAT32. Т.е. больше 2 гигов смысла пихать особо и нет.Стандартная библиотека по работе с картами памяти не видела мою карту хоть усрись, в интернете советовали библиотеку SdFat.h - она заработала. Её необходимо скачать, на вяский я ее тоже добавил к ссылкам ниже Короче при запуске проекта на флешке создастся файл ppmlog.txt и туда будут записываться значения ppm. TX датчика CO2 подключаем на A0 ардуинкиRX датчика CO2 подключаем на А1 ардуинки CLK индикатора подключаю на A2 ардуинкиDIO индикатора подключаю на A3 ардуинки MOSI модуля флешкарты на D11MISO модуля флешкарты на D12SCK модуля флешкарты на D13CLK модуля флешкарты на D10 (этот контакт в программе менять можно, остальные нельзя) // Arduino nano. Яварь 2018 //*******настраиваем библиотеку и порты для работы с датчиком CO2*******#include <SoftwareSerial.h> // используем эту библиотеку т.к. CO2 общается по UARTSoftwareSerial mySerial(A0, A1); //указываем куда подключили TX и RX датчика CO2byte cmd[9] = {0xFF,0x01,0x86,0x00,0x00,0x00,0x00,0x00,0x79}; //это надо послать в датчик, чтобы получить ответchar response[9]; // здесь будет хранить ответ от датчика CO2//*******конец настройки датчика CO2******* //*******настраиваем библиотеку и порты для работы с индикатором tm1637*******#include <TM1637.h> //подключаем библиотеку с работой индикатора#define CLK A2 //указываем к какому порту ардуино подключили CLK индикатора (можно менять)#define DIO A3 //указываем к какому порту ардуино подключили DIO индикатора (можно менять)TM1637 tm1637(CLK, DIO); //объявляем объект для работы с функциями библиотеки//*******конец настройки индикатора tm1637******* //*******настраиваем библиотеку и порты для работы с картой памяти*******#include <SPI.h> //подключаем библиотеку для соединения с картой по SPI#include <SdFat.h> //подключаем библиотеку для работы с картой памяти, скачиваем ее.#define SD_CS_PIN SS // SS-это типа контакт D10 на ардуино, его можно менять. Контакт MOSI - D11, MISO - D12,SCK -D13 менять нельзяSdFat SD; //объявляем объект для работы с функциями библиотекиFile myFile; //создание переменной myFile класса File библиотеки SD, которая будет служить "указателем" на файл//*******настраиваем библиотеку и порты для работы с картой памяти******* void setup(){Serial.begin(9600); //это наш монитор порта; mySerial.begin(9600); //настраиваем линию UART связи с датчиком CO2 в соответствии с библиотекой SoftwareSerial.h tm1637.init(); // инициализация индикатора tm1637, в соответствии с библиотекой TM1637.htm1637.set(5); // установка яркости цифр индикатора, диапазон 0-7, в соответствии с библиотекой TM1637.h if (!SD.begin(SD_CS_PIN)) { // чисто для себя посмотреть в мониторе Serial.println("ne vizhu kartu pamyati"); // есть ли связь с картой памяти return; // можно и убрать } // т.к. мы и так увидим значение на табло Serial.println("svyaz s kartoj pamyati est"); // а если карта будет, запишем лог, не будет - лог писаться не будет } void loop(){mySerial.write(cmd,9); //отправили в датчик команду звпроса измерения концентрации (ppm) СО2 <-работает билиотека SoftwareSerial.hmySerial.readBytes(response, 9); // получили ответ в массив response <-работает билиотека SoftwareSerial.hint responseHigh = (byte) response[2]; // надо читать мануал, ответ приходит во втором и третьем битах, второй бит записываем в responseHighint responseLow = (byte) response[3]; // третий бит записываем в responseLowint ppm = (256*responseHigh)+responseLow; // по формуле из мануала конвертируем биты в ppm tm1637.display(ppm); // вывод ppm СО2 на индикатор tm1637 myFile = SD.open("ppmlog.txt", FILE_WRITE); //создаем файл test.txt на флешке if (myFile) { // если файл создался нормально Serial.print("fajl otkryt dlya zapisi "); //выводим в монитор порта "файл открты для записи" myFile.println(ppm); // записываем в файл значение ppm CO2 в соответствии с библиотекой SdFat.h myFile.close(); // закрыть файл, иначе не запишутся данные Serial.println("dannye zapisany "); // пишем в монитор что "данные записаны" } else { //если данные не записались Serial.println("oshibka zapisi v ppplog.txt"); //пишем в монитор "ошибка записи" } Serial.println(ppm); // выводим в монитор портаdelay(10000); // задержка 10 секунд, хотя по документашке надо больше} Теперь мы видим и на табло и записываем на карту памяти + можно посмотреть данные в мониторе порта. Уровень 4 Писать на карту памяти хорошо, но лучше иметь привязку ко времени. Поэтому цепляем модуль часов реального времени. Я покупал такие.https://ru.aliexpres...2572449320.htmlХочу сразу сказать, что в них используется литиевый аккумулятор LIR2032, я сначала спутал с батарейкой подобного плана. Батарейку пихать в модуль нельзя как я понял, т.к. он начнет его заряжать. Но в инете описан способ как это обойти. отпаять пару резисторов и всё. Аккумулятора хватает часа на два... Либо он такой старый либо на самом деле так работает, поэтому автономности я не вижу. Может с батарейкой было бы лучше. TX датчика CO2 подключаем на A0 ардуинкиRX датчика CO2 подключаем на А1 ардуинки CLK индикатора подключаю на A2 ардуинкиDIO индикатора подключаю на A3 ардуинки MOSI модуля флешкарты на D11MISO модуля флешкарты на D12SCK модуля флешкарты на D13CLK модуля флешкарты на D10 (этот контакт в программе менять можно, остальные нельзя) SDA модуля часов на A4SCL модуля часов на А5 (контакты менять нельзя) // Arduino nano. Яварь 2018 //*******настраиваем библиотеку и порты для работы с датчиком CO2*******#include <SoftwareSerial.h> // используем эту библиотеку т.к. CO2 общается по UARTSoftwareSerial mySerial(A0, A1); //указываем куда подключили TX и RX датчика CO2byte cmd[9] = {0xFF,0x01,0x86,0x00,0x00,0x00,0x00,0x00,0x79}; //это надо послать в датчик, чтобы получить ответchar response[9]; // здесь будет хранить ответ от датчика CO2//*******конец настройки датчика CO2******* //*******настраиваем библиотеку и порты для работы с индикатором tm1637*******#include <TM1637.h> //подключаем библиотеку с работой индикатора#define CLK A2 //указываем к какому порту ардуино подключили CLK индикатора (можно менять)#define DIO A3 //указываем к какому порту ардуино подключили DIO индикатора (можно менять)TM1637 tm1637(CLK, DIO); //объявляем объект для работы с функциями библиотеки//*******конец настройки индикатора tm1637******* //*******настраиваем библиотеку и порты для работы с картой памяти*******#include <SPI.h> //подключаем библиотеку для соединения с картой по SPI#include <SdFat.h> //подключаем библиотеку для работы с картой памяти, скачиваем ее.#define SD_CS_PIN SS //SS-это типа контакт D10 на ардуино, его можно менять. Контакт MOSI - D11, MISO - D12,SCK - D13 менять нельзяSdFat SD; //объявляем объект для работы с функциями библиотекиFile myFile; //создание переменной myFile класса File библиотеки SD, которая будет служить "указателем" на файл//*******конец настройки карты памяти******* //*******настраиваем библиотеку и порты для работы с RTC часами реального времени DS1307*******#include <iarduino_RTC.h> //подключили библиотекуiarduino_RTC time(RTC_DS1307); //объявили объект RTC_DS1307//*******конец настройки часов реального времени DS1307******* void setup(){Serial.begin(9600); //это наш монитор порта; в ардуино вызываеться Инструменты->Монитор порта mySerial.begin(9600); //настраиваем линию UART связи с датчиком CO2 в соответствии с библиотекой SoftwareSerial.h tm1637.init(); // инициализация индикатора tm1637, в соответствии с библиотекой TM1637.htm1637.set(5); // установка яркости цифр индикатора, диапазон 0-7, в соответствии с библиотекой TM1637.h time.begin(); if (!SD.begin(SD_CS_PIN)) { // чисто для себя посмотреть в мониторе Serial.println("ne vizhu kartu pamyati"); // есть ли связь с картой памяти return; // можно и убрать (но оставить строчку !SD.begin(SD_CS_PIN)) } // т.к. мы и так увидим значение на табло Serial.println("svyaz s kartoj pamyati est"); // а если карта будет, запишем лог, не будет - лог писаться не будет} void loop(){mySerial.write(cmd,9); //отправили в датчик команду звпроса измерения концентрации (ppm) СО2 <-работает билиотека SoftwareSerial.hmySerial.readBytes(response, 9); // получили ответ в массив response <-работает билиотека SoftwareSerial.hint responseHigh = (byte) response[2]; // надо читать мануал, ответ приходит во втором и третьем битах, второй бит записываем в responseHighint responseLow = (byte) response[3]; // третий бит записываем в responseLowint ppm = (256*responseHigh)+responseLow; // по формуле из мануала конвертируем биты в ppm tm1637.display(ppm);// вывод ppm СО2 на индикатор tm1637 SD.mkdir(time.gettime("d_m_Y")); // функция SD.mkdir библиотеки iarduino_RTC.h создает папку с названием, указанным в скобках. // функция time.gettime("d-m-Y")библиотеки iarduino_RTC.h возващает строку типа "день_месяц_год" // поэтому строчкой кода мы создаем папку с названием день_месяц_год/* Дальше необходимо создать файл txt по адресу папка(день-месяц-год)/ppmlog.txt, но я это делаю по уёбски, т.к. закинуть time.gettimeв функцию создания файла я не смог, как я понял это из-за разных типов данных. Я НЕ ПРОГРАММИСТ, СДЕЛАЛ ЛИШЬ БЫ РАБОТАЛО */ String logg="/ppmlog.txt"; //создаем строчку, в которую записываем текст "/ppmlog.txt"String dataString=time.gettime("d_m_Y")+logg; // создаем строчку dataString в которую запишем день_месяц_год и добавим в нее строчку "/logg.txt"char charBufVar[30]; // создадим массив charBufVar типа chatdataString.toCharArray(charBufVar, 30); // преобразуем строчку dataString типа String в массив charBufVar типа char...myFile = SD.open(charBufVar, FILE_WRITE); // мы создаем тектовой файл по адресу "папка(день-месяц-год)/logg.txt"if (myFile) { // если файл создался нормально Serial.print("fajl otkryt dlya zapisi "); // выводим в монитор порта "файл открты для записи" String ppm_str; //создаем строчку "ppm_str" типа string (кэп) в которую записываем значение ppm, которое находится в формате int. ppm_str=";"+String(ppm); // перед значением ppm (концентрации CO2)добавляем ";" myFile.println(time.gettime("H:i:s")+ppm_str); // записываем в файл ppmlog.txt данные в формате "время;ppm" myFile.close(); // закрыть файл, иначе не запишутся данные Serial.println("dannye zapisany "); // пишем в монитор что "данные записаны" } else { //если данные не записались... Serial.println("oshibka zapisi v pplog.txt"); //пишем в монитор "ошибка записи" } Serial.println(ppm); // выводим в монитор портаdelay(30000); // хадержка 10 секунд, хотя по документашке надо больше} тут немного ошибся в самой последней строке, задержка будет 30 секунд, а не 10.теперь наша система отображает текущий уровень ppm на табло и пишет лог.Файл pplog.txt создатся в папке, название папки находится в формате "день_месяц_год", а в сам файл txt данные записываются в формате "время;ppm" Такой формат очень легко засунуть в иксель и построить график Особенности:1. Перед работой датчику необходимо прогреться 3 минуты. Первое время он показывает херь. 2. У датчика есть автокалибровка. Её суть удручает. Как я понял из форумов, датчик некоторое время меряет ppm CO2 и через определенное время самый низкий измеренный уровень ppm принимает за ноль и работает дальше. В даташите это называется ABC logic. Е е нужно отключить, по ссылке ниже есть скетч "ABS_OFF". Подключаем датчик к ардуинке, загружаем скетч - всё. Ардуина пошлет команду выключить автоклибровку. 3. Калибровка датчика произведена на заводе. Суть ее такая: на свежем воздухе уровень CO2 примерно 400 ppm. Датчик вынесли на улицу - включили калибровку. Можно перекалибровать на своем свежем воздухе, в даташите ищите ZERO POINT CALIBRATION. Т.е. теперь ваш уровень CO2 датчик примет за 400 ppm 4. Как я понял, откалибровать датчик по нулю вообще нельзя. Функциtq SPAIN POINT CALIBRATION можно откалибровать по известному уровню ppm и этот известный уровень должен быть не меньше 1000ppm, а лучше 2000ppm. Почему-то пол-интернета думают что это калибровка абсолютного нуля. 5. Собрал такую херь и поместил на продувку чистейшим азотом. Продувалось часов 8 Показания ниже 350 не падали. 6. Датчик влияет на всякие неясные флюиды. Пишут, что на показания могут колбасить из-за низкого содержания CO2 (хотя на азоте было стабильно 350!) и из-за влажности.Снижу лог, я включил и ушел из квартиры, показания падали. В самом конце небольшой скачок. Это я подошел и сел за стол, на котором лежал датчик. Два выдоха и показания поперли вверх???В выдыхаемом воздухе много воды типа... не дышите на датчик и не поливайте его водой )) Ссылка на скетчи https://yadi.sk/d/jPvhCVWc3RJfkh Изменено 9 января, 2018 пользователем Doomnik Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Mario777 176 Опубликовано 9 января, 2018 Золотые руки? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Doomnik 1,428 Опубликовано 9 января, 2018 Золотые руки?копировать- вставить из интернета)) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Doomnik 1,428 Опубликовано 9 января, 2018 забыл... в скетчах есть файлик time.это настраивать время в модуле часов реального времени.там есть строчка time.settime(0,51,21,27,10,15,2); // 0 сек, 51 мин, 21 час, 27, октября, 2015 года, вторник Правда в моем примере она изменена, я под себя настраивал. Короче понятно что какая цифра обозначает. Пишите что вам надо и загружаете в ардуино, часы при этом подключены. Это всё не я придумал, я лишь нашел. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
BigFatBuds 118 Опубликовано 9 января, 2018 ты узнал ответ на свой вопрос? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Тарки 577 Опубликовано 10 января, 2018 Спасибо за материал. По моему, на изменения показаний при выдохе, больше влияет содержание СО2 в выдыхаемом воздухе. Изменение напряжения на выходе датчика, можно использовать для вкл/выкл увлажнителя, конечно не на прямую, а через компаратор. Регулируя порог срабатывания компаратора, будет поддерживаться необходимая влажность в помещении. Возможно эту функция реализуема и с помощью ардуино, но я не имел с ним дела, да и больше шарю в аналоговой схемотехнике. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Aspid 3,548 Опубликовано 10 января, 2018 Господа просветите зачем столько ебли? да еще стоя в гамаке Ведь хороший сорт даст хороший и качественный урожай при правильном кормлении и освещении! И есть ли реальные данные на сколько CO2 увеличит или там усилит :hz: урожай?Имхо, если речь только об увеличении V урожая, то дополнительный CO2 лишний , если увеличивает концентрацию тгк и других терпенов(что оч маловероятно), то да смысл есть. Был бы интересен реальный опыт в данной области гровинга Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
borroo 7,949 Опубликовано 10 января, 2018 20-30% для С3 растений прирост к урожаю. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Гость Hеisenberg Опубликовано 10 января, 2018 +20% урожая и +50% гемороя. :lol: Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
san4ez 27,772 Опубликовано 10 января, 2018 Жаль что не было замеров с самопальнымы генами цэодваБражники были бы огорчены очевидным. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Doomnik 1,428 Опубликовано 11 января, 2018 Господа просветите зачем столько ебли? да еще стоя в гамаке как-то мыслите однобоко... Я тоже считаю, что в нормальном боксе CO2 лишний, но есть много других мелких случаев, которые имею место быть.Ты гровишь на балконе зимой... Вентиляция противопоказана т.к. забор холодного воздуха всё мыморозит. делай герметичный бокс, пускай CO2, днат вместо обогревателя днем. Гровинг в системнике а-ля стелс. Если вентилятор палит,то тоже можно запускать СO2.. Правда надо придумать как обеспечивать герметичность и так далее. Правда для того чтобы работал CO2, необходимо нужное количество света вроде как... ты узнал ответ на свой вопрос?нет. я лишь хотел дать в руки инструмент тем, кто интересуется. Жаль что не было замеров с самопальнымы генами цэодваБражники были бы огорчены очевидным.надо еще уметь правильно применять. Если твой гроубокс вентилируется вентом на 300 кубов, то здесь и от баллона толка мало будет. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
san4ez 27,772 Опубликовано 11 января, 2018 Золотые слова Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
borroo 7,949 Опубликовано 13 января, 2018 +20% урожая и +50% гемороя. :lol:От размеров хозяйства зависит,тепличный комбинат у тебя или гроубокс.Если бокс в жилом помещении,то смысла делать подачу СО2 наверное нет,в руме или в боксе в нежилой комнате надо кондиционеры и осушители ставить,с 1,2х1,2 м2 шестисоткой больше 10 л растения испаряют,надо эту воду убирать из атмосферы. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Гость Hеisenberg Опубликовано 13 января, 2018 От размеров хозяйства зависит,тепличный комбинат у тебя или гроубокс.Ну комбинатов у местной публики точно нет, а в домашнем грове применять со2 с пользой оооочень геморно, не стоит оно того.в руме или в боксе в нежилой комнате надо кондиционеры и осушители ставить,с 1,2х1,2 м2 шестисоткой больше 10 л растения испаряют,надо эту воду убирать из атмосферы.А ночью обеспечивать проветривание. На счет 50% гемора я слукавил, тут все 146%. :lol: Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
LaoLung 10,968 Опубликовано 13 января, 2018 А если с СО2 что то пойдёт не так, можно запросто отправиться в страну вечной охоты... Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
san4ez 27,772 Опубликовано 13 января, 2018 Зато мирно, спокойно, во сне Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Duzer 153 Опубликовано 16 января, 2018 Да бред Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
LaoLung 10,968 Опубликовано 16 января, 2018 Чего бред? То что от углекислого газа можно ласты завернуть? М-даааа.... Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Doomnik 1,428 Опубликовано 16 января, 2018 (изменено) Чего бред? То что от углекислого газа можно ласты завернуть? М-даааа....двинуть можно... в теорииCO2 тяжелее воздуха, значит он оседает вниз. В 40-литровом баллоне 6 кубов. Ты даже до колен свою комнату не заполнишь (при условии, что она герметична), не говоря уже о бутылке с бражкой. Изменено 16 января, 2018 пользователем Doomnik Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
borroo 7,949 Опубликовано 16 января, 2018 Он не оседает вниз,углекислый газ только собранный можно как жидкость из сосуда в сосуд "переливать",но недолго,он с атмосферой быстро перемешается,броуновское движение не даст ему осесть. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Doomnik 1,428 Опубликовано 16 января, 2018 (изменено) Он не оседает вниз,углекислый газ только собранный можно как жидкость из сосуда в сосуд "переливать",но недолго,он с атмосферой быстро перемешается,броуновское движение не даст ему осесть.я знаю это. я идеализировал для понимания. полохеет если в воздухе 50% CO2... т.е. баллон можно выпустить на 12 кубах. Высота потолка 2,5 м, значит комната должна быть не меньше 2 на 2,5 м. Опять же это если выпустил весь баллон. корочое сложно коней двинуть. Можно сказать, что некоторые получают CO2 путем сгорания, но там проблема в том, что получается не только CO2, но и CO. Поэтому коней двигаешь от угарного газа. Но мы здесь вроде о браге говорили. Изменено 16 января, 2018 пользователем Doomnik Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
LaoLung 10,968 Опубликовано 16 января, 2018 Попробуй ))) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
borroo 7,949 Опубликовано 16 января, 2018 (изменено) Да нет,углекислый газ вызывает паралич дыхания,угарный не при чем.Там от концентрации зависит,может паралич дыхания вызвать,может дыхание стимулировать наоборот(при искусственном дыхании) может наркотическое действие оказыватьhttp://www.f-med.ru/...gia/ugl_gaz.php Изменено 16 января, 2018 пользователем borroo Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Doomnik 1,428 Опубликовано 16 января, 2018 Попробуй )))что именно, подышать из бутылки с бражкой? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Doomnik 1,428 Опубликовано 16 января, 2018 Да нет,углекислый газ вызывает паралич дыхания,угарный не при чем.Там от концентрации зависит,может паралич дыхания вызвать,может дыхание стимулировать наоборот(при искусственном дыхании) может наркотическое действие оказыватьhttp://www.f-med.ru/...gia/ugl_gaz.phpДа я просто говорю, что при сгорании еще и угарный добавляется. + к вредному воздействию.3% и удушье... хм... тогда если выпустить 40 литров и баллона то можно двинуть. Открыть баллон, закрыть двери и лечь уснуть. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Гость Hеisenberg Опубликовано 16 января, 2018 (изменено) Смотря что сжигать. Газ жги, там только со2, без угарного. Газовую горелку с автоподжигом к датчику приспособить, самый удобный способ добычи углекислоты. Если газ магистральный отпадает надобность постоянно таскать баллоны на заправку. Изменено 16 января, 2018 пользователем Hеisenberg Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
LaoLung 10,968 Опубликовано 17 января, 2018 что именно, подышать из бутылки с бражкой?я знаю это. я идеализировал для понимания. полохеет если в воздухе 50% CO2... т.е. баллон можно выпустить на 12 кубах. Высота потолка 2,5 м, значит комната должна быть не меньше 2 на 2,5 м. Опять же это если выпустил весь баллон. корочое сложно коней двинуть. Можно сказать, что некоторые получают CO2 путем сгорания, но там проблема в том, что получается не только CO2, но и CO. Поэтому коней двигаешь от угарного газа. Но мы здесь вроде о браге говорили.Баллон с СО2 в комнате поставь и вентиль открой :lol2: ... Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Doomnik 1,428 Опубликовано 17 января, 2018 (изменено) Смотря что сжигать. Газ жги, там только со2, без угарного.при сгорании будет образовываться CO2 в случае достаточного количества кислорода, если его мало, будет образовываться CO.Вряд ли кто-то будет проветривать помещение во время сгорания. Изменено 17 января, 2018 пользователем Doomnik Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
morzh44 0 Опубликовано 16 февраля, 2018 Из курса школьной химии помним, что пищевая сода – это натрий двууглекислый или бикарбонат натрия илиNaHCO3.Чтобы узнать химическую формулу уксуса (уксусной кислоты) обратимся к органической химии. Это слабая, предельная одноосновная карбоновая кислота с формулой CH3-COOH.Итак, сода по классу химических веществ – кислая соль. Уксус – кислота.Так как кислотный остаток уксуса сильнее, он замещает кислотный остаток в соде, образуя ацетат натрия (CH3COONa). Реакция протекает с выделением углекислого газа (СО2) и воды (H2O) и выглядит следующим образом:NaHCO3 + CH3COOH → NaCH3COO + H2O + CO2 ацетат натрия растворим в воде, поэтому мы не видим твердого осадка. Он известен как пищевая добавкаЕ262 и применяется как консервант.Вода остается в бутылке, а углекислый газ начинает заполняет пространство над жидкостью. Газ имеет гораздо меньшую плотность, чем жидкость или твердое вещество, следовательно, объем при одинаковой исходной массе в разы превышает исходный. Тут можно вспомнить пар от кипящей воды. Плотность воды при температуре 99 С почти в 2000 раз выше плотности пара.Итак, газ, выделяющийся в процессе реакции, постепенно заполняет все пространство и, не помещаясь в заданном объеме, начинает давить на стенки шарика. Резина растягивается, шарик надувается.Кстати, эффект от этой реакции используют в кулинарии. Разрыхлители теста основаны именно на этом. Тесто становится “воздушным” благодаря молекулам углекислого газа, выделяющимся при контакте сухой смеси реактивов с жидкостью. Нашёл в и-нете. Есть кто пробовал? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Doomnik 1,428 Опубликовано 5 января, 2019 кстати нашел статью о том, что датчик надо питать отдельно от ардуинки, тогда показания скакать не будут. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты