Мастер-самодельщик увлекается робототехникой и у него уже есть проекты по созданию двуногих роботов. На этот раз он решил сделать робота четвероногого.
Основная цель при создании этого проекта заключалась в том, чтобы сделать систему как можно более надежной. На устройстве будут отрабатываться различные движения, и мастер хотел быть уверен, что механическая часть не поломается. Второстепенная цель заключалась в том, чтобы сделать четвероногого робота относительно недорогим, используя легкодоступные детали и 3D-печать.Инструменты и материалы:
-Arduino Uno;
-Серводвигатель MG995 — 12 шт;
-Плата расширения для Ардуино;
-Перемычки;
-Модуль MPU6050;
-Ультразвуковой датчик;
-Подшипники шариковые 8х19х7мм — 12 шт.;
-Гайки и болты M4;
-3D-принтер;
-Акрил 4 мм;
-Лазерный резак;
Шаг первый: проектирование
Робот был разработан с помощью программы Fusion 360. Проектирование он начал с того, что импортировал серводвигатели и построил вокруг них ноги и корпус. Разработал кронштейны для серводвигателя, которые обеспечивают вторую точку поворота, диаметрально противоположную валу серводвигателя. Наличие двух валов на обоих концах двигателя придает конструкции устойчивость и исключает перекос, который может возникнуть, если на них прикладывается большая нагрузка.
Другой целью при разработке устройства было сделать модель как можно более компактной, чтобы максимально использовать крутящий момент, обеспечиваемый серводвигателями.
Мастер разработал корпус робота, на который будет устанавливаться Arduino и другие электронные компоненты. Также были оставлены дополнительные точки крепления на верхней панели, чтобы сделать проект масштабируемым для дальнейших улучшений. В дальнейшем можно будет добавить различные датчики, такие как датчик расстояния, камеру и т.д.
Шаг второй: 3D-печать
Большинство деталей напечатаны на 3D-принтере, за исключением нескольких, вырезанных лазером из 4-миллиметрового акрила. Печать была сделана с заполнением 40%, 2 периметра, сопло 0,4 мм и высота слоя 0,1 мм. Ниже можно найти полный список деталей и файлов для печати, а также файлы деталей для резки лазером.
В дальнейшем, дабы избежать путаницы, детали будут называться так, как их назвал мастер.
Детали, напечатанные на 3D-принтере:
кронштейн сервопривода бедра x 2
зеркало* с сервоприводом бедра x 2
кронштейн сервопривода колена x 2
Зеркало кронштейна сервопривода колена x 2
держатель подшипника x 2
зеркало держателя подшипника x 2
нога x 4
звено сервопривода x 4
несущее звено (деталь, крепящаяся к валу сервопривода) x 4
держатель arduino x 1
держатель датчика расстояния x 1
L-опора x 4
втулка подшипника x 4
проставка для сервопривода x 24
Детали, вырезанные лазером:
панель держателя сервопривода x 2
верхняя панель x 1
*Под «зеркало» подразумевается противоположная деталь.
Файлы можно скачать ниже.
stls.rar
laser cut parts.pdf
Шаг третий: сборка
После того, как детали напечатаны можно приступать к сборке.
Сначала мастер устанавливает подшипники. Перед установкой подшипников посадочные места нужно отшлифовать. Затем прикручивает звенья сервопривода.
Подготавливает кронштейны. Устанавливает и фиксирует гайками болты М4. Устанавливает подшипники и прикручивает звенья.
Теперь нужно собрать ноги робота. Прикрепляет сервоприводы к кронштейнам с помощью 4 болтов и гаек M4. Обязательно нужно совместить ось сервопривода с выступающим болтом на другой стороне.
Затем соединяет сервопривод бедра с сервоприводом колена. На противоположной стороне устанавливает тягу с подшипниками.
Теперь нужно собрать корпус.
Закрепляет сервоприводы на панели держателя сервопривода. С помощью кронштейнов прикручивает панели к верхней панели.
Дальше нужно ноги закрепить на корпусе.
Устанавливает ноги на сервоприводы корпуса. Устанавливает ось и фиксирует ее. Закрепляет держатели подшипников на верхней панели с помощью двух гаек и болтов M4.
Шаг четвертый: электромонтаж
Мастер советует для подключения сервоприводов использовать плату расширения v5 поскольку он имеет встроенный порт внешнего источника питания.
Тот что был у мастера 4 версии. Он не имеет порта для питания и питание идет от Ардуино. Такого питание недостаточно для серводвигателей. Чтобы решить эту проблему мастер переделал плату, чтобы можно было подключить внешний источник.
Подключения сигнальных контактов 12 серводвигателей указаны в таблице ниже.
Hip1Servo — это сервопривод, закрепленный на корпусе. Hip2Servo — это сервопривод, закрепленный на ноге. KneeServo — это сервопривод, закрепленный на «колене» ноги.
Нога 1 (передняя левая):
Hip1Servo >> 2
Hip2Servo >> 3
KneeServo >> 4
Нога 2 (передняя правая):
Hip1Servo >> 5
Hip2Servo >> 6
KneeServo >> 7
Нога 3 (задняя левая):
Hip1Servo >> 8
Hip2Servo >> 9
KneeServo >> 10
Нога 4 (задняя правая):
Hip1Servo >> 11
Hip2Servo >> 12
KneeServo >> 13
Шаг пятый: настройки
Перед программированием движений, нужно установить на «ноль» каждый сервопривод.
Чтобы избежать повреждений робота, нужно снять крепления (звенья) сервопривода. Затем загрузить код.
initialize.ino
С помощью этого кода, каждый из сервоприводов устанавливается под углом 90 градусов. После калибровки устанавливает звенья на место. При этом, ноги должны быть совершенно прямыми, а сервопривод, прикрепленный к корпусу, должен быть перпендикулярен верхней панели робота.
Из-за особенностей конструкции некоторые ноги могут не стать точно прямо. Решением проблемы является корректировка массива zeroPositions, находящегося в 4-й строке кода. Каждое число представляет собой нулевую позицию соответствующего сервопривода. Нужно немного изменить эти значения, пока ноги не станут идеально прямо.
Авторские настройки следующие: int zeroPositions [12] = {93, 102, 85, 83, 90, 85, 92, 82, 85, 90, 85, 90};
Шаг шестой: программирование
Перед программированием мастер рассчитывает траектории движения подвижных частей.
После завершения подключения нужно запрограммировать робота. Перед установкой кода нужно изменит 4-ю строку прилагаемого кода на значения, которые были установлены на этапе настройки. После загрузки программы робот должен начать ходить. Если некоторые из суставов перевернуты, то нужно просто изменить соответствующее значение направления в массиве направлений в строке 5 (если оно равно 1, нужно прописать -1, а если оно -1, прописать 1).
Walking.ino
Все готово.
Источник (Source)
Становитесь автором сайта, публикуйте собственные статьи, описания самоделок с оплатой за текст. Подробнее здесь.
Источник: