Autómatas programables

siemens-logoEn este tema, vamos a ver qué es y qué podemos hacer con un dispositivo que construido de forma muy compacta, lo podemos programar con cierto software para que realice unas determinadas tareas de forma autónoma.

El dispositivo que veremos es de la casa Siemens y el lenguaje que usaremos es LOGO, mediante el programa LOGOSOFT, que se encargará de simular y “volcar” nuestro programa al dispositivo.

En la parte superior tenemos las entradas de alimentación, que trabaja en el rango  110-250 voltios y las entradas digitales desde I1 a I8. Además,  este dispositivo tiene las siguientes características:

  1.  4 Salidas de tipo relé que soporta 10 A de  carga resistiva o  3 A de  carga inductiva
  2.  El tipo de montaje es carril DIN 35 mm
  3. Dimensiones de 72  x 90 x 55 mm
  4.  Protección IP20
  5. Rango de temperaturas de 0 a 55º
  6. Tiene una reserva para reloj de 480 horas
  7. Posibilidad de usar otros módulos para ampliar funcionalidad.

La manera de entender este dispositivo es ponerlo en marcha con tareas sencillas para ver cómo funciona y entender su utilidad. Iremos, como es lógico, de menos a mayor complejidad. Se requiere conocimientos de electrónica digital

Tareas.  Realizar tabla de verdad, karnaugh , circuito lógico y simular en Logosoft las siguientes actividades:

Ejercicio 1  Una alarma  tiene 4 detectores  localizados en puertas y ventanas, que llamaremos  A, B, C y D.  La alarma suena si:

a) Se activen  al menos 3  detectores.

b) Si sólo  hay dos  detectores activados, se puede optar por activar o no la alarma ( tú lo decides )

c) NO se activa para  un único detector o ninguno con la excepción de la combinación A=0, B=0, C=0 y D=1.

Ejercicio 2 Una habitación tiene 3 interruptores para el encendido-apagado de  una lámpara. La bombilla estará apagada si el número  de unos es par y apagada si el número de unos ( activación de los interruptores ) impar. Diseña el circuito

Ejercicio 3.  Un sistema electrónico trabaja con temperaturas elevadas, de forma que un incremento excesivo puede provocar una avería importante en el mismo. Diseñar y simular en logosoft, el circuito que realice las siguientes operaciones al leer un bus de 4 cables ( por donde recibe la información de la temperatura )

  •  El sistema enciende una luz verde si la temperatura está por debajo de 40 º ( correspondiente a un número digital menor a 10 en binario )
  • Se enciende una luz amarilla si el sistema se recibe el 11 , 12  y 13 ( corresponde a temperaturas entre 40 y  60 º )
  • Se activa la luz roja y una sirena si el sistema  supera los 60 º ( corresponde a los números 14 y 15.

semaforoEjercicio 4 . Un sistema contador de 4 entradas ( a, b, c y d ) cuenta desde el 0 hasta el 15, en intervalos de 2 segundos, de forma que para pasar de un número al siguiente pasan 2 segundos. Diseñar un circuito que controle las luces de un semáforo, de forma que desde el 0 hasta el 6 incluido se encienda la luz verde.  En el  7 y el  8  se encienda la luz ámbar y para el resto de números, se encienda la luz roja. Hay que tener en cuenta que el circuito con menos puertas tiene mayor puntuación.

Ejercicio 5. Unbelievable El hijo del técnico de ascensores de la torre Trump  de 8 años,   tiene pánico al nuevo presidente de la USA, por lo que , el padre, para hacer que venga a verle, decide poner un sistema en el ascensor, por el cual, cuando el ascensor privado de Trump baja del piso 32, se active una luz roja y  el niño, al verla, pueda  salir zumbando por la 5º Avenida. Tener en cuenta que la torre tiene 58 plantas. Diseñar el circuito

display-7-segmentosEjercicio 6.  Los display están constituidos por leds internos  ( Una barra por led)  y suelen ser configurados en cátodo común. Por tanto, para activar la barra inferior, tenemos que alimentar el terminal de esa barra y conectar la masa. hay que poner una resistencia limitadora de corriente.  Diseñar un circuito decodificador binario decimal desde el 0 hasta el 7.

Ejercicio 7.  Un toldo de un porche tiene un motor que posibilita la apertura y recogida del mismo. Además cuenta con tres tipos de sensores, que son.

a) Sensor de luz ( con una LDR ) de forma que cuando hay mucha radiación solar, da orden al toldo para que se abra

b) Detector de lluvia. Este se encarga de avisar al motor en caso de que llueva

c) Detector de viento. Un anemómetro instalado junto al toldo da orden de recoger si la velocidad alcanza un determinado valor

Diseñar el  circuito para montarlo en logosoft

Ejercicio 8. En una granja, tenemos un pozo de agua potable , un deposito principal sobre superficie ( a 4 metros ) y otro secundario para otra nave a 6 metros de altura. Diseñar un sistema. Para extraer el agua del pozo se usa una bomba (B1 ) y para llevar agua desde el deposito principal al secundario se usa otra bomba (B2 ). Los depósitos tienen dos sensores cada uno de lleno y vacio. Diseñar el circuito de forma que:

  • Las bombas funcionan cuando el depósito de donde toma el agua  esté lleno y vacío el depósito que hay que llenar
  • Las dos bombas no pueden funcionar a la vez

 Ejercicio 9 En la figura siguiente tenemos que resolver un sistema de aperturas de dos barreras para un garaje en sótano de forma que tenemos que aplicar el criterio de ” primero dejen salir”. Los sistemas que tenemos que controlar son:

  • 2 barreras comandadas por dos motores M1 ( bajo)  y M2 ( motor alto )
  • 2 semáforos con 3 luces cada uno, que llamaremos  R1 ( rojo de abajo ) V1 ( verde de abajo ) y A1 ( amarilla del semáforo de abajo ). Lo mismo para el semáforo de arriba V2, A2, R2.
  • 2 sensores de presencia de vehículos que llamaremos S1 y S2

problema garaje puertas logicas

Casos:

  • Si el sistema detecta dos coches a la vez, no se abre ninguna puerta y la lámpara roja de arriba se enciende indicando al coche de arriba que deje salir al coche de abajo. También se enciende la A1 indicando que espere el de abajo. Al retirarse S2, R2 sigue activo y se abren las puertas. A1=1.
  • Si Llega un coche arriba y no se detecta nadie abajo, el sistema se abre, con R1=1 y V2 =1

Sistemas secuenciales.

Anteriormente hemos visto sistemas donde la salida es función exclusivamente de los valores que toma la entrada, pero hay situaciones donde el valor que tome la  salida va a depender de los que valía ésta anteriormente, o sea, si llamamos Q(t ) al valor de la salida en el instante t, su valor va a depender de lo que valía anteriormente, o sea , depende de Q(t-1 ). A este tipo de circuitos se les denomina sistemas secuenciales.

Se introduce un elemento muy importante en este tipo de sistemas que es la re-alimentación, por el cual, el valor de la salida se vuelve a entrar en el sistema. Veremos un esquema para crear una idea general.

sistemas realimentados

Tenemos por un lado de izquierda a derecha, una entrada que entra en el 1º sistema ( Toma de decisión ) donde se generan una serie de valores para que el sistema de procesos trabaje y genere una salida. De la salida se toma una seña´por medio de unos sensores y se vuelve a entrar por un bloque ( Comparador ) para que esa señal, junto a la entrada, se vuelva a introducir en el bloque de toma de decisión y se genere una nueva señal para el sistema de procesos. A esa toma de la salida que entra  de nuevo se denomina Realimentación.

Veremos un sistema secuencial sencillo y un método para poder analizar y desarrollar los diferentes problemas que vamos a proponer en este blog.

modelo-de-mooreEn este modelo tenemos los siguientes elementos:

  • Entrada salida x/Q(t). Viene representado como una pareja de números ( 0/1, 1/1, etc, ) donde el primero indica el valor que toma la entrada X y el segundo el valor que toma la salida Q(t). Por ejemplo, en el caso 0/1,  la entrada X toma el valor 0 y la salida toma el valor 1 y sistema pasa del estado estable q1 al q2.
  • Estados estables q. El sistema permanece en ese estado permanentemente hasta que aparece un pulso de reloj, momento en el que se pone de nuevo a trabajar el sistema. En este caso es un sistema de una salida, por lo tanto hay dos posibles estados, marcados como q0 para la salida 0 y q1 para la salida 1
  • Para que el sistema cambie de un estado a otro, es necesario aplicarle un pulso de reloj, momento en el cual el sistema se pone a trabajar.

Don't Know ¿ Cómo se está comportado ese sistema ?

  1. Partimos de q1 y por tanto con la salida a 0. Viene un pulso de reloj, el sistema lee la entrada X, que toma el valor 1 y el sistema se queda en el mismo estado, o sea la nueva Q va a ser igual que la q anterior, esto es q( t-1) = Q(t) =0.
  2. Partimos de q1 y con el nuevo pulso de reloj, la entrada es ahora 0, por tanto, como vemos en el gráfico de moore,  la salida es ahora 1 y el sistema evoluciona a un nuevo estado  q2.
  3. El sistema permanece en q2 hasta que un nuevo pulso aparece, se lee la entrada X, que toma el valor 1 y el sistema se queda en el mismo estado, con Q=1.
  4. En un nuevo pulso de reloj, la entrada  toma el valor 0, por lo que el sistema para de q2 a q1.

La diferencia de un combinacional a un secuencial radica en que cuando la X=1, la salida era 0 o 1 en el combinacional, pero en este que vemos ahora, la salida puede ser tanto 0 como 1 ( ver gráfico de Moore ).

Si tenemos un sistema con 2 salidas ( Q1 y Q2 ) tendríamos otras dos variables en un instante anterior [ q1 (t-1 )   y q2 (t-1) ] y , por tanto,  nuestro modelo de Moore va a tener 4 circuitos representando  los 4 estados posibles.

¿ Cómo representamos los estados ?

La manera de “crear ” estados estables para partir de ellos en las transiciones , es mediante los circuitos biestables ( RS, JK, D, T, etc ). De ellos veremos el JK para nuestro desarrollos.

Biestable JK

Es un circuito ( ya integrado )  cuya conexión de puertas, símbolo y tabla de la verdad se muestran en la siguiente imagen:

 

 

biestable JK

A modo aclaratorio tenemos que:

  1.  La primera imagen muestra como están conectadas las puertas en un JK con reloj por niveles. En nuestro caso vamos a usar uno por flancos ( que  su símbolo se muestra a la derecha )
  2. No Mostramos la conexión de las puertas por flancos para simplificar el estudio.
  3. En las tablas de la verdad, Q es la salida del JK  y Q siguiente es el valor de la salida cuando aparece un nuevo pulso de reloj
  4. La tabla de la derecha muestra a modo simplificado cómo se comporta.

Ejercicio 10: Usando un biestable JK, construir un circuito que alimente la bombilla de un intermitente.

Ejercicio 11:  Diseñar un circuito que , usando un solo pulsador, active o desactive una lámpara.

Resolución. En este caso, tenemos una entrada que normalmente está abierta, esto es, el pulsador sin activar entra un cero en el sistema. Al pulsarlo, cambia el estado de la bombilla. Tenemos por tanto, una entrada y una salida. Pasamos a hacer la tabla de la verdad:

Como podemos comprobar, si el pulsador no actua ( p=0) tenemos como salida, el valor que había antes

Si se pulsa, el estado pasa a su estado anterior. La tabla siguiente muestra el funcionamiento

Tabla verdad pulsador

 

 

 

 

 

 

Vamos a representar el diagrama de estados , donde vemos que ocurre el cambio cuando tenemos una entrada de 1.

diagrama estados del pulsador
diagrama estados del pulsador

Lo siguiente, ( para crear el sistema de estados estables ) es utilizar nuestros biestables JK. Éstos los tenemos que incorporar a la tabla anterior. De ello tenemos el siguiente resultado:

Pulsador Q (anterior) Q posterior J K Salida
0 0 0 0 X 0
0 1 1 X 0 1
1 0 1 1 X 1
1 1 0 X 1 0

Se observa que la Salida coincide con el estado Q posterior, por tanto, S = Q

Podemos simplificar por Karnaught cada una de las variables J y K, pero en este caso, al tener solo dos entradas ( Pulsador y Q anterior ) las sacamos directamente, esto es:

y para la entrada K tenemos  

Nuestro sistema ya está hecho y lo podemos montar en logicly:

encender y apagar lampara con jk

ImportanteUtiliza la simplificación por Karnaught y verás en qué se queda el circuito 

Ejercicio 12: Controlar las luces de un semáforo de forma que la secuencia de encendido y apagado sea la siguiente:

  1. Se parte de una luz verde
  2. De la verde pasa al ámbar
  3. Del ámbar al rojo.
  4. Del Rojo al ámbar
  5. Del ámbar al verde y se vuelve a repetir la secuencia

Ejercicio 13: 

Para abrir una caja fuerte, contamos con un sistema clave-temporal, de forma que tenemos que entrar un dígito de entrada en un tiempo establecido. Si la secuencia no es la correcta , sonará una alarma. Si es correcta, se abrirá la caja. El pulsador A que entra los datos, entra un 1 lógico si está pulsado y un 0 si no se pulsa. Además se cuenta con un interruptor general B que pone el sistema en marcha. Si B está apagado, el sistema no funciona (esto evita que salte sin entrar datos).

La clave es 1 1 0 1.

Si en el instante de lectura, el dato de entrada no es correcto, se pasa del estado correspondiente al estado inicial.

Realizar las siguientes tareas:

  1. Pasar del planteamiento al  diagrama de estados.
  2. Construcción de la tabla de estados ( Tabla de la verdad )
  3. Simplificando por Karnaugh de cada una de las variables de entrada de los biestables J, así como de la salida
  4. Dibujar el circuito resultante y montar en LOGOSOFT

Podéis ver los ejercicios 12 y 13 resueltos en la siguiente página: Problemas con biestables JK

2º Bloque: Problemas con temporizadores