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

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

Тема в разделе "Умный дом", создана пользователем Анкор Плюс, 27.04.17.

Статус темы:
Закрыта.
  1. Анкор Плюс
    Регистрация:
    05.07.11
    Сообщения:
    4.045
    Благодарности:
    6.425

    Анкор Плюс

    Консультант

    Анкор Плюс

    Консультант

    Регистрация:
    05.07.11
    Сообщения:
    4.045
    Благодарности:
    6.425
    Адрес:
    Крым
    Arduino Mega. Контроллер теплицы. Хроники - 3.0
    Уважаемые форумчане!
    В связи с превышением в теме "Arduino Mega. Контроллер теплицы. Хроники" лимита 3000 сообщений, тема закрыта.
    Дальнейшее продолжение возможно в данной теме.
     
  2. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.898

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.898
    Адрес:
    80 км от Краснодара
    Всех с переездом :)

    Тестирую плату. Подключаю nRF - на экране мусор. Вытыкаю nRF - нет мусора на экране. Всё ясно - гадости по линии MOSI, и контроллер ST7920 их честно зажёвывает, отображая на экране мусор, причём - мусор синхронизированный (две прерывистые линии в определённых местах). Ясное дело - строб у всех общий, и маслает на частоте 400 КГц, чего бы не синхронизироваться?

    И вот блин же ж: ну почему я не прочитал нижеприведённого пораньше, на полгодика хотя бы? :mad:

    Гугль-толмач, на всякий:
    Ну блин, зашибись, приехали! Захотелось пины сэкономить, а по ходу - вышло каком, то есть боком: эта заразина ST7920 слушает шину, даже когда не велено.

    Выход, конечно, есть: софтовый SPI, который медленный, как чёрт. Но - можно юзать его, только выделить два пина под нужны дисплея. И, естественно, опять дрюкаться с платой :(

    Ещё выход: параллельный режим, 8 пинов надо выискивать, и - опять дрюкаться с платой.

    Есть ли другие выходы - хз. Дело-то всё в том, что линии MOSI у всех висящих на SPI железок (а это, ни много ни мало - SD-модуль, W5100, nRF, дисплей) - запараллелены, со всеми вытекающими, если кто-то (не будем показывать пальцем) считает, что всегда может читать из MOSI, рисуя мусор на экране.

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

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

    З. Ы. ESP12 отвечает, завелся сходу. Завтра перепаяю штырьки на SIM800L - и тоже попробую, как он будет себя вести. Потом - RS485.

    З. З. Ы. Кстати, емнип, у нас один канал у 125 буфера не задействован - мож его поюзать, разорвав линию MOSI, которая стремится в дисплею? И при инициализации дисплея и отрисовке включать канал, а в остальное время - выключать? По идее - должно помочь, т. к. со всеми SPI-устройствами работа идёт последовательно, значит, этот подход может быть верным. @HANTER333 - Серёж, что скажешь по этой мысли?
     
    Последнее редактирование: 27.04.17
  3. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.898

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.898
    Адрес:
    80 км от Краснодара
    Вот ещё нашёл:

    SID - это RW-вывод дисплея
    SCLK - это E-вывод дисплея

    Короче, когда CS дисплея в нуле - низзя допускать переходных процессов на этих двух выводах, вот и вся история. А у нас SCK молотит всегда.

    Что вижу сходу: 125-й буфер, на управление двумя каналами запараллелена линия, идущая на CS дисплея. Когда там (на CS) единичка - каналы работают, когда там 0 - выключаются. На каждый канал в разрыв подключены линии RW и E дисплея. Линия CS при этом должна быть подтянута к земле резистором большого номинала, типа 10К (чтоб не перетянул одеяло на себя). Линии RW и E после выхода со 125-го буфера також видится не лишним подтянуть к земле.

    И проблема, вроде как, решена аппаратно. Что скажут специалисты?

    З. Ы. Серёж - не сможешь так попробовать? Надо с тобой посоветоваться, прежде чем самому пробовать - до сих пор в глазах взорвавшийся кондёр :)]:aga:

    З. З. Ы. Только каналы на 74hc125 включаются по низкому уровню, следовательно - надо инверсию управляющего сигнала.
     
    Последнее редактирование: 27.04.17
  4. LPD4
    Регистрация:
    16.05.11
    Сообщения:
    138
    Благодарности:
    86

    LPD4

    Живу здесь

    LPD4

    Живу здесь

    Регистрация:
    16.05.11
    Сообщения:
    138
    Благодарности:
    86
    Адрес:
    Санкт-Петербург
    @DIYMan,
    Если я правильно понял (приходится догадываться, т. к. layout файл с планшета не открыть), в схеме используется буфер 74hc125. У него разрешение выхода 0, а у дисплея CS активный 1, так что просто запустить CS на управляющий вход буфера не получится.
    Судя по pdf-у на контроллер дисплея, нужно исключить переключения линии клоков и данных при неактивном CS, так что в идеале, нужно пропустить через буфер обе линии - и клоки и данные, причем, в неактивном режиме выходы буфера должны фиксироваться в определенном состоянии, т. е. либо нужен трехстабильный буфер с притянутыми выходами и разрешением выхода 1 (или придется использовать отдельный пин для управления выходом), либо два логических элемента 2И, где на один из входов идет CS дисплея, а на второй - клоки или данные.

    З. Ы. упс, не заметил "ЗЗЫ".
     
    Последнее редактирование: 27.04.17
  5. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.898

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.898
    Адрес:
    80 км от Краснодара
    Да, я такой - как только отправлю сообщение - руки чешутся отредактировать :) Вы всё правильно поняли, вопрос сейчас в том, чтобы опробовать предложенную схему: инверсия управляющего сигнала, который идёт на пин CS дисплея, этим инвертированным сигналом рулить двумя каналами 74hc125, в разрыв каналов поставить линии RW и E дисплея. Это, кмк, самый лёгкий вариант при любом раскладе, т. к. софтовый SPI - раза в два-три медленнее (а у нас и так частота обновления экрана не ахти), а кучу пинов для параллельного режима данных - нету их столько, в связи с кол-вом плюшек.
     
  6. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.898

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.898
    Адрес:
    80 км от Краснодара
    А я про подтяжки писал именно поэтому ;)
     
  7. HANTER333
    Регистрация:
    21.12.15
    Сообщения:
    1.617
    Благодарности:
    1.156

    HANTER333

    Живу здесь

    HANTER333

    Живу здесь

    Регистрация:
    21.12.15
    Сообщения:
    1.617
    Благодарности:
    1.156
    Да, но у нас только 1 канал 125? :), добавлять вторую?
     
  8. HANTER333
    Регистрация:
    21.12.15
    Сообщения:
    1.617
    Благодарности:
    1.156

    HANTER333

    Живу здесь

    HANTER333

    Живу здесь

    Регистрация:
    21.12.15
    Сообщения:
    1.617
    Благодарности:
    1.156
    Предварительно проблему с помехой на дисплее решили:), сигнал SCK на дисплей подается через свободный ключ 125-й, управление ключом через инвертор с вывода RS;). Дальнейшее тестирование покажет было ли решение правильным:)
     
  9. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.898

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.898
    Адрес:
    80 км от Краснодара
    Кратенький отчёт по плате:

    1. nRF - работает;
    2. ESP - работает;
    3. SIM800L - работает;
    4. RS-485 - работает (долго дрюкался, пока не выяснил, что надо увеличить таймаут на чтение со стороны меги - не знаю, с чем это связано, возможно, с тем, что микрухи RS-485 с двух сторон разные; короче - поднял таймаут как время для вычитки 10 байт - всё взлетело; настройка в Globals. h - будет присутствовать);
    5. Проблему с мусором на экране - предварительно порешали, в следующей версии платы всё будет ок, думаю;
    6. SD - работает.

    Что осталось:

    1. Протестировать срабатывание форточек;
    2. Полив;
    3. Досветка;
    4. Ещё кой-чего по-мелочам, что сходу не вспомнил.

    Пойду расчехлять резисторы и светодиоды - буду подключать для контроля работы каналов форточек и пр. добра.

    З. Ы. Вечером будут обновы на гитхабе - сделал управление внешним ватчдогом, плюс управление питанием модулей, всё в соответствии с разводкой платы. Как обычно - если такой функционал не нужен - он легко выключается из прошивки.
     
  10. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.898

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.898
    Адрес:
    80 км от Краснодара
    Форточки, полив, досветка, пин управления насосом - работают как часы.
     
  11. ask33
    Регистрация:
    06.11.13
    Сообщения:
    1.595
    Благодарности:
    3.410

    ask33

    Живу здесь

    ask33

    Живу здесь

    Регистрация:
    06.11.13
    Сообщения:
    1.595
    Благодарности:
    3.410
    Адрес:
    Ногинск
    Круто! А сам то тестировать будешь в боевых условиях? То есть управлять теплицей.
     
  12. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.898

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.898
    Адрес:
    80 км от Краснодара
    Ну естественно ;) Только плату до ума доведём, а там уже и до полевых испытаний недалече. Впрочем, плата-платой, но промежуточные платы для управления силовой нагрузкой надо ещё будет делать, как минимум ;)
     
  13. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.898

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.898
    Адрес:
    80 км от Краснодара
    @ask33, единственное "но" - управление "взрослой" теплицей в моём случае - не так быстро будет, т. к. теплица ещё строится (не успеваю за всем сразу :)). Но - думаю сделать что-то вроде гроубокса простенького, на котором откатать всё это дело в зимний период.
     
  14. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.898

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.898
    Адрес:
    80 км от Краснодара
    Обновил на гитхабе: добавилось управление питанием всех модулей, что разведены на плате, плюс сброс таймера внешнего ватчдога (тоже присутствует на плате). Немного переколбасил настройки в Globals - вынес все USE_* наверх, чтобы было понятней и быстрей отключать ненужные фичи.

    Навскидку проверил всё, кроме Nextion (куда он денется - там по Serial работа, так что взлетит). Теперь, по вдохновению - написание поддержки SHT10, потом - правка платы с учётом избавления от мусора на дисплее, и - вроде всё: можно будет переходить к силовой части.

    К слову сказать - предлагаю обсудить плату (ы) работы с силовой частью: сигнальная часть уже работает, осталось - коммутировать мощные нагрузки: модули реле не хочу по причине хотя бы шумов в линию. В принципе, на плате у нас выход на 16 каналов для окон (8 форточек), 4 канала полива + канал насоса, 4 канала досветки. Итого - 16+4+1+4 = 25 сигнальных линий. Думаю, можно сколхозить плату с полевиками на эти 25 сигнальных линий - и будет шоколад. Остальные нагрузки у нас - да нет мощных, кроме указанных.

    Кто что думает?
     
  15. ask33
    Регистрация:
    06.11.13
    Сообщения:
    1.595
    Благодарности:
    3.410

    ask33

    Живу здесь

    ask33

    Живу здесь

    Регистрация:
    06.11.13
    Сообщения:
    1.595
    Благодарности:
    3.410
    Адрес:
    Ногинск
    А нагрузки все низковольтные? Коммутировать переменное 220 вольт не планируется?
     
Статус темы:
Закрыта.