Правильное подключение потенциометра к Arduino. Аппаратная борьба с дребезгом контактов

И так всем привет! На сегодняшний день разработка под ардуино является одним из бурно развивающихся направлений, в том числе и самодельщиков. Платформа простая, в интернете полно видео-аудио-текстовых уроков которые посвящают наз в азы разработки и пайки, но есть одно существенное НО! Далеко не во всех уроках даются правильные схемы подключения. Не сказать чтобы они и совсем уж неправильные, работать будет только как?.. Возьмем к примеру тривиальнейшую задачу, подключить потенциометр (он же переменный резистор) к ардуино. Что советуют делать в уроках? Как подключать? А вот так:

И вроде все логично. И даже как-то работать оно будет! Вот только как? Для обучения сойдет, а дальше хоть трава не расти. Кстати, более ответственные авторы уроков рекомендуют между выходом потенциометра и входом ардуино устанавливать резистор на 100 ом, тогда схема выглядит вот так:

Схема подключения потенциометра к ардуино с защитным резистором

И это уже лучше, т.к. рекомендуется для защиты ардуино и продления ее жизни, на все используемые входы/выходы подключать резисторы на 100 Ом.

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

  • Программными средствами
  • С помощью доработки схемы работы устройства

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

Это второй способ. Нам необходимо доработать схему нашего устройства добавив в нее резистор и конденсатор. Этакой RC фильтр, который позволит избавиться от описанных недостатков и позволит работать схеме стабильно. Для реализации схемы нам понадобится резистор на 10 кОм и конденсатор 0.1uF (номинал может несколько отличаться в большую сторону).В общем виде схема будет выглядеть следующим образом:

Для тех кто плохо воспринимает принципиальные электрические схемы, вот более наглядное представление:

Думаю все представлено наглядно и в комментариях не нуждается.

Где можно найти эти самые резисторы и конденсаторы? В любом радиомагазине. Номиналы элементов ходовые, так что такая рассыпуха всегда есть в наличии. Для тех кто любит тариться на Aliexpress вот ссылка на хороший магазин с быстрой доставкой Fantasy Electronics

Ну а для тех кто хочет взять в одном месте, вот ссылки на компоненты:

Arduino Nano

Резисторы на 100 Ом

Резисторы на 10 кОм

Набор конденсаторов

Потенциометр

Поделись с друзьями!
Мои проекты на GITHUB


Мои проекты на GitHub

Реклама




iOnline в социальных сетях
IOnLine.by в социальной сети Вконтакте (vk.com)


Мы в Facebook


Ionline.by в Instagram


Мы в Twitter