Feel the power of music :)

#2 Техническое задание MCSofA ver 1.0

Я, естественно, сразу бросился макетировать будущий девайс. С течением времени хотелок появлялось всё больше и больше, схема постоянно менялась и перерисовывалась и стало понятно, что без тех задания или какой-то структуры проекта продолжать работу невозможно. Поэтому макетные платы, провода и паяльник отложил в сторону и начал со структурной схемы и тех задания. Структурная схема представлена ниже.

image

Функционально все устройства, подключаемые к плате управления (Main unit) , можно разделить на 4 части: исполнительные, индикация, управление, сервисные. Некоторые устройства можно подключать и использовать совместно (например, модуль софт старта + селектор входов + релейный аттенюатор), некоторые — нет (например, нет смысла выводить на переднюю панель управление с кнопок и энкодеров одновременно). Часть устройств выполнено в виде печатных плат, часть (кнопки, регуляторы) просто подключаются проводами к плате управления.

Кратко рассмотрим каждый девайс — назначение, применение, устройство. Многое и так понятно опытным технарям, достаточно просто взглянуть на картинку, но я разжую, уж простите за скрупулезность. Начнём с периферии, а о контроллере расскажу в конце статьи.

Исполнительные устройства:

  • I/O Selector — плата коммутации входов / выходов. Позволяет подключить несколько источников сигнала к усилителю, а также раздать один из подключенных входов на несколько выходов. Вся коммутация происходит на реле, реле управляются связкой микросхем 74нс595 + uln2003a

  • Relay Attenuator — плата никитинского регулятора громкости на реле. Должен уже быть у каждого на слуху, кто занимается аудио ) Реле управляются также связкой 74нс595 + uln2003a

  • IR / Remote control — обычный ИК фотоприемник, для приёма сигналов с пультов ДУ. Исполнительным модулем его назвать сложно, но надо было куда-то определить его в структурной схеме ) На момент написания этих строк под рукой оказалось несколько датчиков серии TSOPxxxxx. Решено было поэкспериментировать с ними. Ну и пульт ДУ, естественно

Индикация

  • RGB LED — один или несколько RGB светодиодов. Один светодиод может использоваться для ндикации работы усилителя (в выключенном состоянии — горит красный светодиод, включаем усилитель — зеленый / синий). Несколькими светодиодами (линейкой) можно отображать текущий уровень громкости

  • LED Display — модуль индикации на семисегментных светодиодных индикаторах. Отображение уровня громкости, отображение канала селектора сигналов при переключении и т.д. Тут на что фантазии хватит ). Управляем индикаторами с помощью 74нс595.

Элементы управления

  • Mechanical Buttons — обычные механические кнопки, для вкл/выкл усилителя, регулировки громкости, переключения каналов.

  • Encoder — два инкрементальных механических энкодера, с кнопками. Это даст возможность реализовывать интересные алгоритмы управления громкостью, селектором и другими функциями усилителя.

  • Wafer Switch — галетный переключатель на 4-6 позиций. Будет такая возможность подключить галетник, для переключения каналов.

  • Variable resistor — подключение переменного резистора, для регулировки уровня громкости. Как раз можно использовать вариант “переменный резистор + галетник” для громкости и переключения каналов

Сервисные

  • Power On — плата с одним реле на борту и парой клеммников, для подачи сетевого напряжения на потребители. Плюс такого подхода в том, что для вкл/выкл усилителя можно использовать красивую слаботочную кнопку либо пульт ДУ

  • Soft Start — плата с двумя реле. Функции такие же, как и у первого модуля, плюс ограничение тока заряда емкостей бп в момент включения. Скорее всего будет одна плата, на которой можно будет собрать либо просто подачу питания, либо софт старт

Вот в принципе основная часть девайсов, управление которыми хотелось бы реализовать. Вполне возможно, что-то будет убираться, что-то добавляться. Может кому-то приспичит часы прикрутить и включать / выключать усилитель по таймеру :)

Что касается платы МК (Main Unit), долго размышлял, на каком контроллере всё собирать. В итоге решил всё-таки на AVR. И более того, на платформе Arduino. Многие сейчас выскажут свое недоумение, кто-то, кто дочитал до этого места, и вовсе перестанет читать дальше и закроет статью :) Однако, использовать Arduino меня подтолкнули следующие причины:

  • У меня лежит несколько Arduino платок — Arduino Pro Micro на ATmega32U4 и Arduino Uno R3 ATmega328p, с которыми я начал ковыряться до того, как сел писать ТЗ. С ними и буду продолжать ковыряться

  • Новичку будет гораздо проще разобраться в коде Arduino, изменить или написать под себя свою функцию / алгоритм

  • Никогда не поздно выкинуть ардукод и написать на нормальном человеческом Си, так что опытные комрады могут просто использовать плату МК как заготовку, переписав всё с нуля.

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

, ,