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

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

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

Статус темы:
Закрыта.
  1. olegmak3
    Регистрация:
    14.08.11
    Сообщения:
    524
    Благодарности:
    442

    olegmak3

    Живу здесь

    olegmak3

    Живу здесь

    Регистрация:
    14.08.11
    Сообщения:
    524
    Благодарности:
    442
    Адрес:
    Санкт-Петербург
    Вот здесь непонятно о каких пинах Вы ведете речь.
    Выходные пины каналов 4 и 5 у меня 44 и 45 соответственно. Они и являются выходами на блок реле, и далее уже силовая нагрузка.
    постоянно вкл.png
     
    Последнее редактирование: 09.04.16
  2. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    @olegmak3 - проверил у себя, скрины ниже:

    1.png 2.png

    Как только загрузил их в контроллер - светик на седьмом пине загорелся, как и положено. Уверен, что в 7 утра он выключится. У меня ни одно из описываемых вами поведений не воспроизводится, к сожалению - всё работает как часы, ттт.
     
  3. olegmak3
    Регистрация:
    14.08.11
    Сообщения:
    524
    Благодарности:
    442

    olegmak3

    Живу здесь

    olegmak3

    Живу здесь

    Регистрация:
    14.08.11
    Сообщения:
    524
    Благодарности:
    442
    Адрес:
    Санкт-Петербург
    Подкинули идею, спасибо!
    Завтра попробую.
    п. с.
    Один момент- в Ваших правилах нет слежения за температурой.
     
    Последнее редактирование: 10.04.16
  4. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Ок, посмотрю, что можно сделать с разрешением датчиков. По поводу правил пинов по времени - я проверил, пост со скринами выше, включал/выключал мегу несколько раз - светик сразу загорается, потому как семи утра нет. Завтра включу - и проверю, уверен, что с 7 до 23-х он гореть не будет.

    К сожалению, я не знаю всей специфики вашей железной обвязки. Я знаю лишь, что там код простой, как валенок, и если что-то не включается - значит, надо искать. Вопрос только - как? В принципе - вы можете добавить отладочный вывод в Serial для правил - там есть комментарии в файле AlertModule. cpp - можно вывести всё, что хотите. Потому как по-другому проверить, почему у вас не работает - я не знаю способа.
     
  5. Olezhan58
    Регистрация:
    25.08.14
    Сообщения:
    90
    Благодарности:
    39

    Olezhan58

    Живу здесь

    Olezhan58

    Живу здесь

    Регистрация:
    25.08.14
    Сообщения:
    90
    Благодарности:
    39
    Адрес:
    Санкт-Петербург
    Доброго времени суток! Такой вопрос: принесли мне мегу, заливаю на нее скетч, все в порядке, как только открываю окна - в логах появились знаки вопроса, идем дальше, включаю полив - по логам он включен и режим авто, а переключатели в других положениях, и тут я включаю досветку - и опять знаки вопроса (скрины прилагаю). Это контроллер на меге не понимает или еще чего?

    555.png 666.png 777.png
     
  6. olegmak3
    Регистрация:
    14.08.11
    Сообщения:
    524
    Благодарности:
    442

    olegmak3

    Живу здесь

    olegmak3

    Живу здесь

    Регистрация:
    14.08.11
    Сообщения:
    524
    Благодарности:
    442
    Адрес:
    Санкт-Петербург
    Дмитрий!
    В Ваших правилах Вы включили пин постоянно, и выключаете по времени.
    Когда проводил тесты, пытался включить по времени. Устанавливал время в контроллере на пару-тройку минут раньше и ждал включения. Температурные уставки у себя задал заведомо большие для гарантированного включения канала. Как только из правил убирал время, каналы по температуре включались сразу же.
    Было бы интереснее в Вашем варианте посмотреть во сколько включается светодиод.
    Думаю это важно, т. к на выложенной выше на странице картинке лога момент выключения в 7-00
    хорошо виден (помечено красным)
    лог выкл.png
     
    Последнее редактирование: 10.04.16
  7. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    @olegmak3 = обновил прошивку, сделал установку разрешения датчиков DS18B20 при старте меги, разрешение 12 бит. Сделал по даташиту, смотрите

    void DS18B20Support:setResolution (DS18B20Resolution res)

    если вдруг вопросы возникнут.
     
  8. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Это у вас с питанием проблемы - видно, что контроллер рестартует постоянно - READY в ответ на команду появляется ;)
     
  9. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Ок, сейчас переделаю, чтобы был выключен постоянно, а включался только по времени. Сделаю, чтобы включался с 23:00 до 7:00, остальное внемя был выключен.
     
  10. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

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

    1.png 2.png

    Обращаю ваше внимание на то, что всё, что происходит в прошивке - пишет в пины ТОЛЬКО ПРИ ИЗМЕНЕНИИ СОСТОЯНИЯ. Т. е. если какое-то правило включило светик, например - то светик будет гореть. Если вы удалите это правило - светик будет гореть ДО ПЕРЕЗАГРУЗКИ ПИТАНИЯ контроллера. Это не неправильное поведение, я неоднократно подчёркивал, что у правил нет условия "иначе сделать то-то". Именно поэтому правило не знает, как вернуть всё на исходную, так сказать.

    Правила - это настроечный механизм, надо к этому вопросу подходить осторожно. Сработало правило, записало в пин, уснуло. Удалили правило - в пин никто не пишет, и в нём остаётся прежнее состояние. Со стороны выглядит так, как будто что-то заглючило. Но это, как вы понимаете, не так - просто на выходе МК остался последний записанный правилом уровень.

    Когда я удалил предыдущие правила для светика - он остался гореть, хотя правил уже не было в контроллере. Только при передёргивании питания светик погас, что очевидно - уровень на пине вернулся в первозданное значение. Как только добавил инверсную логику в виде новых правил - светик тут же загорелся, т. к. правило сработало. Удали я их опять - светик остался бы гореть.

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

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

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Кстати заметил, что у вас нет модуля часов реального времени? При этом вы компилите прошивку с модулем логгирования информации. Ничего не смущает?
    Код:
    #define USE_LOG_MODULE // закомментировать, если не нужен модуль логгирования информации. Внимание: модуль работает только с модулем реального времени (USE_DS3231_REALTIME_CLOCK должна быть определена!)
    Или же - у вас часы поломатые. Ну и про питание я уже писал - видимо, когда включаются реле, из-за броска по питанию мега перезагружается.
     
  12. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

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

    DIYMan

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

    DIYMan

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

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

    Пока обновлять на гитхабе не стал - тестирую.
     
  14. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Вчера сглючила Arduino IDE - добавленный код установки разрешения датчика DS18B20 "компилировался" и "заливался". Сегодня открыл - не компилируется, написано tempSensors вместо tempSensor. Поправил, перезалил, проверил - работает. Обновил прошивку на гитхабе.

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

    DIYMan

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

    DIYMan

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

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

    Пока нашёл, из подходящих, только uIP, но там та же самая детская ошибка в Server. available, что и в стандартной Ethernet. Правда, огромный плюс этой библиотеки в том, что она полностью совместима по методам и пр. со стандартной Ethernet, т. е. всё прозрачно и просто. Большой её минус - изобилует goto, что как бы не очень радует.

    В общем, при условии небольшого допиливания можно будет потестировать именно её, я думаю. Хотя - меня даже этот выбор не радует, если честно. Не то чтобы я лучше напишу - нет, но просто что-то останавливает - уж больно много сомнительных мест в библиотеке...
     
Статус темы:
Закрыта.