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

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

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

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

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

#1

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

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





Суть идеи заключается в том, что должен быть универсальный блок, который умеет управлять внешним аттенюатором (для регулировки громкости) или двумя внешними аттенюаторами (для балансной версии регулятора громкости), умеет управлять селектором входов и выводить всю необходимую информацию на индикатор/дисплей. А вот индикатор должен "съедаться" любой. Я предусмотрел возможность подключения сенсорных графических индикаторов Nextion по UART, подключение символьно-графических индикаторов формата 1602/1604 и им подобных, подключение светодиодных матриц, сегментных и графических ЖК-дисплеев по их стандартным интерфейсам, а так же по I2C. Управление устройством будет осуществляться с помощью энкодера, пульта ДУ или сенсорного экрана (для версии с дисплеем Nextion).
Содержание:
Показать
1. Предварительная схема блока индикации и управления аудиоустройством viewtopic.php?f=94&t=425#p21474
2. Печатная плата и дальнейшие планы по развитию проекта viewtopic.php?t=425#p24405
3. Немножко картинок как руководство по сборке viewtopic.php?t=425#p24487
4. Рекомендации по сборке viewtopic.php?t=425#p24601
5. Проверка работоспособности платы viewtopic.php?t=425#p24635
6. Подключение периферийных устройств viewtopic.php?t=425#p24727
7. Проект печатной платы для изготовления в Китае viewtopic.php?f=16&t=425&p=25328#p25328
8. Базовая сборка блока индикации и управления viewtopic.php?t=425&start=20#p25698
9. Подключение энкодера с кнопкой на валу viewtopic.php?f=16&t=425&p=25705#p25705
10. Подключение индикатора формата 1602 viewtopic.php?t=425&start=20#p25707

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

#21

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

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


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

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

#22

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

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

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

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

#23

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

9. Управление по ИК.
Для подключения ИК-приемников и управления системой с помощью пульта ДУ я заложил два разъема J18 и J19. Можно было обойтись и одним, но мне не хотелось делать переходники на проводах для совместимости ИК-приемников разных форм-факторов. Предполагается поддержка ИК-приемников двух наиболее распространенных конструктивов:
abd9755451eafb84221f0c3ba8b16eb8.jpg
tfms1380.jpg

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

#24

Сообщение poty » 29 мар 2019, 11:41

Алаев Ян писал(а):
29 мар 2019, 11:10
постепенно "подхожу" к многопроцессорной системе автоматики и индикации
Вот! Это становится уже интереснее! Вот бы ещё "распространить" эту штуку на систему управления (интерфейс) и командную систему (реле и проч.).
Владислав

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

#25

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

10. Подключение кнопки/Тумблера/Сенсора.
Разъем J1 предназначен для подключения кнопки (без фиксации положения)/тумблера или сенсорной кнопки. Линия задержки R2C7 формирует постоянную времени для U1 и аппаратного устранения дребезга контактов. Выход сигнала кнопки может быть подключен на линии: IRin/EN_BT/EXINT/ENC_BUT. Конфигурация устанавливается путем выбора соответствующего резистора R7-R10.

Отправлено спустя 3 минуты 10 секунд:
poty писал(а):
29 мар 2019, 11:41
Вот бы ещё "распространить" эту штуку на систему управления (интерфейс) и командную систему (реле и проч.).
постепенно я к этому приду

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

#26

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

11. Программирование.
Внутрисхемное программирование микроконтроллера осуществляется разработчиком посредством разъема J11 (ICSP). Пользователю доступен для работы разъем программирования J15 (FTDI), позволяющий перезаписать внутренне ПО контроллера, используя для этих целей ранее записанный в МК bootloade (загрузчик).

12. Кварцевый резонатор.
Кварцевый резонатор может не использоваться (в этом случае МК работает от внутреннего RC-генератора на 8 МГц). Выводы J9 (PB6) и J10 (PB7) дублируют выводы кварцевого резонатора и могут использоваться как цифровые входы/выходы при необходимости.

13. Прерывание по активности энкодера.
Микросхема U2 (74HC30) формирует выходной сигнал в случае любой активности энкодера (нажатие кнопки или вращение энкодера в любую сторону). Сигнал активности подается на вход внешнего прерывания МК и способен вывести его из режима самого глубокого сна.

14. Шина I2C.
Шина I2C выведена на разъем J16 вместе с линиями питания от стабилизатора периферийных устройств. К разъему предполагается подключать устройства, работающие по шине I2C. Например, индикаторы или ЦАП, как это представлено здесь: viewtopic.php?f=90&t=352&p=16929#p16929, для автоматической балансировки выходного каскада SIPP.

Отправлено спустя 25 минут 43 секунды:
15. АЦП.
Входы АЦП выведены на J20 и J21. Могут использоваться для самодиагностики напряжения питания блока индикации и управления или на них может быть подан внешний сигнал для оцифровки. Вывод J12 AREF может быть использован как вход внешнего источника опорного напряжения для АЦП.

16. Подключение индикатора типа 1602/1604 (4-х битный параллельный режим).
Для подключения индикатора используется разъем J25. Управление подсветкой индикатора осуществляется с помощью Т1 (BCX53-16), при необходимости, может быть зашунтирован с помощью R35. Для управления подсветкой других индикаторов, питание подсветки может быть выведено наружу с помощью вывода J22 (LED). Контрастность индикатора выставляется с помощью подстроечного резистора R38.

17. Строб.
Светодиод D1 (RED) предназначен для вывода стробирующего сигнала в режиме отладки ПО.

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

#27

Сообщение Алаев Ян » 01 апр 2019, 11:55

18. Энкодер.
Подключение энкодера осуществляется к разъему J30. Схема достаточно классическая, я лишь добавил несколько демпфирующих элементов, уменьшающих дребезг контактов при формировании квадратурного кода энкодера. Разъем рассчитан на подключение энкодера с поддержкой кнопки на валу, но есть и одна изюминка, которую я заложил в схему сравнительно недавно.

Немного предыстории...
Мы как-то обсуждали с Романом чувствительность энкодера. Роман, как пользователь, хотел чувствовать каждый дискрет вращения энкодера, в то время как применение массивной ручки "съедает" дискретные шаги и вращение становится плавным. А хочется некоторой "трещетки", некоторого сопротивления на валу для более приятных тактильных ощущений. Я пробовал применять различные энкодеры. Китайские - полный шлак. Годятся только для отладки. Имеют большой люфт и вероятнее всего быстро выйдут из строя. Я по ним уже как-то проходился в теме viewtopic.php?t=128&start=340#p15971
Хорошие и качественные энкодеры стоят дорого или очень дорого и как-то не особо распространены на рынке. И главное, вопрос тактильных ощущений они не решают. Надежность выше, ресурс на износ выше, а по ощущениям такие же, разве что люфта такого не будет, как у китайских.
Ну а теперь, обещанная фишка - использовать в качестве энкодера шаговый двигатель. В плане механики - великолепная надежность. Крути хоть до посинения, люфтов там тоже нет никаких, двигатель все же. На эту идею меня натолкнула статья, представленная здесь: http://ru3ga.qrz.ru/UZLY/encod.htm
За основу можно взять схему, представленную ниже.
encod_2.jpg
Схема первоисточник
А для настройки тактильного сопротивления энкодера использовать схему:.
1539430886_3.jpg
Настройка тактильного сопротивления энкодера
Регулируя ток подмагничивания обмоток, каждый пользователь может настроить сопротивление ручки регулятора на свой вкус!
Именно для такой реализации я вывел на разъем J30 питающее напряжение 5В, которое предназначено для создания тока подмагничивания обмоток шагового двигателя и питания схемы формирования квадратурного кода.
На этом я заканчиваю описание схемы блока индикации и управления устройством и перехожу к реализации задуманного проекта.

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

Проект печатной платы для изготовления в Китае

#28

Сообщение Алаев Ян » 25 апр 2019, 07:43

Я доделал проект печатной платы блока управления и индикации аудиоустройством, планирую сделать пробный заказ в Китае.
Посмотрим, что из этого получится.
3.png
Top
1.png
Top
4.png
Bottom
2.png
Bottom
Принципиальная схема, по которой была сделана разводка.
1.jpg
2.jpg
Схема имеет высокое разрешение и для нормального просмотра необходимо нажать на схему после чего "Открыть картинку в новой вкладке", появится возможность масштабирования, или сохраните схему на свой ПК и откройте любым графическим редактором.

Исходные файлы проекта

Отправлено спустя 2 часа 12 минут 39 секунд:
Запущено в производство:
Скриншот 2019-04-25 09.10.43.png
Скриншот 2019-04-25 09.10.29.png
Скриншот 2019-04-25 09.10.57.png
Gerber
За это сообщение автора Алаев Ян поблагодарил:
seurf
Рейтинг: 25%
 

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

Печатные платы готовы!

#29

Сообщение Алаев Ян » 16 май 2019, 08:48

2019-05-16 07.53.16.jpg
2019-05-16 07.53.49.jpg
2019-05-16 07.53.35.jpg

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

#30

Сообщение Евгений Михеев » 16 май 2019, 13:16

Гуд! PCBway? (по резиночке продположил :-) )
Дорогу осилит идущий

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

#31

Сообщение Алаев Ян » 16 май 2019, 14:32

Евгений Михеев писал(а):
16 май 2019, 13:16
PCBway? (по резиночке продположил )
он самый! :-)

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

#32

Сообщение Евгений Михеев » 16 май 2019, 19:36

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

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

Базовая сборка блока индикации и управления

#33

Сообщение Алаев Ян » 03 июн 2019, 11:57

Подключил плату лестничного аттенюатора (из темы viewtopic.php?f=94&t=434) к "Блоку индикации и управления аудиоустройством".
2019-06-03 11.37.56.jpg
Базовая сборка (прошивка) будет основана на плате "Блок индикации и управления аудиоустройством", которая будет выступать в роли материнской платы, к которой будут подключены следующие периферийные модули:
1. Плата лестничного аттенюатора viewtopic.php?f=94&t=434;
2. Энкодер управления с поддержкой кнопки на валу;
3. Символьно-графический индикатор формата 1602.

По мере развития проекта количество подключаемых периферийных модулей будет постепенно увеличиваться.
За это сообщение автора Алаев Ян поблагодарил:
seurf
Рейтинг: 25%
 

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

Подключение энкодера с кнопкой на валу

#34

Сообщение Алаев Ян » 05 июн 2019, 08:39

Подключение энкодера осуществляется к разъему J28 (PBS-6). Также необходимо установить следующие элементы:
1. Микросхема U2 74HC30
2. Конденсаторы: С8, С33, С35
3. Резисторы: R11-R13, R26-R28, R31, R33, R34
2019-06-05 08.59.07.jpg
2019-06-05 08.59.47.jpg

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

Подключение индикатора формата 1602

#35

Сообщение Алаев Ян » 05 июн 2019, 13:54

В базовой версии прошивки мы будем работать с символьно-графическим ЖК-индикатором формата 1602. Формат 1602 означает, что пространство ЖК-индикатора разделено на 16 зон в каждой строке, а строк у нас, как вы догадались - 2. Итого, всего 32 зоны. Каждая зона состоит из 40 точек-пикселей (формат зоны - прямоугольник размером 5х8 точек).
16x2-LCD-Module-Pinouts.png
Индикатор формата 1602
Следует отметить, что существуют различные индикаторы формата 1602, например, OLED или с управлением по i2C. В нашем случае мы будем работать с ЖК-индикатором, управление которым осуществляется в 4-х битном параллельном режиме, цвет подсветки может быть выбран произвольно.

Для отображения базовой информации, соответствующей первой базовой прошивке, мы будем использовать следующую экранную форму:
1. Первая строка отведена для вывода системных сообщений, а так же в недалеком будущем будет использована для отображения состояния селектора входов/выходов.
2. Вторая строка разделена на следующие части:
а) первые 10 зон отведены для отображения графической шкалы регулятора громкости (10 х 5 = 50 градаций);
б) пропуск зоны (пустое пространство);
в) знак минус, для отображения отрицательного ослабления, выраженного в дБ;
г) 2 зоны для отображения степени аттенюации (0..99);
д) 2 зоны для отображения единиц измерений уровня громкости - dB (латинское написание).

Более наглядно это представлено на фото ниже:
3968132890_356dd9bb78_o.jpg
Базовые экранные формы
3377718533_8881b8fe93_o.jpg
Базовые экранные формы

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

#36

Сообщение Алаев Ян » 06 июн 2019, 13:43

Подключение индикатора формата 1602 осуществляется к разъему J29 (PBS-16). Предполагается, что между разъемом J29 и модулем индикатора будет соединительный шлейф, но для режима экономии времени и отладки я воткнул индикатор прямо в сам разъем. Это решение временное, только на период написания внутреннего ПО контроллера.

Также необходимо установить следующие элементы:
1. Подстроечный резистор R38 (регулирует контраст индикатора);
2. Конденсаторы: С39, С40;
3. Управляющий транзистор Т1 (отвечает за режим работы подсветки индикатора);
4. Резисторы: R30, R32, R36.
2019-06-06 14.12.45.jpg
2019-06-06 14.14.05.jpg

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