Tabla de contenido:

Robot serpiente impreso en 3D: 7 pasos (con imágenes)
Robot serpiente impreso en 3D: 7 pasos (con imágenes)

Video: Robot serpiente impreso en 3D: 7 pasos (con imágenes)

Video: Robot serpiente impreso en 3D: 7 pasos (con imágenes)
Video: Robot Hexapodo Con Servos, Bluetooth, Impreso 3D 2024, Noviembre
Anonim
Image
Image
Partes
Partes

Cuando obtuve mi impresora 3D, comencé a pensar qué podía hacer con ella. Imprimí muchas cosas pero quería hacer una construcción completa usando impresión 3D. Entonces pensé en hacer un animal robot. Mi primera idea fue hacer un perro o una araña, pero mucha gente ya hizo perros y arañas. Estaba pensando en algo diferente y luego pensé en serpiente. Diseñé una serpiente completa en fusion360, y se veía increíble, así que pedí las piezas necesarias y construí una. Creo que el resultado es genial. En el video de arriba puedes ver cómo lo hice o puedes leerlo a continuación.

Paso 1: Partes

Partes
Partes
Partes
Partes

Esto es lo que necesitaremos:

  • 8 micro servomotores
  • Algunas piezas impresas en 3D
  • Empulgueras
  • 3, batería li-po de 7 V
  • Algunas partes para hacer PCB (atmega328 SMD, capacitor 100nF, capacitor 470μF, resistor 1, 2k, algunos goldpins). Es muy importante hacer PCB para este proyecto porque cuando conecta todo en la placa de prueba, su serpiente no podría moverse.

Paso 2: modelos 3D

Modelos 3D
Modelos 3D

Arriba puede ver la visualización de esta serpiente. Archivos (.stl) que puedes descargar aquí o en my thingiverse. Alguna información sobre la configuración de impresión:

Para la impresión de segmentos y cabezal recomiendo agregar balsa. Los soportes son innecesarios para todos los objetos. El relleno no es tan importante porque todos los modelos son muy delgados y casi solo hay perímetros, pero yo uso el 20%.

Necesitas:

8x segmento_de_serpiente

1x cabeza de serpiente

1x espalda de serpiente

Paso 3: PCB

tarjeta de circuito impreso
tarjeta de circuito impreso

A continuación puede encontrar archivos eagle (.sch y.brd), simplemente descárguelos abiertos en eagle, vaya a la vista de tablero, haga clic en ctrl + py imprímalo. Si no sabe cómo hacer PCB, puede leerlo aquí:

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

En el esquema está escrito que el microcontrolador es atmega8 pero es atmega328 tiene el mismo pinout pero no hay atmega328 en eagle.

Paso 4: Montaje

Montaje
Montaje

Después de imprimir todas las piezas, puede ensamblarlas. Coloque el servo en uno de los segmentos, atorníllelo al segmento con el tornillo M2 y luego atornille el siguiente segmento al brazo del servo. Si no sabe cómo montarlo, puede ver el vídeo.

Paso 5: Conexión

Conexión
Conexión

En la foto de arriba puede ver dónde y qué conectar. También marqué dónde está el pin MISO, MOSI y SCK que necesita este pin para grabar el gestor de arranque. Puede leer más sobre cómo grabar el gestor de arranque en la página oficial de arduino aquí:

www.arduino.cc/en/Tutorial/ArduinoToBreadboard

Necesita programador u otro arduino para grabarlo. Después de grabarlo, puede programarlo utilizando el convertidor USB-UART o el mismo programador que utiliza para grabar el gestor de arranque.

Después de cargar el programa, puede conectar el servo a la placa. El último servo (al final de la serpiente) es el servo 1 y el servo 8 es el más cercano a la cabeza de la serpiente.

No hay ningún estabilizador en la placa, por lo que el voltaje máximo al que puede conectarse es de 5 V.

Tanto Atmega como los servomotores funcionarán con 3, 7V Li-Po y recomiendo usarlo para este proyecto porque es muy pequeño y muy poderoso. Puedes encontrarlo en un viejo juguete RC (encontré el mío en un viejo helicóptero RC).

Agregué a la placa los pines RX y TX para la programación, pero también para una futura expansión, puede conectarse aquí a los sensores o, por ejemplo, módulo bluetooth.

Paso 6: Programa

El programa utiliza una biblioteca de servos de software para controlar 8 servos a la vez. Es simplemente aumentar y disminuir la posición del servo con un pequeño cambio para imitar la onda. Gracias a este movimiento parece un gusano pero también se mueve de manera más eficiente.

Si lo desea, puede cambiar el retardo al final del ciclo. Este retraso controla la velocidad de la serpiente. Entonces, si le da un valor más pequeño, se moverá más rápido, un valor más alto = se moverá más lento. Di 6 porque esta es la velocidad más alta a la que la serpiente no se da vuelta. Pero puedes experimentar con esto.

También puede cambiar el valor máximo y mínimo para hacer movimientos más grandes.

#incluir

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

int b_pos, c_pos, d_pos, e_pos; Comando de cadena; int diferencia = 30; int ángulo1 = 90; int ángulo2 = 150;

int ser1 = 30;

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

int mínimo = 40;

int máximo = 170;

bool increment_ser1 = true;

bool increment_ser2 = true; bool increment_ser3 = true; bool increment_ser4 = true;

bool increment_ser5 = true;

int ser5 = 90;

bool increment_ser6 = true;

int ser6 = 90;

configuración vacía () {

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);

}

bucle vacío () {

hacia adelante(); SoftwareServo:: refrescar (); }

anular adelante () {

if (increment_ser1) {

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

if (ser1 máximo) {

increment_ser1 = falso; }

servo1.write (ser1);

if (increment_ser2) {

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

if (ser2 máximo) {

increment_ser2 = falso; }

servo3.write (ser2);

if (increment_ser3) {

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

if (ser3 máximo) {

increment_ser3 = falso; }

servo5.write (ser3);

if (increment_ser4) {

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

if (ser4 máximo) {

increment_ser4 = falso; }

servo7.write (ser4);

retraso (6);

}

Paso 7: Conclusión

Conclusión
Conclusión
Conclusión
Conclusión

Creo que este robot se ve muy bien. Quería hacer un robot serpiente, pero finalmente hice algo que se parece a un gusano. Pero funciona muy bien. Si tienes alguna duda deja un comentario o escríbeme: [email protected]

también puede leer sobre este robot aquí en mi sitio web (en polaco):

nikodembartnik.pl/post.php?id=3

Este robot ganó el primer premio en el Festival de Robots de Chorzów en la categoría de estilo libre.

Concurso de robótica 2016
Concurso de robótica 2016
Concurso de robótica 2016
Concurso de robótica 2016

Segundo premio en el Concurso de Robótica 2016

Recomendado: