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

Контроллер для теплицы на Arduino

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

Статус темы:
Закрыта.
  1. Cofessor
    Регистрация:
    23.06.13
    Сообщения:
    9.290
    Благодарности:
    8.467

    Cofessor

    Виталий

    Cofessor

    Виталий

    Регистрация:
    23.06.13
    Сообщения:
    9.290
    Благодарности:
    8.467
    Адрес:
    Брянск
    Не-не, никаких библиотек. Из-за 2-х - 3-х команд лишнюю библиотеку подключать? Да собственно проблема не с устранением дребезга была. Устранить дребезг - это всего лишь не читать вход некоторое время, чтобы контакт успокоился.
     
  2. timon2006
    Регистрация:
    09.03.15
    Сообщения:
    979
    Благодарности:
    1.356

    timon2006

    Живу здесь

    timon2006

    Живу здесь

    Регистрация:
    09.03.15
    Сообщения:
    979
    Благодарности:
    1.356
    1. Законы физики работают независимо от того, соглашаетесь Вы с ними, или нет:).
    2. С помощью встроенного АЦП меги328 не получить точности 0,1 градуса при полной шкале 100 градусов без принятия специальных мер, как аппаратных (точный внешний источник опорного напряжения для АЦП, чистое питание АЦП и т. д.), так и программных (накопление, усреднение и т. д.).
    3. Сравните входное сопротивление висящего в воздухе входа АЦП с выходным сопротивлением аналоговых датчиков
    4. Хотите погулять по граблям? Я попкорном уже запасся:).
    Попробуйте использовать не задержку, а определять момент отпускания кнопки (вот здесь и нужен антидребезг!)
    Время реакции человека порядка 120 мсек, поэтому что 500мсек, что 700мсек раздражают, когда быстро нажимаешь-отпускаешь кнопку.
     
  3. Cofessor
    Регистрация:
    23.06.13
    Сообщения:
    9.290
    Благодарности:
    8.467

    Cofessor

    Виталий

    Cofessor

    Виталий

    Регистрация:
    23.06.13
    Сообщения:
    9.290
    Благодарности:
    8.467
    Адрес:
    Брянск
    Ну что же, тут Вы меня здорово прижали. Я как-то не задался целью предварительно проверить выходное сопротивление аналоговых датчиков, токмо как у меня цифровые. Но что-то мне подсказывает что проверять Вас не стоит, :( сопротивление окажется не низким. Был не прав, признаю свою ошибку, постараюсь загладить... :|: Ну, то есть, я хотел сказать, приму к сведению на будущее.
    Но, с другой стороны, высокое выходное сопротивление аналоговых датчиков - это ведь другая причина, не связанная со стабильностью питания? Хотя ладно, замнём, а то Вы уж совсем меня изобличите как профана.
    За время реакции спасибо, искал эту цифру в и-нете, но не нашёл, сам хотел поставить задержку 200 мсек, как достаточно компромиссную. Если при этом будут ложные срабатыванию, поварьирую, думаю, обойдётся без анализа заднего фронта.
     
    Последнее редактирование: 02.12.16
  4. timon2006
    Регистрация:
    09.03.15
    Сообщения:
    979
    Благодарности:
    1.356

    timon2006

    Живу здесь

    timon2006

    Живу здесь

    Регистрация:
    09.03.15
    Сообщения:
    979
    Благодарности:
    1.356
    Прижимать никого не собирался, наоборот, дать пищу для размышлений.
    Выходное сопротивление датчиков д. б. низким, очень низким по сравнению с входным сопротивлением измерителя. У Вас измеритель - АЦП, висящий в воздухе.
    Стабильность питания влияет на точность измерения АЦП (это у вопросу о точности 0,1 град. на шкале 100 град.).
    Еще раз про задержки. У разных людей время реакции разное (120 мсек - это минимальное время). Даже у одного человека может отличаться по настроению, физическому состоянию и т. д. Неоднократно проверял это на себе (есть устройство, где настраивается время первого нажатия кнопок и время повтора). Любые задержки здесь - пмсм, неправильное решение.
     
  5. Cofessor
    Регистрация:
    23.06.13
    Сообщения:
    9.290
    Благодарности:
    8.467

    Cofessor

    Виталий

    Cofessor

    Виталий

    Регистрация:
    23.06.13
    Сообщения:
    9.290
    Благодарности:
    8.467
    Адрес:
    Брянск
    Ну почему? После подсоединения датчика уже не висящий в воздухе, однако если и говорить о проблемах с датчиками, то хотелось бы разве что о цифровых. Использовать аналоговые пока не планирую, правда датчики освещённости ещё не знаю какие, пока делаю минималистский проект, без них. В Гроу боксе свет будет тупо включаться и выключаться по времени, в большой летней теплице конечно это будет расточительством, да и не полезно для растений.
    Индивидуальные реакции меня не волнуют, потому что пока что делаю контроллер исключительно для себя. Могу вообще загнать задержку в полсекунды - куда мне спешить?
     
  6. Cofessor
    Регистрация:
    23.06.13
    Сообщения:
    9.290
    Благодарности:
    8.467

    Cofessor

    Виталий

    Cofessor

    Виталий

    Регистрация:
    23.06.13
    Сообщения:
    9.290
    Благодарности:
    8.467
    Адрес:
    Брянск
    Программа у меня маленькая, а переменных уже 49 накропал. И вообще, всё работает нестабильно. Решил немного причесать её, а то не могу понять, что на что влияет. Попробовал выселить процедуру опроса датчика DS18B20 из loop, оформить её как функцию и вызывать через millis с частотой 1 раз в секунду. На удивление, всё сразу заработало. С переменными позже разберусь, наверняка их число можно сократить и удалить из шапки, объявлять там, где они нужны.
     
  7. Лифтанутый
    Регистрация:
    11.04.08
    Сообщения:
    4.642
    Благодарности:
    13.643

    Лифтанутый

    УВЕРЕННЫЙ

    Лифтанутый

    УВЕРЕННЫЙ

    Регистрация:
    11.04.08
    Сообщения:
    4.642
    Благодарности:
    13.643
    Адрес:
    Москва
    Если не нравятся программные способы защиты от дребезга, то почему не сделать все аппаратно - это ВСЕГДА работает надежно и главное недорого.
    Например, на лифте около сотни разных кнопок и все они аппаратно защищены от дребезга входными цепями, хотя уровень помех весьма серьезный, да и линии связи в сотни метров.
    Программа используется только для определения залипших или сломаных кнопок.
    задержка программой - для программистов!
    задержка аппаратная - для сантехников! :)]
     
  8. Cofessor
    Регистрация:
    23.06.13
    Сообщения:
    9.290
    Благодарности:
    8.467

    Cofessor

    Виталий

    Cofessor

    Виталий

    Регистрация:
    23.06.13
    Сообщения:
    9.290
    Благодарности:
    8.467
    Адрес:
    Брянск
    Да почему, мне нравятся и те и другие, но если устройство программируемое, то аппаратные задержки и необходимость ещё что-то ставить как будто бы и ни к чему. Просто определяешь момент нажатия кнопки, делаешь задержку на несколько мсек и считываешь сигнал, больше ничего не требуется.
    В лифтах аппаратная задержка используется, возможно, для того, чтобы стопроцентно избежать ошибки в задержке вследствие сбоя в программе из-за сигнала помехи, ведь конденсатор в любом случае мгновенно не зарядится и не разрядится.
    Да, там последствия могут быть фатальны, а у меня же сбой максимально что вызовет - так это проскок меню или устанавливаемой цифры, но это не страшно. Тем более, откуда там быть сильным сбоям? - Исполнительные механизмы маломощные, а более мощные источники - далеко.
     
  9. ask33
    Регистрация:
    06.11.13
    Сообщения:
    1.583
    Благодарности:
    3.398

    ask33

    Живу здесь

    ask33

    Живу здесь

    Регистрация:
    06.11.13
    Сообщения:
    1.583
    Благодарности:
    3.398
    Адрес:
    Ногинск
    На чем реализуется? есть спец микросхемы? Ну потому как на триггере есть свои недостатки например задержка. Для энкодера не совсем работоспособно получается.
    На другом форуме мне писали микросхему, но както все потерялось. Надо заново поискать.
    Но как и писал меня устраивает и резистор + конденсатор. Но если дешево и лучше есть то почему бы не применить!
    Что сам нашел это MAX6816 но они не дешевые.
     
    Последнее редактирование: 02.12.16
  10. Лифтанутый
    Регистрация:
    11.04.08
    Сообщения:
    4.642
    Благодарности:
    13.643

    Лифтанутый

    УВЕРЕННЫЙ

    Лифтанутый

    УВЕРЕННЫЙ

    Регистрация:
    11.04.08
    Сообщения:
    4.642
    Благодарности:
    13.643
    Адрес:
    Москва
    В лифтах сбои в программе недопустимы и невозможны, т к программа от профи и сама себя контролирует. Не было (тьфу, тьфу!) ни одной аварии по этой причине. все сбои только от периферии, на которые программа четко реагирует и сообщает " когда, где и почему". Программу невозможно изменить, только заменить на другую вместе с процессором.
     
  11. timon2006
    Регистрация:
    09.03.15
    Сообщения:
    979
    Благодарности:
    1.356

    timon2006

    Живу здесь

    timon2006

    Живу здесь

    Регистрация:
    09.03.15
    Сообщения:
    979
    Благодарности:
    1.356
    Но Вы же клавиатуру собираетесь опрашивать с помощью АЦП? Когда кнопки не нажаты (а это не менее 99,9% времени) - как раз и висящий.

    Да загоняйте хоть в 20 секунд:). Всё равно, пмсм, путь неправильный.
    У меня все работает без задержек (и совсем без ложных срабатываний).

    Самый дешевый и универсальный способ - программный. Ничего паять не надо:).
     
  12. Лифтанутый
    Регистрация:
    11.04.08
    Сообщения:
    4.642
    Благодарности:
    13.643

    Лифтанутый

    УВЕРЕННЫЙ

    Лифтанутый

    УВЕРЕННЫЙ

    Регистрация:
    11.04.08
    Сообщения:
    4.642
    Благодарности:
    13.643
    Адрес:
    Москва
    Обычно достаточно цепочки RC. Есть также варианты RC + инвертирующий триггер, который
    преобразует аналоговый сигнал (с помехой). в цифровой. Это общеизвестный прием, когда кнопку к земле подключают. Нажал кнопку - конденсатор разрядится и триггер выдаст единицу.
    При отпускании кнопки, после заряда конденсатора, триггер установит на выходе ноль.
    Сигнал на выходе триггера никак не зависит от дребезга.
     
  13. ask33
    Регистрация:
    06.11.13
    Сообщения:
    1.583
    Благодарности:
    3.398

    ask33

    Живу здесь

    ask33

    Живу здесь

    Регистрация:
    06.11.13
    Сообщения:
    1.583
    Благодарности:
    3.398
    Адрес:
    Ногинск
    Ну как я и писал меня не устроил программный метод. Где можно дешево и надежно избавится от написания кода аппаратно я так и поступаю.

    Да у меня и есть RC цепочка. Нашел к стати чип - MAX6816 по сути это и есть те самые триггеры но как бы все в одном чипе, не надо обвязки лишней, но выходит както не дешево.
    Поэтому я пока на RC цепочке остановлюсь.
     
  14. timon2006
    Регистрация:
    09.03.15
    Сообщения:
    979
    Благодарности:
    1.356

    timon2006

    Живу здесь

    timon2006

    Живу здесь

    Регистрация:
    09.03.15
    Сообщения:
    979
    Благодарности:
    1.356
    Когда отпускаешь кнопку - тот же самый дребезг, со всеми вытекающими...

    Скорее всего Вы выбрали не совсем верное программное решение.

    Я тоже все на логике делал, пока более-менее не освоил программирование:).
     
    Последнее редактирование: 02.12.16
  15. Cofessor
    Регистрация:
    23.06.13
    Сообщения:
    9.290
    Благодарности:
    8.467

    Cofessor

    Виталий

    Cofessor

    Виталий

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