Комментарии 13
Когда на телефон идёт входящий звонок, он уходит на ESP?
На практике я этот сценарий не проверял. Проверю, когда буду рядом с колонками.
Вообще A2DP — это протокол для потокового аудио. Для реализации режима hands free используется другой протокол. Поэтому, полагаю, что воспроизведение остановится при входящем звонке, а телефон перехватит управление звуком на себя. Либо все сломается, и надо будет исправлять это в прошивке.
пятидесяти ватные колонки Yamaha
Из фото понять сложно... Но как то они мелковаты для 50Вт, может это пиковая мощность (PMPO)?
Мне кажется, оптимально подавать на вход питания есп32 +5 вольт. LDO будет работать в оптимальном режиме. Когда Вы подаете 3.65 на вход LDO - вполне возможна ситуация, когда при пиках потребления или понижении или повышении температуры окружающей среды LDO выйдет из режима стабилизации. Все же перепад в 300 мВ с учетом достаточно шумного питания - на грани...
Рассуждения о необходимости питания ЦАПА с цифровым входом I2S и платы с ЕСП32 от разных питателей - странно звучат для меня. Думаю, достаточно запитать ЦАП от выхода +3.3 ЕСП32 и все будет хорошо. Заодно понизится выходное напряжение и не надо будет ставить делитель на выходе.
Рассуждения о толерантности входов ЕСП32 к 5 вольтам и с указанием, что в мануале нет упоминания об этом - точно неверны. Входы ЕСП32 НЕ толерантны к 5 вольтам. Защитные диоды там есть, но надежная работа в таком режиме не гарантируется.
В вашем случае ВЫХОДЫ ЕСП32 с напряжением макс 3.3 вольта питают ВХОДЫ устройства с более высоким напряжением питания и Вам просто везет, что высокое напряжение на выходе ЕСП32 воспринимается высоким на входе. Это далеко не всегда так. Хотя часто и так.
Спасибо за комментарий.
Когда Вы подаете 3.65 на вход LDO - вполне возможна ситуация, когда при пиках потребления или понижении или повышении температуры окружающей среды LDO выйдет из режима стабилизации.
Не могу ни подтвердить это ни опровергнуть, но пока все вроде работает. На жару в 30 градусов не выносил, в помещении почти всегда работает кондиционер на комфортных +23 градуса. Но если начнет отваливаться в жару буду знать куда копать.
Думаю, достаточно запитать ЦАП от выхода +3.3 ЕСП32 и все будет хорошо.
Это я пробовал, и при таком подключении ЦАП, шум был максимальный. Я буквально слышал щелчки поворота энкодера и высокочастнотный писк во время обновления картинки на дисплее. Возможно я что-то делал не так конечно.
Рассуждения о необходимости питания ЦАПА с цифровым входом I2S и платы с ЕСП32 от разных питателей - странно звучат для меня.
К этому рассуждению меня подтолкнул комментарий на Reddit: https://www.reddit.com/r/ECE/comments/12jowed/comment/jg00cz8/?utm_source=share&utm_medium=web3x&utm_name=web3xcss&utm_term=1&utm_content=share_button
Именно с этой точки я начал экспериментировать с подачей питания. Возможно, я бы более глубоко вник в этот вопрос, но на тот момент я почти полностью собрал устройство и уже хотел решить проблему хоть как-то.
Входы ЕСП32 НЕ толерантны к 5 вольтам
Информацию про 5 вольт я взял от сюда: https://github.com/bdring/6-Pack_CNC_Controller/issues/31
Почитал указанные источники, любопытно.
По поводу помех - думаю, что вероятнее всего это наводки по земляным петлям. Возможно, если сделать землю по стандартам "любителей высококачественного звука" - помехи исчезнут. Я имею в виду одна точка заземления и соединения земли звездой.
Ну и конечно конденсаторов по питанию побольше, побольше :) и электролитов и керамики.
Насчет 5 в толерантности... в доках Эспрессиф нет прямого указания на таковую возможность. По принятым в этом мире нормам это означает "иногда может быть, но не гарантируется".
Из прочитанного следует, что вроде бы можно использовать выход в режиме открытого стока для коммутации 5 в нагрузки.
Также вроде бы можно использовать вход с последовательным резистором для источника с напряжением 5 в - ограничительный диод на шину питания там есть и он не даст переходу пробиться.
И то и то как бы очевидно, но это совсем не то, что есть полноценная 5 в толерантность.
Т.е. например если соединить пуш-пул выход 5 в драйвера со входом ЕСП32 - ЕСП32 сгорит.
И точно так же если включить ЕСП32 - то пин после сброса встанет в режим входа, а на нем висит нагрузка на 5 вольт, но с малым токоограничивающим резистором. Полагаю, вход сгорит...
ЗЫ Недавно отлаживаю некий прибор, в котором сигнал с ЕСП32 идет на конвертор 3.3 -> 12. А ноги конвертора (вход - выход) немного неудачно рядом расположены, типа 3 и 4. И щуп осциллографа соскочил и замкнул 4 и 3 ноги... Есп32 мгновенно испортился. Стал греться немерянно. Пришлось сдуть и заменить :)
Название трека на экран выводится?
В моем случае — нет, но это можно добавить всего несколькими строчками кода. Прием мета-данных (и заголовка и времени воспроизведения) уже реализован в библиотеке: https://github.com/pschatzmann/ESP32-A2DP#support-for-metadata
Моё предложение для вашего проекта: Добавьте электролитный конденсатор номиналом 4700 мкФ * 25 В прямо на клеммы питания усилителя мощности. Здесь сперва стоит разобраться как себя поведёт блок питания с такой нагрузкой(при включении будет возникать всплеск тока, но 4700 мкФ - ёмкость, в принципе, не большая).
Дело в том, что две колонки это нагрузка 2-4 Ома и уже на средней громкости источник питания начнет проседать на басах, звук будет искажен, динамика звука, стереопанорама. Конденсатор немного сгладит ситуацию.
Второй твик на ваше усмотрение: параллельно этому электролиту добавьте плёночный на 4.7 - 8.2 мкФ. Это улучшит поведение усилителя в высокочастотном диапазоне.
Я много занимался подобными доработками УМЗЧ и активных сабвуферов. Для вашего проекта будет избыточно то, что я сейчас напишу, однако, считаю стоить упомянуть - существуют специальные, так называемые аудио конденсаторы. Но, они в разы дороже и в основном применяются в дорогой аппаратуре.
Спасибо вам за статью. 🙂
Чтобы модуль не уходил в сон, я генерирую волну низкой частоты, которую физически не могут воспроизвести колонки, но которая постоянно подмешивается в поток вывода.
Судя документации, достаточно посылать в ЦАП любое значение отличное от 0, с интервалом чаще чем 21 миллисекунда. То есть просто посылать единицу в младшем бите.
Zero Data Detect
The PCM510xA has a zero-data detect function. When the device detects continuous zero data, it enters a full analog mute condition. The PCM510xA counts zero data over 1024 LRCKs (21ms @ 48kHz) before setting analog mute.
In Hardware mode, the device uses default values. By default, Both L-ch and R-ch have to be zero data for zero data detection to begin the muting process etc.

Сделай сам: Bluetooth‑проигрыватель на ESP32 с внешним ЦАП и усилителем звука