Робот-змея, напечатанный на 3D-принтере: 7 шагов (с изображениями)
Робот-змея, напечатанный на 3D-принтере: 7 шагов (с изображениями)
Anonim
Image
Image
Запчасти
Запчасти

Когда я получил свой 3D-принтер, я начал думать, что я могу с ним сделать. Я много чего напечатал, но хотел сделать целую конструкцию с помощью 3D-печати. Затем я подумал о создании робота-животного. Моей первой идеей было сделать собаку или паука, но многие люди уже сделали собак и пауков. Я думал о другом, а потом я подумал о змее. Я разработал целую змею в fusion360, и она выглядела потрясающе, поэтому я заказал необходимые детали и построил ее. Считаю, что результат отличный. На видео выше вы можете увидеть, как я это сделал, или вы можете рассказать об этом ниже.

Шаг 1: Детали

Запчасти
Запчасти
Запчасти
Запчасти

Вот что нам понадобится:

  • 8 микро-серводвигателей
  • Некоторые детали, напечатанные на 3D-принтере
  • Винты
  • 3, 7V литий-полимерный аккумулятор
  • Некоторые детали для изготовления печатной платы (atmega328 SMD, конденсатор 100 нФ, конденсатор 470 мкФ, резистор 1, 2 кОм, некоторые золотые штыри). Очень важно сделать печатную плату для этого проекта, потому что, когда вы соедините все на макетной плате, ваша змея не сможет двигаться.

Шаг 2: 3D-модели

3D модели
3D модели

Выше вы можете увидеть визуализацию этой змеи. Файлы (.stl) вы можете скачать здесь или на моем сайте. Немного информации о настройках печати:

Для печати сегментов и головы рекомендую добавить плот, опоры для всех объектов не нужны. Заполнение не так важно, потому что все модели очень тонкие и есть почти только периметр, но я использую 20%.

Тебе нужно:

8x snake_segment

1x змеиная голова

1x snake_back

Шаг 3: печатная плата

Печатная плата
Печатная плата

Ниже вы можете найти файлы Eagle (.sch и.brd), просто загрузите их, открыв в Eagle, перейдите к просмотру доски, нажмите ctrl + p и распечатайте. Если вы не знаете, как сделать печатную плату, вы можете узнать об этом здесь:

www.instructables.com/id/PCB-making-guide/

На схеме написано, что микроконтроллер atmega8, но это atmega328, он имеет такую же распиновку, но нет atmega328 в eagle.

Шаг 4: Сборка

Сборка
Сборка

Распечатав все детали, вы можете собрать их вместе. Поместите сервопривод в один из сегментов, прикрутите его к сегменту винтом M2, а затем прикрутите следующий сегмент к рычагу сервопривода. Если вы не знаете, как его собрать, можете посмотреть видео.

Шаг 5: Подключение

Связь
Связь

На фото выше видно, где и что подключать. Я также отметил, где находится контакт MISO, MOSI и SCK, который вам нужен для записи загрузчика. Подробнее о записи загрузчика вы можете прочитать на официальной странице Arduino здесь:

www.arduino.cc/en/Tutorial/ArduinoToBreadboard

Вам понадобится программатор или другой Arduino, чтобы записать его. После записи вы можете запрограммировать его с помощью конвертера USB-UART или того же самого программатора, который вы используете для записи загрузчика.

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

На плате нет стабилизатора, поэтому максимальное напряжение, которое вы можете подключить к нему, составляет 5 В.

Atmega, как и серводвигатели, будут работать с 3,7 В Li-Po, и я рекомендую использовать его для этого проекта, потому что он очень маленький и очень мощный. Вы можете найти его в старой радиоуправляемой игрушке (я нашел свой в старом радиоуправляемом вертолете).

Я добавил на плату контакты RX и TX для программирования, но также для будущего расширения вы можете подключить сюда датчики или, например, модуль bluetooth.

Шаг 6: программа

Программа использует программную библиотеку сервоприводов для управления 8 сервоприводами одновременно. Это просто увеличение и уменьшение положения сервопривода с небольшим сдвигом для имитации волны. Благодаря этому движению он выглядит как червяк, но при этом движется более эффективно.

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

Вы также можете изменить максимальное и минимальное значение, чтобы сделать движения больше.

#включают

SoftwareServo servo1, servo2, servo3, servo4, servo5, servo6, servo7, servo8;

int b_pos, c_pos, d_pos, e_pos; Строковая команда; int разница = 30; int angle1 = 90; int angle2 = 150;

int ser1 = 30;

int ser2 = 70; int ser3 = 110; int ser4 = 150;

int минимум = 40;

int maximum = 170;

bool increment_ser1 = истина;

bool increment_ser2 = истина; bool increment_ser3 = истина; bool increment_ser4 = истина;

bool increment_ser5 = истина;

int ser5 = 90;

bool increment_ser6 = истина;

int ser6 = 90;

void setup () {

Serial.begin (9600); servo1.attach (3); servo2.attach (5); servo3.attach (6); servo4.attach (9); servo5.attach (10); servo6.attach (11); servo7.attach (12); servo8.attach (13);

servo1.write (90);

servo2.write (130); servo3.write (90); servo4.write (100); servo5.write (90); servo6.write (90); servo7.write (90); servo8.write (90);

}

void loop () {

вперед(); SoftwareServo:: refresh (); }

void forward () {

if (increment_ser1) {

ser1 ++; } else {ser1--; }

if (ser1 максимум) {

increment_ser1 = ложь; }

servo1.write (ser1);

if (increment_ser2) {

ser2 ++; } else {ser2--; }

if (ser2 максимум) {

increment_ser2 = ложь; }

servo3.write (ser2);

if (increment_ser3) {

ser3 ++; } else {ser3--; }

if (ser3 максимум) {

инкремент_ser3 = ложь; }

servo5.write (ser3);

if (increment_ser4) {

ser4 ++; } else {ser4--; }

if (максимум ser4) {

инкремент_ser4 = ложь; }

servo7.write (ser4);

задержка (6);

}

Шаг 7: Заключение

Заключение
Заключение
Заключение
Заключение

Я считаю, что этот робот выглядит очень хорошо. Я хотел сделать робота-змею, но в итоге сделал что-то похожее на червя. Но работает очень красиво. Если у вас есть вопросы, оставьте комментарий или напишите мне: [email protected]

Вы также можете прочитать об этом роботе здесь, на моем сайте (на польском языке):

nikodembartnik.pl/post.php?id=3

Этот робот занял первое место на фестивале роботов в Хожуве в категории фристайл.

Конкурс робототехники 2016
Конкурс робототехники 2016
Конкурс робототехники 2016
Конкурс робототехники 2016

Второй приз конкурса робототехники 2016