Подключение сервопривода mg90s к arduino. Клешня

Подключение сервопривода mg90s к arduino. Клешня

Как-то в магазине мне попался на глаза игровой аппарат «хватайка», который служит для выманивания десятирублевых монеток и детей, соблазняя молодых жертв, вкусными конфетами. Конструкция машины не сложная – каретка, которая перемещается по осям X и Y, а также клешня, которая по нажатию на кнопку опускается и хватает, все что сможет. Далее каретка отъезжает и отдает выигранное богатство довольному ребенку. Перемещение по осям довольно простое и интереса у меня не вызвало, а вот клешня показалась достойной темы для этой статьи. Как раз у меня появился новый сервопривод mg90s и уже давно чешутся руки его куда-нибудь приспособить.

Как работает клешня «хватайки»

Как конкретно работает клешня, в профессиональном аппарате, я не разглядел, поскольку механика была прикрыта защитным кожухом, поэтому пришлось поэкспериментировать.
Поломав некоторое время голову, получилось придумать более-менее рабочий вариант: клешня состоит из четырех «пальцев», которые одним концом фиксируются на неподвижной раме. Так же добавил крестовину, с ней «пальцы» имеют шарнирное соединение примерно посередине. К неподвижной части рамы жестко зафиксировал сервопривод, качалка которого опускает и поднимает ось. Крестовина в свою очередь жестко закреплена к оси и вместе с ней совершает движения вверх и вниз, из-за чего и происходит сжатие и раскрытие клешни. Чтобы было понятнее, ниже находится картинка с клешней. Изображение можно вращать с помощью мышки, зажав ЛКМ и перемещая влево или вправо.

С изготовлением клешни особо не мучался и напечатал ее на 3D принтере.

Сервопривод mg90s и arduino

Для автоматического сжатия и раскрытия клешни я использовал сервопривод mg90s, он является копией sg90, про который я уже как-то писал статью: пример использования сервопривода sg90. Единственное отличие этих сервоприводов в том, что mg90s имеет внутри металлические шестерни на редукторе. Что делает его более долговечным и соответственно немного дороже. Во всем остальном полная идентичность. Mg90s имеет три провода: красный – это 5 вольт, коричневый – GND и оранжевый для передачи сигнала.
распиновка сервопривода mg90s
Для подключения сервопривода mg90s к ардуино соединяем провода питания напрямую, а также провод для передачи сигнала к любому цифровому пину, например 10.

Что использовалось в проекте

  • Arduino (я использовал arduino nano, но можно любую другую). Покупал тут: arduino nano
  • Сервопривод mg90s. Покупал тут: Сервопривод mg90s

Скетч для управления сервоприводом mg90s

Для управления сервоприводом mg90s удобно использовать, встроенную в среду разработки Arduino IDE, библиотеку Servo.h. Для примера ниже приведен простой код, который каждые 3 секунды сжимает и разжимает клешню. Угол, на который необходимо повернуть сервопривод для открытия и закрытия клешни подбирается опытным путем. У меня получилось подобрать для полного раскрытия и закрытия — это 105 и 40 градусов соответственно.

#include <Servo.h> // подключение библиотеки
Servo test_servo; // создание объекта для сервопривода
void setup() {
  test_servo.attach(10); // указываем управляющий пин
  delay(100);
  // устанавливаем начальное положение сервопривода
  test_servo.write(105);
  delay(1000); 
}

void loop() {
  // сжимаем клешню
  test_servo.write(40); 
  delay(3000);
  // разжимаем клешню
  test_servo.write(105);
  delay(3000);
}
 

Послесловие

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

Рассказать друзьям:


Оценить:
(7 оценок, среднее: 4,71 из 5)

Подключение сервопривода mg90s к arduino. Клешня: 1 комментарий

  1. Очень жаль, что из этих фотографий не понятно, как конкретно подключается сервопривод к этой «клешне».
    А так же не понятно какой Pin назначен в примере скетча.
    Спасибо.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*

code