Скрыть объявление
На нашем форуме недоступен просмотр изображений для неавторизованных пользователей. Если Вы уже зарегистрированы на нашем форуме, то можете войти. Если у Вас еще нет аккаунта, мы будем рады, если Вы к нам присоединитесь. Зарегистрироваться Вы можете здесь.

Нужна помощь RTC DS3231 by jarzebski + Node MCU v3

Тема в разделе "Общие вопросы по esp8266", создана пользователем Vypra, 1 фев 2019.

  1. Сергей_Ф

    Сергей_Ф Moderator Команда форума

    Сообщения:
    1.862
    Симпатии:
    208
  2. nikolz

    nikolz Гуру

    Сообщения:
    3.277
    Симпатии:
    363
    не RC цепь, а подключение часов к RST через конденсатор, а RST подтянуть к питанию через резистор, например 10 ком.
     
  3. Vypra

    Vypra Новичок

    Сообщения:
    49
    Симпатии:
    0
    подключение часов к RST через конденсатор - точно!
    RST подтянуть к питанию через резистор, например 10 ком. - а что это должно дать?
    И поскольку мне нужно пробуждать Modemcu, а не отключать, то сигнал нужно инвертировать.
     
  4. Vypra

    Vypra Новичок

    Сообщения:
    49
    Симпатии:
    0
    Если я инвертирую сигнал, тогда при включении питания на RST пойдет импульс низкого сигнала, что не даст включить NodeMCU
     
  5. Сергей_Ф

    Сергей_Ф Moderator Команда форума

    Сообщения:
    1.862
    Симпатии:
    208
    Это и даст RC-цепь c определенной постоянной времени.
    Можно не инвертировать при подключении как сказал @nikolz.
     
  6. nikolz

    nikolz Гуру

    Сообщения:
    3.277
    Симпатии:
    363
    Вы сначала нарисуйте алгоритм, который хотите реализовать.
    их может быть много и схем есть много и с инверсией и без и с емкостью и без.
    --------------------
    пилите шура, пилите...
     
  7. Vypra

    Vypra Новичок

    Сообщения:
    49
    Симпатии:
    0
    )) Хорошо. Тогда так:
    1. Запуск NodeMCU. Поскольку нужно и спать и иногда смотреть данные через RemoteXY, включаем отсчет 5 минут работы. Если RemoteXY активен, в сон не уходим. Если нет - в deepSleep через 5 минут.
    2. Будильник RTC отсчитывает время пока NodeMCU в deepSleep. Если будильник RTC сработал - выводим NodeMCU из deepSleep (перезапуск). Проверяем время - если нужное время - отправляем данные. Отправили данные - уходим в deepSleep.
     
  8. Сергей_Ф

    Сергей_Ф Moderator Команда форума

    Сообщения:
    1.862
    Симпатии:
    208
    @Vypra вы приехали и как будете подключаться по RemoteXY?
     
  9. Vypra

    Vypra Новичок

    Сообщения:
    49
    Симпатии:
    0
    Кнопка RST и запуск 5 минут с начала.
    Алгоритм кода построен так, что новый запуск системы - это перезапуск. Хоть проснулись, хоть руками перезапустили. У меня нет данных, которые жалко потерять при внезапном перезапуске. Все что нужно сохранить, хранится в EEPROM.
     
  10. nikolz

    nikolz Гуру

    Сообщения:
    3.277
    Симпатии:
    363
    теперь Вам надо описать сигналы которые надо сформировать (которые формируются) на пинах часов и ESP для перехода в нужные состояния.
    Когда нарисуете сигналы то покажите. Исходя из них можно нарисовать схему.
     
  11. Vypra

    Vypra Новичок

    Сообщения:
    49
    Симпатии:
    0
    1. Включение. На RST - HIGH поскольку нужно запуститься, на RTC - HIGH, поскольку будильник установлен.
    Но как быть, если впервые систему запустили, настройки еще не ввели со смартфона через RemoteXY и период сработки будильника не успели записать, будильник не установлен и на RTC - LOW? Система не запустится.
    2. Уходим в deepsleep после 5 минут работы. На RST - не знаю что будет после команды deepsleep. RTC - HIGH, будильник заряжен на сработку и неумолимо время летит в RTC.
    3. Выходим из deepsleep по будильнику. На RST - HIGH, на RTC - LOW, будильник сработал.
     
  12. CodeNameHawk

    CodeNameHawk Гуру

    Сообщения:
    1.160
    Симпатии:
    131
    Как вам и советовали, часы к есп через конденсатор, резистор к плюсу(это вывод ресет есп, он и так должен быть подключен через резистор к плюсу).
    Емкость подобрать, чтобы успела(выйти из сна) запустится есп.
    Так как есть кнопка ресет, после старта первым делом отключаете будильник.
    Включите его перед сном.

    Если не ошибаюсь в часах, после подключения батарейки, SQW выход отключен, значит не должен мешать установить время.
     
  13. CodeNameHawk

    CodeNameHawk Гуру

    Сообщения:
    1.160
    Симпатии:
    131
    Что мешает успеть? Часы то не запущены.
    По идее нет, LOW после срабатывания будильника.
    Если часы настроены на выдачу импульсов (нп. взяли часы с другого проекта), ну временно отключите вывод SQW от есп.
     
  14. Vypra

    Vypra Новичок

    Сообщения:
    49
    Симпатии:
    0
    И еще инвертировать сигнал, потому что по сигналу будильника LOW при сработке - Nodemcu отключится, а не проснется.
     
  15. CodeNameHawk

    CodeNameHawk Гуру

    Сообщения:
    1.160
    Симпатии:
    131
    А конденсатор тогда зачем?
     
  16. CodeNameHawk

    CodeNameHawk Гуру

    Сообщения:
    1.160
    Симпатии:
    131
    На вход конденсатора подали LOW, а на выходе получили одиночный импульс LOW.
     
  17. nikolz

    nikolz Гуру

    Сообщения:
    3.277
    Симпатии:
    363
    если сделаете как я написал то все будет работать кроме просыпания по deep-sleep
    если оно вам нужно то надо соединить GPIO16 с RST через диод шоттки (я так делаю) любители соединяют через резистор.
    ------------------------------------
    логика будет следующая
    На RST - High т к подтянуто к Vcc всегда кроме двух случаев
    1) выход из deep-sleep по внутренним часам ESP (с GPIO16 на RST поступит короткий импульс)
    2) переход в Low выход внешних часов (через кондер поступит короткий импульс на RST)
    -------------------------------
     
    Vypra нравится это.
  18. Vypra

    Vypra Новичок

    Сообщения:
    49
    Симпатии:
    0
    Да, работает. Взял конденсаторы 100 пф, 100 нф - не ребутится. Подпаял 2,2 мкф - все ок. Единственное, что при подключении к питанию самостоятельно не стартует. Нужно нажать кнопку RST после подачи питания. В момент, когда втыкаю кабель USB, на SQW кратковременно появляется то ли пила, то ли искаженный меандр. Думаю поэтому NodeMCU не стартует сам.
    Вчера еще покопался по теме в сети, ЗДЕСЬ парень интересно через 74HC00 организовал. Но это если от HIGH нужно ребутнуть. Может кому пригодится.
     
  19. nikolz

    nikolz Гуру

    Сообщения:
    3.277
    Симпатии:
    363
    попробуйте увеличить емкость.
    если надо чтобы и питание нормально отрабатывалось ставьте супервизор питания.
    Либо паяйте доп схему Что и как можно сказать лишь по сигналам при включении питания
    Можно еще управлять по EN вместо RST
     
  20. Vypra

    Vypra Новичок

    Сообщения:
    49
    Симпатии:
    0
    ????
     

Поделиться этой страницей