1 2 3 4 5 6 7 8 9 10 10/10 9,94оценок: 33

Arduino Mega. Контроллер теплицы. Хроники

Тема в разделе "Теплицы и парники", создана пользователем DIYMan, 05.01.16.

Статус темы:
Закрыта.
  1. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

    Любопытный рукосуй :)

    DIYMan

    Любопытный рукосуй :)

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    В том то и дело, что попутных засад - вагон и тележка ;) Датчик-то - по сути компьютерный кулер, только для воды - такой же датчик Холла, и - усё. Посчитать rpm - плёвое дело, задача посложнее - перевести эти rpm в реальный расход.

    Производитель указывает рабочий диапазон: давление до 1,75MPa, и до 30л/мин, т. е. 500 мл/сек максимальный поток через датчик. Проходное сечение там практически не заужено, 1/2'.

    Кто выдаст на гора формулу по времени движения нужного объёма воды в единицу времени при указанном давлении и определённом сечении трубы? А то старый становлюсь, и в час ночи не соображу, сколько rpm будет при протекании 30 л за минуту через датчик, при условии сечения проходного отверстия в 1/2' и давлении в магистрали, скажем, 2 атмосферы.

    Ась?
     
  2. Snark
    Регистрация:
    17.10.11
    Сообщения:
    366
    Благодарности:
    424

    Snark

    Живу здесь

    Snark

    Живу здесь

    Регистрация:
    17.10.11
    Сообщения:
    366
    Благодарности:
    424
    Адрес:
    Лобня
    Ну Вы, блин, даете!

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

    Поэтому, только эксперимент - трехлитровая банка и секундомер.
     
  3. kivik71
    Регистрация:
    28.10.13
    Сообщения:
    3.771
    Благодарности:
    2.285

    kivik71

    Живу здесь

    kivik71

    Живу здесь

    Регистрация:
    28.10.13
    Сообщения:
    3.771
    Благодарности:
    2.285
    Адрес:
    Екатеринбург
    Чтобы меньше считать и проводить опытные измерения с расходом воды возможно лучше воспользоваться переделкой обычного счетчика воды. При этом получится 1 тик=1литр (если на магнит-геркон) или 3 тика=1литр (если на оптронной развязке).

    Бонусом получится дополнительный механический экран, который будет показывать реальный расход воды.
     
  4. SportMaster
    Регистрация:
    22.08.12
    Сообщения:
    1.437
    Благодарности:
    1.961

    SportMaster

    Живу здесь

    SportMaster

    Живу здесь

    Регистрация:
    22.08.12
    Сообщения:
    1.437
    Благодарности:
    1.961
    Адрес:
    Петрозаводск
    @DIYMan, по поводу беспроводных датчиков ...

    В данный момент открытие фрамуг задается временем подачи напряжения,
    но реального положения фрамуги на 100% мы не знаем, в лучшем случае отследим конечные точки.
    Что если использовать 3х позиционный датчик гироскопа GY-521 (или аналог) в связке с ESP8622,
    откалибровать его на крайние положения и задавать уже угол (или %) открытия.
    Т. е. Мега запрашивает текущее положение фрамуги, дает команду ESP открыть фрамугу на 30%
    GY-521 - дает команду СТОП при достижении заданного положения.
    В принципе, наверно можно на ESP повесить и управление реле питания фрамуг ... :hello:
     
  5. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

    Любопытный рукосуй :)

    DIYMan

    Любопытный рукосуй :)

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Можно и так, конечно, но я думаю, что это излишнее усложнение, которое приведёт к уменьшению надёжности системы в целом - когда при отказе одного элемента (ESP) фрамуги перестанут открываться ;)

    Так что, думаю, вариант с железной обвязкой, типа концевиков и пр. - самый надёжный. И кстати - никто ведь не мешает из правил открывать окна на нужную позицию - в команде для открытия окон можно напрямую задавать интервал - если он не задан, то берётся из настроек ;) Так что всё как бы уже есть, за исключением того, что да - мега не знает текущее положение фрамуг, но её это, по сути, и не надо - это можно решить аппаратно, кмк.

    Возможно, неправ, так что давайте обсуждать.
     
  6. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

    Любопытный рукосуй :)

    DIYMan

    Любопытный рукосуй :)

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Этого я и боялся. То есть, по сути, надо вводить настраиваемый юзером поправочный коэффициент, выходит, что так.
     
  7. Snark
    Регистрация:
    17.10.11
    Сообщения:
    366
    Благодарности:
    424

    Snark

    Живу здесь

    Snark

    Живу здесь

    Регистрация:
    17.10.11
    Сообщения:
    366
    Благодарности:
    424
    Адрес:
    Лобня
    А вот - необязательно. Задайте размеры всех элементов системы, и при их точном повторении пользователем - получим не такую большую погрешность.
     
  8. Snark
    Регистрация:
    17.10.11
    Сообщения:
    366
    Благодарности:
    424

    Snark

    Живу здесь

    Snark

    Живу здесь

    Регистрация:
    17.10.11
    Сообщения:
    366
    Благодарности:
    424
    Адрес:
    Лобня
    Ага, или GPS приемник на ручку фрамуги, для точного определения ее положения...
    Нужна точность положения при открытии? Чем энкодер не угодил.

    А вообще:
    Пусть система при калибровке откроет/закроет окошко, от концевика до концевика, измеряя интервал времени. В промежуточные же положения пусть переводит задавая пропорционально часть этого интервала как время включения двигателя.
     
  9. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

    Любопытный рукосуй :)

    DIYMan

    Любопытный рукосуй :)

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Ага, вот как раз про счётчик воды давайте и поговорим ;) Как я понимаю, он откалиброван на какой-то диапазон давлений, иначе на первом и девятом этаже в МКД он будет показывать разные цифры, чего не должно быть, как вы понимаете.

    Чем достигается калибровка? Какой-нибудь трубкой Вентури внутри?

    По идее, в планируемом китайзком датчике (http://adatum.ru/schyotchik-vody-na-arduino-water-flow-sensor.html) зависимость должна быть линейная, т. е. чем больше скорость потока - тем больше импульсов он будет выдавать на выходе, т. е. всё поддаётся более-менее прикидочному расчёту, остальное - можно оставить на совести поправочного коэффициента.

    У меня есть табличка по ПНД-трубам со всякими зависимостями типа давления, длины магистрали, расхода, скорости потока и т. п. - можно отталкиваться от неё, в принципе. Короче - надо экспериментировать, а потом, как сказали - трёхлитровая банка и секундомер ;)

    Буду пока думать, в общем. Ещё такой интересный нюанс, по аналогии с механическим счётчиком: накопленные показания, т. е. кол-во литров с момента запуска модуля в эксплуатацию - по идее, эта информация тоже должна быть.

    Ещё вброс: что, если юзер захочет N таких датчиков, скажем, по одному на каждое ответвление магистрали? По идее - ситуация имеет право на жизнь.

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

    Или - тупо делать одно накопительное показание, и пихать его каждый раз в лог? А там уже - разберёмся, что называется?
     
  10. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

    Любопытный рукосуй :)

    DIYMan

    Любопытный рукосуй :)

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Вы забыли про "точную" повторяемость китайских партий какого-нибудь недорогого железа :)]:aga: И потом - не хотелось бы и самого себя ограничивать одним типом датчика - мало ли что, как говорится ;) А так да, естественно - в дефолтной поставке должны быть такие настройки, чтобы с ними уже сразу взлетало в пределах допустимых погрешностей.
     
  11. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

    Любопытный рукосуй :)

    DIYMan

    Любопытный рукосуй :)

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Не забывайте, что всё, что после пинов управления фрамугами - пока остаётся на совести пользователя, следовательно, мега - ничего не знает о концевиках. Сейчас можно всё настроить в полуавтоматическом режиме: задали интервал открытия, открыли окна, проверили - если всё удовлетворяет, записали этот интервал в настройки. А потом уже, если нужно частичное открытие - правилами это реализуется, в принципе. Правда, только щас вспомнил, что для команды "открыть окна" в окошке правил в конфигураторе нет параметра "интервал", но - суслик есть ;)

    Ничего, со временем доработаем.
     
  12. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

    Любопытный рукосуй :)

    DIYMan

    Любопытный рукосуй :)

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Эээх, просил же - проверьте схему, не пропустил ли чего :) Смотрю - а SCK у SD-карты - нет вообще, не нужен её тактирующий сигнал на схеме :)]:aga:

    Поправил схему и обновил на гитхабе.
     
  13. kivik71
    Регистрация:
    28.10.13
    Сообщения:
    3.771
    Благодарности:
    2.285

    kivik71

    Живу здесь

    kivik71

    Живу здесь

    Регистрация:
    28.10.13
    Сообщения:
    3.771
    Благодарности:
    2.285
    Адрес:
    Екатеринбург
    Каждый импульс - это определенный объем воды, который прошел через измеритель, то есть он не меняется для одного и того же расходомера. То есть по сути расходомер измеряет количество воды прошедшего через него, а не скорость. А вот если засечь время и поделить количество воды прошедшее за этот промежуток, то получим скорость. Но нам не важна скорость потока, нам нужно количество воды (в литрах) прошедшее через расходомер.
    (Число тиков)*(объем каждого тика в литрах)= (количество воды в литрах).
    Число тиков меряет датчик и передает в Ардуину, а объем каждого тика будет зависеть от используемого расходомера, вот это значение и должен изменять пользователь под свой определенный расходомер (как он получит это значение это проблема пользователя).
    Чем и удобен механический стандартный расходомер эти показания у него уже есть (пока не переполнится шкала).
    Наверно так. А для варианта когда нужно вылить сейчас определенное количество воды, в программе фиксировать показание счетчика на момент включения насоса или клапана и выключать когда пройдет определенное количество тиков (настраивается пользователем). Сколько вылито можно тоже отправить в логи.
     
  14. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

    Любопытный рукосуй :)

    DIYMan

    Любопытный рукосуй :)

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Ок, спасибо всем: с расходомером пока сворачиваем обсуждение - надо, чтобы в башке устаканилось немного ;) А то напорю чуши, потом самому ведь расхлёбывать :)
     
  15. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

    Любопытный рукосуй :)

    DIYMan

    Любопытный рукосуй :)

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Подключил счётчик воды, посадил на прерывание, первые итоги (проверяю ротом - дую тудыть :)]):

    1. RPM ротом разгоняется аж до 6000;
    2. Мерять литры - пока непонятно как.

    Строго говоря, rpm нам не упёрлись вообще - нас интересует только параметр "сколько тиков на литр" - вот этот параметр надо как-то добыть. Пока поставил 450 тиков на литр, как оно на самом деле - Ээээксперррименты! (с) "Галилео" ;)

    Пойду пошукаю в сети - возможно, кто-то уже борол это дело в реале, а не просто на примере тестовых скетчей.
     
Статус темы:
Закрыта.