Блок индикации и управления аудиоустройством

Конструкции любых блоков питания, источников тока для любых назначений. Микроконтроллеры и все, что с ними связано

Модераторы: Алаев Ян, Роман Мирошниченко, poty

Аватара пользователя
Алаев Ян
Основатель Форума
Сообщения: 2825
Зарегистрирован: 19 мар 2014, 12:05
Откуда: Саратов
Благодарил (а): 175 раз
Поблагодарили: 148 раз
Контактная информация:

Блок индикации и управления аудиоустройством

#1

Сообщение Алаев Ян » 19 июл 2018, 15:56

Над названием надо еще подумать, так как функционал устройства еще в разработке





Суть идеи заключается в том, что должен быть универсальный блок, который умеет управлять внешним аттенюатором (для регулировки громкости) или двумя внешними аттенюаторами (для балансной версии регулятора громкости), умеет управлять селектором входов и выводить всю необходимую информацию на индикатор/дисплей. А вот индикатор должен "съедаться" любой. Я предусмотрел возможность подключения сенсорных графических индикаторов Nextion по UART, подключение символьно-графических индикаторов формата 1602/1604 и им подобных, подключение светодиодных матриц, сегментных и графических ЖК-дисплеев по их стандартным интерфейсам, а так же по I2C. Управление устройством будет осуществляться с помощью энкодера, пульта ДУ или сенсорного экрана (для версии с дисплеем Nextion).

Содержание:
Спойлер
Показать
1. Предварительная схема блока индикации и управления аудиоустройством viewtopic.php?f=94&t=425&start=20#p21474
2. Печатная плата и дальнейшие планы по развитию проекта viewtopic.php?t=425&start=20#p24405
3. Немножко картинок как руководство по сборке viewtopic.php?t=425&start=20#p24487
4. Рекомендации по сборке viewtopic.php?t=425&start=20#p24601
5. Проверка работоспособности платы viewtopic.php?t=425&start=20#p24635
6. Подключение периферийных устройств viewtopic.php?t=425&start=20#p24727
7. Проект печатной платы для изготовления в Китае viewtopic.php?f=16&t=425&p=25328#p25328

Аватара пользователя
Алаев Ян
Основатель Форума
Сообщения: 2825
Зарегистрирован: 19 мар 2014, 12:05
Откуда: Саратов
Благодарил (а): 175 раз
Поблагодарили: 148 раз
Контактная информация:

Предварительная схема блока индикации и управления аудиоустройством

#21

Сообщение Алаев Ян » 20 июл 2018, 16:36

Схема имеет высокое разрешение и для нормального просмотра необходимо нажать на схему после чего "Открыть картинку в новой вкладке", появится возможность масштабирования, или сохраните схему на свой ПК и откройте любым графическим редактором.
Attenuator_ATMEGA328TQFP_ver.1.jpg
Лист 1
Attenuator_ATMEGA328TQFP_ver.1_2.jpg
Лист 2

Аватара пользователя
goldmen8
Постоялец
Постоялец
Сообщения: 207
Зарегистрирован: 25 май 2018, 10:02
Откуда: г. Киров (на р. Вятка)
Благодарил (а): 100 раз
Поблагодарили: 46 раз

#22

Сообщение goldmen8 » 20 июл 2018, 17:01

Делал на 74HC595, есть такие в наличии.

Было задумано: подготавливаю информацию для индикатора или ступенчатого регулятора (и переключателя); разрешаю "ST" устройству; вывожу данные на (в) линии "DATA" и "CLK". Думал зачем каждый раз передёргивать ST_R (для регулятора), пускай ждёт своего (своей команды на изменение состояния).
:fie: не получилось... :cry:
У меня не получилось подключить параллельно несколько компонентов (сборок с разным функционалом) к одному выходу (в линии DATA, CLK), а управлять передачей (приёмом) данных думал просто подать сигнал разрешения на устройство которое должно принять свой сигнал.

Пришлось включить все компоненты последовательно, выдавать постоянно всю информацию в линии "DATA" и "CLK", а вот сами устройства уже включались на "приём" своим сигналом "ST" (ST_I - индикатор, ST_R - реле).

Может что неправильно делал. Но по первому варианту, не смог добиться правильного вывода, вернее приёма правильной информации в устройстве. Всё время получалась "лажа".
Александр.

Аватара пользователя
Евгений Михеев
Заслуженный Ветеран
Заслуженный Ветеран
Сообщения: 3075
Зарегистрирован: 22 май 2015, 11:52
Откуда: Республика Коми, Ухта
Благодарил (а): 11 раз
Поблагодарили: 112 раз

#23

Сообщение Евгений Михеев » 20 июл 2018, 17:31

Интереснейшая тема, я в вопросах этих не сильно силен, но вот реализация у меня подобного блока в преде (громкость, включение, выбор канала, индикация) до сих пор меня держит в восторге. Посему с удовольствием буду следить за темой.
Дорогу осилит идущий

Аватара пользователя
goldmen8
Постоялец
Постоялец
Сообщения: 207
Зарегистрирован: 25 май 2018, 10:02
Откуда: г. Киров (на р. Вятка)
Благодарил (а): 100 раз
Поблагодарили: 46 раз

#24

Сообщение goldmen8 » 20 июл 2018, 19:46

Ян, что то уже пробовал для своей схемы, программу сочинял?
Опиши свою задумку. ... интересно же...
Александр.

Аватара пользователя
Алаев Ян
Основатель Форума
Сообщения: 2825
Зарегистрирован: 19 мар 2014, 12:05
Откуда: Саратов
Благодарил (а): 175 раз
Поблагодарили: 148 раз
Контактная информация:

#25

Сообщение Алаев Ян » 20 июл 2018, 21:12

goldmen8 писал(а):Ян, что то уже пробовал для своей схемы, программу сочинял?
Опиши свою задумку. ... интересно же...
не уверен, что правильно понял вопрос... определенные наработки уже давно есть, идеи тоже давно сформировались.
Применительно к индикаторам - хочется сделать красивый интерфейс, чтобы на прибор было приятно смотреть. Я тренировался с индикаторами 1602, 1604, даже пробовал огромный 2004 lcd display 146х62. Нравятся OLED-дисплеи, понравилось экспериментировать с разными цветами, очень понравился дисплей красного цвета. Выглядит очень агрессивно, но мне нравится. Идею с красным индикатором я прихватил у Sercona Audio.
16832746374_e924aeef5f_b.jpg
Sercona Audio
Синий и зеленый смотрятся банально. Белый и темный смотрятся интересно. Пробовал сенсорный дисплей Nextion, там все красиво, любые цвета и интерфейс... На нем классно можно сымитировать стрелочный индикатор уровня или что-то в этом духе, причем, чем крупнее такой дисплей, тем лучше он смотрится. Различные ЖК-дисплеи смотрятся тоже интересно, все зависит от задумки и закладываемого функционала.
По регулировке громкости - я полностью остановился на лестничном аттенюаторе, сделать его можно под любое входное сопротивление. По различным "ништякам", которые к нему можно "прикрутить" - коррекция уровней громкости при переключении селектора входов, баланс левый-правый, можно делать темброблок используя качественные управляемые переменные резисторы, только зависимость нужно сделать линейную, режим "Mute" с программируемым уровнем громкости. Также мне интересны адресные светодиодные ленты, можно управлять группой светодиодов сравнительно легко. Много красивых проектов реализовано на них. Остается придумать, как это все подружить между собой и вперед!

Аватара пользователя
Алаев Ян
Основатель Форума
Сообщения: 2825
Зарегистрирован: 19 мар 2014, 12:05
Откуда: Саратов
Благодарил (а): 175 раз
Поблагодарили: 148 раз
Контактная информация:

#26

Сообщение Алаев Ян » 23 июл 2018, 07:46


Аватара пользователя
dim3740
Наблюдатель
Наблюдатель
Сообщения: 3
Зарегистрирован: 02 дек 2018, 13:13

#27

Сообщение dim3740 » 02 дек 2018, 14:33

Очень нужная для меня тема! Задумал "аудио-миди комбайн" для музыкантов -банкетчиков. Беспроводной канал мониторинга, мобильность, управление по ИК или со смарта, треки, МИДИ клава, плейлисты, суфлеры и т.п. Как раз по теме))))

Аватара пользователя
Алаев Ян
Основатель Форума
Сообщения: 2825
Зарегистрирован: 19 мар 2014, 12:05
Откуда: Саратов
Благодарил (а): 175 раз
Поблагодарили: 148 раз
Контактная информация:

Печатная плата и дальнейшие планы по развитию проекта

#28

Сообщение Алаев Ян » 13 мар 2019, 15:31

Ну вот как-то так получилась моя первая двухсторонняя печатная плата (изготовлена по схеме, приведенной здесь viewtopic.php?t=425&start=20#p21474), сделанная на фрезерном ЧПУ.
2019-03-13 15.42.47.jpg
2019-03-13 15.43.12.jpg
Пока фрезеровал печатную плату для отладки - придумал уже вторую версию для этого проекта (будет реализована на промышленных ПП).
Дальнейшие пояснения схемотехники будут вестись по схемам, приведенным в этом посте (вер. 2). Хотя большая часть схемотехники заимствована из платы вер. 1.
1.jpg
Принципиальная схема. Вер. 2
2.jpg
Принципиальная схема. Вер. 2
Отправлено спустя 51 минуту 31 секунду:
Представленную схемотехнику следует рассматривать как отладочную для реализации различных возможных и невозможных решений и их комбинаций.

Исходные файлы

Пояснения по схемам:
1. Цепи питания:
Было решено разделить цепь питания микроконтроллера от цепи питания периферийных подключаемых к плате устройств. Зачем? Вопрос спорный, но периферийные устройства бывают разные и, например, индикация NeoPixels в полноцветном динамическом режиме индикации потребляет приличный ток и создает весьма ощутимые импульсные помехи. Из-за подобных помех контроллер может работать нестабильно, поэтому я решил выделить для него отдельную шину питания +5VuC. От этой шины питается только микроконтроллер и модуль FTDI232. Это сделано для того, чтобы модуль FTDI232, будучи подключенным к шине USB ПК, мог питать микроконтроллер без питающего напряжения на разъеме J101. Для питания микроконтроллера выбран обычный маломощный стабилизатор напряжения 78M05 (500 мА). Питание периферийных устройств (всех) осуществляется от отдельной шины питания +5V через интегральный стабилизатор 7805 (1.5А). Диод Шоттки D101 защищает контроллер и периферийные устройства от обратной полярности питающего напряжения. Резисторы R106, R107 - устанавливаются в том случае, если питающее напряжение на разъеме J101 составляет 5В. Соответственно, интегральные стабилизаторы и компоненты им предшествующие в этом случае не устанавливаются. Максимальное входное напряжение на разъеме J101 указано 15В. Из соображений установки электролитических конденсаторов на 16В. Предполагается, что будут использованы реле коммутации накала, высоковольтного анодного напряжения и др. с напряжением на обмотке 12В. Это напряжение может быть нестабилизированным (базовое напряжение дежурного источника питания 12В). Резисторы R103, R104, R105 являются балластными, чтобы погасить часть рассеиваемой мощности при максимальном входном напряжении на J101. В случае использования светодиодной индикации NeoPixels с большим количеством сегментов, необходимо отключить резистор R37 от шины питания +5V и запитать периферийную индикацию от отдельного источника питания с необходимым выходным током через разъем J23.

Аватара пользователя
Алаев Ян
Основатель Форума
Сообщения: 2825
Зарегистрирован: 19 мар 2014, 12:05
Откуда: Саратов
Благодарил (а): 175 раз
Поблагодарили: 148 раз
Контактная информация:

#29

Сообщение Алаев Ян » 14 мар 2019, 14:25

2. Цепи оперативных переключений и индикации:
Подключение к цепям оперативных переключений и индикации осуществляется посредством разъемов J3, J4, J13, J14. На разъемы выведены сигналы тактовой частоты синхронизации, "защелки", данных.
Сигналы шины данных последовательного интерфейса/SPI передаются поочередно от разъема к разъему.
Предполагаемая конфигурация подключений:
J3 - аттенюатор Никитина/PGA2311 (Stereo Audio Volume Control) - базовое включение аттенюатора;
J4 - аттенюатор Никитина/PGA2311 (Stereo Audio Volume Control) - балансное включение аттенюатора;
J13 - подключение индикатора по SPI;
J14 - резерв или, например, может использоваться, для подключения светодиодного индикатора, шкалы и так далее с любым количеством отображаемых сегментов.
Таким образом, на шине оперативного переключения и индикации мы одновременно управляем двумя аттенюаторами, индикатором по SPI, на который выводятся, например цифровые измеренные значения или какая-то текстовая системная или диагностическая информация и замыкает посылку последовательных данных светодиодная шкала, которая отображает любой параметр или установленную конфигурация (уровень громкости, баланс, включенные/выключенные режимы, состояние реле или каналов коммутации и так далее, включайте фантазию).
Маловероятно, но если вдруг этих подключений не хватило, то на J8, J28, J29 выведены сигналы синхронизации, "защелки" и данных, которые могут быть переданы на внешнюю плату.
На разъемы J3, J4, J13, J14 подается питание ("для периферийных устройств") с платы блока индикации и управления. Резисторы R3, R4, R18, R19 устанавливаются только в том случае, если необходимо зашунтировать разъем и передать данные на следующее подключенное периферийное устройство. Например, мы условились, что МК передает посылку: данные аттенюатора 1/данные аттенюатора 2/данные индикатора SPI, данные светодиодной шкалы. И таким образом мы обозначили разъемы на плате, чтобы не вносить путаницу. Когда дошло дело до конфигурации реального устройства мы решили, что нам нужен только один аттенюатор и светодиодная индикация. Тут, появляется сразу несколько путей решения задачи:
1. Можно не устанавливать резисторы R3, R4, R18, R19, но в этом случае придется данные аттенюатора 2 и данные индикатора SPI передать нулями или произвольными (не имеет значения, главное сдвинуть регистры до правильного положения).
2. Можно подключить светодиодную шкалу в разъем, предназначенный для аттенюатора 2, но это может со временем внести некоторую путаницу подключений.
3. Можно установить шунтирующие резисторы R4, R18 и передать данные сразу с разъема J3 на J14. С одной стороны это нарушает заявленный до этого порядок передаваемых данных, но это сокращает время передачи данных, которое при определенных условиях может быть значимым. В общем, как вывод, решений много. Использовать нужно то, которое наилучшим образом справляется с поставленной задачей.

Аватара пользователя
Алаев Ян
Основатель Форума
Сообщения: 2825
Зарегистрирован: 19 мар 2014, 12:05
Откуда: Саратов
Благодарил (а): 175 раз
Поблагодарили: 148 раз
Контактная информация:

Немножко картинок как руководство по сборке

#30

Сообщение Алаев Ян » 18 мар 2019, 09:46

Прежде, чем устанавливать МК, необходимо спаять цепи питания МК и периферийных устройств. Убедитесь, что оба стабилизатора напряжения формируют напряжение питания 5В и только после этого переходите к пайке контроллера. В противном случае, если МК был установлен первым, есть вероятность, что неисправность/неправильная установка стабилизатора напряжения приведет к выгоранию МК.
2019-03-18 10.22.00.jpg
Установка цепей питания
2019-03-18 10.22.32.jpg
Установка цепей питания

Аватара пользователя
Алаев Ян
Основатель Форума
Сообщения: 2825
Зарегистрирован: 19 мар 2014, 12:05
Откуда: Саратов
Благодарил (а): 175 раз
Поблагодарили: 148 раз
Контактная информация:

#31

Сообщение Алаев Ян » 18 мар 2019, 14:47

3. Цепи неоперативных переключений.
Для подключения к цепям неоперативных переключений используется разъем J2. По умолчанию подразумевается, что этот разъем используется для подключения селектора входов/выходов аудиоустройства. При необходимости расширения функционала и подключения дополнительных плат коммутации, следует использовать выводы J6 (DoutSW - выход последовательных данных), J26 (ST_CP_SW - "защелка" последовательных данных), J27 (SCK_SW - тактовый сигнал последовательных данных). Цепи коммутации накального напряжения, цепи коммутации анодного напряжения, цепи, определяющие конфигурацию аудиоустройства и любые другие цепи, коммутация которых происходит сравнительно редко, следует подключать к этим сигнальным линиям.

Аватара пользователя
Алаев Ян
Основатель Форума
Сообщения: 2825
Зарегистрирован: 19 мар 2014, 12:05
Откуда: Саратов
Благодарил (а): 175 раз
Поблагодарили: 148 раз
Контактная информация:

Рекомендации по сборке

#32

Сообщение Алаев Ян » 23 мар 2019, 16:18

Следующим нашим этапом будет установка контроллера и сопутствующих элементов. К этому этапу мы переходим только после того, как установили стабилизаторы напряжения и проверили их работоспособность.
2019-03-22 19.07.55.jpg
Мы установили микроконтроллер и обязательно все байпасные конденсаторы по выводам его питания. Установили разъем программирования. Желательно установить резистор R5, который отвечает за состояние RESET микроконтроллера. При необходимости устанавливаем кварц и его конденсаторы. Если планируется работа через загрузчик (bootloader) - необходимо так же установить разъем подключения модуля FTDI232 и элементы его обвязки (см. принципиальную схему).
Я рекомендую так же установить управляемый с МК светодиод D1, чтобы иметь возможность проверить первоначальную работоспособность устройства.
Следующая наша задача - подключить контроллер к программатору, убедиться, что программатор "видит" контроллер и успешно пишет в него прошивку. Записать конфигурацию фьюзов и загрузчик для дальнейшей работы через модуль FTDI. После этого нам необходимо написать пробную прошивку с выводом строба на управляемый светодиодный индикатор, чтобы убедиться, что плата работает корректно.

Аватара пользователя
Алаев Ян
Основатель Форума
Сообщения: 2825
Зарегистрирован: 19 мар 2014, 12:05
Откуда: Саратов
Благодарил (а): 175 раз
Поблагодарили: 148 раз
Контактная информация:

Проверка работоспособности платы

#33

Сообщение Алаев Ян » 24 мар 2019, 17:38



Конфигурация фьюзов (внешний кварцевый резонатор 16 МГц):
low_fuses=0xFF
high_fuses=0xDE
extended_fuses=0xFD

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

Аватара пользователя
Алаев Ян
Основатель Форума
Сообщения: 2825
Зарегистрирован: 19 мар 2014, 12:05
Откуда: Саратов
Благодарил (а): 175 раз
Поблагодарили: 148 раз
Контактная информация:

Подключение периферийных устройств

#34

Сообщение Алаев Ян » 27 мар 2019, 14:33

Я просмотрел свои запланированные проекты и различные обсуждения на Форуме и пришел к выводу, что самым интересным вариантом будет реализация алгоритма управления лестничным аттенюатором Никитина, который предложил в этой теме viewtopic.php?f=94&t=434 Владислав Потапов.
Владислав, если Вы не против, то я могу продолжить Вашу тему или, если хотите, создам новую для описания аттенюатора, использующего Ваш алгоритм управления.

Аватара пользователя
poty
Профи
Профи
Сообщения: 3982
Зарегистрирован: 24 мар 2014, 10:00
Откуда: Россия, Москва
Благодарил (а): 86 раз
Поблагодарили: 198 раз

#35

Сообщение poty » 27 мар 2019, 15:22

Ян, без проблем! Если реализовывать идею, то лучше, наверное, продолжать ветку. Но я не настаиваю.
Владислав

Аватара пользователя
poty
Профи
Профи
Сообщения: 3982
Зарегистрирован: 24 мар 2014, 10:00
Откуда: Россия, Москва
Благодарил (а): 86 раз
Поблагодарили: 198 раз

#36

Сообщение poty » 27 мар 2019, 15:31

Я специально это сообщение делаю отдельным, чтобы его можно было удалить. В ветке у Максима появилась идея "клеточного" построения регулятора громкости. Основным её преимуществом является возможность построения истинно балансной схемы с применением того же количества контактов, что и в лестничной, а следствием - реализация ещё одного моего замечания, которое в ветке Максима имеется (лет 6 назад, если не ошибаюсь) - когда контакты реле стоят в параллельных путях, а не последовательных. Это значительно уменьшает их влияние, так как всегда остаётся "основной" путь, в котором нет ни одного контакта реле.
Не призываю менять концепцию, поскольку теория там достаточно жёсткая, но просто подумать, что если будет управление отдельно, чтобы была возможность в дальнейшем выпустить "обновление" на "клеточном аттенюаторе".
Владислав

Аватара пользователя
Алаев Ян
Основатель Форума
Сообщения: 2825
Зарегистрирован: 19 мар 2014, 12:05
Откуда: Саратов
Благодарил (а): 175 раз
Поблагодарили: 148 раз
Контактная информация:

#37

Сообщение Алаев Ян » 27 мар 2019, 19:57

poty писал(а):
27 мар 2019, 15:22
Ян, без проблем! Если реализовывать идею, то лучше, наверное, продолжать ветку. Но я не настаиваю.
ок, спасибо!

Отправлено спустя 1 минуту 56 секунд:
poty писал(а):
27 мар 2019, 15:31
Не призываю менять концепцию, поскольку теория там достаточно жёсткая, но просто подумать, что если будет управление отдельно, чтобы была возможность в дальнейшем выпустить "обновление" на "клеточном аттенюаторе".
я пока не знаком с этим материалом, изучу! Спасибо.

Аватара пользователя
Алаев Ян
Основатель Форума
Сообщения: 2825
Зарегистрирован: 19 мар 2014, 12:05
Откуда: Саратов
Благодарил (а): 175 раз
Поблагодарили: 148 раз
Контактная информация:

#38

Сообщение Алаев Ян » 28 мар 2019, 16:11

4. Цепи звукового сигнала.
Тут все предельно просто, сигнал управления приходит по шине Beeper. Ключевой транзистор T101 2N7002 управляет состоянием звукового извещателя BF101 MR-1205C. Зуммер должен быть со встроенным генератором.

Аватара пользователя
Алаев Ян
Основатель Форума
Сообщения: 2825
Зарегистрирован: 19 мар 2014, 12:05
Откуда: Саратов
Благодарил (а): 175 раз
Поблагодарили: 148 раз
Контактная информация:

#39

Сообщение Алаев Ян » 28 мар 2019, 16:31

5. Цепи подключения термодатчика DS18B20.
Вдруг потребуется измерение температуры? Пока не ясно, но подключение на плату добавили на всякий пожарный. Разъем J5 представляет собой цанговую панельку DIP6 c запараллелеными контактами. Таким образом получается две точки подключения. Например, в один ряд устанавливается термодатчик DS18B20 для измерения температуры системного модуля, а если требуется подключение удаленного термодатчика или их группы, то используется разъем типа PLS-3, который подключается во второй ряд панельки DIP6.
Подключение по образу и подобию этой схемы:


6. Подключение модуля Bluetooth.
Подключение осуществляется к разъему J7. Плата рассчитана на модуль типа HC-06 с доработкой, позволяющей управлять режимом его питания. В перспективе планирую освоить другие модули, типа HC-08/05, которые поддерживают программирование с помощью AT-команд и обладают бОльшей функциональностью.

Аватара пользователя
Алаев Ян
Основатель Форума
Сообщения: 2825
Зарегистрирован: 19 мар 2014, 12:05
Откуда: Саратов
Благодарил (а): 175 раз
Поблагодарили: 148 раз
Контактная информация:

#40

Сообщение Алаев Ян » 29 мар 2019, 08:52

7. UART.
Пины аппаратного UART выведены на разъем J17, совмещенный с цепями питания. Я заложил в него несколько идей. Во-первых, подключение индикатора по UART (Nextion), во-вторых, я постепенно "подхожу" к многопроцессорной системе автоматики и индикации и хочу попробовать реализовать идею Владислава, которая основана на том, что прошивка системного модуля всегда остается неизменной, а подключаемый, например, модуль индикации имеет свой контроллер, который получает данные от контроллера системного модуля и выводит их на индикатор уже согласно той схемотехнике, которая в нем реализована.

8. Подключение светодиодных индикаторов с адресной шиной (NeoPixels).
Для этого направления я зарезервировал отдельный мощный разъем J23. Резистор R37 позволяет питать светодиодные индикаторы от блока питания для периферийных устройств, но, так как мы заранее не знаем, сколько их будет и в каком режиме они будут работать, я предусмотрел возможность отключения разъема от блока питания периферийных устройств для последующего питания от внешнего источника, рассчитанного на соответствующую мощность.

Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение