Оглавление:
- Шаг 1: ПРОЕКТИРОВАНИЕ И СБОРКА:
- Шаг 2: КОД:
- Шаг 3: ЭЛЕКТРОНИКА:
- Шаг 4: ПРОДОЛЖАЕТСЯ УЛУЧШЕНИЕ:
- Шаг 5: БУДУЩИЕ УЛУЧШЕНИЯ:
Видео: Роботизированная рука Arduino: 5 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:53
Поскольку это мой первый проект после 15 руководств по моему стартовому набору Arduino, его настоящая цель - получить критику, советы, предложения и идеи от всех, кто знает больше меня.
Этот проект посвящен роботизированной руке с 4 степенями свободы и захватом. С прилично низким бюджетом: конструкция была вырезана другом, 4 сервопривода стоили 30 евро, 2 джойстика 4 евро, болты и т. Д. Менее чем за 10 евро, а все остальное (Arduino, провода, сервопривод рукоятки и т. Д.)) уже был включен в мой стартовый комплект. В общей сложности 40-45 евро, что составляет около 45-50 долларов США (та же цена, что и комплект для me-arm, но, эй, было весело собирать его самому (и время от времени что-то портить) и не следуя инструкциям как машина).
Поскольку это был мой первый проект, и я был проинструктирован, я принял участие в конкурсе «Автор впервые» и в паре других конкурсов, так что, если он вам нравится, проголосуйте за него:)
Шаг 1: ПРОЕКТИРОВАНИЕ И СБОРКА:
Сначала мне нужна была структура: это определенно была самая длинная часть. Поскольку я не хотел копировать и вставлять проект от кого-то еще, я взял проект за образец и я (и еще пара более опытных одноклассников, которые действительно спасли меня) начал дорабатывать его под свои нужды (разные сервоприводы с разным крутящим моментом, массой и габаритами и т. д.). Мне приходилось строить его несколько раз, в каждом из них я обнаруживал что-то не так, и нам приходилось перерезать некоторые части и повторять попытку. Я прикрепил файл.dxf на случай, если вы захотите его использовать. Затем мне пришлось купить электронику: Большинство деталей были стандартными, сложнее всего было выбрать сервоприводы. Я рассчитал требуемый крутящий момент с помощью эмпирического правила, позже я попробовал более точный расчет и обнаружил, что, возможно, немного переборщил. Видимо для 2-го сервопривода (от базы) хватило бы 6 кг / см, а у меня 9-11 кг / см. Что ж, это дает мне некоторую безопасность и возможность загрузить до 2 кг груза (что невозможно, но мне нравится, что технически я могу это сделать). Я мог бы также купить другие сервоприводы с уменьшением крутящего момента при удалении от базы, но покупка идентичных сервоприводов у одного и того же поставщика была, безусловно, самым дешевым вариантом. 350 мА, а микросхема 9g потребляет 100 мА, всего 350 * 4 +100 = 1500 мА. Поэтому я спас зарядное устройство (6 В, 1,5 А) и припаял к нему две перемычки (если кому-то из вас могут понадобиться настоящие инструкции, просто спросите в комментариях, и я сделаю все возможное, чтобы создать пошаговый руководство) Список материалов: - Конструкция - Винт M5x7cm x5, болты M5 x15 (основание) - Винт M3x16mm x18 * - Винт M3x20mm x13 * - Болты M3 x40 * - Винт M3x8cm x3 - Зажим (иначе он упадет) - 3 дюбеля- Arduino (или что-то еще, чтобы управлять им, у него должно быть не менее 5 ШИМ) - Что-то для питания 5-6 В и не менее 1,5 А - 3 джойстика типа ps2 - 4 сервопривода TowerPro MG995 - 1 резервуар TowerPro 9g (для рукоятки) - Множество перемычек - Макетная плата * (я использовал болты и винты, чтобы можно было быстро собирать и разбирать, в противном случае вы могли бы заменить почти все их шурупами для деревянных конструкций)
Шаг 2: КОД:
Идея состоит в том, чтобы управлять каждым сервоприводом с помощью одной из двух осей джойстика, подобного ps2. Кажется, каждый джойстик имеет разные «значения покоя» (значение от 0 до 1023, когда он неподвижен) как для оси y, так и для оси x. было проблемой, так как разница была почти небольшой (у одного был ноль на y на 623), и я хотел использовать функцию карты для преобразования из 0-1023 в градусы. Но функция карты считает, что остальное значение равно 1023/2. Это приводило к тому, что каждый сервопривод двигался, как только я включаю Arduino, не очень хорошо. Мне удалось обойти это, найдя вручную разницу между значением чтения и каждым другим значением покоя (которое я рассчитал отдельно для каждого джойстика), а затем Чтобы сделать код короче и умнее, я заставил его прочитать остальные значения в функции настройки и сохранить их в некоторых переменных. Новый алгоритм основан на преобразовании приращения в градусы, но мне нужно было очень маленькое количество градусов для моего приращения, поэтому Мне пришлось разделить его на константу: я пробовал много значений, пока не нашел окончательные 200 (я могу добавить потенциометр, чтобы вручную изменить это значение на желаемое). Остальная часть кода, я думаю, довольно стандартна, хотя было бы более элегантно поместить вычисление приращения в отдельную функцию.
Шаг 3: ЭЛЕКТРОНИКА:
Подключение такое же, как показано на картинке или в файле fritzing: сигнал сервоприводов к контактам: 5-6-9-10-11 и ось джойстика к аналоговым контактам: A0-A1-A2-A3-A4 Основная проблема, с которой я столкнулся состоял в том, что джойстики ДОЛЖНЫ поставляться от Arduino, а НЕ от зарядного устройства, которое я использую для сервоприводов. В противном случае сервопривод просто сойдет с ума, беспорядочно перемещаясь взад и вперед. Я думаю, это может быть потому, что, если я снабжу их зарядным устройством, Arduino не сможет точно определить разность потенциалов, когда я их перемещаю, но опять же: Я новичок в электронике, так что это всего лишь предположение. Подключение заземления Arduino и заземления зарядного устройства через макетную плату помогло предотвратить случайные и неожиданные движения, по той же причине, что и джойстики.
Шаг 4: ПРОДОЛЖАЕТСЯ УЛУЧШЕНИЕ:
Поскольку каждый джойстик может управлять 2 сервоприводами (по одному на каждую ось), мне нужно 3 сервопривода для управления всей рукой, но, к сожалению, у меня есть только 2 больших пальца, поэтому я подумал, что вместо того, чтобы управлять каждым сервоприводом, я мог бы управлять только положением xyz рычага. хватать и открывать-закрывать захват, всего 4 оси, 2 джойстика и 2 больших пальца! Я обнаружил, что эта проблема хорошо известна как обратная кинематика, я также обнаружил, что это почти просто. Идея состоит в том, чтобы написать (нелинейные) уравнения, чтобы найти состояние каждого эффектора (углы для сервоприводов) с учетом конечного положения. Я загрузил рукописный документ с уравнениями, и в настоящее время я работаю над новым кодом для их использования. Это не должно быть слишком сложно, я в основном должен читать джойстики, использовать их показания для изменения координат xyz рукоятки, а затем добавлять их в свои уравнения, вычислять углы сервоприводов и записывать их.
Шаг 5: БУДУЩИЕ УЛУЧШЕНИЯ:
Итак, я очень доволен результатом, и, учитывая, что я новичок в электронике и не взорвал что-то или себя, это уже огромная победа. Как я сказал в начале, любая идея будущих улучшений, как программного обеспечения, так и железо, можно только приветствовать! Пока что думал о: 1. Потенциометр для изменения «чувствительности» джойстиков 2. Новый код, заставляющий его «записывать» некоторые движения и делать их снова (возможно, быстрее и короче, чем вводимые человеком) 3. Какой-то визуальный / дистанционный / голосовой ввод и возможность получать объекты без использования джойстиков 4. Уметь рисовать геометрические фигуры Есть еще идеи? Пожалуйста, не стесняйтесь комментировать любые предложения. Спасибо
Рекомендуемые:
Роботизированная рука Arduino: 12 шагов
Роботизированная рука Arduino: эта инструкция была создана во исполнение требований проекта Makecourse в Университете Южной Флориды. Это основные компоненты, необходимые для сборки этого проекта
Простая роботизированная рука Arduino: 5 шагов
Простая роботизированная рука Arduino: здесь я покажу вам, как сделать базовую роботизированную руку Arduino, управляемую потенциометром. Этот проект идеально подходит для изучения основ Arduino, если вы ошеломлены количеством опций в инструкциях и не знаете, куда обратиться
Роботизированная рука, управляемая Arduino и ПК: 10 шагов
Роботизированная рука, управляемая Arduino и ПК: Роботизированные руки широко используются в промышленности. Будь то сборочные операции, сварка или даже стыковка с МКС (Международной космической станцией), они помогают людям в работе или полностью заменяют человека. Рука, которую я построил, меньше по размеру
Роботизированная рука, управляемая Arduino, с 6 степенями свободы: 5 шагов (с изображениями)
Роботизированная рука, управляемая Arduino, с 6 степенями свободы: я являюсь членом группы робототехники, и каждый год наша группа участвует в ежегодной ярмарке Mini-Maker Faire. Начиная с 2014 года, я решил строить новый проект для каждого ежегодного мероприятия. В то время у меня было около месяца до мероприятия, чтобы что-то сложить
Роботизированная рука Arduino своими руками, шаг за шагом: 9 шагов
Роботизированная рука Arduino своими руками, шаг за шагом: в этом руководстве вы узнаете, как собрать робот-руку самостоятельно