Цифровая регулировка громкости с энкодером

Лада 2106 Электрошарик › Бортжурнал › Регулятор громкости аудиосистемы на энкодере.

Всем привет!
Начну с предисловия — Почему-то многие думают что в этот авто вбухивается огромная сумма, на которую можно взять авто получше?! Само авто приобреталась для этих целей (сделать его необычным), помимо всего автомобиль используется в повседневной эксплуатации. Да и сам вопрос — «авто по лучше» в моем понимании какая бы модель не была она с каждым днем теряет свою цену и рано или поздно становиться металлоломом, а если еще учесть что каждый раз производители выпускают качеством порядка хуже чем было раньше. Может лично мне так кажется но если взять гольф 80-годов и нынешний то разница в качестве метала кузова скорее скажет что нынешнии не проживет более 30 лет. И это не только у «немцев» но и современные «японцы» уже не те как MARK2 и т.д.
Хочется еще вставить сюда слова известного автоблогера — который как-то сказал: «В нашем деле не важно какая дорогая у тебя машина, а важно на сколько она уникальна. Ведь если завтра все сядут за руль того-же серийного Мазерати ни чего хорошего из этого не выйдет…»

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

Это так называемый аудиопроцессор который включает в себя фунции такие как: переключение источника звука (в майфуне это обычно тюнер — AUX — CD) корректировка частот низких, средних, и высоких. корректировка баланса между правой и левой стороной и фронтом и тылом. регулировка громкости. Так же зачастую он содержит предварительный усилитель.
Для того чтоб собрать схему достаточно в гугле забить «темброблок на TDA7313». (Далее речь будет о 7313 так как я ее и использовал)

Управление микросхемой занимается микроконтролер в моем случае PIC16F628 через шину SDA и SCL ноги 27, 28.
вообщем картина вышла такая:

Сама статья чем я руководствовался labkit.ru/html/tembrobloki?id=39 и ее схема:

только как обычно внес изменение именно отказался от включения подсветки вместе с девайсом так как она у меня будет включаться от габаритов. Убрал ИК приемник так как пульт ДУ мне не нужен.

Проблема осталась в дисплее, у меня он есть но он не поддерживает русские символы так что придется купить другой.

На видео будет уже понятней что к чему но на нем мой нынешний дисплей по этому вместо слов там иероглифы по понятным причинам.

Теперь вернемся в начало статьи именно к вопросу — сколько я в авто вбухиваю?! На этот раз безусловно придется вбухать целых 350 — 400 р. на дисплей с поддержкой русских символов. А в общем данный девайс встает пока в 650. (у меня кореша столько тратят на «вонючку» в салон которая через две недели выветривается.
Так-что как то так…
Всем пока удачи на дорогах…

Читайте также:  Регулировка планетарной втулки шимано

Источник

Hi-Fi аудиоплеер на базе миникомпьютера «Raspberry Pi». Часть 3. Регулятор громкости на PGA2310

Содержание / Contents

↑ Передняя панель и блестящая «крутилка» громкости

Здесь я планировал вырезать две шкалы, одну на черной плёнке, а вторую на рассеивающей прозрачной (транслюцентная плёнка), затем квадратики рассеивающей вставить в черную шкалу. Но такой хитрой рассеивающей плёнки не оказалось в наличии, и я просто позади оргстекла скотчем прилепил какую-то рассеивающую пленку из разбитой матрицы от ноутбука.

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

Осталось в оргстекле пропилить отверстие для ручки и передняя панель готова (см. рис. 1)

↑ Светодиодный индикатор уровня громкости

Стабилизатор VR1 позволят установить необходимую яркость светодиодов. Я, непонятно почему, сделал 33 светодиода, поэтому первый светодиод LED1 пришлось зажечь навсегда.

↑ Энкодер

Каких только алгоритмов не бывает для определения направления вращения энкодера и подсчета импульсов. Надо определится, каким методом программа узнает об изменениях на пинах с энкодером. Прерывания или опрос.

Прерывания с GPIO в «Raspberry Pi» в интернете освещены мутно и реализация, я бы сказал, неизящна, хотя, может быть, я плохо разобрался в данном вопросе.
Поэтому пока я выбрал метод опроса.

На рисунке 12 осциллограмма импульсов энкодера. Алгоритм следующий: периодически опрашиваем пины, если состояние в предыдущем опросе было «11», то текущее состояние определит направление вращения, его потом и сосчитаем, за исключением текущих состояний с одинаковыми сигналами(«00» и «11»). Вот и весь алгоритм.

В цикле опроса процесс обязательно нужно «положить поспать» (в моём случае на 5 ms), иначе загрузка процессора будет большой. Так же задержка в 5 ms исключает влияние дребезга контактов энкодера.

На осциллограмме сигналы нового энкодера – без дребезга, но я подключал и старые, трофейные – тоже всё отлично.

На рисунке 13 энкодер соединяется с валом с помощью резинового шланга, внутренним диаметром 6 мм.

↑ Регулятор громкости на PGA2310

Управление очень простое: выбираете микросхему с помощью пина CS и последовательно записываете 2 байта (старшими битами вперёд), с помощью пинов SDI и SCLK.
Первый байт – громкость правого канала, второй байт – громкость левого канала. Собственно это SPI интерфейс.

Обслуживает микросхему PGA2310 базовый класс: PGA2310.

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

Также есть возможность задать пользовательское изменение диапазона регулирования громкости с помощью переменных max_admin_volume и min_admin_volume. Эти значения будут инициализироваться (при загрузке программы) из файла настроек, изменить их так же можно будет с помощью клиентов.

Пользовательский класс volume_control наследует функционал базовых классов PGA2310 и leds и полностью определяет регулятор громкости аудиоплеера. Фактически он содержит алгоритм изменения громкости в связке с индикатором на светодиодах.

Я сделал так, что вне зависимости от пределов регулировки громкости светодиоды в индикаторе все равно светятся от 0 до 32. Пользователь (например жена) может закрутить ручку громкости до упора, будут гореть все светодиоды и зеленые и красные, но громкость будет ограничена.

Читайте также:  Регулировка ручника солярис с подлокотником

↑ Измерения

Рис 16. Шумы на том же уровне. Это хорошо! Немного подросла помеха от ИБП, наверное, потому что нагрузка на БП 5V выросла, подключена передняя панель.

Далее, на всех графиках воспроизводим синус 1 кГц, 0 dB как и в прошлый раз, и будем крутить регулятор громкости.

Рис. 17. При уровне регулятора громкости 0 dB получил перегруз линейного входа ПК. Чуть-чуть PGA видимо усилила сигнал, поэтому смотрим при -1dB на регуляторе громкости. Сравниваем с рисунком 13 предыдущей моей статьи.

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

Думаю, на этом можно закончить.

↑ Видео регулятора в работе

Демонстрационное видео работы регулятора громкости и индикатора на светодиодах.

↑ Загрузки

▼ Файловый сервис недоступен. Зарегистрируйтесь или авторизуйтесь на сайте.

▼ Файловый сервис недоступен. Зарегистрируйтесь или авторизуйтесь на сайте.

▼ Файловый сервис недоступен. Зарегистрируйтесь или авторизуйтесь на сайте.

Надеюсь, вам пригодится материал.
Всем спасибо за внимание. Пока!

Источник

CAMOKAT-BETEPAHA › Блог › USB регулятор громкости на экнкодере

Маленькая полезная вещь, позволяющая крутить громкость крутилкой-энкодером. Втыкается в УСБ порт, подходит для Windows и Андройд. Для андройда один минус — не работает кнопка мутинга. На Винде — нормально. Должно работать на WinCE, хотя не проверял. Драйверов не требует.

Построено на стандартной схеме усб регулятора громкости на основе микроконтроллера ATtiny85, коих в интернете полно. Весь материал взят отсюда, obruboff.ru/usb-volume-control-ver-2/ там весь материал необходимый для сборки. Исходники построены на базе библиотеки V-USB, я ничего там не правил, просто залил прошивку и собрал. Я только подправил исходник, допилил его под 6-ую версию Атмел студии и добавил прошивку с зеркальным подключением ножек энкодера

Печатка небольшая, немногим больше площади корпуса энкодера:

В архиве есть прошивка, схема. печатка: umat.ru/files/USBvolume.zip

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

Комментарии 61

В микшере звука. Вероятно возможно решить програмным способом

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

не думаю, что получится. Получится только, если подключить два УСБ энкодера с контроллером

Не понял, 20 ногий мк которого печатка и фото готовой конструкции — как называется? и прошивка под него в архиве или tiny85… не пойму

Добрый вечер, поскольку я успешно внедрил в свою машину магнитолу 2DIN на Андроиде (подробно расписал в БЖ), то возникла мысль, которую хочу уточнить (навеяло вашей темой про энкодер на USB):

— можно ли и трудно ли реализовать автоматическую подстройку громкости в зависимости от скорости по импульсам от датчика скорости? Типа, вместо энкодера как такового запустить импульсы с датчика? Понятно, что не тупо прямо так, а неким образом согласовать схемотехнически (как минимум по уровню и т.д.)… Это чисто идея, но если у вас вдруг возникнет желание ее реализовать, то я был бы готов рассмотреть возможность покупки готовой платы, если в разумных пределах.

У меня в магнитоле как раз есть «лишний» USB слот, который в принципе может использоваться для 3G модема (но магнитола получает интернет от вай-фай роутера, так что слот свободен).

Пытался приспособить уже готовую плату attiny85 usb от Digispark. Два вечера искал ошибки в схеме и в коде, так и не запустил. Не распознает USB железо, хоть ты тресни.

Читайте также:  Nissan almera n16 регулировка сцепления

А на Pic 12f675 реализовать можно?

Чем плату отрезал? пожалуйста, ссылку на прибор или название…

Прибор типа «напильник» производитель «Зубр»

Спаял, прошил работает. Но не на всех компьютерах под Windows. На моём так и не запустился, определяется как неизвестное устройство. В чем может быть подвох?

прошил Дип тини85 Вашей прошивкой- не пошло(
Вторая неудачная попытка прошивки микроконтроллеров. Грусть, печаль, боль)

А у меня все работает. Тут моя прошивка нипричем

Так я ничего не говорю про твою прошивку. Даже сомнения нет, что она рабочая. Просто не везет мне с МК 🙂

В моей жизни есть 2 вещи которые у меня не получаются. 1-МК, 2-намотка импульсных трансформаторов на кольцах.

Скажите пожалуйста, как выставить фьюзы в программаторе SuperPRO 500P? По долгу работы приходится прошивать только епромки. Как то пытался прошить тини85, атмелка прошилась, но не заработало. Боюсь что и на этот раз не получится(.
PS: Развел под дип с отрезанными ножками. Энкодер вставляется с пустой стороны.
yadi.sk/d/oozpJmGFicKsR, может кому надо, вроде правильно.

Не хватает конденсатора от 6 ноги мк на минус. Можно припаять выводной параллельно контактам кнопки энкодера. И нет блокировочного конденсатора от 8 ноги мк на минус.

Только сейчас заметил, что проблема с attiny решена аж в 2012 году, хотя перечитывал статью по ссылке много раз) Тоже собирал подобную приблуду, только помимо поворота энкодера и нажатия на него, пытался сделать еще кнопками наклоны энкодера вверх/вниз/влево/вправо) Получилось не очень грамотно, однако работало)

Во-вторых, по идее неправильно, потому что громкость должна регулироваться с тонокомпенсацией (в аппаратуре обычно называется Loudness). Если регулировать без этого, то правильно будет играть только на одном уровне громкости, а на остальных будет избыток или недостаток НЧ/ВЧ соответственно на высокой или низкой громкости. Поэтому с таким регулятором надо думать, как «перенести» уровне-зависимый эквалайзер из предварительного усилителя в то устройство, где регулируется громкость.

Компьютер умеет думать — пускай и делает компенсацию, если это необходимо. Это даже на андройде есть

Безусловно. Только что-то я так и не нашёл подобного для андроида. Был бы рад узнать конкретные наименования или ссылки.

В плеере каком то видел. Я еще запомнил, ибо редко где так встретишь ее

Безусловно. Только что-то я так и не нашёл подобного для андроида. Был бы рад узнать конкретные наименования или ссылки.

Спасибо, надо будет попробовать. Жаль, что похоже, там это нельзя никак регулировать — только вкл/выкл. Эффект может оказаться слишком сильным или слабым для отдельно взятого усилителя мощности.

Во-вторых, по идее неправильно, потому что громкость должна регулироваться с тонокомпенсацией (в аппаратуре обычно называется Loudness). Если регулировать без этого, то правильно будет играть только на одном уровне громкости, а на остальных будет избыток или недостаток НЧ/ВЧ соответственно на высокой или низкой громкости. Поэтому с таким регулятором надо думать, как «перенести» уровне-зависимый эквалайзер из предварительного усилителя в то устройство, где регулируется громкость.

Вы что-то путаете! Тонкомпенсация нужна при аналоговом регулировании, а тут цифровое! Те энкодер тупо эмулирует нажатие кнопок громкости на планшете/клавиатуре. А по юсб он подрубается тк эмулирует обычную медийную клаву вроде «винкей 104 клавиши» ;)))
Вы можете взять обычную комповую клаву с кнопками управления медией, подключить ее к андроиду\йос\винде и кнопками громкости управлять громкостью (странно, да? :D), соотв всякие там кнопки плей\пауза и домики тоже будут работать…
Если прописать вместо кнопки «муте» скан-код кнопки «плей\пауза» то получим управление воспроизведением по нажатию на энкодер.

Источник

Оцените статью
( Пока оценок нет )
Поделиться с друзьями
Настройки и регулировки