Tesis_Dispositivo Portátil Auxiliar en La Estimación de Productos Basados en Códigos de Barras
Short Description
Descripción: Tesis Lector código de Barras...
Description
See discussions, stats, and author profiles for this publication at: https://www.researchgate.net/publication/283718038
Dispositivo portátil auxiliar en la estimación de productos basados en códigos de barras Research · November 2015 DOI: 10.13140/RG.2.1.3316.6800
READS
314
1 author: Alfonso Rafael Cabrera Galicia Instituto Nacional de Astrofísica, Óptica y Ele… 1 PUBLICATION 0 CITATIONS SEE PROFILE
Available from: Alfonso Rafael Cabrera Galicia Retrieved on: 01 June 2016
Instituto Tecnológico de Celaya Departamento de Ingeniería Electrónica
“Dispositivo portátil auxiliar en la estimación de productos basados en códigos de barras.”
Tesis Que para obtener el título de: Ingeniero electrónico presenta: Alfonso Rafael Cabrera Galicia Asesor: Dr. José Javier Díaz Carmona Celaya, Gto.
Junio 2012
“Dispositivo portátil auxiliar en la estimación de productos basados en códigos de barras.” Tesis Cabrera Galicia Alfonso Rafael
Dedicatoria. A mis familiares, seres queridos y amigos, pero en especial a mi madre y padre….
i
“Dispositivo portátil auxiliar en la estimación de productos basados en códigos de barras.” Tesis Cabrera Galicia Alfonso Rafael Prologo. Con el objetivo de obtener el título de Ingeniero en Electrónica, por medio de la opción de titulación número 1, “Tesis Profesional”, yo Alfonso Rafael Cabrera Galicia, egresado de la carrera de Ingeniería Electrónica del Instituto Tecnológico de Celaya, realicé la escritura de la presente tesis, titulada “Dispositivo portátil auxiliar en la estimación de productos basados en códigos de barras”. Dicha tesis se basa en el desarrollo de un prototipo, cuya principal función es la de ayudar a los clientes de las tiendas de autoservicio a llevar un mejor control de su cuenta a pagar en caja. Lo anterior mediante la identificación de productos a través de la lectura de los códigos de barras con los que cuentan. De esa forma, el usuario sabrá cuanto cuesta un determinado producto y también tendrá la opción de llevar un estimado de su cuenta a pagar, mediante la adición o substracción del costo de ese producto. Además, este dispositivo puede operar sin necesidad de estar conectado a la línea de corriente alterna, gracias a la implementación de un banco de supercapacitores, el cual almacena la energía eléctrica necesaria para la operación del prototipo. De este modo se logra la portabilidad del prototipo propuesto. Por medio del desarrollo de este prototipo, se busca dar solución a una serie de problemas que comúnmente ocurren en las tiendas de autoservicio. Esto a través de la implementación de distintas tecnologías (sistemas embebidos, lectores de códigos de barras, supercapacitores). Por lo tanto, se podría decir que la principal aportación de este trabajo, es que plantea un precedente en cuanto a la implementación de las tecnologías anteriormente mencionadas, de tal forma que pueda servir como referencia para trabajos futuros. Esta tesis está compuesta por cuatro capítulos, los cuales se enfocan a distintos aspectos involucrados en el desarrollo del prototipo propuesto. En el capítulo 1, “Marco de referencia”, se hace un pequeño resumen de la historia de los códigos de barras, se plantea la problemática a resolver, se propone una solución (el desarrollo de un prototipo) y los objetivos que debe cumplir esa solución. Dentro del capítulo 2, “Marco teórico”, se incluye todo el fundamento teórico que se usó para poder solucionar la problemática planteada en el capítulo anterior, mediante el desarrollo de un prototipo. El capítulo 3, “Diseño propuesto”, se enfoca en detallar la manera en que el prototipo propuesto en esta tesis está conformado. De modo que el lector sea capaz de entender cómo es que se realizó el prototipo propuesto y de esa forma pueda, si es que así lo desea, reproducir el prototipo ó realizar mejoras en el diseño de éste. El último y cuarto capítulo de esta tesis, “Pruebas y resultados”, se enfoca en documentar una serie de pruebas de desempeño a las cuales fueron sometidos algunos componentes del prototipo propuesto. También dentro de este capítulo se documentan otras pruebas de desempeño a las que el prototipo propuesto fue sometido, con el objetivo de comprobar que este funcionara adecuadamente. Los resultados de estas pruebas también se encuentran en este capítulo. Finalmente, esta tesis presenta algunas conclusiones y recomendaciones, así como también un conjunto de anexos.
ii
“Dispositivo portátil auxiliar en la estimación de productos basados en códigos de barras.” Tesis Cabrera Galicia Alfonso Rafael
Índice Dedicatoria. .......................................................................................................................................... i Prologo. ................................................................................................................................................ ii
Capítulo 1 Marco de referencia ..................................................................... 1 1.1
Planteamiento del problema. ............................................................................................... 2
1.2
Hipótesis. ............................................................................................................................. 3
1.3
Justificación. ........................................................................................................................ 3
1.4
Objetivos. ............................................................................................................................. 3
1.5
Alcance y limitaciones. ........................................................................................................ 4
Capítulo 2 Marco teórico ................................................................................................... 5 2.1
Código de barras. ................................................................................................................ 5
2.1.1
Estándares de códigos de barras. ............................................................................... 6
2.1.1.1
Universal Product Code (UPC). .............................................................................. 7
2.1.1.2
European Article Numbering Association (EAN). .................................................... 9
2.1.2
Códigos de barras en México. ................................................................................... 11
2.2
Lectores ópticos de códigos de barras y su funcionamiento. ........................................... 12
2.3
Sistemas embebidos basados en microprocesadores. ..................................................... 13
2.3.1
Componentes de un sistema embebido. ................................................................... 14
2.4 Herramientas de desarrollo para programación en lenguaje C enfocado a microcontroladores. ....................................................................................................................... 16 2.5
Generador de energía eléctrica. ........................................................................................ 18
2.6
Conversión CD- CD. .......................................................................................................... 20
2.6.1 2.7
Convertidor Buck (reductor). ..................................................................................... 21 Almacenamiento de energía eléctrica. .............................................................................. 22
2.7.1
Batería. ...................................................................................................................... 23
2.7.2
Supercapacitor. ......................................................................................................... 24
Capítulo 3 Diseño propuesto ........................................................................................ 27 3.1
Diseño propuesto. ............................................................................................................. 27
3.2
Lector de códigos de barras. ............................................................................................. 28
3.3
Sistema embebido. ............................................................................................................ 29
3.3.1
Componentes del sistema embebido. ....................................................................... 29
3.3.2
Implementación del sistema embebido. .................................................................... 38
iii
“Dispositivo portátil auxiliar en la estimación de productos basados en códigos de barras.” Tesis Cabrera Galicia Alfonso Rafael 3.4
Sistema de almacenamiento de energía eléctrica. ........................................................... 40
3.4.1. 3.5.
Componentes del sistema de almacenamiento de energía eléctrica. ...................... 40
Implementación de los bloques. ........................................................................................ 48
Capítulo 4 Pruebas y resultados ................................................................................. 50 4.1
Pruebas de generación de energía eléctrica. ................................................................... 50
4.2
Pruebas de desempeño de distintos modelos de supercapacitores. ................................ 54
4.3 Pruebas de desempeño del sistema de almacenamiento de energía eléctrica implementado. ............................................................................................................................... 56 4.4.
Pruebas del sistema embebido ......................................................................................... 57
Conclusiones. .................................................................................................................................... 67 Recomendaciones y trabajos futuros. ............................................................................................... 67 Anexos ............................................................................................................................................... 69 Apéndice A – Datos técnicos de MS180 linear imager scanner de la marca Unitech. ................. 69 Apéndice B – Programa implementado. ....................................................................................... 71 Apéndice C – Características del convertidor CD/CD APXS002A0X. .......................................... 75 Apéndice D – Códigos de barras empleados dentro del programa. ............................................. 76 Referencias bibliográficas. ................................................................................................................ 77
iv
“Dispositivo portátil auxiliar en la estimación de productos basados en códigos de barras.” Tesis Cabrera Galicia Alfonso Rafael Índice de Figuras
Figura 2.1 Código de barras lineal. ...................................................................................................... 6 Figura 2.2 Estructura general de un código de barras lineal............................................................... 6 Figura 2.3 Código de barras de dos dimensiones. .............................................................................. 7 Figura 2.4 Códigos de barras UPC-A. ................................................................................................... 8 Figura 2.5 Código de barras EAN [10]. .............................................................................................. 10 Figura 2.6 Logotipo de la extinta AMECE, ahora GS1 México [2]. .................................................... 11 Figura 2.7 Logotipo de GS1 México [8]. ............................................................................................ 11 Figura 2.8 Kit de desarrollo de accesorios para teléfonos inteligentes y tabletas con sistema operativo Android [14]. ..................................................................................................................... 13 Figura 2.9 Ambiente de trabajo del compilador mikro C Pro for pic v4.6. ....................................... 17 Figura 2.10 Ambiente de trabajo del software MPLAB IDE v8. ........................................................ 17 Figura 2.11 Herramienta de desarrollo ICD2 de Microchip. ............................................................. 18 Figura 2.12 Generador elemental. .................................................................................................... 19 Figura 2.13 Funcionamiento de un generador ideal. ........................................................................ 20 Figura 2.14 Convertidor Buck (Reductor).......................................................................................... 21 Figura 2.15 Diagrama de la carga de una batería de celdas secundarias. ........................................ 23 Figura 2.16 Composición interna de un supercapacitor. .................................................................. 25 Figura 3.1 Diagrama a bloques del prototipo propuesto. ................................................................. 27 Figura 3.2 MS180 linear imager scanner........................................................................................... 28 Figura 3.3 Microcontrolador PIC16F877A. ........................................................................................ 29 Figura 3.4 Diagrama de flujo del algoritmo implementado, parte 1. ............................................... 32 Figura 3.5 Diagrama de flujo del algoritmo implementado, parte 2. ............................................... 33 Figura 3.6 Diagrama de flujo del algoritmo implementado, parte 3. ............................................... 34 Figura 3.7 Pantalla LCD JHD162A. ..................................................................................................... 35 Figura 3.8 Memoria EEPROM serial 24lc1025. .................................................................................. 36 Figura 3.9 Conector PS/2................................................................................................................... 36 Figura 3.10 Conexiones del conector PS/2........................................................................................ 37 Figura 3.11 Botón empleado en el sistema embebido. .................................................................... 37 Figura 3.12 Diagrama de conexiones del sistema embebido............................................................ 38 Figura 3.13 Fotolito implementado para la elaboración del circuito impreso del sistema embebido. ........................................................................................................................................................... 39 Figura 3.14 Sistema embebido implementado a manera de circuito impreso. ................................ 39 Figura 3.15 Diagrama de conexiones del regulador de corriente. .................................................... 41 Figura 3.16 Diagrama de conexiones del conmutador de corriente................................................. 42 Figura 3.17 Diodo de propósito general 1N4006. ............................................................................. 42 Figura 3.18 Supercapacitor de 22F/2.7V, similar al empleado en el prototipo. ............................... 43 Figura 3.19 Diagrama del comparador de voltaje empleado............................................................ 44 Figura 3.20 Baterías AAA de 1.3V Ni-MH. ......................................................................................... 45 v
“Dispositivo portátil auxiliar en la estimación de productos basados en códigos de barras.” Tesis Cabrera Galicia Alfonso Rafael
Figura 3.21 Convertidor CD/CD APXS002A0X. .................................................................................. 45 Figura 3.22 Configuración implementada en el convertidor CD/CD APXS002A0X. .......................... 46 Figura 3.23 Convertidor CD/CD APXS002A0X ya con componentes acoplados. .............................. 46 Figura 3.24 Diagrama de conexiones del sistema de almacenamiento de energía eléctrica. .......... 47 Figura 3.25 Fotolito implementado para la elaboración del circuito impreso del sistema de almacenamiento de energía eléctrica. .............................................................................................. 48 Figura 3.26 Sistema de almacenamiento de energía eléctrica implementado a manera de circuito impreso. ............................................................................................................................................ 48 Figura 3.27 Interconexión de los 3 bloques principales del prototipo propuesto. ........................... 49 Figura 4.1 Dínamo para bicicleta implementado. ............................................................................. 50 Figura 4.2 Estructura empleada para poner a prueba el dínamo. .................................................... 51 Figura 4.3 Osciloscopio TDS2022B de la marca Tektronix. ............................................................... 51 Figura 4.4 Medición de desempeño del dínamo, 1. .......................................................................... 52 Figura 4.5 Medición de desempeño del dínamo, 2. .......................................................................... 53 Figura 4.6 Medición de desempeño del dínamo, 3. .......................................................................... 54 Figura 4.7 Realización de una de las pruebas de desempeño de supercapacitores. ........................ 55 Figura 4.8 Prueba de desempeño del sistema de almacenamiento de energía eléctrica, 1. ........... 56 Figura 4.9 Prueba de desempeño del sistema de almacenamiento de energía eléctrica, 2. ........... 57 Figura 4.10 Sistema embebido funcionando en conjunto con el sistema de almacenamiento de energía eléctrica. ............................................................................................................................... 58 Figura 4.11 Productos que se emplearon en la prueba de desempeño. .......................................... 58 Figura 4.12 Cuenta de usuario vacía al iniciar el sistema embebido. ............................................... 59 Figura 4.13 Escaneo de una Coca-cola de 600ml. ............................................................................. 59 Figura 4.14 Sistema embebido mostrando la información de un artículo recién escaneado. ......... 60 Figura 4.15 Se anexa a cuenta el monto de una Coca-cola de 600ml............................................... 60 Figura 4.16 Cuenta de usuario modificada, después de agregar el monto de un producto a cuenta. ........................................................................................................................................................... 61 Figura 4.17 Escaneo de un disco de música. ..................................................................................... 61 Figura 4.18 Sistema embebido mostrando la información de un artículo recién escaneado, un disco de música. ......................................................................................................................................... 61 Figura 4.19 Cuenta de usuario modificada, después de haber anexado a cuenta el costo de un disco de música. ................................................................................................................................ 62 Figura 4.20 Escaneo de un videojuego.............................................................................................. 62 Figura 4.21 Sistema embebido mostrando la información de un artículo recién escaneado, un videojuego. ........................................................................................................................................ 62 Figura 4.22 Cuenta de usuario modificada, después de haber anexado a cuenta el costo de un videojuego. ........................................................................................................................................ 63 Figura 4.23 Escaneo de un producto que no se encuentra registrado dentro de la base de datos del sistema embebido. ............................................................................................................................ 63 vi
“Dispositivo portátil auxiliar en la estimación de productos basados en códigos de barras.” Tesis Cabrera Galicia Alfonso Rafael
Figura 4.24 El sistema embebido al no identificar un producto, muestra el mensaje “No registrado”. ....................................................................................................................................... 64 Figura 4.25 Escaneo de una Coca-cola de 600ml para después eliminarla de la cuenta de usuario.64 Figura 4.26 Cuenta de usuario modificada después de haber retirado el monto perteneciente a una Coca-cola de 600ml. .......................................................................................................................... 65 Figura 4.27 Escaneo de un videojuego para después eliminarlo de la cuenta de usuario. .............. 65 Figura 4.28 Cuenta de usuario modificada después de retirar el monto perteneciente a un videojuego. ........................................................................................................................................ 65 Figura 4.29 Escaneo de un disco de música para después eliminarlo de la cuenta de usuario........ 66 Figura 4.30 Cuenta de usuario modificada después de retirar el monto perteneciente a un disco de música. .............................................................................................................................................. 66 Figura D.1 Código de barras de una Coca-cola de 600ml. ................................................................ 76 Figura D.2 Códigos de barras de un comic (Wolverine). ................................................................... 76 Figura D.3 Código de barras de un videojuego (SSF4X360). ............................................................. 76 Figura D.4 Código de barras de un videojuego (UMVC3). ................................................................ 76 Figura D.5 Código de barras de un videojuego (KOF XIII). ................................................................ 76 Figura D.6 Código de barras de un disco de música (MUSE TR CD). ................................................. 76 Índice de Tablas
Tabla 2.1 Números de sistemas empleados en los códigos de barras UPC [3]. .................................. 9 Tabla 3.1 Especificaciones eléctricas del sistema embebido. ........................................................... 40 Tabla 4.1 Resultados de las pruebas de desempeño de supercapacitores....................................... 56
vii
“Dispositivo portátil auxiliar en la estimación de productos basados en códigos de barras.” Tesis Cabrera Galicia Alfonso Rafael
Capítulo 1
Marco de referencia
Antes de la invención e implementación de algún sistema de identificación de productos (como el mundialmente conocido código de barras), los encargados de las tiendas de autoservicio tenían que etiquetar cada uno de los productos que ofrecían, con su respectivo precio. Esto con el objetivo de indicarle al cliente el precio de cada producto, así como para tener control sobre el costo de estos en la caja de cobro. Sin embargo, el sistema de etiquetas no era del todo fiable, ya que algunos clientes intercambiaban las etiquetas de algunos productos por la de otros más baratos, de esa forma pagaban menos por un determinado producto. Además, el control de inventario llegaba a ser tedioso. Debido a estos inconvenientes, en 1948, el presidente de una cadena de tiendas local, solicito a un docente del Instituto de Tecnología Drexel (Philadelphia), que realizara una investigación para desarrollar un sistema que automáticamente identificara un producto durante el cobro en cajas. Con el objetivo de ofrecer una solución al problema planteado, dos estudiantes graduados de este instituto, Norman Joseph Woodland y Bernard Silver, comenzaron el desarrollo de un sistema prototipo. Como resultado de sus investigaciones, el 20 de Octubre de 1949, Woodland y Silver registraron una patente de aplicación titulada “Classifying apparatus and method”. Estos inventores describían su invención como el arte de la clasificación de artículos a través de un medio de identificación de patrones. La patente de Woodland y Silver era una simbología compuesta por un patrón de 4 líneas blancas, sobre un fondo negro. La primera línea era una línea de dato y la posición de las 3 líneas restantes se ajustaba con respecto a la primera. La información era decodificada por medio de la presencia o ausencia de una o más líneas. Esto permitía 7 clasificaciones de artículos diferentes. A pesar de esto, los inventores se dieron cuenta de que si más líneas eran agregadas, más clasificaciones podrían ser decodificadas. De modo que con 10 líneas, se podrían lograr 1023 clasificaciones. El 7 de Octubre de 1952, la patente de aplicación de Woodland y Silver fue expedida como la patente de EUA 2,612,994. A pesar de que el sistema de identificación patentado por Woodland y Silver era revolucionario, paso mucho tiempo para que un sistema de identificación de productos similar al patentado en 1952, fuera usado a gran escala. No fue sino hasta el año de 1974 que los códigos de barras y los dispositivos electrónicos capaces de decodificarlos (lectores de códigos de barras) comenzaron a usarse a mayor escala. El primer estándar de códigos de barras en usarse de esa manera fue el UPC, mientras que uno de los primeros escáneres de códigos fue el fabricado por la National Cash Register Co. A partir de ese momento, la utilización de los códigos de barras comenzó a extenderse, a tal grado, que hoy en día casi todos los productos comercializados cuentan con uno para su correcta identificación. Actualmente todas las tiendas de autoservicio cuentan con lectores de códigos de barras en sus cajas, con el objetivo de agilizar el cobro. Además, los clientes de estas tiendas tienen a su disposición 1 ó 2 lectores para identificar y conocer el precio de un producto determinado. Sin embargo, en la mayoría de las ocasiones, estos lectores de códigos de barras no son tan fáciles de ubicar dentro de la tienda, además de que son pocos. En base a esta situación, surgió la siguiente pregunta: ¿Qué pasaría si los clientes tuvieran acceso a un dispositivo electrónico que les permitiera identificar y conocer el precio de cualquier producto dentro de la tienda y además les permitiera llevar un estimado de su cuenta a pagar? Los beneficios que podría ofrecer un dispositivo como éste serían muy interesantes, por ejemplo:
1
“Dispositivo portátil auxiliar en la estimación de productos basados en códigos de barras.” Tesis Cabrera Galicia Alfonso Rafael
El cliente ya no tendría que buscar un lector de códigos de barras para conocer el precio de algún producto. El cliente podría hacer una compra inteligente ya que sabría cuánto dinero va a gastar al comprar los productos que ha elegido. Lo anterior beneficiaría a la tienda de autoservicio que emplee este dispositivo, debido a que los cobros en caja se agilizarían, ya que el cliente sabría de antemano cuanto deberá pagar, ya no se cancelarían cuentas y regresarían productos por que el costo de éstos se sale del presupuesto del cliente y además le daría un “plus” a la experiencia de compra en esa tienda.
Debido a que la implementación de un dispositivo que realice las funciones anteriormente mencionadas generaría muchos beneficios, se decidió desarrollar un prototipo que realizará dichas funciones. Como resultado, se generó el prototipo conocido como “Dispositivo portátil auxiliar en la estimación de productos basados en códigos de barras”. Dicho trabajo desarrollado sirvió como base para la realización de la presente tesis, la cual está conformada por 4 capítulos. En este primer capítulo se plantea el problema que se buscó resolver durante la realización del proyecto de tesis. De manera general, la necesidad que se tenía era la de desarrollar un prototipo que realizara determinadas funciones y del cual no existe comercialmente un producto similar. Para lograr esto, se deben de resolver una serie de problemas, los cuales también son planteados en este capítulo, junto con una hipótesis y su validación. También se exponen los objetivos a cumplir mediante la realización de este proyecto de tesis, a la vez que se anexa un apartado dedicado a informar al lector sobre el alcance que tiene el trabajo realizado, así como también del potencial que tendría el proyecto en caso de continuarse el desarrollo de éste. Pero no todo el desarrollo de este proyecto de tesis fue sencillo, también se presentaron inconvenientes a los cuales no se pudieron dar solución por distintas razones. Estas limitaciones también se encuentran presentes en este capítulo. Todos estos puntos mencionados anteriormente, en conjunto, conforman el marco de referencia de esta tesis. 1.1 Planteamiento del problema. Se tiene la necesidad de contar con una manera de que los clientes de tiendas de autoservicio lleven el control de la cantidad a pagar por los productos que adquirirán. Con el objetivo de satisfacer esta necesidad, se debe de implementar un prototipo basado en un microcontrolador, el cual realice las funciones de control de un lector de códigos de barras, a la vez que muestre al usuario la información actualizada (nombre y precio) obtenida del producto escaneado a través de una pantalla LCD. Otra función que realizará el prototipo será la de darle la opción al usuario de poder llevar la suma total de los productos que desea adquirir ó eliminar los no deseados de su cuenta. Además, ya que se planea que este prototipo se acople a un carrito de compras de supermercado, se busca que la energía eléctrica que alimente al prototipo sea obtenida a partir de la energía cinética producida por el movimiento del usuario, esto mediante la implementación de un generador acoplado a las ruedas del carrito de compras. La energía eléctrica obtenida tendrá que almacenarse, para lo cual también debe de proponerse algún método para lograr esto. Adicionalmente, se debe de emplear esta energía eléctrica de la mejor manera posible, con el objetivo de que el prototipo funcione la mayor cantidad de tiempo posible con la energía que se haya producido. Con la finalidad de que el prototipo resultante pueda ser considerado viable comercialmente, se deberán cumplir con las siguientes especificaciones de diseño en el desarrollo del prototipo:
Alta eficiencia en el consumo de energía eléctrica. Portabilidad: deberá ser capaz de ser empotrado en un carrito de tienda de autoservicio.
2
“Dispositivo portátil auxiliar en la estimación de productos basados en códigos de barras.” Tesis Cabrera Galicia Alfonso Rafael
Considerar un medio de actualización de datos confiable. Generar energía eléctrica a partir de la energía cinética generada por el usuario. Almacenar la energía eléctrica generada de la mejor manera posible.
Para resolver el problema y cumplir con las especificaciones de diseño planteadas, se propone la realización de las siguientes actividades, las cuales deben de realizarse para producir un prototipo que pueda ser considerado como un producto comercialmente viable y atractivo para el público. El orden en que se enlistaron las distintas actividades indica el nivel de prioridad que tuvo cada una de ellas. 1) 2) 3) 4) 5) 6) 7) 8) 9) 10) 11) 12) 13)
Implementación final del diseño. Realización del programa en lenguaje C para el microcontrolador. Implementación de hardware requerido. Definición de componentes a utilizar en el prototipo. Lograr un óptimo consumo de energía por parte del prototipo. Generar energía eléctrica en base a un dínamo acoplado a un carrito de compras. Almacenamiento de energía eléctrica generada. Familiarización con las herramientas de desarrollo del fabricante Mircirochip y el software MikroC Pro for Pic de la empresa Mikroelektronika. Proponer e implementar un medio para la actualización de la base de datos del prototipo. Pruebas y desarrollo de mejoras al prototipo. Definición de especificaciones y funciones del prototipo. Familiarización con el lenguaje de programación C enfocado a microcontroladores. Investigación sobre dispositivos comerciales disponibles.
1.2 Hipótesis. Es posible satisfacer la necesidad de llevar un control sobre los productos adquiridos en un supermercado por parte de un cliente, de manera eficiente y cómoda, a través de un dispositivo portátil digital basado en un lector de códigos de barras y con un consumo de energía eficiente. 1.3 Justificación. El presente proyecto tiene como principal objetivo diseñar e implementar un dispositivo portátil a través del cual el usuario pueda determinar los precios de productos que se ofrecen en una tienda de autoservicio. Básicamente, está enfocado a ser un dispositivo que se encuentre montado en el carrito de compras disponible dentro de este tipo de tiendas, lo cual permitirá no solo que el cliente encuentre el precio, sino que además realice un estimado del monto total de la compra que realizará en las cajas. Esto ayudará a que el número de productos regresados en la caja por parte de los clientes se vea notablemente reducido. Además, se busca que este dispositivo funcione con energía que sea generada por el mismo usuario. Lo anterior mediante la transformación de la energía cinética, generada por el movimiento del carrito de compras al desplazarse, en energía eléctrica. Al lograr esto, el dispositivo no tendrá necesidad de estar conectado a una toma de corriente, ya que la energía eléctrica que éste necesita para funcionar será proporcionada de manera indirecta por el usuario, haciendo que este producto sea amigable con el medio ambiente. 1.4 Objetivos. Objetivo general. Diseñar e implementar un prototipo portátil que realice la lectura de códigos de barra de productos, determinando así tanto el precio individual de un producto como la suma total de un conjunto de ellos, tomando como referencia una base de datos actualizada. Dicho prototipo deberá de
3
“Dispositivo portátil auxiliar en la estimación de productos basados en códigos de barras.” Tesis Cabrera Galicia Alfonso Rafael funcionar con energía eléctrica generada por medio de la transformación de la energía cinética, generada por el movimiento del carrito de compras al ser desplazado por el usuario, en energía eléctrica. Dicha energía deberá de ser almacenada y empleada de manera eficiente. Objetivos específicos. Los objetivos específicos se enlistan a continuación.
Determinar e implementar un sistema digital que satisfaga las especificaciones planteadas. Lograr autogenerar de manera eficiente la energía requerida por el sistema. Almacenar y emplear la energía generada de manera adecuada.
1.5 Alcance y limitaciones. En la presente tesis se documenta el desarrollo de un prototipo que busca satisfacer las necesidades planteadas anteriormente. Dicho prototipo es capaz de identificar distintos productos (en base a la lectura de sus códigos de barras), mostrarle al usuario información referente al producto identificado (nombre y precio), realizar el cálculo del monto que el usuario deberá pagar por los productos que haya agregado a su cuenta, almacenar energía eléctrica y emplear dicha energía de manera eficiente. Además el trabajo documentado puede servir de referencia para cualquier persona interesada en encontrar información referente al manejo de lectores de códigos de barras, sistemas embebidos basados en microprocesadores, generación de energía eléctrica y almacenamiento de energía eléctrica. Sin embargo, existieron limitaciones que impidieron que el prototipo propuesto cumpliera con toda las expectativas inicialmente planteadas. La primera de estas limitaciones es la falta de un generador de energía eléctrica capaz de generar la energía eléctrica necesaria para que el prototipo funcione. La segunda limitación fue el poco tiempo disponible para el desarrollo de este prototipo, en consecuencia, algunas de las funciones del prototipo no alcanzaron a ser desarrolladas (por ejemplo la implementación de una interfaz de comunicación inalámbrica para la actualización de la base de datos). Adicionalmente, el trabajo desarrollado puede servir como precedente para la búsqueda de una patente, ya que actualmente no se encuentra en el mercado un producto que realice las funciones que se espera que el dispositivo realice cuando se encuentre totalmente desarrollado.
4
“Dispositivo portátil auxiliar en la estimación de productos basados en códigos de barras.” Tesis Cabrera Galicia Alfonso Rafael
Capítulo 2
Marco teórico
Con el objetivo de que el lector tenga una mejor comprensión del trabajo propuesto en esta tesis, se dedicó este capítulo para explicar los conceptos básicos que se emplearon en el desarrollo del prototipo propuesto en esta tesis, los cuales abarcan varias áreas de la ingeniería electrónica, como la optoelectrónica, electrónica analógica, digital y de potencia. 2.1 Código de barras. Los códigos de barras son tan comunes que la mayoría de las personas están familiarizadas con ellos, ya que estos códigos están impresos en casi todos los productos que se puedan encontrar en un supermercado. La mayoría de estos códigos de barras son del tipo lineal y no son más que una etiqueta que identifica al producto en el que está impreso. Los números o letras almacenados en el código de barras (los cuales se pueden visualizar debajo de éste) son los identificadores, que al ser leídos, pueden ser utilizados por una computadora para buscar información adicional (como puede ser el precio, el nombre, etc) de un producto en especifico [1]. Un aspecto que se debe recalcar es que el nombre y precio de un producto no se encuentra generalmente almacenados en el código de barras. Lo que sucede es que la información leída de un código de barras (a través de un lector de códigos), es enviada a una computadora, la cual buscará en una base de datos el nombre y precio del producto al cual el código de barras fue asignado [1]. Aunque nos hemos acostumbrado a ver los códigos de barras en los productos que compramos, hoy en día cubren casi cualquier tipo de actividad humana, tanto en la industria e instituciones educativas como en el gobierno, la banca, instituciones médicas, aduanas y aseguradoras, entre otras y se utilizan para manejar más fácilmente todos los datos que pueden incluir y que las empresas e instituciones necesitan para la oportuna toma de decisiones [2]. Algunas aplicaciones de los códigos de barras son:
Control de mercancía. Control de inventarios. Control de tiempo y asistencia. Pedidos de reposición. Identificación de paquetes. Embarques y recibos. Control de calidad. Control de producción. Peritajes. Facturación.
Actualmente, el código de barras permite que cualquier producto pueda ser identificado en cualquier parte del mundo, de manera ágil y sin posibilidad de error. Esto es importante si consideramos que un capturista (haciendo la misma labor en forma manual), comete, en promedio, un error por cada 300 caracteres tecleados, en comparación con los códigos de barras, cuyas posibilidades de lectura errónea son de una en un trillón. Los códigos de barras pueden ser impresos por cualquier impresora de escritorio. Lo único que se necesita es un software especializado para la impresión de códigos de barras, el cual codificara los datos al sistema de código de barras. Algunos programas son [3]:
5
“Dispositivo portátil auxiliar en la estimación de productos basados en códigos de barras.” Tesis Cabrera Galicia Alfonso Rafael 2.1.1
Agamik BarCoder [4] AnyLabel for Windows [5] BARCODE 2000 [6] Estándares de códigos de barras.
Así como en el mundo existen muchos idiomas y alfabetos, también hay varias simbologías de código de barras. Todos ellos fueron desarrollados con propósitos distintos; a primera vista se parecen, sin embargo, tienen sus diferencias, dependiendo de la aplicación para la que fueron creados [2]. En general, se pueden clasificar en dos grandes grupos: Lineales (1-D) Son como los que se usan en productos y permiten incluir mensajes cortos. En la figura 2.1 se muestra un código de barras lineal.
Figura 2.1 Código de barras lineal.
Analizaremos la estructura general de un código de barras lineal (Figura 2.2), sin embargo, los conceptos se aplican también a los códigos de dos dimensiones. Cabe hacer mención que el ancho de las barras y los espacios, así como el número de cada uno de éstos varía para cada simbología (EAN, UPC).
Figura 2.2 Estructura general de un código de barras lineal.
Quiet zone. Se le llama así a la zona libre de impresión que rodea al código y permite al lector óptico distinguir entre el código y el resto de información contenida en el documento o en la etiqueta del producto.
6
“Dispositivo portátil auxiliar en la estimación de productos basados en códigos de barras.” Tesis Cabrera Galicia Alfonso Rafael Caracteres de inicio y terminación. Son marcas predefinidas de barras y espacios específicos para cada simbología. Como su nombre lo indica, marcan el inicio y terminación de un código. En el ejemplo que se muestra son iguales, pero en otras simbologías pueden diferir uno de otro. Caracteres de datos. Contienen los números o letras particulares del símbolo. Checksum. Es una referencia incluida en el símbolo, cuyo valor es calculado de forma matemática con información de otros caracteres del mismo código. Se utiliza para ejecutar una verificación matemática que valida los datos del código de barras. Aunque puede ser importante en cualquier simbología, no son requeridos en todas ellas. Dos dimensiones. Son los que han empezado a usarse en documentos para controlar su envío o en seguros médicos y, en general, en documentos que requieren la inserción de mensajes más grandes (de hasta 2725 dígitos) como un expediente clínico completo. En la figura 2.3 se muestra uno de estos códigos.
Figura 2.3 Código de barras de dos dimensiones.
Existen diversas simbologías que pueden ser utilizadas para distintos fines, sin embargo, a nivel comercial, las más usadas en el mundo son el UPC y el EAN. 2.1.1.1 Universal Product Code (UPC). Es una simbología de códigos de barras que es ampliamente usada en Norte América y en otros países como el Reino Unido, Australia y Nueva Zelanda para el rastreo de productos en las tiendas. Su forma más común es el UPC-A, el cual consiste de 12 dígitos numéricos, los cuales son asignados de manera exclusiva a cada artículo comercial. Junto con el código de barras EAN, el código de barras UPC es el único que puede ser empleado para la identificación de productos en un punto de venta, de acuerdo a los lineamientos del GS1 (Global System, Global Standard y Global Solution, organismo global encargado del control y asignación de los códigos de barras a los distintos productos, entre otros servicios) [7]. En México, GS1 México puede otorgar el código UPC a compañías nacionales que requieren exportar productos a esas regiones del mundo, como por ejemplo a Estados Unidos de América [2] [8]. El código de barras UPC-A (del cual se puede apreciar un ejemplo en la figura 2.4) está compuesto por dos partes principales:
El código de barras que sólo puede ser leído por una máquina (tira de barras negras y espacios blancos). Secuencia de 12 dígitos numéricos.
7
“Dispositivo portátil auxiliar en la estimación de productos basados en códigos de barras.” Tesis Cabrera Galicia Alfonso Rafael
Figura 2.4 Códigos de barras UPC-A.
El número de identificación de fabricante, son los primeros 6 dígitos de un número UPC (639382 en la figura 2.4). Los siguientes 5 dígitos (00039) son el número de producto. Otro aspecto a tomar en cuenta, es que cada producto que un fabricante vende, debe de tener un código de barras UPC diferente, por lo cual una lata de Coca-cola tiene asignado un código UPC diferente al que se utiliza en una Coca-cola de 2 litros. El último dígito de un código UPC es llamado el dígito de corrección de error. Este dígito permite al scanner determinar si el código se escaneó de manera correcta o no. A continuación se demuestra cómo es calculado el dígito de detección de error, a partir de los otros 11 dígitos, usado para este ejemplo los dígitos del código mostrado en la figura 2.4 (63938200039) [1]. 1. Se suman todos los valores que se encuentran en posición impar (dígitos 1, 3, 5, 7, 9 y 11). 6 + 9 + 8 + 0 + 0 + 9 = 32 2. El número obtenido es multiplicado por 3. 32 * 3 = 96 3. Se suman todos los valores que se encuentran en posición par. (dígitos 2, 4, 6, 8 y 10). 3 + 3 + 2 + 0 + 3 = 11 4. Los números obtenidos en los pasos 3 y 2 se suman. 96 + 11 = 107 5. Para crear el dígito de corrección de error, se determina el número que es necesario sumar al número obtenido en el punto 4 para obtener un número múltiplo de 10. 107 + 3 = 110 De esta forma se obtiene el dígito de corrección de error, el cual en este caso resulto ser 3. Cada vez que el scanner escanea un producto, realiza este cálculo. Si el dígito de corrección de error es diferente al digito de corrección de error leído, el scanner sabe que algo sucedió mal y que el producto necesita ser escaneado nuevamente. El primer dígito del número de identificación de fabricante es muy importante. Este dígito es llamado número de sistema. En la tabla 2.1 se muestra el significado de los distintos números de sistema. Otro punto a destacar es que ninguna letra, carácter o contenido de cualquier tipo (diferente de un dígito numérico), puede aparecer en el código de barras UPC-A estándar. El área de cada código de barras UPC-A que puede ser escaneada, sigue el siguiente patrón, SLLLLLLMRRRRRRE, en donde las barras de guardia S (Inicio), M (Mitad), E (Fin) son representadas de la misma forma en cada códigos de barras UPC, mientras que las secciones L (Izquierda) y R (Derecha) representan de manera colectiva los 12 dígitos numéricos que hacen único cada código de barras UPC. El primer dígito L es el prefijo (también llamada número de
8
“Dispositivo portátil auxiliar en la estimación de productos basados en códigos de barras.” Tesis Cabrera Galicia Alfonso Rafael sistema). El último dígito R es un dígito de corrección de error, el cual permite detectar algunos errores de escaneo o entrada manual. Los identificadores no numéricos, las barras de guardia, separan los dos grupos de dígitos y establecen sincronización [7]. Tabla 2.1 Números de sistemas empleados en los códigos de barras UPC [3].
0 1 2 3 4 5 6 7 8 9
Número UPC Standard (debe de ser cero para poder aplicar a números de cero) Reservado Productos de peso aleatorio (frutas, vegetables, carnes, etc.) Farmacéuticos Marcado en tiendas para minoristas (Una tienda puede implementar sus propios códigos, pero otra tienda no los podrá entender.) Cupones Número UPC Standard Número UPC Standard Reservado Reservado
El área que puede ser escaneada del código de barras UPC-A utiliza un código binario visual para representar información. Cada bit es representado como una barra negra ó espacio en blanco. Un código UPC completo incluye 95 bits, de los cuales 84 codifican dígitos (L y R) y 11 decodifican barras de guardia (S, M y E). Cada tres bits de largo, las secciones S y E siguen el patrón de bits barra-espacio-barra. La sección cinco bit M sigue el patrón de bits de espacio-barra-espacio-barraespacio. Cada dígito en las secciones L y R es representado por una secuencia de 7 bits de barras y espacios alternados. El patrón de bits de cada número es diseñado para ser tan pequeño como los otros como sea posible, y a no tener más de más de cuatro barras consecutivas o espacios en blanco. Ambas características fueron planteadas para darle confiabilidad al escaneo del código de barras, por parte del lector. Los números en el lado derecho de la barra de guardia media son ópticamente el inverso de los números a la izquierda. En otras palabras, mientras un número en el lado izquierdo del código UPC será hecho de barras negras y espacios blancos, el mismo número en el lado derecho será indicado de manera inversa (lo que era negro en el lado izquierdo ahora es blanco en el lado derecho y viceversa). Esta inversión permite al código de barras ser escaneado de izquierda a derecha o de derecha a izquierda. Los dígitos del lado izquierdo consisten de un número par de espacios blancos y un número impar de barras negras. Por otro lado, los dígitos del lado derecho son lo opuesto. Mediante el uso de esta diferencia el software encargado del escaneo del código sabe si se está leyendo el código de la manera correcta ó al revés. 2.1.1.2 European Article Numbering Association (EAN). En 1977, representantes de la industria y el comercio de 12 países europeos decidieron formar un grupo al que llamaron European Article Numbering Association (EAN); al poco tiempo, y tras unírseles países no europeos, el nombre fue cambiado por el de EAN International. Las siglas fueron conservadas como la identificación del sistema de codificación y simbolización de códigos de barras, del cual se muestra un ejemplo en la figura 2.5. El objetivo de esta organización fue el
9
“Dispositivo portátil auxiliar en la estimación de productos basados en códigos de barras.” Tesis Cabrera Galicia Alfonso Rafael de difundir y administrar los estándares de identificación de productos EAN y/o UPC, así como promover el uso de estándares en el Intercambio Electrónico de Datos (EDI, por sus siglas en inglés) [9].
Figura 2.5 Código de barras EAN [10].
En el año 2005, la asociación EAN se fusionó con la UCC (Uniform Code Council, organismo que anteriormente gestionaba el código UPC en Norte América) para formar una nueva y única organización mundial identificada como GS1, con sede en Bélgica. El código EAN más usual es EAN13, constituido por 13 dígitos y con una estructura dividida en cuatro partes:
Los primeros dígitos del código de barras EAN identifican el país que otorgó el código, no el país de origen del producto. Por ejemplo, en Chile se encarga de ello una empresa responsable adscrita al sistema EAN y su código es el '780'. Composición del código: o Código del país en donde radica la empresa, compuesto por 3 dígitos. o Código de empresa. Es un número compuesto por 4 o 5 dígitos, que identifica al propietario de la marca. o Código de producto. Completa los 12 primeros dígitos. o Dígito de control. Para comprobar el dígito de control (por ejemplo, inmediatamente después de leer un código de barras mediante un escáner), numeramos los dígitos de derecha a izquierda. A continuación se suman los dígitos de las posiciones impares, el resultado se multiplica por 3, y se le suman los dígitos de las posiciones pares. Se busca decena inmediatamente superior y se le resta el resultado obtenido. El resultado final es el dígito de control. Si el resultado es múltiplo de 10 el dígito de control será 0.
Por ejemplo, para 123456789041 el dígito de control será: Numeramos de derecha a izquierda: 140987654321
Suma de los números en los lugares impares: 1+0+8+6+4+2 = 21 Multiplicado (por 3): 21 × 3 = 63 Suma de los números en los lugares pares: 4+9+7+5+3+1 = 29 Suma total: 63 + 29 = 92 Decena inmediatamente superior = 100 Dígito de control: 100 - 92 = 8
10
“Dispositivo portátil auxiliar en la estimación de productos basados en códigos de barras.” Tesis Cabrera Galicia Alfonso Rafael El código quedará así: 1234567890418. Aunque las simbologías de códigos de barras UPC y EAN son las más empleadas en el ámbito del comercio electrónico, existen muchas otras simbologías, que no se analizarán en este documento, si se desea tener más información sobre estas simbologías se puede consular la siguiente dirección electrónica: http://www.barcodeisland.com [10]. 2.1.2
Códigos de barras en México.
Para alcanzar un esquema ordenado, seguro y actualizado del ejercicio del comercio electrónico en México, en el año de 1986 se creó la Asociación Mexicana de Estándares para el Comercio Electrónico (AMECE, la cual cambiaría de nombre a GS1 México), la cual promovió el uso de normas y sus beneficios para el desarrollo del comercio electrónico [2].
Figura 2.6 Logotipo de la extinta AMECE, ahora GS1 México [2].
La AMECE (figura 2.6) fue una asociación civil que fue creada por 27 empresas y que agrupó a más de 15 mil empresas.
Figura 2.7 Logotipo de GS1 México [8].
Ahora GS1 México (figura 2.7) es la entidad responsable de la implantación del sistema de código de barras en México y, a la fecha, el sistema que GS1 México administra permite la identificación del 95.0% de los productos que se distribuyen a través de las cadenas de autoservicio. El Código EAN es el más generalizado a nivel mundial y también es el que se utiliza en México. Consta de un código de 13 cifras en el que sus tres primeros dígitos identifican al país, los seis siguientes registran a la empresa productora, los tres subsecuentes al artículo en sí y, finalmente, un código verificador, que es el que da seguridad al sistema. Los números de localización EAN son asignados y administrados en México por GS1 México y en otros países por organizaciones afiliadas a GS1 International [8].
11
“Dispositivo portátil auxiliar en la estimación de productos basados en códigos de barras.” Tesis Cabrera Galicia Alfonso Rafael 2.2 Lectores ópticos de códigos de barras y su funcionamiento. Un lector óptico de códigos de barras es un dispositivo óptico que tiene como principal función leer y decodificar un código de barras, para después enviarle esta información a una computadora para que esta ultima la procese. Existen muchos tipos de máquinas lectoras de códigos de barras, pero todas ellas funcionan bajos los mismos principios básicos. Estas máquinas utilizan la intensidad de la luz reflejada desde unas series de barras negras y espacios blancos para indicarle a la computadora lo que está viendo. Los espacios blancos en un código de barras reflejan muy bien la luz, mientras que por el contrario, las barras negras muy difícilmente reflejan algo de luz. El lector de códigos de barras despliega haces de luz de manera secuencial a través del código de barras (el láser comienza a leer el código de barras en un espacio blanco [la zona fija] antes de la primera barra y continúa pasando hasta la última línea, para finalizar en el espacio blanco que sigue a ésta), mientras que de manera simultánea detecta y graba el patrón de reflexión y no reflexión de la luz emitida sobre el código de barras [11]. Después de haber realizado la lectura del código de barras, el lector traduce este patrón a señales eléctricas que pueden ser entendidas por una computadora. Todos los lectores de códigos de barras comerciales deben de incluir un software computacional que interprete el código de barras una vez que ha sido ingresado (drivers de hardware). Este simple principio de reflexión ha cambiado la forma en que somos capaces de manipular datos y la manera en que muchos negocios manejan sus registros. Otro aspecto importante es que el código no se puede leer si se pasa el escáner fuera de la zona del símbolo, de modo que la altura de las barras se eligen tal manera que permitan que la zona de lectura se mantenga dentro del área del código de barras. Además, mientras más larga sea la información a codificar, más largo será el código de barras necesario y, medida que la longitud se incrementa, también lo hace la altura de las barras y los espacios a leer. Existen lectores de mano y también fijos, como los que se utilizan en las cajas de los supermercados. Se los puede conectar de varias formas, tales como: USB, puerto serie, WiFi, bluetooth e, incluso, directamente al puerto del teclado por medio de un adaptador (keyboard wedge). Cuando se pasa un código de barras por el escáner es como si se hubiese escrito en el teclado el número del código de barras [12]. Un escáner para lectura de códigos de barras básico consiste en el escáner propiamente dicho, un decodificador y un cable que actúa como interfaz entre el decodificador y el terminal o la computadora. El scanner lee el símbolo del código de barras y proporciona una salida eléctrica a la computadora, correspondiente a las barras y espacios del código de barras. El decodificador es el que reconoce la simbología del código de barras, analiza el contenido del código de barras leído y transmite dichos datos a la computadora en un formato de datos tradicional. O sea, es tanto o más importante el decodificador que el lector. Un escáner puede tener el decodificador incorporado en el mango o puede tratarse de un escáner sin decodificador que requiere una caja separada, llamada interfaz o emulador. Los escáneres sin decodificador también se utilizan cuando se establecen conexiones con escáneres portátiles tipo “batch” (por lotes) y el proceso de decodificación se realiza mediante el terminal propiamente dicho. Si quisiéramos hacer una clasificación, entonces, deberíamos decir que existen cuatro tipos principales de lectores:
12
“Dispositivo portátil auxiliar en la estimación de productos basados en códigos de barras.” Tesis Cabrera Galicia Alfonso Rafael
Lápiz óptico. Láser de pistola. CCD (Charge Coupled Device, Dispositivos de Acoplamiento de Carga en español). Láser omnidireccional.
Tanto los lectores láser, como los CCD y los omnidireccionales se configuran leyendo comandos de programación impresos en menús de códigos de barras (generalmente incluidos en los manuales de dichos lectores). Hay algunos que se configuran con interruptores pequeños, o enviándoles los comandos de programación a través de una línea serial. También sirven como lectores manuales. 2.3 Sistemas embebidos basados en microprocesadores. Un sistema embebido es un sistema de computación diseñado para realizar una o algunas pocas funciones dedicadas frecuentemente en un sistema de computación en tiempo real. Los sistemas embebidos se utilizan para usos muy diferentes a los usos generales a los que se suelen someter a las computadoras personales. En un sistema embebido la mayoría de los componentes se encuentran incluidos en la placa base (la tarjeta de vídeo, audio, módem, etc.) aunque muchas veces los dispositivos no lucen como computadoras, por ejemplo relojes de taxi, registradores, controles de acceso entre otras múltiples aplicaciones. Un ejemplo de sistema embebido se muestra en la figura 2.8, ya que este sistema incluye un microcontrolador de la familia pic24f, módulos de entradas y salidas de datos, puertos de comunicación y módulo de suministro de energía [13] [14]. Por lo general los sistemas embebidos se pueden programar directamente en el lenguaje ensamblador del microcontrolador incorporado sobre el mismo o bien, utilizando algún compilador específico. También suelen utilizarse lenguajes de programación enfocados a microcontroladores como C, C++ y hasta en algunos casos Basic. Una de las características de los sistemas embebidos, es que suelen usar un procesador relativamente pequeño y una memoria pequeña para reducir los costos de producción. Pero la principal problemática a la que se enfrentan estos sistemas, es el fallo de un elemento dentro de la tarjeta, lo que implica la necesidad de reparar la tarjeta. Por otro lado, los sistemas embebidos emplean a menudo periféricos controlados por interfaces síncronas en serie, que son de diez a cientos de veces más lentos que los periféricos de una computadora personal normal. Además los problemas a los que los sistemas embebidos se enfrentan normalmente son problemas en tiempo real.
.
Figura 2.8 Kit de desarrollo de accesorios para teléfonos inteligentes y tabletas con sistema operativo Android [14].
13
“Dispositivo portátil auxiliar en la estimación de productos basados en códigos de barras.” Tesis Cabrera Galicia Alfonso Rafael 2.3.1
Componentes de un sistema embebido.
Los principales componentes de un sistema embebido son:
Microcontrolador Módulo de representación de datos Actuadores Interfaces de comunicación Módulo de entradas y salidas Módulo de reloj Módulo de energía
A continuación se anexa una pequeña explicación de cada uno de los componentes enlistados anteriormente. Microcontrolador. El principal componente de un sistema embebido es el microcontrolador el cual es la unidad que aporta capacidad de cómputo al sistema, pudiendo incluir memoria interna o externa. Dentro del microcontrolador se pueden almacenar un conjunto de instrucciones (programa) dentro de una memoria interna (memoria de programa flash), las cuales indicaran al microcontrolador las acciones que este debe de realizar a lo largo de un proceso. Otra característica interesante de los microcontroladores es que pueden almacenar información en distintas localidades de memoria, como se menciono anteriormente, el conjunto de instrucciones se almacena en la memoria de programa flash, mientras que los datos generados a lo largo del proceso se pueden almacenar en una pequeña localidad de memoria de rápido acceso conocida como memoria de datos RAM. También existe otro tipo de memoria que se puede encontrar dentro de algunos microcontroladores, a este tipo de memoria se le conoce como memoria de datos EEPROM. La ventaja que ofrece la memoria de datos EEPROM sobre la memoria de datos RAM, es que a diferencia de la memoria RAM, la memoria EEPROM no es del tipo volátil como la memoria RAM. Esto quiere decir que mientras los datos dentro de una memoria RAM se pierden al dejar de estar esta energizada, los datos dentro de una memoria EEPROM se mantendrán sin cambios en caso de que deje de estar energizada. Cabe mencionar que un programa puede ser cargado a un microcontrolador con la ayuda de un hardware conocido como programador. En el mercado existen diversos tipos de programadores para microcontroladores, algunos se enfocan en una sola marca de dispositivos mientras que otros pueden programar microcontroladores de diferentes marcas. Modulo de representación de datos. La forma en que un sistema embebido muestra información al usuario es mediante interfaces de salida visuales (en la mayoría de los casos). Normalmente se emplean leds indicadores, pequeñas pantallas del tipo siete segmentos ó LCD. Pero si se quiere ser un poco más exquisito se pueden emplear pequeñas pantallas capaces de desplegar gráficos más avanzados, a las cuales se les puede incorporar una interfaz de entrada táctil.
14
“Dispositivo portátil auxiliar en la estimación de productos basados en códigos de barras.” Tesis Cabrera Galicia Alfonso Rafael Actuadores. Los actuadores son los elementos electrónicos ó electromecánicos que el sistema embebido se encarga de controlar. Puede ser un motor DC, un motor a pasos, un conmutador tipo relé, un transistor, etc. También si se incorpora más circuitería, se puede incluso controlar dispositivos eléctricos que funcionen con corriente alterna, como puede ser una bombilla incandescente ó un motor de AC, esto mediante la utilización de una técnica de control de actuadores conocida como Modulación por Ancho de Pulso (PWM). Interfaces de comunicación. La comunicación también es de gran importancia en los sistemas embebidos. Lo normal es que el sistema pueda comunicarse mediante interfaces estándar de cable o inalámbricas. Así un sistema embebido normalmente incorporará puertos de comunicaciones del tipo RS-232, RS-485, SPI, I2C, CAN, USB, IP, Wi-Fi, GSM, GPRS, DSRC, etc. Módulo de entrada y salida. Todos los sistemas embebidos incorporan un módulo de entras y salidas. Dicho módulo permite al sistema embebido monitorear el desarrollo de un fenómeno físico, determinar el estado de alguna señal de entrada ó mostrar información sobre el estado del proceso que el sistema está ejecutando. Las señales de entrada y de salida que un sistema embebido puede recibir o enviar pueden ser del tipo analógico o digital. Las señales digitales son procesadas sin mayor problema por el sistema embebido, ya que su núcleo principal, el microprocesador, es capaz de manejar este tipo de señales sin dificultad, debido a que dentro de la construcción de un microprocesador se encuentra implícita la electrónica digital. En el caso de las señales analógicas, es necesario que el sistema embebido incorpore un componente extra llamado convertidor analógico – digital, esto en caso de tener una señal analógica que entre al sistema. Este componente se encarga (como su nombre indica) de realizar una conversión de señales, adaptando la señal analógica al mundo digital. Si se necesita que el sistema embebido genere una señal analógica de salida, se utiliza un dispositivo llamado convertidor digital – analógico, el cual realiza el proceso de conversión de señales digitales a analógicas. Cabe mencionar que algunos microcontroladores ya incorporan internamente un convertidor analógico – digital, por lo cual ya no es necesario anexar este convertidor al sistema embebido. Módulo de reloj. El módulo de reloj es el encargado de generar las diferentes señales de reloj a partir de un único oscilador principal. El tipo de oscilador es importante por varios aspectos: por la frecuencia necesaria, la estabilidad que este tenga y por el consumo de corriente requerido. El oscilador con mejores características en cuanto a estabilidad y coste son los basados en resonador de cristal de cuarzo, mientras que los que requieren menor consumo son los RC. Algunos microcontroladores incorporan dentro de ellos un pequeño oscilador interno.
15
“Dispositivo portátil auxiliar en la estimación de productos basados en códigos de barras.” Tesis Cabrera Galicia Alfonso Rafael Módulo de suministro de energía. El módulo de suministro de energía es el encargado de generar las diferentes tensiones y corrientes necesarias para alimentar los diferentes circuitos de un sistema embebido. Usualmente se trabaja con un rango de posibles tensiones de entrada que mediante convertidores AC/DC ó DC/DC se obtienen las diferentes tensiones necesarias para alimentar los diversos componentes activos del circuito. El consumo de energía puede ser determinante en el desarrollo de algunos sistemas embebidos que necesariamente se alimentan con baterías, con lo que el tiempo de uso del sistema embebido suele ser la duración de la carga de las baterías. Para mejorar el desempeño de un sistema embebido en cuanto al consumo de energía, algunos fabricantes de microcontroladores como Microchip, han incorporado nuevas tecnologías en sus productos para optimizar el consumo de energía, como lo es la tecnología nanoWatt [15]. Aplicaciones de un sistema embebido. Los lugares donde se pueden encontrar los sistemas embebidos son numerosos y de varias naturalezas. A continuación se exponen varios ejemplos para ilustrar las posibilidades de los mismos:
En una fábrica, para controlar un proceso de montaje o producción. Puntos de servicio o venta (POS, Point Of Service). Puntos de información al ciudadano. Decodificadores y set-top boxes para la recepción de televisión. Sistemas radar de aviones. Equipos de medicina en hospitales y ambulancias UVI – móvil. Máquinas de revelado automático de fotos. Cajeros automáticos. Y un sin fin de posibilidades aún por descubrir.
2.4 Herramientas de desarrollo microcontroladores.
para
programación
en
lenguaje
C
enfocado
a
Existen muchas herramientas útiles para la creación y compilación de programas en lenguaje C enfocado a microcontroladores, pero uno de los más completos es mikro C Pro for Pic, de la empresa MikroElectronika [16]. Mikro C Pro for Pic es un compilador ANSI C para dispositivos de la marca Microchip. Es la mejor solución para desarrollar programas para dispositivos Pic, ya que cuenta con una interfaz de desarrollo integrado (IDE, por sus siglas en ingles y la cual se puede observar en la figura 2.9.) intuitiva, un compilador poderoso con optimizaciones avanzadas. Además incluye varias librerías para el manejo de hardware y software y diversas herramientas que ayudan al usuario en su trabajo. Otra ventaja es que el compilador incluye un archivo de ayuda compresivo y muchos ejemplos de diseño. Además del software mencionado anteriormente, también son necesarios utilizar otras herramientas para cargar el programa compilado en el microcontrolador. Para lograr esto, se pueden emplear las herramientas que Microchip pone a disposición de los desarrolladores. Algunas de estas herramientas son MPLAB IDE v8 (software) y MPLAB ICD2 (In Circuit Debugger, hardware).
16
“Dispositivo portátil auxiliar en la estimación de productos basados en códigos de barras.” Tesis Cabrera Galicia Alfonso Rafael
Figura 2.9 Ambiente de trabajo del compilador mikro C Pro for pic v4.6.
El MPLAB IDE v8 es un software gratuito, el cual integra un conjunto de herramientas útiles para el desarrollo de aplicaciones embebidas que empleen los microcontroladores Pic y dsPic de Microchip. MPLAB IDE es una aplicación de 32 bits que corre sobre la plataforma Windows. Es fácil de usar e incluye una gran cantidad de componentes de software libre, para el rápido desarrollo y depuración de aplicaciones. MPLAB IDE también sirve como una interfaz grafica unificada de usuario para herramientas de desarrollo adicionales de Microchip y terceras empresas. Moverse entre herramientas es rápido y saltar de la simulación del programa compilado a la depuración y programación del hardware sin problemas, es posible debido a que MPLAB tiene la misma interfaz de usuario para todas las herramientas. En la figura 2.10 se muestra el entorno de trabajo de MPLAB IDE v8 [17].
Figura 2.10 Ambiente de trabajo del software MPLAB IDE v8.
MPLAB ICD2 (mostrado en la figura 2.11) es un depurador y programador de bajo costo para dispositivos Pics y dsPics seleccionados. Mediante el uso la tecnología In-Circuit Debug de Microchip, los programas pueden ser cargados en alguno de los dispositivos mencionados anteriormente para después ejecutar y examinar esos programas en tiempo real, gracias a las funciones de depuración de MPLAB IDE. MPLAB ICD 2 también puede ser usado como un dispositivo programador para los microcontroladores soportados [18].
17
“Dispositivo portátil auxiliar en la estimación de productos basados en códigos de barras.” Tesis Cabrera Galicia Alfonso Rafael
Figura 2.11 Herramienta de desarrollo ICD2 de Microchip.
En conjunto, las tres herramientas de desarrollo mencionadas anteriormente son muy útiles para el desarrollo de sistemas embebidos basados en microprocesadores, ya que se puede escribir y compilar el programa con el software mikro C pro for Pic, para después cargar dicho programa en el microcontralador mediante el uso del software MPLAB IDE y el hardware MPLAB ICD2. 2.5 Generador de energía eléctrica. Se conoce como generador a la máquina eléctrica que es capaz de producir energía eléctrica como consecuencia de la transformación de la energía mecánica en eléctrica. Esta transformación se consigue por la acción de un campo magnético sobre los conductores eléctricos dispuestos sobre una armadura (denominada también estator). Si mecánicamente se produce un movimiento relativo entre los conductores y el campo, se generará una fuerza electromotriz (F.E.M.). En otras palabras, el funcionamiento del generador eléctrico está basado en la Ley de Faraday [19] [20]. Con la finalidad de ilustrar la forma en la cual un generador transforma la energía mecánica en energía eléctrica, se implementara la figura 2.12. Para generar electricidad se debe de contar con un campo magnético principal, entonces este campo se debe de cortar por un conductor, para inducir una F.E.M. en el conductor. El campo magnético principal puede ser producido por un imán permanente o por una bobina energizada que lo produzca (devanado de campo). Los conductores en los cuales se induce la electricidad forman el devanado de armadura. La figura 2.12 representa un generador elemental, en el cual el campo magnético principal proviene de un par de imanes permanentes. Obsérvese que la cara del polo norte se encuentra enfrente de la cara del polo sur, la forma curvada de los polos produce un campo magnético más intenso. La bobina de la armadura esta devanada sobre el rotor, cada extremo de esta bobina esta fijo a su propia banda metálica, estas bandas se llaman anillos rozantes y es donde aparece el voltaje generado. La bobina de armadura se hace girar por un elemento que se denomina primotor, que dependiendo de la fuente de energía primaria de energía, aplicación y uso, puede estar accionado por agua, vapor, turbinas de viento ó motores a gasolina o diesel. Para colectar el voltaje generado se debe de tener una trayectoria eléctrica de los anillos rozantes a las terminales del generador, esto se hace con pequeñas piezas metálicas o de carbón llamadas escobillas. Las escobillas se encuentran fuertemente fijadas a los anillos rozantes por medio de resortes [21]. En resumen, a medida que la bobina de armadura gira debido a la acción del primotor, los conductores cortan el campo magnético y por consiguiente en ellos se induce un voltaje. Dicho voltaje es conducido a las terminales del generador mediante el contacto producido entre los anillos rozantes y las escobillas.
18
“Dispositivo portátil auxiliar en la estimación de productos basados en códigos de barras.” Tesis Cabrera Galicia Alfonso Rafael Cabe mencionar que la energía mecánica de un generador eléctrico, usualmente se obtiene mediante un eje rotatorio. Esta energía es equivalente al esfuerzo de torsión en el eje multiplicado por la velocidad angular. Como se menciono anteriormente, la energía mecánica pude provenir de diversas fuentes, como lo son: el agua (turbinas ubicadas en presas para aprovechar la fuerza que el desplazamiento del agua produce), el viento (turbinas de viento), el vapor (turbinas que utilizan el vapor producido por la combustión de combustibles fósiles o por fisión nuclear), la gasolina (se quema el combustible directamente en la turbina) e incluso el mismo cuerpo humano (gracias al aprovechamiento de los movimientos que generamos, como por ejemplo al usar una bicicleta). La construcción y la velocidad del generador variaran de acuerdo a las características de la fuerza motriz.
Figura 2.12 Generador elemental.
El generador mostrado en la figura 2.12, genera una corriente alterna, a este tipo de generador se le conoce como alternador. Por otra parte, también existen generadores de corriente directa, a los cuales se les conoce como dínamos. En la figura 2.13 se ilustra el funcionamiento de un generador ideal (alternador) por etapas. Cuando la armadura de un generador de corriente alterna hace una rotación completa a través del campo magnético, sucede lo siguiente:
Inicialmente (posición 1), el movimiento de la armadura es paralelo al campo magnético, debido a esto el voltaje es cero. Una vez que la armadura comienza a moverse, esta alcanza la posición 2. En esta posición, la armadura se mueve en forma perpendicular al campo magnético, por lo tanto, corta el máximo número de líneas por segundo, por consiguiente se alcanza el máximo valor de voltaje. Cuando la armadura gira y pasa la posición 2, el voltaje cae debido a que la armadura ya no se encuentra perpendicularmente al campo magnético. Al alcanzar la armadura la posición 3, su movimiento es otra vez paralelo al campo magnético y el voltaje de salida vuelve a ser cero. Cuando la armadura gira de la posición 3 a la 4, el voltaje vuelve alcanzar el máximo valor.
19
“Dispositivo portátil auxiliar en la estimación de productos basados en códigos de barras.” Tesis Cabrera Galicia Alfonso Rafael
Cuando la armadura completa su rotación y pasa a la posición 4, el voltaje vuelve a caer a cero.
Figura 2.13 Funcionamiento de un generador ideal.
La forma de onda que se obtiene se puede ver en la parte superior de la figura 2.13. Esta forma de onda senoidal es característica de una corriente alterna. La razón por la cual se obtiene esta forma de onda, es por que la armadura corta el campo magnético en dos ocasiones, pero en sentidos inversos. 2.6 Conversión CD- CD. Un convertidor de CD-CD convierte de forma directa de CD-CD y se puede usar como regulador de modo de conmutación para convertir un voltaje de Vcd, normalmente no regulado, en un voltaje de salida regulado de Vcd. La regulación se puede obtener con PWM (modulación de ancho de pulso) a determinada frecuencia, y el dispositivo de conmutación es, en el caso normal, un BJT, MOSFET, o IGBT. Estos convertidores son configuraciones de electrónica de potencia que permiten, a partir de una fuente de CD constante, controlar el voltaje CD a la salida del convertidor. Estos convertidores tienen múltiples aplicaciones: fuentes de poder en computadoras, sistemas de distribución de potencia, sistemas de potencia en vehículos eléctricos, etc. Las configuraciones básicas son tres: Buck (reductora), Boost (elevadora) y Buck-Boost (elevadora-reductora) [22].
20
“Dispositivo portátil auxiliar en la estimación de productos basados en códigos de barras.” Tesis Cabrera Galicia Alfonso Rafael 2.6.1
Convertidor Buck (reductor).
En un regulador reductor, el voltaje promedio de salida Va es menor que el voltaje de entrada Vs, por ello el nombre de reductor. El diagrama de circuito de un regulador que usa un BJT de potencia se ve en la figura 2.14.a, y se parece a un convertidor de bajada. El funcionamiento del circuito se puede dividir en dos modos. El modo 1 comienza cuando se cierra el transistor Q1 en t = 0. La corriente de entrada, que aumenta, pasa por el inductor de filtro L, el capacitor de filtro C y el resistor de carga R. El modo 2 comienza cuando se apaga el transistor Q1 en t = 1. El diodo de marcha libre Dm conduce, por la energía almacenada en el inductor, y la corriente del inductor sigue pasando por L, C, la carga y el diodo Dm. La corriente del inductor baja hasta que el transistor Q1 se enciende de nuevo, en el siguiente ciclo. Los circuitos equivalentes de los modos de operación se ven en la figura 2.14.b. Las formas de onda de voltajes y corrientes se muestran en la figura 2.14.c, para un paso continuo de la corriente por el inductor L. Se supone que la corriente aumenta y baja en forma lineal. En general, su efecto se puede despreciar, en la mayor parte de las aplicaciones. De acuerdo con la frecuencia de conmutación, la inductancia y la capacitancia del filtro, la corriente del inductor puede ser discontinua.
Figura 2.14 Convertidor Buck (Reductor).
El regulador reductor sólo requiere un transistor, es sencillo y tiene una eficiencia alta, mayor al 90%. Sin embargo, la corriente de entrada es discontinua, y en el caso normal se requiere un filtro de alisamiento en la entrada. Proporciona voltaje de salida de una polaridad, y corriente unidireccional de salida. Requiere un circuito de protección para el caso de un posible corto circuito a través de la trayectoria del diodo [22].
21
“Dispositivo portátil auxiliar en la estimación de productos basados en códigos de barras.” Tesis Cabrera Galicia Alfonso Rafael 2.7 Almacenamiento de energía eléctrica. Actualmente la energía eléctrica necesita ser generada en el momento en que es demandada para ser consumida. Dicho de otro modo, la electricidad generada en un instante debe ser la misma que la consumida, más las pérdidas producidas en la generación y transporte. Sin embargo, a medida que aumenta la cantidad de electricidad generada a partir de recursos intermitentes, como la eólica o la energía solar directa, el suministro de energía puede no coincidir con la demanda llegando a tener que disponer de otros medios de generación eléctrica preparados para suplir una posible desconexión repentina de parques eólicos por un temporal, por ejemplo. El almacenamiento de energía contribuiría a un mejor aprovechamiento de la electricidad generada por este tipo de fuentes bajas en emisiones de CO2 [23]. La energía eléctrica no puede ser almacenada en grandes cantidades de manera sencilla, ya que el almacenamiento directo de esta puede ser muy costoso y peligroso. Sin embargo, existen métodos alternativos para almacenarla en gran escala, esto mediante la transformación de esta forma de energía en otra que pueda ser más fácil de acumular. Por ejemplo, La Red Eléctrica de España (REE) dispone de una serie de opciones para ajustar las variaciones de la demanda y la oferta, incluyendo la regulación de la potencia de generación de las centrales que lo permitan, la gestión de la demanda y el bombeo. La acumulación por bombeo (usada en centrales hidroeléctricas reversibles [24] ), donde el agua es bombeada a un depósito (embalse) de alta en los momentos de baja demanda de electricidad, que luego se usa para generar electricidad en las horas de alta demanda, es el principal tipo de almacenamiento de la electricidad utilizado a gran escala. Sin embargo, se están desarrollando nuevas formas de almacenamiento de energía que podrían impulsar una mayor participación de las energías renovables en el sector energético. Un ejemplo de este impulso por solucionar el problema de la indisponibilidad solar apareció recientemente en los medios de comunicación. Se trata de la primera planta solar termoeléctrica comercial del mundo que aplica, en la tecnología de torre central, el almacenamiento térmico en sales fundidas. Gemasolar, ubicada en Sevilla, puede generar energía eléctrica 24 horas al día (puede generar durante 15 horas sin aporte solar). El sistema de acumulación de sales permite retener hasta el 99% del calor durante un lapso de 24 horas, aumentando considerablemente el factor de carga [25]. En el Parque Eólico Experimental de Sotavento, situado entre Lugo y A Coruña, están llevando a cabo un proyecto para producción de hidrógeno con energía eólica. Consiste en alimentar con la electricidad generada por aerogeneradores un electrolizador que separa el agua en hidrógeno y oxígeno. El hidrógeno obtenido es comprimido y almacenado para ser utilizado posteriormente como combustible en un grupo de generación eléctrica [26]. Otro imaginativo modo de almacenamiento es el propuesto por la empresa canadiense Thin Red Line Aerospace. Por medio de un balón de aire comprimido (Energy Bag), de gran resistencia a altas presiones, que se ancla al fondo marino de manera que una bolsa de 20 metros de diámetro a 600 m de profundidad puede acumular aire altamente comprimido, para después manejar con ese aire, generadores eléctricos. Esta tecnología fue pensada inicialmente para el almacenamiento de la energía generada por parques eólicos fuera de costa [27]. Todas estas alternativas ofrecen una solución al problema de la acumulación de la energía eléctrica a gran escala, esto mediante la transformación de la energía. Pero hablando de la acumulación de esta energía a menor escala, en el mercado ha existido desde hace mucho tiempo una alternativa para almacenar la energía eléctrica de una forma más directa, sin tener que transformarla. Esta alternativa es la batería, la cual se ha utilizado durante mucho tiempo para
22
“Dispositivo portátil auxiliar en la estimación de productos basados en códigos de barras.” Tesis Cabrera Galicia Alfonso Rafael almacenar energía eléctrica. Sin embargo no es la única, actualmente los supercapacitores han ganado interés entre los diseñadores de sistemas electrónicos de potencia, ya que éstos también se pueden emplear para almacenar energía eléctrica. A continuación se definirán cada uno de estos dispositivos electrónicos. 2.7.1
Batería.
Se denomina batería, batería eléctrica, acumulador eléctrico o simplemente acumulador, al dispositivo que almacena energía eléctrica, usando procedimientos electroquímicos y que posteriormente la devuelve casi en su totalidad; este ciclo puede repetirse por un determinado número de veces. Se trata de un generador eléctrico secundario; es decir, un generador que no puede funcionar sin que se le haya suministrado electricidad previamente mediante lo que se denomina proceso de carga [28]. El principio de funcionamiento de un acumulador está basado esencialmente en un proceso reversible llamado reducción-oxidación (también conocida como redox), un proceso en el cual uno de los componentes se oxida (pierde electrones) y el otro se reduce (gana electrones); es decir, un proceso cuyos componentes no resulten consumidos ni se pierdan, sino que meramente cambian su estado de oxidación, que a su vez puedan retornar al estado primero en las circunstancias adecuadas. Estas circunstancias son, en el caso de los acumuladores, el cierre del circuito externo, durante el proceso de descarga, y la aplicación de una corriente, igualmente externa, durante la carga. En la figura 2.15, se puede observar un diagrama que describe el proceso redox durante la carga de una batería.
Figura 2.15 Diagrama de la carga de una batería de celdas secundarias.
Durante la carga, el material activo del electrodo positivo se oxida, liberando electrones, y el material del electrodo negativo es reducido, captando dichos electrones. Estos electrones constituyen el flujo de corriente eléctrica que atravesará el circuito externo, cuando éste se conecte a la batería. El electrolito puede servir como un simple medio de transporte para el flujo de iones entre los electrodos, como en el caso de la batería de iones de litio y la batería de níquel-cadmio, o puede ser un participante activo en la reacción electroquímica, como en la batería de plomo-ácido. La energía utilizada para cargar las baterías recargables en su mayoría proviene de corriente alterna de la red eléctrica, utilizando un adaptador (cargador). La mayoría de los cargadores de baterías pueden tardar varias horas para cargar una batería. La mayoría de las baterías pueden ser cargadas en mucho menos tiempo de lo que emplean los cargadores de baterías más comunes
23
“Dispositivo portátil auxiliar en la estimación de productos basados en códigos de barras.” Tesis Cabrera Galicia Alfonso Rafael y simples. Duracell y Rayovac ahora venden cargadores que pueden regenerar o recargar baterías de NiMH tamaño AA y AAA en sólo 15 minutos; Energizer vende cargadores que pueden recargar baterías de tamaño C/D y baterías de NiMH de 9 V. Sin embargo, las altas tasas de carga (por ejemplo, el empleo de cargadores de 15 minutos o cargadores de 1 hora) causarán daño a largo plazo en las baterías recargables de NiMH y en la mayoría de las otras [29]. Las baterías recargables son susceptibles a daños debido a la recarga inversa (inversión de los polos) si están completamente descargadas. Existen cargadores de baterías totalmente integrados que optimizan la corriente de carga, a éstos se les conoce como cargadores inteligentes. Los cargadores inteligentes usan un circuito microprocesador para controlar los parámetros de la pila, lo que incluye temperatura, voltaje y estado de la carga. Esta información es utilizada por el cargador para determinar el momento más oportuno para completar la carga. Si se los compara con los cargadores controlados por un temporizador o timer, los cargadores inteligentes normalmente pueden cargar las pilas más rápido sin incidir en el rendimiento. Además, el intento de recargar las pilas o baterías no recargables conlleva una pequeña posibilidad de causar una explosión de la pila [30]. En las especificaciones técnicas de los fabricantes de la batería a menudo se refieren al parámetro VPC. VPC significa voltios por celda, y se refiere al voltaje de las celdas individuales que conforman la batería o celda secundaria. Por ejemplo, para cargar una batería de 12 V (con 6 celdas de 2 V cada una) a 2,3 VPC se necesita una tensión de 6·2,3 V = 13,8 V a través de los terminales externos de la batería. La mayoría de pilas de Ni-MH tipo AA o AAA disponen de celdas de 1,2 V. No obstante, esto no es un problema en la mayoría de los dispositivos porque las pilas alcalinas sufren una caída de tensión cuando se agota la energía. La mayoría de los dispositivos están diseñados para seguir funcionando con un voltaje reducido de entre 0,9 y 1,1 V. De acuerdo a su composición interna, existen los siguientes tipos de baterías.
2.7.2
Batería de plomo-ácido. Pila alcalina. Baterías de níquel-hierro. Baterías alcalinas de manganeso. Baterías de níquel-cadmio. Baterías de níquel-hidruro metálico. Baterías de iones de litio. Baterías de polímero de litio. Supercapacitor.
Los supercapacitores (también conocidos como ultracapacitores o condensadores de doble capa), son dispositivos electrónicos capaces de almacenar energía electroestáticamente por medio de la polarización de una solución electrolítica. A pesar de que los supercapacitores son dispositivos electroquímicos, ninguna reacción química es involucrada en el proceso de almacenamiento de energía que se lleva a cabo en ellos. Este proceso es altamente reversible, permitiendo que un supercapacitor sea cargado y descargado cientos de miles ó incluso millones de veces. Un supercapacitor puede ser visto como dos placas porosas no reactivas suspendidas dentro de un electrólito con un voltaje aplicado a través de las placas. El potencial aplicado en la placa positiva atrae los iones negativos en el electrólito, mientras que el potencial en la placa negativa
24
“Dispositivo portátil auxiliar en la estimación de productos basados en códigos de barras.” Tesis Cabrera Galicia Alfonso Rafael atrae los iones positivos. Esto crea dos capas de almacenamiento capacitivo, una donde las cargas son separadas en la placa positiva y la otra en la placa negativa. El área de almacenamiento de los capacitores electrolíticos convencionales se obtiene de placas delgadas de material conductivo. La alta capacitancia se logra mediante el enrollado de una gran longitud de material. Incrementos adicionales en la capacitancia son posibles mediante el texturizado de su superficie, incrementando de esta forma su superficie. Un capacitor convencional separa sus placas cargadas con un material dieléctrico, el cual puede ser plástico, papel o películas cerámicas. Mientras más delgado sea el material dieléctrico, más aérea podrá ser creada dentro de un volumen específico. Las limitaciones de la delgadez del dieléctrico definen la aérea de superficie lograble. Un supercapacitor obtiene su área de almacenamiento a partir de un electrodo de material poroso basado en carbón. La estructura porosa de este material permite que su superficie de área se aproxime a 2000 metros cuadrados por gramo, la cual es mucho mayor que la que se puede obtener usando películas delgadas o texturizadas y placas. La distancia de separación de carga de un supercapacitor está determinada por el tamaño de los iones en el electrólito, los cuales son atraídos a los electrodos cargados. Esta separación de carga (menor de 10 angstroms) es mucho más pequeña que la que puede ser obtenida mediante el uso de materiales dieléctricos convencionales. En resumen, la combinación de una enorme área de superficie y una separación de cargas extremadamente pequeña le otorga al supercapacitor su sobresaliente capacitancia en relación a los capacitores convencionales [31]. Las especificaciones de construcción de un supercapacitor dependen de la aplicación y uso que el supercapacitor tendrá. Los materiales pueden variar ligeramente según el fabricante ó las necesidades específicas de la aplicación. Lo más común es que la composición interna de un supercapacitor consista de un electrodo positivo, un electrodo negativo, un separador entre esos dos electrodos y un electrólito llenando las porosidades de los dos electrodos y el separador, tal y como se muestra en la figura 2.16.
Figura 2.16 Composición interna de un supercapacitor.
El ensamblado de los supercapacitores puede variar de un producto a otro. Esto es debido en parte a la geometría del empaquetado del supercapaciitor. Para productos que tienen un arreglo prismático o cuadrado de empaquetado, la construcción interna está basada en un arreglo de
25
“Dispositivo portátil auxiliar en la estimación de productos basados en códigos de barras.” Tesis Cabrera Galicia Alfonso Rafael ensamblado de apilamiento con colectores internos de extrusión de cada bloque de electrodos. Estos colectores de corriente son soldados a las terminales para permitir un flujo de corriente afuera del capacitor. Para productos con empaquetado cilíndrico ó circular, los electrodos son enrollados en una configuración jellyroll. Los electrodos tienen extensiones de aluminio que son soldadas a las terminales para permitir un flujo de corriente afuera del capacitor. Actualmente se pueden encontrar en el mercado supercapacitores de muchos tamaños. Esto permite que los supercapacitores sean empleados en una gran variedad de aplicaciones dentro de diversas industrias. Estas aplicaciones pueden abarcar corrientes del orden de miliamperes ó potencias de miliwatts hasta cientos de amperes de corriente ó cientos de kilowatts de potencia. Las industrias que emplean supercapacitores incluyen: electrónica de consumo, transporte, automotriz e industrial. A continuación se muestran algunos ejemplos de aplicaciones en cada industria.
Automotriz: redes de suministro de energía para vehículos de 42V, dirección asistida, controles de válvula electromagnética, arranque del generador, apertura eléctrica de las puertas, freno regenerativo, hibrido de propulsión eléctrica, restricciones activas del cinturón de seguridad. Transporte: arranque de motores diesel, tren pendular, apertura de puertas de seguridad, suministro de energía a tranvía, compensación por caída de voltaje, freno regenerativo, hibrido de propulsión eléctrica. Industrial: fuente de suministro de energía ininterrumpida, turbinas de viento, lectura automática de contadores, respaldo de energía para microcontrolador elevador, puertas de seguridad y telecomunicaciones. Electrónica de consumo: camaras digitales, lap tops, PDA´s, GPS, dispositivos portátiles, juguetes, linternas y dispositivos de pago en restaurantes.
26
“Dispositivo portátil auxiliar en la estimación de productos basados en códigos de barras.” Tesis Cabrera Galicia Alfonso Rafael
Capítulo 3
Diseño propuesto
Dentro del área de la ingeniería electrónica, se conoce como prototipo al circuito construido para verificar que un diseño teórico realmente funciona. De modo que este tercer capítulo se enfoca en detallar la manera en que el prototipo propuesto en esta tesis está conformado. Dicho prototipo, como se ha comentado anteriormente, le brindará al usuario la posibilidad de identificar productos en base a códigos de barras y llevar un aproximado de su cuenta a pagar. Además, este prototipo puede almacenar la energía que necesita para funcionar, esto mediante el uso de un banco de supercapacitores. En las siguientes secciones se explicará con más detalle la composición de este prototipo. 3.1 Diseño propuesto. Para resolver la problemática planteada en el capítulo 1, se desarrolló un prototipo, el cual está conformado por tres bloques principales que se interconectan entre sí. Estos bloques son:
Lector de códigos de barras. Sistema embebido. Sistema de almacenamiento de energía eléctrica. Sistema embebido
Pantalla LCD Señales de control Flujo de energía eléctrica PS/2
µC
EEPROM ext.
Botones 5Vdc
Lector de códigos de barras 12Vdc
Sistema de almacenamiento de energía eléctrica
Fuente I
Mosfet
Convertidor CD/CD
Diodo
Resistencia Banco de supercapacitores
Comparador
Vref
Figura 3.1 Diagrama a bloques del prototipo propuesto.
27
“Dispositivo portátil auxiliar en la estimación de productos basados en códigos de barras.” Tesis Cabrera Galicia Alfonso Rafael Cada uno de estos bloques realiza una función específica dentro del prototipo y, a excepción del lector de códigos de barras, cada uno de ellos está compuesto por distintos dispositivos electrónicos. En la figura 3.1, se muestra un diagrama a bloques del prototipo propuesto, en el cual se observan los bloques que lo conforman, así como también el flujo de datos y de energía eléctrica dentro del diseño propuesto. En las siguientes secciones se describirán cada uno de estos tres bloques, enfocándose en su funcionamiento, conformación y configuraciones de diseño. 3.2 Lector de códigos de barras. Este componente es el medio de entrada de datos más importante del prototipo propuesto, ya que por medio de éste se adquieren los códigos de identificación de los distintos productos. Debido a lo impráctico que puede llegar a resultar el diseño e implementación de un lector de este tipo, por cuenta propia, para este prototipo se decidió implementar un lector de códigos de barras comercial.
Figura 3.2 MS180 linear imager scanner.
El lector que se empleó fue el MS180 linear imager scanner de la marca Unitech, el cual se muestra en la figura 3.2. Este lector fue elegido principalmente por que es capaz de reconocer una gran variedad de estándares de códigos de barras, además de que tiene un precio accesible y no consume mucha energía eléctrica, ya que es un lector de contacto. Las características técnicas de este dispositivo se pueden observar en el apéndice A de la sección de anexos. Este lector de códigos de barras es comúnmente empleado como periférico de entrada en computadoras personales, siendo su interfaz de comunicación el puerto PS/2. La manera en que se emplea en una computadora es similar a la de los teclados, de modo que para que pueda funcionar, se le deben suministrar energía eléctrica (mediante dos líneas) y un medio de comunicación con el sistema host (líneas de reloj y datos). Ya conectado al sistema host, el lector debe ser inicializado por el sistema host. Una vez que ha sido inicializado, el lector puede suministrar información al sistema host, de manera serial, a través de las dos líneas de comunicación (reloj y dato). Una característica con que cuenta este lector de códigos de barras es que, como la mayoría de los lectores comerciales disponibles actualmente, calcula el dígito de corrección cada vez que realiza una lectura. De modo que compara este dígito calculado con el leído, y si los dígitos son diferentes, el lector simplemente no envía datos al sistema host. En el prototipo propuesto en esta tesis, el lector de códigos de barras se conecta al sistema embebido a través de un conector mini-DIN de 6 terminales. Por medio de este conector, al lector se le proporciona un voltaje de 5Vdc (necesario para su operación) y un medio de comunicación con el microcontrolador PIC16F877A (líneas de reloj y datos), el cerebro del sistema embebido. Los detalles relacionados a la implementación del conector mini-DIN, se pueden ver en la sección 3.3.1., Componentes del sistema embebido. Conector PS/2.
28
“Dispositivo portátil auxiliar en la estimación de productos basados en códigos de barras.” Tesis Cabrera Galicia Alfonso Rafael 3.3 Sistema embebido. El sistema embebido es el encargado de realizar la ejecución de las funciones del prototipo relacionadas con el procesamiento digital. En otras palabras, es el encargado de controlar el lector de códigos de barras, controlar la memoria EEPROM externa, ejecutar el algoritmo de control implementado en el microcontrolador, recibir comandos de ejecución por parte del usuario a través de un conjunto de botones y mostrarle información a éste por medio del uso de una pantalla LCD. Mediante estas acciones el sistema embebido es capaz de indicarle al usuario el nombre y precio de un producto que ha sido analizado por el lector de códigos de barras, además de que le ofrece la posibilidad de llevar un estimado de su cuenta a pagar. 3.3.1
Componentes del sistema embebido.
Este bloque está conformado por 5 componentes principales, los cuales son:
Microcontrolador. Display LCD Memoria EEPROM serial externa. Puerto PS/2. Botones de selección.
A continuación se describirán el funcionamiento, conformación y configuraciones de cada uno de los componentes anteriormente mencionados, para después mostrar cómo es que todos ellos se interconectan y funcionan en conjunto. Microcontrolador. El microcontrolador es el cerebro del sistema embebido y, en pocas palabras, es el encargado de ejecutar el algoritmo desarrollado para controlar las funciones del sistema embebido y el lector de códigos de barras.
Figura 3.3 Microcontrolador PIC16F877A.
El microcontrolador que se decidió implementar en este prototipo propuesto fue el PIC16F877A de la marca Microchip (figura 3.3). La razón por la cual se prefirió el uso de este microcontrolador sobre otros similares, fue su amplia disponibilidad en el mercado, su precio accesible y la amplia documentación, referente a su uso, con la que cuenta. Para que el dispositivo PIC16F877A funcione adecuadamente, debe de energizado con un voltaje de 5Vdc, tener un circuito oscilador (del cual su tipo, dependerá de la fuente de reloj configurada), tener un arreglo alrededor de la terminal de reset y tener una serie de instrucciones cargadas en su memoria de programa. Para este prototipo, el programa se escribió y compiló mediante el uso del software Mikro C Pro for Pic 4.6, de la empresa Mikroelektronika y fue instalado en el
29
“Dispositivo portátil auxiliar en la estimación de productos basados en códigos de barras.” Tesis Cabrera Galicia Alfonso Rafael microcontrolador mediante el hardware ICD2 y software MPLAB 8.6, ambos de la empresa Microchip. El programa que se implemento finalmente en el microcontrolador PIC16F877A se encuentra anexado en el apéndice B de la sección de anexos. Para facilitar la comprensión del programa implementado e ilustrar la forma en que funciona este algoritmo, se realizo el diagrama de flujo que se observa en las figuras 3.4, 3.5 y 3.6. De manera muy general, lo que sucede en el diagrama de flujo es lo siguiente. Una vez que el sistema embebido es energizado e inicializado, lo primero que realiza el programa es inicializar los registros que el microcontrolador implementara a lo largo de la ejecución de este algoritmo. Después se ejecutan una serie de comandos que inicializan la pantalla LCD, la comunicación I2C entre el microcontrolador y la memoria EEPROM serial externa, así como también la comunicación PS/2 entre el sistema embebido y el lector de códigos de barras. Cabe mencionar que con el objetivo de facilitar la implementación y manejo de la pantalla LCD, la comunicación I2C y PS/2, se implementaron dentro del proceso de compilación del algoritmo implementado, una serie de funciones agrupadas en tres librerías dentro del compilador Mikro C Pro for Pic 4.6. Estas librerías son I2C, Lcd y PS2. El uso de estas librerías facilito en gran medida el desarrollo de algoritmo implementado en el microcontrolador PIC16F877A, ya que de no contar con ellas, se tendrían que haber desarrollado las funciones necesarias para la implementación de estas características dentro del sistema embebido. Una vez que se inicializaron la pantalla LCD, la comunicación I2C y PS/2, el siguiente proceso que realiza el algoritmo es guardar en la memoria EEPROM serial externa los datos correspondientes al conjunto de productos que el sistema embebido será capaz de reconocer (base de datos). De tal modo que se determino que para cada producto, era necesario usar 30 bytes de memoria para almacenar el código de barras correspondiente a ese producto, el nombre del producto que se mostrará en la pantalla LCD y el precio de este. Los datos referentes al código de barras y nombre del producto ocupan un espacio de memoria de 26 bytes, siendo asignados 16 bytes al código de barras y los 10 restantes al nombre del producto. Cabe mencionar que estos datos son almacenados en formato ASCII, de modo que pueden ser mostrados directamente en la pantalla si así se deseará (como en el caso del nombre del producto). En cuanto al precio del producto, este es procesado en forma de dato flotante, esto con el objetivo de hacer más precisa la operación matemática involucrada en el algoritmo. Para almacenar este dato en la memoria externa, este debe de ser seccionado en 4 partes, de tal modo que un dato flotante necesita 4 bytes para poder ser almacenado en la memoria externa. Para poder seccionar un dato flotante dentro del compilador Mikro C Pro for Pic 4.6, es necesario agregar una librería al proyecto, la cual es #include y utilizar las funciones Highest(pt), Higher(pt), Hi(pt)), Lo(pt), en donde pt, para este caso, es el dato flotante. Hay que destacar que esta parte del algoritmo fue diseñada con el objetivo de comprender como es que funciona la memoria EEPROM serial externa 24LC1025 y la comunicación I2C entre el microcontrolador y esta memoria, para después agilizar la implementación de la característica de actualización inalámbrica de la base de datos, la cual para este prototipo propuesto no se logro implementar. Además, con el uso de esta memoria externa, se garantiza que más de 4000 productos puedan ser reconocidos por el prototipo. Para lograr lo anterior se implementaron algunas funciones agrupadas dentro de la librería I2C. Regresando al diagrama de flujo, después de que los datos correspondientes al conjunto de productos que el sistema embebido será capaz de reconocer, fueron guardados en la memoria externa, la siguiente acción que realiza el algoritmo es limpiar las variables cuenta y barcode con valores de 0x00. En la variable cuenta (la cual es del tipo flotante) se almacenara el monto
30
“Dispositivo portátil auxiliar en la estimación de productos basados en códigos de barras.” Tesis Cabrera Galicia Alfonso Rafael estimado que el usuario pagará en caja, mientras que en la variable barcode (que en realidad es un vector de 16 bytes) se almacenará el código de barras que el lector identifique después de una lectura. Después se despliega en la pantalla LCD el mensaje “Elija Producto” y “Cuenta $__.__”, siendo que en los espacios se mostrara el estimado actual a pagar. Una vez que se realizo esto, el algoritmo entra en bloque de decisión, en el cual, se plantea la siguiente cuestión, ¿El lector escaneo un código de barras? Si la respuesta es no, el algoritmo vuelve a realizar la misma pregunta, en caso contrario, el código escaneado es almacenado en la variable barcode. Una vez que se almaceno el código recién escaneado en la variable barcode, el algoritmo vuelve a entrar en otro bloque de decisión, en el cual se plantea lo siguiente, ¿El código en barcode se encuentra almacenado en la base de datos (memoria externa)? Para dar respuesta a esto, se crearon una serie de funciones en las cuales se ingresa a la base de datos y se extraen los códigos de barras de cada uno de los productos almacenados. Estos códigos de barras son comparados con el código de barras en barcode, y de esa forma se determina sí el código recién escaneado se encuentra registrado en la base de datos. En caso de que el código no esté en la base de datos, se desplegará el mensaje de “No registrado” en la pantalla LCD durante 5 segundos, para después volver a mostrar el mensaje “Elija Producto” y “Cuenta $__.__”. En caso de que el código en barcode efectivamente se encuentre dentro de la base de datos, se obtienen los datos del producto relacionado con ese código de barras (precio y nombre del producto), para después desplegarlos en la pantalla LCD junto con el mensaje “¿Anexar a cuenta?”. Después el algoritmo vuelve a entrar en otro bloque de decisión, ¿Sumar, restar ó pasaron 5 segundo? En esta parte del algoritmo es en donde se le da al usuario el poder de decidir qué hacer con los datos obtenidos a partir de la identificación de un producto determinado. Sí el usuario |selección) a su cuenta, lo que el algoritmo realiza es una suma entre el contenido de la variable cuenta y el precio del producto. El resultado de esta suma es almacenada en la variable cuenta y se vuelve a mostrar el mensaje “Elija Producto” y “Cuenta $__.__”. En caso de que el usuario decida restar el precio del producto recién identificado de su cuenta a pagar (presionando el botón de resta), el algoritmo comprobara si la cuenta es igual a 0, de ser así se desplegará el mensaje “Cuenta vacia” en la pantalla LCD. Sí la cuenta no es igual a 0, el algoritmo realizara la resta entre la cuenta y el precio del producto, después comprobará si la cuenta es mayor ó igual a cero. Si lo anterior es cierto, el algoritmo mostrará el mensaje “Elija Producto” y “Cuenta $__.__”. En caso de que la cuenta sea menor que 0, se desplegará el mensaje “Producto no Anexado a cuenta” durante 5 segundos y se anulará la resta realizada, para después desplegar el mensaje “Elija Producto” y “Cuenta $__.__”. En caso de que el usuario no presione ninguno de los botones de selección dentro de los 5 segundos posteriores a la identificación de un producto, el sistema embebido simplemente desplegara en la pantalla LCD el mensaje “Elija Producto” y “Cuenta $__.__”, volviéndose necesario un nuevo escaneo del producto deseado para poder anexar ó restar a la cuenta su precio. Mención aparte merece la configuración y conexión de los demás componentes ubicados alrededor del microcontrolador PIC16F877A. La forma en que estos se conectan entre sí se analiza más a detalle en la sección 3.4.2., Unión de los componentes, mientras que su configuración será mencionada en el apartado correspondiente a cada componente.
31
“Dispositivo portátil auxiliar en la estimación de productos basados en códigos de barras.” Tesis Cabrera Galicia Alfonso Rafael
Figura 3.4 Diagrama de flujo del algoritmo implementado, parte 1.
32
“Dispositivo portátil auxiliar en la estimación de productos basados en códigos de barras.” Tesis Cabrera Galicia Alfonso Rafael
Figura 3.5 Diagrama de flujo del algoritmo implementado, parte 2.
33
“Dispositivo portátil auxiliar en la estimación de productos basados en códigos de barras.” Tesis Cabrera Galicia Alfonso Rafael
Figura 3.6 Diagrama de flujo del algoritmo implementado, parte 3.
Pantalla LCD. La pantalla LCD es el dispositivo de salida por medio del cual el sistema embebido muestra al usuario la información referente a la identificación de los productos escaneados por el lector de códigos de barras y el estado de su cuenta a pagar; por ende, es un componente importante dentro del prototipo. El modelo que se prefirió implementar en el sistema embebido fue la pantalla LCD JHD162A (figura 3.7), debido a que es un módulo de representación grafica de datos muy popular y accesible de manejar.
34
“Dispositivo portátil auxiliar en la estimación de productos basados en códigos de barras.” Tesis Cabrera Galicia Alfonso Rafael
Figura 3.7 Pantalla LCD JHD162A.
Cabe mencionar que la pantalla LCD JHD162A cuenta internamente con un componente electrónico encargado de controlarlo, el cual es el controlador KS0066. Para que este componente electrónico pueda operar adecuadamente, es necesario que cuente con las conexiones y componentes adecuados en cada una de sus 16 terminales. Además, la pantalla LCD JHD162A puede operar en modo de transmisión de datos de 4 bits u 8 bits y, al igual que los demás componentes ubicados en el sistema embebido, la pantalla LCD es controlada por el microcontrolador PIC16F877A, mediante una transmisión de instrucciones y datos a través de un bus de 4 bits. Las conexiones de este dispositivo con el microcontrolador PIC16F877A y demás componentes electrónicos, se puede ver en la sección 3.4.2., Unión de los componentes. Memoria EEPROM serial externa. La memoria EEPROM serial externa es el componente del sistema embebido en el cual se almacenan los códigos de identificación, precios y nombres de los productos que el prototipo implementado puede identificar. Es un componente muy importante, ya que, aunque el microcontrolador PIC16F877A cuenta con una memoria EEPROM interna, ésta es muy pequeña, por lo tanto el número de productos que el prototipo podría identificar, si se usase esta memoria interna, sería muy reducido. En cambio, con la implementación de una memoria EEPROM serial externa, el número de productos que se podrían identificar será mayor. Para determinar la cantidad de memoria necesaria para almacenar un número razonable de productos, se determinó que para cada producto es necesario utilizar 30 bytes de memoria. 16 bytes para los caracteres del código de barras (16 dígitos), 10 bytes para el nombre del producto (10 caracteres) y 4 bytes para el precio de este (cantidad necesaria para representar un número del tipo flotante). Basándose en estas necesidades, se seleccionó la memoria EEPROM serial 24LC1025 de la marca Microchip (figura 3.8), la cual tiene una capacidad de 1024K bits, de modo que es posible almacenar en ella la información de cerca de 4266 productos. En caso de que sea necesario aumentar la cantidad de productos, se pueden llegar a emplear hasta 4 dispositivos de este tipo en un mismo bus de comunicación. Otra ventaja es que al usar el protocolo de comunicación I2C, la transferencia de información entre el microcontrolador PIC16F877A y la memoria EEPROM serial 24LC1025 está garantizada [32]. Para que este componente funcione adecuadamente, debe ser energizado con 5Vdc. Además, debido a que las terminales de transmisión de datos 5 y 6 (datos y reloj, respectivamente) son del
35
“Dispositivo portátil auxiliar en la estimación de productos basados en códigos de barras.” Tesis Cabrera Galicia Alfonso Rafael tipo colector abierto, es necesario utilizar resistencias de pull-up a Vcc. Para identificar a la memoria 24LC1025 dentro del bus de comunicación I2C, un valor binario entre 0 y 1 puede ser colocado físicamente en las terminales 1 y 2 de este componente.
Figura 3.8 Memoria EEPROM serial 24lc1025.
Como se mencionó anteriormente, la memoria 24LC1025 se comunica por medio de un bus serial del tipo I2C con el microcontrolador PIC16F877A. Por consiguiente este dispositivo es controlado por el micrcocontrolador, el cual escribe en ella los distintos datos de identificación de los productos y los extrae cuando sea necesaria una identificación de producto. La forma en que la memoria EEPROM serial 24LC1025 se conecta con el microcontrolador PIC16F877A en el Sistema Embebido se puede apreciar en la sección 3.3.2 Implementación del sistema embebido. Conector PS/2. El conector PS/2 implementado en el sistema embebido (figura 3.9), es el medio físico por medio del cual se le proporciona al lector de códigos de barras un suministro de energía eléctrica (5Vdc) y un medio de comunicación con el micrcocontrolador (líneas de reloj y datos).
Figura 3.9 Conector PS/2.
A diferencia de todos los demás componentes en el sistema embebido, el conector PS/2 no es un componente electrónico, sin embargo se puede considerar como un hardware que facilita la conexión física del lector de códigos de barras con el sistema embebido. Para que el lector de códigos de barras funcione adecuadamente, el conector PS/2 debe de suministrarle energía y un bus de datos a éste. Para lograr esto se siguió la configuración mostrada en la figura 3.10, en diseño del circuito impreso implementado.
36
“Dispositivo portátil auxiliar en la estimación de productos basados en códigos de barras.” Tesis Cabrera Galicia Alfonso Rafael
Figura 3.10 Conexiones del conector PS/2.
La manera en que el conector PS/2 se conecta con el microcontrolador PIC16F877A y la fuente de energía eléctrica en el sistema embebido se puede apreciar en la sección 3.3.2., Implementación del sistema embebido. Botones de selección. Los botones (figura 3.11) son el medio por el cual el usuario le indica al sistema embebido que acciones debe este de realizar, dentro de determinados momentos. En el prototipo implementado se utilizaron solo 3 botones. Estos botones tienen conexión directa con el microcontrolador PIC16F877A, el cual ejecuta el algoritmo implementado en el sistema embebido. Cada uno de estos botones le indica al microcontrolador una función distinta a realizar, las cuales pueden ser:
Reiniciar al sistema embebido. Agregar el precio de un producto recién analizado por el lector de códigos de barras a la cuenta del usuario. Restar el precio de un producto recién analizado por el lector de códigos de barras a la cuenta del usuario.
En el caso de las últimas dos acciones, el usuario solo puede darle esas órdenes al sistema embebido durante los 5 segundos posteriores a la identificación de algún producto que se encuentre registrado en la base de datos (memoria EEPROM serial 24LC1025). En el caso del reinicio del sistema embebido, esta acción puede realizarse en cualquier instante de la ejecución del algoritmo implementado.
Figura 3.11 Botón empleado en el sistema embebido.
Físicamente lo que realizan estos 3 botones es simplemente proporcionarle al microcontrolador señales del tipo TTL (0 o 1 binario), y en base a estas señales y al algoritmo implementado, el microcontrolador realizara determinadas acciones. La implementación de estos botones en el sistema embebido se muestra en la sección 3.3.2, Implementación del sistema embebido.
37
“Dispositivo portátil auxiliar en la estimación de productos basados en códigos de barras.” Tesis Cabrera Galicia Alfonso Rafael 3.3.2
Implementación del sistema embebido.
La manera en que los seis componentes descritos anteriormente se interconectan entre sí se puede observar en el diagrama mostrado en la figura 3.12. En dicha figura se muestra el circuito que finalmente se implemento para conformar al sistema embebido. Dicho circuito (figura 3.12), se utilizó como referencia para generar el fotolito empleado en la fabricación del circuito impreso del sistema embebido. Esto se logro mediante el uso de los programas ISIS Proteus 7.6 y ARES Proteus 7.6. El fotolito generado se muestra en la figura 3.13, mientras que en la figura 3.14 se muestra el sistema embebido ya implementado en forma de circuito impreso. R1 300R
J3 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1
VCC/VDD
C1
C2
27p
27p VCC/VDD
X1
R8
OK1 1
2
CRYSTAL
BUTTON_OK
OK2
VCC/VDD
1
2 BUTTON_OK
R6
R7
10k
10k
OSC1/CLKIN OSC2/CLKOUT
2 3 4 5 6 7
1
6
1
5
2
4
3 MINIDIN6_PCB
RD0/PSP0 RD1/PSP1 RD2/PSP2 RD3/PSP3 RD4/PSP4 RD5/PSP5 RD6/PSP6 RD7/PSP7 PIC16F877A
R4
J1
VCC/VDD
33 34 35 36 37 38 39 40 15 16 17 18 23 24 25 26
R3
R9
10k
10k
19 20 21 22 27 28 29 30
VCC/VDD 2 1
1
1k
OK3 BUTTON_OK
TBLOCK-M2
C4 10n
2
VCC/VDD
MINI1
RB0/INT RB1 RB2 RB3/PGM RB4 RB5 RB6/PGC RB7/PGD
RA0/AN0 RA1/AN1 RA2/AN2/VREF-/CVREF RA3/AN3/VREF+ RA4/T0CKI/C1OUT RA5/AN4/SS/C2OUT RC0/T1OSO/T1CKI RE0/AN5/RD RC1/T1OSI/CCP2 RE1/AN6/WR RC2/CCP1 RE2/AN7/CS RC3/SCK/SCL RC4/SDI/SDA MCLR/Vpp/THV RC5/SDO RC6/TX/CK RC7/RX/DT
8 9 10
CONN-SIL16
1k
U1 13 14
R5 100R
Figura 3.12 Diagrama de conexiones del sistema embebido.
38
VCC/VDD
U2 6 5 7
SCK SDA WP
A0 A1 *A2
24LC1025
1 2 3
“Dispositivo portátil auxiliar en la estimación de productos basados en códigos de barras.” Tesis Cabrera Galicia Alfonso Rafael
Figura 3.13 Fotolito implementado para la elaboración del circuito impreso del sistema embebido.
Figura 3.14 Sistema embebido implementado a manera de circuito impreso.
Una vez que el sistema embebido se tenía ensamblado, este operaba adecuadamente. De tal forma que el microcontrolador inicializaba y controlaba a los distintos dispositivos empleados en el circuito impreso del sistema embebido, a la vez que manejaba la operación del lector de códigos de barras. Para mayor detalle en cuanto la forma en que interactúa el microcontrolador PIC16F877A con los demás componentes, revisar el diagrama de flujo mostrado en las figuras (3.4, 3.5, 3.6). En cuanto a consumo de energía eléctrica, el sistema embebido implementado tiene los siguientes requerimientos (tabla 3.1).
39
“Dispositivo portátil auxiliar en la estimación de productos basados en códigos de barras.” Tesis Cabrera Galicia Alfonso Rafael Tabla 3.1 Especificaciones eléctricas del sistema embebido.
Vcc I en espera I durante lectura de códigos
5Vdc 22.65mA 100mA
También es importante mencionar que se realizaron una serie de pruebas al sistema embebido, para corroborar su correcto funcionamiento. Estas pruebas y sus resultados se encuentran documentados en el capítulo 4 de esta tesis. 3.4 Sistema de almacenamiento de energía eléctrica. Como todo dispositivo electrónico, el prototipo propuesto (“Dispositivo portátil auxiliar en la estimación de productos basados en códigos de barras”) necesita de una fuente de energía eléctrica para poder funcionar. Por esa razón, la implementación de un medio de abastecimiento de energía es fundamental y más si la aplicación será portátil. Aunque comúnmente se usan baterías recargables como fuente de suministro de energía eléctrica en este tipo de aplicaciones, para el prototipo propuesto se decidió utilizar otro medio de almacenamiento de energía, el cual es la implementación de supercapacitores. Las razones por las cuales se prefirió el uso de supercapacitores sobre la implementación de baterías recargables, son las siguientes.
La vida útil de un supercapacitor es más prolongada que la de cualquier batería recargable. Por consiguiente, el mantenimiento del sistema de almacenamiento de energía eléctrica será menos frecuente y por ende menos costoso. Por lo tanto la inversión realizada será efectiva. Al no tener que remplazar los supercapacitores, el daño al medio ambiente será menor. Aunque una batería recargable puede suministrar más carga eléctrica que un banco de supercapacitores pequeño, debido a que el prototipo no consume mucha energía eléctrica, un banco de supercapcitores puede hacer funcionar al prototipo sin problemas.
Pero al igual que las baterías recargables, los supercapacitores necesitan de un circuito que controle su proceso de carga, para no dañarlos y reducir su vida útil. Debido a esto, dentro del sistema de almacenamiento de energía eléctrica, se empleó un circuito de carga y banco de supercapacitores. Además, la energía almacenada en los supercapacitores debe de adaptarse para que pueda ser empleada por el sistema embebido. Para lograr esto, también se emplea dentro del sistema de almacenamiento de energía eléctrica un pequeño convertidor CD/CD reductor. En resumen, la función que realiza el sistema de almacenamiento de energía eléctrica es la de almacenar la energía eléctrica que le es suministrada, en un banco de supercapacitores, para después proporcionarle esa energía al sistema embebido. 3.4.1.
Componentes del sistema de almacenamiento de energía eléctrica.
El bloque conocido como sistema de almacenamiento de energía eléctrica está constituido por los siguientes elementos, los cuales se describirán en las siguientes secciones, para después explicar cómo es que funcionan en conjunto.
40
“Dispositivo portátil auxiliar en la estimación de productos basados en códigos de barras.” Tesis Cabrera Galicia Alfonso Rafael
Regulador de corriente Conmutador de corriente (mosfet) Diodo Comparador de voltaje Voltaje de referencia Banco de supercapacitores Convertidor CD/CD reductor
Regulador de corriente. Con el objetivo de tener una fuente de corriente constante y utilizar dicha corriente para almacenarla en el banco de supercapacitores, se decidió implementar el dispositivo LM7805 el cual es un regulador lineal. Este componente electrónico puede suministrar una corriente constante a una carga (RL) mediante la implementación del circuito mostrado en la figura (3.15) [33].
Figura 3.15 Diagrama de conexiones del regulador de corriente.
Esta configuración suministrara una corriente constante que está determinada por la siguiente ecuación. Io = (Vxx/R1) + Iq Siendo los datos Vxx y Iq para el dispositivo LM7805, 5V y 8mA respectivamente. Entonces para tener una corriente de 200mA aproximadamente, R1 debe de ser de 25Ω. La ventaja de este circuito es que la corriente de salida no cambiara a menos que el voltaje en la entrada decaiga a menos de 7.5V aproximadamente, por lo tanto a voltajes mayores a 7.5V la corriente será la misma y a voltajes menores, la corriente será menor, ya que el voltaje Vxx no será 5V. Esta corriente debería de ser suficiente para cargar a un banco de supercapacitores. Conmutador de corriente (mosfet y resistencia). Este elemento del sistema de almacenamiento de energía eléctrica es el encargado de controlar el flujo de corriente proveniente del regulador de corriente. Dicha corriente puede ser guiada hacia el banco de supercapacitores ó hacia una resistencia de potencia. Lo anterior dependerá del nivel de carga almacenada en el banco de supercapacitores. De modo que sí los supercapacitores no han alcanzado su voltaje de carga recomendado, el mosfet IRFZ44N no se activara, permitiendo que el flujo de corriente llegue al banco de supercapacitores. En caso contrario, el mosfet se activara y toda la corriente pasara a través de la resistencia de potencia conectada entre su terminal fuente y la tierra (figura3.16).
41
“Dispositivo portátil auxiliar en la estimación de productos basados en códigos de barras.” Tesis Cabrera Galicia Alfonso Rafael
Figura 3.16 Diagrama de conexiones del conmutador de corriente.
Cabe mencionar que la señal de activación ubicada en la compuerta del dispositivo IRFZ44N, proviene del elemento conocido como comparador de voltaje. En conclusión, se podría considerar al conmutador de corriente como un actuador controlado por el comparador de voltaje y cuya función es permitir o evitar el flujo de corriente eléctrica hacia el banco de supercapacitores. Diodo. El diodo (figura 3.17), aunque pareciera un elemento insignificante y sin una mayor utilidad dentro del sistema de almacenamiento de energía eléctrica, realiza una función muy importante. Ya que, por su ubicación (entre del mosfet y el banco de supercapacitores) dentro del circuito de carga, éste evita que la carga eléctrica almacenada en el banco fluya hacia el mosfet IRFZ44N cuando no se le está suministrando energía al sistema de almacenamiento de energía eléctrica.
Figura 3.17 Diodo de propósito general 1N4006.
De modo que el uso de este semiconductor asegura que la carga almacenada en el banco de supercapacitores fluya hacia el convertidor CD/CD reductor. Banco de supercapacitores. Se podría considerar al banco de supercapacitores (figura 3.18) como el elemento principal del sistema de almacenamiento de energía eléctrica, ya que en él se almacena la energía que utilizara el sistema embebido. Cuando se desea implementar supercapacitores en una aplicación, se debe de determinar el tamaño del banco de supercapacitores a emplear. Para esto, el mayor fabricante de supercapctores, Maxwell, propone un método para calcular el tamaño de estos capacitores. En este método, es necesario contar con los siguientes datos (se anexan los valores de la aplicación desarrollada en esta tesis) [31].
Voltaje máximo de operación de la aplicación (Vmax) = 7.5V.
42
“Dispositivo portátil auxiliar en la estimación de productos basados en códigos de barras.” Tesis Cabrera Galicia Alfonso Rafael
Voltaje mínimo de operación de la aplicación (Vmin) = 5V. Corriente promedio demandada por la aplicación (I) = 22.65mA. Tiempo esperado de operación de la aplicación (dt) = 16min = 960s.
Una vez con estos datos, lo siguiente es determinar el número de capacitores que conformaran el banco. Para esto se sigue la siguiente ecuación. #𝐶 =
𝑉𝑚𝑎𝑥 7.5𝑉 = =3 𝑉𝑟 2.5 𝑉
En donde Vr es valor nominal de voltaje que tiene cada capacitor que conformara el banco. Después se debe de calcular la capacitancia del sistema (Csys), la cual en otras palabras, es la capacitancia equivalente que tendrá el banco de supercapacitores. 𝐶𝑠𝑦𝑠 = 𝐼 ∗
𝑑𝑡 960𝑠 = 22.65𝑚𝐴 ∗ = 8.6976𝐹 𝑉𝑚𝑎𝑥 − 𝑉𝑚𝑖𝑛 7.5𝑉 − 5𝑉
De modo que para conocer la capacitancia de cada capacitor conectado en serie. 𝐶 = 𝐶𝑠𝑦𝑠 ∗ #𝐶 = 8.6976𝐹 ∗ 3 = 26.09𝐹 Para la aplicación desarrollada en esta tesis, el valor recomendado para cada capacitor es de 26.09F/2.5V, pero debido a que no se tenían a disposición tres capacitores de ese valor nominal, se emplearon tres supercapacitores de 33F/2.7V.
Figura 3.18 Supercapacitor de 22F/2.7V, similar al empleado en el prototipo.
Cabe mencionar que para comprobar que los supercapacitores funcionaban adecuadamente, se realizaron una serie de pruebas, en las cuales se media el tiempo que el sistema embebido podía operar con un determinado banco de supercapacitores. La metodología y los resultados de estas pruebas se describen a detalle en el capítulo 4, sección 4.2. Comparador de voltaje. Otro aspecto a tomar en cuenta antes de cargar el banco de supercapacitores con la fuente de corriente constante, es el voltaje máximo de operación de los supercapacitores, debido a que este voltaje no debe de ser sobrepasado, ya que de ocurrir esto, los supercapacitores pueden ser dañados. Para evitar que los supercapacitores superen este voltaje se empleo un circuito conocido como comparador de voltaje, el cual está compuesto por un amplificador operacional en modo detector de nivel de voltaje en conjunto con unas cuantas resistencias. La función que tiene este comparador, es la disparar una señal en el momento en que el voltaje en el banco de supercapacitores alcance el nivel de operación recomendado. Esta señal es la que activa el mosfet dentro del elemento conocido como conmutador de corriente, y de esa forma, la corriente de carga es desviada hacia la resistencia de potencia, de modo que el voltaje en banco de supercapacitores ya no continúe aumentado. La configuración que se empleo en este comparador se muestra en la figura 3.19.
43
“Dispositivo portátil auxiliar en la estimación de productos basados en códigos de barras.” Tesis Cabrera Galicia Alfonso Rafael
Figura 3.19 Diagrama del comparador de voltaje empleado.
La manera en que este comparador funciona es sencilla. Sí el voltaje de entrada Ei es menor al voltaje de referencia Vref, la salida del amplificador operacional será de 0V. Pero sí Ei es igual ó ligeramente mayor a Vref, el voltaje de salida del amplificador operacional será igual al voltaje de saturación, generando de esa forma la señal de activación del mosfet en el conmutador de corriente. Dicha señal de disparo, para el dispositivo lm358 es Vsat = Vcc – 1.5Vdc, aproximadamente. Las formas de ondas producidas en esta configuración se pueden apreciar en la figura 3.19. Cabe mencionar que el voltaje Ei se obtiene a partir de un divisor de voltaje ubicado en paralelo al banco de supercapacitores. Las resistencias que conforman este divisor de voltaje tienen los valores de 10kΩ y 2kΩ. De modo que sí se plantea 8Vdc como voltaje máximo de operación del banco de supercapacitores, la corriente a través de estas resistencias será de 0.66mA, y el voltaje de referencia Ei será de 1.32Vdc, cuando el banco alcance un voltaje de 8Vdc. Voltaje de referencia. El voltaje de referencia (Vref) es el que emplea el comparador de voltaje para determinar en qué momento el banco de supercapacitores ha alcanzado su voltaje de operación recomendado. La manera en que se obtuvo este voltaje fue mediante el uso de una batería recargable AAA de 1.3V de níquel-hidruro metálico (Ni-MH) (figura 3.20). Con el objetivo de prolongar la duración de esta batería recargable y evitar que esta se estrese debido a la demanda de picos altos de corriente, se le coloco en paralelo a ella un supercapacitor de 10F/2.5V, ya que una de las propiedades de estos dispositivos es que pueden ayudar a una batería eléctrica si se les conecta de esta forma. En dado caso que el voltaje en la batería recargable comience a agotarse, lo único que pasaría es que el banco de supercapacitores dejaría de cargase al alcanzar un nivel de voltaje menor al voltaje de operación recomendado, impidiendo que estos se recarguen totalmente.
44
“Dispositivo portátil auxiliar en la estimación de productos basados en códigos de barras.” Tesis Cabrera Galicia Alfonso Rafael
Figura 3.20 Baterías AAA de 1.3V Ni-MH.
Convertidor CD/CD. Una vez que el banco de supercapacitores este cargado, lo que hará falta es extraer y adaptar esa energía almacenada para que pueda ser empleada por el módulo sistema embebido, ya que este necesita un voltaje de 5V para poder funcionar. Una de las primeras soluciones que se considero fue la de utilizar un regulador de voltaje 7805 para adaptar la energía almacenada en los supercapacitores (8Vdc) a un nivel de 5Vdc. Aunque esta propuesta de solución funciona, no es muy efectiva, ya que el tiempo que pode ser operado el sistema embebido es muy corto. Lo anterior debido a que para que el regulador 7805 pueda proporcionar un voltaje de 5Vdc, necesita como mínimo un voltaje de 7Vdc en la entrada. A esta diferencia entre el voltaje de entrada y el de salida se le conoce dropout voltage, y es la cantidad de energía que mismo regulador necesita para poder funcionar. Por lo tanto, si solo se dispone de una fuente de energía de 8Vdc y para obtener 5Vdc se necesitan 7V, es razonable que el sistema embebido funcione durante tan poco tiempo. Debido a esto, se comenzaron a considerar otras opciones de conversión CD/CD. Por ejemplo se considero implementar reguladores LDO (Low Dropout Voltaje Regulators), los cuales, como su nombre indica, son reguladores que tienen la característica de requerir de un dropout voltage muy pequeño, en comparación con los reguladores lineales comunes. Sin embargo, a pesar de las ventajas que ofrecen los reguladores LDO, se decidió emplear otro tipo de regulador [34].
Figura 3.21 Convertidor CD/CD APXS002A0X.
Para este proyecto se decidió emplear el convertidor CD/CD APXS002A0X de la empresa Lineage Power, mostrado en la figura 3.21. Algunas de las ventajas que ofrece este pequeño módulo de potencia (12.2mm x 12.2mm x 6.25mm) son su amplio rango de voltaje de entrada (3Vdc – 14Vdc), su capacidad de entregar un voltaje de salida de entre 0.6Vdc a 5.5Vdc (este mediante programación por resistencias externas), entre otras funciones. Pero la más importante de todas estas es su eficiencia de regulación, la cual puede llegar a ser del 93.6% para un voltaje de salida de 5Vdc a una entrada de 12Vdc [35].
45
“Dispositivo portátil auxiliar en la estimación de productos basados en códigos de barras.” Tesis Cabrera Galicia Alfonso Rafael Para poder configurar este módulo para que proporcione a la salida 5Vdc con una entrada de 8Vdc, se deben de acoplar a él una serie de resistencias y capacitores. Los valores de cada uno de estos elementos se seleccionaron de acuerdo a las indicaciones proporcionadas por el fabricante en la hoja de datos del dispositivo. La configuración y componentes que se acoplaron al convertidor CD/CD APXS002A0X se pueden apreciar en la figura 3.22, en donde RTRIM = 1.36kΩ, RTUNE = 220Ω, CI = 10µF, CTUNE = 2200pF y CO1 = 22µF.
Figura 3.22 Configuración implementada en el convertidor CD/CD APXS002A0X.
En la figura 3.23, se muestra el convertidor CD/CD con el arreglo y componentes mostrados en la figura 3.22, ya acoplados.
Figura 3.23 Convertidor CD/CD APXS002A0X ya con componentes acoplados.
Las características de estas convertidor CD/CD se pueden ver en el apéndice C de la sección de anexos. 3.4.2.
Implementación del sistema de almacenamiento de energía eléctrica.
La manera en que los siete elementos que componen al sistema de almacenamiento, descritos anteriormente, se interconectan entre sí se puede observar en el diagrama mostrado en la figura 3.24. En dicha figura se muestra el circuito que finalmente se implemento para conformar al sistema de almacenamiento de energía eléctrica
46
“Dispositivo portátil auxiliar en la estimación de productos basados en códigos de barras.” Tesis Cabrera Galicia Alfonso Rafael Dicho circuito (figura 3.24), se utilizo como referencia para generar el fotolito empleado en la fabricación del circuito impreso del sistema de almacenamiento de energía eléctrica. Esto se logro mediante el uso de los programas ISIS Proteus 7.6 y ARES Proteus 7.6. El fotolito generado se muestra en la figura 3.25, mientras que en la figura 3.26 se muestra el sistema de almacenamiento de energía eléctrica ya implementado en forma de circuito impreso.
U1 7805 2 1
VI
VO
3
R5
2
CONN-H2
1
GND
J3
27R
12V
C1 .1uF
1 2
D2
TBLOCK-I2
J1
1N4006
Q1
TBLOCK-I3
R2
IRFZ44N
U3:A
10k
8
VRELAY
C5
3
3 2 1
1
1 2
33F
33F
J2
1k
TBLOCK-I2
C4 33F
J4 CONN-H2
R1
2
vrelay
3V 4
C3
0R1
1 2
R4
R3
1 2 TBLOCK-I2
LM358N
C2 10F
1k
Figura 3.24 Diagrama de conexiones del sistema de almacenamiento de energía eléctrica.
Cabe mencionar que en el circuito impreso se implementaron una serie de headers y jumpers con el objetivo de facilitar el control del flujo de la corriente durante las mediciones realizadas en las pruebas documentadas en el capítulo 4. Además se emplearon una serie de borneras con la finalidad de acoplar el convertidor CD/CD APXS002A0X, la batería de 1.3Vdc de referencia, el voltaje de entrada y el voltaje de salida que alimentará al sistema embebido. De manera general, el sistema de almacenamiento de energía eléctrica funciona de la siguiente manera. Su poniendo que la carga en el banco de supercapacitores es de 0Vdc y se tiene un voltaje de entrada de aproximadamente 12Vdc, el regulador de corriente suministrará una corriente de aproximadamente 200mA. Este flujo de corriente pasará a través del diodo y no a través del conmutador de corriente (Mosfet), debido a que la señal que lo activa (proveniente del comparador de voltaje) no estará activa (0Vdc). De esta forma toda la corriente suministrada por el regulador de corriente llegará al banco de supercapacitores. Este banco incrementará su nivel de voltaje gradualmente y al mismo tiempo el comparador de voltaje comparará el voltaje en este banco (el cual es adquirido por medio de un divisor de voltaje) con el voltaje de referencia (batería recargable en paralelo con un supercapacitor). En el momento en que el voltaje de muestra sea igual al voltaje de referencia, el comparador de voltaje activara la señal que enciende al conmutador de corriente, de modo que la corriente suministrada por el regulador de corriente pasará por el mosfet y la resistencia de potencia y ya no llegará al banco de supercapacitores. En el momento que exista un voltaje un poco mayor a los 5.5Vdc, el convertidor CD/CD proporcionará un voltaje de 5Vdc al sistema embebido.
47
“Dispositivo portátil auxiliar en la estimación de productos basados en códigos de barras.” Tesis Cabrera Galicia Alfonso Rafael
Figura 3.25 Fotolito implementado para la elaboración del circuito impreso del sistema de almacenamiento de energía eléctrica.
Figura 3.26 Sistema de almacenamiento de energía eléctrica implementado a manera de circuito impreso.
En conclusión, el sistema de almacenamiento de energía eléctrica, almacena esta energía y se la proporciona al sistema embebido. Mención aparte merece el hecho de que se realizaron una serie de pruebas de desempeño para corroborar que el sistema de almacenamiento de energía eléctrica funcionaba adecuadamente. La metodología y los resultados de estas pruebas de desempeño, se encuentran documentados en el capítulo 4 de esta tesis. 3.5. Implementación de los bloques. Como se mencionó inicialmente en este tercer capítulo, el prototipo conocido como dispositivo portátil auxiliar en la estimación de productos basados en códigos de barras, está conformado por 3 bloques principales, los cuales son:
48
“Dispositivo portátil auxiliar en la estimación de productos basados en códigos de barras.” Tesis Cabrera Galicia Alfonso Rafael
Lector de códigos de barras. Sistema embebido. Sistema de almacenamiento de energía eléctrica.
A lo largo de este tercer capítulo se ha explicado cómo es que cada uno de estos bloques está conformado, restando solo profundizar en la manera en que los tres se interconectan y trabajan en conjunto. De manera muy general, el sistema embebido controla las funciones de procesamiento digital del prototipo, a la vez que también gestiona la información que el lector de códigos de barras le proporciona, además, este último obtiene la energía que necesita para funcionar a través del sistema embebido. De tal modo que toda la energía que los bloques conocidos como lector de códigos de barras y sistema embebido necesitan, es proporcionada por sistema de almacenamiento de energía eléctrica, el cual tiene la función de almacenar dicha energía y proporcionársela a estos dos bloques.
Figura 3.27 Interconexión de los 3 bloques principales del prototipo propuesto.
La interconexión entre los tres bloques es muy sencilla, sólo basta con que el lector de códigos de barras se conecte al sistema embebido por medio del conector PS/2 y utilizar dos cables que sirvan como puente entre el sistema de almacenamiento de energía eléctrica y el sistema embebido. Lo anterior se puede apreciar con más detalle en la figura 3.27.
49
“Dispositivo portátil auxiliar en la estimación de productos basados en códigos de barras.” Tesis Cabrera Galicia Alfonso Rafael
Capítulo 4
Pruebas y resultados
Durante el desarrollo del prototipo propuesto en esta tesis, se realizaron una serie de pruebas con el objetivo de poner a prueba varias hipótesis ó teorías que se creían podían dar solución a algunos requerimientos de diseño que el prototipo tenía que satisfacer, más específicamente, pruebas relacionadas con la generación de energía eléctrica en base a la energía cinética generada por el desplazamiento del carrito de compras en donde estará montado el prototipo. Además, también se realizaron algunas pruebas de desempeño a distintos modelos de supercapacitores, con el objetivo de averiguar cuál de estos sería el más adecuado para la aplicación desarrollada (prototipo). Del mismo modo, también se realizaron pruebas para corroborar el correcto funcionamiento de los dos principales módulos que conforman el prototipo conocido como “Dispositivo portátil auxiliar en la estimación de productos basados en códigos de barras”, los cuales son el sistema embebido y el sistema de almacenamiento de energía eléctrica. Todas estas pruebas fueron muy importantes durante y después del desarrollo de este prototipo, ya que los resultados obtenidos de ellas permitieron una correcta toma de decisiones, durante el desarrollo del prototipo, así como también garantizan que el prototipo propuesto tiene un desempeño adecuado. Por lo anterior, este capítulo es muy importante. 4.1 Pruebas de generación de energía eléctrica. Con la finalidad de poner a prueba la hipótesis de que por medio del uso de un dínamo acoplado a las ruedas de un carrito de supermercado se puede generar energía eléctrica, se adquirió un dinamo para bicicleta marca Sanyo, el cual se muestra en la figura 4.1.
Figura 4.1 Dínamo para bicicleta implementado.
Estos generadores (que son erróneamente llamados dínamos, ya que generan una corriente alterna) son comúnmente empleados en bicicletas para producir energía eléctrica que se emplea para encender bombillas montadas en el manubrio de estas y de esa forma iluminar el camino del ciclista. La razón por la cual se decidió emplear este tipo de generador, es por qué son fáciles de adquirir y de montar en alguna estructura. Aparte de que son capaces de generar 12V – 6W, siempre y cuando se emplee en una bicicleta. Debido a que este tipo de generadores están diseñados específicamente para funcionar con bicicletas, se decidió emplear una estructura en la cual el dínamo de bicicleta se acoplara a la rueda de un carrito de supermercado. Esto con la finalidad de recrear el desplazamiento que produce el usuario al usar estos carritos y de esa forma saber cuánta energía es capaz de generar el dínamo.
50
“Dispositivo portátil auxiliar en la estimación de productos basados en códigos de barras.” Tesis Cabrera Galicia Alfonso Rafael Con ese objetivo, se procedió a armar una estructura similar a la que se puede apreciar en la figura 4.2. En dicha figura se muestra un diagrama de la estructura que se implementó para poner a prueba el desempeño del dínamo. En ella podemos ver como el dinamo se encuentra acoplado a una rueda de carrito de supermercado, la cual tiene un diámetro de aproximadamente 12cm.
Figura 4.2 Estructura empleada para poner a prueba el dínamo.
Para saber cuánta energía generaría el dinamo, se utilizó como equipo de medición el osciloscopio TDS2022B de la marca Tektronix (figura 4.3).
Figura 4.3 Osciloscopio TDS2022B de la marca Tektronix.
Las pruebas que se realizaron simplemente consistían en desplazar la estructura que se muestra en la figura 4.2, a una velocidad constante, mientras que se realizaba la medición de la energía eléctrica generada por el dínamo, mediante el uso del osciloscopio. La velocidad a la que se
51
“Dispositivo portátil auxiliar en la estimación de productos basados en códigos de barras.” Tesis Cabrera Galicia Alfonso Rafael desplazó la estructura donde se encontraba montado el dinamo fue de aproximadamente entre 4 y 6 km/h, siendo esta la velocidad promedio a la que una persona común y corriente camina. Todo esto se hizo con el objetivo de simular las condiciones a las que un carrito de supermercado es sometido normalmente, ya que no se contaba con uno de estos para acoplarle el dínamo, además de que sería muy estorboso emplear uno de estos carritos en el laboratorio (por cuestiones de espacio y transporte). Como resultado de estas pruebas, se obtuvieron las siguientes mediciones, las cuales serán descritas a continuación.
Figura 4.4 Medición de desempeño del dínamo, 1.
Una de las primeras mediciones que se realizaron fue la que se puede apreciar en la figura 4.4. En ella se puede observar la forma de onda que produjo el dínamo al desplazar la estructura a una velocidad un poco superior a los 6 km/h. Esto se realizó con el simple objetivo de ver que señal se generaba. Como se puede ver en la figura 4.4, la señal que se generó tiene una forma oscilatoria, casi senoidal, demostrando que este generador en realidad es un alternador y no un dínamo, como coloquialmente es llamado. También podemos ver como la señal va incrementado y disminuyendo su amplitud, conforme transcurre el tiempo, esto debido a que también hay un aumento y reducción en la velocidad de desplazamiento de la estructura, en relación al tiempo transcurrido durante la medición. Otro de los datos que se lograron obtener a partir de esta primera medición, fue la del voltaje de pico máximo. La cual resulto ser de aproximadamente 6.8 V. Cabe mencionar que la duración de las señal capturada fue de aproximadamente 380ms, esto se debió a que solamente se desplazo la estructura a través de una distancia de unos 0.7m aproximadamente. Gracias a esta primera medición, se pudo tener un panorama de la forma de onda que producía el generador. Sin embargo, si se toma en cuenta que la velocidad aplicada fue superior a la velocidad promedio con la que camina una persona (más de 6 km/h), la energía eléctrica obtenida fue muy poca (6.8V) comparada con la que se necesita para poder hacer funcionar el prototipo, por lo menos de la manera en que se había planteado inicialmente. A pesar de eso, se siguieron realizando pruebas a distintas velocidades de desplazamiento con la finalidad de observar el desempeño del dínamo a diferentes velocidades. La siguiente medición que se realizó fue la que se muestra en la figura 4.5. En esta ocasión la velocidad de desplazamiento que se aplicó a la estructura fue menor a los 4 km/h, esto con el objetivo de simular el peor caso de desplazamiento, tomando como mejor caso la medición
52
“Dispositivo portátil auxiliar en la estimación de productos basados en códigos de barras.” Tesis Cabrera Galicia Alfonso Rafael mostrada en la figura 4.4. De esta forma se cubrirían el mejor y peor caso, esto en relación a la velocidad de desplazamiento de la estructura. De la segunda medición se pueden observar algunas cosas interesantes. La primera de ellas es la frecuencia que tiene la señal producida por el generador. Dicha señal tiene una frecuencia de aproximadamente 55.5 Hz. La segunda y más importante es el voltaje de pico máximo obtenido, el cual es de aproximadamente 4.8V, lo cual es muy poco. En conclusión, de la observación de los datos obtenidos en la primera y segunda medición se puede concluir que la cantidad de energía que puede producir el generador depende de la velocidad con la que la estructura sea desplazada, ó en otras palabras, depende de la velocidad con la que se haga girar el rotor del generador.
Figura 4.5 Medición de desempeño del dínamo, 2.
En la figura 4.6, se muestra una tercera medición, en la cual se observan las señales producidas por el generador al desplazarse a una velocidad de aproximadamente 5 km/h, esto con la finalidad de tener registrado un caso intermedio, en relación a la velocidad de desplazamiento de la estructura implementada. Cabe mencionar que en la figura 4.6 se observan 3 secuencias de pulsos, debido a que se realizaron más desplazamientos de la estructura, durante el proceso de medición. De la tercera medición realizada, el principal dato que se obtuvo fue el de la cantidad de energía eléctrica generada por el dinamo a una velocidad de aproximadamente 5 km/h. De modo que el voltaje de pico máximo obtenido fue de aproximadamente 5.8V. Después de que se realizaron todas las mediciones de desempeño del dínamo, se llego a la conclusión de que la energía eléctrica generada por el generador bajo las condiciones anteriormente planteadas, es muy poca para poder ser almacenada y después implementada por el sistema embebido. Lo anterior debido a que para que el sistema embebido funcione de manera adecuada, es necesario contar con una medio que almacene una cantidad 8Vdc aproximadamente y para poder almacenar dicha energía en algún dispositivo eléctrico es necesario un voltaje mayor al que se desea almacenar.
53
“Dispositivo portátil auxiliar en la estimación de productos basados en códigos de barras.” Tesis Cabrera Galicia Alfonso Rafael
Figura 4.6 Medición de desempeño del dínamo, 3.
Con la finalidad de poder generar más energía eléctrica mediante el uso de este generador, se planteo la posibilidad de emplear un sistema de engranajes que amplificara la velocidad con la que el rotor del dínamo giraría. Pero dicha propuesta no se implemento, debido a que no se contaban con los conocimientos necesarios para diseñar y maquinar un sistema de engranajes. Debido a que aparentemente el generador empleado en estas pruebas no era capaz de general la cantidad de energía eléctrica que era necesaria, se desecho la idea de implementarlo dentro del prototipo. Al mismo tiempo, se llego a la conclusión de que no sería tan sencillo generar la energía eléctrica necesaria para el funcionamiento del prototipo, en base a la energía cinética producida por el desplazamiento del carrito de supermercado. Para lograr esto, se tendría que diseñar un generador eléctrico que sea capaz de generar un voltaje de pico máximo mucho mayor al que se obtuvo con el dínamo de bicicleta, bajo las mismas condiciones empleadas en las pruebas anteriormente realizadas. Debido a que el diseño e implementación de un generador no es algo tan sencillo y conlleva un periodo de desarrollo algo prolongado (comparado con la cantidad de tiempo disponible), se decidió que el prototipo que se implementaría en este proyecto no incluiría la característica de regeneración de energía. Sin embargo se decidió emplear un método para poder almacenar cierta cantidad de energía eléctrica, en base a una fuente de voltaje DC que fungiera como fuente primaria de energía. Esto con el objetivo de que en un trabajo posterior, se pueda emplear un mejor generador de energía eléctrica (el cual cumpla con los requerimientos anteriormente planteados), en conjunto con un puente de diodos rectificadores, para de esa forma tener una fuente de voltaje DC. Con este replanteamiento de las especificaciones que tendría el prototipo, el trabajo realizado en el área de la electrónica de potencia, correspondiente a este proyecto, se enfoco a la selección e implementación de un método para almacenar cierta cantidad de energía eléctrica, para que después fuese esta energía empleada por el sistema embebido. 4.2 Pruebas de desempeño de distintos modelos de supercapacitores. Como se menciono en el capítulo 3, una vez que se tuvo el convertidor CD-CD APXS002A0X configurado adecuadamente para otorgar un voltaje de 5Vdc a la salida a una entrada de aproximadamente 7.5Vdc, se procedió a comprobar el desempeño distintos modelos de supercapacitores, con la finalidad de averiguar cuál sería el modelo más conveniente a
54
“Dispositivo portátil auxiliar en la estimación de productos basados en códigos de barras.” Tesis Cabrera Galicia Alfonso Rafael implementar en el prototipo. En la figura 4.7, se muestra la realización de una de las pruebas, en la cuales se monitoreaba el voltaje en el banco de supercapacitores, a medida que el sistema embebido consumía la energía almacenada. De forma general, la manera en que se realizaron estas pruebas fue mediante el cambio del modelo de supercapacitores que conformaban el banco. Cada vez que se implementaba un modelo de supercapacitores, estos eran cargados y después descargados. De tal forma que se podía saber cuánto tiempo era necesario para cargar un banco determinado, cuánto tiempo podía operar el sistema embebido con la energía almacenada y cuantas lecturas de códigos de barras era capaz el sistema embebido de realizar con esa cantidad de energía eléctrica almacenada. La primera prueba que se realizo fue con 3 supercapacitores de 10F/2.5V.
Figura 4.7 Realización de una de las pruebas de desempeño de supercapacitores.
Como se esperaba, con el acoplamiento del convertidor CD-CD APXS002A0X el desempeño del módulo de almacenamiento de energía eléctrica mejoro considerablemente, ya que ahora el sistema embebido podía operar durante 6 minutos (sin realizar escaneo de códigos de barras) ó realizar 45 lecturas de códigos de barras, esto con un tiempo de carga del banco de supercapacitores de 4:30 minutos, a un voltaje de entrada de CD de 12V, lo cual es una gran diferencia con respecto al uso del regulador lineal LM7805. Aunque el desempeño del módulo mejoró considerablemente, aun se consideraba que el tiempo que podía operar el sistema embebido era muy corto, por lo tanto, se decidió probar otros dos modelos de supercapacitores que se tenían a disposición. Estos supercacitores eran de 20F/2.5V y 33F/2.7V. Para el caso de los supercapacitores de 20F no se tuvo que realizar ningún cambio al circuito de carga, ya que su voltaje de operación es el mismo que el de lo supercapacitores de 10F. Pero en el caso de los supercapacitores de 33F, se tuvo que realizar un ajuste en los valores de las resistencias de muestreo de voltaje, ya que el voltaje máximo que puede alcanzar el banco conformado por estos capacitores puede llegar a ser de 8.1V, pero el voltaje carga limite que se planteo fue de 8V, por lo tanto, los valores de las resistencias en paralelo, para este caso, fueron de 16.6kΩ y 10kΩ. De tal modo que se obtuvieron los resultados que muestran en la tabla 4.1, en donde para todos los casos se emplearon 3 capacitores conectados en serie.
55
“Dispositivo portátil auxiliar en la estimación de productos basados en códigos de barras.” Tesis Cabrera Galicia Alfonso Rafael Tabla 4.1 Resultados de las pruebas de desempeño de supercapacitores.
Características del banco de supercapacitores 10F/2.5V 20F/2.5V 33F/2.7V
Tiempo de carga del banco de supercapacitores 4:30 min 6:15 min 8 min
Tiempo de operación (sin lectura de códigos de barras) 6 min 12 min 15:20 min
Número de lecturas de códigos de barras 45 196 367
Una vez que se concluyeron estas pruebas de desempeño, se llego a la conclusión de que entre mayor sea la capacitancia y el voltaje de operación de los capacitores que conforman el banco de supercapacitores, mayor será el tiempo de operación del sistema embebido. Debido a esto, se decidió utilizar los supercapacitores de 33F/2.7V para la implementación del modulo sistema de almacenamiento de energía eléctrica en un circuito impreso. 4.3 Pruebas de desempeño del sistema de almacenamiento de energía eléctrica implementado. Esta prueba de desempeño, como su nombre lo indica, se enfoco a corroborar el correcto funcionamiento del sistema de almacenamiento de energía eléctrica implementado en un circuito impreso. El objetivo de esta prueba era monitorear el incremento del voltaje en el banco de supercapacitores y la señal de activación del mosfet IRFZ44N. De modo que las mediciones obtenidas se pueden apreciar en las figuras 4.8 y 4.9. En la primera medición (figura 4.8), se puede observar como el voltaje en el banco de supercapacitores (señal Vsc amarilla) va aumentando conforme transcurre el tiempo, mientras la señal que activa al mosfet IRFZ44Z (señal Vgs azul) se mantiene en 0Vdc, ya que el voltaje en los supercapacitores aun no alcanza el voltaje límite establecido.
Vsc
Vgs
Figura 4.8 Prueba de desempeño del sistema de almacenamiento de energía eléctrica, 1.
En la segunda medición (figura 4.9), se puede observar que el banco de supercapacitores ya alcanzo el voltaje máximo de carga y la señal de activación del mosfet ya se encuentra activa. La razón por la cual el voltaje en los supercapacitores en esta medición fue de 8.2V fue por qué el voltaje de referencia de la batería recargable era mayor de 1.3V, ya que la batería acababa de ser
56
“Dispositivo portátil auxiliar en la estimación de productos basados en códigos de barras.” Tesis Cabrera Galicia Alfonso Rafael recargada. Mientras que el voltaje de activación del mosfet fue de 3.2V debido a que ese es el voltaje de frontera de este dispositivo. Conforme transcurra el uso del módulo de almacenamiento de energía eléctrica, la carga en la batería disminuirá, lo que disminuirá el voltaje máximo de carga del banco de supercapacitores, por lo tanto, si la batería se agota, simplemente el banco de supercapacitores no se cargará.
Vsc
Vgs
Figura 4.9 Prueba de desempeño del sistema de almacenamiento de energía eléctrica, 2.
Después de realizar esta prueba de desempeño, se concluyo que el circuito impreso del módulo de almacenamiento de energía eléctrica funcionaba adecuadamente. 4.4. Pruebas del sistema embebido Con el objetivo de verificar que el sistema embebido implementado en circuito impreso funciona adecuadamente, se llevó a cabo una prueba de desempeño, la cual fue diseñada de la siguiente manera. En dicha prueba, se determinaría el precio de tres productos y se anexaría el precio de estos a la cuenta del usuario. Además se escanearía un cuarto producto, el cual no está registrado en la base de datos, con el objetivo de ver la función que el prototipo realiza en estos casos. Después de haber anexado a la cuenta los precios de los tres productos registrados, estos serían retirados de la cuenta del usuario uno por uno. A continuación se muestran los pasos que se siguieron para la realización de la prueba descrita anteriormente y los resultados obtenidos de esta. Con el objetivo de mostrar de manera adecuada los resultados obtenidos, se adjuntaron una serie de fotografías en la cual se puede ver el prototipo funcionando. En la figura 4.10 se muestra al sistema embebido funcionando en conjunto con el sistema de almacenamiento de energía eléctrica, el cual le proporciona al sistema embebido la energía eléctrica que necesita para operar adecuadamente. En dicha figura también se puede apreciar al lector de códigos de barras, el cual se encuentra conectado al sistema embebido. De esta forma, se podría decir que el prototipo propuesto se encontraba bajo condiciones iniciales, de modo que ya se podía proceder a realizar las pruebas de desempeño.
57
“Dispositivo portátil auxiliar en la estimación de productos basados en códigos de barras.” Tesis Cabrera Galicia Alfonso Rafael
Figura 4.10 Sistema embebido funcionando en conjunto con el sistema de almacenamiento de energía eléctrica.
El conjunto de productos que se utilizaron durante esta prueba de desempeño se muestran en la figura 4.11. Dichos productos fueron una Coca-cola de 600ml, un videojuego, un disco de música y un libro. De los cuatro artículos, el que no se encuentra registrado en la base de datos del sistema embebido es el libro. Cabe mencionar que en los códigos de barras de los productos cuya información se encuentran registrada en la base de datos implementada en el sistema embebido, se pueden apreciar en el apéndice D, de la sección de anexos. Antes de comenzar a registrar productos, se verificó que la cuenta de usuario que mostraba el sistema embebido efectivamente se encontrará vacía ($0.00). Lo anterior se puede ver en la figura 4.12. Después de realizar esta verificación se procedió a identificar el primer artículo, el cual fue la Cocacola de 600ml. En la figura 4.13 se puede apreciar esto.
Figura 4.11 Productos que se emplearon en la prueba de desempeño.
58
“Dispositivo portátil auxiliar en la estimación de productos basados en códigos de barras.” Tesis Cabrera Galicia Alfonso Rafael
Figura 4.12 Cuenta de usuario vacía al iniciar el sistema embebido.
Figura 4.13 Escaneo de una Coca-cola de 600ml.
Una vez que se realizó la lectura del código de barras de la Coca-cola de 600ml, el sistema embebido detecto que este artículo efectivamente se encuentra dentro de la base de datos y por ende, mostró la información referente a este producto en la pantalla LCD (figura 4.14), al mismo tiempo que le muestra al usuario el mensaje “Anexar a cuenta?”. A partir de ese momento, el usuario tiene aproximadamente 5 segundos para decidir si agregará a su cuenta el monto del producto recién escaneado ó lo restará de su cuenta. En dado caso que el usuario quiera restar el costo de un producto determinado (presionando el botón de restar a cuenta), cuando la cuenta de usuario se encuentra vacía, el sistema embebido mostrará el mensaje de “Cuenta vacia” durante 5 segundos, con el objetivo de indicarle al usuario que no se puede realizar esa operación. Pero debido a que el objetivo de la prueba era agregar el monto de tres productos a la cuenta de usuario, para después restarlo, la siguiente acción que se realizo fue la de anexar el costo de la Coca-cola de 600ml a la cuenta de usuario. Cabe mencionar que si el usuario no realiza ninguna acción dentro de los 5 segundos que el sistema embebido le otorga para tomar una decisión, el sistema embebido simplemente volverá a mostrar el mensaje “Elija producto” junto con el valor actual de la cuenta de usuario.
59
“Dispositivo portátil auxiliar en la estimación de productos basados en códigos de barras.” Tesis Cabrera Galicia Alfonso Rafael
Figura 4.14 Sistema embebido mostrando la información de un artículo recién escaneado.
Para agregar el precio de la Coca-cola de 600ml (y de cualquier producto que se encuentre dentro de la base de datos), simplemente se tiene que presionar el botón de agregar a cuenta instantes después de haber identificado un producto. Dicho botón es el que se encuentra en medio de la fila de botones de selección, siendo el ubicado a la izquierda de este el de reinicio del sistema embebido y el colocado a su derecha el botón de restar a cuenta. En la figura 4.15 se muestra la manera en que se anexó a cuenta el monto correspondiente a la Coca-cola de 600ml, el cual fue de $8.50.
Figura 4.15 Se anexa a cuenta el monto de una Coca-cola de 600ml.
Una vez que se presionó el botón de agregar a cuenta, el sistema embebido anexó este valor a la cuenta de usuario y después mostró en la pantalla LCD el estado actual de la cuenta a pagar. Como se puede ver en la figura 4.16, la cuenta de usuario de se vio modificada, cambiando de $0 a $8.50, el cual es el precio asignado a una Coca-cola de 600ml.
60
“Dispositivo portátil auxiliar en la estimación de productos basados en códigos de barras.” Tesis Cabrera Galicia Alfonso Rafael
Figura 4.16 Cuenta de usuario modificada, después de agregar el monto de un producto a cuenta.
Del mismo modo que se agregó a la cuenta de usuario el monto de una Coca-cola de 600ml, se anexaron las cantidades correspondientes a un disco de música y un videojuego. Este proceso se puede observar en las figuras 4.17, 4.18, 4.19, 4.20, 4.21, 4.22.
Figura 4.17 Escaneo de un disco de música.
Figura 4.18 Sistema embebido mostrando la información de un artículo recién escaneado, un disco de música.
61
“Dispositivo portátil auxiliar en la estimación de productos basados en códigos de barras.” Tesis Cabrera Galicia Alfonso Rafael
Figura 4.19 Cuenta de usuario modificada, después de haber anexado a cuenta el costo de un disco de música.
Figura 4.20 Escaneo de un videojuego.
Figura 4.21 Sistema embebido mostrando la información de un artículo recién escaneado, un videojuego.
62
“Dispositivo portátil auxiliar en la estimación de productos basados en códigos de barras.” Tesis Cabrera Galicia Alfonso Rafael
Figura 4.22 Cuenta de usuario modificada, después de haber anexado a cuenta el costo de un videojuego.
Una vez que se agregaron a la cuenta de usuario el costo de los tres productos mencionados anteriormente, la cuenta de usuario alcanzó un monto de $609.75. El siguiente paso a realizar dentro de la prueba de desempeño era el de tratar de identificar un producto que no se encontrará registrado en la base de datos implementada dentro del sistema embebido. Dicho producto en este caso era un libro, el cual, como se muestra en la figura 4.23, fue escaneado y el sistema embebido no fue capaz de identificarlo, debido a que no se encontraba registrado dentro de la base de datos (figura 4.24).
Figura 4.23 Escaneo de un producto que no se encuentra registrado dentro de la base de datos del sistema embebido.
63
“Dispositivo portátil auxiliar en la estimación de productos basados en códigos de barras.” Tesis Cabrera Galicia Alfonso Rafael
Figura 4.24 El sistema embebido al no identificar un producto, muestra el mensaje “No registrado”.
Una vez que se corroboró que el sistema embebido realiza las acciones pertinentes en caso de que se intente identificar un producto que no se encuentra registrado dentro de la base de datos, se procedió a eliminar el monto correspondiente a los producto que fueron anexados a la cuenta de usuario anteriormente. Para lograr esto, simplemente se tenía que escanear el código de barras de cada producto y cuando el sistema embebido mostrará la información referente al producto recién escaneado, se presionaba el botón de restar a cuenta. De esa manera el monto referente al producto recién identificado, era restado de la cuenta de usuario. Este proceso se realizó con los tres productos que se agregaron anteriormente a la cuenta de usuario y se puede apreciar en las figuras 4.25, 4.26, 4.27, 4.28, 4.29 y 4.30.
Figura 4.25 Escaneo de una Coca-cola de 600ml para después eliminarla de la cuenta de usuario.
64
“Dispositivo portátil auxiliar en la estimación de productos basados en códigos de barras.” Tesis Cabrera Galicia Alfonso Rafael
Figura 4.26 Cuenta de usuario modificada después de haber retirado el monto perteneciente a una Coca-cola de 600ml.
Figura 4.27 Escaneo de un videojuego para después eliminarlo de la cuenta de usuario.
Figura 4.28 Cuenta de usuario modificada después de retirar el monto perteneciente a un videojuego.
65
“Dispositivo portátil auxiliar en la estimación de productos basados en códigos de barras.” Tesis Cabrera Galicia Alfonso Rafael
Figura 4.29 Escaneo de un disco de música para después eliminarlo de la cuenta de usuario.
Figura 4.30 Cuenta de usuario modificada después de retirar el monto perteneciente a un disco de música.
Una vez que se retiraron de la cuenta de usuario los tres productos anexados anetriormenate a esta, la cuenta volvío a su estado inicial, siendo ahora de $0.00. De esta forma, los resultados obtenidos en las pruebas realizadas anteriormente demostraron que el sistema embebido realizó las funciones que se esperaba que este realizará, de manera adecuada. Cabe destacar que el funcionamiento del sistema embebido es limitado, esto debido a que solo lleva un seguimiento del valor almacenado en la cuenta de usuario, más no un registro ó invetario de productos anexados a la cuenta, que ayude a tener un mejor control de esta. Por lo tanto, un usuario podría modificar de manera incorrecta su cuenta al momento de retirar productos, si esque no tiene cuidado. Para poder darle solución a esta problemática, se hacen algunas propuestas en la sección de recomendaciones de esta tesis.
66
“Dispositivo portátil auxiliar en la estimación de productos basados en códigos de barras.” Tesis Cabrera Galicia Alfonso Rafael Conclusiones. Al término de los trabajos realizados en este proyecto de tesis, se logró desarrollar un dispositivo a nivel prototipo que cumple con la mayoría de los objetivos planteados inicialmente. Siendo los objetivos cumplidos, los siguientes:
Determinar e implementar un sistema digital que satisfaga las especificaciones planteadas. Almacenar y emplear la energía generada de manera adecuada.
Por lo tanto, no se logro autogenerar la energía eléctrica requerida por el prototipo, a través de la transformación de la energía cinética (la cual es generada por el movimiento del carrito de compras al ser desplazado por el usuario) en energía eléctrica. Cabe destacar que, aunque si se logró generar energía eléctrica de la manera inicialmente planteada, esta no era suficiente para tener una correcta operación del prototipo. Por lo tanto no se contó con un generador eléctrico capaz de generar la suficiente energía eléctrica para que el sistema digital implementado funcione. Además, una función que inicialmente se propuso que realizara el sistema digital, finalmente no se logró implementar. Esta función era la actualización o modificación de la base de datos (en la cual se almacenan los códigos, nombres y precios de distintos productos) a través de una interfaz de comunicación inalámbrica. La principal razón por la cual esta función no se desarrollo, fue debido al poco tiempo con que se contó para el desarrollo del prototipo. Pero a pesar de estas limitantes, mediante el desarrollo del prototipo propuesto en esta tesis, se llegó a la conclusión general de que es factible desarrollar un dispositivo que cumpla con todas las especificaciones anteriormente planteadas. Más sin embargo esto requiere un tiempo de desarrollo prolongado ó un equipo de desarrollo conformado por más personas, las cuales deben ser especialistas en distintas áreas. Lo anterior debido a que en este proyecto se involucran distintas áreas de la ingeniería electrónica, como la electrónica analógica, digital, de potencia y telecomunicaciones. Además, otras áreas que son ajenas a la ingeniería electrónica, como la mecánica y la electromecánica, también se ven involucradas. Adicionalmente, el prototipo desarrollado puede servir como precedente ó referencia, para la realización de trabajos que complementen lo hecho en este proyecto de tesis ó busquen utilizar algún componente en específico que haya sido empleado en este proyecto (como supercapacitores, lectores de códigos de barras, microcontroladores, compiladores, entre otros). Recomendaciones y trabajos futuros. Aunque el prototipo propuesto en esta tesis es funcional, aun es necesario que se realicen trabajos de desarrollo para que este cumpla con todas las especificaciones de diseño que fueron planteadas en un inicio. Por lo tanto se contempla que se realicen las siguientes acciones en un trabajo posterior al realizado en este proyecto.
Lograr implementar algún método de generación de energía eléctrica que sea capaz de generar la cantidad de energía necesaria para que el prototipo pueda funcionar. Ya sea este un mejor generador eléctrico al probado en este proyecto u otra fuente generadora de energía eléctrica. Implementar una interfaz de comunicación inalámbrica dentro del sistema digital, para de esa forma, proporcionarle al prototipo la función de actualización ó modificación de la base de datos de manera inalámbrica. Mejorar el algoritmo implementado dentro del microcontrolador, con el objetivo de optimizar y añadir funciones al prototipo.
67
“Dispositivo portátil auxiliar en la estimación de productos basados en códigos de barras.” Tesis Cabrera Galicia Alfonso Rafael
Mejorar la administración y consumo de la energía eléctrica que el prototipo emplea. Esto mediante el uso de modos “sleep” con los que cuentan algunos dispositivos implementados en el prototipo propuesto. También se puede obtener un mejor consumo de energía mediante el uso de otro microcontrolador que consuma menos energía eléctrica, como puede ser el PIC16F1936, el cual cuenta con una nueva tecnología que optimiza su consumo de energía eléctrica (tecnología nano Watt, de Microchip) [15].
En caso de que se quiera continuar con el desarrollo de este proyecto, se deben de tomar en cuenta las siguientes recomendaciones.
Se debe de conocer y entender la forma en que trabaja un microcontrolador, así como saber cómo emplearlo y programarlo (ya sea en lenguaje ensamblador, C u otro). Se debe de comprender la manera en que trabajan y se emplean los supercapacitores. En caso de buscar darle solución al problema de la generación de energía eléctrica, se debe de investigar acerca de los métodos de construcción de generador que cumpla con los requerimientos que se solicitan en este proyecto. En caso de buscar darle solución al problema de la actualización de la base de datos empleada en el prototipo, de manera inalámbrica, se recomienda el uso de módulos de comunicación que empleen protocolos de comunicación populares, con la finalidad de no tener muchas complicaciones a la hora de implementarlos. Si se busca darle solución a los dos problemas anteriormente mencionados, se recomienda solucionar primero el problema de la actualización de la base de datos de manera inalámbrica, ya que sea cual sea el módulo de comunicación que se emplee, este consumirá energía eléctrica, lo cual se verá reflejado en las características que deba de satisfacer el generador de energía eléctrica que sea propuesto. Si se llega a resolver el problema de la actualización de la base de datos empleada en el prototipo, de manera inalámbrica, sería muy buena idea desarrollar una aplicación en la PC host que gestione la base de datos de los productos y precios que se actualizaran en la base de datos del prototipo. Se recomienda mejorar la manera en que el sistema embebido lleva el control de la cuenta de usuario, mediante la implementación de un inventario de productos, dentro del algoritmo del sistema embebido, ya que con el algoritmo empleado actualmente el usuario puede modificar su cuanta de manera incorrecta. Mejorar la manera en que la energía eléctrica es consumida por el sistema embebido, esto mediante la correcta implementación del modo “sleep” del microcontrolador PIC16F877A. Otra manera de ahorrar energía eléctrica puede ser mediante la implementación de otro microcontrolador que consuma menos energía, como podría ser el caso del microcontrolador PIC16F1936. Una vez que se halla logrado generar suficiente energía eléctrica, sería conveniente hacer una estimación sobre cuanta energía es generada, bajo diferentes velocidades de desplazamiento. Mejorar la construcción del dispositivo propuesto, con el objetivo de hacerlo más robusto. Esto para evitar que el dispositivo se dañe debido a un uso descuidado o rudo por parte del usuario.
68
“Dispositivo portátil auxiliar en la estimación de productos basados en códigos de barras.” Tesis Cabrera Galicia Alfonso Rafael Anexos Durante el desarrollo del prototipo propuesto en esta tesis se implementaron y generaron una serie de recursos y contenidos que no podían ser incluidos en los capítulos principales, por lo tanto, estos contenidos fueron alojados en esta sección. Cabe mencionar que independientemente del contenido escrito en esta sección, también se incluye un CD en el cual se almacenan los distintos archivos que se generaron en la elaboración del prototipo propuesto (programas, simulaciones, esquemas, fotolitos, etc), con el objetivo de facilitar la comprensión del proceso de elaboración del prototipo, así como también su reproducción y mejora. Apéndice A – Datos técnicos de MS180 linear imager scanner de la marca Unitech. Operación y Desempeño Velocidad de barrido Ratio de contraste de impresión Resolución Angulo de escaneo
45scans/seg 45% mínimo 4 mils mínimo 30 °- 150 °
Profundidad de campo Desempeño
0 - 0.6 pulgadas en 4 – 13 mils 0 - 1 pulgadas en 40 mils
Amplitud de campo Desempeño
0 – 2 pulgadas de distancia
Modos de operación Tipos Interfaz
Gatillo, flash ó continuo Keyboard wedge
Simbologías Tipos
Code 39 Standard and Full ASCII, Codabar, UPC/EAN with supplement codes, UCC/EAN128, Interleaved 2 of 5, MSI/Plessy code, Standard 2 of 5, China Postal, Code(Toshiba Code), Label Code IV and V, Delta Distance code, Code93, Code128, Code32(Italian Pharmacy)
Óptica Dispositivo receptor Fuente de iluminación
Elemento linear de imágenes 2160 LED rojo visible de 660 nm
69
“Dispositivo portátil auxiliar en la estimación de productos basados en códigos de barras.” Tesis Cabrera Galicia Alfonso Rafael Fuente de alimentación Voltaje de alimentación Corriente de operación Corriente en modo de espera Tiempo de Vida de interruptor Volumen de sonido beep
+5Vdc +/- 5% 100.5 mA a 5V 21.3 mA a 5V Más de un millón de interrupciones interruptor >70dB
de
Empaque Dimensión Peso Material de la carcasa Contorno de forma
7.4"H x 3.46"W x 3.15"D 4.4 onzas 30%PC + 70% ABS, UL94U0 Manejable y cómoda a la mano, con logotipo de Unitech al frente.
Ambiental Temperatura de operación Temperatura de almacenamiento Humedad
32ºF a 122ºF -4ºF a 140ºF 20% RH ~ 85% RH
Precio: $600.0
70
“Dispositivo portátil auxiliar en la estimación de productos basados en códigos de barras.” Tesis Cabrera Galicia Alfonso Rafael Apéndice B – Programa implementado. Debido a que es un componente importante dentro del prototipo propuesto, el programa implementado en el sistema embebido no podía ser excluido de esta tesis. Aunque a continuación se muestra el código implementado, también se anexaran dentro de un CD los archivos necesarios para poder implementar y modificar dicho programa (.hex, .coff, .c). #include //Librería para seccionar datos del //tipo flotante // Conexiones de Modulo LCD sbit LCD_RS at RB7_bit; sbit LCD_EN at RB6_bit; sbit LCD_D4 at RB5_bit; sbit LCD_D5 at RB4_bit; sbit LCD_D6 at RB3_bit; sbit LCD_D7 at RB2_bit; sbit LCD_RS_Direction at TRISB7_bit; sbit LCD_EN_Direction at TRISB6_bit; sbit LCD_D4_Direction at TRISB5_bit; sbit LCD_D5_Direction at TRISB4_bit; sbit LCD_D6_Direction at TRISB3_bit; sbit LCD_D7_Direction at TRISB2_bit; //Coexiones de Modulo PS/2 sbit PS2_Data at RA4_bit; sbit PS2_Clock at RA5_bit; sbit PS2_Data_Direction at TRISA4_bit; sbit PS2_Clock_Direction at TRISA5_bit; //Vectores que tendrán el nombre del producto y el //código de barras, se guardaran en la EEPROM serial //i2c. (Se aplicará este formato a todos los productos, 10 //localidades para nombre y 16 para código de barras). //Estos datos se encuentran en memoria de programa. const char out1[]="75007614 Coca-Cola "; const char out2[]="010722231835 Wolverine "; const char out3[]="013388330232 SSF4 X360 "; const char out4[]="825646866267 MUSE TR CD"; const char out5[]="013388991020 UMVC3 "; const char out6[]="730865900114 KOF XIII "; //Todos los mensajes de la interfaz. const char msj1[]="Elija Producto "; const char msj2[]="Anexar a cuenta?"; const char msj3[]="Cuenta $ "; const char msj4[]="Cuenta Vacia $0 "; const char msj5[]="Producto No "; const char msj6[]="Anexado a Cuenta"; const char msj7[]="No registrado "; //Variables, txt->vector donde se cargaran todos los //mensajes a desplegarse en LCD, datt->vector que //contendrá los datos que se grabaran en la EEPROM, //barcode-> vector que almacena un código de barras //recién escaneado, minc-> vector que contiene el código //de barras que es leído de la base de datos para //compararlo con el recién escaneado, minid ->vector //que contiene el nombre del producto almacenado en la //base de datos. char txt[16], barcode[16], datt[26],minc[16], minid[10]; //En estos vectores se almacena el precio de cada //producto, también se almacenan en la EEPROM serial //i2c, inmediatamente después de vector out. const float op1= 8.5, op2= 19.0, op3= 500.75, op4= 100.50, op5= 50.50, op6= 800.00; //pt-> se emplea para almacenar los precios que se //enviarán a la EEPROM, pr-> usado para leer precios de
//la EEPROM, cuenta-> almacena el estimado a pagar //por el usuario. float pt, pr, cuenta; //usado en la conversión flotante a carácter int pos; //cantidad de productos revisados int cpr; //b->usado para apuntar a arrays, loc-> es para //seleccionar la localidad de memoria apartir de la cual //se guardan ó leen cada producto dentro de la //EEPROM, c_s-> usado para retrasos del timer 1 int b, loc, c_s; //variables usadas en el manejo de periféricos PS/2 unsigned short keydata = 0, special = 0, down = 0; //Interrupción por desbordamiento del timer 1 void interrupt(void){ //Secuencia de Interrupción //Como puede haber varias interrupciones, si la //interrupción es de bandera de sobre flujo del timer1, se //hace lo siguiente. if (PIR1.TMR1IF){ c_s++; //Incrementa el Contador PIR1.TMR1IF = 0; //Se resetea la bandera de sobre flujo del Timer1. TMR1L = 0x0 //Se ponen valores de precarga al Timer1, //en este caso 0, para hacer que el conteo del timer 1 //dure lo mas que se pueda. TMR1H = 0x00; //174ms } } //Rutina para la conversión de flotante a string int long_to_char(char *buff, int start_pos, long inum){ char n, k; long div = 1000000000; if(inum < 0) { buff[start_pos++] = '-'; inum *= -1;} for(k = 0; k < 10; k++){ n = (inum / div) % 10; if(n > 0) break; div /= 10;} buff[start_pos++] = 48 + n; k++; div /= 10; for(; k < 10; k++){ n = (inum / div) % 10; buff[start_pos++] = 48 + n; div /= 10;} return start_pos;} long pow10l(short p){ switch(p){ case 1: return 10l; case 2: return 100l; case 3: return 1000l; case 4: return 10000l; case 5: return 100000l; case 6: return 1000000l;
71
“Dispositivo portátil auxiliar en la estimación de productos basados en códigos de barras.” Tesis Cabrera Galicia Alfonso Rafael case 7: return 10000000l; case 8: return 100000000l; case 9: return 1000000000l; default: return 1;}} int float_to_char(char *buff, int start_pos, float fnum, short dec){ long i; int pos, k; if(fnum < 0) { buff[start_pos++] = '-'; fnum *= -1;} i = fnum; pos = long_to_char(buff, start_pos, i); buff[pos++] = '.'; fnum -= i; fnum *= pow10l(dec); i = fnum; fnum -= i; // The 2 new lines to round last digit if(fnum >= 0.5) i++; pos += dec; for(k = dec; k > 0; k--){ buff[--pos] = 48 + (i % 10); i /= 10;} return pos + dec;} //Rutina de envío de datos a la memoria serial EEPROM //I2C. void trans(const char *ori){ b=0x00; while(b
View more...
Comments