Proyecto No. 1 Contador de Piezas en una Banda Transportadora En este proyecto se desarrollará una maqueta de un Contador de Piezas de una Banda Transportadora. Para mover la banda se empleara un Motor a pasos. El conteo de las piezas se desplegará en un Display. No hay un diagrama de circuito para este proyecto, tampoco un código en ensamblador específico, por lo cual tendrán que investigar la manera de realizar este proyecto. Analicen el siguiente video en donde se muestra una implementación de una banda transportadora: http://www.youtube.com/watch?v=EJU8tqAv6aE&feature=relmfu De esta maqueta se va a analizar el Bloque que detecta las piezas: es decir el led infrarrojo, el fototransistor y el amplificador operacional LM358. Este bloque genera una señal de pulso que se conectará a la entrada etiquetada con la letra “I” del siguiente circuito contador de 4 dígitos. A continuación se presenta este proyecto contador. Contador de 4 Dígitos con PIC: Quizás una de las aplicaciones más usual para un micro controlador sea la elaboración de un contador de turnos o de personas atendidas. En este caso decidimos diseñar un circuito que requiera la menor cantidad posible de componentes y que cumpla con las prestaciones típicas de estas aplicaciones. 1 Como se ve en el diagrama el circuito está estructurado alrededor del PIC, el cual en su interior lleva la cuenta de las pulsaciones sobre el pulsador 'I' y, a su vez, genera los dígitos a ser mostrados sobre los Displays de 7 segmentos. Para reducir la cantidad de circuitos integrados a sólo uno hemos optado por generar los dígitos por software dentro del mismo micro, evitando así tener que recurrir a decodificadores de BCD, que si bien no representan costo alguno para adquirirlos, el hecho de colocarlos en el circuito impreso implica mayor tamaño, mayor cantidad de pistas y perforaciones. El funcionamiento es por demás simple. Los cuatro dígitos del Display se encuentran en paralelo. Esto significa que el segmento A del primero está cableado junto con el del segundo, el tercero y el cuarto. Y lo mismo sucede con los demás segmentos. Para que no se encienda sobre los cuatro dígitos el mismo número se multiplexa el encendido por medio de los cuatro transistores. Para que el Display se ilumine no solo tiene que haber un “1” lógico en el segmento a encender, sino que también se requiere que el transistor este en conducción para lograr la masa. De esta forma, conmutando los transistores secuencialmente y a velocidad suficiente se logra hacer parecer al ojo humano que los cuatro displays están iluminados simultáneamente, cuando en realidad sólo uno se ilumina por vez. Por ejemplo, para hacer aparecer en los displays la secuencia 1 2 3 4 habría que hacer la siguiente rutina: 1. 2. 3. 4. 5. 6. 7. 8. 9. Generar el dígito 1 Encender el primer display Generar el dígito 2 Encender el segundo display Generar el dígito 3 Encender el tercer display Generar el dígito 4 Encender el cuarto display Repetir la secuencia a velocidad suficiente. Esto es el concepto básico. Para entender mejor el sistema será necesario consultar el archivo en assembler (Ensamblador) que contiene el código fuente del programa a cargar en el micro, que lo puede obtener del link de más abajo. Para evitar que la velocidad del micro haga avanzar el conteo a más de una unidad por pulsación se ha implementado un retardo de 100mS luego de la pulsación del interruptor marcado como 'I'. Si se quiere hacer avanzar el conteo hasta una posición no es necesario presionar y soltar el pulsador repetitivamente, bastará 2 con mantenerlo presionado y el conteo avanzará rápidamente. Para volver la cuenta a cero basta con resetear el micro, presionando la tecla marcada como 'R'. Si bien nosotros empleamos un cristal de 4MHz para el generador de reloj, también se puede emplear una red RC, porque en este proyecto no se requiere gran precisión de clock. Los transistores pueden ser remplazados sin problema por cualquiera de uso general como el BC548 o similar. Los displays utilizados son de LED's con cátodo común. Se pueden emplear displays pequeños y medianos sin problema. Para el uso de displays grandes deberá emplear algún driver de corriente como el ULN2803A o similar. La alimentación puede ser tanto 5 como 6 voltios. No se requiere que esté estabilizada y se puede emplear un adaptador universal, siempre que sea de calidad aceptable. La corriente requerida es de 300mA. En la siguiente dirección encontrarán la información aquí impresa, junto con el código en ensamblador: http://www.pablin.com.ar/electron/circuito/mc/contador/index.htm 3 Proyecto No. 2 Reloj Digital Este circuito está basado en un proyecto de Arizona Microchip Inc, el inventor y dueño del PIC, al cual sólo se le ha hecho una leve modificación que mas adentrada la nota será explicada. Originariamente fue diseñado como nota de aplicación para explicar la forma de multiplexar displays y teclas con las mismas líneas. Como se aprecia en el circuito el micro genera los dígitos sobre los displays directamente sin el uso de decodificadores como el 9368 y tantos otros. De esta forma, si bien se emplean más líneas entre el chip y los segmentos, se reduce la cantidad de componentes electrónicos necesarios logrando así reducir el espacio requerido. Dos pulsadores permiten ajustar la hora al momento de conectar el circuito y uno exhibe el segundero sobre los últimos dos displays (los que normalmente muestran los minutos) mientras permanezca presionado. 4 El uso de cada uno es el siguiente. El pulsador A (conectado a Rb1) muestra el segundero en tanto permanezca presionado. El pulsador B (conectado a Rb2) avanza rápidamente los minutos. El pulsador C (conectado a Rb3) avanza rápidamente las horas. Para hacerlo fácil de entender daremos una explicación rápida de este proyecto. Cada transistor trabaja en corte/saturación, comportándose como una llave electrónica. Cuando recibe tensión en su base deja conducir la corriente de colector a emisor. Entonces el display gobernado por él se iluminará de acuerdo a los pines Rb0 a Rb7 del micro. Según cuales de estas líneas presenten tensión y cuales no será el número que se forme sobre ese indicador. Al hacer conmutar secuencialmente los transistores y a alta velocidad parece, al ojo humano, que todos los displays se iluminasen a la vez. Configurando las líneas Rb1, Rb2 y Rb3 como entradas y desactivando los cuatro transistores se logra censar el estado de los pulsadores de control. Dado que ningún transistor está en conducción el estado de los pulsadores no afectará a los displays. De todas formas, si se presiona un pulsador mientras se están barriendo los displays el uno lógico generado no alcanza a tener corriente suficiente como para encender los LEDs ya que se encuentra limitado por resistencias de 820 ohms. Para tener éxito en el armado de este proyecto hay pocos requisitos, pero los hay. 1. En los displays todos los segmentos están unidos entre si. Esto quiere decir que el segmento A del display izquierdo está conectado con el A del que le sigue y así hasta el último. 2. El punto decimal sólo está conectado al display de las horas (el segundo de izquierda a derecha). Esto hace que horas y minutos disten entre sí por un punto. 3. No es mala práctica (aunque no fue implementado en nuestro esquema) colocar un capacitor cerámico de 100nF entre la alimentación del micro y masa, lo mas cercano posible a éste. 4. Dado que el montaje demanda pocos componentes el uso de dos placas de circuito impreso no es recomendado. 5. Si es recomendado colocar componentes de montaje superficial (SMD) sobre circuito impreso de dos caras. Colocando de una cara los displays y pulsadores y de la otra el micro y los componentes adicionales. De esta forma el prototipo quedará reducido a su tamaño mínimo. 5 Otro tema que merece atención es la estética de los displays. Colocando cuatro seguidos (uno pegado al otro) la hora es leída, pero con cierta dificultad. Observe ahora como se ve separando las horas de los minutos y colocando dos LEDs cuadrados adicionales. Es la misma hora, pero se aprecia mejor y estéticamente es más agradable. No requiere grandes esfuerzos, más que separar un poco los displays de hora y diez minutos y colocar dos diodos LED cuadrados que irán conectados al terminal DP del display horas y a su transistor. Si desea que dichos LEDs permanezcan fijos deberá colocarlos entre 5v y masa de los transistores por medio de una resistencia de 200 ohms. Cabe aclarar que los diodos LED deben ir en serie En la siguiente dirección encontrarán la información aquí impresa, junto con el código en ensamblador: http://www.pablin.com.ar/electron/circuito/mc/reloj/index.htm 6 Proyecto No. 3 Temporizador Regresivo de hasta 100 minutos Con solo un circuito integrado, un PIC y el adecuado programa para éste se logra un excelente Timer Regresivo, con indicación visual (por medio de 4 cifras) y con memoria no volátil para retener la última cuenta. En el esquema se observa que el manejo de los Displays queda en mano de un decodificador de BCD a 7 segmentos (que en el circuito es el CI 4511 pero puede ser sustituido por un CI 74LS48) y el multiplex de éstos queda a cargo de cuatro transistores PNP de uso general. No hay demasiado que explicar en este hardware, salvando la resistencia de Pull-Up conectada al pulsador 3 (las otras dos vías de entrada corresponden al puerto B el cual tiene Pull-Up interno). La alimentación es de 4.5V y puede ser provista por 3 pilas comunes tipo AA. El pulsador 1 (Start) hace que comience la cuenta regresiva. También se usa para hacer que el zumbador piezoeléctrico deje de sonar (suena una vez que la cuenta llega a cero). De ser este el caso el zumbador se silenciará y el temporizador se pondrá nuevamente en 99:59 El pulsador 2 (Set) permite alterar el tiempo desde el cual se comenzará a contar. Una vez terminado esto el nuevo valor será almacenado en la memoria EEPROM del PIC por lo cual el valor no se perderá aun cuando se interrumpa la alimentación. 7 El pulsador 3 (End) permite terminar la cuenta prematuramente. Detalle de los terminales del CD4511: Podemos ocupar el Circuito Integrado 74LS48 en lugar del anterior: En la siguiente dirección encontrarán la información aquí impresa, junto con el código en ensamblador: http://www.pablin.com.ar/electron/circuito/mc/timer/index.htm 8 Proyecto No. 4 Sensor de Proximidad Los sensores de proximidad son empleados en múltiples aplicaciones, principalmente en el ámbito de control industrial, control de acceso en fraccionamientos ó estacionamientos, pero también en aplicaciones caseras o en edificios, especialmente en sistemas de ahorro de energía y sistemas de seguridad. El sensor es elaborado a partir de un led emisor de luz infrarroja, que en la foto se aprecia como de color azul, y un detector infrarrojo, TFMS5360, que en la foto es el módulo negro en la esquina superior izquierda. El relevador (RAS-1210), de color amarillo tiene la función de actuador o bien de switch on-off para indicar el estado del sensor. Su posición, enmedio del LED y el detector infrarrojo (LED AZUL), evita que la energía infrarroja llegue lateralmente al sensor. PRINCIPIOS DE FUNCIONAMIENTO: Por medio del controlador 16F84, se activa el LED infrarrojo mediante trenes de pulsos, con una frecuencia de 10 Hz., es decir, se emiten 10 trenes de pulsos por segundo. Cuando algún objeto se aproxima al LED (a una distancia que puede regularse entre 5 y 20 cms, dependiendo de la corriente que se suministre al LED), refleja la energía hacia el detector, el cual envía la señal al 16F84. El microcontrolador compara la señal enviada con la señal recibida y, si son similares, entonces activa el relevador. 9 El envío de pulsos, y la comparación entre la frecuencia de envío y la recibida, hace posible evitar el disparo en falso del relevador por efecto de sombras o cambios en la luminosidad del ambiente, ya que el dispositivo puede funcionar de día y de noche. MODOS DE OPERACION: Existen 3 modos de funcionamiento del sensor, programables por medio de 3 jumpers: J1, J2 y J3 J1 CERRADO. Modo sensor de proximidad con temporizador: en este modo, al detectarse la proximidad de algún objeto, el relevador se activa durante un lapso programado de 10 segundos. Las aplicaciones típicas, inluyen su uso en pasillos, sótanos y estacionamientos, en donde, al detectarse la proximidad de alguna persona o automóvil, se encienden las luces el tiempo necesario, con apagado automático. Otra aplicación es en lavavos, para ahorro de agua. J2 CERRADO. Modo sensor de proximidad, sin temporizador. En este modo, al detectarse un objeto próximo, se activa el relevador. Mientras el objeto permanezca próximo, el relevador sigue activado. En el momento que el objeto se aleja, el relevador se desactiva. Su aplicación típica es en en control de acceso en estacionamientos. Si un automóvil se aproxima, la valla se levanta y continuará en esa posición hasta que se detecte que el automóvil se aleja. De esta forma se asegura que la pluma nunca caiga sobre el automóvil. J3 CERRADO. Modo sensor de proximidad con función TOGGLE. En este modo, el relevador se activa al detectarse un objeto próximo, y se desactiva al volver a detectarse. Una aplicación típica es para encender automáticamente luces en un sótano cuando ingresa una persona y apagarse cuando sale. En la siguiente dirección encontrarán la información aquí impresa, junto con el código en ensamblador: http://www.puntoflotante.net/SENSOR1.htm 10 Proyecto No. 5 Mensajes Deslizantes en una Matriz de LED’s con 2 PIC’s 16F84 Este proyecto consta de un Display de Matriz de LED’s que presenta un Mensaje deslizante, el cual se configura dentro del programa. Utiliza dos PIC’s 16F84, un PIC que genera los códigos para cada uno de los caracteres que forman el mensaje, para mostrarlos y deslizarlos en la Matriz de LED’s. El segundo PIC que actúa como un Contador Johnson que permite ir habilitando columna por columna y al trabajar en conjunto con el otro PIC despliega correctamente el mensaje en la Matriz de LED’s. En la siguiente dirección encontrarán la información del proyecto, junto con el código en ensamblador para cada PIC y un video del funcionamiento del proyecto: http://www.best-microcontroller-projects.com/scrolling-message-display-usingtwo-pic16f84a-chips.html 11 Proyecto No. 6 Cerradura Electrónica con Clave de Acceso Descripción: emplear el sistema EDUPIC ó EVOLUPIC con su teclado y LCD para controlar la apertura de una puerta a través de una clave de 4 dígitos decimales y hexadecimales ingresada a través de un teclado. Las claves pueden modificarse, cambiando los datos del programa fuente, de acuerdo a las instrucciones que allí mismo se indican. Existen versiones desarrolladas tanto en lenguaje ensamblador como en ANSI C. El programa fue realizado para los sistemas EDUPIC y EVOLUPIC, equipados con su teclado hexadecimal y el display LCD 16 x 1. Al oprimir la clave correcta, se activa el relevador (de color amarillo en la foto), durante 2 segundos. Activar una chapa electrónica es un problema similar a activar un foco de 127 volts AC. Tome como referencia para realizar las conexiones el diagrama mostrado abajo. Utilizando los contactos del relevador debe cerrarse el circuito para activar ya sea un foco ó la chapa electrónica. En este video se muestra el sistema EB88 activando un foco, el cual emula la operación de la chapa. 12 CONEXION DE LA CARGA AL RELEVADOR DEL SISTEMA EB88 En la siguiente dirección encontrarán la información aquí impresa, junto con el código en ensamblador: http://www.puntoflotante.net/chapaelectronica.htm 13