Что такое энкодер в магнитоле
CarPC — часть 20. Изменяем громкость энкодером + Видео
Всем привет!
Возникла необходимость для большего удобства добавить в CarPC возможность управления громкостью с помощью родного энкодера магнитолы (шаговая крутилка которой регулируете громкость в машине 🙂 )
Давно задался этим вопросом … Были идеи сделать на контроллере обработчик с USB HID интерфейсом, даже встречал готовые проекты в сети, но как-то лениво было, для такой простой функции лепить с нуля устройство.
Ну и тут оказалась верна поговорка «Лень — двигатель прогресса»:)
Пришла в голову мысль попытаться использовать обычную USB мышку для этих целей, ведь в ней тоже используется такой же энкодер, а дальше модно найти или написать программку, которая бы управляла громкость при повороте колесика.
Покопавшись в сети нашел программку с говорящим названием Volumemouse, находится тут.
Позволяет изменять громкость колесиком мыши.
Теперь ищем мышку с механическим энкодером. Для примера разобрал какую-то дешевую Gembird.
А вот и интересующий нас энкодер
У него так же 3 вывода как и у магнитолы.
Подключаем вместо него наш и все, счастье, задача решена. В качестве бонуса видео этого аппарата в работе.
Регулятор громкости (Энкодер)
Решил исправить небольшой косячок, и занять себя скучным вечером!)
Проблема была в регуляторе громкости на штатной магнитоле! При уменьшении громкости она могла заиграть на весь район и наоборот) В общем жила своей жизнью! Поэтому пользовался только подрулевым джойстиком.
Снял магнитолу. Забрал домой. Разобрал.
В разборке ничего сложного. По ходу дела все понятно и доступно.
Добрался я таки до энкодера.
Аккуратно почистил его ватной палочкой.
Поставил энкодер на место. По-нажимал, покрутил, вроде нормально!
Важно чтобы он был хорошо закреплен! Даже без минимального люфта!
Далее берем рамку и вставляем вкладыши под кнопки.
ВНИМАНИЕ! Два вкладыша немного длиннее других! Их нужно ставить на кнопки 3 и 4.
Накидываем сверху резинку.
Ставим плату с нашим регулятором, и хорошо прикручиваем.
После этого проверяем как нажимаются все кнопки. И убеждаемся что ничего не забыли.
Ставим рамку на магнитолу. Прикручиваем с двух сторон.
Одеваем колёсико на регулятор. Подключаем магнитолу в авто. Проверяем.
Очень доволен результатом! Регулятор реагирует идеально! Повышаем/понижает. Быстро/медленно. Без каких-либо нареканий!))
Определение направления вращения в осциллограмме |
Энкодер что это такое? Весьма часто в автомагнитоле, принтере, и других электронных устройствах можно видеть такие электронные компоненты, как энкодер. Так что же это такое? Может быть это переменный резистор? Вовсе нет.
Инкрементальный (или инкрементный, от англ. increment — «увеличение») энкодер (датчик угла поворота) — это электронно-механический компонент, который преобразовывает вращательное движение вала в пачки электрических импульсов, позволяющих определить направление и угол вращения самого вала. Также, зная число импульсов в единицу времени, можно определить и скорость вращения. Основным отличием инкрементальных энкодеров от абсолютных является то, что они могут сообщать лишь о величине изменения их положения, а не об абсолютном своем состоянии. Самым популярным примером использования инкрементального энкодера в повседневной жизни, является ручка регулировки громкости современной автомобильной магнитолы с цифровым управлением.
Также энкодеры идеально подходят для реализации навигации по различным меню.
Инкрементальные энкодеры бывают оптическими, магнитными, контактными. Вне зависимости от принципа устройства все инкрементальные энкодеры на выходе генерируют 2 линии (A и B) с импульсами смещенными относительно друг друга. Именно по смещению импульсов можно судить о направлении вращения. А по количеству импульсов — об угле поворота.
Каждый инкрементальный энкодер имеет следующую основную характеристику — дискретность (количество шагов, положений между импульсами, на один оборот вала). Благодаря дискретности, можно вычислить угол единичного изменения положения. Например, энкодер Borns 3315-9 за полный оборот генерирует 30 импульсов. А это значит, что каждый шаг эквивалентен повороту на 12°. Помимо этого, вал энкодера фиксируется в каждом положении между каждой пачкой импульсов.
Классифицировать энкодеры можно распределив их по четырём большим группам:
Если мы говорим контактных механических энкодерах то, ключевым элементом энкодера являются две пары подпружиненных контактов и металлическая пластина с засечками с компактным механизмомм размыкателя. При вращении вала, каждая пара контактов замыкается и размыкается. Но эти пары контактов расположены таким образом, что при вращении вала энкодера в разные стороны порядок замыкания/размыкания контактов разный и, благодаря этому моменту, можно определить направление вращения вала механического энкодера.
Магнитные энкодеры для своей работы используют эффект Холла, обеспечивающий изменение проводимости полупроводника в зависимости от значени индукции магнитного поля. Оптические или оптоэлектронные энкодеры содержат в себе миниатюрную оптопару, и крыльчатку обеспечивающую преобразование угла поворота в пачки импульсов.
На иллюстрации изображена структура механического контактного энкодера:
Не работает регулятор громкости
Ремонт энкодера автомагнитолы
В практике ремонта автомагнитол бывают случаи, когда устранение неисправности решается простой чисткой.
При длительной эксплуатации автомагнитол возникают неполадки, связанные с механическими элементами прибора. Поскольку всё управление автомагнитолой происходит через переднюю съёмную панель, то и поломке подвергаются те элементы, которые на ней установлены. Обычно это всевозможные кнопки, реже миниатюрные лампы подсветки дисплея (у более старых автомагнитол), регуляторы громкости, многоконтактный разъём, соединяющий съёмную панель с основной частью автомагнитолы.
Вы наверняка видели, что у многих автомагнитол роль регулятора громкости выполняет не набор кнопок, а валкодер. В официальной документации валкодер, как отдельную радиодеталь, принято называть энкодером, хотя по сути это одно и то же. Кроме этого данное чудо техники называют шаттлом. Но слово шаттл означает уже встроенный в прибор элемент управления, а не отдельную радиодеталь.
Так выглядит энкодер
Чем удобен валкодер?
Важно понять, что валкодер является частью цифровой электроники и служит он для ввода информации посредством поворота ручки регулятора. Всё управление происходит посредством изменения угла поворота ручки валкодера. Сам валкодер внешне очень похож на обычный переменный резистор, который ранее применялся в полуцифровых и аналоговых автомагнитолах для регулировки громкости.
Но если с помощью переменного резистора выполнялась лишь одна функция – регулировка звука, то с помощью валкодера возможна регулировка громкости звука, установка параметров низких и высоких частот, навигация по меню и многое, многое другое. Естественно, такая широкая функциональность возможна лишь с применением цифровой электроники.
Энкодеры можно встретить в любой технике, где применяется цифровое управление функциями.
Всё бы хорошо, валкодер вне всяких сомнений является очень удобным, компактным и многофункциональным. Но поскольку он имеет механические части конструкции, то рано или поздно он выходит из строя.
Так, при неисправности валкодера, наиболее часто имеет место следующая неисправность у автомагнитол:
При повороте ручки валкодера звук регулируется хаотично. Показания уровня громкости на дисплее также хаотично изменяются. При этом точная установка уровня громкости очень сложна и доставляет массу неудобств.
Что делать в случае, когда неисправен энкодер?
Заменять неисправный энкодер лучше новым, но что делать, если его нет в наличии или его трудно достать? В таком случае можно починить неисправный, правда, для устранения поломки потребуется разборка энкодера.
Устройство энкодера напоминает конструкцию обычного переменного резистора. Как уже говорилось, даже по внешнему виду они очень схожи.
Внешне энкодер очень похож на обычный переменный резистор
Обычно в энкодеры, которые применяются в цифровых автомагнитолах, встраивают микрокнопку, которая служит неким аналогом кнопки ENTER (ввода или подтверждения выбора). Эта кнопка расположена под валом регулятора (см. фото). У валкодера три вывода. Вместе с выводами от микрокнопки – 5. Также для жёсткой установки на плату предусмотрены два широких вывода от верхней планки корпуса. Они запаиваются в плату.
Энкодер в разобранном виде
Перед тем, как приступить к разборке валкодера и его чистке необходимо выпаять его из печатной платы передней панели. На первый взгляд операция простая, но на практике процесс осложняется тем, что рядом с энкодером обычно находятся мелкие SMD элементы и есть вероятность при выпайке валкодера их повредить.
Поэтому для демонтажа энкодера с печатной платы лучше воспользоваться специальным инструментом для выпайки многовыводных деталей. Подробнее об этом читайте здесь.
Разбирать валкодер стоит аккуратно без применения излишней силы. Главная задача – добраться до внутренних контактов и почистить их от грязи и окислов. Можно слегка отогнуть подвижные контакты, чтобы они лучше контактировали с фиксированными контактами при скольжении.
Чистку контактов лучше производить специальными средствами. Для этого можно использовать, например, спрей-очиститель DEGREASER. Он легко наноситься на поверхность, быстро испаряется не оставляя следов, хорошо очищает от застывшей канифоли, окислов, грязи и мелкодисперсной пыли. Спрей лучше нанести на зубную щётку в небольшом количестве и затем аккуратно почистить поверхность внутренних контактов валкодера. После этого проводим сборку валкодера и впаиваем в печатную плату.
Обычно, после проведения такой чистки валкодер работает стабильно и неисправность с хаотичной регулировкой громкости больше не проявляется.
Инкрементный энкодер
Раньше в своих поделках на микроконтроллерах всегда обходился кнопками, но вот недавно на разборку случайно попала в руки аппаратурка с энкодерами, вот и решил попробовать этот девайс в деле.
Энкодеры обычно применяются в магнитофонах для регулировки громкости и прочих настроек: тембр, баланс, выбор меню, настройка радиостанций. В общем применяются энкодеры там, где раньше использовали переменные резисторы.
Главное преимущество энкодера перед переменными резисторами в том, что он вращается непрерывно. В принципе, резистор тоже можно доработать, чтоб он непрерывно вращался, но для его обработки требуется АЦП, а это уже увеличение бюджета аппаратуры. Да и к тому же не все микроконтроллеры имеют встроенный АЦП.
Для подключения энкодер имеет три выхода. Центральный вывод общий, а два крайних при вращении периодически замыкаются со средним выводом, формируя импульсы.
Принцип работы инкрементного энкодера заключается в том, что при вращении ручки на двух выходах формируетюся импульсы. По количеству импульсов можно определить угол поворота вала, а по фазовому сдвигу между двумя сигналами определяют направление вращения. Если первым пришел импульс на правом контакте, то вал вращаетя в право. Если импульс пришел первым на левом выводе, то вал соответственно вращается на лево. Как правило энкодер дает 24 импульса на один полный оборот.
Ко мне в руки попали энкодеры двух разных конструкций, но результат их работы при этом одинаковый.
В основе механического инкрементного энкодера может использоваться вращающийся диск, на поверхности которого радиально размещены 24 контактные полоски. Эти контакты при вращении попеременно замыкаются с двумя подпружиненными контактами.
Более простая конструкция содержит три вращающихся пружинных контакта и один неподвижный диск. На поверхности диска нанесена изоляционная маска, которая при вращении вала периодически прерывает электрический контакт между выводами энкодера.
Как правило для обработки сигналов энкодера используют один вход внешнего прерывания микроконтроллера и один дискретный вход. Логика обработки сигналов очень простая. Когда вал вращается, происходит замыкание первого контакта, которое генерирует прерывание микроконтроллера. В обработчике прерывания производится проверка второго контакта. Если второй контакт замкнут, значит импульс на нем пришел раньше, и вал вращается допустим в лево. Если же второй контакт разомкнут, то значит импульс на нем придет позже, и вал вращается в противоположную сторону, т.е. в право.
В качестве испытуемого взял первую попавшую тестовую плату на микроконтроллере ATmega8. Кроме контроллера на плате меня интересовал разъем для программирования, контакты для подключения энкодера и интерфейс для подключения к COM порту компьютера. Для обеспечения стабильности связи микроконтроллера с ПК на плате предусмотрен кварцевый резонатор на 4МГц.
Схема подключения энкодера очень простая:
Средний вывод подключаем на землю;
Правый выход подключаем к 4 вывод МК;
Левый вывод подключаем к 5 выводу МК;.
Обычно правый и левый контакт подтягивают резисторами к плюсу питания, но я этого делать не стал, т.к. порты МК уже имеют встроенные подтягивающие резисторы 100кОм к выводу Vcc.
Далее в CodeVisionAVR на скорую руку написал простенькую тестовую программу. В результате ее работы микроконтроллер выдает в терминал компьютера содержимое счетчика и состояние правого и левого контактов энкодера. По состоянию контактов очень хорошо становится понятно, как работает энкодер.
Счетчик увеличивается при вращении энкодера вправо и уменьшается при вращении влево.
Вот и сам текст программы (смело вставляем его в проект для CodeVisionAVR, там все будет красиво и аккуратно выглядеть, а здесь оформление текста программы сильно хромает):
//———настройка USART—————————————————————-
UCSRB=1
Есть еще несколько интересных алгоритмов обработки сигналов энкодера, если будет интересно, то чуть погодя могу про это написать.