Vypra
Member
Есть детективная история. Работали у меня весы для улья пол года. Теперь начали жить своей жизнью.
Предистория. Решил я заменить модуль стабилизатора питания 4,4В-3,3В (стоял до NODE MCU от литиевого аккумулятора) на 2 последовательных диода. Модули стабилизаторов 3.3В плохие, при просадке аккумулятора начинал пищать (порог к модуля 250мА). Все работало месяц на диодах.
Потом сгорел один из двух DS18B20. Ну думаю плохой датчик. Заменил. Через 2 недели еще один горит. Не знаю на том самом пине или нет. При этом вся система работает. Это уже не совпадение. Чего им гореть, они от 3 до 5 вольт, по питанию не могло. Один сгоревший датчик на другой рабочей плате показывает 0, другой сгоревший показывает -127. Оставил без датчика. Наблюдаю.
Еще через пару дней не приходят СМС. Снимаю весы, смотрю. NODE MCU работает, потом входит в сон и не выходит. Думал RTC. Заменил. Но нет, на новых часах та же история. Смотрю на осциллографе, при сработке будильника на пине RST падает напряжение как и должно (RTC3231 посылает через конденсатор лог.0 на RST) , но после сброса на RST напряжение не поднимается до лог.1. На RST половина напряжения. Поменял сопротивление подтяжки RST к плюсу с 10К на 4,7К. Завелось. Напомню на 10К все работало пол года.
Теперь NODE MCU работает неадекватно. Программа начинает работать и на каком-то моменте циклично перезагружается с ошибкой
ets Jan 8 2013,rst cause:2, boot mode3,6)
load 0x4010f000, len 1384, room 16
tail 8
chksum 0x2d
csum 0x2d
v8b899c12
Думал ошибка в коде. Выбросил с кода блок на котором перезагрузка, начало перезагружаться дальше в другом месте кода. Такое чувство, что перезагрузка после некоторого времени работы, а не от ошибки в коде.
Взял абсолютно такие же весы (благо не одни), распайка деталей такая же, прошивка такая же, все работает. Дело не в коде.
Еще одно наблюдение. Когда в циклическую перезагрузку входит мигает диод, нажимаю и отпускаю кнопку flash на плате, диод не мигает. Нажимаю кнопку RST на плате опять в цикл, диод мигает. На других весах нажатие flash не влияет на выполнение программы. На этих типа пин какой-то «подвисает».
Помогает полное отключение питания. В том числе вынуть батарейку с часов. А бывает код выполняется нормально, запустится, поработает пару часов и снова глючит.
Arduino IDE 1.8.12, Версия ядра ESP8266 2.6.3. Пробовал на 2.5.2 с ESP8266-I2C-Driver (чтоб исключить зависание I2C) – та же история.
С питанием нормально. Подключал питание от USB кабеля в разъем Node MCU, 3,3 В после стабилизатора на плате, питание стабильное. Но глюки есть.
Ну вот что может быть? Описал все действия и историю. Причину не могу установить уже пару дней.
Предистория. Решил я заменить модуль стабилизатора питания 4,4В-3,3В (стоял до NODE MCU от литиевого аккумулятора) на 2 последовательных диода. Модули стабилизаторов 3.3В плохие, при просадке аккумулятора начинал пищать (порог к модуля 250мА). Все работало месяц на диодах.
Потом сгорел один из двух DS18B20. Ну думаю плохой датчик. Заменил. Через 2 недели еще один горит. Не знаю на том самом пине или нет. При этом вся система работает. Это уже не совпадение. Чего им гореть, они от 3 до 5 вольт, по питанию не могло. Один сгоревший датчик на другой рабочей плате показывает 0, другой сгоревший показывает -127. Оставил без датчика. Наблюдаю.
Еще через пару дней не приходят СМС. Снимаю весы, смотрю. NODE MCU работает, потом входит в сон и не выходит. Думал RTC. Заменил. Но нет, на новых часах та же история. Смотрю на осциллографе, при сработке будильника на пине RST падает напряжение как и должно (RTC3231 посылает через конденсатор лог.0 на RST) , но после сброса на RST напряжение не поднимается до лог.1. На RST половина напряжения. Поменял сопротивление подтяжки RST к плюсу с 10К на 4,7К. Завелось. Напомню на 10К все работало пол года.
Теперь NODE MCU работает неадекватно. Программа начинает работать и на каком-то моменте циклично перезагружается с ошибкой
ets Jan 8 2013,rst cause:2, boot mode3,6)
load 0x4010f000, len 1384, room 16
tail 8
chksum 0x2d
csum 0x2d
v8b899c12
Думал ошибка в коде. Выбросил с кода блок на котором перезагрузка, начало перезагружаться дальше в другом месте кода. Такое чувство, что перезагрузка после некоторого времени работы, а не от ошибки в коде.
Взял абсолютно такие же весы (благо не одни), распайка деталей такая же, прошивка такая же, все работает. Дело не в коде.
Еще одно наблюдение. Когда в циклическую перезагрузку входит мигает диод, нажимаю и отпускаю кнопку flash на плате, диод не мигает. Нажимаю кнопку RST на плате опять в цикл, диод мигает. На других весах нажатие flash не влияет на выполнение программы. На этих типа пин какой-то «подвисает».
Помогает полное отключение питания. В том числе вынуть батарейку с часов. А бывает код выполняется нормально, запустится, поработает пару часов и снова глючит.
Arduino IDE 1.8.12, Версия ядра ESP8266 2.6.3. Пробовал на 2.5.2 с ESP8266-I2C-Driver (чтоб исключить зависание I2C) – та же история.
С питанием нормально. Подключал питание от USB кабеля в разъем Node MCU, 3,3 В после стабилизатора на плате, питание стабильное. Но глюки есть.
Ну вот что может быть? Описал все действия и историю. Причину не могу установить уже пару дней.