Circuit Abbey Euro-Duino

euroduino_panelEurorack и Arduino. Что может объединять аналоговый шкаф с проводами и начинку для игрушечных роботов? Наверное открытость этих платформ и разнообразие созданных на их основе продуктов. Сейчас никого не удивишь микроконтроллерами внутри аналоговых модулей, но именно Arduino имеет имидж очень простой и дружественной разработчику технологии, позволяющей в минимальные сроки и за почти минимальные деньги создать устройство, выполняющее интересные произвольные функции. С некоторого времени чипы Arduino стали появляться в синтезаторных модулях. Такие компании как 4ms, Flame используют микроконтроллеры AVR, а, скажем, Soundmachines даже разработали свой Robotto именно на платформе Arduino и опубликовали для него SDK.

Теперь начали появляться модули, которые изначально предусматривают полную переделку функционала пользователем. Первым из таких стал лаконичный Utility-модуль Expert Sleepers Disting (175 $), основанный на контроллере PIC32MX. Ну а в июле этого года в продажу поступил модуль Circuit Abbey Euro-Duino (145 $), основанный, как можно догадаться из названия, на Arduino. Набор для сборки этого модуля стоит всего 95 $, а возможностей в нём немало. Посмотрим, что же это такое.

WTF is Arduino?

arduinoprominiСперва напомню, что такое Arduino. Это серия средств разработки цифровых устройств, управляемых микроконтроллерами Atmel семейства AVR. Аппаратная часть представляет собой стандартизированные платы, на которых установлен микроконтроллер (в основном ATMEGA168 или ATMEGA328, прошитый специальным бутлоадером, упрощающим обновление микропрограммного обеспечения), последовательный интерфейс или USB, а также IDC-разъёмы (так называемые хэдеры), напрямую подключенные к ножкам контроллера. Расположение этих хэдеров строго определено, что позволяет выпускать для этих плат различные адаптеры, так называемые шилды, на которых размещаются самые разнообразные периферийные устройства — от кнопок до S/PDIF и Ethernet интерфейсов.

Программная часть — это специальная среда, объединяющая в себе редактор кода на языке C++, средства программирования микроконтроллеров, удобные макросы, терминальный клиент и справочную систему. Для Arduino существует большое количество программных библиотек для работы с теми или иными объектами. Для официальных шилдов в обязательном порядке делаются документированные библиотеки под Arduino. Большинство проектов под Arduino имеют открытый исходный код, что помогает новичкам быстро осваиваться и модифицировать уже существующие решения, близкие новой поставленной задаче.

Принцип работы Euro-Duino

Euro-Duino — это фактически Eurorack-шилд под плату Arduino Pro Mini. На борту имеется два набора одинаковых органов управления, каждый из которых включает потенциометр, трёхпозиционный переключатель, цифровой вход и выход, аналоговый вход и выход. «Из коробки» прибор работает как двойной VC-LFO с тремя формами волны, входами для перезапуска, выходами самих LFO, а также логическими выходами, накоторые подаётся импульс каждый период.

Для обработки аналогового сигнала используются только штатные средства контроллера Atmel ATMEGA328P:

  • Четыре10-битных ЦАПа с максимальной частотой дискретизации около 10000 отсчётов. (Это мало для аудио, но достаточно для CV) Два из них подключены к потенциометрам. Все 4 ЦАПа принимают строго от 0 до +5 вольт.
  • Два PWM-выхода, сигнал с которых фильтруется на основной плате модуля. Частота PWM, при использовании штатных библиотек, составляет около 490 Гц, разрядность — 8 бит.

DIY-набор

euroduino_kitEuro-Duino продаётся в собранном виде и как DIY-Kit. Наборы упаковываются в полиэтиленовые пакеты с картонными этикетками. В комплект входят две печатные платы для самого модуля, передняя панель, все необходимые детали и один модуль Arduino Pro Mini с установленными хэдерами и ISP-разъёмом. При отсутствии ISP-программатора под AVR (STK-500, AVRDude, AVR Dragon и т.д.) рекомендуется сразу купить у Circuit Abbey специальный USB-кабель (18 $), чтобы не иметь потом головной боли.

Платы вполне качественно сделаны, но лично мне не нравятся две вещи в их дизайне. Во-первых, толщина каёмок отверстий очень маленькая. Это сокращает площадь соприкосновения паяльника с поверхностью, а значит и теплоотдачу, а значит и время пайки. При волновой пайке это нормально, при ручной — нет. Во-вторых, компоненты указаны наименованиями, а не номиналами, поэтому для того, чтобы спаять плату, нужно лезть в интернет, качать список компонентов, распечатывать и класть рядом с собой. К тому же сам BOM скорей похож на накладную, так как все позиции указаны в виде товарных кодов, в которых глазами довольно тяжело выделить номиналы.

euroduino_kit2Все компоненты хорошие. 1% резисторы, маленькие аккуратные керамические конденсаторы, быстрые защитные диоды BAT85, потенциометры Alpha 9-миллиметровой серии, неопознанные, но прлично смотрящиеся гнёзда minijack. С такой комплектацией можно было бы разорить клиента ещё баксов на 10–20 и поставить хоть какой-нибудь настоящий ЦАП, но об этом позже. Единственное нарекание по качеству вызывают пластиковые IDC-гнёзда, которые явно выкусаны из более длинных полосок для экономии. Выглядит это не очень красиво, хотя и работает.

Передняя панель изготовлена из одностороннего фольгированного текстолита. Чёрной паяльной маской выполнен фон, шелкографией нанесены надписи и поля для ручных подписей, а отверстия для крепления к стойке обрамлены лужённой медью. Интересная технология, хотя текстолит имеет свойство выгибаться.

Есть некоторые нарекания по механическому дизайну. Гнёзда немного выше чем потенциометры, поэтому для того, чтобы сравнять панель в параллель к плате, необходимо подкладывать на потенциометры по две шайбы. Они есть в комплекте, но на верхнюю сторону не остаётся. В моём комплекте отсутствовали гайки для переключателей. Это не мешает работать, но нажатия создают определённую нагрузку на места пайки, поэтому я предпочёл бы установить по две гайки, как это обычно и делается.

В отличие, скажем, от модулей Hexinverter.net, бутерброды из плат соединяются только хэдерами и держутся за счёт сил трения в контактах. Это ускоряет сборку, но мне кажется, это не очень надёжно. Впрочем, модуль всего в 6 hp шириной и имеет очень высокую плотность расположения компонентов, так что грех жаловаться. Разве что спокойно могли бы добавить пару светодиодов.

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

Euro-Duino в работе

Модуль является новинкой и на момент написания материала мне известно только о двух опубликованных скетчах под Euro-Duino. (скетч — это исходный код проекта, который редактор Arduino компилирует и загружает в микроконтроллер) Это «родной» LFO и написанный мной примитивный VCO. Так что пока сложно говорить о потенциальных возможностях этого модуля. Подробно обсуждать стоковый LFO я смысла не вижу, т.к. это просто пример, не более. Хотя пару слов сказать стоит.

Всё-таки дискретизация 500 герц — это очень мало для PWM, тем более, восьмибитного. Тот LFO, что поставляется с завода, имеет довольно маленький размах частот как от ручки, так и от CV. Синусоида строится по 8-битной таблице без какого-то особого дизеринга, а фильтр недостаточно хорошо справляется со своей работой. Волны оставшиеся от зафильтрованных импульсов хорошо проглядываются на осциллоскопе и слышны в тракте. А вот АЦП работают действительно быстро, и это можно использовать. Мне кажется, этот модуль просто просит какого-то расширения, где были бы полноценные ЦАПы, кнопки, может быть какой-то экран, но это сложно сделать, т.к. большинство пинов Arduino уже занято. К выходам подключены 14 пинов из 18 имеющихся (включая Rx и Tx). Но если бы вместо PWM использовался двухканальный SPI ЦАП, на него как раз ушло бы 3 пина из 4-х доступных без Rx/Tx. Я попробую прикрутить к этому модулю что-нибудь интересное позже. Если что, сообщу о результатах.

Итог

В сравнении с Disting, этот модуль имеет ровно два преимущества: цену и использование всем известного Arduino. В остальном, к сожалению, он проигрывает продукту Expert Sleepers. Disting имеет 24-битные профессиональные ЦАПы и АЦП. Euro-Duino использует встроенные 10-битные АЦП и PWM. У Disting есть 8 диодов, которые представляют собой хоть какой-то интерфейс. У Euro-Duino только цифровые интерфейсы. В Disting используется 32-битный контроллер на частоте 40 МГц. В Euro-Duino — 8-битный контроллер на частоте 16 МГц. Это примерно как MOS6502 против i80386.

Тем не менее, тут есть с чем развернуться и свои 100$ этот модуль может отработать, если заставить его выполнять необычные задачи. Возможно, немного подучившись на легко осваиваемом Arduino, вы захотите большего и тогда пригодится Disting или какой-нибудь ещё модуль, который к тому времени подоспеет.

Страница на Modulargrid
Тема на Muffwiggler

Оценка Modularsynth.ru: 7/10

На сайте открыт раздел «Прошивки для Euro-Duino», куда будут помещаться мои скетчи для этого модуля.

Добавить комментарий