top of page
Adal

Mi primer robot



       Hola, estoy muy ansioso por escribir esta entrada, ya que en ella podre poner todo el trabajo que esta detrás de un robot, el cual he querido construir casi desde 0, así que no se diga mas y comencemos.

Nota!

La entrada se ira actualizando según pueda subir mis resultados.

Contexto:

     Desde hace algunos años había querido hacer algo que involucrara movimiento y señales inalambicaras, debido a mi poco tiempo libre y a mis conocimientos superbasicos de programación, no había podido hacer nada, ahora con dos cursos de programación y la clase de Ken kenscourses.com alfin he podido hacer lo que había pensado.

Comencemos!

       Antes de salir de la prepa me compre una impresora 3D, una Prusa I3, si están interesados en crear una este link muestra como crear una de forma fácil.

Desde antes de comprar la impresora había estado buscando bancos de base de modelos, una pagina que encontré y me gusto fue Thingiverse.com

Ya que todos los modelos son gratuitos y de uso libre, es una comunidad abierta en la web, existe una categoria de robotica de donde encontré un modelo que me gusto y le vi potencial para modificarlo a mi gusto.

Thingiverse

En sus instrucciones viene todo lo que se necesita, desde partes físicas, impresiones y el código, pero si tomo todo lo que me ofrecen, donde queda la parte de diversión donde modelas y te emocionas cuando unas cuantas líneas de código funcionan, así que solo tomare la esencia básica del diseño, porque meencanto encuanto, se me vinieron a la mente mil y una posibles modificaciones. Todas mis ideas las tengo anotadas en una libreta, por motivos de tiempo no he podido desarrollar todas las actualizaciones, por el momento solo tengo la versión V.0.3 y espero tenerlas todas para la V.2.0 y seguir mejorándolo.

Modificaciones:

       Lo primero que note fue que las cabezas de los tornillos así como sus tuercas quedaban fuera del modelo, entonces decidí modificaras para que quedaran dentro de la estructura y se escondieran, dándole así una imagen más limpia, los archivos que el proporciona están en FreeCAD, pero como no se trabajar con ese formato, importe los STL a Google Sketchup ya que este lo tengo en mi computadora y se como usarlo

Antes de realizar las modificaciones a las partes tenía que saber la medida real de las tuercas y la flecha del servo, por lo que hice una clase de calzas para verificar que todo quedara en su lugar, además de si alguien más quisiera imprimirlo, con esto está seguro que las tuercas y servos que él tiene son similares a los míos.

Calza de flecha de servo

Calza vista radiografía

Calza de tuercas y tornillo

Calza vista radiografía

Comparación del antes y después de la modificación

Original

Modificación para las tuercas

Original - Vista radiografía

Vista radiografía

Esta parte del robot la deje igual porque no implica muchos cambios.

Pieza original

Rotada y con lineas de centro

Vista radiografía

Vista radiografía

Impresión

Sección rápida de cómo se utiliza una impresora 3D y algunos consejos propios.

       Mi impresora tiene una boquilla de 3mm, la utilizo para obtener detalles más finos, pero hasta una boca de 5mm puede tener resultados similares,

Tipo de "nozzle"

el filamento que tengo es ABS, lo compre para hacer piezas de mayor duración y el gris por ser color base, también he trabajado con PLA y encontré resultados similares, cabe recalcar que el ABS tiene mejor acabado y resistencia, pero es mucho más difícil de trabajar con él, por lo que si eres nuevo en 3D primero trabaja un poco con PLA antes de imprimir piezas más complicadas.

Comparación entre PLA y ABS

El infill define qué porcentaje de la pieza quieres que este llena de material, un 0% significa solo los bordes y un 100% es una pieza sólida, mi recomendación es trabajar con el 5% para los modelos de prototipo con este relleno nos permite una solidez media como deformidades leves sin desperdiciar tanto filamento, en este caso yo utilice el 15% de infill para hacerlo resistente y liviano, normalmente estoy acostumbrado a usar el 25% de relleno, la forma de relleno fue rectilinear (los tipos y forma de relleno son temas para otra ocasión).

Una de las desventajas de la impresión FFF fused filament fabrication (fabricación con filamento fundido) es que no puedes imprimir nada en el aire, 

me explico, como la impresión parte de una cama plana hacia arriba y va imprimiendo capa por capa hacia arriba teóricamente en la capa 0 se puede imprimir todo, pero en la capa 1 debe de existir algo debajo de esta para poder estar ahí, imaginemos que vas a imprimir un modelo de ti, de forma que estés parado y con tus brazos separados del cuerpo, la impresora en la capa 0 imprimirá solo tus plantas de los pies, de las capas 1 a 5 hasta tu tobillo y así consecutivamente, pero llegara una capa donde se tendrán que imprimir las yemas de tus dedos y estas de donde se van a apoyar si tus brazos aún no están impresos y aún menos pegados a tu torso, aquí es donde entran los soportes,

Los soportes son estructuras de apoyo removibles las cuales nos ayudan a imprimir en lugares donde la capa anterior no había nada o bien reforzar las estructuras que ya teníamos, hay formas de evitar utilizarlas como crear ángulos menores de 45° (algunas veces puede ser hasta 50°). Porque los menciono, en una parte de nuestro robot necesitaremos utilizar algunos soportes.

Yo empecé imprimiendo esta pieza porque es la que no necesito cambios, su impresión es rápida, las cuatro piezas las hice de una vez porque no tienen sentido (derecha o izquierda) y así terminamos más rápido

Sistema operativo

Ahora que les he estado hablando de la parte física me pasaré a la parte del software, que al fin y acabo esto es de lo que trata la materia.

Los encarados de hacer mover el robot son unos motores llamados servos o servomotores, los cuales a diferencia de los motores ordinarios, estos pueden girar ciertos grados específicos y además mantener su posición, gracias al ancho de pulso (PWM) que se le envié al pin de control.

La imagen de arriba corresponde a los anchos de pulso y sus respectivas posiciones en servos estándar, en el mercado existen dos modelos de servos que se consideran de uso común: el Sg90 y el Mg90, que pertenecen a la categoría de micro-servos,  

La IDE de Arduino se compone de dos partes principales el void setup() donde se declaran las variables por única y primera vez, y la segunda parte en el void loop() es donde el código correrá en un loop infinito

IDE - Arduino

Lo primero que debemos de incluir la librería servo.h, la cual nos ayudara a controlar la posición de nuestros servos, de otro modo tendríamos que utilizar otros comandos, después declararnos servos y sus nombres, yo por practicidad los declare por números partiendo de izquierda a derecha en sentido horario viendo desde arriba al robot, así los números impares quedaron para los servos encargados de mover las patas de arriba abajo y los pares, encargados del movimiento de izquierda a derecha

-Comunicación por Bluetooth-

-Prueba de funcionamiento-

e

Paginas de ayuda:

  • Arduino.cc

  • Archivos

  • Github.com/Adals20/Cuadrupedo

  • Thingiverse

  • Thingiverse.com/thing:1265766

Programas necesarios:


  • Arduino IDE

  • Sketchup.com

15 visualizaciones0 comentarios
bottom of page