Приветствую Вас, Гость
Главная » 2013 » Июль » 19 » Z-RoboDog - собака-робот своими руками.
Z-RoboDog - собака-робот своими руками.
Проекты | 19.07.2013 в 19:37 | от: ZSeregaA | Просмотров: 17859 | Комментариев: 26 | Рейтинг: 4.7 / 13
Хочу показать и рассказать о своем первом самодельном роботе Z-RoboDog. Также поделится всеми материалами, чертежами и файлами, используя которые вы сами сможете собрать такую собачку. Данный робот может ходить вперед, и останавливаться перед препятствиями. Возможно в будущем добавлю дополнительные сервоприводы и ступни. Ну, а сейчас выкладываю всё, что сделано в данной версии.

Z-RoboDog - это мой первый эксперимент по созданию роботов. Всё придумывал и делал самостоятельно. В первую очередь проект должен был быть максимально недорогим. Корпус создавал без всяких расчетов и балансировки, основное требование - минимальные габариты. Итак давайте посмотрим как собирается этот робот и что он может.

Что вам понадобиться для сборки Z-RoboDog:

1. Набор деталей корпуса и лап из оргстекла 1.5 мм.
2. Arduino Mega или Uno (используется Mega) - 1 шт.
3. Микро сервопривод (используются TowerPro SG90) - 8 шт.
4. Ультразвуковой дальномер HC-SR04 - 1 шт.
5. Аккумулятор размером 18560, 3.7V (используются TrustFire 2400 mAh) - 2 шт.
6. Держатель батарей размера 18560 (используется переделанный контейнер - упаковка) - 1 шт.
7. Стойка для печатной платы 25 мм. (используется вот такие стойки) - 4 шт.
8. Часть макетной платы.
9. Провода-перемычки.
10. Винт DIN 7985 M2, 8 мм. - 18 шт.
11. Гайка DIN 934 M2 - 18 шт.
12. Шуруповерт или дрель.

Сборка робота Z-RoboDog:

1. Корпус робота изготовлен из прозрачного оргстекла толщиной 1.5 мм. Все детали вырезаны лазером по чертежу сделанном в программе CorelDraw (скачать файл z-robodog_2_4_7_s.cdr).


На фотографии детали с защитной пленкой голубого цвета.


2. Склейте корпус секундным клеем. Прочности склеенного корпуса будет вполне достаточно. При сборке учитывайте положение отверстий на нижней крышке (смотрите на фото), а лучше приложите плату и убедитесь что всё совпадает. Боковые стенки крепите так, чтобы отверстия для проводов находились ближе к задней стенке. Более широкое отверстие на задней стенке предназначено для USB провода, учтите это при сборке.




3. Отметьте и  просверлите отверстия (сверло 2 мм.). Закрепите сервоприводы в корпусе используя болты и гайки (пункты 10, 11 из списка). Валы передних сервоприводов должны быть ближе к передней стенке. Валы задних сервоприводов ближе к задней стенке.





4.1. Соберите лапы. Возьмите верхние части лап (с двумя отверстиями). Разметьте середину детали. Подставив качалку сервоприводов отметьте места крепления шурупами и просверлите отверстия (сверло 1.5 мм). Закрепите качалки так, чтобы шляпки шурупов были со стороны посадочных мест. Качалки закрепите с разных сторон и посадочные места для валов до были в противоположном направлении.



4.2. Отметьте и просверлите отверстия для крепления сервоприводов (сверло 2 мм). Валы закрепленных сервоприводов должны находиться ближе к узкому краю лапы.



4.3. Чтобы лапы не проскальзывали наклейте на них например резину. Но переднюю часть лапы заклеивать не стоит, при шагах собачка может зацепляться и застревать. Я наклеил полосочки липучего коврика из машины.



5. Отметьте и просверлите отверстия для крепления ультразвукового дальномера (сверло 2 мм). Установите дальномер, ножки контактов должны быть направлены вверх.



6. Установите держатель батарей так, чтобы в корпусе он располагался по середине. Закрепите плату Arduino и подключите все компоненты. Для разветвления питания использовалась часть макетной платы.



Настройка и запуск робота Z-RoboDog:

На этом этапе вам придется самостоятельно установить лапы, чтобы можно было откалибровать шаги. Основная проблема в качалках, которые крепятся на валы только в определенных положениях. А также сами сервоприводы могут отличаться рабочими градусами.

Вот как у моей собачки выглядят лапы в крайних точках углов сервопривода (переменные zs1, zs2, zs3 и т.д). Постарайтесь лапы выставить как на фото. Визуально лапы должны быть в одинаковых положениях.



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



Программная часть Z-RoboDog:

Код очень простой, везде добавлены комментарии. Все движения находятся в массиве, чтобы не запутаться в цифрах я использовал переменные для каждого сервопривода. Например, s1 - сервопривод 1, s2 - сервопривод 2 и так далее. Для упрощения понимания предлагая вам вот такую схему.



На схеме пронумерованы лапы, каждая часть лапы ассоциируется с сервоприводом который её двигает. Также для каждой лапы указаны направления движения, знаки плюс и минус указывают куда будет двигаться лапа при увеличении или уменьшении угла. Исходными углами выбраны углы основной стойки (s1, s2, s3 и т.д.). Например если вам нужно вытянуть 2-ю лапу вы должны увеличить угол s3 и s4, в массиве это будет выглядеть так {s1,s2, s3+100,s4+50, s5,s6, s7,s8}. Вот полный скетч. Код писался в силу моих познаний, сообщите если я выбрал не правильный путь реализации. Посмотреть код можно тут Z_RoboDog_v2_4_07_Stabil.ino.txt

Видео проекта Z-RoboDog:

Все видео можно посмотреть тут: плейлист Z-RoboDog

 


Все файлы проекта Z-RoboDog:

Чертеж деталей робота, файл z-robodog_2_4_7_se.cdr в архиве СКАЧАТЬ
Чертеж деталей робота, файл z-robodog_2_4_7_se.pdf в архиве СКАЧАТЬ
Скетч, файл Z_RoboDog_v2_4_07_Stabil.ino в архиве СКАЧАТЬ
Оцените Материал!
Рейтинг: 4.7 / 13
Понравилась запись? - поставь лайк.

Это может быть вам интересно:
Всего комментариев: 26
avatar
18 Sergio1919 • 08:22, 18.01.2017
Главное, как я понимаю, развязать питание серваков и ардуины. При двух акумах нужен стабилизатор на питалово серв (кр142ен22а) и напрямую на плату ардуинки. Я прав??? Иначе будет взаимное влияние и сбой проги.
avatar
0
19 ZSeregaA • 22:45, 18.01.2017
Да, верно.
avatar
20 Sergio1919 • 11:40, 19.01.2017
Хотелось бы взглянуть на Вашу схему стабилизатора по питанию!!!
avatar
21 Sergio1919 • 11:19, 20.01.2017
Господа, автора своим вопросом поставил в тупик. Подскажите схему стабилизатора питания для робота-собаки.
avatar
0
22 ZSeregaA • 21:35, 21.01.2017
Да, вопрос очень сложный  yes  Но я знаю на него ответ. Вам можно питать ардуино и сервы от одного источника питания но через преобразователь напряжения, например, вот такой UBEC или такой GW1584. Но для мощных серв они могут давать просадку. Аккумуляторы подключаете к преобразователю который на выходе будет выдавать 5В, а преобразователь + к 5V, - к GND на ардуино. И также, от преобразователя + и - к проводам на серво. Таким образом через преобразователь будут запитаны и ардуино и сервы. Одного UBEC для питания ардуино и серво собачки точно хватит.
avatar
23 Sergio1919 • 10:53, 30.01.2017
Вот "схема" подключения
avatar
24 Sergio1919 • 10:54, 30.01.2017
Как вставить картинку?
avatar
0
25 ZSeregaA • 21:22, 31.01.2017
Загрузите картинку на облачный сервис, например на Яндекс Диск и вставьте ссылку на картинку в комментарий.
avatar
26 Sergio1919 • 08:43, 01.02.2017
Загрузил http://robocontroller.ru/photo/  Почему то файл MG995_servo_..... не активен.
avatar
16 ivontyevsem • 20:14, 05.01.2017
Здравствуйте, я собрал такую же собаку, вроде подключил всё правильно, скетч загрузил, а не работает, сервомашинки дёргаются 1 раз при включении питания.
avatar
0
17 ZSeregaA • 14:47, 08.01.2017
Причин может быть много, от неправильного подключения, до питания. Нужно разбираться начиная с подключения, затем питание, а потом уже код.
avatar
15 kozochkinandreyka • 19:52, 03.12.2016
Помогите,выложите пожалуйста подробную сборку внутренностей робота.
avatar
13 dimamyakinkov • 16:40, 19.11.2016
Решил , сделать аналог , будьте добры помогите с распиновкой серв , 2 ломаем голову .....
avatar
0
14 ZSeregaA • 17:54, 19.11.2016
Посмотрите код для собачки, там в коде есть вот такой пункт

// Пины сервоприводов
  servo1.attach(2);
  servo2.attach(3);
  servo3.attach(4);
  servo4.attach(5);
  servo5.attach(6);
  servo6.attach(7);
  servo7.attach(8);
  servo8.attach(9);

Цифры в скобках это пины для сервоприводов. Название servo1 это s1,  servo2 это s2 и так далее, смотрите на последней картинке в этой инструкции.
avatar
10 Sergio1919 • 21:37, 07.11.2016
Здравствуйте, попытался файл cdr программой Inkscape. Не выходит . Можно выложить файл в pdf?
avatar
0
11 ZSeregaA • 23:16, 10.11.2016
Добавил ссылку на скачивание в формате .pdf
avatar
12 Sergio1919 • 22:19, 11.11.2016
Спасибо!!!
avatar
9 Discare • 12:52, 04.06.2016
Класс!!! Еще и сервы сам-бы сделал как тут https://youtu.be/9kCSTVYnCh4 вообще было-бы бомба)))
avatar
7 daniilkomorov • 16:17, 04.09.2015
А скажите пожалуйста , какие углы поворота у серв  ?
avatar
0
8 ZSeregaA • 21:51, 04.09.2015
Уже не помню. Было давно, делал ещё даже не понимая как это работает. Посмотрите в коде, там все движения в массивах. Но думаю проще написать новый код.
avatar
5 hondio • 21:22, 09.07.2015
Товарищ автор и создатель пса! Вы еще на связи? Данной тематикой увлекаетесь не смотря на прошедшее время? Просто есть мысль повторить(хоть и навыки почти на нуле) но сильно развить идею до вполне "полноценного" домашнего животного.Тоесть с заложенной моделью поведения скажем кота или маленького щенка.
avatar
0
6 ZSeregaA • 21:59, 21.07.2015
Да я ещё занимаюсь этим хобби. Не всё так просто как кажется. Создать то, что вы хотите, не так то и просто. Но если есть желание, изучайте материалы по теме и создавайте свои поделки.
avatar
3 elektify • 13:44, 09.02.2015
Добрый день, не подскажите какую литературу читали перед написанием кода, просто у вас там многоуровневые массивы, а я как не крутился, к своему четвероногу так и не приспособил, на ровном месте ошибки вылезают, вобщем с массивами у меня не заладилось.
avatar
0
4 ZSeregaA • 18:43, 10.02.2015
Делал робота в самом начале моих познаний Ардуино и программирования на их языке. Я не электронщик и не программист. Код писал ничего не зная и не понимая. Суть кода простейшая, движения серво для каждой лапы записаны в массивах (набор чисел). Числа в массивах перебираются последовательно с каждым циклом. Точно объяснить не могу. Лучше вам самому написать свою программу.
avatar
1 Денис • 22:48, 16.11.2013
Прикольно получилось. Хочу тоже повторить вашу собачку. Думаю также добавить голову поворачивающуюся на сервоприводе перед препятствием для поиска маршрута для обхода препятствия, и добавить собачке голос

Может подскажет кто, как это реализовать програмно. В программировании пока не силен... Только изучаю еще программирование
avatar
2 ZSeregaA • 22:25, 22.11.2013
Если соберете собачку, постараюсь вам помочь с кодом.
avatar