Недавно мы выпустили SberBox Time — умную медиаколонку (и по совместительству приставку для телевизора) с аналоговыми часами. Совмещение таких разных устройств в одном корпусе вывело задачу на новый уровень инженерной сложности. Как сделать отдельно колонку или отдельно часы — понятно. А вот как избежать влияния низких частот на чувствительный часовой механизм? Или как сделать так, чтобы farfield-микрофонам не мешало тиканье? Это уже вызовы, которые требуют особого подхода и исследования.
Или вот вам задача: как организовать настройку времени на аналоговом часовом механизме?
Ну и уж совсем мелочи вроде того, куда ставить микрофоны и какие они должны быть, чтобы услышать команду с другого конца комнаты, когда буквально в нескольких сантиметрах из динамиков звучит музыка.
В посте я расскажу про разработку SberBox Time от идеи до серийного производства: про сложности, тупиковые прототипы и инсайты в процессе R&D.
Краткая история разработки: от идеи до полки в магазине
Перед разработкой нашего девайса мы изучили потребности пользователей и выяснили, что чаще всего люди обращаются к умным колонкам, чтобы послушать музыку или решить свой вопрос с помощью виртуального ассистента: узнать погоду, поставить будильник или таймер, завести напоминалку. Также в топе — управление умным домом, детский досуг, кино или видео на YouTube, если колонка подключается к экрану, а ещё беседы с голосовыми помощниками «обо всём на свете».
С новым гаджетом мы хотели дать пользователям всё, к чему они привыкли, и ещё больше: возможность не только узнать новости, но и заказать еду, забронировать столик, запустить любимую игру — всё с помощью виртуальных ассистентов Салют.
Также мы хотели, чтобы устройство не перетягивало на себя внимание и не нарушало домашний уют своим техновидом. Поэтому SberBox Time выглядит как привычные часы со стрелками — таким всегда найдётся место в доме. Аналоговые часы смотрятся стильно и солидно, неспроста в дорогих автомобилях устанавливают именно такие.
Кроме того, мы не встречали умных колонок с часовым механизмом и подумали, что это может быть изюминкой. UX-исследования и опросы показали, что людям нравится идея. Так мы окончательно решили сделать умную медиаколонку с аналоговыми часами.
Устройство можно разместить на кухонном столе или прикроватной тумбочке и использовать как самодостаточную колонку. А можно пользоваться им в паре с телевизором как ТВ-приставкой — в таком сценарии возможностей ещё больше.
Мы даже инструкцию сделали необычную — разнесли эти две роли SberBox Time по двум сторонам документа, чтобы информацию было удобнее изучать.
Почему SberBox Time выглядит именно так
Работа над устройством начинается с дизайн-концепции. Над ней, как и над всеми процессами разработки дизайна, мы трудились вместе с нашим давним партнёром – дизайн-хаусом notAnotherOne.
Изначально мы рассматривали форму усечённого цилиндра, но впоследствии она трансформировалась:
Нужно было визуально «подружить» новый девайс с другими нашими устройствами, и мы решили отталкиваться от угла наклона экрана SberPortal. В итоге пришлось отказаться от усечённого цилиндра и перераспределить объёмы, уменьшив заднюю камеру и увеличив фронтальную часть. Преемственность дизайна считывается также в кольце, обрамляющем циферблат.
И даже в форме адаптера питания:
На пути от первых прототипов до финальных решений поменялось очень многое. Например, появилась акустическая ткань на корпусе. SberBox Time — первое устройство в линейке, где мы работали с таким материалом. С подбором ткани пришлось повозиться. Любой материал, размещённый на корпусе, влияет на качество звука, так как меняет его амплитудно-частотные характеристики. Было важно подобрать акустически прозрачную ткань — такую, которая минимально влияет на звучание, чтобы это было легко скорректировать эквалайзером. Также важным параметром при выборе ткани была её геометрическая стабильность при перепадах температуры и влажности, чтобы она всегда равномерно облегала силуэт девайса, не топорщилась и не натягивалась. Ну и, конечно же, мы искали ткань, подходящую по текстуре и цвету, которая помогла бы создать образ «домашнего устройства», хорошо смотрелась, сочетаясь с размером и формой медиаколонки. Мы пересмотрели десятки каталогов производителей. То, что нам нравилось по фактуре и плетению нити, не подходило по цветам.
Каталоги акустической ткани. Их малая часть.
Пробуем семплы ткани на прототипах:
Пришлось заказать кастомную окраску ткани на текстильной фабрике — более 30 оттенков каждого цвета, чтобы выбрать один.
Кстати, на старте девайс будет доступен в чёрном цвете, а позже линейка дополнится другими цветами:
Здесь можно скачать 3D-модели аксессуаров, чтобы пользователи кастомизировали умную медиаколонку по своему вкусу.
Когда мы определились с тканью, занялись подбором стекла для циферблата. На рендерах очень красиво смотрелось сатинированное стекло. Стрелки как будто слегка проявлялись сквозь него — возникало ощущение магии. Нам очень хотелось сохранить этот эффект. Мы пробовали применять травление, наносить на стекло плёнку, двустороннюю плёнку, использовать двойные стёкла. Перепробовали несколько десятков семплов и их комбинаций. Вот лишь их малая часть:
В итоге мы смогли приблизиться к желаемому варианту и остановились на матовом стекле для тёмных девайсов и прозрачном — для светлых. Это позволило сделать тёмный девайс более «магическим», а светлый — контрастным и графичным.
Каждый визуальный элемент устройства мы подбирали очень тщательно. Пришлось найти, заказать, рассмотреть, пощупать, примерить множество образцов — и так до тех пор, пока даже самые искушённые критики в нашей команде не пришли к выводу, что это «то самое».
«Железное» наполнение медиаколонки
«Железная» часть устройства тоже существенно менялась в процессе разработки.
Так выглядел наш первый «инженерный» прототип в акриловом корпусе:
Такие прототипы в акриловых корпусах стоят дёшево и просты в производстве. В отличие от «красивых» штучных образцов, которые делают в самом начале с помощью прецизионных станков с ЧПУ, акриловые легко собрать в нужном количестве на самом раннем этапе разработки. Это позволяет запустить параллельные процессы в разных командах, работающих над девайсом. Именно поэтому на старте мы обычно ищем решение с помощью такого Product Development Kit, чтобы не терять деньги и время.
Кстати, вот что у нас есть на основной плате:
Процессор S905D3, 16 Гб eMMC Flash-памяти, 2 Гб оперативной памяти
В основном же в разработке было три главные сложности, на которых я хочу остановиться подробнее:
- Интеграция стрелочных часов в электронное устройство. Вибрации от нижних частот влияли на работу часового механизма, а громкое тиканье мешало микрофонам распознавать голосовые запросы. Также мы переживали, что это тиканье может раздражать некоторых пользователей. Все эти вопросы нужно было как-то решить.
- Качественный звук в компактном девайсе. Мы хотели добиться, чтобы наша медиаколонка могла звучать громко, а басы были глубокими. При этом объём корпуса влияет на качество и глубину звука.
- Подбор правильной конфигурации микрофонов и разработка алгоритмов, позволяющих слышать тихую речь с другого конца комнаты, когда звучит музыка или работает телевизор.
Часы
Приземлить аналоговый часовой механизм на девайс оказалось сложной задачей не только с инженерной точки зрения, но и с организационной. Сначала мы обратились к традиционным часовым производителям и начали обсуждать возможность использования их механизмов. Но столкнулись с тем, что им интереснее отгружать партии своих типовых устройств. А если нужно что-то нетиповое, то прорабатывать и тестировать это решение будут очень долго по меркам разработки электроники. Кроме того, это решение повысит стоимость устройства на полке магазина.
А без серьёзных доработок типовые механизмы нас точно не устроили бы. Необходимо было, чтобы часовой механизм отвечал следующим требованиям:
- Тихоходность. Многие пользователи любят успокаивающий шум на грани различимости, но не любят отчётливое тикание, особенно в спальне. Плюс нам нужно распознавать голос, и не хотелось бы, чтобы вместо этого микрофоны заглушал стук механизма.
- Устойчивость к вибрациям. Акустическая система при проигрывании музыки ощутимо вибрирует. Поэтому нужно было, чтобы часовой механизм был устойчив к таким вибрациям.
- Возможность программного управления механизмом. Мы хотели, чтобы часы работали не «сами по себе», а подчинялись «мозговому центру» девайса и могли по команде выставлять нужное время.
- Быстрая установка времени. Чтобы была возможность быстро и тихо «перематывать» стрелки в правильное положение при синхронизации с NTP-сервером на старте.
- Миниатюрность — в корпусе каждый кубический миллиметр очень дорог, ведь при его компактности нам нужно было разместить в нём достаточно много модулей: акустический модуль с динамиками, материнскую плату с теплоотводом и непосредственно сам часовой механизм. Тем более, что объём так важен для получения громкой музыки с глубоким басом.
- Качество механизма и адекватная цена. Нужно было найти производителя, который бы обеспечил отсутствие брака, стабильность параметров часового механизма во времени, низкий разброс параметров в разных экземплярах и т. д.
Такое количество критериев сильно сужало область поиска поставщиков. Наиболее подходящими оказались производители автомобильных часов, к которым предъявляется схожий набор требований, особенно в плане устойчивости к вибрациям. Единственное, они были слишком шумные для наших задач.
В итоге мы нашли производителя, от которого получили механизмы часов и исходный код базового драйвера для управления шаговым двигателем. При этом прошивку для управления часами мы хотели разработать самостоятельно, чтобы получить предсказуемый результат.
Сам механизм мы тоже долго выбирали: заказывали десятки образцов, испытывали их и в итоге остановились на наиболее подходящем на наш взгляд.
Если управлять часами при помощи CPU, то в моменты пиковых нагрузок, когда пользователь, например, смотрит видео в 4K или слушает музыку, часы могут идти неточно: центральный процессор сильно нагружен и может не успеть вовремя запустить функции управления часовым механизмом в режиме realtime. Чтобы такого не было, мы запрограммировали автономный блок управления часами на отдельном микроконтроллере.
Уже на этапе выбора подходящего микроконтроллера стало понятно, что в условиях всеобщего дефицита чипов и заоблачных сроков поставок практически по всем линейкам ведущих производителей, выбирать придётся буквально из того, что есть. Финалистами стали микроконтроллеры серии PIC16 от Microchip и STM32G0 от STMicroeleсtronics: они устраивали нас как по цене, так и по встроенной периферии. В итоге выбор пал на чип от STMicroeleсtronics, так как только он был доступен в нужном нам количестве.
Выбранный часовой механизм построен на основе специализированного шагового двигателя, редуктора и оптического датчика нулевой позиции стрелок. Этот датчик необходим для синхронизации физической позиции стрелок с программным счётчиком шагов. Таким образом, при каждом включении питания блоку управления необходимо двигать стрелки с повышенной скоростью до получения сигнала от датчика, который срабатывает строго в позиции стрелок 12:00. После этого можно отсчитать необходимое для установки текущего времени количество шагов двигателя и подвести стрелки на нужную позицию. Дальше всё достаточно просто: плавно двигаем стрелки каждую минуту по сигналу внутренних часов микроконтроллера, стабилизированных кварцем.
Первую версию прошивки модуля часов мы разработали быстро: для реализации протокола управления использовали уже существующие наработки и опыт, а алгоритмы управления биполярным шаговым двигателем часов в целом достаточно просты. И вот, наши часы затикали в прямом смысле слова. Изначально часовой модуль сильно шумел, как при поиске нулевой позиции стрелок, так и в обычном режиме хода часов, что могло негативно сказаться на работе микрофонной матрицы и пользовательском опыте в целом. Мы много вложили в оптимизацию алгоритмов управления шаговым двигателем, чтобы заставить стрелки двигаться максимально плавно и бесшумно.
Для этого пришлось использовать микрошаговый режим как для первичной настройки (быстрая перемотка стрелок до получения сигнала от датчика нулевой позиции), так и для нормального хода часов. Нужно было учесть и продумать множество различных нюансов:
- выбрать правильную скорость движения стрелок для каждого режима;
- построить алгоритм генерации идеальных синусоид при помощи ШИМ на обмотках двигателя для минимизации шумов;
- реализовать плавный разгон, чтобы избежать пропуска шагов при старте и не перегружать механизм;
- ввести функцию автоматической корректировки на случай, если позиция стрелок всё-таки сбилась за 12 часов, и многое другое.
В итоге нам удалось создать очень тихий и надёжный часовой модуль, способный долгое время самостоятельно показывать точное время, что позволило практически полностью освободить основной процессор устройства от выполнения realtime-задач, связанных с часами.
Осциллограммы управляющих сигналов на обмотках двигателя
А вот как происходит автонастройка актуального времени на часах:
Установка времени на SberBox Time при подключении к сети
Звук
Один из основных сценариев использования нашего устройства — воспроизведение музыки. Поэтому мы уделили особое внимание качеству звука, чтобы девайс звучал достойно и громко.
Разработка акустической части для воспроизведения качественного звука — это целый инженерный квест. Особенно, если речь идёт про компактное устройство. А мы не могли сделать девайс большим — он должен органично вписываться в пространство у телевизора, не перекрывать экран и не перетягивать на себя внимание во время просмотра ТВ.
Обычно чем меньше объём, тем сложнее из него получить достаточную громкость и глубокие басы. Но мы ориентировались на качественные референсы колонок известных брендов и нам было важно не ронять планку качества. Мы принялись искать партнёра, который смог бы помочь с разработкой акустической части девайса. Первым делом мы пошли к четырём опытным и известным на мировом рынке компаниям. Слушали образцы, сравнивали и оценивали их предложения, выбрали в итоге лучшее, как нам на тот момент казалось. Совместно с этим вендором мы смоделировали конфигурацию акустической системы, которая помещалась в корпусе девайса и должна была звучать предсказуемо качественно. Однако, когда мы получили реальные опытные образцы, стало очевидно, что качество звука нас не устраивает и добиться желаемого звучания не удаётся. Низкие и средние частоты звучали глухо, в них не было достаточной глубины и объёма, на которые мы рассчитывали.
На тот момент мы уже пилотировали производство и через несколько месяцев должны были выпустить готовый продукт на рынок. Но мы не могли позволить себе начать производство, не получив достойного звука. Пришлось откладывать старт производства и искать новое решение — фактически начинать с нуля, при этом работая с ограничением, когда текущий механический дизайн устройства меняться не может.
Мы снова начали искать и тестировать разные концепции акустической системы: акустическая камера с фазоинвертором, камера с пассивным излучателем, с одним и двумя разными динамиками.
Разные модели аудиомодуля, победил первый вариант
Некоторые прототипы акустических систем, которые мы напечатали на 3D-принтере:
Тестируем звук:
В итоге пришлось изменить всю начинку: мы поставили новые динамики, изменили форму и объём акустической камеры, добавили пассивный излучатель и адаптировали настройки эквалайзера под новый акустический дизайн, а также — систему DRC усилителя (англ. Dynamic Range Control). И всё это — оставаясь в рамках утверждённого не только внешнего дизайна, но и внутреннего пространства, отведённого под звуковой модуль. Это решение отбросило нас на четыре месяца назад, но в итоге мы получили именно то, что хотели: мы добились глубоких басов и менее 1% нелинейных искажений при звучании на 90% громкости.
Если уровень нелинейных искажений высокий, возникают паразитные гармоники и различные резонансные эффекты, дребезги. А высокая громкость только усугубляет эту ситуацию. Такие артефакты портят всё впечатление от устройства: и музыка звучит не так, и ассистенты реагируют хуже, потому что алгоритм подавления эха (Acoustic Echo Cancellation) не может работать как нужно. Задача AEC — вычитать из микрофонного сигнала тот звук, который проигрывает само устройство, чтобы слышать только окружающую звуковую обстановку. В нашем случае ключевое слово (spotter) — «Салют», «Афина», «Джой» или «Сбер», произнесённое пользователем. AEC работает за счёт обратной связи, когда сигнал с выхода усилителя поступает обратно в SoC (System-on-Chip – процессор) через цепочку аттенюатора сигнала и АЦП. А если звук из динамиков воспроизводится с высокими нелинейными искажениями, система AEC не способна полностью вычесть его из микрофонного сигнала и получается звуковая неразбериха, из которой алгоритм детектирования ключевых слов попросту не может определить, что пользователь произнёс заветное слово.
Финальная акустическая система
Микрофоны
Одной из самых главных задач в выборе микрофонов была стабильность их характеристик при миниатюрности. Мы используем цифровые MEMS-микрофоны, которые дают на выходе уже цифровой сигнал. Например, для аналоговых микрофонов нужны АЦП, которые удорожают и усложняют устройство, также нужно экранировать дорожки на плате и шлейфы, пока сигнал не преобразован в цифровой, для защиты от окружающих наводок от соседних цифровых цепей. В нашем случае преобразование аналогового звука происходит в самом микрофоне, а дальше он может быть подключён к цифровому входу SoC напрямую.
Конечно, вы можете сказать, что аналоговые микрофоны лучше, поскольку дают более широкий динамический диапазон и лучшее соотношение сигнал/шум. Да, так действительно было раньше, и так есть сейчас в случае некоторых крупных студийных микрофонов. Если же мы говорим про устройства наших габаритов, то цифровые MEMS давно сравнялись с аналоговыми по характеристикам и существенно превзошли их по стабильности и повторяемости этих характеристик в серии.
У нас, условно, два основных сценария использования звука с микрофонов: это постоянный анализ фона с помощью алгоритма-споттера, который ждёт команду на пробуждение устройства (слова «Салют», «Афина», «Джой» или «Сбер»), и использование звука с микрофонов уже внутри приложений. Обе задачи предъявляют определённые требования к микрофонам по АЧХ, рабочему диапазону частот, соотношению сигнал/шум и чувствительности. Вот что происходит, когда звучит слово-споттер с другого конца комнаты при играющей музыке. Все пять микрофонов (два из них расположены рядом с кнопкой Mute, остальные три – под кольцом, обрамляющим циферблат) улавливают всё, что происходит вокруг. Это и голос человека, и звук из динамиков устройства или телевизора, и другие шумы в помещении. Затем цифровой сигнал обрабатывается набором алгоритмов, таких как Beamforming, AEC, Dereverberation, Noise reduction, которые призваны убрать всё лишнее и оставить только голос человека. Так алгоритм AEC вычитает референсный звук, который в моменте проигрывается через динамики, из сигнала с микрофонов. Также задействуются алгоритмы для очистки сигнала от посторонних шумов, удаления реверберации и другие. После того как сигнал очищен, он подаётся на вход споттер-алгоритма, который работает на базе нейронной сети и распознаёт слово-активатор.
Внутренняя поверхность циферблата. Три передних микрофона расположены под обрамляющим циферблат кольцом.
И вот ещё — на одном из прототипов:
Массив из пяти микрофонов нужен для алгоритма beamforming'а, то есть такой цифровой обработки сигнала с пяти разных источников, которая позволит по задержке звука от одного микрофона до другого и по изменению уровня громкости этого звука дать примерную локализацию источника звука в пространстве, а дальше «прослушивать» выделенно эту область, подавляя остальной фон. Соответственно, микрофоны на передней панели расположены так, чтобы наиболее эффективно локализовывать источники, похожие на человеческий голос, и дальше давать наиболее высокую точность в алгоритмах распознавания. Это наложило определённые ограничения на расстояние между ними в устройстве. По сути, принцип похож на принцип фазированной антенной решётки, только в области акустических колебаний: мы не поворачиваем устройство, когда относительно него сдвигается источник сигнала, а меняем фокусировку «луча чувствительности» виртуально с помощью алгоритма.
Если мы хотим слышать пользователя на расстоянии, мало иметь совершенные алгоритмы обработки сигналов микрофонной решётки, нужны ещё максимально похожие микрофоны в этом массиве (и вот тут-то встаёт вопрос повторяемости их характеристик в больших партиях) и, конечно, желательно улучшить чувствительность, динамический диапазон и особенно соотношение сигнал/шум.
У нас отклонение микрофонов по чувствительности не хуже ±1 дБ. Для сравнения — обычный аналоговый электретный микрофон имеет отклонение чувствительности порядка ±3 дБ. А всего несколько лет назад нормой для MEMS было около ±2 дБ. Большая часть алгоритмов работает нестабильно уже при отклонении чувствительности ±2 дБ.
Отдельно стоит сказать про кнопку отключения микрофонов. Вот она, на верхней части устройства:
Схему MUTE микрофонной матрицы мы реализовали аппаратным отключением тактового сигнала микрофонов (PDM_CLK), что делает физически невозможным получение с них звука после нажатия кнопки.
Кроме того, мы ограничили программное управление кнопкой: ей невозможно управлять со стороны SoC, доступно только электрическое переключение вручную путём долгого нажатия на механическую кнопку.
К этой верхней кнопке привязана ещё одна функция — вызов виртуального ассистента (если почему-то не хочется звать его голосом) по короткому нажатию, менее 1,5 сек. до отжатия.
Тестирование
После сборки мы тестируем каждое устройство, сошедшее с производственной линии, в специальных тестовых камерах — чемберах. Комплексное тестирование проходит в автоматизированном режиме, без участия людей, и длится несколько минут для каждого устройства. За это время проверяется работа системы в целом, работа часового механизма, периферии (подключается ли медиаколонка к WI-FI и Bluetooth), замеряются параметры микрофонов, звука, также тестируются кнопки. Если были обнаружены какие-то дефекты, устройство отправляют обратно на производственную линию для устранения проблем, а после снова прогоняют через чембер — и так до момента, пока всё не будет работать корректно на 100%.
Чтобы понимать, всё ли в порядке с конкретным тестируемым девайсом, нужен какой-то эталон — набор параметров, с которым мы будем сравнивать данные, полученные во время автоматических тестов. Поэтому некоторое количество устройств мы проверяем вручную и пропускаем их через тестовые камеры — формируем таким образом пороговые критерии эталонного качества. А дальше начинается трудоёмкий процесс настройки и калибровки чемберов в соответствии с этими критериями.
На фабрике таких камер несколько, так как есть объективное ограничение по времени: каждый чембер может тестировать только одно устройство в течение нескольких минут. Поэтому идёт постоянная борьба за ускорение и оптимизацию процесса тестирования.
Методику этих автотестов и архитектуру тестового оборудования мы разработали сами: работали над софтом и компонентами для тестовых камер несколько месяцев параллельно с разработкой софта для самого устройства. Полученные во время автоматических тестов данные отправляются к нам на серверы, поэтому мы можем поднять и проанализировать их в любой момент. Это позволяет обнаружить отклонения в процессе сборки и сразу выяснить первопричину: например, если в очередной партии поставляемых компонентов были дефекты, либо кто-то из сотрудников допускал погрешность при сборке. За счёт внутреннего фабричного трекинга получается проследить всю производственную цепочку: от отдельных компонентов до финально упакованного девайса.
Камера для тестирования устройств
А как же пандемия? Не повлияла на разработку?
Повлияла. Как и, наверное, на процессы всех производителей устройств сегодня. На всём пути разработки девайса нас не покидала проблема роста себестоимости: поставщики компонентов постоянно поднимали цены, некоторые выросли чуть ли не вдвое за время разработки. Нам приходилось постоянно искать компромиссы, подбирать аналоги, менять поставщиков, вносить изменения в прототипы. Некоторые компоненты в принципе пропали с рынка, по некоторым сроки поставок увеличились от нескольких месяцев вплоть до года. Так что скилл планирования мы прокачали неплохо: производство, логистику, закупку, бронирование производственных линий. Их приходилось планировать на 25–30 недель вперёд. Сейчас этот срок стал ещё больше и доходит до 50–60 недель.
Но, несмотря на все эти перипетии, люди уже могут попробовать нашу медиаколонку, над которой мы упорно работали последние 16 месяцев. И, надеемся, что она им понравится.
Вот так выглядит упакованное устройство:
Мы уделяем очень много внимания разработке упаковки для наших девайсов, ведь она должна быть и красивой, и прочной, чтобы устройство в целости и сохранности доехало от фабрики до покупателя. А ещё она должна быть понятной, делать знакомство пользователя с девайсом лёгким и приятным. Но тема разработки упаковки не менее увлекательна и заслуживает отдельной истории, которую мы обязательно расскажем.
А пока узнать больше о сценариях использования SberBox Time можно здесь. И там же — приобрести медиаколонку, если вам захотелось попробовать её в деле.
Комментарии (63)
vesper-bot
24.01.2022 12:20+1Я бы в такие «часы» аккумулятор ещё воткнул, специально для работы аналогового механизма. В конце концов, у нас часы или нечто, что при включении питания уезжает через 12 часов, да ещё и за временем в интернет ходит, не доверяя собственному тактовому генератору?
ditivi Автор
24.01.2022 19:01Мы продумывали и просчитывали такой вариант. Шаговый двигатель и микроконтроллер потребляют довольно много, миниатюрный аккумулятор долго не протянет, а достаточно ёмкий аккумулятор занял бы слишком много места в корпусе устройства, увеличив также его вес и стоимость. К тому же, аккумуляторы выходят из строя со временем.
Кроме того, мы позиционируем этот девайс как стационарный домашний, а не мобильный. Аккумулятор явно излишен для такого применения.fk0
25.01.2022 04:50+1А постоянное прослушивание микрофона на предмет ключевой фразы -- не потребляет достаточно много? По-моему на порядки больше же! Там генератор работает, все 5 микрофонов, аудио-кодек какой-то должен быть, большой процессор тактируется, и его память. Десятки мА!
Или там активация по уровню сигнала и по какому-нибудь простенькому фильтру (аналоговому? например как датчик разбития стекла). Тогда в шумных условиях всё равно же батарейку сожрёт.
Понял, там нет аккумулятора вообще. Но погодите, для именно часов можно же было добавить к мелкому МК (который у вас стрелками шевелит) мелкий аккум, ионистр, батарейку... Чтоб просто время считать. А потом при включении докрутить стрелки куда нужно (чтоб без инета работало). Ну или даже отдельный часовой чип поставить. Или в STM32 там же отдельный блок часов RTC есть.
Iv38
25.01.2022 11:49Но зачем это стационарному девайсу, который всё время подключен к сети?
fk0
26.01.2022 03:10+1Напряжение в сети имеет тенденцию к периодическому пропаданию, очевидно же. А часы показывающие неправильное время -- это просто-таки диверсия.
Iv38
26.01.2022 12:29А, я понял вашу мысль. Эти часы при отключении питания останавливаются и до включения показывают неправильное время. Большинство электрических часов вообще не показывает время без питания, но это лучше, чем показывать неправильное. Согласен. Но всё ещё не уверен, что усложнение стоит того в устройстве, где функция часов скорее эстетическая. Да и электричество отключают не так уж часто.
Indemsys
24.01.2022 12:21+1Тема beamforming-а интересная, но не раскрытая.
Сами разработали алгоритм или купили референсный софт?ditivi Автор
25.01.2022 19:29В данный момент мы используем ПО от нашего партнера Fraunhofer IIS. Но мы смотрим и на другие разработки, а также экспериментируем с собственными алгоритмами.
drWhy
24.01.2022 12:32«Тихоходность. Многие пользователи любят успокаивающий шум на грани различимости, но не любят отчётливое тикание, особенно в спальне. Плюс нам нужно распознавать голос, и не хотелось бы, чтобы вместо этого микрофоны заглушал стук механизма.»
Есть стандартный китайский часовой механизм, не тикающий, а вращающийся постоянно, правда бывает тоже довольно громко, ещё и батарейки жрёт.
«Устойчивость к вибрациям. Акустическая система при проигрывании музыки ощутимо вибрирует. Поэтому нужно было, чтобы часовой механизм был устойчив к таким вибрациям.»
Вероятно выбранная схема с двумя электромагнитами должна быть более устойчива к вибрациям.
«Возможность программного управления механизмом. Мы хотели, чтобы часы работали не «сами по себе», а подчинялись «мозговому центру» девайса и могли по команде выставлять нужное время.
Быстрая установка времени. Чтобы была возможность быстро и тихо «перематывать» стрелки в правильное положение при синхронизации с NTP-сервером на старте.»
Опять таки продаётся модификация стандартного механизма с синхронизацией от радио DCF77.Iv38
24.01.2022 14:19+1Есть стандартный китайский часовой механизм, не тикающий, а вращающийся постоянно
Их называют quiet sweep.
pecmapm
24.01.2022 14:04+1Спасибо за статью! Устройство интересное. Заказал себе. Был сильно удивлен аналоговым часам. В планах есть вариант колонки с дисплеем на котором можно показывать что угодно?
REPISOT
24.01.2022 14:10+5Прям как в «Детях шпионов»: в этих часах столько всего, что для часов места не хватило. ИМХО, конечно, но часы без обозначения делений хотя бы точками — это не для того, чтобы узнавать время.
P.S. По углу время можно определять на наручных часах, когда смотришь на них строго перпендикулярно плоскости циферблата. А тут глянешь лежа, с дивана, и покажется, что угол соответствует не тому времени.
А как маленьким детям по ним время смотреть?K0styan
24.01.2022 18:31+1А никак) Я уже не раз наталкивался на довольно суровые дискуссии в интернетах на тему "умение определять время по стрелкам часов - атавизм". Школьники уже не все умеют.
Iv38
24.01.2022 18:38+1Да легко, на самом деле: "Джой, сколько времени?" Циферблат там скорее чтобы замаскировать колонку под часы. Не то что бы было так уж необходимо определять по ним время.
Iv38
24.01.2022 14:23+5Дизайн - моё увожение! Желание купить эту колонку не отпускает меня с тех пор, как я увидел её впервые. Увы, остальной функционал мне пока не интересен. Мне нужно, чтобы оно как минимум интегрировалось в Home Assistant.
Но спасибо за интересный рассказ об инженерных буднях. Интересно такое читать.
Jury_78
24.01.2022 15:02что делает физически невозможным получение с них звука после нажатия кнопки.
Т.е. пользователя никто подслушивать не будет :).
Wesha
24.01.2022 20:33Не волуйтесь, будет. Когда разбирали "умную колонку", я этот вопрос уже задавал. Мне пяткой в грудь били, что "да у нас есть кнопка!!!111", а на практике оказалось, что кнопка заведена на ножку GPIO (а не физически разрывает цепь), так что как вы микрофон "кнопкой отключили", так и товарищ майор дистанционно включить могёт.
fk0
25.01.2022 04:45Но там же на схеме видно, что кнопка дёргает одновибратор который переключает D-триггер, выход которого через мультиплексор отключает тактовый сигнал от микрофона. И все соединения с микроконтроллером -- через транзисторы, фактически в одну сторону сигнал. Микроконтроллер как там ножками дёргать не будет, ему триггер не переключить.
Или я что-то неправильно понял?
Iv38
25.01.2022 11:53Справедливости ради, на многослойной плате можно заныкать обходной путь передачи тактового сигнала на микрофоны. Но сомневаюсь, что это кому-то нужно.
Jury_78
25.01.2022 16:16Но сомневаюсь, что это кому-то нужно.
Допустим. А тогда зачем делать устройство привязанное к серверам продавца?
Автономно же оно не работает.
qw1
25.01.2022 22:22+1можно заныкать обходной путь передачи тактового сигнала на микрофоны. Но сомневаюсь, что это кому-то нужно
Обычно это делается через ревизии. Через пару версий приходит указание удешевить устройство, и конструктор смотрит так: нафига нам 1.5 десятка лишних деталей ради какой-то кнопки, которая прибыль не приносит? Все детали под нож, а кнопку прикрутим на ножку GPIO… PROFIT!
MikhailZakharov
24.01.2022 16:04+2Устройство получилось интересным. Для меня эта первая колонка, которую захотелось купить.
В часах минутная и часовая стрелки связаны. Двигатель управляет обеими стрелками, что видно по настройке. Насколько сложно было бы управлять стрелками независимо. Как, например, в garmin vivomove?
ditivi Автор
24.01.2022 18:56+1Приятно это слышать! Стрелки не управляются независимо – двигатель приводит в движение редуктор, передаточные числа которого точно подобраны под минутную и секундную стрелку. Фактически, это классический, но управляемый часовой механизм.
MikhailZakharov
24.01.2022 21:17Я понял именно так. Было интересно, рассматривали ли вы возможность управлять стрелками независимо? Или это ненужное усложнение? Установка времени при этом быстрее во много раз. Плюс в будущем можно задействовать пространство циферблата как дисплей.
Сначала я думал, что это чрезмерное усложнение, но такие механизмы встраивают в наручные часы, то есть размер не проблема.
Wesha
24.01.2022 21:27+1Размер — не проблема. Проблема — цена.
MikhailZakharov
24.01.2022 22:02Насколько большая разница в цене? Понятно, что будет разница в механизме, так как два двигателя вместо одного. Плюс изменения в алгоритме управления стрелками.
Wesha
25.01.2022 02:00+1так как два двигателя вместо одного
Подскажите, пожалуйста, где Вы берёте бесплатные шестерёнки из бесплатного пластика на бесплатных осях из бесплатного металла, собираемые бесплатными сборщиками и принимаемые бесплатными контролёрами ОТК (и я практически уверен, что я много чего ещё упустил).
eimrine
24.01.2022 16:24+1Было важно подобрать акустически прозрачную ткань — такую, которая минимально влияет на звучание, чтобы это было легко скорректировать эквалайзером.
Можно ли увидеть пресет эквалайзера конкретно для компенсации влияния на звук конкретно вашей радиоткани, без других донастроек?ditivi Автор
25.01.2022 19:37Вытащить такой пресет эквалайзера не представляется возможным, так как мы делаем комплексную компенсацию для всего сразу.
Antonto
24.01.2022 19:47Насколько велика вероятность, что оператор (инженер) может получить доступ ко всем звукам, которые слышит колонка? При условии, что микрофоны не отключены кнопкой.
Точнее, есть ли такая возможность теоретически?
Wesha
24.01.2022 20:29Сдаётся мне, что это типично для современного российского дизайна:
Coздать себе проблему.
Героически её решить.
Результатом в повседневной жизни невозможно пользоваться? Да кому тот результат нафиг нужен! Главное — что проблема героически решена!
ni404
24.01.2022 22:15Спасибо за рассказ, можете пояснить для кого эта колонка?
Вот у меня дети активно пользуются подобным решением от конкурирующей компании.
Но вот незадача. Дети не умеют определять время по стрелкам. Дети кайфуют от того, что можно всегда посмотреть сколько времени на колонке. На это уходит доля секунды.
Для кого вы сделали эти стрелки? Почему вы решили делать именно стрелки?
Ведь понять сколько времени по стрелкам занимает больше времени, чем по цифровым часам?
Зачем вы решили усложнить жизнь своим пользователям?
Iv38
25.01.2022 00:41+2Чего бы с детьми не поиграть в угадывание времени по стрелкам? Не самый полезный навык сейчас, но и стрелочные часы ещё далеко не вымерли.
Мне кажется, что если знаком со стрелочными часами, то прикинуть время или интервалы по ним даже быстрее, чем по цифровым. Но медленнее, когда надо узнать точное время. Особенно без минутных рисок на циферблате.
ni404
25.01.2022 00:43+1Позвольте мне самому решать во что и как я буду играть с детьми.
Вопрос простой - зачем сделали усложнение?
K0styan
25.01.2022 10:28Вопрос у вас в первом комментарии даже более точный - для кого? Мне вот тоже интересно.
Просто выглядит так, как будто делая реверанс возрастной аудитории - а она, кстати, пообщаться с голосовыми помощниками любит, так что это как раз норм - напрочь упустили даже нынешних школьников, не говоря о тех, кто моложе.
Iv38
25.01.2022 12:02Это же умная колонка, и тв-приставка. Часы там третий по счёту функционал. Вы как-то слишком серьёзно к этому относитесь, по-моему.
CleverFoxforeve
25.01.2022 14:04+1И дети и взрослые должны научиться думать! А упростить себе всегда успеете, Вас же учили время разным способом понимать? Вот и ваши детки пусть учатся
А я вот люблю стрелочные циферблаты, и на своих часах и в офисах и тем паче ночью
fk0
25.01.2022 04:40+1Схему MUTE микрофонной матрицы мы реализовали аппаратным отключением тактового сигнала микрофонов (PDM_CLK), что делает физически невозможным получение с них звука после нажатия кнопки.
Офигеть. Полчаса изучал схему. Честная кнопка MUTE которая по-настоящему всё отключает. Впервые вижу. Обычно всё уходит куда-нибудь в софт и он там то ли выключит, то ли нет, не знаешь.
Продаётся меньше чем за 8 тыс. рублей. Я не верю, что в эту сумму содержимое "колонки" может уместиться по себестоимости... По-моему налицо демпинг (как и со стороны mail.ru и прочих). Может быть при каких-то сумасшедших объёмах, но догадываюсь, что покупают и производят пока не много. То-есть коммерциализация там в чём-то другом.
Не понимаю, для чего её покупают. Мне было бы просто неудобно разговаривать с компьютером голосом. Но даже, допустим, как-то бы привык. Но какой от неё толк? Любой сколько-нибудь сложный запрос она не отработает. А уж распознавание устной речи -- вообще проблема. А хотелось бы: "найди и купи на следующей неделе мне билет в Питер подешевле..." -- и чтоб само всё сделало. А не рекламу какую-нибудь подсунуло.
И потом есть устойчивое мнение, что компьютер должен быть -- персональным. А не ухо большого брата, которое тщательно всё записывает (а оно ведь записывает, раз подключается к сети, хоть и честно отключается кнопкой, что конечно вызывает уважение).
Wesha
25.01.2022 05:39"Честный выключатель MUTE" — это примерно вот так (извините, нечем схему нарисовать):
+5В ------ микрофон --------- выключатель -------- всё остальное
А на приведённой в статье схеме я даже микрофона не вижу.
Radisto
25.01.2022 06:55+3У вашей схемы очевидное достоинство - видимый разрыв цепи, и он же - очевидный недостаток, любая пара подвижных контактов надежности не добавляет. К тому же, насколько я понял, у них микрофон и система оцифровки звука в цифру - это одна деталь, которая в шину уже цифру гонит. Дребезг контактов в выключателе ей может нехорошо делать, а код исправления ошибок определяется, я полагаю, ПО этого "микрофона", то есть не создателями колонки, что купили, то купили, может его и нет этого исправления.
fk0
25.01.2022 15:52Цифровые микрофоны тактируются специальным сигналом и на каждый такт выдают один бит информации в унарном коде. Без тактовой частоты (которая отключается схемой) микрофоны ничего не выдадут.
Iv38
25.01.2022 12:11+2Яндекс к одной из своих первых колонок тоже схему отключения микрофонов публиковал. И там тоже отключение микрофонов железное без всяких контроллеров.
amarao
ntp + шаговый мотор.
K0styan
Экран + виртуальные стрелки. Или хотя бы светодиодная матрица за рассеивающим стеклом.
По первому анонсу был свято уверен, что так оно и сделано. Когда узнал, что это пластмассовые палочки на общем шпеньке, был весьма разочарован.
Iv38
А я наоборот, где-то прочитал, что там ненастоящие стрелки, а это экран - и был разочарован. Теперь я знаю, что стрелки настоящие.