Предыстория
Заканчивалось жаркое лето, позади был прекрасных семейный отдых на теплом ласковом море, и впереди уже проступали очертания серых рабочих будней. Чтобы не поддаться осенней депрессии надо было срочно заняться чем-то приятным и полезным и это что-то не заставило себя ждать: старшему сыну надо было подготовить работу к школьной конференции. Тема работы уже висела в воздухе достаточно давно. Я с большим интересом слежу за публикациями автора Neoprog “Разработка hexapod с нуля”. И именно его статьи подвигли нас на работу в этом направлении.
Конструкция
В качестве движущих элементов конструкции мы выбрали сервоприводы MG-996R. Из заявленных характеристик, они обладают достаточно высоким и силовыми характеристиками при относительно небольшой стоимости. Размеры и конструкция данного сервопривода легла в основу дальнейшей конструкции робота, которую изначально мы планировали изготовить из пластика методом 3D печати.
Первым делом был изготовлен и протестирован действующий прототип отдельной конечности.
Не имея опыта работы в программах 3D моделирования мы легкомысленно решили воплотить наши бумажные наброски в трехмерную модель с помощью встроенного в Windows 10 редактора 3D-билдера. При всей своей простоте этот редактор имеет довольно обширный арсенал и позволяет создавать достаточно сложные 3D-модели.
Но простота работы в этом редакторе, также является его слабым местом. Отсутствие контроля количества вершин в модели приводит к тому, что после многократных кромсаний и склеиваний несложная с виду модель, начинает обладать огромным внутренним миром количеством полигонов и редактор начинает заниматься каким-то внутренним пересчетом подели, позволяя только созерцать свое творение без возможности что то отредактировать.
После беглого анализа доступных редакторов было принято использовать Blender по причине своей бесплатности и непонятности и тому, что я несколько раз брался за его изучение и все попытки заканчивались фиаско. На этот раз наличие конкретной цели принесло свои плоды. Минимальный, но достаточный навык работы в редакторе был покорен и мы продолжили разработку. Хочется отметить, что в дальнейшем мы не отказались полностью от работы в 3D-билдере. В нем все таки намного удобнее выполнять некоторые финишные действия с моделью: делать винтовые отверстия, вырезать внутренние полости сложной формы и многое другое.
При конструировании конечности мы поставили задачу по максимуму скрыть сервоприводы внутри корпуса. В целом это удалось, но шлейфы все таки пришлось оставить снаружи в целях уменьшения механического воздействия при сгибании суставов. При конструкция позволяет сохранить свободу движения суставов почти в максимальных пределах 0 — 180 градусов. Для уменьшения трения и износа в каждом суставе предусмотрен подшипник.
Для печати мы использовали принтер Infintary 3D Printer, купленный в “поднебесной” пару лет назад. Процесс довольно неспешный, так что для печати всего комплекта конечностей был потрачен не один день.
За это время мы сделали эскиз и построили 3D-модель рамы, к которой должны крепиться конечности. В ней же размещаются сервоприводы плечевых суставов.
Печать и сборка
После завершения печати мы приступили к сборке конечностей и окончательной сборке. В разобранном варианте получился этакий конструктор:
При сборке главное не забыть вставить подшипники и тяги сервоприводов.
Важный момент: в момент сборки все сервоприводы должны быть приведены в среднее положение. Для калибровки положения плечевых суставов мы распечатали и дочертили специальный трафарет.
По итогу у нас получилась довольно симпатичная шестиногая платформа, оживлением которой был занят весь наш дальнейший досуг.
Электронная начинка
К этому времени основной набор электронной начинки для оживления робота был составлен и укомплектован. В него вошли готовые компоненты, а именно:
- Основной контроллер Arduino UNO + WiFi R3 ATmega328P + ESP8266
- Регулируемые стабилизаторы DC/DC Max 9A 300 Вт — 6 шт.
- Высокотоковые аккумуляторы HG2 18650 3000 mAh — 3 шт.
- Контроллер заряда BMS 3S 11,1 V 12,6 V 40A
- Multiservo Shield на 18 сервоприводов, управляемый по шине I2C.
Использование готовых компонентов негативно отразилось на размерах робота. Над основной рамой пришлось строить второй ярус, в котором мы разместили стабилизаторы и сервошилд.
Плата ардуино и система питания поселились на крыше разместились в третьем ярусе корпуса. Сюда же мы в дальнейшем планируем добавить пару oled дисплеев имитирующих глаза, микрофон, камеру и датчик расстояния.
На текущий момент бóльшую часть запланированной работы мы выполнили. «Гекса» (так мы назвали с сыном нашего робота) создан и им можно управлять через telnet или android устройства через специально написанное приложение.
Послесловие
На дворе уже глубокая зима, дни становятся все продолжительнее и ярче. А значит не за горами весна и хорошее настроение. Буду рад, если моя первая и надеюсь не последняя публикация была кому-нибудь интересна и полезна. Тема статьи была ориентирована только на описание процесса создания, поэтому программная начинка и все с остальное осталась за кадром. Если интересно, можно посвятить этой теме следующие статьи. Готов ответить на все вопросы.
Спасибо за уделенное внимание!
Автор: Куликовских Сергей