Pi-Sonos v3.0: работа над ошибками или абсолютно новый проект?

в 9:08, , рубрики: diy или сделай сам, node.js, Raspberry Pi, react.js, звук

Pi-Sonos v3.0: работа над ошибками или абсолютно новый проект? - 1

Проекту Pi-Sonos недавно исполнилось полгода. За это время колонка успела прижиться в доме и очень часто выполняла роль источника фоновой музыки в гостиной по утрам и вечерам. Но не так часто, как бы мне того хотелось. Виной тому был ряд просчетов, которых я изначально допустил при проектировании колонки. С каждым из них в отдельности можно было бы смириться, но в сумме они заставили меня полностью переделать акустику. Что это были за ошибки, и как их пришлось решать, дорогой %username%, ты узнаешь под катом.


Итак, по порядку

1. Дизайн

Самый субъективный и (по большому счету) наименее значимый момент.

Было

Несмотря на то, что сам по себе изначальный дизайн колонки не был ни пресным, ни чересчур вычурным, первый Pi-Sonos плохо вписывался в интерьер (потому что он черный?!). В гостиной много дерева, как светлого, так и темного, а вот деталей черного цвета совсем нет. Вот наглядная разница между старой и новой версиями:

Pi-Sonos v3.0: работа над ошибками или абсолютно новый проект? - 2

Кроме того, неприкрытые крепления динамиков выглядели непрезентабельно, а подходящих «грилей» мне так и не удалось подобрать. Это не говоря уже о мелких (и крайне неприятных) огрехах моего неумелого шпатлевания.

Пруф (перфекционистам не открывать!)

Pi-Sonos v3.0: работа над ошибками или абсолютно новый проект? - 3
Pi-Sonos v3.0: работа над ошибками или абсолютно новый проект? - 4

Стало

Корпус собран все из того же 8мм МДФ, отделан натуральным шпоном и покрыт специальным воском. 4 динамика закрыты декоративным экраном из акустической ткани. Регулятор громкости переехал с верхней грани на лицевую. Серия оранжевых светодиодов заменена одним белым. Кроме того, появилась кнопка управления воспроизведением (подробнее о ней ниже по тексту). Колонка избавилась от торчащего провода HDMI, необходимость в котором отпала вместе с отказом от OSMC.

Pi-Sonos v3.0: работа над ошибками или абсолютно новый проект? - 5

Pi-Sonos v3.0: работа над ошибками или абсолютно новый проект? - 6

Вдохновителем нового дизайна стал канал SoundBlab и один из его проектов.

2. Качество звука

Было

У первоначальной версии по звучанию было два принципиальных недостатка: раздутый бас, от которого через час начинала немного гудеть голова, и скомканная середина, особенно сильно проявляющаяся в звонком вокале и звуках хай-хетов.

То ли сказалось отсутствие акустического разделения каналов стерео, то ли неправильно был подобран тип корпуса для этих спикеров (как было замечено в комментариях – динамики автомобильные, т.е. для «щита», а я собрал фазоинвертор), то ли это проблема самих динамиков, но факт остается фактом – удовольствие от прослушивания музыки было слабеньким. А еще китайский блок питания издавал писк, который можно было отчетливо разобрать с расстояния в полметра. Мелочь, а неприятно.

Стало

В новом корпусе каждый акустический канал, а также вся электроника получили отдельные отсеки. Блок питания был вынесен за пределы корпуса (на корпусе сзади появился разъем 5,5мм под 12В). Новый блок питания имеет меньшую мощность (36Вт против 60Вт), стандартный корпус, и почти не пищит.

За звучание теперь отвечают 3х-дюймовые 15-ваттные мидбасы и 10-ваттные твитеры, разделенные между собой кроссовером. Фазоинвертор для каждого канала на этот раз реализован в виде трубы, рассчитанной на частоту ~100Гц при нижней частоте мидбасов 108Гц.

Pi-Sonos v3.0: работа над ошибками или абсолютно новый проект? - 7

Все вместе играют на порядок чище и без явных провалов во всех частях диапазона. Даже низов хватает с головой. По сравнению с эталонным Audioengine A5+ новая система звучит на 4 с огромным плюсом (по 5-балльной шкале, конечно же).

3. Время включения

Да-да, то самый промежуток времени от нажатия кнопки на динамике до начала воспроизведения музыки, которому была посвящена вторая статья.

Было

Несмотря на то, что время загрузки удалось уменьшить вдвое (с 45 до 20 секунд), все равно время ожидания было неприятно велико.

Стало

При выключении тумблером или отключении БП из розетки время последующего включения изменить не удалось, хотя я пытался отключать ненужные сервисы в Raspbian. Но теперь вместе с кнопкой на лицевой стороне появилась появился режим паузы, из которого колонка выходит меньше, чем за секунду! Кроме того, в режиме паузы «малинка» хитрым способом отключает питание звукового усилителя, экономя тем самым электроэнергию. Получается скорее эдакий sleep-mode.

4. Удобство управления (не считая управления со смартфона)

Было…

… всего 2 физических элемента управления – это регулятор громкости и тумблер питания. Если к регулятору особых претензий нет (даже его странное положение не доставляло неудобств), то тумблер питания надо было постоянно нащупывать на тыльной стороне. Это было настолько неудобно, что, например, моя жена часто просто выдергивала шнур питания из розетки.

Стало

Теперь за управление воспроизведением отвечает «волшебная кнопка», а тумблер питания используется редко – только для полного выключения колонки или для последующего её включения.

Что же такого «волшебного» в новой кнопке? Разовое нажатие на кнопку ставит воспроизведение на паузу или снимает с нее, а длительное нажатие переключает радиостанцию на следующую по списку. Таким образом, для управления колонкой необязательно держать в руках смартфон.

Любое действие с «волшебной кнопкой» тут же отражается в клиентском GUI, так что пользователь всегда видит актуальное состояние плеера и точно знает, какая станция сейчас воспроизводится. Светодиод тоже получил интерактивную функцию – он мигает раз в 2 секунды во время паузы и 10 раз в секунду во время нажатия на кнопку, показывая тем самым, что нажатие обрабатывается. Такой принцип управления заимствован у оригинальной Sonos Play 1, к идеалу которой и стремится в своем развитии проект Pi-Sonos.

Несколько слов о том, как работают кнопка и светодиод

Кнопка и светодиод управляются через GPIO. Принципиальная схема этого безобразия выглядит примерно так:

Pi-Sonos v3.0: работа над ошибками или абсолютно новый проект? - 8

Как видно из схемы, светодиод LED1 подключен параллельно с переходом сток-исток MOSFET-транзистора Q1. Выходной пин OUT1 подает управляющее напряжение на этот транзистор, открывая и закрывая его. Для простоты пример, что сопротивление перехода сток-исток такого транзистора в открытом состоянии равно 0, а в закрытом – бесконечности (по моим замерам примерно 20Ом и 1,7МОм соответственно).

При включении Raspberry в сеть через пин 3,3В на участок цепи «LED1-Q1» подается напряжение через ограничительный резистор R1. Транзистор Q1 при этом закрыт, и весь ток участка LED1-Q1 течет через диод, т.е. диод горит. Если пин OUT1 установить в 1, то на затвор транзистор Q1 будет подано открывающее напряжение, и весь ток участка LED1-Q1 потечет через транзистор, диод при этом погаснет. Номинал резистора R1 взят 10кОм, чтобы свет диода не был слишком ярким.

Очевидно, что сама по себе кнопка SW1 гальванически не связана с затвором Q1, а значит, она управляет миганием диода не напрямую. Нажатие кнопки подает напряжение логической 1 (~3В с учетом резистивного делителя R2-R3) на пин IN, а в код плеера добавлен обработчик событий для этого пина. При нажатии на кнопку, обработчик запускает таймер, который раз в 100 миллисекунд меняет уровень на пине OUT1, включая и выключая светодиод, при отпускании – отключает таймер и возвращает диод во включенное состояние. Аналогично реализовано мигание в режиме паузы. Код по-прежнему живет на github (https://github.com/bellerofonte/rpi-radio).

Ограничительные резисторы R2 и R3 также призваны уберечь пины 3,3В и IN от перегрузки.
Пара резисторов R4 и R7 (равно как и пара R5 и R6) тоже представляют собой резистивный делитель. Дело в том, что транзистор 2N7000 имеет предельное напряжения затвор-исток 3В, а пин OUT1 с логической 1 на выходе – 3,3В. Чтобы не спалить затвор транзистора, на него надо подать меньшее напряжение. Но не меньше 2,1В, иначе транзистор не откроется. Номиналы резисторов подобраны так, чтобы получалось:

$V_{зи}=3.3V frac{47k Omega}{47k Omega + 10k Omega} ≈ 2.7V$

Аналогично, через пин OUT2 открывается и закрывается транзистор Q2, который в свою очередь замыкает и размыкает контакт отключения усилителя на плате Suptronics

Pi-Sonos v3.0: работа над ошибками или абсолютно новый проект? - 10

А так плата выглядит в собранном виде (реальный размер 2х3см):

Pi-Sonos v3.0: работа над ошибками или абсолютно новый проект? - 11

5. Невозможность доработки/обслуживания

Было

Доступ к внутренностям акустики осуществлялся путем снятия одного из спикеров, но даже в этом случае проводить какие-то манипуляции было практически нереально. Ни о какой доработке корпуса не было и речи. Даже при демонтаже плат мне потребовалось больше часа, чтобы открутить всего 8 винтов.

Стало

Нижняя грань легко откручивается, открывая доступ к каждому из трех внутренних отсеков и позволяя при желании полностью демонтировать любой из элементов аппаратуры. Также снимается и экран, открывая доступ спикерам. В отсеке для электроники есть еще немного места для дополнительного расширения функционала. На фото запечатлена «примерка» компонентов перед окончательной сборкой акустики. Пара твитеров расположены под отсеком для электроники, поэтому на фото их не видно.

Pi-Sonos v3.0: работа над ошибками или абсолютно новый проект? - 12

Пара фотографий с процесса изготовления

Pi-Sonos v3.0: работа над ошибками или абсолютно новый проект? - 13

Pi-Sonos v3.0: работа над ошибками или абсолютно новый проект? - 14

Что в итоге

Обновленный Pi-Sonos почти полностью соответствует моим представлениям об удобной акустике для гостиной. Старина Джобс был прав – пользователю достаточно всего одной кнопки. И несмотря на то, что колонка уже сейчас кажется мне почти идеальной, текущая версия – это лишь очередной шаг в долгом и интересном пути. В ближайших планах – попробовать добавить голосовое управление (надо же идти в ногу со временем). А еще у меня есть нарекания по дизайну – шпон оказался очень капризным материалом, и сделать все без помарок не удалось. Да и форма прямоугольного ящика смотрится довольно старомодно. Придется потренироваться в работе с фрезером, чтобы когда-нибудь сделать корпус более современным и привлекательным. В конце концов, сама акустика не есть цель. Цель – это всегда пытаться расширять круг своих знаний/умений и делать что-то более сложное.

Автор: bellerofonte

Источник

Поделиться

* - обязательные к заполнению поля