Тут соберу некоторые свои наблюдения и наработки по популярным блокам питания, которые часто используют при сборке GyverLamp.
Итак, самая частая проблема, с которой встречаются новички, заключается в том, что сенсорная кнопка на базе чипа TTP223 живет своей жизнью.
Симптомы: Лампа сама включается\выключается, переключается, кнопка "залипает" во включенном состоянии.
Вторая проблема, с которой встречаются пользователи - симптомы: матрица мерцает, вообще не включается, на матрице темно - включаються рандомные светики, матрица работает только при подключении платы ESP8266 к USB компьютера.
Если вы встретились с одним из этих симптомов вам сюда.
Сразу хочу предупредить скептиков, и человеков "у которых все работает" - я не претендую на абсолютную правоту. И охотно Вам верю. Но тем не менее, собрав несколько штук ламп (и не только лампы, и не один год), я наработал некоторый опыт. Которым хотелось бы поделится.
Кнопка: Мною замечен интересный факт - чем ниже напряжение питание кнопки, тем выше ее чувствительность, при некотором минимальном пороге питающего напряжения, она начинает отслеживать "фазы луны" и передвижения, обитающих в вашем доме, "домовых" и других "барабашек", а так же соседскую кошку.
А нестабильность ее работы - совокупность двух основных факторов.
Первый фактор - внешние наводки от БП, от WiFi, да от чего угодно.
Второй фактор - нестабильность питающего напряжения.
Борьба с первым фактором -
- Припаять керамический конденсатор, емкостью 22-100нФ, прямо между точками питания TTP223 - Vcc и Gnd.
- Подключать кнопку к контроллеру с помощью экранированного кабеля (от мышки, от акустики, да хоть от антенны если так удобнее).
- У платы Wemos D1 Mini очень не эффективная антенна WiFi (да и многие другие nodeMCU качеством антенны не блещут, хотя и встречаются и противоположные примеры), - я всегда отрезаю скальпелем волнообразный участок антенны возле П-образного основания, и к оставшемуся "П" припаиваю кусочек провода малого сечения длинной 83мм. Это резко уменьшает мощность, выдаваемую модулем в эфир (а эта излишняя мощность так то не плохо колбасит кнопку). Ну и это решение неплохо увеличивает как радиус, так и устойчивость связи. Дело в том, что плохо "чувствуя" роутер, модуль WiFi контроллера дубасит в эфир со всей дури. После модификации антенны, для отличной связи такая мощность уже не нужна, да и раньше не помогала, но такова логика работы модуля, в условиях неуверенной связи.
- Борьбу с электромагнитными наводками от некоторых популярных БП, вы найдете по ссылкам ниже. Те же решения можно применять и на других моделях, физика процессов для всех +- одинакова.
Борьба со вторым фактором -
- Во первых, я настоятельно рекомендую питать кнопку от выхода 3.3в платы контроллера. Напряжение на выходе БП всегда плавает (об этом поговорим ниже). И чем больше оно плавает, тем ненадежнее работает кнопка. Запитывая ее от 3.3v, с платы контроллера, мы более-менее гарантируем ей стабилизированое напряжение питания. К тому же параметрические стабилизаторы таки не плохо отсеивают часть импульсных помех от БМ и работающей матрицы.
- К тому же, питаясь от +5в, кнопка и на своем выходе формирует сигнал так же близкий к 5-ти вольт. Хотя независимые исследования, проведенные зарубежными пользователями, и указывают на то, что ESP8266 таки толерантна к 5-ти вольтовой логике, но это нигде не документировано, и не подтверждено производителем. Поэтому этого нужно избегать.
- Итак, питание кнопки ТОЛЬКО от 3.3 вольта.
Теперь мы плавно переходить к борьбе с симптомами, но уже со стороны БП.
Не секрет, что при сборке лампы новички (да и не только они) покупают либо готовые наборы, либо самые дешевые и популярные модели БП. Короче, жажда "халявы" рулит миром! Эта жажда не обошла и меня.
Тут я себе позволю дать несколько ссылок на свои сообщения, дабы не плодить сущности, и не писать заново "многа букафф".
ESP, IoT - WiFi лампа-будильник. Прошивка FireLamp_EmbUI
В общем я чуть поправил интерфейс и коннект к WiFi, но несколько коряво, а именно в здесь: if(millis()>30000) // после реконекта пытается снова выполнить эту секцию, хз как правильно, делаю так, прошу подправить jee.wifi_connect(); т.е. суть в том, что после реконнекта снова попадаем...
community.alexgyver.ru
ESP, IoT - WiFi лампа-будильник. Прошивка FireLamp_EmbUI
44139 @kostyamat, Разобрал лампу, достал БП(ну интересно стало!). На вас китайцы не много сэкономили на фильтре, ну и блокинг-генератор наверно не настроенный. Эффект "радуга 2D" примерно пол часа на полной яркости( #define CURRENT_LIMIT (2500U) ) 47 градусов , вполне приемлемо. Зато...
community.alexgyver.ru
ESP, IoT - WiFi лампа-будильник. Прошивка FireLamp_EmbUI
44139 @kostyamat, Разобрал лампу, достал БП(ну интересно стало!). На вас китайцы не много сэкономили на фильтре, ну и блокинг-генератор наверно не настроенный. Эффект "радуга 2D" примерно пол часа на полной яркости( #define CURRENT_LIMIT (2500U) ) 47 градусов , вполне приемлемо. Зато...
community.alexgyver.ru
ESP, IoT - WiFi лампа-будильник. Прошивка FireLamp_EmbUI
44139 @kostyamat, Разобрал лампу, достал БП(ну интересно стало!). На вас китайцы не много сэкономили на фильтре, ну и блокинг-генератор наверно не настроенный. Эффект "радуга 2D" примерно пол часа на полной яркости( #define CURRENT_LIMIT (2500U) ) 47 градусов , вполне приемлемо. Зато...
community.alexgyver.ru
ESP, IoT - WiFi лампа-будильник. Прошивка FireLamp_EmbUI
Перешивал FS без конфигов, теперь тоже очень жду возможности шитья FS через WEB тут https://community.alexgyver.ru/threads/wifi-lampa-esp8266-esp32-home-assistant-mqtt-dmx-art-net.3438/ человек, судя по описанию, реализовал http-update не только прошивки, но и ФС. Нельзя ли подглядеть как он...
community.alexgyver.ru
Вот тут борьба с "Г-ом", которое часто идет в комплектах для сборки, да и просто продается везде на Али, под разными брендами, в разных корпусах, но несут в себе +- одинаковые "китайские" схематические решения.
Сразу говорю, Я НЕ БЛОГЕР, видео пишу лишь для показать, сценария нет, говорю сумбурно, но по делу.
Краткая вытяжка и выводы из видео выше:
- Не все БП одинаково полезны.
- С большинством из них можно бороться, но проще купить хороший БП и не парится
- Провода от БП к лампе должны быть как можно короче, и сечением не менее 0.5мм2, а лучше 1.0мм2.
- БП из набора, даже после переделки, все равно НЕ МОЖЕТ БЫТЬ РЕКОМЕНДОВАН ни под каким видом. Но если все же именно он у вас есть, то провод к лампе менять сразу, как минимум на 2х0,75мм2.
- Лампу после сборки всегда нагружать максимальным током на "Белая лампа" и контролировать напряжение на лампе. ЕЩЕ РАЗ - не на выходе БП, а именно на матрице и контроллере. ЕСЛИ ОНО НА КОНТРОЛЛЕРЕ НИЖЕ 4.5в - ваша кнопка и\или матрица нормально работать не будут.
- Именно с просадкой напряжения связаны все глюки, в том числе и - "лампа работает нормально только если подключено USB". Когда вы подключаете USB кабель, контроллер запитыветься от ПК, и встроенный в него стабилизатор 3.3 вольта начинает нормально работать и выдавать контроллеру ровно 3.3 вольта.
По поводу глюков матрицы.
Как известно, для правильной работы матрицы входной размах сигналов на ее входе должен быть 0.7*Vcc. То есть, если матрица питается от напряжения ровно 5 вольт, уровень сигнала на ее входе должен иметь размах в 0.7*5 = 3.5в.
Выходной размах сигнала, который может обеспечить ESP8266 ~ 3.20 - 3.28 вольта, что уже ниже номинального значения!
На практике же, как правило, все работает нормально, но сильно на грани.
Любая просадка питания контроллера ниже 3.3 вольта, или конкретный экземпляр матрицы\контроллера имеет чуть другие характеристика входа\выхода, и вот - ваша матрица "вытворяет".
На форуме было предложено огромное количество всяческих решений этой проблемы. Начиная от понижения питания матрицы за счет падения напряжения, на последовательно включенном ей, диоде (не особо гуманное, диод дико греется), отрезание первого от входа ЛЕД на матрице от Vcc и запитка его отдельно через диод (первый чип-ЛЕД в таком случае работает как транслятор уровня, эффективно, но есть большая опасность угробить матрицу), до использование специализированных, труднодоступных и дороговастых микросхем.
Я же в свое время нашел, ИМХО, самый простой и изящный способ "вольтодобавки", опустив массу (GND) LED -матрицы, по отношению к массе (GND) контроллера, с помощью диода, на велечину где-то 0.8 вольт.
Вот по такой схеме, как тут https://community.alexgyver.ru/threads/wifi-lampa-budilnik-obsuzhdenie-proekta.1411/post-39457
Небольшие рекомендации по сборке:
- Не брезгуйте ставить на каждом конце, каждого из питаний, как 5в, так и 3.3в, керамический конденсатор, емкостью 22-100нФ.
- Не используйте тонкие провода от БП до матрицы. Просадки напряжения под нагрузкой - это первейшая причина глюков, даже шумы и наводки не так страшны. К тому же, они могут попросту отгореть.
- НЕ используйте никакие разъемы (качественные медненные клемники на вынты - можно, сам использую внутри) между лампой и БП, только пайка. Я наблюдал просадку в 0.7в после разъема и не слабое нагревание самого разъема.
- Правильная схема подачи питания такая: основное питание должно приходить прямо на матрицу (на средние контакты), на те же контакты припаеваем дополнительный конденсатор на 470 - 1000мкФ. Тут главное не пере-увлечься с его емкостью, "чем больше - тем лучше" тут не работает, каждый "холодный" старт лампы будет адски грузить ваш БП, он может попросту уйти в защиту или даже выйти из строя. Я ставлю в среднем 470-1000мкФ, в зависимости от того, какого объема конденсаторы установлены на плате БП. Чем большая емкость в выходном фильтре БП, тем меньше на противоположном конце. Потом уже от матрицы питание по кабельку с разъемом я подаю на плату контроллера (разборная конструкция, я использую те же папа\мама, что приезжают припаянными к матрице). Вот так выглядит https://community.alexgyver.ru/attachments/img_20200717_194012-jpg.14988/ Внутри, плохо но видно, установленный прямо на контакты матрицы конденсатор.
- Возле контроллера по 5 и 3.3 вольт также стоит поставить керамику и 220мкФ, опять же - большей эмкости ставить не стоит, потребление контроллера мизерно, а БП лишний раз грузить зарядкой огромной массы конденсаторов - не надо.
Внимание! На рынке появились NodeMCU, у которых некоторые из выводов GND (масса, - питания) ни к чему не подключены. В результате, при подаче питания от внешнего БП, с использованием такого вывода, приводит к неработоспособности схемы, без подключения к USB.
Тут https://community.alexgyver.ru/threads/rgb-podsvetka-potolka.5509/post-91052 фактически идеальное, и проверенное, решение для питания лампы от внешних БП. Предполагается, что можно использовать внешние БП не на 5В, а от 12В до 30В. Это уменьшает требования к проводам (просадки\нагревание), самому БП, пульсациям с него и стабильности выходного напряжения.
Как уменьшить выходное напряжение некоторых БП.
Удачных сборок, друзья! Надеюсь информация была полезной.
Изменено: