martes, 12 de julio de 2016

Unknown

Diseño de un circuito secuencial (1)

     Saludos a todos, esta es mi primera entrada en mi blog. En este artículo les explicaré como diseñar un circuito secuencial, para ello partiremos de una idea inicial del circuito que queremos diseñar para así concluir con el diseño del circuito.

    La descripción del circuito que usaré durante esta explicación es la siguiente:

    "Queremos gobernar una máquina M dotada de movimiento en dos sentidos (izquierda y derecha), cuyo recorrido está limitado en ambos sentidos por pulsadores B y A.

    Se supone que inicialmente la máquina está y A, y al actuar sobre el pulsador P, la máquina se mueve hacia el botón B activando el motor D. En el momento que B se active, se invertirá el sentido del movimiento activando el motor I, hasta que volvamos a A.

    Si se vuelve a pulsar P y la máquina está en A, se volverá a repetir la secuencia. En el caso de que P se pulse durante el movimiento no habrá ningún efecto."

    Para poder entender mejor lo que vamos a hacer siempre es mejor ayudarnos con algún gráfico o dibujo que nos permita poner en orden todas las ideas. Dicho esto, el dibujo de como nuestra máquina debe ser al final será algo así.


    En el dibujo, he diferenciado en color roja los cables de las señales I y D ya que estas son señales de salida de nuestro sistema digital de control, mientras que las señales P,B y A son señales de entrada.

Descripción formal

Formalmente nuestro sistema secuencial se describe así:

  • Señales de entrada: { A, B, P }
  • Señales de salida: { I, D }
  • Estado inicial: d0 =(A=1 ,B=0, P=0, I=0, D=0)

Diagrama de estados de nuestro sistema secuencial

    Una vez entendido lo que queremos hacer, debemos obtener el diagrama de estados de nuestra máquina. Como nuestra máquina va a ser una máquina secuencial, las salidas de nuestro circuito no va a depender solo de los valores de las señales de entrada A, B y P, si no, que también dependerá del estado en el que estemos en cada momento.

   En este ejemplo usaré un diagrama de estados de Mealy, en el cual las salida se producen en las transiciones.

   Para poder hacer bien la explicación de como sacar nuestro diagrama de estados lo pondré completo a continuación. Para poder leer las etiquetas correctamente, las he puesto siguiendo la forma PAB/ID.



    Como había dicho en la descripción formal, en el estado inicial (q0) tenemos todas las señales a 0 excepto A. Recordemos que en el enunciado se nos dice que al comienzo la máquina está parada en A, por lo tanto los otros pulsadores no están activos. Respecto a las salidas, al estar parada, los motores no están haciendo movimiento, por lo tanto la señal es 0.

    Fijémonos que mientras no se pulse el pulsador P, nos mantendremos en un bucle en el estado q0.

    Si pulsamos el pulsador P, pasaríamos al estado q1, este estado contempla el momento justo donde la máquina empieza a recibir la señal de moverse a la izquierda y se esta despegando del pulsador A. Veamos que mientras que la máquina no se despegue de A seguiremos en ese estado en un bucle.

    Desde el estado q2 podremos ir a dos estados. iremos al estado q2 si nos despegamos del pulsador A pero el usuario a mantenido el pulsador P apretado. En este caso, habíamos dicho que el pulsador P no hacía nada si se pulsaba durante el transcurso del movimiento, por lo que seguimos moviéndonos a la izquierda. Por otro lado podemos seguir al estado q3, el cual contempla la posibilidad de que soltemos el pulsador P después de accionarlo ( lo normal ), con lo que iríamos a un estado en el que el motor D está en marcha y nos estamos despegando del pulsador A.

    Si nos fijamos en el autómata de Mealy, vemos que la rama superior nos está contemplando el caso de que el usuario mantenga el pulsador P pulsado durante todo el transcurso de la secuencia; mientras que la rama de abajo nos contempla el caso de que el usuario haya soltado P.

    Debido a que el pulsador P puede ser apretado o soltado por un usuario, debemos contemplar siempre dicha posibilidad, por eso en el diagrama tenemos transiciones entre los estados de la rama superior y inferior. Si nos fijamos, las salidas entre dichos estados es la misma, pero contemplamos el caso de que P este accionado o no. Esto hay que contemplarlo siempre en el diseño, ya que si lo dejamos al azar nuestro circuito podría realizar cosas anómalas o no deseadas.

    Para seguir con la explicación me centraré ahora en la rama inferior. desde el estado q3 iríamos al estado q4, el cual contempla que ya nos hemos separado del pulsador A. En dicho estado nos mantendremos hasta que lleguemos a B, en cuyo caso transitaremos al estado q7, que contempla el cambio de dirección y que nos estamos despegando del pulsador B pero todavía está accionado.

   Cuando nos despeguemos de B pasamos al estado q8, en este estado estaremos hasta volver a A. cuando volvamos a A volveríamos al estado inicial q0, a espera que el usuario pulse el pulsador P de nuevo.

   En la rama superior solo debemos fijarnos en una cosa diferente. A diferencia de en la rama inferior, al terminar el recorrido iremos al estado q1, ya que como el usuario ha mantenido el pulsador P activado se iniciará el movimiento inmediatamente tras llegar a A.

   Pues con esto llega esta primera parte de como diseñar un circuito secuencial, en el próximo artículo explicaré como crear la tabla de la verdad y sacar el posterior circuito.

    Vuestros ánimos son una buena ayuda para seguir escribiendo así que seguirme si les ha gustado :)

Unknown

About Unknown -

Author Description here.. Nulla sagittis convallis. Curabitur consequat. Quisque metus enim, venenatis fermentum, mollis in, porta et, nibh. Duis vulputate elit in elit. Mauris dictum libero id justo.