Супервизор для esp32

Тема в разделе "ESP8266, ESP32", создана пользователем olegrf67, 13 янв 2022.

  1. olegrf67

    olegrf67 Нуб

    Подскажите как реализовать супервизор (детектор пониженного напряжения) для ESP32 и нужен ли он вообще? У меня часто прошивка сбрасывается (вот тема об этом: http://forum.amperka.ru/threads/Сбрасывается-прошивка-esp32.22354/), непонятно почему это происходит. Подозрение пало на то, что это происходит когда выключается питание, тем более, что у меня блоки питания китайские, на них после выключения ещё светодиод горит секунд 10 плавно затухая, т.е. запасается видимо в конденсаторах энергия и потом плавно напряжение уменьшается - читал, что такое вредно для микроконтроллеров и может приводить к стиранию памяти (что у меня и случается). Попробовал реализовать схему защиты от этого на детекторе пониженного напряжения КР1171СП47 - он при снижении напряжения ниже 4,7 В (примерно) должен держать сброс (соединять на ESP32 пин EN с GND).

    https://cloud.mail.ru/public/J4YY/8EpXqA6S4
    [​IMG]

    Вроде бы несложная схема, но ничего не вышло - происходит самопроизвольный ресет с частотой от долей секунды до примерно 10 секунд, очень редко - несколько минут. И причем как-то странно сбрасывается - напряжение на EN не снижается до нуля как при ручном нажатии кнопки EN, а снижается с 3,3 В до примерно 2,5 В и потом восстанавливается.
    Я не понимаю в чём дело, почему срабатывает КР1171СП47? Ведь на осциллограмме видно, что напряжение питания не падало, т.е. не выходило за заданные пределы и срабатывания не должно происходить! И почему такой странный ресет происходит не до нуля, а до 2,5 В?

    https://cloud.mail.ru/public/bXHo/Um57xk6ay
    https://cloud.mail.ru/public/W1SA/R11zKcnaV
    [​IMG]
    [​IMG]

    Возможно я неправильно использую КР1171СП47 без обвязки т.к. в даташите упоминается про резитор и конденсатор с помощью которых можно задать временную задержку на срабатывание? Подскажите плиз в чем дело и может быть как-то мне по-другому можно решить проблему со стиранием памяти ESP32?
     
  2. b707

    b707 Гуру

    не нужен, он и так есть есть в любом МК
    так ведут себя абсолютно любые БП, у которых на выходе стоят конденсаторы

    ИМХО, не страдайте ерундой, миллионы пользователей просто выключают ЕСП и из-за снижения напряжения при выключении прошивка ни у кого не слетает, только у вас. Ищите причины в другом месте
     
    Vovka и olegrf67 нравится это.
  3. parovoZZ

    parovoZZ Гуру

    МК вообще не при чем. Прошивка записана в совершенно другой микросхеме - флеш памяти. Супервизор здесь не поможет - только замена.
     
    olegrf67 нравится это.
  4. olegrf67

    olegrf67 Нуб

    Так, а флэш-память разве не может стираться из-за низких напряжений? О замене речи быть не может, ведь память впаяна в готовую плату, конкретно вот эту, купленную на Амперке https://amperka.ru/product/esp32-wroom-wifi-devkit-v1 (но и на китайских платах с алиэкспресса тоже самое происходит), симптомы такие на всех устройствах (их у меня около 10 штук)
     
  5. b707

    b707 Гуру

    Память на ЕСП отдельно и она меняется.
    слышал, ша с али идут партии ЕСП с битой памятью.
     
  6. Airbus

    Airbus Радиохулиган Модератор

    Они и раньше шли. Я лично попадал. Две 8266 и одна 32
     
  7. parovoZZ

    parovoZZ Гуру

    Нет. При низком напряжении невозможна операция стирания/записи, т.к. внутри стоит повышайка до 12 вольт. При низких напряжениях она неспособна формировать 12 вольт для создания заряда на затворах транзисторов флеш ячеек.
     
    olegrf67 нравится это.
  8. parovoZZ

    parovoZZ Гуру

    Если из амперки, то меняй по гарантии.
     
  9. Slacky

    Slacky Гик

    Если esp32 перегружается по питанию, то она об это сообщает в самом начале загрузки. Нужно просто внимательней посмотреть ...
     
    olegrf67 нравится это.
  10. olegrf67

    olegrf67 Нуб

    Спасибо, видимо дело не в качестве платы или памяти т.к. это не единичный случай, как я уже писал у меня таких плат много и ещё есть китайские - везде такая же история. Дело видимо в программном коде (на микропитоне) всё же, который прошивается туда. Его писал не я, да я и не разбираюсь в этом. Может быть такое, что из-за некорректного кода что-то там в памяти переполняется или не туда записывается и это вызывает стирание в итоге?
     
  11. parovoZZ

    parovoZZ Гуру

    Очевидно, что код во флеш ты не пишешь. Разберись с этим. Посмотри видео на народстриме - там все рассказывается что да как.
     
    olegrf67 нравится это.
  12. Vovka

    Vovka Гик

    Ответ: