Nothing Special   »   [go: up one dir, main page]

Proyecto Final Diseño Digital UNAM

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 6

Universidad Nacional

Autónoma de México
Facultad de Ingeniería

Proyecto final: Fuente de sodas

Diseño Digital

Profesor:
Ing. Mandujano Wild Roberto

Alumnos:
Albíter Alpízar Emigdio Alexandro
Alonso Torres Brayan Eduardo
Ramírez Ramos Cristóbal

Fecha: Enero de 2018


Objetivo
Diseñar una máquina secuencial de un dispensador de sodas. La máquina dispensadora debe
tener cuatro opciones de sabores de refrescos, así como la opción del tamaño (grande o chico),
y únicamente recibe dos tipos de monedas.

Desarrollo
El desarrollo del proyecto se divide en varias partes. Éstas incluyen el diseño de la carta ASM
(Algorithmic State Machine) -que describe el funcionamiento de una máquina de estados-,
implementación de la carta ASM utilizando memoria ROM -que incluye el diseño de la tabla de
programación de la memoria-, y el diseño de circuitos auxiliares -tales como la selección del sabor
y tamaño, el contador de monedas y despacho de las sodas con ayuda de bombas-.

Carta ASM
Implementación con ROM
La tabla de programación de las memorias ROM es la siguiente.
Direcciones ROM 1 y ROM 2 Salidas ROM1 Salidas ROM2
Y4, Y3, Y2, Y1, Y0 son especificadas
A13
A12
A11
A10

D7
D6
D5
D4
D3
D2
D1
D7
D6
D5
D4
D3
A9
A8
A7
A6
A5
A4
A3
A2
A1
A0

como el estado presente de la


YGRANDE

carta ASM para las direcciones de


YCONTG

YCONTP

LCLEAR
YMG

YMP

HV1
HV2
HV3
HV4
HLG
HLP
YB1
YB2
YB3
YB4

memoria, y como el estado


Y4
Y3
Y2
Y1
Y0

Y4
Y3
Y2
Y1
Y0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 siguiente para las salidas de las
0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1
memorias ROM.
1 PEQUEÑO

0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1
0 0 1 0 0 1 0 0 0 0 0 0 1 0 0 0 1 1 0 0 0 0 0 0 0 1
0 0 1 1 0 1 0 0 0 0 0 0 1 0 0 0 1 1 0 0 1 1 0 0 0 1
0 0 1 1 0 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 1 0 0 0 0 YB1, YB2, YB3, YB4 son las variables
0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1
de entrada que especifican el tipo
1 GRANDE

0 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1
0
0
0
0
0
0
0
1
1
1
1
1
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
1
0
0
0
1
0
0
0
0
0
0
1
1
de sabor de la bebida.
0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0
0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 1 YGRANDE es la variable de entrada
2 PEQUEÑO

0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 1
0 1 0 1 0 0 1 0 0 0 0 0 1 0 0 1 1 0 0 0 0 0 0 0 0 1 que especifica el tamaño de la
0 1 1 0 0 0 1 0 0 0 0 0 1 0 0 1 1 0 0 0 1 0 1 0 0 1
0 1 1 0 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 1 0 0 0 bebida. Se verifica alta si se
0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1
grande, de lo contrario es chica.
2 GRANDE

0 0 1 1 1 0 1 0 0 1 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1
0 0 1 1 1 0 1 0 0 1 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 1
0 1 0 0 1 0 1 0 0 1 1 0 0 0 0 1 0 0 1 1 0 0 1 0 0 1
0 1 0 0 1 0 1 0 0 1 1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 YMG, YMP son las variables de
0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1
entrada para las monedas que
3 PEQUEÑO

1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1
1 0 0 0 0 0 0 1 0 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 1
1 0 0 1 0 0 0 1 0 0 0 0 1 0 1 0 0 1 0 0 1 0 0 1 0 1
requiere la bebida grande y
1
0
0
0
0
0
1
0
0
0
0
0
0
0
1
1
0
0
0
1
0
0
0
0
1
0
1
0
0
0
0
1
0
1
0
0
0
1
0
0
1
0
0
0
0
0
1
0
0
0
0
1
pequeña respectivamente.
3 GRANDE

0 1 1 0 1 0 0 1 0 1 0 0 0 0 0 1 1 0 1 0 0 0 0 0 0 1
0
0
1
1
1
1
0
1
1
1
0
0
0
0
1
1
0
0
1
1
1
1
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
1
0
0
0
0
0
0
0
1
0
0
1
1
YCONTG, YCONTP son entradas
0 1 1 1 1 0 0 1 0 1 1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 que indican el carry out de los
0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 1
4 PEQUEÑO

1 0 1 1 0 0 0 0 1 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 1 contadores para el llenado de los


1 0 1 1 0 0 0 0 1 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 1
1 1 0 0 0 0 0 0 1 0 0 0 1 0 1 1 0 0 0 0 1 0 0 0 1 1 vasos grande y pequeño
1 1 0 0 0 0 0 0 1 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 1 0
0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 0 0 1 1 0 0 0 0 0 0 1 respectivamente. Cuando los
4 GRANDE

1 0 0 1 1 0 0 0 1 1 0 0 0 0 1 0 0 1 1 0 0 0 0 0 0 1
1 0 0 1 1 0 0 0 1 1 1 0 0 0 1 0 1 0 1 0 0 0 0 0 0 1 contadores terminan de contar,
1 0 1 0 0 0 0 1 1 1 0 0 0 1 0 1 0 1 1 0 0 0 0 1 1
1 0 1 0 1 0 0 0 1 1 1 1 0 0 0 0 0 0 0 1 0 0 0 0 1 0
estas variables son igual a 1.
HLG, HLP son las variables de salida que representan los loads de cada contador del llenado de
vaso, es decir, las variables que les indican que comiencen a contar.
HV1, HV2, HV3, HV4 son las variables que definen la activación de las válvulas para cada uno de
los sabores.
LCLEAR es una variable de salida que reinicia los contadores de las monedas y los registros de los
botones de los sabores una vez que se ha terminado de llenar un vaso.
Se puede notar que se utilizaron dos memorias ROM para el diseño del circuito. Esto fue debido
a que al diseñar la carta ASM obtuvimos un total de 12 salidas y las ROM comerciales tienen un
límite de 8 salidas. Asimismo, resulta digno de notar que cualquier error que detecte el circuito
(toda dirección de memoria no especificada en la tabla de programación) lo regresa al estado
inicial donde se pregunta por el sabor y tamaño.

Diagrama lógico

1. Representa el circuito para guardar el sabor que escogió el usuario. Se compone de 4 push
buttons conectados cada uno a un registro constituito por una compuerta OR y un flip
flop D. Las salidas de este circuito representan las variables YB1, YB2, YB3, YB4.
2. Representa el circuito para seleccionar el tamaño de la bebida, compuesto por un simple
interruptor. La salida de este circuito es YGRANDE.
3. Es el arreglo combinacional utilizado para contar las monedas. Una moneda de $5 ó $10
son detectadas por un sensor óptico de herradura que mandan pulsos eléctricos de 5 V.
Estos pulsos son los utilizados por el circuito combinacional (dos contadores y compuertas
AND y OR) para asegurarse de que se han recibido las monedas requeridas para cada
tamaño. Las salidas de este circuito son las variables YMG y YMP.
4. Representan los dos circuitos integrados de las dos memorias ROM.
5. Son 5 flip flops D, uno para cada bit del estado de la carta ASM. Las memorias ROM
requieren de éstos para implementar una máquina secuencial de estados. Las entradas
de los flip flop son salidas de la ROM y representan el estado siguiente, mientras que las
salidas de los flip flop, que son entradas de la ROM, constituyen el estado presente.
6. Representan dos distintos contadores. La función de estos es determinar el tiempo de
llenado para cada tamaño de vaso. Cada contador está inicializado de una manera
diferente y empiezan a contar cuando las variables de salida HLG y HLP son igual a 1.
Cuando terminan de contar, mandan un “carry out”, cada uno de los cuales representa
las variables YCONTG y YCONTP, que a su vez son entradas de la ROM.
7. Son las 4 bombas para cada uno de los 4 sabores, cada una representada por las variables
de salida HV1, HV2, HV3 y HV4.

Implementación física

Ilustración 1. Vista frontal de la máquina dispensadora de bebidas.

Ilustración 2. Vista cenital de la máquina.

Además del diseño de la electrónica digital, fue necesario el empleo de elementos de electrónica
analógica para acoplar las salidas de las ROM con las bombas que sirven la bebida.
Conclusiones
El presente proyecto final fue una muestra de la importancia de la lógica secuencial, y sobre todo
del diseño de máquinas de estado con la ayuda de cartas ASM. A lo largo del desarrollo del
proyecto se aplicaron todos los conocimientos adquiridos en la asignatura, que fueron de mucha
ayuda pues el diseño de cada una de las partes que componen el proyecto representaban un
tema distinto de la asignatura.
La lógica combinacional nos auxilió para el contador de monedas, mientras que la secuencial fue
la base de casi todo el diseño del circuito final. En ese sentido, aunque el núcleo del proyecto son
las memorias ROM y su respectiva programación, éste no funcionaría como se deseara ante la
ausencia de los demás elementos, tales como los flip flops, los contadores, los registros, las
compuertas lógicas, o la parte de electrónica analógica compuesta por las bombas.
De esta forma, el diseño digital del circuito no fue suficiente para hacer que la máquina
funcionara, y consideramos que la implementación de elementos de electrónica analógica fue el
mayor problema que se presentó durante el desarrollo del proyecto pues sin ellos éste no
actuaba como deseábamos. Eliminar el ruido eléctrico que ingresaba al circuito fue un proceso
difícil y eventualmente no pudimos suprimirlo del todo.

También podría gustarte