Перейти до публікації
Пошук в
  • Додатково...
Шукати результати, які містять...
Шукати результати в...

FHBQ-D* RS485 CO2

fim

Рекомендовані повідомлення

А отключить автокалибровку нельзя?

 

можно и через веб интерфейс, и программно

 

в целом есть три варианта/инструмента:

  1. Normal (ABC enable) - программно и/или через веб интерфейс
  2. ABC disable - программно и/или через веб интерфейс
  3. мануальная калибровка (выйти на улицу и по чистому/уличному воздуху откалибровать, нажав соответствующую кнопочку)

 

последнее имхо - режим раба собственной автоматики:) и как постоянный способ калибровки не рассматривается

 

т.е. есть желание при помощи первых двух инструментов найти оптимальную комбинацию для условия постоянного проживании людей

где в чистом виде (без комбинирования):

  1. в первом варианте (Normal (ABC enable) будет ежедневное "вранье", т.к. происходит ежедневная каллибровка по мин значению, которое не всегда равно 400ррм (подробно я это явление описал постом ранее)
  2. во втором варианте, если отключить автокалибровку (перевести датчик в режим ABC disable), то ежедневная автокалибровка будет отключена, но... будет происходить "дрейф нуля" и через какое то длительное время показания датчика станут некорректными
    при этом в течении месяца погрешность будет минимально допустимой

 

короче, пока мне кажется оптимальным: для зон вентилирования прописать дополнительный паттерн день/ночь

и один раз в месяц:

  • включать автокалибровку на 24часа (Normal (ABC enable))
  • для зоны с паттерном "ночь" (спальня) днем проветривать до показания <= 400 ppm и удержать этот показатель некоторое время
  • для зоны с паттерном "день" ночью проветривать до показания <= 400 ppm и удержать этот показатель некоторое время
  • выключать автокалибровку через 24часа или вкл ABC disable

 

суть этого предложения в том, чтобы, раз в месяц, внутреннему алгоритму датчика Normal (ABC enable) скормить действительно 400ррм, на не просто мин значения за день

таким образом откалибровать датчики по чистому воздуху 400ррм, а затем работать без ежедневной автокалибровки

и так каждый месяц

 

проветривать до показания <= 400 ppm и удержать этот показатель некоторое время - эту процедуру нужно проводить толко тогда, когда в зоне нет людей, иначе это бесполезно

 

вопрос открытый и дискутивный!

я частично об этом писал здесь (после слов "а теперь нужна помощь зал")

 

UPD

в принципе по динамике со2 можно определять есть ли люди в зоне вентилирования или нет

и например, когда люди на работе, в школе, етс, можно проводить описанный выше способ калибровки в момент их отсутствия (раз в месяц)

т.е. днем, т.к. зимой по причине наличия амплитуды уличной температуры это будет более энергоэффекитивно:rolleyes:

  • Лайк 3
Посилання на коментар
Поділитися на інших сайтах

как бы готов модуль расчета рабочей точки и определением объемов по зонам, калькулятор с веб визуализацией (работает для разных топологий сетей)

остается модуль калибровки

а альтернативных предложений алгоритма калибровки (кроме описанного постом ранее) нет... жаль

Посилання на коментар
Поділитися на інших сайтах

как бы готов модуль расчета рабочей точки и определением объемов по зонам, калькулятор с веб визуализацией (работает для разных топологий сетей)

предыдущие видео удалил из-за оговорок и ошибок

записал новое видео

если включить ускорение воспроизведения до 1,5 или 2 то... имхо не скучно:)

  • Лайк 1
Посилання на коментар
Поділитися на інших сайтах

  • 3 тижні потому...

немного о поливе

код - 2 файла по 50 строк:)

дабы не плодить новых тем, коротко в продолжение о поливе

 

полив обкатал в поле

 

 

 

изменил свой код, т.к.

на моей малинке все gpio, были заняты и она (малинка) находится далеко от оптимального местоположения автоматики

т.е. у меня работает по схеме малинка - роутер - репитер - esp gpio - реле - клапана

но немного поправив код и... теперь его можно использовать в виде малинка gpio -реле - клапана и/или с esp

код здесь github.com/sdfim/watering

 

в файле формата json прописаны данные о зонах:

gpio

если есть ip_esp, то это gpio esp, если нет, то малинки

целевая норма полива в мм/м2

и время (час) с которого заполняется таймер (например 23 - для использования ночного тарифа)

 

далее читается json прогноза погоды (от openweathermap) и конкретно осадки в мм/м2

сравниваются с уставкой и если нужно (уставка выше осадков) заполняется последовательно таймер для зон

далее каждые 15 мин проверяется таймер и если время включения полива он включается и/или наоборот

 

я никого ни к чему не призываю, а просто привел пример как можно поступить с поливом (у меня уже была малинка), не используя вендорную автоматику

по клапанам для полива имхо Hunter - оптимальный вариант

автоматика в сравнении:

 

вендорная:

Контроллер Hunter PHC 601-E - 7 232,06 грн.

Контроллер Hunter X-Core 601i-E - 1 991,44 грн.

всего 9223,5 грн.

имеем: полив по погоде (прогнозу осадков) и целевой уставке полива, 6 зон

 

альтернатива:

минимальный набор (у кого еще нет raspberry pi, orange pi, етс)

orange pi - 525 грн.

блок реле 16-ти канальный - 270 грн.

всего 795 грн.

имеем: полив по погоде (прогнозу осадков) и целевой уставке полива, 16 зон, маштабируемость: добавление gpio/релюх/клапанов (при помощи esp, etc), простой рефакторинг,..

 

естественно, кому лень вникать или не интересно, или нет времени, то может альтернативная автоматикика и не нужна

на сейчас таких большенстнво, но жизнь меняется и без знамия языков программирования дальше будет сложнее, если не нам, то нашим детям

учитывая мой минимальный опыт автоматизации "умного дома", для меня это было не сложно, так почему бы нет?

 

зы вспомнилось, мне пару лет назад тут говорили, что использование прогноза погоды для автоматики - бред)

  • Лайк 5
Посилання на коментар
Поділитися на інших сайтах

зы вспомнилось, мне пару лет назад тут говорили, что использование прогноза погоды для автоматики - бред)

Использую прогноз для полива и вентиляции (от замерзания рекуператора).

API "openweathermap".

AI1 - вход тек.прогноза

Если меньше/равно "6", то не поливаем. В полночь сброс и заново определение. В холодное время, естественно отключено. Или же добавлю условие по температуре дополнительно. Это будет правильнее.

1851722828_.JPG.1c1af754c20cf5d76178a374455cbe70.JPG

  • Лайк 1
Посилання на коментар
Поділитися на інших сайтах

и как точность? Я так понимаю есть уже "статистика"

Я не записывал факт по датам. Но когда проверял, то совпадало. Скажем, по тем наблюдениям, 90%.

Мне сейчас сложно судить, так как проживание периодическое или наезды. На постоянке заведу табличку и проанализирую.

Посилання на коментар
Поділитися на інших сайтах

Скажем, по тем наблюдениям, 90%.

ну 90% это уровень, я все порываюсь в опенхаб завести но не было уверенности в адекватности результатов. 90 надо делать )

Посилання на коментар
Поділитися на інших сайтах

Использую прогноз для полива и вентиляции (от замерзания рекуператора).

API "openweathermap".

AI1 - вход тек.прогноза

Если меньше/равно "6", то не поливаем. В полночь сброс и заново определение. В холодное время, естественно отключено. Или же добавлю условие по температуре дополнительно. Это будет правильнее.

вот кусок json (api.openweathermap.org/data/2.5/forecast?q=Kiev&APPID=your_api_key&units=metric), который я получаю:

 

{
 "cod": "200",
 "message": 0.0097,
 "cnt": 40,
 "list": [
   {
     "dt": 1562014800,
     "main": {
       "temp": 22.27,
       "temp_min": 22.27,
       "temp_max": 26.16,
       "pressure": 1009.12,
       "sea_level": 1009.12,
       "grnd_level": 993.65,
       "humidity": 73,
       "temp_kf": -3.9
     },
     "weather": [
       {
         "id": 804,
         "main": "Clouds",
         "description": "overcast clouds",
         "icon": "04n"
       }
     ],
     "clouds": {
       "all": 97
     },
     "wind": {
       "speed": 2.98,
       "deg": 261.321
     },
     "sys": {
       "pod": "n"
     },
     "dt_txt": "2019-07-01 21:00:00"
   },
   {
     "dt": 1562025600,
     "main": {
       "temp": 21.43,
       "temp_min": 21.43,
       "temp_max": 24.35,
       "pressure": 1010.05,
       "sea_level": 1010.05,
       "grnd_level": 993.92,
       "humidity": 81,
       "temp_kf": -2.92
     },
     "weather": [
       {
         "id": 500,
         "main": "Rain",
         "description": "light rain",
         "icon": "10n"
       }
     ],
     "clouds": {
       "all": 90
     },
     "wind": {
       "speed": 3.49,
       "deg": 255.553
     },
     "rain": {
       "3h": 0.124
     },
     "sys": {
       "pod": "n"
     },
     "dt_txt": "2019-07-02 00:00:00"
   },
   {
     "dt": 1562036400,
     "main": {
       "temp": 21.13,
       "temp_min": 21.13,
       "temp_max": 23.08,
       "pressure": 1009.52,
       "sea_level": 1009.52,
       "grnd_level": 993.21,
       "humidity": 85,
       "temp_kf": -1.95
     },
     "weather": [
       {
         "id": 500,
         "main": "Rain",
         "description": "light rain",
         "icon": "10d"
       }
     ],
     "clouds": {
       "all": 73
     },
     "wind": {
       "speed": 2.51,
       "deg": 328.198
     },
     "rain": {
       "3h": 0.812
     },
     "sys": {
       "pod": "d"
     },
     "dt_txt": "2019-07-02 03:00:00"
   },
   {
     "dt": 1562047200,
     "main": {
       "temp": 22.19,
       "temp_min": 22.19,
       "temp_max": 23.16,
       "pressure": 1010.13,
       "sea_level": 1010.13,
       "grnd_level": 994.44,
       "humidity": 71,
       "temp_kf": -0.97
     },
     "weather": [
       {
         "id": 500,
         "main": "Rain",
         "description": "light rain",
         "icon": "10d"
       }
     ],
     "clouds": {
       "all": 70
     },
     "wind": {
       "speed": 3.54,
       "deg": 7.541
     },
     "rain": {
       "3h": 2.876
     },
     "sys": {
       "pod": "d"
     },
     "dt_txt": "2019-07-02 06:00:00"
   },
   {
     "dt": 1562058000,
     "main": {
       "temp": 23.45,
       "temp_min": 23.45,
       "temp_max": 23.45,
       "pressure": 1010.42,
       "sea_level": 1010.42,
       "grnd_level": 994.77,
       "humidity": 68,
       "temp_kf": 0
     },
     "weather": [
       {
         "id": 500,
         "main": "Rain",
         "description": "light rain",
         "icon": "10d"
       }
     ],
     "clouds": {
       "all": 58
     },
     "wind": {
       "speed": 2.05,
       "deg": 341.777
     },
     "rain": {
       "3h": 0.75
     },
     "sys": {
       "pod": "d"
     },
     "dt_txt": "2019-07-02 09:00:00"
   },
   {
     "dt": 1562068800,
     "main": {
       "temp": 27.05,
       "temp_min": 27.05,
       "temp_max": 27.05,
       "pressure": 1010.36,
       "sea_level": 1010.36,
       "grnd_level": 994.62,
       "humidity": 53,
       "temp_kf": 0
     },
     "weather": [
       {
         "id": 500,
         "main": "Rain",
         "description": "light rain",
         "icon": "10d"
       }
     ],
     "clouds": {
       "all": 56
     },
     "wind": {
       "speed": 3.35,
       "deg": 307.489
     },
     "rain": {
       "3h": 0.125
     },
     "sys": {
       "pod": "d"
     },
     "dt_txt": "2019-07-02 12:00:00"
   },

 

т.е. на каждые 3 часа идут данные:

{
     "dt": 1562068800,
     "main": {
       "temp": 27.05,
       "temp_min": 27.05,
       "temp_max": 27.05,
       "pressure": 1010.36,
       "sea_level": 1010.36,
       "grnd_level": 994.62,
       "humidity": 53,
       "temp_kf": 0
     },
     "weather": [
       {
         "id": 500,
         "main": "Rain",
         "description": "light rain",
         "icon": "10d"
       }
     ],
     "clouds": {
       "all": 56
     },
     "wind": {
       "speed": 3.35,
       "deg": 307.489
     },
     "rain": {
       "3h": 0.125
     },
     "sys": {
       "pod": "d"
     },
     "dt_txt": "2019-07-02 12:00:00"
   },

где "rain": {"3h": 0.125 }, в данном случае и есть осадки за 3 часа (если они по прогнозу будут) в мм/м2 (это я в описании где-то, когда-то вычитал, транслирую по памяти))

в скрипте суммируются эти данные за сутки (стр 55-57)

просто не совсем понял, что вы парсите/читаете для определения уровня осадков? какой ключ/параметр? JSON или XML (по идее там должны быть одинаковые данные)

 

и как точность? Я так понимаю есть уже "статистика"

у меня пишется статистика (использую прогноз по температуре для оптимизации отопления по ночному тарифу, ну а статистика пишется прицепом))

по температуре выглядит так (раньше считал коэффициент корреляции), затем забил)

 

attachment.php?attachmentid=663420&d=1562015863

 

голубой - openweather

черный - синоптик.юа

оранжевый - факт

все среднесуточные

по осадкам... естественно данных нет

синоптик точнее (по температуре), но openweather имхо не критично по точности, зато он проще в использовании - сразу готовый объект данных (json)

weather.thumb.png.71ee58d65891e4834608f4c05e2371bc.png

  • Лайк 1
Посилання на коментар
Поділитися на інших сайтах

суть этого предложения в том, чтобы, раз в месяц, внутреннему алгоритму датчика Normal (ABC enable) скормить действительно 400ррм, на не просто мин значения за день

таким образом откалибровать датчики по чистому воздуху 400ррм, а затем работать без ежедневной автокалибровки

и так каждый месяц

итак в течении месяца датчики СО2 были в состоянии ABC disable (автокалибровка ежедневная была отключена)

по истечению месяца включаю состояние ABC enable (автокалибровка ежедневная включена)

в доме 400ррм, т.е. идет автокалибровка по чистому воздуху

смотрим в цифрах величину дрейф нуля

 

attachment.php?attachmentid=663431&d=1562055850

 

эта величина находится в диапазоне от 50 до 77ррм

для датчика точность которого +-50ррм - имхо не плохо

считаю такой подход приемлемым:rolleyes: и можно формализовать в код

 

"id": 804,

Подсчет уровня осадков еще впереди.

openweathermap.org/weather-conditions

группа данных объекта с ключем "weather" (в т.ч. "id": 804) имхо больше подходит для построения визуализации и/или классификации осадков (снег, дождь, етс), но для полива это же не критично

а ключ "rain" прямо указывает на мм/м2 осадков, которые удобно сравнивать с уставкой пользователя для конкретной зоны полива (для разных зон могут ведь быть разные уставки в мм/м2) и на основании этого определять временной интервал включения как по длительности, так и по времени включения/отключения

сезонное вкл/выкл автоматики полива, если делать автоматически, а не в ручную, то можно сделать и по температуре воздуха

abc_co2.thumb.png.ece123a054235e98d57e341c3d008424.png

  • Лайк 1
Посилання на коментар
Поділитися на інших сайтах

  • 1 місяць потому...
Добрый день. А можно более подробно описать как подлючить рекуператор к шине RS 485?
Посилання на коментар
Поділитися на інших сайтах

Добрый день. А можно более подробно описать как подлючить рекуператор к шине RS 485?

 

 

68767192_2467972466594761_7698148610818441216_n.jpg?_nc_cat=107&_nc_oc=AQlvfr464DRPUBqfQdafas7guQuOq-Yv17pGQ7RuDRM1hjqx1hTNg72o90-A_Lqfc8c&_nc_ht=scontent.fhrk3-1.fna&oh=29a44960ab3f983fae0c3b2310b9b382&oe=5DE2B5A3

Посилання на коментар
Поділитися на інших сайтах

Добрый день. А можно более подробно описать как подлючить рекуператор к шине RS 485?

я подключил так

raspberry -> usb-rs485 конвертер -> контакты A B панели управления

 

attachment.php?attachmentid=668275&d=1566142871

1496632627__.png.0741acebfe3abf57e4a0a05cabe950dd.png

  • Лайк 1
Посилання на коментар
Поділитися на інших сайтах

Вот фото моего пульта, там штырьки А и В. К ним присоеденять надо?

 

нет

на плате управления есть разметка 12V, A, B, GND

board_1.thumb.jpg.f9a4134dc1b0681b3abb22e290acce89.jpg

я по цвету проводов отследил A, B и к ним припаялся на плате панели управления

т.е. к 2-м из 4х контактного разъема у вас на фото

 

можете конечно попробовать и к 2х контактному разъему, но... тогда мой код нужно допиливать на предмет активации нового юнита и постоянной работе на шине

а поскольку стандарт протокола я не нашел, то...

мой код, как есть, просто вставляет телеграмму раньше вендорной панели (для изменения скорости) и/или читает текущий статус (вкл/выкл, скорость, байпас, етс)

  • Лайк 1
Посилання на коментар
Поділитися на інших сайтах

  • 3 тижні потому...
итак в течении месяца датчики СО2 были в состоянии ABC disable (автокалибровка ежедневная была отключена)

по истечению месяца включаю состояние ABC enable (автокалибровка ежедневная включена)

в доме 400ррм, т.е. идет автокалибровка по чистому воздуху

смотрим в цифрах величину дрейф нуля

 

attachment.php?attachmentid=663431&d=1562055850

 

эта величина находится в диапазоне от 50 до 77ррм

для датчика точность которого +-50ррм - имхо не плохо

 

теперь 2 месяца без калибровки, опаскаем со2 до уровня ~400ррм, делаем автокалибровку, смотрим дрейф нуля

эта величина находится в диапазоне от 50 до 80ррм - :good:

 

attachment.php?attachmentid=670110&d=1567846404

abc_09_2.thumb.png.466bce78049cfa2c5cdf6f2ca4319286.png

  • Лайк 1
Посилання на коментар
Поділитися на інших сайтах

  • 3 тижні потому...

Добрый день.

 

А как Вы к такой заслонке механически присоединили такой сервопривод?

IMG_20190922_174933.thumb.jpg.4f6d6bf0ee91afb9422ad8f348bdd7f9.jpg

IMG_20190922_181353.thumb.jpg.4436dc841a23ec1ceae2f396ac350060.jpg

  • Лайк 1
Посилання на коментар
Поділитися на інших сайтах

Добрый день.

 

А как Вы к такой заслонке механически присоединили такой сервопривод?

 

:unknown: надеюсь, будет понятно

servo.thumb.png.25c3e3fe50a8afe799374d462538545e.png

servo2.thumb.png.44ee90541afbc6acf36b8873944c5e0a.png

 

зы а с протоколом рекуператора получилось?

  • Лайк 1
Посилання на коментар
Поділитися на інших сайтах

зы а с протоколом рекуператора получилось?

Спасибо.

Протокол зимой буду пробовать)

Посилання на коментар
Поділитися на інших сайтах

вентиляция - одни из ключевых моментов в т.ч. и для реализации парной (сауна, баня, хамам, етс)

короче, я со своими расчетами/рассуждениями добрался и до парных:)

Посилання на коментар
Поділитися на інших сайтах

  • 4 місяці потому...

наконец то установил постнагрев в виде вентовского ОКВ 400х200-3, который стал на место глушителя

 

 

attachment.php?attachmentid=683676&d=1581931771

 

водяная часть теплообменника запитана от бочки СО в которой ГТН поддерживает погодозависимый теплоноситель (зимой) и летом т.к. используется пассивное охлаждение, то в теплообиенник будет работать в режиме охладителя/осушителя

 

кпд моего рекуператора 60-75%, т.е. довольно низкое, часть труб/воздуховодов, которые ведут к спальням, проходит по неотапливаемой зоне и уже при Тулицы около 0С из вентиляции выходил довольно таки прохладный воздух 13-15С

чтобы это нивелировать я использую (использовал) камин с системой хранения тепла (гипокауст или емкий дымовые каналы) с каминным вентилятором

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

но такой способ имеет недостатки - температура приточного воздуха в течении сна/ночи может колебаться от 27С до тех же 13С под утро, да и запахи от камина бывают попадают в вентиляцию. при такой системе подогрева нужно буквально угадать закладку от погоды, чтобы не перетопить... и все равно сначала будет более жаркий воздух, а под утро прохладный

 

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

теперь с камина снимается функция подогрева вентиляции)

 

 

attachment.php?attachmentid=683677&d=1581931797

 

на графике

 

out1 - температура на улице (чистый воздух)

room1 - температура в доме (грязный/вытяжной воздух)

room2 - температура подачи в дом после рекуператора (чистый воздух без постнагрева)

room22 - температура подачи в дом после рекуператора и постнагрева (чистый воздух)

 

рекуператор находится в полуподвальном помещении с температурой около 10С, поэтому во время простоя показания температуры (на графике) room1 стремятся к этой температуре (10С)

все температурные датчики - ds18b20 через отверстия вставлены в вентканалы и находятся рядом с рекуператором

только датчик room22 - накладной, поэтому его показания на 1-1.2С выше реальных (имхо)

6289374_.thumb.jpg.3723b90e3a84cf864f543857a4c45a01.jpg

1773432218_.png.46cc258e83c09424bfb08f0167a34e73.png

  • Лайк 7
Посилання на коментар
Поділитися на інших сайтах

водяная часть теплообменника запитана от бочки СО в которой ГТН поддерживает погодозависимый теплоноситель (зимой) и летом т.к. используется пассивное охлаждение, то в теплообиенник будет работать в режиме охладителя/осушителя

З нагрівом все зрозуміло, але режим охолодження і осушення трохи вимогливий, і якщо не вгадати з параметрами то можна отримати зволожене, а не осушене повітря. Як плануєте керувати процесом конденсації?

Посилання на коментар
Поділитися на інших сайтах

Створіть акаунт або увійдіть у нього для коментування

Ви маєте бути користувачем, щоб залишити коментар

Створити акаунт

Зареєструйтеся для отримання акаунта. Це просто!

Зареєструвати акаунт

Увійти

Вже зареєстровані? Увійдіть тут.

Увійти зараз
×
×
  • Створити...