Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Роботизированная рука на Arduino с собственным контроллером — Сервоприводы и потенциометры

Компоненты и материалы

Arduino UNO 1
Сервопривод MG995 1
Сервопривод DS3115 1
Вращающийся потенциометр 10 кОм (кривая B) 1

Приложения и онлайн-сервисы

Arduino IDE

О проекте

Я собрал роботизированную руку и контроллер для неё.

Конструкция

Роботизированная рука использует три обычных PWM-сервопривода. Каждый угол управляется переменным резистором. Использованы вращающиеся потенциометры с кривой B, 10 кОм.

Роботизированная рука на Arduino с собственным контроллером — Сервоприводы и потенциометры

Сборка роботизированной руки

В вертикальной плоскости использованы два сервопривода DS3115, для поворота — сервопривод MG995.

Роботизированная рука на Arduino с собственным контроллером — Сервоприводы и потенциометры

Сборка контроллера

Корпус контроллера напечатан на 3D-принтере.

Роботизированная рука на Arduino с собственным контроллером — Сервоприводы и потенциометры

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

Роботизированная рука на Arduino с собственным контроллером — Сервоприводы и потенциометры

Собираем напечатанные детали и три потенциометра — контроллер готов!

Потенциометры установлены в том же направлении, что и оси вращения сервоприводов руки!

Код для Arduino

Простой код: считывает значения потенциометров через аналоговые пины, преобразует в угол и передаёт соответствующему сервоприводу.

#include <Servo.h>

Servo myservo1, myservo2, myservo3;

float th1=90.0, th2=90.0, th3=90.0;
float val1, val2, val3;

void setup() {
  Serial.begin(9600);
  myservo1.attach(9, 500, 2420); // MG995
  myservo2.attach(10, 820, 2140); // DS3115
  myservo3.attach(11, 820, 2140); // DS3115
  set_servo();
}

void loop() {
  val1 = analogRead(A1);
  val2 = analogRead(A2);
  val3 = analogRead(A3);

  th1 = map(val1, 170.0, 880.0, 0.0, 180.0);
  if (th1 >= 180.0) th1 = 180.0;
  else if (th1 <= 0.0) th1 = 0.0;

  th2 = map(val2, 150.0, 860.0, 0.0, 180.0);
  if (th2 >= 180.0) th2 = 180.0;
  else if (th2 <= 0.0) th2 = 0.0;

  th3 = map(val3, 860.0, 160.0, 0.0, 180.0);
  if (th3 >= 180.0) th3 = 180.0;
  else if (th3 <= 45.0) th3 = 45.0;

  set_servo();
}

void set_servo() {
  myservo1.write(th1);
  myservo2.write(th2);
  myservo3.write(th3);
}

Работа

Подключите потенциометры к Arduino — и система готова к работе!


Производственный процесс

  1. Визионный мобильный робот, избегающий препятствия, на Raspberry Pi
  2. gatoBot: Веб-управляемый робот на Raspberry Pi Zero W с живым видеопотоком
  3. Simple Pi Robot — Сборка 2WD автономного ровера на Raspberry Pi
  4. Двухрукие SCARA-роботы: передовые решения для сборки и производства
  5. Робот УФ-дезинфекции на Arduino Mega: дистанционно управляемая гермицидная система
  6. Unopad: Бесшовный Arduino MIDI-контроллер для Ableton Live
  7. Роботизированная рука MeArm V1.0 — сборка на Arduino и Raspberry Pi
  8. Yama Seiki GA-2000CR: компактный токарный центр с роботом-манипулятором и паллетной системой
  9. KUKA KMR iiwa: мобильный коллаборативный манипулятор для Индустрии 4.0
  10. Повышение операций роботов с точной сервоприводной технологией движения