unidad 3 robÓtica - dominicasalbacete.es · integrados tipo oscilador 555 o ... sensores y toma...

9
Tecnología 4º ESO: Robótica UNIDAD 3 ROBÓTICA 3.1.- INTRODUCCIÓN 3.2.- SENSORES 3.3.- ACTUADORES 3.4.- UNIDAD DE CONTROL 3.5.- ARDUINO 3.6.- LENGUAJE DE PROGRAMACIÓN. 3.1.- INTRODUCCIÓN El proceso hasta llegar a la robotización pasa por tres conceptos: Mecanización, automatización y robotización. MECANIZACIÓN: Empleo de máquinas que realizan determinadas tareas repetitivas sustituyendo el esfuerzo humano. Con la mecanización se consigue ahorrar tiempo y construir productos estandar de mayor calidad. Ejemplos de mecanización: maquinaria de performado de plásticos para producir envases de plástico o troqueladoras de señales de tráfico y matrículas para vehículos. AUTOMATIZACIÓN: Tecnología de producción en la que un operario es sustituido total o parcialmente por una máquina que no solo realiza la tarea, sino que supervisa y regula el proceso. Con la automatización se consigue mejorar la seguridad laboral y producir piezas muy complejas o difíciles. Además, no se necesitan grandes conocimientos técnicos para supervisar el desarrollo de la actividad. Ejemplo de automatización: proceso de creación de circuitos integrados tipo oscilador 555 o comparador 741. ROBOTIZACIÓN: Es la fase final de este proceso y constituye un tipo de automatización aún más avanzada puesto que la máquina no solo controla automáticamente el proceso sino que permite la coordinación de varios procesos, secuenciales o paralelos. Ejemplo: planta robótica de fabricación y producción de vehículos. Dicha máquina, que controla automáticamente y que coordina varios procesos es el robot: podemos definirlo como “un manipulador multifuncional, diseñado para mover cargas, piezas, herramientas u otros dispositivos, y que puede programarse para realizar diferentes trabajos”. Viene del vocablo checo robota que significa “Trabajador forzado”. Su misión es realizar una tarea cíclica con gran precisión y eficacia. Así, el funcionamiento de un robot, al igual que el de un sistema automatizado, se resume en tres fases: Fase de percepción del entorno: en esta fase se obtienen señales eléctricas procedentes de sensores situados en el entorno y que el sistema convierte en datos de entrada para la siguiente fase. Fase de procesado e interpretación de datos. Dados los datos de entrada de la anterior fase, el sistema general de control decide las acciones a llevar a cabo (este lo vimos en el tema anterior, sistemas de control) Fase de ejecución de la acción. El sistema realiza una tarea concreta. Se denomina acción a la ejecución física de un cambio en el robot y lo lleva a cabo los actuadores . Página 1 de 9

Upload: lamnhan

Post on 18-Aug-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: UNIDAD 3 ROBÓTICA - dominicasalbacete.es · integrados tipo oscilador 555 o ... sensores y toma decisiones de acuerdo con ella. En este tema veremos los sistemas de ... ARDUINO es

Tecnología 4º ESO: Robótica

UNIDAD 3ROBÓTICA

3.1.- INTRODUCCIÓN3.2.- SENSORES3.3.- ACTUADORES3.4.- UNIDAD DE CONTROL3.5.- ARDUINO3.6.- LENGUAJE DE PROGRAMACIÓN.

3.1.- INTRODUCCIÓN

El proceso hasta llegar a la robotización pasa por tres conceptos: Mecanización,automatización y robotización.

MECANIZACIÓN: Empleo de máquinas que realizan determinadas tareas repetitivassustituyendo el esfuerzo humano. Con la mecanización se consigue ahorrar tiempo y construirproductos estandar de mayor calidad. Ejemplos de mecanización: maquinaria de performado deplásticos para producir envases de plástico o troqueladoras de señales de tráfico y matrículaspara vehículos.

AUTOMATIZACIÓN: Tecnología de producción en la que un operario es sustituidototal o parcialmente por una máquina que no solo realiza la tarea, sino que supervisa y regula elproceso. Con la automatización se consigue mejorar la seguridad laboral y producir piezas muycomplejas o difíciles. Además, no se necesitan grandes conocimientos técnicos para supervisarel desarrollo de la actividad. Ejemplo de automatización: proceso de creación de circuitosintegrados tipo oscilador 555 o comparador 741.

ROBOTIZACIÓN: Es la fase final de este proceso y constituye un tipo deautomatización aún más avanzada puesto que la máquina no solo controla automáticamente elproceso sino que permite la coordinación de varios procesos, secuenciales o paralelos. Ejemplo:planta robótica de fabricación y producción de vehículos.

Dicha máquina, que controla automáticamente y que coordina varios procesos es elrobot: podemos definirlo como “un manipulador multifuncional, diseñado para mover cargas,piezas, herramientas u otros dispositivos, y que puede programarse para realizar diferentestrabajos”. Viene del vocablo checo robota que significa “Trabajador forzado”. Su misión esrealizar una tarea cíclica con gran precisión y eficacia.

Así, el funcionamiento de un robot, al igual que el de un sistema automatizado, seresume en tres fases:

Fase de percepción del entorno: en esta fase se obtienen señales eléctricasprocedentes de sensores situados en el entorno y que el sistema convierte en datos de entradapara la siguiente fase.

Fase de procesado e interpretación de datos. Dados los datos de entrada de laanterior fase, el sistema general de control decide las acciones a llevar a cabo (este lo vimos enel tema anterior, sistemas de control)

Fase de ejecución de la acción. El sistema realiza una tarea concreta. Sedenomina acción a la ejecución física de un cambio en el robot y lo lleva a cabo los actuadores.

Página 1 de 9

Page 2: UNIDAD 3 ROBÓTICA - dominicasalbacete.es · integrados tipo oscilador 555 o ... sensores y toma decisiones de acuerdo con ella. En este tema veremos los sistemas de ... ARDUINO es

Tecnología 4º ESO: Robótica

Así, en este apartado vamos a estudiar cada uno de los elementos que llevan a caboestas fases para, finalmente, centrarnos en la fase de procesado e interpretación de datos con unsistema de control por ordenador.

3.2.- SENSORES

Los sensores son elementos que captan información del entorno y se usan para medirmagnitudes físicas. Veremos cuatro tipos de sensores:

Sensores sensibles a la temperatura. Sensores sensibles a la posición. Sensores sensibles a la velocidad. Sensores sensibles a la fuerza.

SENSORES SENSIBLES A LA TEMPERATURACaptan la temperatura del ambiente, de un objeto o de un punto determinado. Pueden

ser resistencias variables del tipo termistor NTC o PTC.

SENSORES SENSIBLES A LA POSICIÓNTienen dos funciones: detectar la presencia de un objeto de tipo metálico o de otro tipo

(sensores de proximidad) y orientar a los robots autónomos, exploradores, etc. (sensoresmagnéticos, estabilizadores de vuelo, etc.)

Sensor de proximidad

Sensor magnético

SENSORES SENSIBLES A LA VELOCIDADEn general, los sistemas que detectan la posición de un móvil son capaces también de

detectar la velocidad de este, simplemente midiendo el tiempo que tarda en recorrer unadistancia determinada. Pero cuando se trata de medir la velocidad de rotación o velocidadangular, ese sistema no sirve.

La velocidad angular o de rotación es aquella con la que un objeto gira en torno a uneje. Se mide en radianes por segundo y se define como el ángulo recorrido en la unidad detiempo. Para medirlo se utilizan unos elementos llamados tacómetros que se incluyen en todos

Página 2 de 9

Page 3: UNIDAD 3 ROBÓTICA - dominicasalbacete.es · integrados tipo oscilador 555 o ... sensores y toma decisiones de acuerdo con ella. En este tema veremos los sistemas de ... ARDUINO es

Tecnología 4º ESO: Robótica

Sensor sensible a la velocidad

los vehículos de transporte (autobuses ycaminones) y que registran la velocidad deestos en la carretera. La forma en que estosaparatos registran la velocidad está basada enel funcionamiento de los electroimanes y, másconcretamente, de las dinamos: estastransforman la energía de movimiento enenergía eléctrica que el sensor se encarga derecoger y medir. Así, los tacómetros tienenfijada una relación entre la velocidad angulary el voltaje producido.

SENSORES SENSIBLES A LA FUERZAEstán basados en unos materiales llamados piezoeléctricos, cristales que al ser

deformados producen una diferencia de potencial en la superficie. Algunos de ellos son elcuarzo y la turmalina aunque hay otros que, tras un proceso eléctrico, también presenta estapropiedad (son denominados cristales ferroeléctricos).

Al igual que en los tacómetros, los sensores construidos con estos cristales tienenestablecida una relación entre la fuerza que se le ejerce (y que produce una deformación) y ladiferencia de potencial que genera de manera que puede conocerse la fuerza ejercida sobre elsensor en función del voltaje que transmite. Se denominan células de carga, sensores sensiblesa la fuerza construidos con materiales piezoeléctricos. Se emplean en los dispositivos de agarrede un brazo robot.

La denominada piel robótica es unconjunto de células de carga montadas sobreuna superficie flexible que sirven para detectarla forma y el tamaño de los objetos que elrobot manipula

Piel robótica

3.3.- ACTUADORES

Un actuador es un dispositivo que utiliza una energía de tipo hidráulica, neumática oeléctrica para poner en marcha un proceso que forma parte de la automatización. Ejemplos deactuadores: una válvula (control de fluidos), un motor (control de movimiento) o cilindros desimple efecto (transformación de fuerzas). Existe una gran variedad:

Actuadores de movimiento Actuadores para modificar la temperatura Actuadores para regular fluidos Actuadores para reproducción o grabación de sonidos

Los actuadores de movimiento utilizan cualquiera de las energías antes indicadas paratransformarla en energía mecánica. Debido a su naturaleza, los actuadores de movimiento queemplean la energía hidráulica son utilizados en procesos en los que es necesario un aumento de

Página 3 de 9

Page 4: UNIDAD 3 ROBÓTICA - dominicasalbacete.es · integrados tipo oscilador 555 o ... sensores y toma decisiones de acuerdo con ella. En este tema veremos los sistemas de ... ARDUINO es

Tecnología 4º ESO: Robótica

fuerza. Por otro lado, los que emplean la energía neumática se emplean para simpleposicionamiento.

Finalmente, los que utilizan energíaeléctrica suelen ser motores y servomotores.Un servomotor (o servo) es un motor decorriente continua controlado por una cajareductora (para mantener estable y reducida lavelocidad) y un circuito de control cuyo radiode acción raramente supera una vueltacompleta. Son muy empleados en radiocontrol(control de los flaps de las alas de un avión) yen robótica (movimiento de brazos y patas).

Los actuadores para modificar latemperatura son elementos electrónicos de tiporesistencias variables, capaces de modificar suresistencia y así cambiar el paso de corrienteeléctrica.

Los actuadores para regular fluidos son las típicas válvulas de bloqueo y válvulasreguladoras de flujo. Algunas de ellas: la que contiene las cámaras de aire de los neumáticos debicicleta, moto o vehículo, los purgadores de los radiadores o los sistemas neumáticos decerrado de puertas automático.

Para terminar con los actuadores, losrobots industriales suelen tener un brazomecánico formado por una sucesión deeslabones unidos por articulaciones. Dichoseslabones en general son el el tronco, el brazoy el antebrazo y reciben estos nombres porsemejanza con un brazo real. Asimismo, lasarticulaciones de un robot son el hombro(unión que existe entre el tronco y el brazo),codo (entre el brazo y el antebrazo) y lamuñeca (entre el antebrazo y el elementoaprehensor). La muñeca sujeta el elementomanipulador llamado pinza. Todos estoseslabones y articulaciones son movidos conactuadores de movimiento.

Dependiendo del movimiento que hagan las articulaciones, estas se clasifican en:

articulaciones prismáticas: permiten solo el traslado lineal, es decir de avanceo retroceso y son impulsadas mediante actuadores hidráulicos, neumáticos y, en algunos casos,eléctricos.

articulaciones giratorias: permiten solo un movimiento de giro y solo sonimpulsadas con actuadores eléctricos.

Así, según el número y tipo de articulaciones de que dispone, un robot puedeclasificarse en:

Página 4 de 9

Page 5: UNIDAD 3 ROBÓTICA - dominicasalbacete.es · integrados tipo oscilador 555 o ... sensores y toma decisiones de acuerdo con ella. En este tema veremos los sistemas de ... ARDUINO es

Tecnología 4º ESO: Robótica

Robot de estructura cartesiana: se llama así por poseer tres articulacionesprismáticas. Hace que solo se mueva en línea recta como si se desplazara en un eje decoordenadas cartesianas pero en tres dimensiones. Ejemplo, impresora 3D.

Robot de estructura cilíndrica: tiene dos prismáticas y una giratoria.

Robot de estructura esférica: tiene una prismática y dos giratorias. Sitúa losobjetos utilizando las coordenadas polares.

Robot de estructura articulada: Todas sus articulaciones son giratorias.También emplea las coordenadas polares para establecer un elemento. Ejemplo: brazomecánico.

3.4.- SISTEMA DE CONTROL O UNIDAD DE CONTROL

La unidad de control se encarga de procesar la información que recibe de lossensores y toma decisiones de acuerdo con ella. En este tema veremos los sistemas de controlprogramado.

Como vimos, los sistemas de control programado utilizan dispositivos que puedenprogramarse y están formados por una tarjeta de control o controladora que es un circuitoelectrónico que contienen un microprocesador, una memoria para almacenar los programas yentradas y salidas que hacen de conexión entre los sensores y actuadores por una parte y elordenador por otra y que contiene . Ejemplos son Arduino (www.arduino.cc) o, más reciente,Raspberry Pi (www.raspberrypi.org).

3.5.- ARDUINO

El desarrollo de la robótica doméstica aplicable a la educación ha sido posible graciasa un concepto denominado hardware libre, derivado de la filosofía Open Source. Esa filosofíaconsiste en desarrollar aplicaciones para ordenadores y dispositivos móviles y distribuirlas deforma gratuita. La idea es facilitar el código de programación para que los usuarios lo utilicen,lo mejoren y lo distribuyan. En este caso no se busca remuneración económica sinoreconocimiento profesional.

Partiendo de las aplicaciones software, el hardware libre se enmarca en esa idea depublicar los planos y las características técnicas de los elementos electrónicos físicos. Así, unade las tarjetas controladoras más utilizadas, Arduino, tiene todos sus planos publicados en lared, para que cualquiera pueda estudiarlos y/o fabricarlos. En la práctica, cualquier usuario oaficionado a la robótica prefiere pagar 16€ a una empresa para que se lo fabriquen y se lo envíena casa.

ARDUINO es una unidad de control utilizada en robótica. En realidad es mucho másque eso: es un ordenador completo en un solo circuito: dispone de un microprocesador con sumemoria RAM y sus conexiones de entrada/salida, todo en una pequeña placa base. Se ha hechofamoso por una serie de características:

- Es hardware libre: quiere decir que los planos están disponibles en Internet y lospuedes descargar para montarlos tu mismo. Todo lo necesario está disponible en la webhttp://www.arduino.cc (aunque puedes hacerte con una por poco menos de 20€ en cualquier webde material electrónico.)

Página 5 de 9

Page 6: UNIDAD 3 ROBÓTICA - dominicasalbacete.es · integrados tipo oscilador 555 o ... sensores y toma decisiones de acuerdo con ella. En este tema veremos los sistemas de ... ARDUINO es

Tecnología 4º ESO: Robótica

- También hay disponibles placas auxiliares llamadas shields que permiten aumentarla funcionalidad de una placa Arduino y así poder conectar motores, conectarlo a una red deordenadores o a una red Wifi, añadirle un joystick, etc.

- Es programable mediante un lenguaje de programación de alto nivel muy sencillo.Posee un entorno de programación fácil de instalar y de manejar y está disponible para todos lossistemas operativos (Windows, MacOS, Linux, etc).

- Puede procesar y enviar tanto señales digitales (las que vienen de otrosmicroprocesador) como señales analógicas (de resistencias LDR o NTC, de motores yservomotores).

La placa Arduino tiene elaspecto que muestra la imagende la derecha.

Para programarla esnecesario conectarla a unordenador, que es el que ejecutael entorno de programación ygraba el programa en Arduino.Al ordenador se conectamediante un cable USB que seenchufa a la placa en el conectormarcado con un 1. El programase almacena en la RAM y esejecutado por el microprocesadorATmega16U2 que es el cerebrode Arduino (9).

Arduino tiene varias entradas a las que poder conectar las señales de los sensores.Estos pueden ser elementos como las resistencias variables LDR o NTC o micros como NE555o LM741. Las marcadas en la imagen con el número (14) y en la placa como A0 hasta A5 sonentradas analógicas.

También tienen salidas a los actuadores que son conectados en los elementosmarcados en la imagen con el número 3 (y en la placa como 1 hasta 13). Estas salidas sondigitales y algunas pueden ser también analógicas (las marcadas en placa con un signo – delantecomo 3, 5, 6 9, 10 y 11: son las llamadas salidas PWM).

3.6.- LENGUAJE DE PROGRAMACIÓN

La programación es un proceso en el que se diseña, se escribe, se prueba y depura unaserie de instrucciones para que las ejecute un ordenador, dispositivo móvil o, como es el caso,una tarjeta controladora. Esa serie de instrucciones se escriben en un lenguaje de programaciónespecífico y constituyen el código fuente que se almacena en un fichero informático y se grabaen la memoria de la tarjeta controladora.

Un lenguaje de programación es un lenguaje con una sintaxis específica que se utilizapara controlar el comportamiento de una máquina o tarjeta. Posee un conjunto de símbolos yreglas sintácticas y semánticas que definen su estructura y el significado de sus elementos y

Página 6 de 9

Page 7: UNIDAD 3 ROBÓTICA - dominicasalbacete.es · integrados tipo oscilador 555 o ... sensores y toma decisiones de acuerdo con ella. En este tema veremos los sistemas de ... ARDUINO es

Tecnología 4º ESO: Robótica

expresiones. Dependiendo de lo parecido al lenguaje humano que sea la estructura y susexpresiones hablaremos de lenguajes de alto nivel o de bajo nivel. El lenguaje de Arduino es unlenguaje de alto nivel porque se asemeja al inglés.

Para escribir un programa en un determinado lenguaje de programación hace falta unentorno de programación: aplicación que contiene todo lo necesario para que el usuario puedaescribir, probar y guardar una aplicación en un determinado lenguaje de programación.

Interfaz del entorno de programación de Arduino

Una vez abierto el entorno de programación de arduíno, podemos escribir en el áreade edición de código un programa Arduino, probarlo utilizando los botones de acceso rápido ylas opciones del menú y comprobar si hay fallos o no en la barra de Mensajes de status. Si,posteriormente, lo pasamos a la tarjeta Arduino, el area de Notificaciones de programainformará si se ha hecho correctamente o algo ha fallado en el proceso.

A continuación vamos a aprender el lenguaje de programación de Arduino. Laestructura básica del lenguaje es bastante simple y se compone de al menos dos partes: setup()y loop (). Estas dos partes necesarias, o funciones, encierran bloques que contienendeclaraciones, estamentos o instrucciones.

void setup() {

declaraciones;} void loop() {

instrucciones;}

En donde setup() es la parte encargada de recoger la configuración y loop() es la quecontienen el programa que se ejecutará cíclicamente (de ahí el termino loop –bucle-). Ambasfunciones son necesarias para que el programa trabaje.

Página 7 de 9

Page 8: UNIDAD 3 ROBÓTICA - dominicasalbacete.es · integrados tipo oscilador 555 o ... sensores y toma decisiones de acuerdo con ella. En este tema veremos los sistemas de ... ARDUINO es

Tecnología 4º ESO: Robótica

La función setup() se invoca una sola vez cuando el programa empieza. Se utilizapara inicializar los modos de trabajo de los pins, o el puerto serie. Debe ser incluido en unprograma aunque no haya declaración que ejecutar y debe contener la declaración de lasvariables. Es la primera función a ejecutar en el programa, se ejecuta sólo una vez, y se utilizapara configurar o inicializar pinMode (modo de trabajo de las E/S), configuración de lacomunicación en serie y otras.

La función loop() contiene el código que se ejecutara continuamente (lectura deentradas, activación de salidas, etc) Esta función es el núcleo de todos los programas de Arduinoy la que realiza la mayor parte del trabajo. Se ejecuta de forma cíclica, lo que posibilita que elprograma este respondiendo continuamente ante los eventos que se produzcan en la placa.Veamos un ejemplo: este es el programa básico “hola mundo” usado simplemente para activar odesactivar algo. En este ejemplo, un LED está conectado al pin 13, y parpadea cada segundo. Laresistencia puede omitirse en este pin ya que el Arduino tiene una integrada

void setup(){

int ledPin = 13; // tenemos un led en la patilla 13pinMode(ledPin, OUTPUT); // configura ledPin como salida

}

void loop() {

digitalWrite(ledPin, HIGH); // pone en uno (on, 5v) la salida ledPin delay(1000); // espera un segundo (1000 ms) digitalWrite(ledPin, LOW); // pone en cero (off, 0v.) la salida ledPindelay(1000);

}

Ejemplo de salida conectada a servomotorLos servos de modelismo tienen un motor y unos engranajes cuya salida se puede

mover en un arco de 180 o y contienen la electrónica necesaria para ello. Todo lo que senecesita es un pulso enviado cada 20ms. Este ejemplo utiliza la función servoPulse para moverel servo de 10º a 170º.

int servoPin = 2; // servo conectado al pin digital 2 int myAngle; // ángulo del servo de 0-180 int pulseWidth; // anchura del pulso para la función servoPulse

void setup() {

pinMode(servoPin,OUTPUT); // configura pin 2 como salida}void servoPulse(int servoPin, int myAngle){

pulseWidth = (myAngle * 10) + 600; // determina retardodigitalWrite(servoPin, HIGH); //activa el servodelayMicroseconds(pulseWidth); // pausa digitalWrite(servoPin, LOW); // desactiva el servodelay(20); // retardo de refresco

}

void loop() // el servo inicia su recorrido en 10º y gira hasta 170º

Página 8 de 9

Page 9: UNIDAD 3 ROBÓTICA - dominicasalbacete.es · integrados tipo oscilador 555 o ... sensores y toma decisiones de acuerdo con ella. En este tema veremos los sistemas de ... ARDUINO es

Tecnología 4º ESO: Robótica

{ for (myAngle=10; myAngle<=170; myAngle++){

servoPulse(servoPin, myAngle);}// el servo vuelve desde 170º hasta 10º

for (myAngle=170; myAngle>=10; myAngle--){

servoPulse(servoPin, myAngle);}

}

Bibliografía“Arduino Notebook: A Beginner’s Reference Written and compiled by Brian W. Evans”. Traducción:

José Manuel Ruiz Gutiérrez, adaptación: José Manuel Escuder Martinez http://www.ardumania.es/“Guía de Usuario de Arduino” Rafael Enríquez Herrador. I.T.I. Sistemas Universidad de Córdoba.

[email protected]

Ambos trabajos publicados bajo la licencia Creative Commons Attribution-Noncommercial-Share Alike 3.0.

Página 9 de 9