Электротехнический интернет-журнал Electrik.info

"Электрик Инфо" - онлайн журнал про электричество. Теория и практика. Обучающие статьи, примеры, технические решения, схемы, обзоры интересных электротехнических новинок. Уроки, книги, видео. Профессиональное обучение и развитие. Сайт для электриков и домашних мастеров, а также для всех, кто интересуется электротехникой, электроникой и автоматикой.
 

 

  • Неисправности светодиодных лент и методы их ремонта
  • Управление освещением с двух, трёх и более мест
  • Характеристики солнечных батарей
  • Что такое твердотельное реле и как его правильно использовать
  • Что такое ПЛИС простым языком для начинающих
  • 10 лучших технологий аккумуляторов, зарядки и хранения энергии будущего
  • Высокотемпературная сверхпроводимость: история открытия, физика явления и перспективы использования
  • Электрик  

    Электрик Инфо » Схемы на микроконтроллерах » Как подключить инкрементальный энкодер к Ардуино
    Количество просмотров: 30119
    Комментарии к статье: 2


    Как подключить инкрементальный энкодер к Ардуино

    Часто в устройствах на микроконтроллерах нужно организовать управление пунктами меню или реализовать какие-то регулировки. Есть множество способов: использовать кнопки, переменные резисторы или энкодеры. Инкрементальный энкодер позволяет управлять чем-либо посредством бесконечного вращения ручки. В этой статье мы рассмотрим, как заставить работать инкрементальный энкодер и Arduino.

    Как подключить инкрементальный энкодер к Arduino

    Особенности инкрементального энкодера

    Инкрементальный энкодер, как и энкодеры любых других типов представляют собой устройство с вращающейся рукоятью. Отдаленно он напоминает потенциометр. Основным отличием от потенциометра является то, что рукоять энкодера вращается на 360 градусов. У него нет крайних положений.

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

    Энкодер и Ардуино

    Таким образом вы можете передать микроконтроллеру команду, управлять меню, уровнем громкости, например, и так далее. В быту вы могли их видеть в автомагнитолах и другой технике. Его используют в качестве многофункционального органа регулировки уровней, эквалайзера и навигации по меню.

    Ручка регулировки уровней звука

    Принцип работы

    Внутри инкрементального энкодера есть диск с метками и ползунки, которые с ними соприкасаются. Его строение подобно потенциометру.

    Энкодер в разобранном виде

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

    Конструкция энкодеров

    У энкодера есть три информационных вывода один общий, остальные два обычно называют «A» и «B», на рисунке выше вы видите цоколевку энкодера с кнопкой – вы можете получать сигнал при нажатии на его вал.

    Какой сигнал мы получим? В зависимости от направления вращения логическая единица сначала появится на выводе A или B, таким образом мы получаем сдвинутый по фазе сигнал, а этот сдвиг позволяет определить в какую сторону. Сигнал получается в виде прямоугольной формы, а управление микроконтроллером происходит после обработки данных направления вращения и количества импульсов.

    Принцип работы

    На рисунке изображено условное обозначение диска с контактами, по середине график выходных сигналов, а справа таблица состояний. Этот прибор часто рисуют как две клавиши, что логично, ведь фактически мы получаем сигнал «вперед» или «назад», «вверх» или «вниз», и количество воздействий.

    Схема энкодера

    Вот пример цоколевки реального энкодера:

    Пример цоколевки реального энкодера

    Научитесь разрабатывать устройства на базе микроконтроллеров и станьте инженером умных устройств с нуля: Инженер умных устройств

    Интересно:

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

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

    Не менее наглядно это проиллюстрировано на следующей анимации (нажмите на рисунок):

    Устройство и принцип работы энкодера

    Энкодер может быть и оптическим (сигнал формируется излучателями фотоприемниками, см. на рисунке ниже), и магнитным (работает на эффекте Холла). В таком случае у него нет контактов и больше срок службы.

    Датчик угла поворота

    Как уже было сказано, направление вращения можно определить по тому, какой из выходных сигналов раньше изменился, а вот так это выглядит на практике!

    Точки механической фиксации

    Точность управления зависит от разрешения энкодера – количества импульсов на оборот. Количество импульсов может быть от единиц до тысяч штук. Так как энкодер может выступать в качестве датчика положения, то чем больше импульсов – тем точнее будет происходить определение. Этот параметр обозначается как PPR – pulse per revolution.

    Но есть небольшой нюанс, а именно похожее обозначение LPR – это количество меток на диске.

    А количество обрабатываемых импульсов. Каждая метка на диске даёт 1 прямоугольный импульс на каждом из двух выходов. У импульса есть два фронта – задний и передний. Так как выхода два то с каждого из них мы в сумме получаем 4 импульса значения которых вы можете обработать.

    PPR=LPRx4

    Явно полезное:

    Как не спалить Ардуино - советы для начинающих

    Какие бывают дисплеи для Ардуино и как их подключить

    Управление двигателями и сервоприводами с помощью Ардуино

    19 шилдов для Arduino на все случаи жизни

    10 интересных проектов для Ардуино

    Подключаем энкодер к Arduino

    Мы разобрались с тем что нужно знать об инкрементальном энкодере, теперь давайте узнаем, как подключить его к Ардуино. Рассмотрим схему подключения:

    Схема подключения датчика положения к Ардуино

    Модуль энкодера – это плата на которой расположен инкрементальный энкодер и подтягивающие резисторы. Пины можно использовать любые.

    Схема подключения энкодера

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

    Пример программы

    Разберем код подробнее, по порядку. В void setup() мы объявили что будем использовать связь через последовательный порт, а затем установили пины 2 и 8 в режим входа. Номера пинов выбираете сами исходя из вашей схемы подключения. Константа INPUT_PULLUP выставляет режим входа, у ардуино есть два варианта:

    • INPUT – вход без подтягивающих резисторов;

    • INPUT_PULLUP – подключение ко входу подтягивающих резисторов. Внутри микроконтроллера уже есть резисторы, через которые вход соединяется с плюсом питания (pullup).

    Если вы используете резисторы для подтяжки к плюсу питания как изображено на схемах, приведенных выше или используете модуль энкодера – пользуйтесь командой INPUT, а если по какой-то причине не можете или не хотите использовать внешние резисторы – INPUT_PULLUP.

    Логика основной программы следующая: если на входе «2» у нас единица – выдаёт в монитор порта H, если нет – L. Таким образом при вращении в одну сторону на мониторе последовательного порта получится что-то вроде этого: LL HL HH LH LL. А в обратную: LL LH HH HL LL.

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

    Заключение

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

    Алексей Бартош

    Любите умные гаджеты и DIY? Станьте специалистом в сфере Internet of Things и создайте сеть умных гаджетов!

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

    Факультет Интернет вещей

    Обучение Интернет вещей и современные встраиваемые системы

    Вы сможете:

    • Изучить C, механизмы отладки и программирования микроконтроллеров;

    • Получить опыт работы с реальными проектами, в команде и самостоятельно;

    • Получить удостоверение и сертификат, подтверждающие полученные знания.

    Starter box для первых экспериментов в подарок!

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

    Вы получите диплом о профессиональной переподготовке и электронный сертификат, которые можно добавить в портфолио и показать работодателю.

    Подробнее здесь: Интернет вещей и современные встраиваемые системы






    Поделитесь этой статьей с друзьями:

    Другие статьи с сайта Электрик Инфо:

  • Способы чтения и управления портами ввода-вывода Arduino
  • Управление двигателями и сервоприводами с помощью Ардуино
  • Как с помощью Ардуино безопасно управлять нагрузкой на напряжении 220 вольт
  • Особенности подключения устройств к Arduino
  • Какие бывают дисплеи для Ардуино и как их подключить
  • Самые популярные датчики для Ардуино
  • Подключение аналоговых датчиков к Ардуино, считывание показаний датчиков
  • Подключение и программирование Ардуино для начинающих
  • Как устроен и работает сервопривод
  • Измерение температуры и влажности на Arduino – подборка способов
  • Категория: Схемы на микроконтроллерах

    Программирование Ардуино, Ардуино, Arduino для начинающих

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

    #1 написал: Борис | [цитировать]

    Энкодеры обеспечивают отличный метод ввода с вращением для проекта на Arduino. Установка требует немного больше работы, чем многие другие типы устройств, однако результаты могут стоить затраченных усилий. Энкодеры доступны в двух основных стилях: инкрементальные энкодеры используют серию квадратурных импульсов для указания расстояния и направления вращения вала и абсолютные энкодеры автоматически определяют свое угловое положение. Также доступны энкодеры с одним выходом, однако они гораздо менее полезны, поскольку показывают только расстояние, на которое прошел вал, а не его направление.

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

    #2 написал: Павел Голубев | [цитировать]

    Очень хорошая статья. Спасибо!

    Добавление комментария
    Имя:*
    Комментарий:

    Популярные статьи:

    Присоединяйтесь к нам в социальных сетях:

    ВКонтакте | Facebook | Одноклассники | Яндекс Дзен

     


    Популярные разделы сайта:

    Электрика дома  Электрообзоры  Энергосбережение
    Секреты электрика Источники света Делимся опытом
    Домашняя автоматика Электрика для начинающих
    Практическая электроника Электротехнические новинки

    Copyright © 2009-2021 Электрик Инфо - Electrik.info, Андрей Повный
    Вся информация на сайте предоставлена в ознакомительных и познавательных целях.
    За применение этой информации администрация сайта ответственности не несет.
    Перепечатка материалов сайта запрещена.

    Источник иллюстраций: авторские рисунки и фотографии, электрика на стоковых фото