robótica e impresión 3d - abc.gob.ar · igual que en el torno, la velocidad de giro de la pieza...

50
Red de Escuelas de Aprendizaje Robótica e impresión 3D Descripción del eje temático 2 Robótica 2 Fabricación digital 4 Evolución de la automatización y la fabricación digital en los procesos agrícolas 7 Proyección de la robótica y la fabricación digital en los procesos agrícolas 12 CROPS 12 FarmBot 13 BoniRob 15 AgroBot 16 VineRobot 17 Plataforma de desarrollo Arduino 18 a. Tipos de variable y operadores en C 18 b. Estructuras condicionales (if - while) 19 c. Descripción del hardware 22 d.Entorno de desarrollo integrado 24 e.Escribir Sketches (Programas) 26 Sketchbook (proyecto) 28 Subiendo o cargando el sketch 28 Librerías 28 Monitor Serie 29 Estructura de un programa 29 f. Manejo de sensores 31 Sensores Digitales 31 Estructura mecánica de un robot 36 a. Transmisiones 36 b. Manejo de actuadores 37 Impresión 3D 38 a. Partes de una impresora 39 b. Materiales de impresión 42 c. Software asociado a la impresión 3D 43 1 ©RedEscuelas. Todos los derechos reservados.

Upload: vuongtruc

Post on 02-Nov-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

Red de Escuelas de Aprendizaje

Robótica e impresión 3D

Descripción del eje temático 2 Robótica 2 Fabricación digital 4

Evolución de la automatización y la fabricación digital en los procesos agrícolas 7

Proyección de la robótica y la fabricación digital en los procesos agrícolas 12 CROPS 12 FarmBot 13 BoniRob 15 AgroBot 16 VineRobot 17

Plataforma de desarrollo Arduino 18 a. Tipos de variable y operadores en C 18 b. Estructuras condicionales (if - while) 19 c. Descripción del hardware 22 d.Entorno de desarrollo integrado 24 e.Escribir Sketches (Programas) 26 Sketchbook (proyecto) 28 Subiendo o cargando el sketch 28 Librerías 28 Monitor Serie 29 Estructura de un programa 29 f. Manejo de sensores 31 Sensores Digitales 31

Estructura mecánica de un robot 36 a. Transmisiones 36 b. Manejo de actuadores 37

Impresión 3D 38 a. Partes de una impresora 39 b. Materiales de impresión 42 c. Software asociado a la impresión 3D 43

1

©RedEscuelas. Todos los derechos reservados.

d. Configuraciones y seteo de parámetros 44 e. Cómo imprimir 45

7. Diseño CAD 46 TinkerCad 46

8. Conclusiones 49

1. Descripción del eje temático

A lo largo de este eje temático, te proponemos recorrer el apasionante mundo de la robótica

y la fabricación digital, contándote el impacto que estas tecnologías están generando en el mundo

agrícolo ganadero e invitándote a que te sumes a la innovación de procesos.

Hoy más que nunca el acceso a la información, los bajos costos de la electrónica y las grandes

comunidades de software y hardware libre, hacen que vos y tus amigos puedan ser desarrolladores,

mejorando los procesos o incluso diseñando soluciones que aún no fueron pensadas.

Intentaremos darte las primeras herramientas para que recorras este camino. No será fácil y

seguramente tenga muchos tropiezos, pero te esperan grandes satisfacciones del otro lado.

Empecemos por describir un poco, de que se trata el concepto de robótica y de impresión 3D, y de

cómo estos 2 fenómenos cambiarán definitivamente la forma de vida de las personas.

1.1. Robótica

La robótica es la rama de la tecnología que se dedica al diseño y construcción de los robots, siendo

un robot cualquier dispositivo electromecánico con cierto grado de inteligencia. Es decir, capaz de

tomar decisiones en base a un programa.

Los robots suelen ser máquinas para la realización de trabajos productivos, inspiradas en la

imitación de movimientos y comportamientos de seres vivos.

2

©RedEscuelas. Todos los derechos reservados.

Las aplicaciones de la robótica actualmente son muy variadas. Desde la amplificación de la potencia

muscular del hombre hasta máquinas o instrumentos que son también capaces de procesar

información, complementándolo en alguna actividades intelectuales.

Las características que más destacan en los procesos robotizados son la precisión, repetitividad y

velocidad de los movimientos, el tiempo ininterrumpido de trabajo que pueden sostener y las tareas

riesgosas o insalubres que pueden llevar a cabo.

Todas estas ventajas son aprovechadas en la industria agrícola para aumentar la eficiencia de los

procesos. Con la robótica, tanto la siembra como la cosecha, la extracción de materias primas y

fabricación de productos elaborados en el tambo, la aplicación de fertilizantes, la clasificación de

productos, todo fue adquiriendo, en mayor o menor medida, un cierto grado de automatización.

Básicamente, un proceso robótico consiste en medir, tomar decisiones y actuar. Para ello, todo

robot cuenta con un “cerebro”, es decir, un microcontrolador que constituye el sistema de control

de la máquina. El microcontrolador es un dispositivo programable capaz de interpretar datos y

enviar órdenes.

3

©RedEscuelas. Todos los derechos reservados.

Por otro lado tenemos los sensores. Estos son dispositivos que pueden traducir magnitudes como la

temperatura, la presión y la humedad, en señales eléctricas que puedan ser interpretadas por el

microcontrolador. Le permiten al robot percibir el entorno, como si fueran sus “sentidos”.

Y por último tenemos los actuadores. En general son motores que mueven una herramienta o

dispositivo específico a través de transmisiones (cadenas, correas, cajas de engranaje o acoples). Por

ejemplo, una pinza para tomar objetos, una articulación de un brazo robótico, una compuerta o la

rueda de un vehículo.

Los actuadores cuentan con sensores internos para informar su posición y velocidad. Y reciben las

instrucciones a través de un dispositivo que se encarga de convertir las señales de baja potencia en

señales de alta potencia. Este dispositivo será un driver o etapa de potencia.

En las próximas secciones veremos cómo se aplican estos conceptos a los sistemas robóticos que se

encuentran específicamente orientados al agro y cómo puedes crear tus propios prototipos

robóticos.

1.2. Fabricación digital

La fabricación digital es el conjunto de tecnologías que permiten diseñar piezas a través de software

y fabricarlas por medio de máquinas automatizadas. Los programas orientados al diseño de piezas se

denominan CAD (Diseño asistido por computadora) mientras que las máquinas automatizadas

orientadas a la producción de piezas se denominan CNC (control numérico computarizado). Los

procesos que llevan a cabo estas máquinas son muy variados. Por citar ejemplos tenemos el

desbaste, agujereado, fresado, extrusión, inyección etc.

Ahora bien, estas tecnologías pueden agruparse en 2 grandes grupos. El software de diseño es el

mismo pero los procesos de fabricación son muy distintos. Por un lado tenemos el mecanizado,

donde se parte de un volumen determinado de cierto material, y por extracción de viruta se llega a

la pieza deseada. Por el otro tenemos la impresión 3D, donde se deposita capa tras capa de material

hasta llegar al producto final.

Las máquinas de mecanizado más típicas son los tornos y las fresadoras CNC (también existen tornos

y fresadoras manuales).

En un torno el volumen inicial gira alrededor de un eje horizontal y a través de una herramienta se

realizan distintas operaciones que dependen de la forma de la herramienta y el ángulo de inclinación

que tengan respecto de la pieza. La velocidad de giro de la pieza depende del material con el que se

esté trabajando.

4

©RedEscuelas. Todos los derechos reservados.

En una fresadora, la herramienta es la que gira, mientras que el volumen inicial de material se

encuentra sujeto a una mesa de trabajo. La herramienta de una fresadora se denomina fresa. A

través de movimientos horizontales y verticales de la fresa se realizan las diferentes operaciones. Al

igual que en el torno, la velocidad de giro de la pieza depende del material con el que se esté

trabajando.

Las impresoras 3D en cambio, son exclusivamente CNC. Existen muchos tipos de tecnologías para la

impresión y al ser una temática en auge aparecen nuevas técnicas continuamente. Sin embargo, nos

ocuparemos en particular de la técnica más difundida actualmente.

Se denomina FDM (Modelado por deposición fundida) y consiste, como su nombre lo indica, en

fundir el material e inyectarlo por medio de una boquilla. La solidificación del material se produce

por enfriamiento. Hoy en día, los materiales más utilizados para la impresión son el PLA y el ABS.

Ambos son termoplásticos con diferentes propiedades mecánicas.

5

©RedEscuelas. Todos los derechos reservados.

La impresión 3D por FDM es la tecnología de fabricación digital en la que haremos foco. Si bien

existe desde la década de los 80, la liberación de las patentes en el 2009 generó una rápida

expansión al entrar en juego un mayor número de desarrolladores y fabricantes.

Existen modelos de impresora extremadamente sofisticados y costosos apuntados a la empresa y

modelos muy accesibles, con mecanismos más simples, apuntados a la educación, el desarrollo, el

uso en la pequeña empresa y el uso hobbista.

Sin embargo nos podríamos preguntar. ¿Para qué sirven las piezas impresas en 3D? ¿Pueden ser

productos definitivos? ¿Es una tecnología industrial? ¿Llegará a masificarse su uso como ocurrió con

los teléfonos celulares? ¿Es razonable pensar en imprimir a gran escala?

Si analizamos el ritmo de desarrollo que está teniendo el concepto de impresión y los campos en los

cuales se los está aplicando, podemos decir que es una tecnología con un gran presente y mucho

futuro.

Todos los días aparecen nuevas técnicas y materiales que atacan los puntos débiles de la impresión

como ser los tiempos de trabajo, la resistencia de las piezas y el tamaño de las mismas. Elegir a la

impresión 3D frente a las demás tecnologías dependerá siempre de las cantidades, los costos y la

complejidad de las piezas.

Con lo cual, hoy podemos usar la impresión para realizar prototipos, piezas artísticas, partes

definitivas de sistemas mecánicos y productos de todo tipo, aunque todavía no es conveniente para

un número elevado de piezas. Sin lugar a dudas tiene un potencial industrial que recién está

empezando a explotarse y su masificación es inminente.

6

©RedEscuelas. Todos los derechos reservados.

2. Evolución de la automatización y la fabricación digital

en los procesos agrícolas

Ya inmersos en el tema, veremos cómo estas tecnologías han transformado la manera de

llevar adelante los procesos agrícolas.

Los inicios de la automatización comienzan con la organización del trabajo a comienzos del siglo XX.

La industria, a partir del taylorismo y el fordismo, se caracterizó por la producción en serie. Es decir

que cada trabajador o conjunto de trabajadores realizan siempre la misma operación sobre el

producto, mientras el mismo pasa de etapa en etapa hasta su finalización.

El concepto de trabajador multitarea fue reemplazado por el de trabajador especializado y las tareas

podían ser básicas o más complejas, clasificando a los obreros en trabajador simple o calificado. Este

cambio fue continuado con la eliminación de los tiempos muertos, organizando las etapas de la

producción a través de caminos críticos e incorporando cronómetros para delimitar el tiempo por

tarea, de forma tal que a lo largo de la cadena, el producto pudiera salir de una etapa e ingresar

inmediatamente en otra.

Este sistema aumentó sobremanera los volúmenes de producción y la rentabilidad de las inversiones

en industria. Sin embargo, produjo un gran descontento en los obreros, muy presionados en cuanto

a los tiempos, con salarios escasos y tareas monótonas.

Entonces vino el toyotismo, introduciendo conceptos como flexibilidad laboral, el fomento de

trabajo en equipo y la no acumulación de stock. Con este modelo se superó la crisis productiva de

1970, plagada de huelgas y reclamos.

Estos esquemas fueron implementados al principio en la industria automotriz, armamentista y de

producción de máquinas, pero pronto fueron derramados sobre prácticamente todos los procesos

productivos.

SIn embargo, la verdadera automatización y

robotización se dió cuando los avances

técnicos y tecnológicos permitieron que los

robots reemplacen a los operarios.

Inicialmente en las tareas rudimentarias y cada

vez más en tareas que requieren un alto nivel

de calificación.

Es así que los factores económicos y sociales

volvieron a desatar una revolución en la cual la

7

©RedEscuelas. Todos los derechos reservados.

mano de obra se reconvierte para adaptarse a

las necesidades. Y esto ocurre a un ritmo cada

vez más vertiginoso. Permanentemente

desaparecen empleos que pierden su razón de

ser por el avance de la tecnología y aparecen

otros nuevos por el mismo motivo.

La actividad agrícola por supuesto, no es la

excepción. Siempre con el objetivo de

aumentar la producción minimizando tanto el

uso de recursos como el impacto ambiental.

Lo primero que tuvo lugar fue la mecanización, es decir la incorporación de máquinas que ayudaban

al hombre en el arado, la siembra, la recolección y clasificación de cultivos, etc en lugar de los

animales de carga y el esfuerzo físico.

Esta primera etapa fue posible por la introducción del motor a combustión primero y de los motores

eléctricos más tarde. El tractor a combustión con distintos accesorios para diferentes funciones

como desmalezado, riego, y arado es la principal máquina móvil. Las máquinas fijas con motores

eléctricos se encargan de procesar, triturar, machacar, compactar, lavar, secar, desgranar, clasificar,

empaquetar, pelar etc.

8

©RedEscuelas. Todos los derechos reservados.

El siguiente paso en la tecnificación requiere disponer de información. Datos que permitan tomar

decisiones. El avance de la electrónica permitió incorporar en los procesos, sensores para medir

prácticamente cualquier variable que pueda influir en el desarrollo de los cultivos. Con esta

información se pudo comenzar a controlar con mayor precisión variables como humedad, PH,

intensidad de luz y temperatura. Factores esenciales y diferentes en cada etapa del proceso agrícola

y para cada cultivo en particular.

Además de los sensores, se incorporaron otras herramientas como el análisis digital de señales, esto

es, obtener información a partir de imágenes y videos. Se han desarrollado distintos programas de

computadora que permiten por ejemplo, detectar enfermedades en las plantas mucho antes de que

muestren los primeros síntomas.

Los últimos avances sitúan a los robots en la escena. En su mayoría robots de servicio, es decir

especialmente orientados a sustituir al hombre en actividades donde existen riesgos o limitaciones

físicas. Se encargan eficazmente de tareas como arado, siembra, recolección, clasificación, riego,

empaquetado etc, todo de forma autónoma (sin intervención del operario)

La dificultad más grande se presenta en el hecho de que estos robots en muchos casos, deben

operar al aire libre y no en ambientes controlados. Sin embargo, los algoritmos de funcionamiento

cada vez son mejores y el grado de sensorización aumenta, por lo que es un problema en vías de ser

resuelto.

Si bien los prototipos robóticos para la agricultura se comenzaron a ver desde hace más de 25 años

(más concretamente en el sector lácteo con los robots de ordeño automático), el progreso sustancial

de sus desarrollos ha sido reciente. En gran parte gracias al desarrollo de las TIC (Tecnologías de la

información y comunicaciones).

De esta forma, en los últimos años, de acuerdo a los datos recogidos por la International Federation

of Robotics (www.ifr.org), las aplicaciones de la robótica en agricultura y ganadería son las segundas

9

©RedEscuelas. Todos los derechos reservados.

en número de ventas de robots de servicios profesionales, tras las aplicaciones en defensa y

seguridad.

La cuestión es el por qué requerimos la implementación de la robótica. ¿En qué contexto tiene

sentido?. La respuesta es simple. Se estima que para poder satisfacer la demanda alimentaria

mundial a futuro necesitamos aumentar en un 60% o 70% la producción actual antes de 2050. Por

otro lado, los recursos están al límite tanto en cuanto a provisión energética como en disponibilidad

de suelos cultivables y agua utilizable. En este marco se vuelve fundamental la eficiencia. Y por los

mismos motivos que la robótica se ganó su lugar en la industria manufacturera frente al aumento de

la demanda, hoy se está ganando su lugar en el agro.

Esto nos lleva al concepto de agricultura de precisión. La conjunción entre la robótica y los procesos

agrícolas, utilizar el recurso adecuado en el lugar y momento preciso, con supervisión continua las

24hs del día durante todo el año. Está claro que este concepto excede la capacidad de cualquier

fuerza de trabajo humana.

10

©RedEscuelas. Todos los derechos reservados.

Alguno ejemplo serían:

● Dosificación exacta de productos agroquímicos

● Riego con el aporte justo de agua en función de la condiciones climáticas y el tipo de cultivo

● Regulación de la temperatura para lograr las condiciones óptimas de crecimiento de la

planta

● Eliminación automática de malezas que entorpezcan el crecimiento del cultivo

● Regulación del PH de la tierra que varía con el agregado de fertilizantes

● Predicción de enfermedades mucho antes de notar síntomas evidentes

Sistemas con estas funcionalidades constituyen el salto de la mecanización a la robotización. En la

actualidad, la mayoría de los proyectos se encuentran en etapa de prototipo avanzado en todo el

mundo. Esto quiere decir que sus prestaciones son comprobables en baja escala, pero aún no

alcanzan la madurez de desarrollo necesaria para una implementación real y extendida. En pocas

palabras, no es comercializable.

En algunos casos por falta de desarrollo, en otros por los costos y en otros incluso porque los

productores no perciben la solución como una inversión necesaria aún. Como en cualquier proceso

de cambio de paradigma, se requiere de cierto tiempo para la masificación del uso y la aceptación.

Esto se irá dando a su debido tiempo y más pronto que tarde en los países que apuesten a estar a la

vanguardia en la producción agrícola.

Argentina es un país con una vasta tradición en la producción de materias primas provenientes del

campo. El mote de “granero del mundo” que alguna vez fue una realidad, demuestra que fuimos

potencia en materia agrícola ganadera. Y si bien, hoy existen otros competidores y la realidad

socioeconómica mundial es otra, nuestra matriz industrial sigue fuertemente inclinada al cultivo.

Contamos con extensiones territoriales y condiciones ambientales envidiables, lo que nos hace

pensar que este en un sendero a seguir transitando en las próximas décadas.

11

©RedEscuelas. Todos los derechos reservados.

3. Proyección de la robótica y la fabricación digital en los

procesos agrícolas

Partiendo del estado actual que hemos mencionado de los sistemas autónomos (fase de prototipo

avanzado), podemos decir que el futuro es promisorio. Se ha dado en las últimas décadas, un

alejamiento de las personas de los trabajos rurales. Cada vez hay menos gente dispuesta a realizar

las labores agrícolas. Por ello, la incorporación de estas tecnologías cambia el horizonte, atrayendo a

las nuevas generaciones a desenvolverse profesionalmente en la producción del conocimiento en

robótica y fabricación y mantenimiento de los dispositivos.

Los desafíos son muchos. Si bien nos encontramos a un paso de productos comerciales, el último

tramo es complejo, ya que no solo influyen los factores técnicos relacionados con el manejo e

implementación de la tecnología, sino que hay que considerar la rentabilidad, el impacto

socioeconómico, las regulaciones, la legislación, la escalabilidad, la integración con la forma de

trabajo actual etc.

Existen un sin número de desarrollos que si bien son muy variados en cuanto a las formas, en la

mayoría de los casos buscan automatizar la recolección, el sembrado, el riego, la dosificación de

fertilizantes y la eliminación de malezas.

Te presentamos algunos desarrollos destacados aunque insistimos en que hay muchos más, a veces

bastante similares.

CROPS

CROPS es una plataforma de operador altamente configurable, modular e inteligente que incluye

manipuladores paralelos modulares y herramientas inteligentes (sensores, algoritmos,

pulverizadores, pinzas) que se pueden instalar fácilmente en el transportador y son capaces de

adaptarse a nuevas tareas y condiciones.

Se han desarrollado varios demostradores tecnológicos para cultivos de alto valor como vegetales de

invernadero, frutas en huertos y uvas para vinos premium. La plataforma robótica CROPS es capaz

de pulverizar en sitios específicos (los objetivos se pulverizan solo hacia el follaje y los objetivos

seleccionados) y cosechar selectivamente la fruta (detecta la fruta, determina su madurez, se mueve

hacia la fruta, la agarra y la desprende suavemente).

12

©RedEscuelas. Todos los derechos reservados.

Otro objetivo de CROPS es desarrollar técnicas para la detección y clasificación confiable de

obstáculos y otros objetos para permitir una navegación y operación autónoma exitosa en

plantaciones.

Podés encontrar más información en la página oficial de CROPS (http://www.crops-robots.eu/)

También te dejamos un video demostrativo: CROPS en acción

FarmBot

FarmBot es una plataforma de software y hardware libre, esto significa que todos los planos,

lista de materiales y los programas y aplicaciones desarrollados se encuentran disponibles en la web

para su uso en forma gratuita. FarmBot es un robot CNC que puede moverse en los 3 ejes

cartesianos y realizar distintas funciones a partir de un soft que lo comanda. Cuenta con la

posibilidad de intercambio de herramientas. Con esta plataforma se puede sembrar, regar, quitar

malezas, analizar el estado de crecimiento y de salud de la planta y trabajar en forma continua con

una gran resolución espacial.

Puede adaptarse a canteros con distinta extensión de superficie y operar a la intemperie. Muchas de

las piezas mecánicas están fabricadas con impresora 3D mientras que la estructura está

principalmente diseñada con perfiles de aluminio extruido. También incorpora un colector de agua

de lluvia para el riego y paneles solares para la alimentación del dispositivo.

13

©RedEscuelas. Todos los derechos reservados.

Podés encontrar más información en la página oficial de de FarmBot (https://farm.bot/)

También te dejamos un video demostrativo: FarmBot en acción

14

©RedEscuelas. Todos los derechos reservados.

BoniRob

Bonirob es un robot, aproximadamente del tamaño de auto compacto, que se encarga del cuidado y

análisis de las plantas una vez sembradas. Este robot agrícola utiliza sensores de imagen, lidar, GPS y

se apoya con información satelital para navegar entre los cultivos, esto le confiere una precisión

centimétrica.

Además de monitorear el crecimiento de las plantas, distingue las malezas y las erradica en su paso

por el cultivo. Utiliza una pala con la que retira la planta indeseada de raíz sin el uso de pesticidas o

químicos.

Además, aprende a distinguir particularidades de los cultivos sin importar que tan parecidos sean

entre sí. Por ejemplo, la zanahoria y manzanilla poseen hojas muy similares y Bonirob, basado en sus

algoritmos de reconocimiento puede no confundirlas o tomarlas por malezas.

Podés encontrar más información en la página de BoniRob (http://ura.farm/bonirob-robot-agricola)

También te dejamos un video demostrativo BoniRob en acción

15

©RedEscuelas. Todos los derechos reservados.

AgroBot

AgroBot combina tecnología y estrategias de los 3 robots anteriores. Está especialmente dedicado a

la recolección de frutillas y representa el mayor avance en esta tarea hasta la fecha. Consiste en un

vehículo sobre el cual se monta una serie de brazos robóticos.

La máquina cuenta con un sensor por rueda que hace que se guíen por la bancada. Cada

manipulador tiene asociado una cámara y un procesador que analiza entre 10 y 30 imágenes por

segundo y a partir de los parámetros de recolección (un determinado tamaño de frutilla y un

determinado grado de madurez), toma la decisión de cortarla o no. Los movimientos combinan

sistemas hidráulicos con electrónicos y el sistema es modular.

Podés encontrar más información en la página oficial de AgroBot (http://agrobot.com/)

También te dejamos un video demostrativo AgroBot en acción

16

©RedEscuelas. Todos los derechos reservados.

VineRobot

En el marco de un proyecto europeo coordinado por la Universidad de La Rioja se ha desarrollado

este robot centrado en la viticultura de precisión.

El robot recorre el viñedo analizando las vides y uvas, recogiendo información que es transmitida a

una APP. Esta plataforma se encargará de responder a las preguntas típicas de la viticultura: dónde

crece la mejor uva, cuánto y con qué frecuencia hay que regar y abonar el campo o cuándo estarán

listos los racimos para la vendimia.

Estas tareas, que se resuelven actualmente con intuición y “ojímetro” del agricultor, se traducirán

en mapas con parámetros fisiológicos, como el nivel de nitrógeno en las hojas y de antocianos en las

bayas, que el usuario final leerá desde su computadora, móvil o tablet. La recolección de

información se basa en sensores no invasivos y aplicaciones TIC, como la fluorescencia basada en la

clorofila, máquinas RGB y termografía por infrarrojos.

Podés encontrar más información en la página oficial de VineRobot (http://www.vinerobot.eu/)

También te dejamos un video demostrativo VineRobot en acción

17

©RedEscuelas. Todos los derechos reservados.

4. Plataforma de desarrollo Arduino

Los sistemas embebidos son dispositivos electrónicos con capacidad de procesamiento, diseñados

específicamente para propósitos particulares. Por ello, las funcionalidades de hardware se ajustan a

estos propósitos.

Estas plataformas tienen resueltas algunas cuestiones que suelen ser limitantes cuando uno da los

primeros pasos en el mundo de los microcontroladores. Por ejemplo, pueden programarse en forma

directa a través de usb sin necesidad de una placa complementaria, permiten conectividad física con

otros dispositivos sin necesidad de soldar componentes y sobretodo, suelen ser de arquitectura

abierta (software y hardware libre), y por ello suele haber una comunidad colaborativa virtual para

compartir y potenciar desarrollos.

Dentro de estos sistemas destacan las plataformas Arduino, Raspberry y Beaglebone En este

caso utilizaremos una tarjeta Arduino para implementar nuestro prototipo robótico. En particular un

Arduino UNO. Puede tomar información del entorno de toda una gama de sensores y puede afectar

aquello que le rodea controlando luces, motores y otros actuadores. El microcontrolador, que es el

corazón del sistema, es un Atmega 328.

Se programa mediante el lenguaje de programación Arduino (basado en Wiring) y el entorno de

desarrollo Arduino (basado en Processing). Los proyectos hechos con Arduino pueden ejecutarse sin

necesidad de conectar a una PC o un celular, aunque tienen la posibilidad de hacerlo y comunicarse

con diferentes tipos de aplicaciones.

a. Tipos de variable y operadores en C

El lenguaje que emplea Arduino toma muchos elementos de los lenguajes C y C++. Ahora veremos

los operadores y tipo de variables más empleados.

Los tipos de variables son:

int Emplea 2 bytes de memoria y permite almacenar números entre -32 768 a 32 767)

char Emplea un byte de memoria y permite almacenar un caracter. Se emplea para trabajar con cualquier símbolo de la tabla ASCII, incluyendo las letras del abecedario)

Los operadores son:

De asignación (Asignan lo que está a la derecha del operador a lo que está a la izquierda del mismo)

a = 5

18

©RedEscuelas. Todos los derechos reservados.

De comparación (Comparan si los elementos vinculados por el operador son distintos o son iguales)

a == 5 Devuelve una afirmación si a es igual a 5

a != 5 Devuelve una afirmación si a es distinto de 5

a > 5 Devuelve una afirmación si a es mayor que 5

a < 5 Devuelve una afirmación si a es menor que 5

a <= 5 Devuelve una afirmación si a es menor o igual a 5

a >= 5 Devuelve una afirmación si a es mayor o iguala 5

De lógica (Establecen relaciones lógicas entre las expresiones vinculadas por el operador)

(a > 5) && (c > 6) Devuelve una afirmación cuando a es mayor que 5 y al mismo

tiempo c es mayor que 6. Es decir, si se cumplen ambas

condiciones simultáneamente.

(a > 5) | | (c > 6) Devuelve una afirmación si a es mayor que 5 o si c es mayor

que 6. Es decir, si se cumplen alguna de las dos condiciones.

b. Estructuras condicionales (if - while)

Estas estructuras son propias de C. Para comprenderlas nos ayudaremos de diagramas de bloques.

Luego veremos cómo traducir esos diagramas en pseudocódigo y en los ejemplos veremos cómo

implementarlos en Arduino.

La primera estructura que analizaremos es el while. Esta estructura es un ciclo que se repite y

ejecuta una determinada acción o varias acciones, siempre que se cumpla una determinada

condición.

Por ejemplo, mantener un led encendido durante un segundo y apagado durante un segundo

mientras que un contador sea menor que 10. Si el contador se inicia en cero e incrementamos su

valor en cada ciclo, habremos encendido y apagado 10 veces el led.

19

©RedEscuelas. Todos los derechos reservados.

while ( CONDICIÓN ) {

INSTRUCCIÓN 1 INSTRUCCIÓN 2

}

Para resolver el ejemplo que acabamos de plantear en

pseudocódigo podríamos plantear while ( CONTADOR < 10) {

Encender led Esperar un segundo Apagar ledEsperar un segundo

Incrementar el contador

}

El programa entra por primera vez a la estructura si se cumple la condición, ejecuta secuencialmente

las instrucciones y vuelve a preguntar se la condición se sigue cumpliendo. Este proceso se repite

hasta que deje de cumplirse. Por lo menos una de las instrucciones del ciclo debe afectar a la

variable de la condición para poder salir en algún momento de la estructura.

La siguiente estructura es el if. Esta estructura pregunta si se cumple una determinada condición. Si

se cumple ejecuta una acción o una serie de acciones y, a diferencia del while, sigue con el resto del

programa. Es decir, compara, y ejecuta el cuerpo de la estructura una sola vez. Los if pueden

anidarse sin inconvenientes empleando el conector else if.

Los indicadores que dentro de un programa nos marcan una determinada condición se denominan

flags o banderas. Entonces, por ejemplo, podremos encender un led rojo cuando el flag sea uno y

encender un led verde cuando el flag sea 2.

20

©RedEscuelas. Todos los derechos reservados.

if ( CONDICIÓN ) {

INSTRUCCIÓN 1 INSTRUCCIÓN 2

}

Para resolver el ejemplo que acabamos de plantear en

pseudocódigo podríamos plantear

if ( BANDERA == 1) {

Encender led ROJO Apagar led VERDE

} else if ( BANDERA == 2) { Encender led VERDE Apagar led ROJO }

21

©RedEscuelas. Todos los derechos reservados.

c. Descripción del hardware

Microcontrolador ATmega328P

Voltaje de Operación 5V

Voltaje de entrada (recomendado) 7-12V

Voltaje de entrada (límites) 6-20V

Puertos de entrada y salida I/O digitales 14 (de los cuales 6 tienen salida PWM)

Puertos de salida digitales con PWM 6

Puertos de Entrada Analógica 6

Corriente continua por cada puerto I/O 20 mA

Corriente continua del puerto de 3,3V 50 mA

Memoria Flash 32 KB (ATmega328P)de los cuales 0.5 KB los usa el bootloader

SRAM 2 KB (ATmega328P)

EEPROM 1 KB (ATmega328P)

Velocidad de Clock 16 MHz

LED_BUILTIN 13

Largo 68.6 mm

Ancho 53.4 mm

Peso 25 g

Puerto USB-B: Es la principal forma que utiliza la placa para interactuar con una PC. Permite cargarle

programas nuevos hechos por el usuario o por terceros. También puede proveer la alimentación que

requiere el arduino para funcionar (5V) con una corriente máxima de 100mA .

22

©RedEscuelas. Todos los derechos reservados.

Entrada de energía: Facilita la alimentación del arduino cuando está listo para funcionar sin

necesidad de conectarlo al puerto USB de la PC. Puede alimentarse con tensiones desde 6V a 20V

pero los fabricantes recomiendan usar de 7V a 12V. Esta tensión será regulada por la misma placa

arduino para obtener una tensión de operación estable de 5V. Esto bien puede lograrse con un

cargador de pared con la ficha plug de 2,1 mm de centro positivo (no confundir con los de centro

negativo, lo cual suele ser un error común).

Entradas y Salidas Digitales: Se utilizan para recibir y generar señales de estado binario (2 estados),

el estado “1 o alto” se representa eléctricamente con 5V y el “0 o bajo” como 0V. Estas señales

pueden provenir de un sensor periférico, como también del cambio de tensión en el punto del

circuito al que esté conectada la entrada. Este cambio de tensión puede darse por por un

accionamiento mecánico (pulsado de un botón o una tecla) o accionamiento electrónico (activación

de un transistor o fototransistor). Tambíen puede generar este tipo de señales al fijar la tensión de la

salida en 5V o 0V, lo que nos permite enviar señales de control de activación y desactivación a la

etapa de potencia. Las salidas digitales pueden también comandar en forma directa algunos

dispositivos (sin necesidad de una etapa de potencia), pero estos deben ser de un consumo muy

bajo de corriente (como un led o un servomotor pequeño)

Entradas Analógicas: Estas entradas nos permitirán el sensado de señales analógicas y su

discretización para su posterior procesamiento. Las señales no deben superar los 5v de amplitud

máxima, Serán representadas por el conversor analógico digital de 10 bits con una resolución de

1024 valores. Esto quiere decir que podremos partir el rango (0-5)V, en 1024 valores diferentes. Se

emplean específicamente para la lectura de los sensores que devuelvan este tipo de señales.

23

©RedEscuelas. Todos los derechos reservados.

Microcontrolador ATmega 328p: Este es el modelo de microcontrolador que lleva el Arduino UNO,

es el centro neurálgico de la lógica y procesamiento del embebido.

Salidas PWM: Estas salidas permiten enviar una señal digital pulsada para aplicar la técnica de

control conocida como PWM (pulse width modulation o modulación por ancho de pulso). Consiste

básicamente en variar el ancho de pulso de una señal periódica para variar la potencia media

entregada desde la fuente hacia la carga (un motor o un led). Como resultado se varía la velocidad

del motor o la intensidad de luz emitida por el led.

d.Entorno de desarrollo integrado

Lo importante de entender, es que el microcontrolador es capaz de procesar información, enviar

órdenes y recibir datos del medio. El procesamiento siempre tiene que ver con operaciones

matemáticas y lógicas que resuelve gracias al microprocesador, mientras que la interacción con el

entorno es a partir de sus patas o pines, las cuales pueden configurarse para recibir señales o enviar

órdenes. A su vez, estas señales y órdenes pueden ser analógicas o digitales.

Entonces, construir un programa se basa en indicarle al microcontrolador, bajo qué condiciones

debe ejecutar una u otra acción. Y estas condiciones pueden estar sujetas al entorno, es decir, a la

lectura de los sensores.

El entorno de desarrollo integrado o IDE (Integrated Development Environment), es la interfaz

gráfica desde la cual se editan los programas, se compilan y se cargan en el microcontrolador. Para

editar el programa debemos conocer el lenguaje, es decir, el conjunto de instrucción y rutinas

disponibles y cómo codificarlas. De esta manera sabremos como indicarle al microcontrolador lo que

queremos hacer.

El proceso de compilación se basa en traducir el código que escribimos a lenguaje de máquina, es

decir, al lenguaje que puede “entender” el microcontrolador para ejecutar el programa. Si en alguna

parte del código equivocamos la forma en que se escribe una instrucción o se emplea una función,

nos devolverá un error de compilación. Si no hay errores de compilación el programa se cargará en

el microcontrolador y estará listo para usarse.

Veamos el programa Arduino Software (IDE), y las herramientas que proporciona.

Antes que nada, se descarga la IDE: https://www.arduino.cc/en/main/software#:

24

©RedEscuelas. Todos los derechos reservados.

Se elige el instalador que corresponda al sistema operativo de la computadora. La descarga es

gratuita. Una vez instalada la IDE en la computadora se puede acceder como a cualquier otro

programa desde la barra de inicio o un ícono de escritorio.

Lo primero que podemos hacer es ir a File>Preferences y cambiar el idioma a Español (Spanish).

Una vez modificado el idioma, cerramos y volvemos a abrir el programa para que guarde los

cambios.

25

©RedEscuelas. Todos los derechos reservados.

El Arduino IDE contiene un editor de texto (como el bloc de notas de windows) para escribir el

código, un área de mensajes, una consola de texto, una barra de herramientas con botones para

funciones de uso común y una serie de menús.

e.Escribir Sketches (Programas)

A los programas que se escriben usando el Arduino Software (IDE) se los llama sketches. Estos

sketches son escritos en el editor de texto y son guardados con la extensión de archivo .ino. El editor

tiene funciones como copiar/pegar y buscar/reemplazar texto. El área de mensaje nos mantiene al

tanto de los errores cometidos o de la la función que está realizando el software, como compilar o

cargar el programa. En la esquina inferior derecha de la ventana se muestra la placa que tenemos

seleccionada (Arduino Uno, Mega, etc...) y el puerto serie COM (USB) al que está conectada. Los

botones de la barra de herramientas nos permiten verificar, subir, crear nuevo, abrir, y guardar

(salvar) sketches, y abrir el monitor serie.

26

©RedEscuelas. Todos los derechos reservados.

Verificar Chequea si hay errores en el código compilándolo.

Subir Compila el código y lo sube a la placa que esté conectada.

Nuevo Crea un sketch nuevo.

Abrir Presenta un menú de todos los sketches en tu proyecto (sketchbook). Haciendo click en uno de ellos lo abrirá en una nueva ventana. También da acceso rápido a ejemplos de sketches.

Salvar Salva el sketch.

Monitor Serie Abre el monitor serie

27

©RedEscuelas. Todos los derechos reservados.

Sketchbook (proyecto)

El Arduino Software (IDE) usa el concepto de proyecto. Un lugar estándar para almacenar los

programas (sketches). Los sketches en tu sketchbook pueden ser abiertos desde Archivo > Proyecto

ó desde el botón Abrir. La primera vez que se uses Arduino Software (IDE), creará automáticamente

un directorio para tu proyecto. Se puede ver o cambiar la ubicación predeterminada del proyecto

desde Archivo > Preferencias.

Subiendo o cargando el sketch

Antes de subir el sketch, se necesita seleccionar la placa correcta desde Herramientas > Placa y el

puerto desde Herramientas > Puerto. En Windows, probablemente aparezca como COM3 o mayor y

entre paréntesis el nombre de la tarjeta conectada. Sin embargo, esto dependerá de los drivers

utilizados para el puerto USB . Se puede buscar el dispositivo USB en los puertos de el Windows

Device Manager.

Una vez seleccionada la placa correcta y su puerto, se presiona el botón Subir de la barra de tareas.

En la mayoría de las placas, se puede ver los leds asociados a los pines de Arduino RX y TX titilar

mientras se carga el programa, indicando la transferencia de datos. hay que asegurarse que nada

esté conectado a estos pines mientras se carga un programa nuevo.

El Arduino Software (IDE) mostrará un mensaje cuando termine de subir el programa. Si no hubo

problemas mostrará el mensaje “sketch subido” . De lo contrario mostrará los errores de

compilación o de comunicación entre la placa y la PC.

Cuando se sube un programa, se está usando el Arduino bootloader, un programa que fue cargado al

microcontrolador previamente. Esto permite subir código sin necesidad de hardware adicional. El

bootloader está activo por unos segundos cuando se resetea la placa, luego comienza a ejecutar el

último sketch que se haya subido al microcontrolador.

Librerías

Las librerías proveen funcionalidades extra que pueden ser empleadas en el programa. Por ejemplo

trabajar con hardware específico como sensores ó bien manipular datos. Puedes usar las librerías

escritas por otros usuarios o bien crear tus propias librerías. Para tener disponible una librería en un

sketch primero hay que cargarla desde Programa > Incluir Librería.

28

©RedEscuelas. Todos los derechos reservados.

A partir de aquí, para usar la librería en un sketch se escribe #include <Nombre de la librería> al

principio del sketch. Como las librerías deben ser subidas a la placa junto al sketch, estas aumentan

el espacio ocupado en memoria.

Monitor Serie

El monitor serie permite mostrar los datos enviados y recibidos desde la placa Arduino a través del

puerto USB. Para enviar datos desde la PC a la placa se puede ingresar texto en la barra superior y

presionar send. Para establecer una comunicación se deben establecer algunos parámetros que

veremos posteriormente en los ejemplos.

Estructura de un programa

A continuación presentaremos la estructura típica de un programa en Arduino.

29

©RedEscuelas. Todos los derechos reservados.

Lo primero es identificar las partes principales de la estructura del programa y las herramientas

básicas de Edición del mismo.

Nota que las palabras clave reservadas por el compilador para tareas específicas se tornan de otro

color. Esto permite detectar rápidamente errores de tipeo. Por otro lado, puedes hacer comentarios

a lo largo de todo el código. Estos comentarios serán ignorados por el compilador, simplemente son

una herramienta para explicar y recordar lo que hace cada parte del código. Para incluir comentarios

se usa la doble barra //, o bien /* comentario */ como se muestra en el ejemplo. Los comentarios

aparecen en color gris.

Lo primero que se hace en el código es definir las variables y constantes que se van a utilizar de

forma global. Se colocan etiquetas a ciertos números para facilitar su uso a lo largo del código y se

definen las librerías que se utilizarán.

Es una buena práctica de programación utilizar letras mayúsculas para las constantes y letras

minúsculas para las variables. Las etiquetas se nombran haciendo referencia al uso que se le dará al

número en el programa.

De esta manera podremos tener:

La última instrucción asigna el número 13 a la etiqueta PIN_LED. De esta forma, cada vez que se

escriba PIN_LED en el código será lo mismo que escribir 13.

Lo que sigue es el setup y el loop. Ambas son funciones, la primera de configuración (se ejecuta una

sola vez cuando comienza el programa) y la segunda de ejecución cíclica indefinida. Cuando una

función no devuelve ningún parámetro, se coloca delante del nombre de la función la palabra

reservada void. Cuando devuelve algún valor se coloca delante del nombre de la función el tipo de

variable que devuelve, por ejemplo int, float, boolean. En este caso, ninguna de las dos funciones

devuelve ningún valor.

30

©RedEscuelas. Todos los derechos reservados.

f. Manejo de sensores

A la hora de percibir el mundo real, un robot o máquina automatizada necesita dispositivos análogos

a órganos sensoriales, ojos para ver, oidos para oir, piel para percibir la temperatura, etc. Estos

dispositivos se denominan sensores. La analogía no suele ser tan directa como uno creería, es decir,

reemplazar los ojos con una cámara o los oídos con un micrófono.

La realidad es que el poder de procesamiento necesario para procesar la información de estos

dispositivos tan complejos requiere computadoras y algoritmos de inteligencia artificial que todavía

son restrictivos para el usuario (no así para la industria que ya trabaja con sistemas de visión por

ejemplo). Por lo tanto los sensores que se utilizan suelen ser más sencillos y puntuales a la hora de

observar el mundo que rodea a la máquina. Los sensores que podemos utilizar se dividen en dos

categorías que derivan del tipo de información que pueden generar.

Sensores Digitales

Por digital nos referimos a que el sensor devuelve una señal que solo puede tomar dos estados. Un

botón puede estar apretado o no, un sensor PIR de movimiento puede indicar que hay movimiento o

no, un haz infrarrojo puede estar interrumpido o no. Solo dos situaciones se pueden presentar en

estos sensores y nunca ambas al mismo tiempo. Estos dos estados son representados eléctricamente

con dos tensiones (voltajes), 5V o 0V, y computacionalmente se representan como los estados

binarios 1 (nivel alto - activado) o 0 (nivel bajo - desactivado).

Estos sensores no son tan sensibles a las sutilezas que nosotros podemos percibir con nuestros

sentidos. Por ejemplo, al ver una persona moverse frente a nosotros podemos estimar dirección,

sentido y velocidad. El sensor PIR (usados domésticamente para detectar si hay alguien en el pasillo

y encender la luz) solamente le dice al microcontrolador si algo se movió y no a qué velocidad o en

en qué sentido ni en qué dirección.

Pasemos a detallar algunos de los sensores que emplearemos.

Final de carrera: No es más que un botón mecánicamente robusto que nos permite saber cuando se

llega al límite mecánico del recorrido de un movimiento. Tiene tres patas. Una donde se alimenta

con 5V, otra que se conecta a la referencia (0V) y la última pata, la de señal, se conecta a un pin

digital del Arduino.

Cuando el botón está presionado cortocircuita la pata de señal con una de las dos restantes y cuando

no está presionada cortocircuita la pata de señal con la otra. Por lo tanto permite enviarle una señal

de 5V al Arduino cuando está en un estado (no presionada) y una de 0V cuando está en el otro

(presionada). A esta configuración se la llama normal cerrado.

31

©RedEscuelas. Todos los derechos reservados.

Ultrasonido HC-sr04: Algunos sensores digitales buscan devolver información más compleja con la

ayuda de software, el Sensor de Ultrasonido HC-sr04 hace precisamente eso. Eléctricamente tiene

un comportamiento sencillo. Tiene una pata de alimentación de 5V y una pata de conexión a GND

(0V). Además tiene una pata llamada Echo, y otra llamada Trigger.

Con el Trigger se acciona el disparo de una onda ultrasónica (esta función se podría considerar como

un actuador, el término correcto sería sensor activo) y con el Echo se captura el rebote. El principio

de funcionamiento consta en disparar una rafaga corta (del orden de los 10us) de onda ultrasónica,

para luego esperar y sensar el rebote.

Sabiendo que la onda se mueve a la velocidad del sonido y conociendo el tiempo que tardó entre

que se disparó y se sensó el eco, se puede calcular indirectamente la distancia a la que se encuentra

el objeto.

32

©RedEscuelas. Todos los derechos reservados.

Sensores Analógicos

Estos sensores devuelven información más detallada. No solo dos posibles estados sino que un rango

pseudo continuo de valores, lo que significa que en principio se puede obtener cualquier valor. Para

poder almacenar esta información en el microcontrolador, hay que discretizarla. Esto quiere decir,

partirla en una cantidad finita de pedazos. A cada “pedazo” en que se parte la información se lo

llama muestra. Cuantas más muestras se puedan tomar, más precisa es la medición y más útil es la

información.

Si la respuesta del sensor genera una forma de onda como esta:

El Conversor Analógico Digital (ADC, por sus siglas en inglés) del Arduino discretizará la señal

tomando valores a una frecuencia determinada, es decir, a intervalos constantes de tiempo. Como

resultado de este proceso se obtiene la una señal con la siguiente forma:

33

©RedEscuelas. Todos los derechos reservados.

La resolución de 1024 valores distintos (del 0 al 1023) de tensión que puede discretizar el ADC de 10

bits del Arduino suelen ser más que suficiente para describir la curva original con la fidelidad

adecuada. Cada escalón de medida es de 5V/1024 = 0,00488281V, algo menos de 5mV, lo que

significa que no puede discriminar entre valores de tensión cuya diferencia sea menor que esto.

Sin entrar en mucho detalle, lo que un convertidor ADC hace es comparar sucesivamente la señal

que queremos cuantificar en la entrada, con una tensión de referencia. Dicho de otro modo, el ADC

no proporciona valores absolutos sino relativos.

Por default la tensión de comparación es de 5V, sin embargo cuando el sensor no devuelve un valor

máximo de 5V conviene redefinir la referencia para poder mejorar la resolución

Sensor de temperatura TMP36: Tiene una pata de alimentación, una de referencia (0V) y una tercera

de señal que se conecta a un pin analógico del Arduino. Este sensor devuelve una tensión entre 0.1V

y 1.7V para representar la temperatura a la que está siendo sometido (entre -40°C y 125 °C) como se

puede ver en esta gŕafica:

34

©RedEscuelas. Todos los derechos reservados.

Como se puede ver que la tensión máxima (1.7V) es menor que el default de 5V, conviene cambiar la

tensión de referencia. Esto puede hacerse por código mediante la instrucción analogReference(). En

Arduino UNO por ejemplo, analogReference(INTERNAL) redefine la tensión de referencia como 1,1V,

lo que permite aprovechar las 1024 posibilidades. Por más que con 1.1V de referencia máxima no

puedo medir las temperaturas más altas, para medir temperaturas cercanas a la temperatura

ambiente funcionaría bien (nota en la curva que para 1,1V la temperatura debería ser de 60°

aproximadamente).

Otra opción es usar una referencia de tensión externa. Para ello, en el código se define

analogReference(EXTERNAL) y se conecta la referencia de tensión deseada en el pin referenciado

con AREF.

Sensor de humedad de suelo - capacitivo SOIL MOISTURE: Este sensor también es analógico y se

conecta de la misma forma. Debemos hallar la tabla correspondiente para su calibración.

35

©RedEscuelas. Todos los derechos reservados.

5. Estructura mecánica de un robot

Dentro del sistema robótico podemos decir que existe una parte de la mecánica orientada a la

movilización y otra parte orientada a la manipulación. Cuando hablamos de manipulación, hablamos

del posicionamiento de un elemento terminal (soldadora, pinza, destornillador, regador etc) en un

punto determinado del espacio para realizar una determinada función.

Un robot puede combinar ambas partes o carecer de una de ellas. Si un robot tiene como única

función explorar y relevar datos, toda su mecánica apuntará seguramente al traslado del robot. Esto

podría ser por medio de ruedas u orugas si es terrestre o por medio de hélices y/o alas si es aéreo.

Por otro lado si un robot forma parte de la línea de ensamblaje de una fábrica automotriz, toda su

mecánica apuntará a la manipulación de la herramienta, ya que el robot no necesita desplazarse.

Abarcaremos de aquí en más, la estructura destinada al posicionamiento de un elemento terminal.

Es decir, nos enfocaremos en la mecánica de un sistema manipulador sin desplazamiento.

Mecánicamente, un manipulador está formado por una serie de elementos o eslabones unidos

mediante articulaciones que permiten un movimiento relativo entre dos eslabones consecutivos.

Cada uno de los movimientos independientes que puede realizar cada articulación con respecto a la

anterior se denomina grado de libertad.

a. Transmisiones

Las transmisiones son los elementos encargados de transmitir el

movimiento desde los actuadores hasta las articulaciones.

También pueden ser utilizadas para convertir un movimiento

traslacional en rotacional o viceversa. Un buen sistema de

transmisión debe tener un tamaño y peso reducidos, debe evitar

holguras y debe ser capaz de soportar un funcionamiento continuo

a un par (torque) elevado.

Para la transmisión pueden emplearse reductores u optar por el accionamiento directo. Los

reductores son los encargados de adaptar el par y la velocidad de salida del actuador a los valores

adecuados. A los reductores utilizados en robótica se les exigen condiciones de funcionamiento muy

restrictivas por las altas prestaciones que deben presentar en cuanto a precisión, repetitividad y

velocidad de posicionamiento. Deben ser de bajo peso y tamaño y presentar poca fricción. Deben

soportar elevados pares instantáneos (continuos arranques y paradas).

36

©RedEscuelas. Todos los derechos reservados.

Si en lugar de emplear reductores se realiza un accionamiento directo, el eje del actuador se

conecta directamente a la articulación. Es ventajoso ya que reduce la complejidad de la estructura

mecánica.

Sin embargo se requiere de un motor con par elevado a bajas revoluciones manteniendo la mayor

rigidez posible. Estas características encarecen sustancialmente al motor.

Como resumen presentamos la siguiente tabla con las posibilidades de transmisión, sus ventajas y

desventajas.

b. Manejo de actuadores

Los actuadores son los dispositivos que emplea el robot para actuar sobre el entorno que lo rodea.

Pueden ser neumáticos, hidráulicos o eléctricos. Los eléctricos suelen ser motores. En particular, nos

encargaremos de describir el funcionamiento y control de los motores PaP (paso a paso).

Para no complejizar, diremos que los motores paso a paso se activan por medio de pulsos. Cada vez

que el motor recibe un pulso, avanza un ángulo determinado o paso. En general, estos motores

trabajan con 400 pasos por vuelta, con lo cual, el eje rota 360°/400 = 0,9° por paso. El sentido de giro

37

©RedEscuelas. Todos los derechos reservados.

se regula con la secuencia de pulsos y la velocidad se regula con la ventana temporal entre pulso y

pulso.

La ventaja de estos motores es que nos permiten posicionar el eje con mucha precisión. Si la

rotación se convierte mediante transmisiones en un movimiento lineal, se podrá posicionar con

precisión cualquier herramienta a lo largo de un eje cartesiano.

En principio, debemos considerar que si no se agrega un encoder (sensor) para conocer la posición,

este tipo de motor funciona a lazo abierto. Es decir, no cuenta con una realimentación de la posición

en la cual se encuentra. Si por algún motivo, se pierde algún paso en la secuencia que el motor

recibe, no hay forma de que el sistema “se entere” y pueda corregir el error.

Los motivos posibles para perder pasos tienen que ver con que el motor deba realizar un torque

superior al torque de régimen para poder avanzar un paso. Por ello, es recomendable su uso en

ocasiones en que el torque del motor sea muy superior al torque necesario para mover la carga. Otra

opción es integrar un encoder al motor.

Los motores que más se emplean tanto en aplicaciones industriales como en máquinas de menor

porte son los bipolares. Existen dos formas de suministrar la secuencia de pulsos necesaria para el

control.

Como hemos visto, los actuadores necesitan una etapa de control que provea las señales de baja

corriente (en nuestro caso el Arduino), y una etapa de potencia que permita el flujo de energía

desde la fuente al motor cuando la etapa de control se lo indique.

En este caso, el driver resuelve internamente la secuencia, recibiendo

solo un tren de pulsos y un nivel lógico para el sentido de giro. Para

motores de bajo consumo (menos de 1A en total) puede emplearse el

integrado A4988, conocido comercialmente como pololú. Para motores

de mayor consumo se emplean drivers como el Toshiba Tb6560. Con

este tipo drivers la velocidad se controla regulando el período del tren

de pulsos.

38

©RedEscuelas. Todos los derechos reservados.

6. Impresión 3D

Nos ocuparemos específicamente de las impresoras cartesianas orientadas a imprimir PLA. En

particular describiremos un modelo comercial estándar de bajo costo. Esta máquina no es industrial,

y es ideal para iniciarse en la temática.

La diferencia principal radica en la robustez y la estética del diseño. Sin embargo, con los ajustes

adecuados, la calidad de impresión de esta máquina no tiene nada que envidiarle a una de la gama

inmediatamente superior.

Existen muchos materiales con los cuales puede fabricarse la estructura de estas máquinas. Tu

mismo puedes intentar fabricar la tuya con tus amigos. La experiencia indica que el marco de acero

cortado con láser, si bien no es la opción más estética, es económica y muy funcional.

Con este dispositivo puedes llevar fácilmente a la realidad, piezas que antes solo podían imaginarse

o cuya fabricación era sumamente difícil, cara, engorrosa o imposible. El desafío radica en darle

aplicaciones concretas a estas piezas, como haremos a lo largo del proyecto integrador.

Las piezas impresas en plástico sirven para realizar prototipos de bajo costo y rápida

implementación, o bien piezas definitivas que tengan poca exigencia mecánica cuando estén

cumpliendo su función en el mecanismo para el cual fueron diseñadas. Si se usan en un prototipo,

una vez que “todo encaja” se reproducen en metal o el material que convenga con la ventaja de

saber que será la pieza definitiva. Esto abarata notablemente los costos y tiempos de producción.

39

©RedEscuelas. Todos los derechos reservados.

a. Partes de una impresora

Display con menú de Control: Con esta pantalla LCD

podremos seleccionar los archivos a imprimir desde la

tarjeta SD, como también controlar varios aspectos de la

máquina para su mantenimiento y uso cotidiano. Esto

incluye el movimiento de los ejes X, Y, Z y el de extrusión, la

temperatura del hotend y de la cama caliente.

5 Motores Paso a Paso Nema 17: Los 3 ejes de la máquina

son accionados por 5 motores idénticos, lo que facilita la

tarea a la hora de reemplazarlos en caso de falla de alguno.

El movimiento a lo largo del eje Z es el único que utiliza dos

motores en conjunto para mover el puente, el resto de los

movimientos emplean un motor por eje.

Cama caliente: Este elemento calienta el vidrio donde se

depositará el material. El plástico al enfriarse tiende a

contraerse y si no se mantiene a la temperatura adecuada,

40

©RedEscuelas. Todos los derechos reservados.

las primeras capas de la pieza se despegarán. Si bien no es estrictamente necesaria, es muy

recomendable su uso.

Fuente switching 12V - 20A: Se encarga de aportar la

potencia necesaria para alimentar la totalidad del sistema.

Desde aquí se controla el encendido y apagado a través de

un switch mecánico agregado. La corriente elevada se debe

a que la cama caliente tiene mucho consumo.

Rollo de material a ser aportado: Estos son rollos de

distintos tipos de plásticos (usualmente ABS o PLA) que

vienen en forma de hilo de distintos diámetros. El material

se derrite al pasar por el hotend desde donde se deposita

capa por capa para ir formando la pieza.

El cabezal de extrusión 3D está formado por dos componentes fundamentales, el extrusor y el

hotend. Este dispositivo es una pieza sensible en el funcionamiento de la máquina y por ende debe

ser de buena calidad.

41

©RedEscuelas. Todos los derechos reservados.

Extrusor: Esta parte es considerada el cuarto eje de la impresora.

Empuja el plástico que viene del rollo para introducirlo en el hotend

de forma que se funda para poder depositarlo. El extrusor es

accionado por un motor nema 17 y cuenta con engranajes que le

permiten desarrollar mayor torque. Este conjunto puede ser impreso

casi en su totalidad, sin embargo, suele traer problemas. El más

común de ellos es que se patine el filamento, es decir, que gire el

motor sin lograr empujar el hilo de material hacia el interior del

hotend.

Hot End: Es una pieza metálica que se calienta con un cartucho

resistivo hasta temperaturas suficientes como para fundir el plástico. El hilo de

plástico pasa por el centro de la pieza empujado por el extrusor y es expulsado

por la punta del hotend (nozzle) que suele ser de un diámetro de 0,4 mm. El

problema más común con este dispositivo es que se tape. Aquí nuevamente

conviene invertir en un modelo de calidad ya que destaparlo implica desarmar el

cabezal y es una tarea sumamente engorrosa.

42

©RedEscuelas. Todos los derechos reservados.

Guías y rodamientos lineales: Las guías y rodamientos limitan el movimiento a lo largo de un eje

rectilíneo. Proveen la estructura necesaria para que una articulación se desplace linealmente.

Existen mejores guías que emplean patines en lugar de rodamientos pero no se justifica el gasto en

esta estructura.

Varilla roscada con tuerca y correa de transmisión: Permiten

transmitir el movimiento desde los motores a los carros para

que estos se muevan linealmente. El puente baja y se eleva

mediante la dos varillas roscadas mientras que la cama y el

carro porta cabezal se mueve mediante correas. Alternativas a

la varilla roscada, de mejor calidad pero más costoso, es el

tornillo de rosca recta con tuerca sombrero. Por último, el

mejor sistema de transmisión equivalente a estos últimos es el

tornillo a bolas recirculantes. Se utiliza en fresadoras, es decir,

en máquinas de gran porte. Son excesivamente caros y su uso

no se justifica en las impresoras 3D ya que los movimientos no

tienen mucha resistencia al avance.

b. Materiales de impresión

Los materiales utilizados son generalmente polímeros ofrecidos al público en forma de filamento. Se

consiguen en paquetes de 0,5 y 1kg. Entre los polímeros más utilizados se encuentran:

● PLA (ácido poliláctico):

● ABS (acrilonitrilo butadieno estireno):

● PET (polietileno tereftalato):

● Nylon

● HIPS (poliestireno de alto impacto)

● PVA (acetato de polivinilo)

Los más empleados son el PLA y el ABS. El resto se consideran materiales más técnicos ya que se

utilizan para aplicaciones específicas donde se requieran características especiales (por ejemplo,

43

©RedEscuelas. Todos los derechos reservados.

resistencia mecánica, resistencia a la temperatura, etc). La impresión con estos materiales es más

compleja.

Característica PLA ABS

Temperatura de cama 60ºC 110ºC

Temperatura de hot-end 180 - 210ºC 220 - 240ºC

Características Mecánicas Resistencia media. No apto para altas

temperaturas.

Alta resistencia. Apto para aplicaciones en

intemperie.

Dificultad de impresión Baja Media

c. Software asociado a la impresión 3D

El proceso comienza con un modelo 3D (diseñado con un software de CAD) que se exporta a un

formato llamado .stl (stereolitography). Este formato representa las formas con triángulos. como

podemos ver en la siguiente foto un ejemplo de esto:

A continuación debemos procesar el archivo stl para llevarlo a un modelo por capas. Esta tarea la

realiza un software que se denomina slicer (rebanar), el cual divide al modelo en una serie de capas

como si se tratara de una pared de ladrillos.

Esto lo hacemos porque la impresora comienza a imprimir sobre la cama caliente y luego va

depositando el material fundido en capas, una encima de la otra. Utilizaremos el software SLC3R, el

cual es gratuito. Debemos cargarle los parámetros de nuestra impresora para que funcione

correctamente.

44

©RedEscuelas. Todos los derechos reservados.

El programa generará lo que se conoce como código G. El código G es una serie de comandos que

indican a la impresora los movimientos que debe realizar. La interpretacion del codigo G es realizada

por el firmware (o controlador) de cada impresora.

d. Configuraciones y seteo de parámetros

Parámetros de la impresora:

● Diámetro del nozzle: Es el diámetro de la apertura situada al final del hotend y

corresponde al diámetro del filamento fundido que sale del mismo. Cuanto mayor

sea este valor se podrá imprimir con mayor velocidad pero se sacrifica definición. El

diámetro más común es 0.4mm pero se trabajan nozzles con agujeros desde 0.15 a

1.2 mm.

● Velocidades: Son las velocidades a las cuales se realizan las acciones. Se configuran

las velocidades de cada movimiento y se sincroniza con la velocidad de extrusión.

Las velocidades se definen para las distintas partes de la pieza (soportes, perímetros,

relleno, etc).

Parámetros de la pieza:

● Altura de Capa: Es la altura de cada capa en la cual se divide el objeto. Cuanto más

pequeño sea este valor se obtendrá una mejor resolución a cambio de un mayor

tiempo de impresión. Valores normales: 0.1 a 0.3 mm (para nozzle de 0.4mm).

● Perímetros: Es la cantidad de paredes sólidas que posee nuestra pieza (ten en

cuenta que no se suelen hacer rellenas al 100%). Esta opción se descompone en

perímetros horizontales (corresponden a las paredes inferiores y superiores) y

verticales (corresponden a los bordes del objeto). Se suelen utilizar 3 perímetros

(cada uno tiene un ancho igual al diámetro del nozzle). Si se requiere mayor

robustez mecánica se puede aumentar este parámetro.

● Porcentaje de relleno: Dado que la mayoría de las piezas poseen suficiente robustez

mecánica para los usos más generales no es necesario que sean sólidas en su

interior. Este parámetro define el porcentaje del interior de la pieza que será sólido.

Si se utiliza un número mayor, la pieza será más fuerte pero la cantidad de material

necesario para crearla también aumentará. Valores normales: 20-40%.

45

©RedEscuelas. Todos los derechos reservados.

● Generación de soportes: el slicer nos da la opción de generar soportes debajo de las

superficies que se encuentran en voladizo. Se pueden pensar a los soportes como un

andamio.

Parámetros del material:

● Temperatura del hot-end

● Temperatura de la cama caliente

e. Cómo imprimir

Comenzamos con el modelo en 3D que queremos imprimir, en formato stl. Debemos abrirlo con el

slicer, cargar la configuración correspondiente a nuestra impresora y al material y generar el código

G que corresponde a nuestro modelo.

Debemos enviarle el archivo de código G a nuestra impresora, lo cual se realiza cargándolo en una

tarjeta SD o a través de internet si la impresora lo permite.

Con la impresora antes de comenzar a imprimir, se debe colocar un spray adhesivo sobre la cama

caliente para que la primera capa se adhiera con firmeza.

Finalmente, desde la interfaz de la impresora debemos seleccionar el archivo que queremos

imprimir.

46

©RedEscuelas. Todos los derechos reservados.

7. Diseño CAD

TinkerCad

TinkerCad es una plataforma on-line gratuita, de diseño 3D orientada a impresión 3D, de la empresa

AutoDesk. Tiene como objetivo enseñar modelado 3D a hobbistas, maestros y niños, por lo que evita

técnicas de alta complejidad en su catálogo de herramientas, lo que suele inhibir el aprendizaje en

softwares de diseño más avanzados como SolidEdge, SolidWorks, Catia, etc…

Introduce al usuario al mundo del diseño de piezas utilizando figuras geométricas sencillas y

conocidas como cubos, cilindros y otros. Les enseña sobre todo la forma de pensar y la lógica

espacial que se necesita para crear modelos que luego serán impresos en 3D.

Lo primero que necesitas hacer para empezar es ir a https://www.tinkercad.com y registrarte como

nuevo usuario.

Nos redireccionará a https://accounts.autodesk.com/User/SignUp donde crearás tu cuenta de

AutoDesk, la empresa madre de TinkerCad

47

©RedEscuelas. Todos los derechos reservados.

Una vez que accedas con tu nueva cuenta, TinkerCad nos recibe con un tutorial inicial para aprender

las herramientas básicas del software.

Presionando “Let´s Go!” comenzamos el tutorial que nos llevará a la mesa de trabajo para empezar

con los diseños.

48

©RedEscuelas. Todos los derechos reservados.

Los tutoriales se pueden interrumpir, saltear y repetir en cualquier momento. Te recomendamos

hacerlos la primera vez que interactúes con el software. Una vez familiarizado con el software

puedes empezar a diseñar tus propias piezas desde la página principal.

49

©RedEscuelas. Todos los derechos reservados.

8. Conclusiones

Con toda esta información estás en condiciones de dar los primeros pasos en el mundo de la

robótica. Ten en cuenta que implica mucho esfuerzo, pero la satisfacción de terminar los proyectos

es gigante.

Esperamos que esta experiencia sea un disparador para que que encuentre tu propio camino. Con

estas herramientas no hay límites. Lo que se te ocurra, se puede hacer. Inventá, probá, desafiá los

límites. Te vas a equivocar seguramente, todos nos equivocamos. Pero seguí probando. Cuando este

mundo te envuelve, lo que puede parecer un trabajo, una innovación o un proyecto termina siendo

un juego. Y no hay nada mejor que sentir que tu trabajo es como un juego.

Para terminar te dejamos esta reflexión:

“Busca un trabajo que te apasiones, y no tendrás que trabajar ni un solo día de tu vida”

Confucio

50

©RedEscuelas. Todos los derechos reservados.