0S4TELA_ADARVE(2011).05 28/2/11 15:24 Página 118 CUESTIONES Control y robótica 1. Actualmente disponemos de máquinas o dispositivos que nos facilitan enormemente la vida. Solo con apretar un botón, conseguimos que realicen las tareas que queremos: mantener una temperatura agradable en una habitación, despertarnos, lavar la ropa… Pon algún ejemplo más. 2. Estas máquinas son muy complejas, pero existen otras aún más avanzadas: los robots. ¿En qué crees que se distinguen de las anteriores? 3. ¿Cómo sabe una lavadora en qué momento tiene que descargar agua, añadir jabón o hacer girar el tambor? 4. ¿Qué significa programar un ordenador? 0S4TELA_ADARVE(2011).05 1 28/2/11 15:24 Página 119 Automatismos Un logro importante del proceso tecnológico es el desarrollo de sistemas que funcionan prácticamente sin intervención humana. De esta forma se ha conseguido que tareas repetitivas o que requieren mucho esfuerzo sean realizadas por máquinas. Piensa, por ejemplo, en un ascensor. Basta con pulsar un botón para que traslade al usuario a cualquier piso. Reflexiona Fíjate en las siguientes figuras: a) ¿En cuál de los dos casos se realiza menos esfuerzo? b) ¿Dónde se ha utilizado un mecanismo? ¿De qué mecanismo se trata? c) ¿Se te ocurre algún modo de automatizar estas tareas? Cuando las tareas requieren el desplazamiento o la elevación de cargas, o un movimiento continuo, el uso de mecanismos facilita su realización. Combinando elementos eléctricos y mecánicos, es posible diseñar un sistema automático que funcione sin necesidad de realizar ningún esfuerzo: polea eje A piñón-cremallera A eje B M ⫹ 9V engranaje ⫺ En este caso, la pila o batería proporciona la energía. Si actuamos sobre el conmutador doble A, variamos el sentido de giro del motor. El giro del eje del motor es transformado mediante distintos mecanismos para elevar la carga. Realimentación El principal inconveniente del sistema anterior es que no tiene en cuenta si la carga ha alcanzado el límite superior o inferior. Normalmente, en un sistema de control es preciso conocer el estado de la salida en cada momento. Esto es lo que se conoce como realimentación. Para ello, podemos servirnos de interruptores de fin de carrera con objeto de detectar la posición de la carga y detener el motor si esta ha llegado abajo o arriba. Actividades 1 Dibuja el sistema completo de levantamiento de cargas descrito en el texto usando dos finales de carrera y sustituyendo el engranaje por un sistema tornillo sin fin-corona. arriba M ⫹ 9V Explica por qué es más adecuado usar un tornillo sin fin-corona en el sistema de levantamiento de cargas. 2 ⫺ abajo Control y robótica 119 0S4TELA_ADARVE(2011).05 28/2/11 15:24 Página 120 1.1. Sistemas de control Reflexiona Indica qué elementos se usan para controlar la temperatura en la habitación de la figura y qué función realiza cada uno de ellos. sensor controlador actuador El dibujo anterior representa un sistema automático de control de temperatura. La única intervención humana que necesita es la fijación de la temperatura deseada. En general, todos los sistemas automáticos tienen una estructura similar: un sensor, un controlador y un actuador. En nuestro caso el sistema lo componen tres elementos principales: 쮿 Un sensor que mide la temperatura ambiente. Los sensores son elementos que captan información del entorno y se usan para medir magnitudes f ísicas: velocidad, temperatura, humedad del ambiente, presión, intensidad de la luz, etcétera. 쮿 Un circuito controlador que, en función de la información proporcionada por el sensor, activa o no el radiador. En los sistemas automáticos el controlador puede ser desde un sencillo circuito eléctrico hasta un ordenador. 쮿 Un elemento actuador encargado de llevar a cabo la acción para la que se ha diseñado el sistema automático. En nuestro caso sería el radiador. Habitualmente son motores, lámparas, cilindros o válvulas neumáticas, etc., los que desempeñan esta función. El sistema anterior puede representarse mediante el siguiente diagrama de bloques: Actividades Indica cuál es el sensor y el actuador en el siguiente sistema automático. 3 entrada proceso salida entrada sensor controlador actuador proceso a controlar medidor de temperatura circuito electrónico radiador temperatura de la habitación salida Un sistema de control es un conjunto de elementos que, interconectados, permiten automatizar una máquina o un proceso. 쮿 La entrada (E) es la información que recibe el sistema: en nuestro ejemplo, la temperatura de la habitación. 쮿 La salida (S) es la respuesta del sistema a esa información: el encendido o apagado del radiador. 120 UNIDAD 5 0S4TELA_ADARVE(2011).05 28/2/11 15:24 Página 121 Tipos de sistemas de control No todos los sistemas automáticos realizan su función correctamente. Observa lo que ocurre con este sistema de riego automático que ha sido programado para regar por las tardes. Esté seca o húmeda, la planta se riega. Un sistema como este, que se activa sin tener en cuenta el estado de la salida, recibe el nombre de sistema de control en lazo abierto: controlador actuador proceso E S humedad de la tierra reloj programador humedad Se utilizan sistemas de control en lazo abierto, por ejemplo, en una tostadora de pan, un reloj, un semáforo, etcétera. Para solucionar el problema anterior se debe diseñar un sistema cuyo funcionamiento dependa de la salida en cada momento, es decir, un sistema que mida continuamente el grado de humedad de la planta y ponga en marcha el riego solo cuando sea necesario. En estos casos, se dice que existe una realimentación de la salida a la entrada: comparador controlador actuador proceso E S humedad de la tierra reloj programador humedad informa al sistema del estado de salida sensor humedad realimentación Cuando la salida se compara con la entrada con el fin de corregir posibles errores debidos a perturbaciones que afecten al sistema, se habla de un sistema de control en lazo cerrado. Otros sistemas de control en lazo cerrado son el mecanismo de llenado de una cisterna de agua, los sistemas automáticos de iluminación, etcétera. Actividades Pon un ejemplo de un sistema de control en lazo cerrado y dibuja el correspondiente diagrama de bloques. 4 5 ¿Qué representa el siguiente esquema? E dirección a seguir comparador controlador cerebro actuador manos proceso hoja con mi nombre S dirección real ojos realimentación Las escaleras mecánicas, ¿constituyen un sistema de control en lazo cerrado o en lazo abierto? Razona tu respuesta. 6 Control y robótica 121 0S4TELA_ADARVE(2011).05 28/2/11 15:24 Página 122 2 Sensores En este apartado analizaremos los sensores que se usan habitualmente en los sistemas de control. 2.1. Sensores de temperatura Reflexiona Observa estas imágenes y contesta: a) ¿Sabrías indicar varios sistemas de control en los que sea necesario medir la temperatura? b) ¿Usan todos el mismo tipo de sensor? Los sensores de temperatura se basan en diferentes fenómenos f ísicos que dependen de la variación de temperatura: la dilatación de los metales, el cambio de la resistencia eléctrica o la emisión de radiación infrarroja. Sensores basados en la dilatación Los cuerpos experimentan un aumento de tamaño con la temperatura. Este fenómeno se ha utilizado tradicionalmente para medir la temperatura mediante termómetros de mercurio. Termómetro de mercurio. También se basan en este hecho las láminas bimetálicas utilizadas para controlar la temperatura de las planchas y los secadores de pelo. El mecanismo consiste en dos láminas metálicas unidas entre sí. A temperatura ambiente ambas tienen la misma longitud, pero cuando se calientan (por ejemplo, por el paso de aire caliente) cada una se dilata de distinta manera y el conjunto se dobla: esta deformación se aprovecha para impedir el paso de la corriente y desconectar el aparato. pulverizador regulador termostato depósito de agua resistencia indicador contactos resistencia salida del vapor lámina bimetálica caliente Esquemas de una plancha y de la lámina bimetálica. Las láminas bimetálicas también se emplean en tostadoras, estufas… Actividades Al dispositivo que permite regular la temperatura de funcionamiento de la plancha se le denomina termostato. Cita otros aparatos que lo contengan. 7 Indica qué ocurriría en cada uno de los aparatos mencionados anteriormente si el termostato dejara de funcionar. 8 122 UNIDAD 5 0S4TELA_ADARVE(2011).05 28/2/11 15:24 Página 123 Sensores basados en la variación de la resistencia eléctrica 쮿 Termorresistencias o RTD (detectores de temperatura resistivos). Se basan en la variación de resistencia que experimentan los metales en función de la temperatura. Para obtener este tipo de sensores se enrolla un hilo muy fino de platino o níquel en un aislante. Las RTD de platino se usan para medir temperaturas de hasta 600 °C. 쮿 Termistores. Se basan en la variación de la resistencia de un semiconductor en función de la temperatura. La principal ventaja respecto a las RTD es que responden más rápidamente a los cambios de temperatura. Pueden ser de dos tipos: a) Termistores PTC (coeficiente de temperatura positivo). Su resistencia aumenta con la temperatura. b) Termistores NTC (coeficiente de temperatura negativo). Su resistencia disminuye al aumentar la temperatura. Termistores. 쮿 Termopares. Están formados por dos metales diferentes. En el punto de unión de los mismos se genera un voltaje proporcional a la temperatura que deseamos medir. níquel-cromo 300 °C 12,2 mV aluminio-cromo Termopar que produce 12,2 mV a 300 °C. Termómetro basado en un termopar. Se usan cuando es preciso medir un amplio margen de temperaturas (procesos industriales, obtención de acero, investigación médica, etc.). Así, por ejemplo, con un termopar como el de la figura podemos medir temperaturas entre ⫺200 °C y 1 200 °C. Sensores sensibles a la radiación infrarroja ¿Sabes qué tienen en común las cámaras de visión nocturna, los sistemas detectores de incendios y los detectores de presencia que permiten abrir automáticamente una puerta? Dado que todos los cuerpos emiten una radiación infrarroja proporcional a su temperatura, mediante sensores de infrarrojos se puede medir su temperatura sin estar en contacto directo con estos cuerpos. Actividades Realiza un cuadro resumen de los sensores de temperatura que hemos estudiado. 9 Termómetro clínico de infrarrojos. En medicina se usan termómetros que miden la temperatura sin que exista contacto directo con el cuerpo. 10 Los sensores de movimiento se basan en la detección de los cambios de radiación infrarroja de los objetos próximos a ellos. ¿Para qué crees que sirve la lente de plástico que llevan encima? Control y robótica 123 0S4TELA_ADARVE(2011).05 28/2/11 15:24 Página 124 2.2. Sensores de posición Sensor tipo flotador Para detectar el nivel de líquidos se usan habitualmente sensores tipo flotador como el utilizado en el sistema de llenado automático de la cisterna del inodoro. tirador boca de llenado guía deslizante El empleo de este tipo de sensores en un sistema automático permite conocer la posición de un objeto. Por ejemplo, en el caso del ascensor, si ya ha llegado al piso seleccionado o, en un sistema de alarma, si alguien ha abierto una puerta. Interruptores mecánicos Se produce la detección del objeto por contacto de este con el interruptor. Los más usados son los interruptores de final de carrera, que incorporan una lámina sobre la que choca el objeto y que activa el interruptor. tapón boya cilindro Interruptor de final de carrera. émbolo tapón salida de agua Interruptores de proximidad magnéticos Están formados por dos láminas metálicas imantadas que modifican su posición cuando aproximamos un imán. Interruptor de proximidad magnético. Se usan para determinar la posición de objetos, por ejemplo en la apertura de puertas y ventanas. Sensores de posición ópticos Reflexiona Observa esta ilustración y explica cómo puede funcionar el sistema de puertas automáticas en un ascensor. emisor receptor Sistema de alarma mediante interruptor de proximidad magnético. La detección de objetos se realiza emitiendo un rayo de luz y comprobando si alcanza al receptor. Como emisor suele utilizarse un diodo LED de radiación infrarroja, para evitar interferencias con la luz visible. La intensidad luminosa puede registrarse en el receptor mediante resistencias LDR, fotodiodos o fototransistores: 쮿 Resistencias LDR. Modifican su valor en función de la intensidad luminosa que incide sobre ellas. LDR. 124 UNIDAD 5 0S4TELA_ADARVE(2011).05 28/2/11 15:24 Página 125 쮿 Fotodiodos y fototransistores. Se activan mediante la luz. Ratón óptico Fotodiodos. Fototransistor y símbolo del mismo. Se utilizan en apertura de puertas, sistemas de alarma, lectores de código de barras, periféricos de ordenador, etcétera. Los ratones ópticos analizan, mediante un sensor óptico y un procesador, la luz que emite un LED. Otros dispositivos emplean una rueda con ranuras (llamada encorder) para determinar su posición. Otros sensores de posición Dependiendo de las características del objeto que hay que detectar, se emplean otros dispositivos. Por ejemplo, la detección de objetos metálicos puede basarse en las propiedades magnéticas de estos; así, en un sistema antihurto de un supermercado, la presencia de un determinado material modifica la señal que llega al receptor: transmisor diodo receptor LED infrarrojo Interior de un ratón óptico. receptor Para detectar la presencia de otros materiales, como madera, papel o líquidos, se pueden emplear detectores capacitivos, formados por un condensador cuya capacidad se altera en presencia de esos materiales. Estos dispositivos se usan en sistemas de llenado automático de botellas, corte de piezas de madera, empaquetado de folios, etcétera. Asimismo, muchas pantallas táctiles basan su funcionamiento en detectores capacitivos. Actividades La siguiente figura representa un sensor de posición construido a partir de un potenciómetro. Explica cómo podemos conocer la posición del objeto. 11 objeto lámina deslizante obstáculo resistencia 12 ¿Qué representa el dibujo del margen? 13 Investiga en Internet qué tipo de sensor utiliza un robot capaz de seguir una línea marcada en el suelo. Control y robótica 125 0S4TELA_ADARVE(2011).05 28/2/11 15:24 Página 126 2.3. Sensores basados en la variación de fuerza y presión Galgas extensiométricas presión de referencia presión de entrada Sensor de presión mediante galga extensiométrica. ¿Te has preguntado alguna vez cómo una báscula es capaz de determinar el peso de una persona? Las básculas utilizan unos sensores denominados galgas extensiométricas. Estas están formadas por una fina lámina metálica depositada sobre un material flexible. Cuando se deforma, se produce una variación de la resistencia de la misma (debido al cambio de forma y a la presión) proporcional a la deformación producida por el peso del objeto. Estos dispositivos se emplean en básculas, para controlar deformaciones (en edificios, puentes, etc.), para medir la presión, etcétera. Otras formas de medir la presión Existen otras formas de medir la presión. Un modelo de sensor muy usado (por ejemplo, para medir la presión de los neumáticos) es el tipo Bourdon, en cuyo interior hay un tubo flexible que modifica su forma en función de la presión de entrada. tubo deformado aguja indicadora estado original tubo Bourdon P La medida de la presión arterial es una práctica habitual en medicina. Para ello, se emplea normalmente un aparato denominado esfigmomanómetro. Esquema de un sensor de presión de tipo Bourdon. Para medir la presión de los neumáticos se utiliza un sensor de presión tipo Bourdon. Actividades 14 ¿Qué representan los siguientes dibujos? ¿Qué ventajas tiene este tipo de sensores? 126 UNIDAD 5 0S4TELA_ADARVE(2011).05 28/2/11 15:24 Página 127 2.4. Otros sensores Humedad Están formados por dos láminas metálicas muy próximas cuya resistencia o capacidad varía con la humedad. Sensor de humo. Está formado por un circuito electrónico capaz de detectar concentraciones anómalas de gases, como el monóxido de carbono. Gases o humos Capaces de detectar la presencia de gases. Por ejemplo, el sensor de monóxido de carbono de la figura basa su funcionamiento en la modificación de la resistencia eléctrica en presencia de este gas. Sonido Te i n t e r e s a s a b e r diafragma Se basan en la modificación de la capacidad a causa del movimiento de un diafragma producido por las ondas de sonido, o en el efecto piezoeléctrico: variación de la resistencia eléctrica con la presión. 쮿 El micrófono electret contiene un transistor para ampliar la señal de sonido. Micrófono electret y símbolo del mismo. Parámetros biológicos (glucosa, oxígeno en sangre, imágenes de huesos…) Se usan películas sensibles a los rayos X, ondas luminosas que varían sus parámetros en función de la composición de una sustancia, biosensores (algas, bacterias), etcétera. 쮿 El sensor de ultrasonido (sonido con una frecuencia superior a la audible por el oído humano) se utiliza para detectar objetos mediante la emisión y recepción de ondas sonoras. Sensor de ultrasonido. Actividades 15 Obtén información sobre otros sensores. Para ello, puedes utilizar libros o Internet. 쮿 Con los datos obtenidos, elabora en tu cuaderno una tabla similar a la mostrada en el texto. Control y robótica 127 0S4TELA_ADARVE(2011).05 28/2/11 15:24 Página 128 3 Control electromecánico Los sistemas electromecánicos se basan en la activación de dispositivos mediante el desplazamiento de piezas móviles. Estudiaremos el uso de la leva, del final de carrera y del relé en este tipo de sistemas. 3.1. Leva Reflexiona Observa el siguiente sistema de control de un semáforo de peatones: bote levas contactos chapas alambre Cada uno de los salientes que al girar accionan los contactos recibe el nombre de leva. Mediante estos elementos podemos controlar el momento y el tiempo de activación de cada bombilla. 3.2. Interruptor de final de carrera El interruptor de final de carrera se puede usar como controlador en sistemas automáticos para activar o desactivar otros dispositivos. En el siguiente ejemplo se utiliza para controlar el nivel de líquido en un depósito de agua: fin de carrera flotador bomba de agua Actividades ⫹ 1,5 V 1,5 V ⫺ 16 El dibujo de la derecha representa un reposo, R M ⫹ 1,5 V 1,5 V ⫺ 128 UNIDAD 5 común, C activado, A robot controlado mediante un interruptor de final de carrera. C A R 쮿 Explica cómo funciona el sistema de control, cuyo esquema eléctrico aparece representado en el margen. 0S4TELA_ADARVE(2011).05 28/2/11 15:24 Página 129 3.3. Relé Como ya sabes, un relé está formado por una bobina y una lámina metálica móvil unida a unos contactos. Cuando hacemos pasar una corriente eléctrica por la bobina, esta se comporta como un imán y atrae la lámina, que a su vez cambia la posición de los contactos. bobina contactos armadura Aplicaciones del relé al control de sistemas Cambio del sentido de giro de un motor Reflexiona Observa el circuito de apertura y cierre de la puerta de un garaje que aparece a continuación: 3V P 6V electroimán El relé, símbolo y funcionamiento. bobina de relé M a 쮿 ¿Cómo funciona? b El pulsador P debe estar colocado en el suelo a la entrada del garaje. Los dos finales de carrera deben estar colocados en cada uno de los extremos de la puerta. Si la puerta está cerrada, el final de carrera b está accionado y, por tanto, abierto: el motor estará parado. Cuando accionamos el pulsador, se activa el relé, el conmutador doble cambia de posición y el motor comienza a girar, hasta que la puerta haga contacto con el final de carrera a. Si dejamos de accionar el pulsador, el relé se desactiva y el conmutador doble vuelve a su posición original, con lo que el motor cambia su sentido de giro; se detendrá cuando la puerta se cierre completamente, momento en que se acciona el final de carrera b. Actividades El circuito inferior representa un sistema automático de riego. Contesta las siguientes preguntas: 17 a) Indica el nombre de todos los componentes necesarios para realizar el montaje. b) Explica su funcionamiento. Activación de un relé mediante un sensor En este caso necesitamos un transistor para proporcionar la corriente suficiente de activación del relé. c) ¿Qué elemento habría que añadir? ⫹12 V 6V 1 kΩ salida LDR relé R1 10 k⍀ D1 1N 4001 10 kΩ Q1 2N 3904 Cuando incide luz sobre la LDR, su resistencia disminuye y permite que circule corriente por la base del transistor, con lo que tanto este como el relé se activan. Q2 2N 3904 tierra Control y robótica 129 0S4TELA_ADARVE(2011).05 28/2/11 15:24 Página 130 4 Control electrónico El control electrónico se basa en el empleo de transistores y de circuitos integrados como controladores. 4.1. Control mediante transistores El transistor recibe normalmente la pequeña señal eléctrica que proporciona el sensor a través de su base y entrega una corriente mucho mayor que pone en funcionamiento el actuador. En el ejemplo siguiente, el motor se pone en marcha cuando la temperatura sobrepasa cierto valor: bombilla presión ⫹ LED luz ⫺ M 40 NTC 20 ⫺t° 0 4,5 V ⫺20 °C 12,7 k⍀ 2,2 k⍀ 10 k⍀ CIRCUITO DE CONTROL BC548B BC548B Este mismo circuito puede utilizarse con otro tipo de sensores (LDR, finales de carrera…) y actuadores (lámparas, timbres…) timbre calor Actividades humedad motor El circuito de control recibe como entrada la señal eléctrica que proporciona un sensor y pone en marcha un actuador en función del valor de dicha señal. 18 Los siguientes circuitos son especialmente útiles para el control de robots. Haciendo uso de un simulador, investiga cómo funcionan. a) Cambio de sentido con retardo. M ⫹6V ⫹6V NA 560 ⍀ bobina de relé ⫹ 2 200 F 1k⍀ 3V 2N2222 100 ⍀ b) Cambio de sentido sin relé. ⫹3 V 1 k⍀ ⫹3 V ⫺3 V M 1 k⍀ ⫺3 V 130 UNIDAD 5 0S4TELA_ADARVE(2011).05 28/2/11 15:24 Página 131 4.2. Control mediante comparadores Para entender este tipo de control, vamos a utilizar el ejemplo siguiente: control del encendido/apagado de una farola mediante la luz solar. Podemos representar el sistema de control mediante este diagrama de bloques: 230 V comparador fijación del nivel de oscuridad que activará la lámpara sensor circuito controlador Este sistema precisa un circuito similar al siguiente: Sistemas de control programado ⫹9 V R2 Utilizan dispositivos que almacenan en su interior un programa. Estos dispositivos pueden ser microprocesadores, microcontroladores (circuitos integrados que incluyen un microprocesador, una memoria, entradas y salidas) o autómatas programables, que incorporan, además, la etapa de potencia. 470 ⍀ LDR 2 P ⫺ 7 6 LM741 3 10 k⍀ ⫹ 4 R 330 ⍀ R1 R3 10 k⍀ 470 ⍀ ⫺ El LED se enciende automáticamente cuando no incide luz sobre la LDR. Se ha utilizado un elemento ya conocido, el comparador LM 741: la patilla 7 se conecta al polo positivo de la pila y la patilla 4 al negativo. El voltaje en la patilla 6 (salida) es de 9 V si en la patilla 3 (entrada positiva) la tensión es mayor que en la patilla 2 (entrada negativa); y al contrario, si la tensión en la entrada negativa es mayor que en la entrada positiva, la salida pasa automáticamente a 0 V. En otras palabras, si se tapara con la mano la LDR (como si se hiciera de noche), su resistencia aumentaría mucho, la tensión en la entrada negativa del comparador disminuiría y la salida alcanzaría los 9 V. La etapa de potencia Para el control del encendido/apagado de una farola, se modifica el circuito anterior que enciende un LED y se sustituye por una bombilla que funciona a 230 V. Para ello, necesitamos un relé: se conecta la bobina al circuito de 9 V y la lámina metálica al circuito de 230 V. Como el comparador es incapaz de activar el relé, se instala un transistor que funciona como interruptor. Cuando el comparador le proporciona una pequeña corriente, el transistor se activa y acciona el relé. ⫹9 V R2 470 ⍀ LDR 2 P 10 k⍀ 3 D bobina de relé 1N4001 ⫺ 7 6 LM741 ⫹ 4 R4 230 V 10 k⍀ BC548B Op - Amp R1 R3 10 k⍀ 470 ⍀ R5 1 k⍀ ⫺ Control y robótica 131 0S4TELA_ADARVE(2011).05 28/2/11 15:24 Página 132 5 Control programado Los sistemas de control programado utilizan dispositivos que puedan almacenar un programa en su interior. De esta forma, para cambiar su funcionamiento no es necesario alterar ningún circuito, basta con cambiar las instrucciones del programa. 5.1. Control mediante ordenador Actualmente, muchos sistemas automáticos se controlan mediante ordenadores. Para controlar procesos mediante ordenador necesitamos una tarjeta controladora y un programa que la controle: 쮿 La tarjeta controladora permite comunicar el ordenador con el robot que va a ser controlado. Mediante esta tarjeta, el ordenador obtendrá datos de los distintos sensores del robot y, a su vez, podrá activar sus motores, luces o cualquier otro actuador. La controladora se conecta a un puerto del ordenador (serie, paralelo o USB) como si fuera un periférico más. Contiene varias salidas y entradas, tanto digitales como analógicas: las entradas y salidas analógicas admiten múltiples valores; las digitales, sin embargo, solo pueden tomar los valores 0 o 1. Tarjeta controladora. Se observan distintos conectores para las entradas y salidas analógicas y digitales, así como el conector para el puerto serie del ordenador. controladora salida digital entrada digital ordenador salida analógica 5V 0V 5V 5V 5V 0 1 1 1 5V 1 1,4 V 5V 1,7 V entrada analógica ⫺t° 쮿 El programa o conjunto de instrucciones se almacenan en la memoria del ordenador y determinan el funcionamiento del sistema. Los programas se realizan mediante lenguajes de programación. Los más usados con las controladoras son Basic, Visual Basic, C y Logo. Actividades 19 Busca en Internet información sobre alguna controladora: entradas y salidas, lenguajes de programación que admite, conexión al ordenador, etcétera. 132 UNIDAD 5 0S4TELA_ADARVE(2011).05 28/2/11 15:24 Página 133 5.2. Adquisición de datos En un sistema de control, el ordenador tiene que captar datos de su entorno. Como sabemos, el ordenador solo puede manejar señales digitales, esto es, compuestas exclusivamente por ceros y unos. Sin embargo, cualquier parámetro f ísico (temperatura, luz…) puede tomar infinidad de valores (7,5 °C, 19 °C, ⫺4 °C). Estas últimas son señales analógicas. El ordenador necesita por tanto un traductor, es decir, un elemento que transforme las señales analógicas en digitales: ⫹5 V entrada analógica ADC PC salida El dispositivo que permite al ordenador adquirir datos se conoce como conversor analógico a digital (ADC), que se caracteriza por el número de bits que asigna a cada muestra de la señal analógica. Así, un conversor de 3 bits asignará los valores 000, 001, 010… hasta 111 para el valor máximo de la señal de entrada. En el ejemplo siguiente veremos cómo se puede realizar una conversión de este tipo. Como se ve en el gráfico, la señal analógica presenta valores de voltaje comprendidos entre 0 V y 5 V: 5,0 111 amplitud (V) 110 101 2,50 señal analógica ADC Valor analógico Salida digital 0 - 0,625 V 000 0,625 V - 1,25 V 001 1,25 V - 1,875 V 010 1,875 V - 2,5 V 011 2,5 V - 3,125 V 100 3,125 V - 3,75 V 101 3,75 V - 4,375 V 110 4,375 V - 5 V 111 Tabla de conversión de un ADC de tres bits. 100 011 1,25 010 señal digital 001 0 0 000 50 100 150 200 tiempo (ms) Observa que la señal analógica se ha dividido en ocho intervalos iguales. El valor del intervalo se obtiene dividiendo el valor máximo de la señal analógica (5 V) entre el número de intervalos (8). En nuestro caso: 5 ⫽ 0,625 V 8 Actividades 20 Imagina una tarjeta controladora que incorpora un conversor analógico a digital de 16 bits para señales analógicas que varían entre 0 y 10 V. Calcula el número de intervalos que utilizará el ADC y el valor del intervalo. 21 Analiza el funcionamiento del circuito del margen. ¿Se puede considerar un ADC? ¿Por qué? 5V 1 k⍀ 0 1 k⍀ 0 1 k⍀ 0 1 k⍀ 1 1 k⍀ 1k⍀ 5V ⫺t0 NTC 1 k⍀ VS 10 k⍀ 1 k⍀ 1 k⍀ Control y robótica 133 0S4TELA_ADARVE(2011).05 28/2/11 15:25 Página 134 6 Te i n t e r e s a s a b e r Para instalar MSWLogo en Linux tenemos que utilizar un programa emulador que permite ejecutar aplicaciones diseñadas para un sistema operativo en otro. Wine es uno de los más usados. MSWLogo Para familiarizarnos con los lenguajes de programación, vamos a practicar con uno muy sencillo denominado Logo, que nos permitirá dar órdenes o instrucciones a una pequeña tortuga situada en el centro de la pantalla, representada mediante un triángulo. Después aprenderemos a realizar programas para controlar sistemas automáticos y robots. 6.1. Logo, nuestro primer lenguaje de programación Si ejecutamos MSWLogo, aparecerá una ventana para introducir las órdenes o instrucciones (Trabajo) y otra donde se verán los resultados (Pantalla): Para que la tortuga ejecute nuestras órdenes, debemos pulsar Ejecutar tras escribirlas. A continuación figuran algunas de las instrucciones más utilizadas en Logo: Orden Forma abreviada Significado AVANZA n AV n Avanza n pasos RETROCEDE n RE n Retrocede n pasos GIRADERECHA n GD n Gira a la derecha n grados GIRAIZQUIERDA n GI n Gira a la izquierda n grados ROTULA [frase] RO [frase] Escribe una frase CENTRO Se dirige al centro PONCOLORLÁPIZ n PONCL n Selecciona un color de lápiz BORRAPANTALLA BP Borra la pantalla SUBELÁPIZ SL No pinta al desplazarse BAJALÁPIZ BL Pinta al desplazarse Actividades 22 Da las órdenes necesarias a la tortuga para realizar un dibujo como el de la figura del margen. 134 UNIDAD 5 0S4TELA_ADARVE(2011).05 28/2/11 15:25 Página 135 6.2. Editar Procedimientos Reflexiona Te i n t e r e s a s a b e r ¿Cómo se podría realizar el dibujo de la espiga? Seleccionando Archivo 씰 Guardar como puedes guardar en un archivo todos los procedimientos que realices. AV 15 GD 45 AV 40 RE 40 GI 90 AV 40 RE 40 GD 45 Posteriormente podrás recuperarlos mediante Archivo 씰 Cargar. Hemos hecho uso de algunas órdenes de la tabla anterior para dibujar tan solo una pequeña parte de la espiga. Para dibujar la espiga completa habría que escribir las órdenes ocho veces. Afortunadamente existe una forma más sencilla de hacerlo: REPITE 8 [AV 15 GD 45 AV 40 RE 40 GI 90 AV 40 RE 40 GD 45] La orden REPITE n [instrucciones] ejecuta n veces un conjunto de instrucciones. Pero todavía podemos mejorar la solución si creamos un procedimiento que incluya ese conjunto de instrucciones, de modo que baste con escribir el nombre del mismo, en nuestro caso, espiga. Para crear el procedimiento, seleccionamos Archivo 씰 Editar; en Editar Procedimiento escribimos espiga y en la ventana del Editor copiamos las órdenes, tal como se indica a continuación: 씰 씰 Terminamos la creación del procedimiento espiga seleccionando Archivo 씰 Guardar y salir. Actividades 23 Crea los siguientes procedimientos y comprueba el resultado. para triángulo repite 3 [av 100 gd 120] fin para cuadrado repite 4 [av 100 gd 90] fin para círculo repite 360 [av 1 gd 1] fin 24 Escribe un procedimiento llamado flor que realice la figura del margen. Control y robótica 135 0S4TELA_ADARVE(2011).05 28/2/11 15:25 Página 136 6.3. Variables Si observas los siguientes dibujos, verás que solo se diferencian en el color y en la altura: El color y la altura son, por tanto, variables. Vamos a realizar el procedimiento del margen, que permite dibujar cualquiera de las espigas anteriores: Una vez guardado el procedimiento espiga, escribimos «espiga 5 4». Si la variable :n (altura) toma el valor 5 y la variable :c (color) el valor 4, aparecerá en la pantalla una espiga de altura 5 y de color 4, o sea, rojo. 6.4. Entrada, proceso y salida En ocasiones, el ordenador necesita que el usuario introduzca datos para poder resolver un problema. Estos datos y el resultado obtenido se almacenan en variables. Lo entenderemos mejor analizando el siguiente programa, que calcula el área de un círculo: para areacirculo ES [Teclea el radio] Entrada HAZ “r LEEPALABRA HAZ “area 3.14 * :r * :r Proceso ES (FRASE [El área es ] :area) Salida fin Te i n t e r e s a s a b e r En Logo las operaciones matemáticas básicas se representan mediante ⫹, ⫺, * y /. Puedes probarlas con el siguiente ejemplo: HAZ “x 8 * 5 ⫺ 6 / 2 쮿 En la pantalla aparece la frase Teclea el radio. ES :x 쮿 La instrucción HAZ “r LEEPALABRA asigna a la variable :r el valor tecleado. Si, por ejemplo, hemos escrito 2, :r valdrá 2. Por otra parte, los decimales se expresan en notación anglosajona, es decir, llevan puntos en vez de comas. 쮿 HAZ “area 3.14 * :r * :r calcula el área realizando la operación area ⴝ 3,14 · r · r. En nuestro caso, :area será 3,14 · 2 · 2, es decir, 12,56. 쮿 Por último, aparece el mensaje El área es 12.56 como resultado de la orden ES (FRASE [El área es ] :area). Actividades 25 Realiza el siguiente dibujo por medio del procedimiento cuadrado. 26 Explica qué relación tiene el siguiente programa con la figura. para saludo ES [¿Cómo te llamas?] HAZ “nombre LEEPALABRA REPITE 8[sl gd 45 ro :nombre av 70] fin 136 UNIDAD 5 0S4TELA_ADARVE(2011).05 28/2/11 15:25 Página 137 6.5. Ejecución condicional Imagínate que queremos activar un ventilador cuando se alcance una determinada temperatura o encender una bombilla a una hora concreta. ¿Cómo podríamos hacerlo? Para ello necesitamos que las instrucciones se ejecuten si se cumple una condición. En Logo, la orden que permite hacer esto es la siguiente: SI condición [instrucción] Esta orden significa que solo se ejecuta la instrucción o instrucciones si se cumple la condición. Por ejemplo, el siguiente programa indica si la velocidad a la que se está circulando por una autopista es correcta: para autopista HAZ “v azar 150 ;genera un número entre 0 y 150 ES :v SI y (:v⬎80) (:v⬍120) [ES [Velocidad adecuada]] SI :v⬎120 [ES [Peligro de accidente]] fin Si la velocidad está comprendida entre 80 y 120, aparecerá el mensaje Velocidad adecuada. Si es mayor de 120, nos advertirá del peligro. EJEMPLOS PARA INDICAR LA CONDICIÓN Condición (:a ⴝ 7, :b ⴝ 3, :c ⴝ ”SI ) Resultado :a ⬎ :b Verdadero :a ⬍ 0 Falso (:a ⫹ :b) ⫽ 10 Verdadero :c ⫽ “NO Falso no (:a ⬍ 0) Verdadero y (:a ⬎ :b) (:b ⬍ 4) Verdadero o (:a ⬎ 8) (:b ⬍ 3) Falso o (:c ⫽ “si) (:c ⫽ “SI) Verdadero proceso Algoritmos Hemos visto que programar consiste en enseñar al ordenador a resolver problemas. Antes de escribir las instrucciones debemos estudiar la forma de resolver esos problemas. Observa, por ejemplo, cómo puede diseñarse un programa para calcular la raíz cuadrada de un número: inicio decisión datos para raíz ES (introduce un número) HAZ "n LEEPALABRA introducir número n inicio y fin salida de pantalla ¿n⬍0? SI error: el número es negativo fin SI :n⬍0 [ES [error: el número es negativo]] NO Símbolos para representar los diagramas de flujo. a = √n la raíz es: a SI no :n⬍0 [HAZ "a rc :n ES [la raíz es] ES :a ] fin Esta especie de receta o conjunto de pasos se llama algoritmo: método o conjunto ordenado de operaciones que permite resolver un problema. Para representarlo gráficamente hemos usado un diagrama de flujo. Actividades 27 Realiza el diagrama de flujo de un programa que permita determinar si un número es par o impar. Control y robótica 137 0S4TELA_ADARVE(2011).05 28/2/11 15:25 Página 138 6.6. Logo y sus aplicaciones Primitiva CREAVENTANA Madre Nombre de la ventana de la que depende la nueva ventana. Nombre Nombre que identifica esta ventana. Título Título de la ventana. Xpos Posición (x e y) de la esquina superior izquierda. Ypos Anchura Altura Órdenes Logo también permite crear aplicaciones utilizando objetos como ventanas, botones, barras de desplazamiento, etcétera. La orden o instrucción que permite crear una ventana es la siguiente: CREAVENTANA “madre “nombre [título] xpos ypos anchura altura [órdenes] Para añadir botones a la nueva ventana, usa esta orden: CREABOTON “madre “nombre “etiqueta xpos ypos anchura altura [órdenes] Dimensiones de la ventana. Aquí, madre indica el nombre de la ventana que contendrá el botón. Las órdenes se ejecutarán cada vez que hagamos clic con el ratón. Órdenes que se ejecutarán al crear la ventana. A continuación se muestra un procedimiento para crear una ventana con cuatro botones que permitan mover la tortuga al hacer clic sobre ellos. Barras de desplazamiento Una barra de desplazamiento permite asignar un valor a una variable arrastrando el ratón sobre aquella. En la ventana del margen, por ejemplo, la barra permite cambiar el valor de la temperatura. Para crear una barra de desplazamiento, usaremos la siguiente orden: CREABARRADESPLAZAMIENTO “madre “nombre xpos ypos anchura altura [órdenes] El procedimiento usado para crear la ventana Temperaturas que aparece en el margen es: Cada vez que modificamos la posición de la barra de desplazamiento, se ejecuta el procedimiento leebarra. La instrucción HAZ “x leebarradesplazamiento “barra detecta la posición de la barra de desplazamiento y asigna el valor a la variable :x. 138 UNIDAD 5 0S4TELA_ADARVE(2011).05 28/2/11 15:25 Página 139 6.7. Ventanas predefinidas En Logo existen ventanas que ya están diseñadas. Así, por ejemplo, la siguiente orden o instrucción produce la ventana que figura en el margen: SINOBOX [Pregunta][¿Estás seguro?] Es posible recoger la respuesta en una variable mediante la instrucción: HAZ “x SINOBOX [Pregunta][¿Estás seguro?] Otros objetos En el interior de las ventanas podemos insertar objetos que nos permitan seleccionar una opción entre varias. A continuación se muestra la forma de crear botones de radio, cajas de selección (checkbox) y listas de texto (listbox). Para leer el estado de los distintos objetos se utilizan las siguientes órdenes: Instrucción Resultado HAZ “a LEEBOTONRADIO “botón1 :a sería ”falso pues botón1 no está seleccionado HAZ “b ESTADOCHECKBOX “botón3 :b sería “verdadero HAZ “c LEESELECCIONLISTBOX “men :c⫽[Salidas digitales] Así, por ejemplo, el siguiente procedimiento comprobaría el estado del botón de la luz verde y, si está seleccionado, encendería una bombilla verde conectada a la controladora correspondiente: para luz_verde HAZ “v LEEBOTONRADIO “botón2 SI :v⫽”verdadero [conecta 1] ; conecta la salida 1 fin OTRAS VENTANAS PREDEFINIDAS MENSAJE [Título][Texto] SELECCIONBOX [Título][Lista de opciones] PREGUNTABOX [Título][Texto] Actividades 28 Crea una ventana con tres botones de radio que permita poner rojo, amarillo o verde el círculo de la figura. 29 Investiga para qué sirven las órdenes creaestatico y actualizaestatico. Control y robótica 139 0S4TELA_ADARVE(2011).05 28/2/11 15:25 Página 140 6.8. Adquisición, almacenamiento y análisis de datos Otras órdenes a tener en cuenta Un archivo puede abrirse para escribir, para leer o para añadir datos. Órdenes en Logo ABREESCRITURA “ARCHIVO ABRELECTURA “ARCHIVO ABREAÑADIR “ARCHIVO En los sistemas de control por ordenador es muy útil almacenar en archivos los datos procedentes de sensores externos. De esta manera, los datos permanecen en el disco duro y pueden recuperarse para ser analizados mediante una hoja de cálculo. Trabajo con archivos Para crear un archivo de datos debemos seguir los siguientes pasos: 1. Se abre mediante la orden ABREESCRITURA “/carpeta/archivo. 2. Indicamos dónde se escribirán los datos: PONESCRITURA “/carpeta/archivo. 3. Escribimos lo datos. 4. Cerramos el archivo: CIERRA “/carpeta/archivo e indicamos que las próximas escrituras serán en la ventana de trabajo: PONESCRITURA [ ]. El programa anterior almacena en el archivo tecno.txt el resultado de un experimento que depende del tiempo. Se trata de la caída libre de un cuerpo que responde a la fórmula s ⫽ (1/2) · gt2 (donde g ⫽ 9,8 m/s2). Te i n t e r e s a s a b e r Un bucle es un conjunto de instrucciones que se repiten hasta que se cumpla una condición: HAZ.hasta[ INSTRUCCIONES ][condición] El resultado de la orden ARCHIVAR_DATOS será la creación del archivo tecno.txt. El bucle ejecuta las instrucciones hasta que se cumpla la condición. Análisis de resultados Se pueden analizar los datos que se han obtenido en una hoja de cálculo (Excel u OpenOffice.org Calc). El análisis se realiza mediante un gráfico y un estudio de la evolución temporal (puntos de valores máximos y mínimos, tiempo empleado en alcanzar un valor estipulado, etcétera). Actividades 30 Almacena en un archivo de texto los datos del espacio total recorrido cada segundo por un objeto que se desplaza con una velocidad constante de 3 m/s hasta que han transcurrido 10 s. 140 UNIDAD 5 0S4TELA_ADARVE(2011).05 7 28/2/11 15:25 Página 141 Robots A diferencia de un automatismo, un robot debe ser capaz de realizar diversas tareas. Una puerta que se abre automáticamente no es un robot, como tampoco lo es una lámpara que se enciende cuando oscurece. Ni siquiera un coche teledirigido o una muñeca que habla son robots. Un robot es una máquina automática capaz de captar información de su entorno y de reaccionar ante ella. Además, puede programarse para realizar diversas tareas. 7.1. Arquitectura de un robot La estructura de un robot es similar a la de cualquier sistema automático. Básicamente se compone de sensores, un elemento de control y actuadores. Componentes electrónicos de un robot. En los robots, el controlador suele ser un circuito integrado llamado microcontrolador (ordenador miniaturizado). Los robots se utilizan en la realización de tareas que requieren mucho esfuerzo (transporte, carga y descarga de mercancías) o en labores repetitivas (atornillar piezas, efectuar soldaduras, clasificar distintos elementos, envasar, empaquetar y sellar productos). También se emplean en trabajos que suponen un riesgo para la vida de las personas, como actividades que implican el uso de productos químicos (pintura de automóviles), la manipulación de piezas a altas temperaturas o la desactivación de explosivos; y en todos aquellos entornos de dif ícil acceso, como el fondo del océano (instalaciones petrolíferas) o el espacio (reparación de satélites artificiales). Actividades 31 Busca en Internet información sobre algún robot. Imprime y pega en tu cua- derno una foto del mismo. Indica los sensores y actuadores que utiliza, así como el tipo de alimentación y el controlador que contiene. Control y robótica 141 0S4TELA_ADARVE(2011).05 28/2/11 15:25 Página 142 7.2. Programación de robots El control por ordenador presenta un inconveniente: el sistema controlado tiene que estar siempre conectado al ordenador. Así, un microondas o una lavadora tendrían que tener su propio ordenador, y un robot no podría alejarse más de unos centímetros de la tarjeta controladora. ENTRADA Microcontrolador. PROCESO SALIDA receptor infrarrojos LDR motor cc microcontrolador transmisor infrarrojos micrófono altavoz interruptores Actividades Sistema automático mediante microcontrolador. 32 Los microcontroladores también disponen de conversores analógico digitales para obtener información del entorno. Los microcontroladores son pequeños ordenadores miniaturizados que están incluidos en un circuito integrado. a) Explica la función del programa del siguiente diagrama de flujo. Existen programas que permiten programar un microcontrolador mediante diagramas de flujo. start readadc 1,b0 Para realizar un sistema automático usando un microcontrolador, deberemos seguir dos pasos: 1. Realizar el programa de control y almacenarlo en el microcontrolador. 2. Montar el microcontrolador en el circuito que deseemos controlar. interruptor start microcontroladora B0⬍70 Y No pin 3 ⫽ 1 4,5 V Sí high 0 out0 330 ⍀ high 0 in1 in3 high 4 ojo LED fotorresistencia wait 4 6 4 PICAXSE 08 N ojo LED 7 3 out4 8 10 k⍀ b) Prueba los programas anteriores mediante un simulador de diagramas de flujo. Puedes obtener uno gratuito en la dirección web: www.picaxe.co.uk. 142 UNIDAD 5 10 k⍀ low 0 0V En nuestro ejemplo, al accionar el pulsador conectado al pin3 (in3), se enciende la luz conectada a la salida 0 durante 4 segundos. 0S4TELA_ADARVE(2011).05 28/2/11 I D E A S 15:25 Página 143 C L A R A S Control y robótica Automatismos. Sistemas de control Un sistema automático es un conjunto de elementos eléctricos y mecánicos capaz de funcionar sin necesidad de realizar ningún esfuerzo. Un sistema de control es un conjunto de elementos que, interconectados, permiten automatizar una máquina o un proceso. Está formado por sensores, un controlador y actuadores. En los sistemas de control en lazo abierto la salida no tiene efecto sobre la acción de control, mientras que en los sistemas de control en lazo cerrado se ajustan los parámetros de control en función de la salida. Sensores Los sensores se usan para captar parámetros físicos como la temperatura, la posición de ciertos objetos, la fuerza, la presión, la humedad, etcétera. Los sensores de temperatura pueden estar basados en la dilatación, en la variación de la resistencia eléctrica o en la sensibilidad a la radiación infrarroja. Los sensores de posición pueden ser mecánicos, magnéticos u ópticos. Los sensores de fuerza y presión incluyen las galgas extensiométricas, los sensores de tipo Bourdon, etcétera. Control electromecánico, electrónico y programado Los sistemas de control electromecánico hacen uso de levas, finales de carrera y relés. Los sistemas de control electrónico suelen incluir transistores o comparadores. Para realizar un sistema de control programado necesitamos una tarjeta controladora y un programa. Lenguajes de programación Los lenguajes de programación permiten elaborar series de instrucciones lógicas que sirven para automatizar un proceso. A ese conjunto de instrucciones se le denomina programa. Un algoritmo es un conjunto de pasos que permiten resolver un problema. Se representa mediante un diagrama de flujo. Robots Un robot es una máquina automática capaz de captar información de su entorno y de reaccionar ante ella. Además, puede programarse para realizar diversas tareas. El elemento de control de un robot es un circuito integrado denominado microcontrolador. Un microcontrolador es un pequeño ordenador miniaturizado que está incluido en un circuito integrado. Elabora un mapa conceptual o esquema con los principales conceptos de la unidad. Control y robótica 143 0S4TELA_ADARVE(2011).05 28/2/11 15:25 A N Á L I S I S Página 144 D E O B J E T O S T E C N O L Ó G I C O S El ascensor: un sistema automático El acceso a muchas viviendas y lugares de trabajo sería muy complicado sin los ascensores. Se calcula que en poco más de una hora, una cantidad equivalente a la población del planeta usa este aparato. sistema de control motor Un ascensor está formado por una cabina suspendida de un conjunto de cables metálicos conectados a una polea movida mediante un motor eléctrico. Un contrapeso hace que la energía necesaria en las subidas sea menor. En la sala de máquinas se encuentra el sistema de control, encargado de recibir las peticiones de los usuarios y de encaminar la cabina a su destino. Un conjunto de sensores hacen que el sistema sea más cómodo y seguro: contrapeso Ascensor hidráulico. 쮿 Sensores de posición de la cabina para pararla en el lugar adecuado y reducir la velocidad instantes antes de llegar. 쮿 Sensores de peso en el interior de la cabina para bloquear el sistema en caso de exceso de carga. 쮿 Un sensor de velocidad. En el improbable caso de que los cables que sujetan la cabina se rompiesen y esta se desplomase, se detectaría el aumento de velocidad y se activaría automáticamente un sistema de frenado. 쮿 Sensores que impidan el cierre de las puertas de la cabina si se detecta la presencia de una persona en el umbral. 144 UNIDAD 5 0S4TELA_ADARVE(2011).05 28/2/11 15:25 Página 145 A P L I C A C I Ó N I N F O R M Á T I C A Simulador de controladora Los simuladores permiten comprobar el funcionamiento de nuestros programas de control antes de llevar a cabo el montaje real. Para hacer uso de un simulador, debemos abrir MSWLogo y elegir la opción Simuladores 씰 Usar un simulador. El programa nos mostrará una lista de simuladores. En nuestro ejemplo, elegiremos PUENTE_ENCONOR, tal como se observa a la derecha. Tras pulsar OK, aparecerá una ventana con un dibujo del elemento que se va a controlar (en este caso, un puente), junto a un esquema de la controladora, que muestra sus entradas y salidas: salidas analógicas ALIMENTACIÓN salidas analógicas salidas digitales entradas analógicas entradas digitales Si escribimos la orden CONECTA 1, veremos cómo el motor comienza a funcionar y el puente sube. A su vez, las entradas digitales cambian para indicarnos la posición del puente: cuando este alcanza la posición final, E1 indica falso y E2 verdadero. Podemos probar varias órdenes (conectar y desconectar salidas, comprobar entradas, retardos, etc.) y programas completos de control realizados con Logo. Actividades 1 Abre el simulador del semáforo que se corresponde con la figura del margen. Escribe el siguiente procedimiento, ejecútalo y explica el resultado del mismo: para sema REPITE 3[CONECTA 2 ESPERA 3 APAGA 2 ESPERA 3] fin Realiza un programa de control para cada uno de los simuladores de controladora que aparecen en MSWLogo. Elabora un documento con capturas de pantalla de los elementos controlados y con los programas de control creados. 2 Control y robótica 145 0S4TELA_ADARVE(2011).05 28/2/11 15:25 Página 146 P R O C E D I M I E N T O S Uso de una controladora para diseñar y construir un sistema automático salidas analógicas alimentación 5V tierra E A1 E A2 15 V — + E A3 S A3 S A4 + — + — E A5 E A4 S A1 S A2 + — + — tierra En este apartado aprenderemos a realizar las conexiones adecuadas y los programas de control necesarios para construir distintos sistemas automáticos. Para ello, utilizaremos las entradas y salidas de una controladora que hemos tomado como ejemplo, denominada Enconor Plus, aunque la programación sería similar si utilizáramos cualquier otra. entradas analógicas alimentación conexión al ordenador salidas digitales S1 S2 S3 S4 S 5A S 5B entradas digitales S 6A S 6B S 7A S 7B S 8A S 8B E8 E7 E6 E5 E4 E3 E2 Salidas digitales 1. Encendido y apagado de una bombilla. S1 Conexión: Programación: salidas digitales S1 S2 S3 S 4 S 5A S 5B S 6A S 6B S 7A S 7B S 8A S 8B para Encender Conecta 1 fin para Apagar Apaga 1 fin Salidas tipo interruptor. Las salidas de 1 a 4 son de tipo interruptor. Sirven para activar y desactivar dispositivos. 2. Control del sentido de giro de un motor. Conexión: Programación: salidas digitales S1 S2 salida salida 5A 1 5B 5A 1 2 3 4 S3 S 4 S 5A S 5B S 6A S 6B S 7A S 7B S 8A S 8B 3 5B 4 para motorIzq conecta 1 conecta 5 fin 2 Salidas tipo conmutador doble. Las salidas de 5 a 8 son de tipo conmutador doble, lo que nos permite modificar el sentido de giro de un motor. motor 146 UNIDAD 5 para Parar apaga 1 fin para motorDer conecta 1 apaga 5 fin E1 0S4TELA_ADARVE(2011).05 28/2/11 15:25 Página 147 P R O C E D I M I E N T O S Entradas digitales Detectan únicamente dos estados: activo o inactivo. Se utilizan para detectar la activación de un interruptor, un pulsador o un final de carrera. Conexión: E8 Programación: E7 E6 E5 E4 E3 E2 E1 Entrada n Devuelve VERDADERO si la entrada n (n es un número entre 1 y 8) está conectada; en caso contrario, devuelve FALSO. entradas digitales Ejemplo SI Entrada 1 [Conecta 1] Conecta la salida 1 si la entrada 1 está conectada. ÓRDENES INTERESANTES Entradas analógicas SEGUNDOS n Espera n segundos. Permiten obtener el valor de un parámetro físico: temperatura, intensidad de luz, etcétera. ESPERAOn n El programa se para hasta que se active la entrada n. ESPERAOff n El programa se para hasta que se desactive la entrada n. Conexión: Programación: ⫹5 V E A1 tierra LeeAnalogica n Lee el valor de la entrada analógica n (en ella, n es un número entre 1 y 5). El valor obtenido será un número comprendido entre 0 y 255. LDR 10 k⍀ La tensión de entrada, entre 0 y 5 V, es convertida a un código binario de 8 bits de acuerdo con la siguiente tabla: Voltaje de entrada N.º decimal N.º binario 0 V a 19,5 mV 0 00000000 19,5 mV a 39 mV 1 00000001 39 mV a 58,5 mV 2 00000010 … … … 4,961 V a 4,9805 V 254 11111110 4,9805 V a 5 V 255 11111111 Ejemplo SI ((LeeAnalogica 1) ⬍ 51) [Conecta 1] Si la tensión en la entrada analógica 1 es inferior a 51 (equivalente a 1 V), se activa la salida 1. Esto ocurre cuando la resistencia de la LDR es muy grande comparada con la resistencia de 10 k⍀. En general: n.º decimal ⫽ voltaje de entrada en mV 19,5 mV Salidas analógicas Se utilizan para controlar la velocidad de motores o el grado de iluminación de una bombilla. Permiten obtener una tensión entre 1,6 V y 10,7 V. Conexión: Programación: Voltaje n x S A1 + — S A2 + — S A3 + — salidas analógicas S A4 + — Aquí n es un número entre 1 y 4 y x un número entre 1,6 y 10,7; fija en la salida n una tensión x. Ejemplo Voltaje 1 2.4 Hace que en la salida analógica 1 haya 2,4 V. Control y robótica 147 0S4TELA_ADARVE(2011).05 28/2/11 15:25 Página 148 P R O C E D I M I E N T O S Apertura automática de una puerta mediante sonido Con el fin de aplicar lo que hemos aprendido hasta ahora, realizaremos un proyecto en el que intervengan varias entradas y salidas. Componentes y conexionado Como entradas, usaremos dos finales de carrera que nos indicarán la posición de la puerta y un sensor de sonido para captar ruidos: emplearemos solo las entradas digitales, pues bastará con saber si la puerta está abierta o cerrada y si se ha producido o no algún ruido. Además, en una salida de tipo conmutado conectaremos un motor para abrir y cerrar la puerta. S1 S2 sensor de sonido S3 S4 micrófono S 5A M S 5B ⫹5 V puerta cerrada E3 tierra puerta abierta E2 E1 148 UNIDAD 5 0S4TELA_ADARVE(2011).05 28/2/11 15:25 Página 149 P R O C E D I M I E N T O S Programa El programa funciona de la siguiente forma: cuando detecta un ruido, da la orden de abrir la puerta y esta activa el motor hasta que el final de carrera de puerta abierta es accionado; en ese momento se para el motor durante cinco segundos y, acto seguido, se procede a cerrar la puerta. inicio para ruido si ((entrada 1) = "VERDADERO) [abrepuerta] si ((entrada 2) = "VERDADERO) [ segundos 5 cierrapuerta ] ruido fin ¿ruido? NO abrir puerta para abrepuerta si ((entrada 2) = "VERDADERO) [ apaga 1 apaga 5 alto] conecta 5 conecta 1 abrepuerta fin ¿E2 on? NO parar motor esperar 5 s cerrar puerta para cierrapuerta si ((entrada 3) = "VERDADERO) [ apaga 1 alto] apaga 5 conecta 1 cierrapuerta fin ¿E3 on? NO parar motor Actividades 1 El siguiente procedimiento forma parte del proyecto de control de temperatura de una habitación. Para llevarlo a cabo, disponemos de un sensor de temperatura realizado mediante un termistor NTC, de un ventilador y de una controladora. Realiza el diagrama de conexiones de la controladora y explica cómo funciona el sistema. para control Sisino (leeanalogica 1) ⬎ 180 [apaga1] [conecta 1] control fin Realiza un programa en Logo que permita abrir automáticamente la barrera de entrada a un aparcamiento. 2 E3 E2 Nota: indica previamente qué salidas y entradas de la controladora vas a utilizar. pulsador E1 Control y robótica 149 0S4TELA_ADARVE(2011).05 28/2/11 15:25 Página 150 P R O C E D I M I E N T O S Controladora Arduino La controladora Arduino posee varios pines o patillas que pueden configurarse como entradas o salidas, entradas analógicas y una conexión USB al PC. La alimentación puede ser externa o a través del propio puerto del ordenador. Para desarrollar un proyecto de control por ordenador mediante esta placa, debemos seguir tres pasos: 1. Diseño del circuito; 2. Elaboración del programa de control, y 3. Carga del programa desde el PC a la controladora. Diseño del circuito Controladora Arduino. El diseño de estas controladoras se puede copiar, modificar y compartir con todo el mundo. Es decir, se trata de hardware libre. Arduino En esta etapa decidiremos, en función de las características de nuestro proyecto, los componentes que vamos a conectar a la controladora. En general, serán elementos de entrada (sensores) y de salida (actuadores). Comenzaremos diseñando un circuito muy simple formado por una salida digital: un LED que funcione de forma intermitente. Tras realizar un esquema inicial, utilizaremos el programa Fritzing (gratuito y de código abierto) para completar el diseño. Su manejo es sencillo: se colocan los distintos componentes sobre el área de trabajo y se unen mediante cables a través de la placa de prototipos. R área de trabajo pin 13 componentes LED tierra tierra propiedades del componente seleccionado Elaboración del programa Para elaborar el programa utilizaremos el entorno de desarrollo gratuito de Arduino. A continuación se muestra un ejemplo; las instrucciones terminan con un punto y coma, y los comentarios, que solo sirven para explicar el programa, comienzan con //. El programa se divide en tres bloques: Definiciones. En este bloque asignamos nombres a las patillas para recordar fácilmente su función. En nuestro caso, a la patilla 13 le llamamos PindelLED. Configuración de entradas y salidas. Definimos qué patillas son de entrada y cuáles de salida mediante la instrucción pinMode. Bucle de instrucciones. Las instrucciones que coloquemos entre corchetes tras void loop () se ejecutarán continuamente. Coloca a nivel alto (es decir, a 5 V) la patilla PindelLED. Espera 1000 milisegundos. Coloca a nivel bajo (es decir, a 0 V) la patilla PindelLED. Por último, cargamos el programa del ordenador a la controladora mediante la barra de herramientas: 150 UNIDAD 5 0S4TELA_ADARVE(2011).05 28/2/11 15:25 Página 151 P R O C E D I M I E N T O S Entrada digital Mediante las entradas digitales, la controladora detectará únicamente si están a 1 o a 0, dependiendo de que la entrada esté a 5 V o a 0 V. Para leer el valor de las entradas, utilizaremos la siguiente instrucción: variable ⫽ digitalRead(NombredelPindeEntrada); Veamos un ejemplo: diseñaremos un circuito que encienda un LED cuando accionemos un pulsador: const int PinPulsador = 3; //Definimos los pines const int PindelLED = 13; int pulsadorActivo; //Variable que almacena el estado del pulsador void setup() { //Configuramos entradas y salidas pinMode(PindelLED, OUTPUT); pinMode(PinPulsador, INPUT); } void loop(){ //Leemos el estado del pulsador pulsadorActivo = digitalRead(PinPulsador); Al pin 3, que configuraremos como entrada, le conectaremos un pulsador y una resistencia. Al accionar el pulsador, habrá 5 V en este pin; si no lo accionamos, habrá 0 V. En el margen se muestra la programación correspondiente. //Si se ha pulsado, encendemos el LED if (PinPulsador = HIGH) { digitalWrite(PindelLED, HIGH); } else { //Si no se ha pulsado, lo apagamos digitalWrite(PindelLED, LOW); } } Entrada analógica El funcionamiento es idéntico a la entrada digital, pero ahora podemos leer un valor comprendido entre 0 y 1023, pues la placa Arduino utiliza un conversor analógico a digital de 10 bits. La instrucción para leer la entrada analógica es: variable ⫽ analogRead(NombreEntradaAnalógica); Como ejemplo, veremos un circuito formado por un sensor de luz que enciende un LED si la iluminación es muy baja: void loop(){ //Leemos el valor del sensor de luz valorSensorLuz = analogRead(PinPulsador); Tras configurar los pines de entrada y salida, el programa de control sería como se muestra en el margen. //Si no hay luz, encendemos el LED if (valorSensorLuz > 800) { digitalWrite(PindelLED, HIGH); } else { //Si hay luz, lo apagamos digitalWrite(PindelLED, LOW); } } Importante Existe un atractivo entorno de programación gráfica para Arduino llamado S4A (Scratch for Arduino). A la derecha se muestra un ejemplo. ¿Sabrías indicar cuál de los programas realizados es idéntico al que aparece aquí? Control y robótica 151 0S4TELA_ADARVE(2011).05 28/2/11 15:25 Página 152 Actividades 1 Trata de escribir tu nombre en un papel con los ojos cerrados. ¿Qué ocurre si alguien mueve la hoja mientras lo estás haciendo? ¿Reacciona bien el sistema ante las perturbaciones? D Los siguientes circuitos representan dos sistemas de control. Explica qué se pretende controlar con ellos y en qué se diferencian ambos. 8 230 V ¿Qué ventaja tienen los sistemas de control de lazo cerrado frente a los de lazo abierto? 2 radiador ⫹12 V Explica la función de los siguientes elementos: termistor, fotodiodo, galga extensiométrica y micrófono. 3 4 ⫺tº Indica qué sensores utilizarías para detectar: NTC a) Sobrepeso en un ascensor. RV b) Apertura completa de la puerta de un garaje. ⫹ d) Excesiva proximidad al oído del teléfono móvil. e) Ruido excesivo en clase. 230 V ⫺ 10 k⍀ c) Iluminación escasa. 2,2 k⍀ BC548 radiador 10 k⍀ Explica lo que representa la siguiente figura. ¿Qué aplicaciones puede tener? ¿Cómo puede utilizarse para medir la velocidad de una bicicleta? 5 desactivado contacto ⫺ Explica la relación que existe entre los elementos de los siguientes diagramas. 9 ⫹12 V tubo de vidrio gas inerte activado N S N S N ⫹12 V 10 k⍀ S RV El siguiente dispositivo, conocido como encóder, se utiliza para medir la velocidad de giro de los motores. ¿Se te ocurre cómo hacerlo? 6 ⫺ 230 V 2,2 k⍀ ⫹ BC548 radiador ⫺tº LED ⫺ 10 k⍀ fotodiodo entrada salida temperatura deseada comparador ⫺ ⫹ Para medir ángulos de giro, se utiliza un encóder absoluto. El encóder representado en la siguiente figura hace uso de cuatro pares LED-fotodiodo. Explica cómo funciona. temperatura actuador controlador radiador 7 1000 1001 1011 1010 0010 1110 0110 1111 1101 1100 152 UNIDAD 5 0000 0001 0011 0111 0101 0100 sensor 10 Utilizando la ayuda de MSWLogo, realiza una tabla con todas las instrucciones gráficas que puedas utilizar. Realiza un programa que pida dos números y saque por pantalla la suma de los mismos. 11 12 Realiza un programa que utilice la instrucción HAZ.HASTA. 0S4TELA_ADARVE(2011).05 28/2/11 15:25 Página 153 Actividades 13 Realiza el siguiente programa en Logo y observa los 19 El robot de la figura es capaz de detectar obstáculos con sus antenas y de esquivarlos. Explica cómo funciona y añade el circuito de control del motor izquierdo. resultados. Explica cómo funciona. para juegodados HAZ “d 1 ⫹ azar 5 ES d SI :d ⬎ 3 [ES [¡HAS GANADO!]] SI :d ⬍ 4 [ES [:(, inténtalo de nuevo.]] fin 14 Realiza un programa que pida tres números y los motor control motor control saque por pantalla ordenados de mayor a menor. D Crea un procedimiento llamado semáforo que dibuje un semáforo. A continuación, crea un procedimiento adicional que lo haga funcionar. La secuencia debe ser la siguiente: luz roja, luz verde, tres parpadeos de luz naranja y empezar de nuevo. (Dato: la orden ESPERA 60 detiene 1 s el proceso.) 15 ⫹ 1,5 V ⫺ M ⫹ 1,5 V a) Escribe y prueba el programa. b) Ordena las piezas del diagrama de flujo que te mostramos a continuación. para azaroso HAZ "x (1⫹ azar 5) REPITE siempre [ ES [Inténtalo] HAZ "n leepalabra SI :n⫽:x [alto] ] fin final de carrera izquierdo ⫺ 16 El siguiente programa genera un número al azar entre 1 y 6. Hasta que no adivinemos de cuál se trata, no podremos salir del bucle «REPITE siempre». motor derecho 20 D Se desea diseñar un robot «siguelíneas», para lo cual se está experimentando con el circuito representado a continuación. Indica si las siguientes afirmaciones son correctas o falsas: 100 k M 33 k NO 2N3904 CNY70 Q2 3V 2N3904 SÍ a) El sensor y el motor se encuentran en el lado izquierdo. 17 D Realiza un programa que permita controlar desde una ventana el encendido de dos bombillas y la iluminación de las mismas. b) Sería necesario un circuito similar para el lado derecho del robot. c) El robot será capaz de seguir una línea blanca sobre fondo negro. d) Sería conveniente añadir un diodo de protección en paralelo con el motor. e) En el interior del CNY70 puede observarse un fotodiodo y un fototransistor. f) Si se utilizan dos transistores, la corriente que atraviesa el motor será mayor. 18 Diseña un programa para que un robot siga una tra- yectoria similar a la que aparece a continuación. 21 ¿Qué diferencia existe entre las entradas analógicas y digitales de una controladora? 22 D Una tarjeta controladora utiliza un conversor ana- lógico a digital (ADC) de 10 bits. Si el rango de la señal de entrada es de 0 V a 5 V, indica el valor digital correspondiente a 0 V, 2 V, 4 V y 5 V. Control y robótica 153