Перейти к содержимому

 

Фотография

Самодельный датчик влажности почвы. Часть 1 (до сентября 2014)

приборы

  • Закрытая тема Тема закрыта
Сообщений в теме: 743

#201 vovka.sv19

vovka.sv19

    Участник

  • Пользователи
  • PipPipPip
  • 43 сообщений
  • Меня зовут:Владимир
  • Пол:

Отправлено 18 June 2013 - 23:05

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


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



#202 Vell65

Vell65

    Участник

  • Пользователи
  • PipPipPip
  • 80 сообщений
  • Меня зовут:Валерий
  • Пол:
  • Город:Биробиджан

Отправлено 19 June 2013 - 02:47

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



#203 Vell65

Vell65

    Участник

  • Пользователи
  • PipPipPip
  • 80 сообщений
  • Меня зовут:Валерий
  • Пол:
  • Город:Биробиджан

Отправлено 19 June 2013 - 11:54

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

Пост вывел некую зависимость, а Далловский датчик типа DS1820 можно сказать откалиброван. Конечно первичную установку произвести потребуется. Ведь сростить это надо с датчиком, а точнее с его алгоритмом который уважаемый создатель этой ветки предложил. Только использовать другой PIC. Идея реализации былаб правильной и скорее всего самой точной особенно для затеи создания поливалки на улице. Хотя в доме когда нагревается солнцем цветочный горшок этот процесс за счет изменения температуры тоже присутствует.



#204 oduvan

oduvan

    Участник

  • Пользователи
  • PipPipPip
  • 55 сообщений
  • Меня зовут:Сергей

Отправлено 19 June 2013 - 14:38

На мой взгляд самые надежные измерения можно получить емкостным методом, описанным в посте
http://forum.homecit...180#entry231068
к схеме из поста
http://forum.homecit...180#entry229920 единственное нужно использовать максимальную чатоту - это должно расширить границы измерительного диапазона!
Не знаю влияет ли на данный метод температура почвы но 3 температурных датчика на этом сенсоре
http://www.ebay.com/...-/271213135289?
уже сами по себе могут мерить влажность по гигроскопическому методу если не втыкать датчик на всю глубину

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

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

Для простой повторяемости использовать ардуино самый простой и дешевый вариант - каждый сможет купить плату и просто залить в нее прошивку без всяких паяльников и программаторов, тоже самое и про исполнительные ардуино блоки.
При заказе китайских ардуин цены смешные!!!
За 36 баксов можно фабрику целую автоматизировать
http://dx.com/p/open...t-module-148522
не сочтите за рекламу)))
Для наших целей хватит и 300р ))
http://dx.com/p/robo...ble-blue-178262
Завтра привезут ардуино уно, пока едет набор с ебэя буду с ним экспериментировать и изучать мат часть написания прог.



#205 UL7AAjr

UL7AAjr

    Активный участник

  • Пользователи
  • PipPipPipPipPip
  • 512 сообщений
  • Меня зовут:Игорь
  • Пол:
  • Город:Алма-Ата

Отправлено 19 June 2013 - 17:34

Кажется домучил свою схему :), обошлось малой кровью. Добавил один термистор на 10K. Настольные испытания прошли успешно. Остались полевые. Теперь это выглядит вот так Прикрепленный файл  hm_sensor_12_3_termo.jpg   74.97К   50 Количество загрузок: Печатную плату пока не переделывал, просто порезал дорожки и подпаял дополнительный выход. Если уж и тут что-нибудь странное всплывет, придется все-таки ПИК воткнуть.

#206 UL7AAjr

UL7AAjr

    Активный участник

  • Пользователи
  • PipPipPipPipPip
  • 512 сообщений
  • Меня зовут:Игорь
  • Пол:
  • Город:Алма-Ата

Отправлено 19 June 2013 - 21:00

UL7AAjr, жду испытаний чтобы переделать на PIC с интерфейсом что-то типа I2C и если получится, то с паразитным питанием (типа как у DS1820 ), ну чтоб два провода тянуть вместо трех.


Не надо с паразитным питанием. Питание должно быть стабильным для точных измерений. Три провода вообще не проблема по сравнению с организацией паразитного и стабильного питания.

Если есть желание с ПИКом поиграться, то вот измерительная цепь, которую к нему прикрутить можно.
Прикрепленный файл  measure_circuit.jpg   30.56К   92 Количество загрузок:

Т.е. на одну ножку выдаем 1КГц с какой-нибудь ножки, а к выходу цепляем АЦП.

#207 Vell65

Vell65

    Участник

  • Пользователи
  • PipPipPip
  • 80 сообщений
  • Меня зовут:Валерий
  • Пол:
  • Город:Биробиджан

Отправлено 21 June 2013 - 03:08

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

#208 UL7AAjr

UL7AAjr

    Активный участник

  • Пользователи
  • PipPipPipPipPip
  • 512 сообщений
  • Меня зовут:Игорь
  • Пол:
  • Город:Алма-Ата

Отправлено 22 June 2013 - 19:45

Всем добрый день! Небольшой опус по поводу сенсора. Как писалось выше, для правильных измерений влажности, необходимо добавить термокомпенсацию. Немного помучившись, добавил в свою схему терморезистор. Но дело не в этом. Терморезистор надо засунуть в землю вместе с сенсором (у меня были две велосипедные спицы). А засовывать его туда очень неудобно. В общем пришлось изобретать новый сенсор. Нашел у старьевщиков какие-то медные трубки, заглушенные и заостренные с одной стороны. Диаметр примерно 7.5 мм. Вроде как убитые старые ТЭНы малой мощности. Одну из трубок на треть засыпал песком, засунул туда термодатчик и досыпал песок до верху, утрамбовал и заглушил кусочком пенопласта. На скорую руку получилась вот такая штука. Прикрепленный файл  sensor_cu_6.jpg   47.13К   23 Количество загрузок: Преимущество очевидные. Термодатчик внутри, втыкать удобно. За счет большого диаметра трубки по сравнению с проводами или спицами, обеспечивается более плотное прилегание к почве. Даже если немного пошевелить - показания датчика не изменяются. Но нужно быть готовым к одному фокусу, сенсор такой конструкции имеет эквивалентное сопротивление на порядок меньше. Не перестраивая чувствительность датчика, он будет показывать влажность намного больше реальной. Т.е. надо датчик перепрограммировать (а в моем случае пришлось поменять номиналы деталей). PS: DS1820 туда тоже отлично влезет :)

#209 Vell65

Vell65

    Участник

  • Пользователи
  • PipPipPip
  • 80 сообщений
  • Меня зовут:Валерий
  • Пол:
  • Город:Биробиджан

Отправлено 24 June 2013 - 01:52

Т.е. надо датчик перепрограммировать (а в моем случае пришлось поменять номиналы деталей).

Таки вот и опять повторюсь, алгоритм датчика на PICе у автора этой ветки справляется с этой проблемой легко. Остается добавить термодатчик и перенести прогу на другой PIC. Давайте дружно позовём Николая и добьем эту проблему сообща.

А идея с нерабочими тэнами хорошая, имеет право на жизнь. Тем более при использовании DS1820.



#210 UL7AAjr

UL7AAjr

    Активный участник

  • Пользователи
  • PipPipPipPipPip
  • 512 сообщений
  • Меня зовут:Игорь
  • Пол:
  • Город:Алма-Ата

Отправлено 24 June 2013 - 15:37

Да уж, пора бы и Николая позвать :) Есть идея калибровки датчика (т.е. на контроллере предусмотреть такой режим). Поливаем грядку, втыкаем сенсоры и запускаем на сутки режим калибровки. В течении суток контроллер собирает информацию по влажности и температуре. В конце суток влажность немного изменится, но вычислить зависимость и поправки не составит труда. Далее контроллер переводится в нормальный режим работы для поддержания влажности, на которой он калибровался. При таком алгоритме даже не надо ничего в контроллер прописывать. Вроде как просто получается, воткнул, откалибровал и все. Опять же исчезает зависимость от конструкции сенсоров, калиброваться то контроллер на своих сенсорах будет. Я в этом году еще на своих аналоговых датчиках посижу. Уж очень много нервов на отладку положено. В то-же время начал потихоньку прикидывать цифровой датчик. Уже развел и вытравил макетку под датчик, заказал десяток STM8L152K6T6 по 1.6$ за штуку. Выбор МК - дешевизна, функциональность и легкость отладки. Прикрепленный файл  HS_stm_test.jpg   44.48К   19 Количество загрузок: Так что процесс потихоньку пошел. Не думаю, что быстро пойдет, пока МК приедут... пока софт напишу..., надеюсь к следующему сезону что и выйдет. Да, еще решил дисплей от Nokia3310 к каждому датчику прикрутить (хотя бы съемный), пусть статистику показывает.

#211 UL7AAjr

UL7AAjr

    Активный участник

  • Пользователи
  • PipPipPipPipPip
  • 512 сообщений
  • Меня зовут:Игорь
  • Пол:
  • Город:Алма-Ата

Отправлено 17 July 2013 - 10:45

Всем доброго времени суток. Докладываю о процессе разработки нового датчика влажности. Если кто-то здесь еще этим интересуется :) В общем так, сделал я сначала "навороченный" датчик с кнопками, светодиодами и LCD дисплеем. Все работает, но изготовить таких датчиков несколько - слишком трудозатратно да и не сильно дешево. Кроме того, при ярком солнечном свете, дисплей и светодиоды очень плохо видно. Т.е. толку от наворотов не очень много. Решил сделать все наоборот, минимизировать датчик, а всю обработку повесить на главный контроллер (все равно он необходим). Так и сделал. Новый, минимизированный, датчик содержит деталей на ~5USD. Имеет на борту микроконтроллер STM8L15xK6, стабилизатор напряжения, измерительную цепь влажности, ключ средней мощности (для управления реле или чем-то подобным) и разъемы для подключения датчика температуры DS1820 и сенсора влажности. Все датчики подключаются на общий трехпроводной кабель (земля, питание 5..12В и шина данных). Прикрепленный файл  hm_smart_mini.jpg   57.62К   22 Количество загрузок: Работает все это следующим образом. Каждый датчик имеет уникальный код (от 1 до 255). Измеряет влажность и температуру. По команде от главного контроллера (сервера), выполняет включение или выключение силового ключа и всегда в ответ докладывает текущую температуру и влажность. В принципе, большего и не нужно. Протокол обмена по однопроводной шине очень простой и специально сделан медленным для возможности работы с длинным кабелем. Сейчас время передачи одного байта ~2.5ms. Пока тестирую на надежность. Протокол обмена - самодельный, проще не бывает. Шина данных притянута к "+" питания резистором, все устройства могут "опустить" шину в "0". Датчик все время слушает шину и после сигнала с сервера "внимание" (очень длинный "0" на шине), начинает считывать данные с шины (короткий "0" - значит "0", длинный "0" - единица). Если контрольная сумма верна и код датчика совпадает, то датчик выполняет команду и в ответ отправляет свое состояние. Дальше проблемы сервера. Прикрепленный файл  hm_proto copy.jpg   36.74К   16 Количество загрузок: Я вот сейчас думаю, что все это дело можно даже к обычному компьютеру подключить, на один из датчиков (не устанавливая цепь измерения влажности и температуры) повесить реле насоса, а все остальные датчики в штатном режиме измеряют и коммутируют клапана полива на грядках. Если взять старенький ноутбук, то весь контроль можно производить из дома. Да и программу с нормальным интерфейсом написать будет проще. Вот как-то так. Если какие вопросы - пишите.

#212 dimmich

dimmich

    Участник

  • Пользователи
  • PipPipPip
  • 28 сообщений
  • Меня зовут:dimmich
  • Пол:
  • Город:Владимир

Отправлено 17 July 2013 - 11:04

Думаю надо было изначально предусмотреть протокол, совместимый с RS232 или RS485, чтобы не было гемора при отладке, чтобы была возможность подключить к COM порту компа или преобразователю USB-RS232. А так задумка девайса конечно неплохая в плане изучения, применения по теме, гибкости.

#213 UL7AAjr

UL7AAjr

    Активный участник

  • Пользователи
  • PipPipPipPipPip
  • 512 сообщений
  • Меня зовут:Игорь
  • Пол:
  • Город:Алма-Ата

Отправлено 17 July 2013 - 12:34

Думаю надо было изначально предусмотреть протокол, совместимый с RS232 или RS485


Думал над этим. Проблема в том, что на одну шину надо несколько устройств повесить, как-то не уверен я в нормальной работе такой конструкции, да еще и на длинном кабеле. А тот протокол даже на бейсике любой студент отпишет, а уж на С под atmel вообще все просто. Потом для подключения к компьютеру, вероятно, придется что-то изобретать, там вот rs232 и пригодится.

#214 dimmich

dimmich

    Участник

  • Пользователи
  • PipPipPip
  • 28 сообщений
  • Меня зовут:dimmich
  • Пол:
  • Город:Владимир

Отправлено 17 July 2013 - 13:07

Не спорю, протокол простой придуман. Но это эгоизм :) Мне это знакомо, сам протоколы для своих железяк придумывал на работе. Но как оказалось - повторяемость низкая. Другим людям труднее понять как он работает, нежели известный стандартный протокол.

Для ваших целей хорош был бы стандартный промышленный протокол Modbus поверх физического уровня RS485. Его особенности в данном применении оборачиваются почти одними только плюсами:
- Помехоустойчивость обалденная, и при более высоких скоростях обмена и возможно при гораааздо более длинных линиях связи (более километра допускается, зависит от скорости).
- Стойкость к выходу из строя схемы увеличивается. Защита от замыканий линии на землю, на провод питания, защита от замыкания проводников линии связи между собой (2 шт). Защиту в микросхему-драйвер RS485 встраивают, не нужно беспокоиться об этом.
- Адресация устройств в сети Modbus позволяет подключать до 32 устройств на шину (на один кабель). При применении более современных микрух интерфейса RS485 и большее количество устройств можно подключить, но нам это не требуется.
- Стандартизация (унификация) еще никому не вредила. Все ее плюсы сюда приписать можно. Включая повторяемость. И единомышленников больше найдете, помощников, и проект не стыдно спецам показать которые пальцы гнут от крутости :)
- Распространенность и доступность элементной базы
- Простота реализации, отработанные десятилетиями схемные и программные решения. Нужна минимальная отладка, настройка, всё заработает сразу.
- Программных реализаций тьма! Любая прога-терминал, библиотеки Modbus для языков программирования, Modbus OPC серверы, итп, уже всё готово. Понимаю, если не знакомы с протоколом - это кажется сложным. Но как только вникните - поймете что программ-помощников вам для работы доступно очень много, почти всё фриварно, всё в сети. Считаю это большой плюс, в совокупности с условной совместимостью этого протокола с COM портом компа.
- Для написания прошивки микроконтроллера тоже существуют готовые библиотеки Modbus. Я к сожалению застрял в развитии на PIC микроконтроллерах, но думаю просто погуглить надо, и для STM найдутся.

Незначительные (как я считаю) минусы:
- Необходимо конвертировать микросхемой-драйвером в COM порт компа или USB порт. Но ведь и в вашем самодельном протоколе тоже конвертация требуется, причем и программная, и аппаратная. В случае с RS485 только аппаратная. Так что за минус это можно не считать.
- Необходимо применять для связи с устройствами кабель типа "витая пара". На один провод больше чем в вашем случае. Но в вашем случае желателен экранированный провод для борьбы с помехами (только со статическими наводками бороться так получится), интерфейс RS485 гасит большинство возможных видов помех даже без экрана.
- Удорожание схемы рублей на 12.



#215 vovka.sv19

vovka.sv19

    Участник

  • Пользователи
  • PipPipPip
  • 43 сообщений
  • Меня зовут:Владимир
  • Пол:

Отправлено 17 July 2013 - 20:43

С RS-485 полностью согласен! Лично я буду использовать его, т.к. датчики при желании можно будет подключить к системе умного дома, а вот протокол буду использовать свой, т.к. уже на нем работают другие устройства и в перспективе планируется добавить контроль через интернет.
По поводу отладки сети могу предложить на мой взгляд более удобную программу rs232.exe

#216 UL7AAjr

UL7AAjr

    Активный участник

  • Пользователи
  • PipPipPipPipPip
  • 512 сообщений
  • Меня зовут:Игорь
  • Пол:
  • Город:Алма-Ата

Отправлено 18 July 2013 - 10:32

Идею понял, спасибо за подсказку:) Если честно, то я не знаком с оборудованием и методикой работы с RS485. Попробую разобраться в способах подключения этого протокола к МК. Если там ничего замороченного, то можно и прикрутить.

#217 dimmich

dimmich

    Участник

  • Пользователи
  • PipPipPip
  • 28 сообщений
  • Меня зовут:dimmich
  • Пол:
  • Город:Владимир

Отправлено 18 July 2013 - 10:52

Когда есть возможность у кого-то знающего объяснить элементарные вещи, старт проходит очень быстро. Если у вас есть желание, можем пообщаться в аське например, я вам объясню по RS485, Modbus, и как прикрутить к компу. Примеры схем могу дать. А то обычно получается вот так на российских форумах :sarcastic_hand:

#218 dimmich

dimmich

    Участник

  • Пользователи
  • PipPipPip
  • 28 сообщений
  • Меня зовут:dimmich
  • Пол:
  • Город:Владимир

Отправлено 21 July 2013 - 19:37

Довольно простое схемное решение термокомпенсации датчика влажности.
Я и сам не до конца понял всю задумку автора схемы, но именно принцип термокомпенсации понятен. В цепи обратной связи операционного усилителя включен датчик влажности, а на входе в этот усилительный каскад - терморезистор. Я не понял что за сигнал 120Гц усиливается этой частью схемы, наверно простой генератор. Еще в зависимости от примененных датчиков температуры и влажности наверняка придется подбирать постоянные резисторы в схеме. Заинтересовала схема именно простотой схемного решения.
201162352127944.jpg



#219 UL7AAjr

UL7AAjr

    Активный участник

  • Пользователи
  • PipPipPipPipPip
  • 512 сообщений
  • Меня зовут:Игорь
  • Пол:
  • Город:Алма-Ата

Отправлено 21 July 2013 - 19:50

Еще в зависимости от примененных датчиков температуры и влажности наверняка придется подбирать постоянные резисторы в схеме.


Еще как придется :)

Там еще и питание двухполярное.



#220 UL7AAjr

UL7AAjr

    Активный участник

  • Пользователи
  • PipPipPipPipPip
  • 512 сообщений
  • Меня зовут:Игорь
  • Пол:
  • Город:Алма-Ата

Отправлено 24 July 2013 - 14:58

Всем доброго времени суток.

Небольшой доклад о проделанной работе.

Благодаря подсказкам и пинкам уважаемого участника данной ветки dimmich, получилось добавить в датчик влажности и температуры возможность работы по RS485 с поддержкой стандартных функций Modbus. Датчик теперь выглядит вот так
Прикрепленный файл  hm_485_stm_front.jpg   63.87К   49 Количество загрузок: Прикрепленный файл  hm_485_stm_back.jpg   50.83К   50 Количество загрузок:.

На борту имеет стабилизатор напряжения LD1117V33, измерительную цепь влажности, MK STM8L152K6T6, драйвер RS485 ADM3485, силовой ключ средней мощности на транзисторе SD882 с защитным диодом. Разъемы для питания, сенсора влажности и сенсора температуры DS1820, интерфейс RS485, интерфейc программирования SWIM и разъем для подключения исполнительного реле.

С точки зрения программирования в среде Modbus, содержит два 16-ти битных регистра: 30001 - влажность, 30002 - температура. И два coil (битовых регистра): 000001 - флаг готовности датчика, 000002 - флаг управления силовым ключом.

В данный момент датчик проходит настольные испытания (подключен к компьютеру при помощи переходника USB - RS485). Для окончательной доводки датчика, необходимо проделать еще немного работы. В частности выполнить корректировку нелинейной зависимости показаний измерительной цепи от влажности. После полевых испытаний, датчик будет опубликован и доступен для повторения.

Вопросы и пожелания приветствуются.



Темы с аналогичным тегами приборы

Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 скрытых пользователей

Copyright © 2024 homecitrus.ru
 

Яндекс цитирования