РОБОТИЗИРОВАННЫЙ МАНИПУЛЯТОР С ШЕСТЬЮ
СТЕПЕНЯМИ СВОБОДЫ 1 2 Садков К.О. , Моногаров С.И. Email: [email protected]
1 Садков Кирилл Олегович - бакалавр; 2Моногаров Сергей Иванович - кандидат технических наук, доцент, кафедра внутризаводского электрооборудования и автоматики, Армавирский механико-технологический институт, (филиал) Кубанский государственный технологический университет, г. Армавир
Аннотация: в статье представлен пример создания роботизированного рычажного манипулятора на подвижной платформе. Данное устройство имеет 6 осей перемещения в трехмерном пространстве. Каждая ось «руки» управляется с помощью сервопривода, положение каждого сервопривода может быть изменено с помощью потенциометра. Установка разделена на две основные части: «динамический» блок и блок управления. «Динамический» блок выполнен на основе микроконтроллера ATmega2560, а блок управления ATmega328P, передача управляющего сигнала реализована на основе радио модуля NRF24L01. В качестве двигательных механизмов применяются сервоприводы типа MG995. Навесной инструмент представлен в виде манипулятора с захватом типа «клешня». Ключевые слова: ATmega, Arduino, сервопривод, NRF24L01, 6-позиционный манипулятор, роботизированная рука.
ROBOTYIZED MANIPULATOR WITH SIX DEGREES OF FREEDOM
Sadkov K.O.1, Monogarov S.I.2
1Sadkov Kirill Olegovich - Bachelor; 2Monogarov Sergey Ivanovich - Candidate of Engineering Science, Associate Professor, DEPARTMENT OF INTRA-PLANT ELECTRICAL EQUIPMENT AND AUTOMATION, ARMAVIR MECHANIC-TECHNOLOGICAL INSTITUTE, (BRANCH) KUBAN STATE TECHNOLOGICAL UNIVERSITY, ARMAVIR
Abstract: the article presents an example of creating a robotic arm on a movable platform. This device has 6 axes of displacement in three-dimensional space. «Loneliness». The installation is divided into two main parts: a «dynamic» unit and a control unit. The «dynamic» unit is based on the ATmega2560 microcontroller, and the ATmega328P control unit, the control signal transmission is realized based on the radio module NRF24L01. Servo drives of MG995 type are used as propulsion mechanisms. The hinged tool is presented in the form of a manipulator with a «claw» type grip.
Keywords: ATmega, Arduino, servo drive, NRF24L01, 6-position manipulator, robotic arm.
УДК 689
1. Введение
Роботизированная рука - это пример механического рычага, обычно программируемого, с функциями аналогичными человеческой руке. Манипулятор может быть самостоятельным механизмом или частью более сложного роботизиронного комплекса. Сегменты такого манипулятора связаны «суставами», совершающими вращательное движение (например, в шарнирном роботе) или поступательное (линейное) смещение. Системы конвейерных и параллельных манипуляторов обычно предназначены для размещения концевого инструмента. Наиболее продвинутыми считаются устройства с шестью степенями свободы. Это обеспечивает максимальную эффективность между положениями исполнительного механизма и конфигурацией манипулятора. Эффективность манипуляторов описывается степенью свободы. Это число обычно относится к числу одноосных вращательных
соединений в плече, где большее число указывает на большую гибкость в позиционировании инструмента. Это практическая метрика, в отличие от абстрактного определения степеней свободы, которая измеряет совокупную способность позиционирования системы.
Концевые инструмент или роботизированная рука могут быть сконструированы так, чтобы выполнять любую требуемую задачу. Такую как сварка, захват, вращение и т. д., в зависимости от необходимости. Например, робот-манипулятор на автомобильных сборочных линиях выполняет множество задач, таких как: сварка, вращение деталей и их размещение во время сборки. В некоторых случаях желательна точная эмуляция человеческой руки. Как пример роботы, предназначенных для проведения разминирования и уничтожении взрывчатых устройств.
На рисунке 1, показаны траектории движения по каждой оси. Это описано как:
Осевые движения:
• Перемещение вперед и назад по оси X.
• Перемещение влево и вправо по оси У.
• Перемещение вверх и вниз по оси 2.
Поворотные движения:
• Наклонение вбок по оси Х.
• Наклон вперед и назад по оси У.
• Поворот влево и вправо по оси 2.
Вверх
Вниз
Рис. 1. Шесть степеней свободы: вперед / назад, вверх / вниз, влево / вправо, рыскание, шаг и наклон
1.1 Arduino
Arduino - это электронная платформа с открытым исходным кодом, основанная на простом в использовании аппаратном и программном обеспечении. Платы Arduino могут считывать входные сигналы такие как: попадание света на фоторезистор, нажатие на кнопку или сообщение отправленное по Интернету; и превращать их в выходной сигнал. Например: включение двигателя, электрочайника, освещения; путем отправки набора инструкций микроконтроллером на плату.
Arduino может взаимодействовать с кнопками, светодиодами, моторами, динамиками, GPS-устройствами, камерами, Интернетом и даже вашим смартфоном [1].
1.2 Arduino MEGA и Arduino NANO
Arduino MEGA - это микроконтроллерная плата, основанная на ATmega2560. Он имеет 54 цифровых входов / выходов (из которых 14 можно использовать как ШИМ выходы), 16
38
аналоговых входов, 4 последовательных порта UART, кварцевый генератор 16 МГц, USB коннектор, разъем питания, разъем ICSP и кнопка перезагрузки. На рисунке 2 показаны части контроллера Arduino MEGA [3].
Цифровые входы-выходы
Рис. 2. Arduino MEGA
Arduino NANO - это микроконтроллерная плата, основанная на ATmega328P. Он имеет 14 цифровых входов / выходов (из которых 6 можно использовать как ШИМ выходы), 6 аналоговых входов, кварцевый генератор 16 МГц, USB-соединение, разъем питания, разъем ICSP и кнопку сброса [3].
¡Л О
К
Рис. 3. Arduino NANO 39
1.3 Сервопривод
Серводвигатель MG995 поставляется с проводом длиной 30 см и 3-мя контактами типа мама. Выходной вал сервопривода поворачивается приблизительно на 120 градусов (60 градусов в каждом направлении). Для управления сервоприводами MG995 можно использовать любые контроллеры с питанием логики 5 В, в том числе и АМшпо.
Сервоприводы поставляются с 3-контактным гнездом, они подключаются к плате при помощи проводов типа «папа-папа», коричневый провод к разъему GRN (минус), красный провод к V (плюс), желтый провод к одному из информационных входов. Для питания 6 сервоприводов требуется отдельный источник питания, в качестве которого выступает литий-ионный аккумулятор 7,4 В.
Рис. 4. Серводвигатель MG995
2. Аппаратная реализация проекта
Arduino используется в качестве устройства сбора данных для измерения, контроля, мониторинга различных устройств и датчиков. Шесть сервомоторов подключены к шести выходам ШИМ Arduino NANO, чей рабочий цикл, соответствует сопротивлению потенциометров. Измененное, во встроенном в плату аналого-цифровом преобразователе, цифровое значение сопротивления передается по радио каналу, при помощи модуля NRF24L01, в плату Arduino MEGA.
На рисунках 5 и 6, приведенных ниже, показана аппаратная реализация шестиосевого робота с использованием микроконтроллеров ATmega. В данной модели использованы шесть сервоприводов. Сервоприводы имеют крутящий момент 20 кг. Они размещены в стальном жестком каркасе оснащенном концевым инструментом, который обеспечивает захват и перемещение объекта при помощи сервомоторов. Управление ими осуществляется пультом на базе микроконтроллера ATmega328P.
Рис. 5. Манипулятор, установленный на подвижной платформе
Рис. 6. Пульт управления
Ниже приведен программный код приемника и передатчика. Код пульта управления: #include <SPI.h> #include «RF24.h» RF24 radio(9,10);
const uint64_t pipe = 0xF0F0F0F000LL;
int msg[3];
int potpin_1 = A2;
int val_1;
int potpin_4 = A3;
int val_4;
int potpin_5 = A4;
int val_5;
int potpin_6 = A5;
int val_6;
int potpin_7 = A6;
int val_7;
int potpin_8 = A7;
int val_8;
void setup(void){
radio.begin();
radio. openWritingPipe(pipe);
}
void loop() {
val_1 = analogRead(potpin_1),val_1 val_1,radio.write(msg, 1);
val_4 = analogRead(potpin_4),val_4 val_4,radio.write(msg, 1);
val_5 = analogRead(potpin_5),val_5 val_5,radio.write(msg, 1);
val_6 = analogRead(potpin_6),val_6 val_6,radio.write(msg, 1);
val_7 = analogRead(potpin_7),val_7 val_7,radio.write(msg, 1);
val_8 = analogRead(potpin_8),val_8
val_8,radio.write(msg, 1); }
Код управления манипулятора:
#include <Servo.h>
#include <SPI.h>
#include «RF24.h»
Servo servo1;
Servo servo2;
Servo servo3;
Servo servo4;
Servo servo5;
Servo servo6;
RF24 radio(9,10);
const uint64_t pipe = 0xF0F0F0F000LL;
int msg[3];
int data;
int data1;
int pos;
void setup() {
servo1.attach(22);
servo2.attach(23);
servo3.attach(24);
servo4.attach(25);
servo5.attach(26);
servo6.attach(27);
delay(50);
radio.begin();
radio.openReadingPipe(1,pipe);
map(val_1, 0, 1023, 0, 21),msg[0]
map(val_4, 0, 1023, 22, 43),msg[0]
map(val_5, 0, 1023, 44, 65),msg[0]
map(val_6, 0, 1023, 66, 87),msg[0]
map(val_7, 0, 1023, 88, 109),msg[0]
map(val_8, 0, 1023, 110, 127),msg[0]
radio. startListeningO; }
void loop()
{
if (radio.available())radio.read(msg, 1); if (msg[0] <21 && msg[0] >-1)data = 170),servo1.write(pos);
if (msg[0] <43 && msg[0] >22)data = 170),servo2.write(pos);
if (msg[0] <65 && msg[0] >44)data = 170),servo3.write(pos);
if (msg[0] <87 && msg[0] >66)data = 170),servo4.write(pos);
if (msg[0] <109 && msg[0] >88)data = 170),servo5.write(pos);
if (msg[0] <127 && msg[0] >110)data =
170),servo6.write(pos); }
msg[0], pos = map(data, 0, 21, 10,
msg[0], pos = map(data, 22, 43, 10,
msg[0], pos = map(data, 44, 65, 10,
msg[0], pos = map(data, 66, 87, 10,
msg[0], pos = map(data, 88, 109, 10,
msg[0], pos = map(data, 110, 127, 10,
Вывод
Из-за растущего спроса на роботизированные сборочные конвейеры и совершенствование механической и микроэлектронной составляющей, создание манипуляторов высокой степени подвижности является крайне перспективным. В будущем возможно создание манипуляторов, которые в точности могут выполнять функции человеческих рук. Что крайне важно не только для производственных нужд, но и для протезирования, причем по весьма приемлемым ценам.
Список литературы /References
1. Моногаров С.И. Микропроцессорные устройства контроля и управления. Методические указания по изучению дисциплины и выполнению контрольных работ для студентов заочной формы обучения направления 13.03.02 Электроэнергетика и электротехника (профиль «Электрооборудование и электрохозяйство предприятий, организаций и учреждений») / Армавир, 2015.
2. Моногаров С.И. Электрические аппараты Методические указания по выполнению лабораторных работ для студентов всех форм обучения направления 13.03.02 Электроэнергетика и электротехника (профиль «Электрооборудование и электрохозяйство предприятий, организаций и учреждений») / Армавир, 2015.
3. Садков К.О. «Лабораторная работа по дисциплине «Основы микропроцессорной техники» направление 130302 на тему: «Применение микроконтроллера Atmega328 для схемы реверса электродвигателя» // Технические и математические науки. Студенческий научный форум: Электр. Сб. Ст. По мат. VII Междунар. Студ. Науч.-практ. Конф. № 7(7). [Электронный ресурс]. Режим доступа: https://nauchforum.ru/archive/snf_tech/7(7).pdf/ (дата обращения: 20.08.2018).
4. Моногаров С.И. Автоматизация производственных процессов / Учебное пособие по изучению дисциплины для студентов всех форм обучения направления 13.03.02 -Электроэнергетика и электротехника / Армавир, 2017.
5. Моногаров С.И. Электрические и электронные аппараты / Учебное пособие / Армавир, 2017.