Мотор, серводвигатель, управление серводвигателем от потенциометра

Мотор, серводвигатель, управление серводвигателем от потенциометра

Здравствуйте, дорогие робототехники, в сегодняшней статье предлагаю рассмотреть следующие вопросы:

  • Мотор
  • Серводвигатель
  • Практическая часть: сборка схемы управления серводвигателя потенциометром.

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

Что такое мотор

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

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

Серводвигатель

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

 

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

 

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

Практическая часть

Предлагаю рассмотреть управление серводвигателем от потенциометра. Потенциометром будет задаваться угол поворота вала сервопривода. Для сборки схемы на макете нам понадобится потенциометр, серводвигатель, провода. В схеме также будет устанавливаться конденсатор, который защитит управляющую плату от просадки питания. Конденсатор будем использовать на 220 мкФ.
Также важно знать, что плата способна выдержать без вреда только один сервопривод. Если необходимо подключать несколько сервоприводов, то в схему подключают дополнительные устройства-драйвера с отдельным питанием.
Итак, схема будет выглядеть следующим образом.

 

Контроллер в IDE Arduino программируется следующим образом.

// загружаем из стандартной библиотеки

#include

#define POT_MAX_ANGLE 270.0 

// макс. угол поворота потенциометра 270 градусов

// объявляем тип объекта Servo с именем myServo.Данный тип предоставляется библиотекой

Servo myServo;

void setup()

{

// прикрепляем функией attach серводвигатель к 9-му пину.

myServo.attach(9);

}

void loop()

{

int val = analogRead(A0);

// на основе сигнала принимаем реальный угол поворота серводвигателя.

// полученный результат округляем до целого числа

int angle = int(val / 1024.0 * POT_MAX_ANGLE);

// серводвигатель не сможет повторить угол потенциометра на все 270, так как поворот среводвигателя осуществляется на угол  от 0° до 180°. Соответственно принимаем угол поворота от нуля до 180°

angle = constrain(angle, 0, 180);

// подаём серводвигателю команду встать на необходимое значение угла

myServo.write(angle);

}

Центр робототехники "BOTEON".
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: