Closed badenbaden closed 4 years ago
Добрый день! Да, вы все правильно пишите! Хочется СТМ32 конечно, но пока желающих нет на него переписать прошивку :(.
Смотрите, я могу помочь с прошивкой, но мне сильно быстрее будет это делать имея плату на руках. Сможете тогда прислать плату обычным письмом и тиньку84? Я оплату скину.
По энергопотреблению: надо МОСФЕТом отключать ЕСП полностью - вот где главная проблема. Она только по даташитам ничего не потребляет, а на деле в зависимости от партии от 2 до 30мкА во сне. Там еще SDRAM же. Если сможете с этим помочь, будет замечательно. А увеличение входов не сильно повлияет на него. Можно сразу ЕСП12 поставить, кстати. Чтобы потом ОТА сделать.
Конечно смогу прислать. Займусь на днях платкой. ЕСП12 только из-за 4 мб памяти?
Конечно смогу прислать. Займусь на днях платкой. ЕСП12 только из-за 4 мб памяти?
Плюсы ЕСП в 4мб памяти, потом кстати можно попробовать сделать обновление прошивки attiny84. Но думаю, лучше на СТМ32 перейти все таки, чем обновление тиньки делать. Хотя код есть.
Набросал схему. Хотелось бы комментариев - вдруг что не так. У контроллера есть 1 свободная нога, может кнопку перенести на свободный пин? Ну и схему первичной прошивки тини и есп надо проверить.
В протеусе накидал симуляцию ключа для включения есп. Полно дешевых подходящих транзисторов, но собственный ток утечки около 3 мкА. Это конечно меньше 30, но больше 2х. А вот с NVTR4503NT1G или NVTR4501NT1G, опять же по данным протеуса, утекает от 0 до 0,01 мкА!!! Надо протестить такой вариант в реальной схеме.
Не включено:
Включено:
ESP точно надо через полевик выключать. Там только через светодиод (ногу TX) утекает 3мкА =(. вот тут я еще силовые ключи выписал: https://github.com/dontsovcmc/waterius/issues/3#issuecomment-380848998 по транзисторам помочь не могу - нужен электронщик. может что на форумах пишут? должны же быть энергоэффективные схемы с отключением ЕСП.
Alarm и wakeleak по своей сути одинаковые входы - везде надо будет будить устройство и передавать состояние входов. R17 убрать, а контакты 2-4-6 замкнуть. R16 - сделать 300ом. Возможно вместо него следует дроссель поставить - для длинных проводов наводки убирать. В целом защита от перезагрузки есть в прошивке.
R19, R18 тоже убираются. Для протечки не нужно дополнительных. Достаточно Аналогового входа. Внутри Тиньки есть 20к подтягивающие резисторы. Мы их включаем и сравниваем уровень с покоем.
Вообще говоря, возможно нельзя ESP включать так, как вы предлагаете, лишая GND. Надо со спецами говорить. МК может быть плохо, от того, что питание подано, а земли нет.
MCP1700T-3002. На 3В.
Кнопку точно на другой пин. Юзабилити давно хочет этого.
"Причесал" схему. Добавил порты для прошивки. Резисторы R18 R19 пока оставил, в крайнем случае их номинал меняется на раз-два, либо ставится перемычка.
Я думаю стоит ставить резистор прям в датчик протечки. Тогда можно будет обрыв линии детектировать, что важно. Да, R18,19 не мешают. В идеале там пусто будет. А R30 зачем?
Вспомнил еще один плюс от такого Ватериуса: возможность прикрепить внешнюю антенну. Правда это все колхозить только... https://www.youtube.com/watch?v=fQIwG2ooE9k (
Добрый день! Это не здоровый способ питания esp, может быть утечка в таком случае. Ставьте отдельный регулятор с EN входом, либо ESP как нагрузку ставьте в коллектор транзиторного ключа. Как-то так:
Или на полевых, разницы нет.
@OloloevReal Да, я склоняюсь к вашему мнению. О, вот есть пример, когда по кнопке подается питание и сохраняется до отключения: https://www.makermoekoe.net/post/a-dashbutton-like-thing-called-octoclick
В плате Adafruit используется DMG3415 .. Вот бы европейский аналог найти. Мне кажется это то, что нужно.
А R30 зачем?
Защита от выгорания порта при коротком замыкании.
@badenbaden КЗ на землю не страшно. Посмотрите, здесь про устройство портов: http://easyelectronics.ru/avr-uchebnyj-kurs-ustrojstvo-i-rabota-portov-vvoda-vyvoda.html Для проверки входа мы:
Вспомнил еще один плюс от такого Ватериуса: возможность прикрепить внешнюю антенну. Правда это все колхозить только... https://www.youtube.com/watch?v=fQIwG2ooE9k (
Зачем колхозить, когда есть вот такой модуль - ESP07
Выводы полностью совместимы.
@badenbaden КЗ на землю не страшно. Посмотрите, здесь про устройство портов: http://easyelectronics.ru/avr-uchebnyj-kurs-ustrojstvo-i-rabota-portov-vvoda-vyvoda.html Для проверки входа мы:
включаем подтягивающий резистор проверяем уровень компаратором выключаем подтягивающий резистор
Я не догоняю. Как подтягивающий резистор защитит от КЗ? ALARM это выход. Если порт выключен, то все хорошо. А если я перепутал и замкнул землю и ALARM. При возникновении тревоги контроллер подаст на этот выход питание. Порт максимум можно нагрузить на 40 мА (по крайней мере в атмега328 так). При КЗ порт выгорит моментально. А если стоит резистор, то КЗ нет и при данном номинале нет и превышения по току. Есть такой популярный контроллер МегаД, так там каждый порт так защищен.
@badenbaden ааа я не понял, что Alarm - это выход. Вопрос снят! О, ESP-07 - это чудесно, спасибо!
Единственное, есп07 точно имеет 512кб памяти, возможно есть на 1мб, а вот по второй картинке нужно узнавать. Это заморочки, если иметь возможность расширение функционала с большим объемом памяти. По вопросу включения транзистором ЕСП - вопрос можно решить несколькими путями.
Вопрос только в том, что утечка будет в любом случае, а вот где выгодней для нашего случая покажет только натурные испытания.
@OloloevReal - Приветствую! А где будет утечка? Земли на есп нет (при выключенном транзисторе, все входы подключены к +, линии данных SDA и SCL также подтянуты к +. Через что утекать будет. Схема ключа абсолютно рабочая, вот только не тестированная на питании контроллера.
Еще вопрос, а есп впадает в спячку или тини просто вырубает ее выводом EN? Если впадает в спячку, то в какой режим. Это я про оригинальный Ватериус. И вообще, что мы можем выиграть, вырубая всю есп?
@badenbaden
Приветствую! А где будет утечка? Земли на есп нет (при выключенном транзисторе, все входы подключены к +, линии данных SDA и SCL также подтянуты к +. Через что утекать будет. Схема ключа абсолютно рабочая, вот только не тестированная на питании контроллера.
Там же еще какие-то RX и TX есть, а есть еще пыль и влажность и еще куча необъяснимых явлений. По сути, если в документации не указанно что микроконтроллер так можно запитать, - значит нельзя. Давным давно пробовал через транзисторный ключ включать ESP, у меня не получилось, ESP зависала в непонятном состоянии. Разбираться почему это происходило не стал, может быть транзистор полностью не открывался, не знаю. А чем вы собираетесь открыть мосфет, для него обычно 5 вольт нужно на затвор
Единственное, есп07 точно имеет 512кб памяти
Пути: а. Оставить существующую схему питания от стандартного ватериуса и использовать модули нормального качества.
б. стаб с выходом EN
в. Транзистором N-канальным (как я предлагаю) или Р-канальным (коммутация + питания).
А где будет утечка?
Еще вопрос, а есп впадает в спячку или тини просто вырубает ее выводом EN? Если впадает в спячку, то в какой режим. Это я про оригинальный Ватериус. И вообще, что мы можем выиграть, вырубая всю есп?
А чем вы собираетесь открыть мосфет, для него обычно 5 вольт нужно на затвор
@badenbaden
Приветствую! А где будет утечка? Земли на есп нет (при выключенном транзисторе, все входы подключены к +, линии данных SDA и SCL также подтянуты к +. Через что утекать будет. Схема ключа абсолютно рабочая, вот только не тестированная на питании контроллера.
Там же еще какие-то RX и TX есть, а есть еще пыль и влажность и еще куча необъяснимых явлений. По сути, если в документации не указанно что микроконтроллер так можно запитать, - значит нельзя. Давным давно пробовал через транзисторный ключ включать ESP, у меня не получилось, ESP зависала в непонятном состоянии. Разбираться почему это происходило не стал, может быть транзистор полностью не открывался, не знаю. А чем вы собираетесь открыть мосфет, для него обычно 5 вольт нужно на затвор
Пыли там точно не будет. Влажности по идее тоже. К ТХ подключен к светодиод (через который у ватериуса утекает 3 мкА, со слов @dontsovcmc)? но земли у него опять же нет. Симуляцию в протеусе я выкладывал [тут] (https://github.com/dontsovcmc/waterius/issues/128#issuecomment-604642790) У выбранного транзистора - Пороговое Напряжение Vgs 1.75В
@badenbaden я думаю надо в интернете найти решение задачи, оно должно быть. ESP надежнее отключать целиком, чтобы не связываться с китайскими заморочками ). И лучше, чтобы отключался плюс... )
@badenbaden
У выбранного транзистора - Пороговое Напряжение Vgs 1.75В
У выбранного это какого? NVTR4503?
Посчитайте симуляцию на эквивалентной нагрузке - ESP потребляет 200-300 мА. Боюсь что может быть существенное падение напряжения, а если питать от 3В то это уже ниже допустимого порога для ESP
@OloloevReal Вы абсолютно правы. Будет падение напряжение. Были мысли, что мои симуляции надо бы провести с адекватной нагрузкой, а не просто со светодиодом. Но я поступил так. Переделал схему включения ESP на P-канальный мосфет. Из той же линейки, что и NVTR4503 (N канальный) есть транзистор NVTR4502 (P канальный). Параметры у них почти одинаковые и он нам также не подходит (хотя при напряжении от 5 вольт он должен работать нормально). Симуляции хорошо, но испытания на настоящих детальках лучше. Купил в чип-дипе транзистор Fairchild FDN306P. Хотел еще Alpha & Omega AO3401A, но они их потеряли)). Еще 1 из возможных кондидатов - ON Semiconductor NTS2101P. Распиновка у всех совпадает. В общем к испытаниям. Тестовый стенд - питание 3,3в. (нет 3 вольтового стаба под руками, хотя мог бы и в дипе купить), транзистор FDN306P, Gate (Затвор) подключен к + через 2 последовательно включенных резистора 3,3к, Source (Исток) подключен к +, к Drain (Сток) подключена нагрузка в виде 4 параллельно включеных резисторов 39 ом (дополнительно, для индикации нагрузки, параллельно резисторам включен светодиод с резистором 39 ом), в разрыв плюсового провода от источника питания включен амперметр. Управление транзистором осуществляется путем притяжки Gate к земле через резистор 3,3к.
Фото стенда:
Потребление схемы при высоком уровне Gate (Затвор), Тестер в режиме измерения мкА:
Потребление схемы при низком уровне Gate (Затвор), Тестер в режиме измерения А:
Напряжение на источнике питания (без нагрузки):
Напряжение на источнике питания (с нагрузкой 0,33А):
Напряжение на нагрузке (параллельно включенные резисторы):
Падение напряжение на тестере в режиме Амперметра:
Если посчитать сумму 2.86 и 0.15 , то получается более 3 вольт. Но напряжение питания 3.3 в. Также, если нагрузка будет не такой большой, а в подавляющем большинстве случаев так и будет (ЕСП кажется потребляет импульсно), то напряжение просядет еще меньше. Ну и погрешность моих простейших приборов никто не отменял. Хотел проверить на реальной есп, но дома не оказалось. Как то так.
Обновленная схема выглядит пока так.
@badenbaden вы в Москве? напишите мне в телеграм
@badenbaden ошибка в порту прошивки attiny: waterleak2 (PA5) нужен пин, а не waterleak1. https://github.com/SpenceKonde/ATTinyCore/blob/master/avr/extras/ATtiny_x4.md
@badenbaden вы в Москве? напишите мне в телеграм
В личку или группу? Да, я в Москве.
ошибка в порту прошивки attiny: waterleak2 (PA5) нужен пин, а не waterleak1.
Вот это не понял. waterleak1 и waterleak2 это 2 независимых входа для 2х датчиков протечки. Оба порта ADC. Что не так?
@badenbaden в личку. вы вытащили 6 пинов для прошивки тиньки. но в них нет PA5. вместо него PA7.
Теперь понял)) Это я поменял их местами, для лучшей разводки, а в порту забыл.
Продолжение экспериментов. Т.к. нет в наличии MCP1700T-3002E, то решил запитать через DC-DC. Настроил выход на 2,96 вольт (специально чуть ниже требуемых), согласно моих тестеров. В качестве нагрузки подключил ESP8266 модель 12. Прошил прошивку ESPEasy.
Общий вид (квадратный вольтметр занижает показания на 2-3 сотки, отображает напряжение после dc-dc):
ЕСП с резисторами, соплями и проводами:
Стенд по крупнее:
ЕСП надо бы нагрузить. На сколько смог нагрузил ее разными отправками данных по HTTP и MQTT, синхронизацией времени, опросом датчиков и т.д. В общем как умел)) Ниже кусок лога есп через web интерфейс:
Тут главная ESPEasy. Видно, что нагрузка 100%, это конечно нагрузка наверняка процессора, но тоже важно.
При всех моих манипуляциях напряжение питания не изменялось, проверить потребление в любом состоянии я не смог. Мой тестер с падением напряжения на проводах не дал мне этого сделать - показывал 196-198 мА потребления, но есп не стартовала. Вообще заметил, что все эти китайские провода и макетки очень сильно вносят погрешность на таких низких напряжениях. На физической плате из-за пайки и малого размера между элементами такого не будет наблюдаться.
Результаты: При питании от 3 вольт и использовании транзистора FDN306P в качестве ключа ЕСП работает стабильно. Думаю что питание через MCP1700 не внесет никаких корректив.
Несколько рендеров разведенной платы.
@badenbaden вкуснота то какая! =) p.s. не вижу габариты: а кнопка и светодиоды напротив дырок под вводы на корпусе? Для справки: MCP1700T-3002E дает 3В вплоть до 3.20В на входе. Проверял.
@badenbaden на заметку, вдруг пригодится мой опыт Вполне удачно получилось разместить индикацию и кнопку управления в резиновых заглушках распредкоробки
Отверстие для светодиода делается сквозное и садится на герметик. А кнопка размещается внутри заглушки без необходимости делать отверстия в резине, нажатием продавливается и нажимается.
габариты платы 73х73.
Кнопка так изначально и планировалась - без прорезания отверстий. Светодиоды смотрят в верх, через кабельные вводы. И как я и говорил - они сами у этой коробки работают как сальник. Но для верности герметиком можно промазать. Вот скрины в корпусе.
Тут "вскрыл" заднюю часть коробки:
@badenbaden а в чем смысл тогда использовать Г образную кнопку?
а в чем смысл тогда использовать Г образную кнопку?
Как в чем? Плата расположена в другой плоскости относительно кабельного ввода. Потому то и "Г" образная. Можно поставить стандартную, но чтоб ее нажать нужно будет вскрывать крышку. В первом сообщении темы есть фото коробки, посмотрите.
@badenbaden
Кнопка так изначально и планировалась - без прорезания отверстий.
А как без отверстия на нее нажимать тогда?
Длина штыря кнопки подобрана так, что он упирается в центр кабельного ввода. Коробка сделана методом двойной экструзии - корпус жесткий, а кабельные вводы из мягкого материала, похожего на резину. Нажатие снаружи вызывает продавливание кабельного ввода, который и нажимает на кнопку. Отверстие не нужно, все герметично. Вот видео об этой коробке.
Можно уже заказать платы и компоненты. Только вот дойдут ли? Везде все перекрывают блин.
@badenbaden а сколько потребляет поддержание HIGH на полевом транзисторе? Он ведь в таком виде должен спать, верно?
@dontsovcmc Вот тут фото и описание моего первого теста. Мой тестер показывает 00.0 в режиме измерения до 200 мкА. Получается что менее 1 десятой микроампера. По даташиту так:
Вот к чему мы пришли - https://github.com/badenbaden/Waterius-Attiny84-ESP12F
На текущий момент платы заказаны. По прибытию начнем тестирование.
MCP1700 выдет максимум 250мА. Для ESP32 рекомендуют источник питания на 500мА. Рекомендую сделать фильтры по питанию между +3V и +3V-ESP. BLM31 и конденсаторы. Т.к. во время включения или работы ESP мы получем очень много шумов.
Не совсем понял, что значит между +3V и +3V-ESP? В оригинальной версии этот стаб прекрасно тянет есп. И у нас не есп32 а есп8266.
В пике ESP8266 тоже потребляет в пике до 500мА
@SergeiSOficial Вы все правильно пишите. Только это прототип. потребуются дополнительные элементы-добавим, будут помехи - разделим. Да и не для военной промышленности мы разрабатываем)). А по поводу потребления в 500 мА - что-то более сотни устройств с есп и таким стабом работают очень и очень давно. Все схемы и разводка в открытом доступе. Конструктивные предложения приветствуются.
@SergeiSOficial огромное спасибо за комментарий! Ого, а чем эти фильтры отличаются от smd дросселей-катушей которые можно часто встретить на питании?
Такой фильтр можно еще на все входы от счетчиков поставить?
MCP1700 держит пики превышающие 250мА. Если не хватит, другой стаб поставим. У тебя есть на примете? Я вот тут выписываю https://github.com/dontsovcmc/waterius/issues/3#issuecomment-380848998
Добрый день!
Евгений! Повторил Ваше устройство, спасибо, что делитесь!)) Хочется иметь возможность подключить большее количество счетчиков (например у меня есть 2 стояка и проложен провод между ними) для использования 1 устройства для всех стояков. Также хочется иметь датчики протечки по нескольким зонам. Герметичный корпус тоже очень неплохо было бы иметь.
Вот мои мысли: Т.к. attiny85 не имеет столько ног, то взять предлагаю attiny84 (тем более, что доработка кода там минимальна). Стоимости этих микросхем почти сопоставимы, разница в размерах не критична. Герметичный корпус на базе распределительной коробки с задатками герметичности. Обработка датчика протечки по 2 зонам.
Возможные проблемы: Увеличение количества сохраняемых показаний счетчиков (если их будет больше 2х) повлечет за собой меньший ресурс eeprom. Как поведет себя attiny при подключении счетчика длинным кабелем. Возможно увеличится энергопотребление.
Изыскания: В строительном магазине нашел очень красивую распределительную коробку от ABB. Класс защиты IP65 (т.е. полная защита от пыли и защита от водяных струй), думаю больше и не нужно, защита от морских волн и погружения на 1 метр в квартире рассматривать не стоит. Кабельные вводы встроены в коробку методом двойной экструзии. Просто прокалываешь шилом или отверткой отверстие и вставляешь кабели. Ввод работает как сальник. Стоимость коробки - 88 рублей. Внутри есть возможность установить и закрепить плату. Вот ее фотки.
Вот мои наброски этой конструкцией в 3d.
Кнопку можно нажимать через подвижный ввод. Светодиод фиксируется в соседнем вводе. ESP между ними (не нарисовал на эскизе).
Собственно для чего я это написал. Заменить на тини84 я могу, плату развести тоже могу, а вот программер из меня хреновый)). Евгений, если есть желание помочь с адаптацией прошивки под тини84 с заявленными плюшками, буду очень рад. В свою очередь предоставлю отчет о проделанной работе, выложу фото получившегося.