Robótica e impresión 3D - abc.gob.ar · igual que en el torno, la velocidad de giro de la pieza...
Transcript of Robótica e impresión 3D - abc.gob.ar · igual que en el torno, la velocidad de giro de la pieza...
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.