ЩЕЛКНИТЕ ЗДЕСЬ, чтобы загрузить полностью подробный PDF-файл инструкции по сборке MegaDot.
У меня есть небольшая коллекция Amazon Echo Dots, разбросанных вокруг моего дома, и использую их для сигнализации, проверки погоды и трафика, управления освещением и, конечно же, музыки. Встроенный динамик немного, ну … крошечный и не совсем заполняет комнату башенным басом. У меня был старый сабвуфер и пара динамиков, ожидающих выброса или повторного использования. Когда они сидели, занимая угол моей комнаты, идея пришла ко мне. MegaDot!
Могу ли я построить надстрочную эхо-точку, которая может встряхнуть комнату? Проект начался невинно: «Эхо-точка»; кишки из сабвуфера мощностью 250 Вт 15 "; кроссоверы, громкоговорители среднего диапазона и твитеры от меньших динамиков; встроенный контроллер на базе FPGA; и полосу индивидуально программируемых светодиодов RGB. Конечный результат? Масштабированный MegaDot диаметром 27 дюймов с четкими максимумами и падающими минимумами, сохраняя при этом полное голосовое управление Alexa. Он даже включает в себя четыре кнопки сверху (полностью функциональные) и легкое кольцо вокруг верхней части.
Для дизайна было четыре основных соображения:
-
Большая усиленная акустическая подсистема
-
Верное воспроизведение наружного светодиодного кольца
-
Полностью функциональные кнопки
-
Стандартная функция Echo Dot, включая голосовое управление
Это привело к следующей блок-схеме:
Все было разработано вокруг подсистемы динамиков. Я тщательно измерил различные размеры стандартного Echo Dot и масштабировал его так, чтобы я мог поместить 15-дюймовый сабвуфер, 4,5-дюймовые динамики среднего диапазона и 1 "твитеры. Это оставило достаточно места для различных источников питания, слегка разобранного Echo Dot, контроллера на базе FPGA и механических кнопок.
Список запасных частей:
Производитель / Продавец | Описание |
Amazon | Echo Dot, 2-е поколение |
Национальные инструменты | контроллер myRIO-1900 |
HKBAYI | Светодиодная полоса RGB, индивидуально программируемые светодиоды, 60 светодиодов / метр |
EBOOT | LM2596 12V до 3.3V конвертер |
URBESTAC | Микропереключатели мгновенного роликового рычага |
DROK | TPA3116 Усилитель звука |
Разъем для наушников для наушников | |
Мужские разъемы RCA | |
8-контактные винтовые клеммы | |
47uF конденсатор | |
Источники питания 12 В,> 2A | |
4 Петли | |
4 Сжатие пружин | |
Удлинители | |
Разный провод | |
1/4 "и 1/2" МДФ | |
1/8 "фанера | |
Прочее дерево, винты, горячий клей, краска и т. Д. | |
Сервин Вега | 15 "250 Вт сабвуфер |
Полк Аудио | 4.5 "/ 1" стереодинамики |
ИНСТРУКЦИИ ПО СТРОИТЕЛЬСТВУ:
Взлом эхо-точки
1.) Демонтаж
Первым шагом было разобрать эхо-точку. Мне нужно было выяснить, как контролировать состояние светодиодов и дистанционно нажимать кнопки. Первый шаг (который полностью исключает вашу гарантию) заключается в снятии резиновой основы, которая скрывает винты. Вытащите винты, и все начинает разваливаться. Будьте осторожны с подузлами, так как есть две печатные платы, соединенные гибкой схемой, и вы не хотите повредить соединители тонкого тона, висящие вокруг. Все сигналы, к которым нам нужен доступ, находятся на самой верхней плате (тот, у которого есть светодиоды, кнопки, микрофоны и т. Д.). Чтобы сделать вещи более управляемыми, я отключил гибкую схему. Переверните крошечный, навесной фиксатор, и гибкие концы проскальзывают прямо.
2.) Доступ к светодиодам
Есть 12 светодиодов RGB по периметру доски. Мой первоначальный план состоял в том, чтобы напрямую следить за каждым светодиодом, полагая, что они, скорее всего, управляются простыми сигналами ШИМ. Я бы следил за каждым из 36 светодиодов (12 красных, 12 зеленых и 12 синих) с помощью myRIO, выполнив 36 одновременных измерений ШИМ.
Быстро стало очевидно, что все светодиоды подключены к одной ИС, но я не признал маркировку деталей. Я предположил, что для управления этой ИС должна быть шина SPI или I2C, поэтому я исследовал еще кое-что. Я обнаружил, что две линии также подключены к некоторым другим микросхемам на плате, которые оказались АЦП. Они были хорошо маркированы, поэтому я мог найти их листы данных. Победа! Все они были на общей шине I2C, и я полностью способен паять 3 крошечных провода (SDA, SCL и земля). Поэтому я использовал myRIO для отслеживания шины I2C.
3.) Нажатие на кнопки
Четыре кнопки (увеличение громкости, уменьшение громкости, сопряжение и микрофон) — это простые купольные переключатели. Нажатие кнопки приводит к замыканию сигнала на землю, поэтому я могу просто поставить свои внешние переключатели параллельно с купольными переключателями. Однако не было отличного места для припаивания тонких проводов к переключателям, поэтому я проследил их и обнаружил, что они подключены к некоторым дискретным устройствам (резистор подтягивания и, возможно, простой RC-фильтр). Теперь я знал, где спаять все мои провода.
4.) Измельчение сверху
В конечном итоге фактическая эхо-точка будет установлена в верхнем центре MegaDot, и я хотел, чтобы микрофоны были как можно ближе к внешней поверхности. Таким образом, я остановился на вершине корпуса Echo Dot и добавил прорезь для проводов. Echo Dot имеет пенопласт на верхней поверхности, поэтому я удалил достаточно корпуса, чтобы пена теперь находилась в прямом контакте с новой монтажной поверхностью. Теперь все хорошо сочетается, и мне не нужно беспокоиться о висевших проводах. Я временно собрал все, чтобы убедиться, что Echo Dot все еще работает, и, к счастью, это было.
Репликация светодиодов
1.) Snooping I2C
На данный момент я до сих пор не смотрел на передачу данных в / из чипа драйвера LED. Я использовал DMM для определения сигнальных соединений, но теперь мне нужно переключиться на осциллограф, чтобы увидеть протокол связи. Я быстро понял, что ничего необычного не происходит, и что это стандартная шина I2C и протокол. Я бы спросил у Алекса вопросы, которые заставили бы ее цитировать различные цвета на светодиодах, и я мог видеть изменения данных I2C в транзакциях.
. Хотя я мог бы продолжать картографирование транзакций и реконструировать внутреннюю карту регистра, я теперь почувствовал, что у меня достаточно информации о распиновке и интерфейсе для повторного поиска в Интернете. Я искал драйверы светодиодов с 36 выходами и, наконец, нашел то, что казалось реальным компонентом. Пинаут соответствовал, и транзакции, которые я видел, имели смысл. Это может сработать!
2.) Мониторинг и расширение светодиодов
Теперь, когда у меня был доступ к шине I2C и я знал протокол, мне нужен был способ ее контролировать, реплицировать соответствующие части карты регистров и расширять с 12 светодиодов RGB в Echo Dot до 128 светодиодов RGB, окружающих MegaDot. Я использовал свой NI ELVIS III для своих функций DMM и осциллографа, чтобы проанализировать, как Echo Dot работал внутри. Теперь я мог использовать RIO-часть NI ELVIS III для прототипирования этих функций контроллера. Он включает в себя FPGA и управление IO, которые могут быть запрограммированы с использованием LabVIEW FPGA, что упростило прототипирование быстрого решения. Используя два цифровых входа и легко следовать диаграмме, я реализовал цифровую фильтрацию на SDA и SCL, конечный автомат для обнаружения доступа I2C к IC-драйверу, массивы для хранения значений светодиодов и логику управления для управления светодиодной полосой (описанной в следующем разделе). Конечно, я не хотел встраивать свой NI ELVIS III в MegaDot, поэтому, как только у меня была вся логика, я применил окончательное решение для myRIO. MyRIO предназначен для встроенных приложений и запускает те же диаграммы LabVIEW FPGA, поэтому было тривиальной задачей переехать.
3.) Программирование светодиодной полосы
Светодиодная полоса, которую я выбрал, имеет индивидуально программируемые светодиоды RGB, основанные на ИС драйвера WS2812B. Каждый светодиод RGB запрограммирован на 24-битное слово с 8 битами для каждого цвета. Он запрограммирован с помощью простого однопроводного протокола. Каждая ИС-драйверы имеет одну линию данных и линию передачи данных. Выходной сигнал одного подключается к входу следующего в полосе. Вы перемещаете данные по одному бит за раз, и как только вы переставляете 24 бита, любые дополнительные биты заставляют данные смещаться в следующий светодиод. Поэтому, если вы переместите 72 бита, вы будете программировать 3 светодиода RGB. Для MegaDot мне нужно сдвинуть 3,072 бит, чтобы запрограммировать все 128 светодиодов RGB.
Вы должны генерировать импульс для каждого бита, а ширина импульса определяет, является ли он нулем или единицей. Короткий импульс соответствует нулю, а длинный импульс соответствует одному. После того, как вы переместили все биты, вы пропустите линию на длительный период, чтобы применить сдвинутые данные к фактическим светодиодам. Легко удовлетворить требования к синхронизации с LabVIEW FPGA, что позволяет создавать аппаратные синхронизированные пользовательские цифровые протоколы. Я проверил поведение сигнала с осциллографом. Светодиодная лента питается от 3,3 В, поэтому я купил преобразователь 12 В в 3,3 В для питания с питанием 12 В, которое у меня уже было под рукой.
Создание гигантских кнопок
Echo Dot имеет четыре кнопки для увеличения громкости, уменьшения громкости, сопряжения и отключения микрофонов. Чтобы сохранить правильную шкалу, они должны быть чуть более 4,5 "в диаметре. По какой-то странной причине я не мог найти никого, кто продавал кнопки такого размера, не говоря уже о правильных символах на них. Поэтому я должен был сделать свой собственный. Мне нужно было найти способ активного стандартного микропереключателя с большой механической кнопки. Мое решение состояло из четырех частей. Круглый кусок MDF для лица кнопки, прикрепленный к шарнируемому куску MDF, чтобы он мог перемещаться вверх и вниз, трехмерную печатную рамку, чтобы действовать как стоп и удерживать пружину сжатия, и, наконец, микропереключатель, установленный на трехмерной печатной рамке .
Нажатие на лицо кнопки размахивает рукой, оно останавливается против рамки, и когда вы отпускаете кнопку, пружина возвращает ее в исходное положение. Расположение микровыключателя установлено так, что оно активируется ближе к концу хода кнопки. Микропереключатели подключаются к винтовому терминалу, ранее прикрепленному к Echo Dot.
Усилители и динамики
Я разделил более старый 15-дюймовый сабвуфер Cerwin Vega мощностью 250 Вт, который у меня был. В то время как 250 Вт может показаться не слишком мощным для 15-дюймового сабвуфера, этот динамик был с того времени, когда это было качество 250 Вт. Внутри был большой силовой трансформатор, обширный нагрев и все вокруг надежной реализации. Мне пришлось вырезать и удлинить некоторые из проводов, так как у меня не было простого места для размещения компонентов в новом круглом корпусе. Затем я разобрал пару динамиков, которые мне пришлось убирать для динамиков среднего диапазона, кроссоверов и твитеров. Они не питались, поэтому я заказал простую плату стереоусилителя, чтобы управлять ими. У меня был источник питания 12 В, который висел вокруг и посвящал его в работу с этим усилителем.
Механические
Я на самом деле ожидал взлома Echo Dot, выяснения протоколов и внедрения контроллера FPGA в качестве наиболее трудоемкой части этого проекта. Тем не менее, я потратил столько же, если не больше времени на механическую конструкцию. Я действительно хотел держать шкалу точной, но оптимизировать размер, чтобы просто подогнать динамики. Это сделало его довольно сложным, чтобы упаковать все в круглый корпус.
Базовые и акустические системы
Я начал с базы, которая провела бы пять динамиков. Я решил создать три запечатанных камеры. Чтобы соответствовать им, они не могли быть просто квадратными коробками. Чтобы сделать изогнутые камеры, я разделил старую книжную полку. Я проглотил кусочки радиальной пилой, чтобы согнуть их. Использование кусков полки было замечательным, потому что пластиковый ламинат помог предотвратить кусочки защелкивания на более острых изгибах. Я использовал комбинацию горячего клея и винтов, чтобы держать все части вместе.
Как только база была собрана, я смогу смонтировать динамики и усилители. Динамики опустились прямо в отверстия и были завинчены. Усилители, источники питания и перекрестки были сложнее, поскольку они должны были вписаться в нечетные формы, оставшиеся вокруг корпусов динамиков.
Наружная кожа
Я обсуждал, как сделать внешнюю цилиндрическую кожу. Я изначально собирался прокормить длинный кусочек МДФ, но решил, что у меня не было отличного способа поддержать его, когда делаю все проклятия. Следующая мысль состояла в том, чтобы попробовать обернуть его тонким куском фанеры. Я построил базовый каркас для поддержки кожи, а затем попытался искривить образец куска фанеры вокруг него. Поскольку это достигало приблизительно в два раза радиуса, это должно было быть, это было сокращено пополам. Поэтому я попробовал замачивать кусок водой около 20 минут. Он не начал хватать, пока он не был очень близко. Моя последняя попытка (что было хорошо, что было окончательно, потому что это был мой последний кусок фанеры), в течение часа пропитывал лес, а затем пытался. Успех! Я полностью согнул его вокруг рамы и зажал и прикрутил к месту. Я дал ему задаться в течение ночи, чтобы высохнуть в этом положении, затем перевернул винты и намочил небольшой промежуток, где концы были встречены.
Верхняя поверхность и кнопки
Не было практического способа сделать верхнюю часть вручную и заставить ее выглядеть правильно. Для этого нужны четыре больших отверстия для кнопок, 84 продолговатых отверстия по периметру и серия небольших отверстий в центре, чтобы обеспечить доступ к микрофонам Echo Dot и датчику освещенности. К счастью, я смог занять время на машине с ЧПУ и все это вырезано для меня.
Вся электроника, не связанная с динамиками, была установлена на нижней стороне верхней поверхности вместе с узлами кнопок. Множество маленьких деревянных кронштейнов и кронштейнов были сделаны, чтобы сдержать все это.
Окончательная сборка
Вот изображение первого раза, когда все было собрано:
[All images courtesy Joe Peck]