Hexapod-робот, управляемый с ПК

в 10:55, , рубрики: avr, diy или сделай сам, hexapod, robot, программирование микроконтроллеров, Программирование робототехники

После просмотра большого количества статей и видео про роботов-пауков захотелось самому создать подобное. Было решено все сделать «с нуля», то есть создать корпус робота, спаять плату и запрограммировать.

Корпус робота было решено сделать из оргстекла, данный материал легок в обработке и достаточно прочный. Форма конечностей и тела робота создана самостоятельно по существующим аналогам. Извиняюсь за недостаточное количество размеров на чертежах, рисовал для себя.

image Hexapod-робот, управляемый с ПК - 2

Все части были вырезаны из оргстекла толщиной 3 мм с помощью лобзика. Чтобы все выглядело симпатичней, все части были обтянуты карбоновой пленкой. Далее нужно было выбрать сервомашинки. Было принято решение в разработке применять сервомашинки MG90S.

Hexapod-робот, управляемый с ПК - 3

Это самые дешевые сервомашинки с металлическими шестеренками. На момент покупки они стояли 200 рублей за штуку. В итоге сборки корпуса и сервомашинок получилось вот это.

Hexapod-робот, управляемый с ПК - 4

Всю систему было решено построить на двух микроконтроллерах AVR ATmega 32, выбор обоснован тем, что у меня были эти камни, а использование сразу двух объясняется тем, что одному было бы сложно справиться со всеми задачами, которые должен выполнять робот. А именно:

− движение в любом направлении, а также поворот вокруг своей оси в любом направлении;
− удержание горизонта на наклонной поверхности;
− невозможность столкновения со статическими объектами во время движения.

Таким образом один микроконтроллер получает команды от пользователя по радио каналу, получает и обрабатывает информацию от датчиков (дальномер, акселерометр), отправляет команды на второй микроконтроллер и отправляет данные, запрашиваемые пользователем с персонального компьютера. Второй микроконтроллер получает команды от первого микроконтроллера и управляет движением сервоприводов с помощью широтно-импульсной модуляции. В итоге идею можно отразить в структурной схеме.

Hexapod-робот, управляемый с ПК - 5

В качестве дальномера использовался популярный ультразвуковой датчик расстояния HC-SR04

Hexapod-робот, управляемый с ПК - 6

В качестве акселерометра использовался датчик MMA7361 — это малопотребляющий, емкостной микроэлектромеханический датчик ускорения в низкопрофильном корпусе, отличающийся однополярным низкочастотным фильтром, схемой температурной компенсации и самотестирования, детектором нулевого ускорения для определения линейного свободного падения и возможностью выбора одного из двух уровней ускорения. Уровень напряжения нулевого ускорения и чувствительность имеют заводскую настройку и не требуют дополнительных внешних компонентов. MMA7361 имеет режим сна.

Hexapod-робот, управляемый с ПК - 7

Эти датчики недорогие и удобные в использовании дома.

Оставалось определиться, как связать ПК и робота. Было решено использовать радио. В итоге был куплен комплект радиомодемов 3DRobotics.

Hexapod-робот, управляемый с ПК - 8

Итак, собрав все необходимое железо, необходимо было создать плату. При разработке принципиальной схемы необходимо было учитывать питание всех узлов системы. Питание сервоприводов должно быть отделено от питания остальной схемы для того, чтобы избежать влияния помех на работу микроконтроллеров и датчиков.

По проведенным расчетам было выяснено, что при активной работе всех сервоприводов максимальный ток в схеме составляет три ампера. Для большей надежности, было решено разделить питание сервоприводов на две части. Также по расчетам стало ясно, что при активной работе микроконтроллеров и датчиков их потребление составит не более одного ампера. Таким образом, максимальный ток в схеме будет составлять полтора ампера.

В распоряжении имелась батарея 7.4 вольта. В схеме нужно было предусмотреть два стабилизатора напряжения из 7.4 в 5 вольт с током нагрузки три ампера для питания сервоприводов и один стабилизатор напряжения из 7.4 в 5 вольт с током нагрузки один ампер для питания остальной схемы. Для решения данной задачи были использованы китайские стабилизаторы KIS-3R33S, так как они тоже уже имелись у меня.

Hexapod-робот, управляемый с ПК - 9

Далее была разработана плата.

Hexapod-робот, управляемый с ПК - 10

Сделана лазерно-утюжным методом, вытравлена в хлорном железе и залужена сплавом Розе

Hexapod-робот, управляемый с ПК - 11

Далее все было аккуратно напаяно.
В процессе сборки было решено добавить еще и камеру. В итоге получилось вот это.

Hexapod-робот, управляемый с ПК - 12

Дальше были написаны программы для микроконтроллеров и простенькая программа для ПК. Интерфейс программы для ПК выглядит следующим образом, с помощью этой программы осуществляется управление роботом и отладка его движений.

Hexapod-робот, управляемый с ПК - 13

Удержание горизонта еще не готово, поэтому в программе отображаются лишь углы наклона. Также в программе еще не прикручена трансляция видео, видео можно посмотреть только с помощью стандартной программы, шедшей в комплекте с камерой.

Ну вот на этом пока все, робот ходит и останавливается перед препятствиями, на видео робот идет не совсем прямо, потому что его ноги проскальзывают, необходимо их снабдить чем то цепляющимся.

Автор: Nikcherr

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js