Está en la página 1de 13

DISEÑO E IMPLEMENTACIÓN DE UNA MÁQUINA EXPENDEDORA

(UTILIZANDO VERILOG HDL EN FPGA)

Por:

LAURA DANIELA LÓPEZ

EDINSON DANIEL SALINAS GONZALEZ

VÍCTOR AUGUSTO MANTILLA LEÓN

UDI - UNIVERSIDAD DE INVESTIGACIÓN Y DESARROLLO

DIGITALES

PROGRMA DE INGENIERÍA ELECTRONICA

BUCARAMANGA

2019
Pagina2

DISEÑO E IMPLEMENTACIÓN DE UNA MÁQUINA EXPENDEDORA

(UTILIZANDO VERILOG HDL EN FPGA)

Por:

LAURA DANIELA LÓPEZ

VÍCTOR AUGUSTO MANTILLA LEÓN

DOCENTE: DANIA ANDREA LARGO JAIMES

UDI - UNIVERSIDAD DE INVESTIGACIÓN Y DESARROLLO

DIGITALES

PROGRMA DE INGENIERÍA ELECTRONICA

BUCARAMANGA

2019
Pagina3

TABLA DE CONTENIDO

Resumen……………………………………………………………………….4

Introducción……………………………………………………………………4,5

Descripción del proceso……………………………………………………….5,6

Antecedentes…………………………………………………………………...7, 8, 9

Metodología……………………………………………………………………10, 11, 12

Conclusiones……………………………………………………………………13

Referencias……………………………………………………………………...13
Pagina4

RESUMEN
En el presente trabajo se realiza la programación e implementación de una FPGA para el control
de una máquina expendedora de productos, la cual cuenta con un contador de monedas, pero no
entrega cambio. Primeramente se describe el proceso de expendio del producto, nuestra máquina
expendedora contara con cuatro tipos de productos en cual el usuario podrá escoger, se presenta
el diagrama de estado el cual se utiliza para obtener las ecuaciones booleanas y secuenciales del
sistema, que a su vez permitirá construir el circuito lógico y desarrollar la codificación en VHDL
para programar la FPGA Xilinx XC2S200E. Antes de realizar la implementación se presenta la
simulación del código en VHDL, mediante el software Quartus II de la empresa Altera. Los
resultados muestran que el código desarrollado se ajusta perfectamente a la lógica establecida para
el funcionamiento de la máquina de productos.

Palabras Claves: Máquina de estado, expendedora de productos, FPGA, simulación,


programación en VHDL.

I. INTRODUCCION
Las máquinas expendedoras se utilizan para dispensar diversos productos como café, bocadillos y
bebidas frías, etc. cuando se introduce dinero en ellos. Las máquinas expendedoras existen desde
1880. La primera máquina comercial que funciona con monedas se introdujo en Londres e
Inglaterra, utilizada para vender tarjetas postales. Las máquinas expendedoras son más accesibles
y prácticas que el método de compra convencional. Hoy en día, se pueden encontrar en todas
partes, como en las estaciones de tren que venden boletos de tren, en escuelas y oficinas que venden
bebidas y bocadillos, en los bancos como cajeros automáticos y que ofrecen a los clientes incluso
joyeros de platino y diamantes. Las máquinas anteriores basadas en CMOS y SED consumen más
tiempo que las máquinas basadas en FPGA. La máquina basada en FPGA también es más flexible,
programable y puede ser reprogramada. Pero en una máquina basada en micros controladores, si
uno quiere mejorar el diseño, tiene que cambiar toda la arquitectura de nuevo, pero en FPGA el
usuario puede aumentar fácilmente la cantidad de productos. En este documento se propone un
nuevo enfoque para diseñar una máquina expendedora con características de facturación
automática. La máquina también es compatible con una función de cancelación significa que la
persona puede retirar la solicitud y que el dinero se devolverá al usuario. Esta máquina se puede
utilizar en varios lugares como hoteles, restaurantes y calles de comida. Esto reduce el tiempo y el
costo.

La rentabilidad es una de los beneficios que brindan las máquinas expendedoras, pues mediante
ellas pueden lograrse beneficios con un mantenimiento prácticamente mínimo.

Antes que dejar pasarlo o tomar cualquier snack sin auténtico alimento, se proponen máquinas
elaboradoras que preparan suculentos platos. Podemos asegurarle que los productos estarán en
Pagina5

buen estado y a la temperatura ideal, pues estas máquinas han superado una serie de controles de
calidad.

Las máquinas de expendedoras mejoran notablemente el bienestar de los trabajadores de una


oficina al hacer más llevaderas sus jornadas laborales y los tiempos de descanso. Hacer una pausa
y tener cerca una de las máquinas es algo que muchos ya disfrutan y valoran enormemente.
Además, el hecho de no tener que salir fuera a tomar el café es algo muy a valorar por los
responsables de las empresas. En otros lugares como hoteles o albergues, los clientes agradecerán
el poder tomarse un café, un refresco cuando quieran sin depender de horarios de cafeterías o
restaurantes. Sin duda, las máquinas expendedoras aportan un valor añadido al sitio en cuestión.

HISTORIA

La primera referencia conocida a una máquina expendedora se encuentra en el trabajo de Hero of


Alexandria, un ingeniero y matemático del primer siglo. Su máquina aceptó una moneda y luego
dispensó agua bendita. Cuando se depositó la moneda, cayó sobre una bandeja unida a una palanca.
La palanca abrió una válvula que dejó salir un poco de agua. La bandeja continuó inclinándose
con el peso de la moneda hasta que se cayó, momento en el que un contrapeso cerró la palanca y
cerró la válvula.

II. DESCRIPCION DEL PROCESO

IMPLEMENTACIÓN

Esta máquina expendedora se construye en términos de Diagramas de estado con la ayuda del
programa Quartus II. El usuario puede obtener cuatro tipos diferentes de productos de diferentes
precios, Los precios de estos productos se dan la tabla. La máquina puede un solo tipo de
moneda. El código está escrito y sintetizado en Verilog HDL.

DESCRIPCION LOGICA

Cuando se reinicia la máquina, significa que está listo para que el usuario seleccione el producto
deseado y este estado está representado por el estado INICIAL, Hay cuatro botones de selección
de productos, a saber, producto1, producto2, producto3 y producto4. Después de sintetizar el
código Verilog HDL obtenido por la herramienta Quartus II, se muestra a continuación el
diagrama esquemático del Nivel de transferencia de registro (RTL)

No Selección precio
1 Producto1 2
2 Producto2 3
3 Producto3 4
4 Producto4 5
Tabla 1. Lista de productos y precios
Pagina6

En nuestro proyecto, utilizamos como entrada una moneda, hemos implementado una máquina
expendedora de productos. Donde las entrada es un tipo de moneda Y las salidas cuatro tipos de
productos la cual cuenta la cantidad de monedas ingresadas

Poder que la máquina expendedora basada micro controlador. La máquina expendedora basada en
FPGA soporta cuatro productos y cuatro Monedas La máquina expendedora acepta un solo tipo
de moneda como entrada en cualquier secuencia y entrega productos cuando se deposita la cantidad
requerida, Y devuelve el cambio si la cantidad introducida es mayor que el precio del producto.
También es compatible con la función de cancelación significa un usuario, Puede retirar la
solicitud en cualquier momento y el dinero ingresado se devolverá sin ningún producto. El
algoritmo propuesto esta Implementado en Verilog HDL y simulado utilizando la herramienta de
simulación Xilinx ISE.

DESCRIPCION DE DISEÑO

Inicialmente, la señal de restablecimiento es alta y la máquina está lista para que el usuario
seleccione el producto. Este estado es el estado inicial de la Máquina y después de esto, la maquina
contara la cantidad de monedas dependiendo de los créditos del producto, el usuario seleccionará
el producto a dispensar. Después de seleccionar una entrada particular, la máquina va a Estado
espera y pedido dependiendo de la disponibilidad del producto. Supongamos que el usuario
selecciona el primer producto. La máquina en primer lugar verifica la cantidad de créditos
necesarios correspondiente al primer producto. En caso afirmativo, pasa al estado entrega

cuando la cantidad deseada se inserta en la máquina, irá al estado del producto 4 y el producto será
entregado. Si el producto es

no está disponible en la máquina, entonces la unidad de control exigirá el servicio y se moverá


hacia el estado 3 y después del servicio la máquina se restablecerá automáticamente.

También hay una función adicional de retirar la solicitud si el usuario no quiere tomar el producto.
El programa espera por si el usuario deposita otra moneda , Si se presiona antes de que se haya
insertado todo el dinero, el dinero insertado se devolverá al usuario a través de la devolución.

Se utiliza una señal de conteo de dinero para calcular el dinero total insertado en la máquina y si
es más que la cantidad del Producto entonces el cambio extra será devuelto al usuario. El monto
total del dinero tomado a la vez se muestra en la Señal de dinero. Del mismo modo, el usuario
puede seleccionar y obtener los otros productos siguiendo el procedimiento anterior.
Pagina7

DESCRIPCION MAQUINA DE ESTADOS

En el diagrama hay 5 estados. El cliente puede comprar cuatro productos. Tomemos un ejemplo
de que el usuario desea comprar bocadillos y luego tiene que presionar el botón SEL1, como
resultado, la máquina ingresará al estado espera desde el estado contar. Ahora la máquina esperará
las monedas. Supongamos que el cliente inserta una moneda, entonces la máquina ingresará en el
contar que representa que se ha depositado una moneda y el valor de en_cont será 1. en_comp,
comparará. Pasará al estado pedido a dar un pulso=1 si no comp=0 La máquina regresará
automáticamente al estado espera donde nuevamente estará listo para aceptar la moneda.
Supongamos que esta vez se inserta otra moneda, la máquina irá al contar en el que el valor de
en_cont se incrementará en dos créditos y así sucesivamente. Si el pulso=1 pasa al estado pedido
cumpliendo con el precio de producto, la máquina ingresará al estado de entrega en el que se
lanzará el producto. Del mismo modo, los clientes pueden obtener todos los demás productos
siguiendo el mismo procedimiento.

III. ANTECEDENTES
Venduino

Ryan Bates ha construido una máquina expendedora en miniatura desde cero utilizando un
Arduino Uno, cuatro servos de rotación continua y un LCD Nokia 5110. El dispositivo,
denominado "Venduino", incluye cuatro botones de entrada para hacer una selección, un indicador
LED y una luz de 12V para iluminar el interior del gabinete. Ya sea para caramelos, artículos de
tocador, cartuchos de juegos o artículos misceláneos que busca dispensar, las posibilidades son
infinitas. Simplemente inserte una moneda, elija un producto y repita.

Figura 1. Venduino
Pagina8

The vending machine

La máquina expendedora cuenta con cuatro unidades de descarga controladas mediante cuatro
servomotores de rotación continua, un sistema de transporte controlado mediante motores paso a
paso, una pantalla LCD, cuatro botones para seleccionar un artículo y un detector de monedas.

Figura 2. Vending machine.

Máquina expendedora de bricolaje utilizando Arduino y 1Sheeld

Simplemente la máquina tiene cuatro tipos de caramelos y cada tipo tiene un código especial, debe
twittear con este código especial para obtener sus caramelos. Si desea obtener un caramelo del
primer sabor, debe escribir C111 entre su tweet, Si desea obtener un caramelo del segundo sabor,
debe escribir C112 entre su tweet, Si desea obtener un caramelo del tercer sabor, debe escribir
C113 entre su tweet, Si desea obtener un caramelo del cuarto sabor, debe escribir C114 entre su
tweet.
Pagina9

Figura 3. DIY Vending Machine.

Máquina expendedora de snacks alimentada por Arduino

Figura 4. Snacks Vending Machine.

El objetivo de este proyecto es crear una máquina expendedora, accionada por un micro
controlador arduino, utilizando componentes "baratos y fáciles de obtener" disponibles en la tienda
local.

La máquina expendedora debe aceptar cierta cantidad de dinero (en moneda), antes de permitir
que el cliente elija su producto y, por supuesto, entregar el producto.
Pagina10

IV. METODOLOGIA
Para la Metodología de diseño de la máquina expendedora nos basamos en el método de
máquina de estado finito.

MÉTODO DE MÁQUINA DE ESTADO FINITO

La máquina de estados finitos (FSM) es en realidad una Modelo matemático de computación, esta
máquina. ¿Puede estar en uno de los estados del total posible. Estados El estado actual se puede
cambiar de acuerdo a Entrada desde el exterior. Un FSM se puede definir por su Lista de estados,
estado inicial y condición para cada estado. Transición. Hay dos tipos de FSM

1. Máquina Mealy

2. Máquina Moore

Máquina Mealy: En este modelo de máquina, la salida depende del estado actual así como de la
entrada. El modelo de la máquina MEALY se muestra a continuación.

FIG.5. Máquina Mealy

Máquina MOORE: En el modelo de máquina Moore, la salida solo depende del estado actual. El
modelo de máquina MOORE se muestra a continuación.

FIG.6. Máquina Mealy


Pagina11

Materiales

 Tarjeta FPGA
 4 pulsadores anti rebote
 Modulo Sensor de velocidad de Herradura de motor LM393 Tipo H2010
 4 motores reductores DC. Ref. GMZS- 0.21 a 6V 100Rpm
 16×2 LCD
 Cargador 12 v

Fig.7.diseño inicial entradas


Pagina12

V. CONCLUSIONES

 Se observó a través de diferentes escenarios, que FPGA solución de diseño basado en alta
calidad, alta calidad Rendimiento y fácil de usar. Nuestros resultados indican claramente
que la solución basada en FPGA aumenta la eficiencia y Precisión de las máquinas
expendedoras. También podemos monitorear la Máquina expendedora basada en FPGA con
el marco principal computadora. Su algoritmo es muy flexible y confiable como el
proveedor puede mejorar fácilmente el algoritmo para gran número de Productos a bajo
costo en comparación con los microprocesadores.

 Nos gustaría agradecer a nuestros respetados maestros y Colegas por su orientación y apoyo
siempre presentes. También estamos muy agradecidos con la docente MSc Dania Andrea
Largo Jaimes, por su Esfuerzo para facilitarnos y brindarnos su tiempo y ayuda para la
construcción de este proyecto. Entorno para la investigación y el desarrollo.

 Con la máquina de estados la tarea de crear una máquina expendedora se logró. Esto no fue
simple hazaña, como para incluir todas las combinaciones dentro de Estados mínimos,
demostró bastante el desafío. Mejoras en el diseño que se podrían realizar. incluir el sensor
de monedas utilizado en el lado de entrada que detectar la cantidad correcta y la salida del
producto.

VI. REFRENCIAS

[1] Samir Palnitkar, “Verilog HDL”, Second Edition, Prantice Hall, 2003

[2] Chu, Pong P. "FPGA PROTOTYPING BY VHDL

EXAMPLES." (n.d.): n. pag. EBooks club. JOHN WILEY & SONS, INC., 2008. Web. 27 Nov
2017

[3] BLOG HOME Venduino is a DIY Arduino vending machine ARDUINO TEAM — June
29th, 2016
Pagina13

Links

http://javierfabiandavid.blogspot.es/1416627101/trabajo-final/

http://www.ijset.in/wp-
content/uploads/2014/09/IJSET.0920140903.1011.0910_AANCHAL_1446-1450.pdf

http://ingridbasanta.blogspot.com/2008/01/implementacin-de-un-fpga-una-mquina.html

https://www.academia.edu/20418982/DESIGN_AND_IMPLEMENTATION_OF_VENDING_MACHINE_USI
NG_VERILOG_HDL

http://www.secs.oakland.edu/~llamocca/Courses/F17_ECE2700/FinalProject/Group15_Vendingmachin
e.pdf

http://www.ijirset.com/upload/2015/november/137_Machine.pdf

https://es.slideshare.net/pratikpatilee/hdl-implementation-of-vending-machine-controller

http://ijsrcseit.com/paper/CSEIT1833571.pdf

También podría gustarte