# Подбор оборудования для автополива

**URL:** <https://support.wirenboard.com/t/podbor-oborudovaniya-dlya-avtopoliva/14741>\
**Category:** Подбор оборудования\
**Created:** [April 2, 2023, 7:59pm UTC](https://support.wirenboard.com/t/podbor-oborudovaniya-dlya-avtopoliva/14741 "2023-04-02T19:59:05Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![vmarkov](https://support.wirenboard.com/user_avatar/support.wirenboard.com/vmarkov/32/14289_2.png) [@vmarkov](https://support.wirenboard.com/u/vmarkov)\
**Post date:** [April 2, 2023, 7:59pm UTC](https://support.wirenboard.com/t/podbor-oborudovaniya-dlya-avtopoliva/14741/1 "2023-04-02T19:59:05Z")

</div>

Добрый день.  
По просьбе супруги автоматизирую оранжерею. Требуется система автополива.  
В ветке по подбору оборудования для теплиц:

> [@Помогите пожалуйста с подбором и настройкой оборудования для теплиц](https://support.wirenboard.com/t/pomogite-pozhalujsta-s-podborom-i-nastrojkoj-oborudovaniya-dlya-teplicz/5354):
>
> Здравствуйте. Мы занимаемся разработкой светильников и сопутствующего оборудования. Нашим новым направлением является разработка стеллажных систем для выращивания растений с элементами автоматизации. На данный момент у нас есть готовый стеллаж на 4 полки, диммируемые источники питания и насос. Задача: Контроль параметров: температуры, влажности, СО2, освещённости, влажность грунта ( [https://3d-diy.ru/wiki/arduino-datchiki/datchik-vlazhnosti-pochvy-arduino/](https://3d-diy.ru/wiki/arduino-datchiki/datchik-vlazhnosti-pochvy-arduino/)). Регулировка и выполнение сценария р…

Вы давали ссылку на сайт с датчиком влажности почвы:

> **[Датчик влажности почвы: описание, подключение, схема, характеристики | ВИКИ](https://3d-diy.ru/wiki/arduino-datchiki/datchik-vlazhnosti-pochvy-arduino/)**
>
> Модуль влажности почвы предназначен для определения влажности земли, в которую он погружен. Он позволяет узнать о недостаточном или избыточном поливе ваших домашних или садовых растений.

Закупился такими датчиками на Али, подскажите как можно снимать показания с данного датчика?  
Также подскажите, с помощью каких реле лучше всего управлять несколькими насосами типа:  
[https://aliexpress.ru/item/32907138292.html?spm=a2g2w.orderdetail.0.0.61ab4aa6NbtNDO&sku\_id=65880177584](https://aliexpress.ru/item/32907138292.html?spm=a2g2w.orderdetail.0.0.61ab4aa6NbtNDO&sku_id=65880177584)

---

<div class="post-metadata">

**Author:** ![Aleksandr\_Grishanovi](https://support.wirenboard.com/user_avatar/support.wirenboard.com/aleksandr_grishanovi/32/22111_2.png) [@Aleksandr\_Grishanovi](https://support.wirenboard.com/u/Aleksandr_Grishanovi)\
**Post date:** [April 3, 2023, 6:10am UTC](https://support.wirenboard.com/t/podbor-oborudovaniya-dlya-avtopoliva/14741/2 "2023-04-03T06:10:40Z")

</div>

Здравствуйте. В то время, когда мы использовали датчики влажности почвы, мы использовали вот такие:

> [@Помогите пожалуйста с подбором и настройкой оборудования для теплиц](https://support.wirenboard.com/t/pomogite-pozhalujsta-s-podborom-i-nastrojkoj-oborudovaniya-dlya-teplicz/5354/276):
>
> Здравствуйте. Взгляните пожалуйста на датчик. Его можно будет подключить к контроллеру? Спасибо! RS485 4-20mA

И то мы “лажанули” и заказали не те, которые были нужны (без протокола RS-485).  
Но они вполне себе работали. Была только проблема с калибровкой.  
На данный момент мы поливаем по времени, а необходимость полива определяем вручную. Сценарий, по времени, может быть разный, в зависимости от растений и необходимой частоты. Мы поливаем по 10мин каждые 2 часа в дневное время. Но у нас есть дренаж. Возможно вам будет достаточно по чуть-чуть раз в день.  
Для включения насоса используем модули [WB-MR6CU v.2](https://wirenboard.com/ru/product/WB-MR6CU/). Но можете посмотреть и подобрать что-то более подходящее из [релейных модулей](https://wirenboard.com/ru/catalog/wb-mr-relay-modules/).  
сценарий для полива по времени (может немного кривоватый в плане описания, но сделан на основе другого сценария и работает, а это, лично для меня, самое главное):

```auto
//Pump1.js (внести в название правила)
//'use strict';
var grow_box = "1"; // CHANGE_ME! имя устройства. Выводится в заголовок окна и служит для разделения устройств
log.info("light_"+grow_box+"START######################"); //Это лог.

var dimmer_relay = "wb-mr6cu_22/K1"; //CHANGE_ME! устройство-реле питания диммера (доработка, используемй диммер подтягивает свой вход к VCC)

var ps = new PersistentStorage("storage_"+grow_box, {global: true});// Определим объект-хранилище.

var pumpStartTime; //Время начала "полива"
var pumpStopTime; //Время конца "полива"
setTimeVariable();

//Элементы виртуального устройства
//управления
var deviceCells = { 
  
  //Начало рассвета hh:mm
  "Pump (start) time": {
    type: "text",
    readonly: false,
    value: ps["pump_start_time"],
  },
  //Длительность рассвета
  "Pump duration": {
    type: "text",
    readonly: false,
    value: ps["sun_start_duration"],
  },

  pumpON : {
          type : "switch",
          value : false,
  },   

  pumpOFF : {
          type : "switch",
          value : false,
  },
};

//Создадим виртуальное устройство и добавим в него элементы 
  defineVirtualDevice("pump_"+grow_box, {
    title:"Pump "+grow_box,
    cells: deviceCells
  });

defineRule("Sunraise start time change", { //название правила 
whenChanged: "pump_"+grow_box+"/Pump (start) time", 
  then: function (newValue, devName, cellName) { //выполняй следующие действия
    log.info("pump_"+grow_box+"/Pump start time ", newValue); //Это лог. Он попадает в /var/log/messages
    ps["pump_start_time"] = newValue;
    setTimeVariable();
  }
});

defineRule("Sunraise duration change", { //название правила 
whenChanged: "pump_"+grow_box+"/Pump duration", 
  then: function (newValue, devName, cellName) { //выполняй следующие действия
    log.info("pump_"+grow_box+"/Pump duration", newValue); //Это лог. Он попадает в /var/log/messages
    ps["sun_start_duration"] = newValue;
    setTimeVariable();
  }
});

defineRule("dayProcess change", { //название правила 
whenChanged: "pump_"+grow_box+"/pumpOFF",
  then: function (newValue, devName, cellName) { //выполняй следующие действия
    if (newValue){ //Включаем "день"
      dev["pump_"+grow_box+"/pumpON"] = false; 
    }
  }
});

defineRule("dayProcess change off", { //название правила 
whenChanged: "pump_"+grow_box+"/pumpON", 
  then: function (newValue, devName, cellName) { //выполняй следующие действия
    if ((dev["pump_"+grow_box]["pumpON"] == true)){ 
      dev["pump_"+grow_box+"/pumpOFF"] = false; 
    }
  }
});

//*Дополнение для реле диммера

defineRule("dimmer_relay_on", { //название правила 
whenChanged: "pump_"+grow_box+"/pumpON", 
  then: function (newValue, devName, cellName) { //выполняй следующие действия
  if ((dev["pump_"+grow_box]["pumpON"] == true)){ 
    dev[dimmer_relay] = true; //включаем реле
  }
}
});  
defineRule("dimmer_relay_off", { //название правила 
whenChanged:"pump_"+grow_box+"/pumpON", 
  then: function (newValue, devName, cellName) { //выполняй следующие действия
   if ((dev["pump_"+grow_box]["pumpON"] == false)){ 
    dev[dimmer_relay] = false;
  }
}
});

//*Конец дополнения

defineRule("cron minute timer", { //Просто задание, которое выполняется каждую минуту
  when: cron("00 * * * * *"),
  then: function () {
    //log.info(grow_box, "cron timer executed! DEBUG ONLY.");
    d = new Date(); //Текущее время
    //pumpStartTime
    if ((dev["pump_"+grow_box]["pumpON"]==false) && (d > pumpStartTime) && (d<pumpStopTime)){
      log.info(grow_box, "cron timer executed! Sunraise process START", "pumpStartTime",pumpStartTime,"pumpStopTime",pumpStopTime);
      dev["pump_"+grow_box]["pumpON"] = true;
    }
    //dayProcess
    if ((dev["pump_"+grow_box]["pumpOFF"]==false) && (d > pumpStopTime)){
      log.info(grow_box, "cron timer executed! DAY process START","pumpStopTime",pumpStopTime);
      dev["pump_"+grow_box]["pumpOFF"] = true;
    }
  }
});

defineRule("cron day timer", { //Просто задание, которое выполняется раз в сутки и меняет дату в переменных на текущую.
  when: cron("01 00 00 * * *"),
  then: function () {
    setTimeVariable();
  }
});

function string_to_time(srcString) { 
  //log.info("string_to_time_"+grow_box, srcString)
  var d = new Date();
  var datetime = new Date(d.getFullYear()+'-'+(d.getMonth()+1)+'-'+d.getDate()+'T' + srcString + 'Z');
  datetime.setMinutes(datetime.getMinutes() + datetime.getTimezoneOffset());//Приведем к локальному:
  return datetime; 
};

function setTimeVariable() { 
  pumpStartTime = string_to_time(ps["pump_start_time"]); 
  pumpStopTime = new Date(pumpStartTime);
  pumpStopTime.setMinutes(pumpStopTime.getMinutes() + parseInt(ps["sun_start_duration"])); 
};

defineRule("SunRaise_starter", { //название правила 
whenChanged: "pump_"+grow_box+"/pumpON",
  then: function (newValue, devName, cellName) { //выполняй следующие действия
    log.info("pump_"+grow_box+" pumpON function", newValue, devName, cellName); //Это лог.
    if (newValue){
      dura = (pumpStopTime - pumpStartTime)/1000; //время в секундах
	  log.info("pump_"+grow_box+" pumpON", "dura", dura); //Это лог.
      startTicker(grow_box+"raiseTicker", 1000); //Запуск таймера, отрабатывает раз в секунду.
    } else {
      timers[grow_box+"raiseTicker"].stop(); 
      log.info("pump_"+grow_box+"Ticker STOP sunraise");
    }
  }
});

```

Получится такого плана штука:  
 ![Screenshot_1](https://support.wirenboard.com/uploads/default/original/2X/5/5cb2151fad7fe1ce1a54be5349025bbf766105ff.jpeg)  
Время начала (start) вводится вручную ввиде hh:mm (или h:mm)  
Продолжительность (duration) вводится просто минутами.

Для уменьшения напора можно применить системы капельного полива. Плюс хочу обратить ваше внимание, что у вас насосы на 12в. Будьте внимательны при подключении!

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

---

<div class="post-metadata">

**Author:** ![Mihail87](https://support.wirenboard.com/user_avatar/support.wirenboard.com/mihail87/32/13601_2.png) [@Mihail87](https://support.wirenboard.com/u/Mihail87)\
**Post date:** [April 3, 2023, 6:56am UTC](https://support.wirenboard.com/t/podbor-oborudovaniya-dlya-avtopoliva/14741/3 "2023-04-03T06:56:25Z")

</div>

Добрый день. По поводу датчиков, если у вас не более 4х и не задействованы аналоговые и дискретный входы на контроллере, то можете подключить к ним, иначе [Модуль аналогового ввода WB-MAI6](https://wirenboard.com/ru/product/wb-mai6/).

---

<div class="post-metadata">

**Author:** ![vmarkov](https://support.wirenboard.com/user_avatar/support.wirenboard.com/vmarkov/32/14289_2.png) [@vmarkov](https://support.wirenboard.com/u/vmarkov)\
**Post date:** [April 3, 2023, 7:24am UTC](https://support.wirenboard.com/t/podbor-oborudovaniya-dlya-avtopoliva/14741/4 "2023-04-03T07:24:12Z")

</div>

> [@Mihail87](#):
>
> Модуль аналогового ввода WB-MAI6

Датчиков собственно у меня всего два: один для рассады, второй для цветов.  
аналоговые и дискретные порты пока не заняты.  
Питание на датчики подал с порта контроллера:  
[![](https://wirenboard.com/wiki/Wiren_Board_7#/media/%D0%A4%D0%B0%D0%B9%D0%BB:WirenBoard+1-Wire.png) ](https://wirenboard.com/wiki/Wiren_Board_7#/media/%D0%A4%D0%B0%D0%B9%D0%BB:WirenBoard+1-Wire.png)  
На датчике есть цифровой и аналоговый выходы, куда их подключить - на разобрался.  
пробовал подключить на порты W1 и W2 - но никаких показаний на контроллере не увидел.  
Может надо подключать аналоговый выход датчика к порту А1 контроллера?

---

<div class="post-metadata">

**Author:** ![Mihail87](https://support.wirenboard.com/user_avatar/support.wirenboard.com/mihail87/32/13601_2.png) [@Mihail87](https://support.wirenboard.com/u/Mihail87)\
**Post date:** [April 3, 2023, 7:41am UTC](https://support.wirenboard.com/t/podbor-oborudovaniya-dlya-avtopoliva/14741/5 "2023-04-03T07:41:36Z")

</div>

Да, вам требуется подобрать требуемую влажность и соответственно значение аналогового выхода датчика подобрать для включения и выключения. К примеру 2 В включение, 3 - выключение. Но это уже подбирать в процессе настройки системы. Контакты A1-A3.

---

<div class="post-metadata">

**Author:** ![BrainRoot](https://avatars.discourse-cdn.com/v2/letter/b/c2a13f/32.png) [@BrainRoot](https://support.wirenboard.com/u/BrainRoot)\
**Post date:** [April 4, 2023, 10:30am UTC](https://support.wirenboard.com/t/podbor-oborudovaniya-dlya-avtopoliva/14741/6 "2023-04-04T10:30:18Z")

</div>

Я сам использую вот такие: [https://aliexpress.ru/item/32889929664.html](https://aliexpress.ru/item/32889929664.html)  
Пока тестово - но работают неплохо.

---

<div class="post-metadata">

**Author:** ![vmarkov](https://support.wirenboard.com/user_avatar/support.wirenboard.com/vmarkov/32/14289_2.png) [@vmarkov](https://support.wirenboard.com/u/vmarkov)\
**Post date:** [April 10, 2023, 8:27pm UTC](https://support.wirenboard.com/t/podbor-oborudovaniya-dlya-avtopoliva/14741/9 "2023-04-10T20:27:23Z")

</div>

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

Возникли новые:

1. Если датчики будут отстоят от контроллера на расстоянии примерно 25 метров, можно ли подать на них питание 5В непосредственно от контроллера по экранированной витой паре? А по соседним парам в этом же кабеле вернуть показания с данных датчиков? Или лучше поставить отдельный источник питания 5В рядом с датчиками? Стабильный ли будет сигнал с датчиков на таком расстоянии?
2. Если параметры насосов таковы: напряжение 12 В, мощность 4 Вт, можно ли управлять ими с помощью модуля WBIO-DO-SSR-8?
3. Если можно, то с помощью какого кабеля лучше подать напряжение на насос, если учесть что расстояние между модулем WBIO-DO-SSR-8 и насосом будет пример но 25 метров? Можно ли использовать для этого экранированную витую пару?

---

<div class="post-metadata">

**Author:** ![dust](https://support.wirenboard.com/user_avatar/support.wirenboard.com/dust/32/12553_2.png) [@dust](https://support.wirenboard.com/u/dust)\
**Post date:** [April 11, 2023, 4:57am UTC](https://support.wirenboard.com/t/podbor-oborudovaniya-dlya-avtopoliva/14741/10 "2023-04-11T04:57:43Z")

</div>

1. Можно.
2. Максимальный коммутируемый ток модуля 400 мА. При ваших параметрах ток насоса 333 мА. Т.е. в пределах нормы. Но у насоса может быть высокий пусковой ток, существенно превышающий 400 мА. Я бы не рисковал, использовал что-то более мощное.
3. Хорошая статья на тему, в конце таблица с ответом на ваш вопрос: [Диапазон передачи мощности - Delta](https://shopdelta.eu/diapazon-peredachi-moshnosti_l10_aid1231.html)

---

<div class="post-metadata">

**Author:** ![BrainRoot](https://avatars.discourse-cdn.com/v2/letter/b/c2a13f/32.png) [@BrainRoot](https://support.wirenboard.com/u/BrainRoot)\
**Post date:** [April 11, 2023, 8:27am UTC](https://support.wirenboard.com/t/podbor-oborudovaniya-dlya-avtopoliva/14741/11 "2023-04-11T08:27:47Z")

</div>

> [@vmarkov](#):
>
> - Если параметры насосов таковы: напряжение 12 В, мощность 4 Вт, можно ли управлять ими с помощью модуля WBIO-DO-SSR-8?

Если насосы бесщеточные типа  
 ![Screenshot_20230411_112401](https://support.wirenboard.com/uploads/default/original/2X/2/27cc790d3fb5ba67780c29dafd32f6521a66b228.png)  
то можно, у них пускового тока по сути нет.  
У меня они успешно коммутируются вообще полевиками в sot23 корпусе.

Ну и экранирование “силовых” проводов к насосам - особого смысла не имеет. Оно уменьшит помехи на рядом проложенные кабеля, да. Но если кабель к датчику влажности, ку которого выходной сигнал - напряжение - то гораздо эффективнее кондансатор на этот сигнал поставить. Все равно влажность скачком не меняется.

---

<div class="post-metadata">

**Author:** ![system](https://support.wirenboard.com/uploads/default/original/2X/5/5ac90dc8a7bdff486d3494a19ec6aaa6f6cc5d36.png) [@system](https://support.wirenboard.com/u/system)\
**Post date:** [April 18, 2023, 8:28am UTC](https://support.wirenboard.com/t/podbor-oborudovaniya-dlya-avtopoliva/14741/12 "2023-04-18T08:28:08Z")

</div>

Эта тема была автоматически закрыта через 7 дней после последнего ответа. В ней больше нельзя отвечать.
