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

В этом примере мы продемонстрируем, как использовать Arduino для считывания сигнала от привода стержня обратной связи Фирджелли и преобразования его в измерение расстояния, показывающего, насколько стержень был выдвинут. Это руководство основано на принципах, обсуждаемых в руководстве «Управление скоростью драйвера двигателя с помощью Arduino», Мы рекомендуем просмотреть это руководство перед продолжением.

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

Компоненты

Проводка

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

Обзор аппаратного и программного обеспечения для чтения позиции

Соберите схему, как указано выше, и загрузите приведенный ниже код. Вам нужно будет изменить строку 16 кода на вашу конкретную длину хода, в настоящее время она установлена ​​для 6-дюймового привода штока обратной связи.

Эта программа сначала выдвигает и полностью втягивает привод, чтобы найти минимальное и максимальное показание аналогового датчика от потенциометра (строки 27 и 28 кода). Это необходимо, потому что, несмотря на то, что диапазон показаний потенциометра составляет [0, 1023], на практике этот диапазон может быть уменьшен из-за передаточного числа внутри привода, не позволяющего потенциометру полностью вращаться до его предела.

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

Код

https://gist.github.com/Will-Firgelli/8c78092ca850aa8a50ae36842b97150f

Использование внешнего потенциометра для контроля положения

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

Проводка

Линейный привод с Arduino

Обзор аппаратного и программного обеспечения для управления положением

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

Программа, представленная ниже, перемещается в положение, установленное пользователем с помощью внешнего потенциометра. В строке 18 кода задается буферная переменная, которая используется позже в строках 36 и 39. Возможный буфер дает диапазон вокруг желаемого заданного положения, в котором привод остановится, это требуется, поскольку два потенциометра имеют склонность к флатату на +/- 2 единицы. Таким образом, если бы буфер не был включен, приводы будут сильно вибрировать вокруг заданного положения. Чтобы увидеть это в действии, установите буфер в строке 18 на ноль (не позволяйте исполнительным механизмам долго вибрировать, так как это может привести к повреждению).

Код

https://gist.github.com/Will-Firgelli/41ec87433f0aaa1abc33e79168076b3b

Share This Article
Tags: