Arduino манипулятор (часть II)
На этот раз я хочу рассказать подробнее о том как я создавал свой Arduino манипулятор.
Как и все мои проекты этот начинался как разминка для рук и мозгов, но о всем по порядку. И так я определился что хочу сделать манипулятор, с материалом тоже все понятно ( к этому моменту я уже работал с вспененным пластиком и конкурентов у него тут мало). Следующим шагом стало поиск идей для реализации, увы я пока не готов с нуля спроектировать подобную механику поэтому пришлось заимствовать чужие идеи. Задаем поиск и ищем проекты которые бы нравились внешне и по функционалу, на совсем футуристический дизайн я не стал заглядываться, но и совсем скучные воплощения были отброшены, в результате попалась данная статья http://320volt.com/en/arduino-uno-robot-kol-projesi/ внешне меня манипулятор устраивал полностью, к тому же он сделан из того же пластика с которым я планировал работать.
Здесь меня ждал большой сюрприз в виде файла Google ScetchUp https://www.dropbox.com/sh/51bdlc45flya6hw/AACcnwXutd8NQ99jR...
В нем можно найти ответы на любые вопросы о том как это устроенно.
Потратив день на изучение основ работы с ScetchUp (благо обучалок очень много) мне удалось распечатать чертежи интересующих меня деталей и процесс закипел. Я был очень приятно удивлен увидев насколько прочным становится конструкция из 2мм пластика если к ней добавить ребра жесткости. вырезание и склеивание основных узлов заняло меньше одного дня.
Хотя автор и выложил подробную инструкцию руководство в ходе сборки я вносил множество небольших изменений, так например я отказался от использования металических болтиков с гайками, весят они конечно не много, но я заменил из трубочками (пустыми стержнями из шариковых и гелиевых ручек), незнаю какую экономию веса мне это дало но думаю по неммногу набежало прилично.
В оригинале автор использовал весьма дорогостоящие пластинчатые резисторы, меняющие свое сопротивление в зависимости от усилия, скорее всего это очень качественное решение , но так как у меня весьма ограничен бюджет первое время датчиков не было вовсе а позже были добавлены микро кнопки.
Возможно в дальнейшем я добавлю обратную связь к серво приводам чтобы получить больший контроль.
Когда большая часть конструкции уже была собрана я уткнулся в использование автором очень своеобразного подшипника, скорее всего его можно найти, но это время и деньги, к тому же меня очень смутило использование такого маленького подшипника, для столь большого рычага. Решение пришло в лучших традициях, во сне. Ведь подшипник можно собрать самому, в нем нет абсолютно ничего сложного. понадобилось 4 комапак диска, и 8 шириков одинакового диаметра. Диски были склеены по парно получились два достаточно прочнх диска. Сделан барабан для условной фиксации 8 шариков, и целиндр вокруг всей этой конструкции. В нижнюю часть целиндра встроенна одна из серв, и 2 килограмовые утяжелители ( на первое время они очень актуальны) так как получился большой рычаг и резкие движения так и норовили уронить всю конструкцию.
Для уменьшения проводов автор оригинала добавил отдельный микро контроллер для контроля серво приводов, я же на первое время, для облегчения програмирования просто наростил провода от серво моторов до самой Arduino.
Дальше дело за малым программная часть, но тут уж на вкус и цвет у всех свои предпочтения, все зависит от того чему вы хотите его научить, я реализовал четыре варианта:
1. Демонстрационный режим, манипулятор по очереди шевелил разными своими серво моторами.
2. Управление с компьютера, на компьютере в написанной на коленке (Processing) программе ползунками задаются углы для каждой сервы.
3. Режим работы это перемещение по уже заданным контрольным точкам, точки были известны из предыдущего режима, и представляли собой набор из 6 чисел (углов наклона каждой из серв).
4. Самый веселый но и тяжелый, повторение движения в реальном времени, для этого был подключен проводной контроллер от WII в него встроен гироскоп его показания передавались в arduino и разделялись на команды разным сервам. (Тут был так сосоредоточен что забыл снять видео).
На данный момент проект отложен в сторону, так как пока не удается разобраться с кинематикой, может быть кто то сможет с ней помочь? очень хочется заставить работать манипулятор с обычными трехмерными координатами.
Как обычно буду рад ответить на любые вопросы в коментариях или по почте: NikonovDE@mail.ru
P.S. Использовались сервы MG996R (4шт) , SG90(2шт) и Arduino Uno
Здесь можно посмотреть все фото видео и скетчи
https://www.dropbox.com/sh/51bdlc45flya6hw/AACcnwXutd8NQ99jR...