Измеритель влажности почвы

kost82
Offline
Зарегистрирован: 30.11.2015

Добрый день!
Хочу сделать простой и экономичный измеритель влажности почвы. В наличии есть китайский датчик с двумя штырями. Для экономии батареи и электродов планирую подавать на него напряжение и делать замер раз в час. Затем ардуино засыпает, и просыпался по прерыванию от часов 3231 и опять делает замер. Плату с компаратором, идущую в комплекте с датчиком я не использую, т.к. ее цифровой сигнал меня не интересует.
Результаты первых испытаний меня не вдохновляют: очень сильно скачут показания ацп при одной и той же влажности, даже если их усреднять (делать по 10 замеров с небольшим промежутком).
Питание схема пока получает по USB от компьютера, результаты смотрю в мониторе порта.
Прошу совета опытных товарищей: как сделать показания более стабильными?
Читал в интернетах, что есть смысл подавать на датчик ШИМ-сигнал, или отключать во время замера все кроме АЦП, чтобы уменьшить шумы. Есть ли смысл во всем этом? Или может схему как-то по-другому собрать?
Емкостные датчики влажности уже заказал, но пока они приедут - пройдет половина лета. Хотелось бы сейчас поэкспериментировать.
Заранее благодарю за советы.

SLKH
Offline
Зарегистрирован: 17.08.2015

kost82 пишет:
Добрый день! Хочу сделать простой и экономичный измеритель влажности почвы.  Заранее благодарю за советы.
пользовательский поиск  справа вверху - "датчик влажности почвы"

kost82
Offline
Зарегистрирован: 30.11.2015

Это первое что я сделал перед созданием темы. Тем про датчик влажности очень много, но из них я полезного узнал только то, что этот китайский датчик очень быстро сгниёт (меня это не сильно волнует, заменю электроды на графитовые), ну и что у многих есть проблема получения стабильных показаний АЦП при работе с ним, а как ее решить - не понятно.
Есть ещё тема по изменению сопротивления переменному току http://arduino.ru/forum/apparatnye-voprosy/podklyuchenie-datchika-vlazhn... надо будет попробовать собрать эту схему

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017
kost82
Offline
Зарегистрирован: 30.11.2015

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

Огромное спасибо за ссылку! Тему можно считать закрытой.

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

Нудакёптать.  Мы себе все так понаделали. 

Придет автор, sav13, поклонись ему в пояс. 

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

Штыри я, кста, у китайцев почти задаром брал, 10 см длиной из нержавейки.  Сезон отстояли - по ним даже не заметно, что в земле были с мая по октябрь.  Могу ссылку на штыри дать

kost82
Offline
Зарегистрирован: 30.11.2015

DetSimen пишет:

Штыри я, кста, у китайцев почти задаром брал, 10 см длиной из нержавейки.  Сезон отстояли - по ним даже не заметно, что в земле были с мая по октябрь.  Могу ссылку на штыри дать

Было бы неплохо. На будущее пригодится.

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017
kost82
Offline
Зарегистрирован: 30.11.2015

Благодарю. Судя по описанию - это оси шестеренок игрушечных машинок. Не знал, что их из нержавейки делают.

ata3d
Offline
Зарегистрирован: 24.05.2017

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

PS: одна картинка с схемой моста выпала ее можно увидеть тут

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

kost82 пишет:

Благодарю. Судя по описанию - это оси шестеренок игрушечных машинок. Не знал, что их из нержавейки делают.

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

bwn
Offline
Зарегистрирован: 25.08.2014

DetSimen пишет:

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

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

kost82
Offline
Зарегистрирован: 30.11.2015

У меня возник еще один вопрос: если мы берем эту схему для измерений

 

То получается на каждый датчик тратим по три контакта ардуины: два цифровых и один аналоговый. То есть если мне вдруг понадобится подключить еще один-два датчика - то у ардуинки может ножек не хватить (кроме датчиков еще же есть переферия).
Можно ли для экономии ардуиновсих входов/выходов соединить, контакты К2 (или К1) всех датчиков к одному цифровому выходу, а контакты К1 (или К2) - к разным? Подозреваю, что если все датчики будут находится в одном горшке (или просто в земле) - это может повлиять на показания. Или если датчики разнесены сантиметров на 15-20 - это слишком далеко, чтобы повлиять друг на друга?

dmitron1036
Offline
Зарегистрирован: 10.01.2016

Подпишусь. Тоже выращиваю клубнику в "горшках". С нетерпением жду ваших результатов.

Когда же уже будет эксперимент? Жжуть как интересно!

 

asam
asam аватар
Offline
Зарегистрирован: 12.12.2018

kost82 пишет:

Можно ли для экономии ардуиновсих входов/выходов соединить, контакты К2 (или К1) всех датчиков к одному цифровому выходу, а контакты К1 (или К2) - к разным?

 

Я не настоящий сварщик, но сделал бы так:

- Все К2 подключил к GND.
- К каждому K1 cвой резистор, а все резисторы соединил вместе и через транзистор (что бы ток достаточный давал) уже к одному цифровому выходу.
- ну а показания снимать с каждого К1 своим аналоговым входом.

Onkel
Offline
Зарегистрирован: 22.02.2016

Я делал из нержавеющих спиц для велосипеда, 5 лет как новые, только потемненил.

 

kost82
Offline
Зарегистрирован: 30.11.2015

asam пишет:

Я не настоящий сварщик, но сделал бы так:

- Все К2 подключил к GND.
- К каждому K1 cвой резистор, а все резисторы соединил вместе и через транзистор (что бы ток достаточный давал) уже к одному цифровому выходу.
- ну а показания снимать с каждого К1 своим аналоговым входом.

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

dmitron1036 пишет:

Когда же уже будет эксперимент? Жжуть как интересно!


Эксперименты буду ставить в эти выходные, отпишусь здесь о результатах, раз кому-то это интересно.

Pyotr
Offline
Зарегистрирован: 12.03.2014

Моя схема не подходит? http://arduino.ru/forum/apparatnye-voprosy/podklyuchenie-datchika-vlazhnosti?page=1#comment-362175

Через электроды идет переменка. Все датчики на один аналоговый, а цифровые на каждый датчик. Меандр только на одном выходе, а остальные в HI-Z. Опрашивать по очереди все датчики.

dmitron1036
Offline
Зарегистрирован: 10.01.2016

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

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

kost82
Offline
Зарегистрирован: 30.11.2015

Как и обещал - пишу отчет по результатам испытаний.

Собрал устройство из трех датчиков с часами реального времени и записью показаний на SD-карту. Резисторы в делитель поставил на 4.7 кОм. Немного изменил функцию замера напряжения, чтобы ей удобно было пользоваться для разных датчиков:

uint16_t analogMeasure(int pin1, int pin2, int analogPin) {
  uint16_t a0 = 0;
  uint16_t n  = 0;
  // Устанавливаем режим АЦП (на всякий случай)
  analogReference(DEFAULT);
  //после смены режима обязательный замер "вхолостую"
  analogRead(analogPin);
  // Цикл из 10 измерений
  for ( int i = 0; i < 10; i++) {
    // Фаза 1
    digitalWrite(pin1, LOW);
    digitalWrite(pin2, HIGH);
    // Ничего не делаем, пропускаем миллисекунду
    delay(1);
    // Фаза 2 (меняем полярность на делителе)
    digitalWrite(pin2, LOW);
    digitalWrite(pin1, HIGH);

    // После пяти итераций цикла начинаем мерить среднее значение
    if ( i > 4 ) {
      a0 += analogRead(analogPin);
      n++;
    }
    delay(1);
  }
  // Отключаем делитель от питания
  digitalWrite(pin1, LOW);
  digitalWrite(pin2, LOW);
  // Вычисляем среднее значение АЦП
  a0 /= n;
  return (a0);
}

Вызываю ее вот так:
 

  sensorVoltage1 = analogMeasure(4, 5, 21);
  sensorVoltage2 = analogMeasure(6, 7, 20);
  sensorVoltage3 = analogMeasure(8, 9, 15);

Работает хорошо, показания не скачут и довольно стабильны. Вот пример из лог-файла
http://joxi.ru/vAWMjkwfgl3W7m

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

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

Из интересного: оказывается, что после смены режима работы АЦП нужно обязательно сделать одно пустое измерение, иначе показания будут некорректы. Я долго не мог понять почему при первом чтении показания гораздо выше, чем при последующих, но потом где-то случайно натолкнулся на эту особенность.

Так как устройство пистается от двух АА батареек - я еще записал в таблицу напряжение батарей, чтобы можно было более точно вычислить проводимость почвы. Если кому надо измерять напряжение батареек - гуглите "Секретный вольтметр Ардуино".

Температуру отдают мне часы реального времени (DS3231) - оказывается есть у них такая фича.

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

Емкостной датчик не пробовали?

kost82
Offline
Зарегистрирован: 30.11.2015

Нет, емкостных датчиков у меня пока нет. Где-то на почте застряли. Возможно совсем потерялись.

dmitron1036
Offline
Зарегистрирован: 10.01.2016

Получен ли рецепт чудодейственного измерителя?

kost82
Offline
Зарегистрирован: 30.11.2015

Пока получен только рецепт простого, экономичного, стабильного и дешевого измерителя. Насколько он точен и долговечен будет понятно через пару месяцев. Пока что проходят "клинические" испытания.

Ulliss
Offline
Зарегистрирован: 16.09.2019

касаемо самих датчиков. Вернее их принципа работы.

попробовал и емкостной и резистивный. На почве они работают оба. Емкостной более адекватно.

У меня есть необходимость измерять влажность не совсем почвы, а глинистой массы. По консистенции - как пластилин.

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

Резистивный тоже врет.

Может кто сталкивался с датчиками для плотных масс по определению влажности?

dmitron1036
Offline
Зарегистрирован: 10.01.2016

Покупные - существуют. Стоят дорого, как работают не очень понятно.