Pull to refresh

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

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

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

image

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



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



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

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

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



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



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



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

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



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

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

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



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



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



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



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



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

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



Tags:
Hubs:
+52
Comments 10
Comments Comments 10

Articles