Herramientas de usuario

Herramientas del sitio


Barra lateral

Traducciones de esta página:

Página principal

Análisis y comparativas

Eventos Guías Herramientas Información de interés Proyectos > Usuarios Varios Wiki Privado

No hay páginas en esta sección.

old admin

No hay páginas en esta sección.

proyectos:sapoconcho

Sapoconcho

sapoconcho
1. f. (galego) O sapoconcho (Emys orbicularis) é unha tartaruga da familia Emydidae e única representante do xénero Emys, que se atopa no centro e sur de Europa, Asia occidental, Norteamérica e a zona mediterránea de África.

image.jpegSapoconcho es un proyecto de robot educativo pensado para chavales algo mayores (tentativamente a partir de 12 años) y con una filosofía clara: imprimible (printbot), versátil, sencillo y barato. Que esté pensado para esa edad no quiere decir que sea excluyente. Todo lo contrario, creemos que entre sus diferentes versiones puede usarse entre 5 y, bueno, quien sabe. No hay que poner límites a la providencia.

Estas son las ideas básicas:

  • Proyecto abierto y documentado aquí y en Github.
  • Formato tortuga: chasis circular, dos ruedas en oposición (differential drive) y una rueda loca (ball caster).
  • Pequeño en tamaño, para que los circuitos/laberintos/jaulas/dohyos por los que se moverá lo sean también.
  • Micromotores de corriente continua con diferentes relaciones de reducción a elegir, y controlador en puente H.
  • Modelo básico inicial con sensores de líneas/bordes y de distancia por ultrasonidos.
  • Ampliaciones con módulos bluetooth, infrarrojos y acelerómetros como posibilidad inmediata; aunque la idea general es la de un robot autónomo.
  • Posibilidad de chasis imprimible, con placa perforada o con PCB.
  • Diseño y código 100% ábierto con licencia libre. Flexibilidad de plataformas hardware y lenguajes de programación.
  • Programas base de ejemplo para siguelíneas, laberintos, barrendero, sumo.

Historia

“Yet Another Training Robot”.

Sabemos que lo que hacemos no es ninguna novedad. Este tipo de robots se puede encontrar en modelos comerciales y en muchos tutoriales a lo largo y ancho de la web. Sin embargo tenemos una experiencia de varios años en Bricolabs que no queremos que se pierda. Llevamos tiempo cocinando la idea de crear un proyecto paralelo en la forma a Escornabot para el siguiente segmento de edad, aunque por supuesto esto no es excluyente.

  • A lo largo del año 2013 participamos en la iniciativa KiiCS de los Museos Científicos de A Coruña que se desarrolló en nuestra casa de acogida, la Domus. En estos talleres se utilizaron unos kits comerciales y que tienen algunas limitaciones además de su precio. Los destinatarios en aquella ocasión eran adolescentes y después se extendió a profesores de tecnología, que se han mantenido en otros posteriores. Además de diseñar y probar los cursos se crearon librerías de Arduino para el control de los motores con instrucciones sencillas. Una buena experiencia que nos sirvió para ver qué cosas funcionan bien en un curso y resultan entretenidas y divertidas.
  • Casi al mismo tiempo fue surgiendo el proyecto Escornabot y el buen funcionamiento de éste nos anima a buscar un proyecto complementario dirigido a un segmento de edad mayor y a intentar otros objetivos: programar los robots con código escrito. Empezar editando los programas que ya existen, y poco a poco animarse a crear otras funciones y -por qué no- añadir otros módulos electrónicos.
  • Además en los últimos años varios miembros de Bricolabs hemos hecho nuestros propios robots 'tortuga' con muchas funciones diferentes. También hemos seguido experimentando con diferentes plataformas de hardware y diferentes lenguajes de programación.

La idea es poner orden en toda la documentación que ya existe y que aparezca en esta wiki. De ese modo se pretende poner en un único sitio toda la información necesaria para hacer dos cosas:

  • Construir tu propio robot paso a paso, y a continuación programarlo y participar en nuestros concursos y combates.
  • Un curso completo autocontenido para que cualquiera puede ofrecerlo, modificarlo y extender la cadena del conocimiento hasta el infinito y más allá.

Para que todo esto funcione sabemos que el precio puede ser una limitación, por eso nos comprometemos a buscar los componentes más económicos posibles, y rebajar a la mitad o menos el coste de un modelo comercial. Procuraremos enlazar a sitios donde poder comprar los componentes. Y lo haremos para quien necesita justificarlo con factura y también para quien puede comprar en otros sitios, fundamentalmente en China.

La documentación, tal y como decimos en la presentación deberá servir también para montar tu robot con otras piezas y aprovechar el conocimiento con otras aplicaciones. Sin embargo nos centraremos en un robot pequeño para que los espacios en los que se mueva no tengan que ser muy grandes y no nos acaben echando de casa.

La estructura de esta entrada de la wiki es cronológicamente inversa. En la parte de arriba podrás ver las actualizaciones más recientes del proyecto y abajo cómo empezó todo, cuando no teníamos impresión 3D ni placas PCB.

Sapoconcho 2021. The Expanse

Los modelos iniciales del proyecto utilizaban micromotores de tipo N20 en un chasis de 90mm de diámetro. Aunque sigue siendo un diseño válido, en 2021 hemos creado un nuevo chasis un poco más grande para poder expandir el ecosistema.

El nuevo chasis utiliza motores amarillos y tiene 120mm de diámetro, manteniendo el formato tortuga. Sabemos que 'motor amarillo' es un término muy genérico, pero si estás metido un poco en el mundo maker/DIY o haces una búsqueda rápida en tu plataforma favorita verás a qué nos referimos. Es un tipo de motor de corriente continua muy usado en todo tipo de proyectos y kits, muy fácil de conseguir y muy económico. Esos motores suelen traer una rueda pero no es necesario que la compres, utilizaremos una impresa de menor tamaño con una goma para que agarre. Además de los nuevos motores, el nuevo tamaño permite utilizar un pack de 4 pilas AA (y añadirle un módulo step-up si es necesario) o una batería recargable 18650.

Cuando tengan motores Epstein en Aliexpress habrá que reestudiar el proyecto.

Esto nos va a permitir aumentar la versatilidad del proyecto al poder meter más elementos en el chasis, y ampliar el número de plataformas hardware disponibles. Están en proyecto o ya total o parcialmente desarrolladas las siguientes:

  • Sapoconcho freestyle: Sólo el chasis impreso para que le pongas encima una protoboard, que ahora podrá ser más grande.
  • Sapoconcho mClon: En este caso sólo hemos adaptado nuestro chasis al fantástico proyecto mClon de A Industriosa. Así que el mérito de verdad es suyo.
  • Sapoconcho Pico: el nuevo microcontrolador de Raspberry y una controladora de motores nos permitirá iniciarnos en el mundo de MicroPython.
  • Sapoconcho micro:bit: la renovada plataforma de BBC nos permitirá elegir entre programar con bloques tipo Scratch o Python.
  • Sapoconcho Zero: para quien quiera Python a toda potencia con una Raspi Zero y diferentes HATs.
  • Sapoconcho RC: instala la placa que recomendamos en el proyecto MeccanoRC y tu chasis ya se mueve!

Sapoconcho freestyle. El chasis base

El chasis base tiene tres piezas y el montaje es muy sencillo. Sólo hay que unir la base inferior al soporte de motores con dos tornillos M3x12. Los motores amarillos se unirán a este soporte con 4 tornillos M3x30. Todas las piezas están en este repositorio de Github. Ahí puedes encontrar los archivos originales de OpenSCAD para modificarlos a tu gusto o los STL para imprimir directamente.

A continuación se monta la placa superior, que en este caso es plana y sólo tiene orificios para pasar cables hacia abajo y para montar los soportes de los sensores de ultrasonidos. Las placas van unidas entre si por 4 pilares, que pueden ser separadores de circuitos comerciales o impresos, en ambos casos de 30mm de altura. Podrás usar una protoboard adhesiva o diferentes combinaciones de Arduinos y shields.

foto_20-5-21_15_11_59.jpg

foto_18-5-21_23_23_28.jpg

A continuación se montan las ruedas, que utilizan una goma de fontanería de 45x3mm como 'neumático'. El tercer punto de apoyo, la bola loca o 'ballcaster' que va integrado en la placa inferior necesita una bola de 10mm.

En este tipo de montaje podrías hacer el mismo montaje electrónico del Sapoconcho de 90mm, aunque el driver L9110 va un poco justo para los motores amarillos. Puedes elegir otro aquí o utlizar el montaje y las librerías del Raptor.

Por una coincidencia no buscada, si tienes una placa Redbot de Sparkfun ¡también encaja! Y podrás aprovechar el trabajo que hicimos en su día con esa plataforma pero con otro chasis.

foto_18-5-21_23_07_48.jpg

Para alimentar cualquiera de las versiones empezando por el chasis base pueden usarse muchas fuentes diferentes, pero lo que encaja perfectamente en el chasis con columnas de 30mm es un portapilas para 4 pilas AA. Y para que valga para cualquier proyecto y puedas usar pilas recargables y reduzcamos la contaminación lo ideal es añadirle un regulador dc-dc elevador para elevar la tensión de salida.

Sapoconcho mClon

Cuando pensamos en ampliar el ecosistema inmediatamente se nos ocurrió que sería un desperdicio no aprovechar el trabajo estupendo del proyecto mClon de A Industriosa. Como el mClon utiliza dos motores amarillos, sensores de líneas y de ultrasonidos, la compatibilidad es total. En realidad lo único que hemos hecho es un chasis en el que se pueden montar los mismos elementos, tanto en la versión ShieldClon como en la versión ProtoShield. Os mostramos sólo las fotos del resultado. El proyecto está fantásticamente documentado en su web. Necesitarás usar una versión especial de la placa superior que tiene ya los soportes para un Arduino UNO (upper_plate_UNO_v1 ó v2). También una versión especial de la placa inferior que tiene unos soporte con parasol para los sensores de infrarrojos. Esa pieza es mejor que sea negra o cubrir esos parasoles con cinta o pintura negra.

Versión ProtoShield

foto_18-5-21_23_08_48.jpg

Versión ShieldClon

sc_mclon_v2.jpg

Para poder utilizar el portapilas 4xAA (con step-up) es necesario hacer unos pequeños hacks a la placa de XDeSIG. Además de no montar el conector USB, hay que cambiar la resistencia de 2.2 ohm por una de 0 ohm (sí, has leído bien, cero, aunque puedes también hacer un puente con un cable), y en lugar del step-up para cargar la batería colocar un regulador LM7805.

Función de movimiento

Para programar con Arduino y código en lugar de bloques puedes utilizar esta función de movimiento.

// añade estas líneas al setup

void setup() {
  pinMode(7,OUTPUT); // AIN1, AIN2 invertido
  pinMode(6,OUTPUT); // PWMA
  pinMode(4,OUTPUT); // BIN1, BIN2 invertido
  pinMode(5,OUTPUT); // PWMB
}

// añade estas líneas al final, fuera del loop

void drive(int l, int r, int t)
{
  l=constrain(l,-255,255); // avoid PWM overflow
  r=constrain(r,-255,255);
  
  digitalWrite(7,l<0); // cambia < por > si la rueda gira en sentido contrario
  analogWrite(6,abs(l));
  digitalWrite(4,r>0); // cambia > por < si la rueda gira en sentido contrario
  analogWrite(5,abs(r));
  
  delay(t);
}

El uso es sencillo. La función se usa como

drive (velocidad rueda izquierda, velocidad rueda derecha, tiempo)

Las velocidades pueden estar entre -255 y 255. Positivo hacia delante, negativo hacia atrás. El tiempo en milisegundos.

Sapoconcho Pico

Este desarrollo tendrá su entrada propia aparte en la wiki.

Sapoconcho micro:bit

Este desarrollo tendrá su entrada propia aparte en la wiki.

Sapoconcho Zero

Este desarrollo tendrá su entrada propia aparte en la wiki.

Sapoconcho RC

Con un sencillo kit de radiocontrol que recomendamos para el proyecto MeccanoRC puedes probar el movimiento de tu chasis.

Sapoconcho original de 90mm

El primer diseño con piezas impresas y en fase anterior recortando protoboards tiene 90mm. Aquí describimos el montaje del chasis paso a paso para los dos casos.

Montaje sin placa perforada (modelo KIS)

Si no te gusta o no quieres soldar, aquí puedes encontrar todas las piezas imprimibles correspondientes al prototipo 3, Sapoconcho KIS (Keep It Simple) que no utiliza la placa perforada. Sólo necesitarás separadores de circuitos de 25mm (4 ud) y tornillos M2.5×20 para montar los motores al chasis inferior con sus soportes. El montaje es sencillo. El esqueña de ensamblado puede verse aquí abajo y el resultado final en la foto de la galería arriba.

sapoconcho_assy_800.jpg

Paso 1: Monta la bola y los motores en la base inferior. La primera entra a presión, los motores con sus soportes atornillados (M2.5×20 tuerca) .

Paso 2: Pega la controladora de motores y el portapilas a la base inferior con cinta adhesiva de doble cara.

Paso 3. Monta la base superior con los separadores de circuitos.

Paso 4. Pega la breadboard en la base superior para el Arduino micro. En su lugar puedes usar un Arduino UNO, que también cabe.

Paso 5 (opcional). Monta los soportes para los sensores SR-04 sobre la base superior.

Conecta la placa de motores al Arduino con el esquema siguiente.

sapoconcho_fritzing_800.jpg

Montaje con placa perforada

Si lo tuyo es complicarte la vida, te gusta soldar y/o no dispones de piezas impresas, esta es otra forma de montarlo. Es la manera en que comenzó el desarrollo del proyecto, realmente nosotros preferimos el modelo KIS.

Advertencia: el espacio para colocar los componentes es muy justo, el orden de estos pasos es el que lo optimiza. En la galería inferior pueden verse estos pasos en fotos.

Paso 1: Cortar la placa perforada al tamaño definitivo. Su forma exterior de la de un círculo de 90mm de diámetro con dos cajas para las ruedas de 36mm de ancho y separadas entre sí 70mm. Existen muchas formas de cortar esas placas con un cúter, con sierra de marquetería o con un centro de mecanizado como nuestra eShapeoko. Siempre es mejor dejarlo un poco mayor al cortar y rematar lijando. Y en el caso de las placas de fibra hay que tener cuidado con el polvillo al serrar y lijar, que es algo tóxico.

Paso 2: Fijar los motores. Los micromotores de corriente continua con engranaje integrado que usamos se suelen vender con su soporte. Si no es así se puede imprimir uno. Se montarán en oposición en cada una de las cajas que alojarán las ruedas y deben quedar alineados con el centro de la placa y enrasados con el borde lateral que deja la caja. Deben colocarse del lado de la placa por el que se suelda, donde se pueden ver los cuadraditos de cobre, y que después mirará al suelo. Los tornillos de los soportes típicos son de M2.5. Los taladros pueden hacerse algo mayores, de diámetro 3, para ajustar bien la alineación.

Paso 3: Colocar el portapilas, primero el inferior ajustado al borde del soporte de los motores por el lado del suelo. A continuación el de la parte de arriba, procurando que coincidan. Para el montaje se usará cinta adhesiva de doble cara.

Paso 4: Montaje de la rueda loca de apoyo. Taladrar el agujero para el tornillo que soportará la rueda loca, con cuidado ya que es el elemento más ajustado, casi pegado al borde de la placa y centrado en la parte trasera al lado de las pilas. Este tornillo (M2x20) tendrá una tuerca contra el soporte de la bola y dos más contra la placa, por encima y por debajo. Estas dos últimas permiten la nivelación del chasis. Se pueden montar también ya las ruedas en los motores.

detalle_1.jpg

Paso 5: Soldar el zócalo para el Arduino y los pines de extensión. Se cortan dos tiras de pines hembra de 15 agujeros de longitud y otras dos de pines macho del mismo largo. Para soldar las tiras hembra en posición recta es útil como ayuda montarlos con el propio Arduino como soporte. Las tiras de pines macho se montan por cada uno de los lados (hacia el exterior del zócalo) ajustándose al lateral del motor como en la foto. Los pines hembra y macho correspondientes se van uniendo uno a uno al soldar. El Arduino/Genuino Micro original tiene 17 pines por lateral, pero los últimos no se utilizarán y pueden quedar al aire. Los modelos clónicos con frecuencia no tienen esos pines.

Paso 6: Montar la placa de control con cinta de doble cara entre el zócalo del Arduino y el portapilas trasero.

Paso 7: Soldar el interruptor y los cables de los portapilas a la alimentación del Arduino (pin VIN/RAW según versiones).

Paso 8 (opcional): Soldar los pines extra para alimentar sensores, con dos tiras de 5 pines a 5v y a GND del zócalo.

detalle_2.jpg

detalle_3.jpg

Montaje de los sensores

Montaje de los sensores de ultrasonidos

Los sensores del ultrasonidos HC-SR04 tienen cuatro pienes: alimentación (VCC), masa (GND), trigger y echo. Estos dos últimos los unimos con una soldadura para ahorrarnos un cable, aunque tenemos que advertir que algunos modelos de algunos fabricantes no permiten esto, y al hacerlo no funcionan. En los repositorios de piezas impresas del sapoconcho original y la versión de 2021 hay un soporte para imprimir para estos sensores.

sapoconcho_sr04_800.jpg

Montaje de los sensores de líneas

Los sensores infrarrojos de líneas, tanto con salida analógica como digital utilizan tres pines: alimentación (VCC), masa (GND) y señal. En la figura aparecen dos sensores conectados a las entrada analógicas A0 y A1.

sapoconcho_ir_800.jpg

Mejoras en la alimentación

Para no tener que pinchar la alimentación cada vez y poder usar pilas AAA recargables (que habitualmente son de 1.2V y no llegan) se propone usar un interruptor y un regulador de alimentación MT3608 DC-DC. Puede colocarse por debajo en el chasis superior, que tiene un alojamiento para el interruptor.

Algunos módulos tienen un tamaño suficientemente pequeño para montarlos adheridos al portapilas.

dcdc.jpg

Lista de materiales

Para el chasis original de 90 mm

  • 1 Arduino/Genuino micro, nano o UNO. Original o clónico.
  • 1 Placa de control de motores con integrados L9110 (o su equivalente HG7881) o un integrado L293D. Se recomienda la primera opción si se va a alimentar con 4 pilas AAA. Como alternativa a una pila de 9v, el L293D está bien.
  • 2 Portapilas para dos pilas AAA o 1 conector para una pila de 9v.
  • 1 Placa perforada de agujeros cuadrados para soldadura de 100x160mm o bien placa de prototipado (breadboard) tamaño mini (17×10 pines).
  • 2 Micromotores de corriente continua tipo N20 de 6v con engranaje reductor integrado ( soporte si no se va a imprimir). 150rpm es una buena opción intermedia de velocidad.
  • 2 juntas tóricas de 32x2mm.
  • 1 tira de pines hembra para soldar (ojo, debe adaptarse a las patillas del Arduino, las hay más pequeñas).
  • 1 tira de pines macho para soldar.
  • 1 microinterruptor para soldar.
  • 1 bola de acero (inox/cromado) de 3/8“ (9.5 mm) de diámetro.
  • Pequeño material: tornillos M2.5×10, tuercas M2.5, tornillo M2*20, tuercas M2, cinta adhesiva de doble cara, separadores de circuitos de 25mm.

Galería

Prototipo 1: Wall.E
Prototipo 2. Teseo
prototipo_3.jpgPrototipo 3. KIS
sapoconcho_kis_con_arduino_uno_2015-11-12_22-19.jpegKIS con Arduino UNO
image.jpegKIS con sensores

Piezas imprimibles

Enlaces para comprar material

Software

Ejemplos

Presentación del curso

Aquí puedes encontrar una presentación en PDF y en ODP para la iniciación al mundo de los robots móviles. Eres libre de utilizarla y modificarla a tu gusto.

Equipo

Enlaces

proyectos/sapoconcho.txt · Última modificación: 2021/06/07 19:34 por Félix Sánchez-Tembleque