Control de acceso

Sistema de seguridad. Microcontrolador PIC16C84. Pantalla LCD. Teclado Matrical. FUente de alimentación. Planos OrCAD

0 downloads 154 Views 524KB Size

Recommend Stories


Configuración de control de acceso del Cisco CallManager 3.3
Configuración de control de acceso del Cisco CallManager 3.3 Contenido Introducción prerrequisitos Requisitos Componentes Utilizados Convenciones Conf

Propiedad, acceso y control de la tierra para las mujeres
1 TOMO I Mujeres rurales, tierra y producción: Propiedad, acceso y control de la tierra para las mujeres Asociación para el desarrollo de las MUJE

Sistema de control de acceso biométrico sin contacto con tarjeta inteligente
c Universidad Distrital Francisco José de Caldas ISSN 1692-8407 Revista Tekhnê 2011, Vol. 8, 13–20 Sistema de control de acceso biométrico sin cont

Story Transcript

INDICE (Faltan los planos del sistema y la programacion del PIC, ademas del apendice con las caracteristicas de los componentes) • Introducción - Especificaciones iniciales • Diagrama de bloques - Partes del sistema: • Microcontrolador PIC16C84 • Pantalla LCD - teclado matricial - Fuente de alimentación • Lista de materiales y precios - Planos OrCAD 4.20 Apéndice Introducción El sistema que vamos describir en las próximas paginas va a ser un sistema de seguridad que nos va a proteger una puerta de accesos no deseados mediante una clave. Esta clave va a ser introducida mediante un teclado hexadecimal de fácil uso por parte del usuario y visualizada en una pantalla lcd que nos va a indicar si el acceso a sido concedido o denegado. Nuestro sistema además se encargara de la apertura en el caso de que la contraseña suministrada sea correcta. Este sistema nos va a ser extremadamente útil debido a su fácil manejo por parte del usuario que solo ha de teclear la contraseña suministrada por el sistema para acceder al recinto. Protegiendo asÃ− el acceso a sus bienes o restringiendo el paso a determinadas estancias o recintos. Control de acceso Especificaciones iniciales El conjunto del equipo del sistema de acceso va a estar formado Principalmente por un microcontrolador tipo PIC donde va a estar grabado el programa de funcionamiento de todo el sistema. También va a estar formado por una pantalla LCD que también consta de un microcontrolador que controla el funcionamiento de la misma y de un teclado hexadecimal tipo matriz de dieciséis botones. 1

El equipo también consta de un interface que va a unir el sistema de control al sistema de apertura de la puerta que va a ser de mas potencia que el de control. AsÃ− todo el sistema va a constar de las siguientes partes: • microcontrolador PIC16C84 • pantalla LCD de 32 por 2 caracteres teclado matricial hexadecimal Diagrama de bloques Este diagrama de bloques nos va a indicar de manera gráfica las cuatro partes principales de las que esta compuesto nuestro control de acceso. En el también podemos observar las diferentes conexiones que existen entre los diferentes módulos. De la fuente de alimentación van a salir dos lÃ−neas destinadas al PIC y a la pantalla LCD . También existe una conexión entre el PIC y el teclado matricial que va a ser el periférico que nos comunique con el usuario, este teclado será el encargado de recibir las instrucciones que nos va a dar el usuario cuando pretenda entrar al recinto. De este mismo PIC vamos a dar salida al otro periférico que nos comunica con el usuario, la pantalla LCD que va a ser la encargada de decir al usuario que su acceso ha sido concedido o denegado. El sistema se pondrá en funcionamiento mediante la pulsación de la tecla “C” del teclado hexadecimal pidiendo la contraseña al usuario. Si la contraseña suministrada es correcta la pantalla lanzara el mensaje de que el acceso ha sido concedido, si no es correcta aparecerá el mensaje de que la contraseña no es correcta y de que lo vuelva a intentar. Si la contraseña es introducida tres veces de forma incorrecta el sistema se apagara y se deberá pulsar “C” para volver a iniciar el programa. De nuestro PIC que es el cerebro del sistema también saldrá una señal que mediante un relé se encargara de activar el circuito de potencia que nos abrirá la puerta. PIC16C84 Su nombre viene de la abreviatura del ingles de periphal interface controller y son fabricados por la empresa Arizona Microchip Tecnology. Sus principales caracterÃ−sticas son: • arquitectura hardware • utilizan el método PIPE-LINE • todas las instrucciones tienen la misma longitud • todas las instrucciones son ortogonales. Se puede acceder a cualquier registro y se utiliza el registro w • procesador RISC • arquitectura basada en bancos • gran cantidad de modelos • herramientas de soporte económicas (simuladores, emuladores, etc.) • lÃ−neas de entrada y salida de alta capacidad (20 a 25 mA ) • sistema de reposo de bajo consumo “sleep” • sistema de “perro guardián” (warchdog) que sirve para controlar que el microcontrolador no se meta en un bucle cerrado y que le de un reset • sistema “POR” (power on reset), el sistema conmuta automáticamente y sé resetea cuando se produce un corte de alimentación. Organización de la memoria 2

Pc <12.o> Stack level I Stack level II Reset vector 0000h Periphal interruptor 0004h 3FFh 1FFh Herramientas para el diseño con PIC Para conseguir realizar proyectos con el microcontrolador PIC hay que disponer de algunas herramientas que permitan implementar el sistema fÃ−sico y desarrollar el software necesario. A continuación especificaremos los diferentes pasos que hemos seguido en el desarrollo de nuestro proyecto. 1º Editamos el programa que va a seguir el pic, el cual adjuntamos en este apartado del proyecto. 2º Ensamblamos el programa fuente anteriormente compilado el cual tenemos que convertir a código maquina fuente editado con el ensamblador de Microchip MPASM. 3º Simulamos el programa comprobando que es correcto, esto lo realizamos con el compilador MPASM. 4º Una vez depurados los posibles errores que pudiera tener procedemos a la grabación de estas instrucciones en el PIC, para ello utilizamos el programa PICSTART. Escritura del código fuente El código fuente del lenguaje ensamblador esta estructurado en columnas. Cualquier texto que comience en la primera columna se considera una etiqueta y es una parte del campo de etiquetas. Las siguientes tres columnas contienen el campo de instrucciones, el campo de datos y el campo de comentarios. Los comentarios deben de empezar con “; ” y pueden ir tambien en la primera columna. Campo de etiquetas El programa MPASM nos va a permitir etiquetas de hasta 32 caracteres y puede ir seguida de “: ”, espacios, tabuladores o reglas. Deben de empezar con un carácter alfanumérico que pueden contener cualquier información con caracteres alfanuméricos. Campo de datos Los datos pueden ser un registro, un bit de un registro, una etiqueta o un numero constante llamado literal. Algunas instrucciones no llevan datos y cuando llevan múltiples datos deben separarse por comas. Set de instrucciones El set de instrucciones del microprocesador PIC16C84 es un conjunto de instrucciones que consta aproximadamente con unas cincuenta instrucciones, lo que lo convierte en uno de los que menos instrucciones posee y su por tanto de más fácil manejo. En el apéndice podrá encontrar este set de instrucciones. Oscilador RC a 4MHz Vamos a utilizar para nuestro pic un circuito resonante de tipo HS 3

(High Speed Crystal Resonator) que es el mas común para frecuencias superiores a 4 Mhz como es el caso que nos ocupa, el montaje que vamos a emplear en nuestro proyecto es el siguiente.

Circuito reset del PIC16C84

El circuito reset del pic va estar formado va a estar formado por una resistencia de 10K y otra 100 unida al pic atraves de su patilla de reset y todo ello conectado a masa atraves de un pulsador que va a ser el boton de reset del circuito. Programación del PC En la cabecera de cualquier programa que vayamos a desarrollar con los pic hemos de poner siempre los siguiente datos: • Fecha de realización del programa • Función que va a realizar el programa • Tipo de procesador que vamos a emplear • Nombre del programa • Nombre del realizador de dicho programa • Frecuencia a la que va a funcionar el circuito • Si hemos o no activado la función perro guardián • Si hemos activado o no la función de protección de código

4

Ejemplo de programa para pic: ;PRIMER PROGRAMA DE PIC ;CONTADOR DE 0 A 255 SACANDO EL DATO BINARIO A LOS LED ;13 DE NOVIEMBRE DE 1988. ;CUENTA.ASM ;PROGRAMA PARA PIC16C84 ;RELOS DE INSTRUCCIà N 1MHZ ;REVISIà N 0:0 ;VELOCIDAD DE RELOJ: 4MHZ ;PERRO GUARDIÔN: DESACTIVADO ;PROTECCIà N DE Cà DIGO: OFF LIST P=16C84 ;*********************************IGUALDADES******************************** ;************************IGUALDADES QUE DESIGNA LOS DESTINOS**************** w EQU 0 f EQU 1 ;*****************IGUALDADES DE LA UCP Y DEL MAPA DE MEMORIA**************** PORTA EQU 05h ;PUERTO A PORTB EQU 06h ;PUERTO B TRISA EQU 85h ;REGISTRO DE CONTROL DEL PUERTO A TRISB EQU 86h ;REGISTRO DE CONTROL DEL PUERTO B STATUS EQU 03h ;REGISTRO DE ESTADO RPO EQU 05h ;REGISTRO DE ESTADO BIT CINCO ;*************************************************************************** Contador1 EQU 0Ch Contador2 EQU 0Dh

5

Contador3 EQU 0Eh ;*************************************************************************** ORG 00h ;DIRECCIà N DEL VECTOR DE RESET GOTO Inicializa ;COMIENZA EL PROGRAMA DESPUES ;DEL VECTOR DE INTERRUPCIà N ORG 05h ;UNA POSICIà N DESPUES DE LA INTERRUPCIà N Inicializa BSF STATUS,RPO ;SELECCIà N E LA PÔGINA 1 CLRF TRISB ;PUERTO B SALIDA BCF STATUS,RPO ;VUELVE PÔGINA CERO CLRF PORTB ;BORRA PUERTO B APAGA LED CLRF Contador1 ;CONTADOR 1 A CERO CLRF Contador2 ;CONTADOR 2 A CERO Comienzo MOVLW 10h MOVWF Contador3 INCF PORTB,f ;COLOCA A UNO EL BIT 0 PUERTO B Retardo1 DECFSZ Contador1,f ;DECREMENTA CONTADOR1 GOTO Retardo1 ;REPITE HASTA QUE VALGA 0 DECFSZ Contador2,f GOTO Retardo1 DECFSZ Contador3,f GOTO Retardo1 GOTO Comienzo ;REPITE INDEFINIDAMENTE END Interrupciones del PIC16C84 Causas de interrupción: El PIC16C84 tiene cuatro posibles causas de interrupción.

6

1º- activación de la patita RB0/INT 2º- por desbordamiento del TMR0 3º- por cambio de estado en una de las cuatro patitas de mas peso del puerto b. 4º- finalización de escritura en E2PROM de datos. Registro INTCON Esta formado por las siguientes partes: GIE EEIE TOIE INTE RBIE TOIF INTF GIE: nos va a permitir si esta a 1 todas las interrupciones, si esta a 0 las prohibe.

RBIF

EEIE: Si es 1 permite interrupción cuando se termina de escribir en la E2PROM, si es 0 nos prohibe esta interrupción. TOIE: Si es 1 permite interrupción de desbordamiento del TMR0, un 0 lo anula. INTE: Un 1 permite la interrupción al activarse la patita RB0/INT y un 0 lo prohibe. RBIE: Un 1 permite la interrupción por cambio de estado en los bit RB7 a RB4, TOIF: es el señalizador de sobrepasamiento del TMR0. Se va a poner a 1 cuando haya ocurrido el desbordamiento y permanecerá a 0 mientras no ocurra el mencionado desbordamiento. INTF: es el señalizador de activación de la patita RB0/INT, se pondrá a 1 cuando se active y permanecerá en 0 el resto del tiempo. RBIF: es el señalizador de estado de las patitas RB7 a RB4, nos va a dar un uno cuando ocurra algún cambio de estado en cualquiera de ellas y permanecerá a 0 el resto del tiempo que no se produzcan cambios. El señalizador EEIF se encuentra en el bit cuatro del registro EECOM1 y nos indica si esta a 1, que la operación de escritura en la E2PROM ha finalizado. Archivos de registro TMR0: Tiene un temporizador llamado TMR0 que actúa de dos maneras diferentes: 1º- como contador de sucesos que están representados por los impulsos que se aplican a la patilla RA4/TOCK1. Al llegar al valor FF el contador se desborda activando un señalizador y provocando una interrupción. 2º- como temporizador, en este caso se va incrementando a cada ciclo de instrucción hasta que se desborda y pasa de FF a 00 avisando con un señalizador y provocando una interrupción. Aparte del TMR0 existe otro temporizador que se denomina perro guardián (watchdog WDT), que se suele utilizar habitualmente para que nuestro programa no se cuelgue.

7

Registro option: Este registro tiene como misión principal controlar el TMR0 que ocupa la posición 81 de memoria de datos que equivale a la dirección 1 del banco 1. RBPO INTDG TOCS TOSE PSA PS2 PS1 PS0 PS2 PS1 PS0 Divisor del TMR0 WDT 0 0 0 1:2 1:1 0 0 1 1:4 1:2 0 1 0 1:8 1:4 0 1 1 1:16 1:8 1 0 0 1:32 1:16 1 0 1 1:64 1:32 1 1 0 1:128 1:64 1 1 1 1:256 1:128 Debido a que la frecuencia de reloj puede ser muy elevado existe la posibilidad de dividir la frecuencia que ataca al TMR0 dependiendo de lo que haya en PS2, PS1 y PS0 la división será la que indica la tabla superior. PSA: nos va a indicar la asignación del divisor de frecuencia, con un uno se le asigna WDT y con un cero a TMR0. TOSE: nos indica el tipo de flanco en TOCK1, con un uno se incrementa el TMR0 en la flanco descendente y con un cero en el ascendente. TOCS: nos indica el tipo de reloj del TMR0, uno con pulsos introducidos atraves de TOCK1 y con cero con el reloj interno. INTEDOG: nos da el flanco activo de interrupción externa, uno en el ascendente y cero en el descendente. RBP0: conecta resistencias PULL-UP en el puerto B, con uno se desactivan y con cero se activan. Pantalla LCD El modulo visualizador LCD que vamos a utilizar en este proyecto se compone de una pantalla de cristal liquido que consta de una matriz de 16 caracteres por dos lÃ−neas y con una resolución de 5x7 pixeles. Esta pantalla va a estar gobernada por un microcontrolador modelo Hitachi 44780 que es uno de los mas utilizados por este tipo de pantallas. Las caracterÃ−sticas más notorias de esta pantalla son: • pantalla de caracteres ASCII, además de los caracteres kanji y los caracteres griegos. • Desplazamiento de los caracteres hacia cualquiera de los dos lados. • Proporciona la dirección de la posición absoluta o relativa del carácter. • Memoria de 40 caracteres por lÃ−nea de pantalla. • Movimiento del cursor y cambio de su aspecto. • Permite que el usuario pueda programar ocho caracteres. • Conexión a un procesador usando un interface de 4 u 8 bis. El consumo del modulo es muy reducido apenas de 7,5 mW y su manejo lo hace ideal para nuestra aplicación. Posee catorce patitas y su alimentación es de +5v, y la regulación de contraste se hace mediante un potenciometro que nos va a dividir los 5 voltios de la alimentación 8

Conexión de 8 bits: • lÃ−nea RS a 0 o a 1 según se desee modo comandos o caracteres • LÃ−nea R/W = 0m, para escritura. • LÃ−nea E = 1, para habilitar. • Escribir en el bus de datos del modulo LCD • LÃ−nea E = 0

Patita numero SÃ−mbolo 01 VSS 02 VDD 03 VEE o VEE 04 I/D o RS 05 R/W 06 E o EN 07 DB0 08 DB1 09 DB2 10 DB3 11 DB4 12 DB5 13 DB6 14 DB7 Lectura / escritura de la pantalla LCD

función Masa +5v Ajuste de contraste Selección modo Lectura/escritura Validación 1=0 1ª lÃ−nea de datos LSB 2ª lÃ−nea de datos 3ª lÃ−nea de datos 4ª lÃ−nea de datos 5ª lÃ−nea de datos 6ª lÃ−nea de datos 7ª lÃ−nea de datos 8ª lÃ−nea de datos MSB

La lÃ−nea R/W determina cuando vamos a leer o a escribir en la pantalla LCD. AsÃ− cuando se coloca a nivel alto el contenido de la memoria RAM de la LCD puede ser leÃ−do y si se coloca a nivel bajo puede escribirse en la misma. Es importante que antes de activar esta lÃ−nea hemos de mandar un impulso de habilitacion al modulo para que comience a actuar. La pantalla LCD consta de varios comandos que vamos a explicar a continuación: Borra pantalla: este comando nos va a hacer desaparecer todos los caracteres de la pantalla y nos va a devolver el cursor a su posición inicial. Cursor a casa: también devuelve la pantalla LCD a su posición original de la DDRAM, quedando su contenido intacto. Modo introducción: Configura la dirección del cursor I/D. Cuando I = 1 incrementa la posicion del cursor y D = 0 realiza la operación contraria. Mientras S = 1 se especifica que hay desplazamiento de los caracteres 9

por la pantalla. Esta operación se realiza durante la escritura de los datos. Pantalla ON/OFF: coloca en movimiento el cursor en la pantalla de diferentes maneras, D lo hace por toda la pantalla, C cursor on-off y B hace parpadear al cursor en la posición de carácter. Desplazamiento cursor/pantalla: S/C indica el movimiento del cursor o desplazamiento de la pantalla, dependiendo de R/L lo hace hacia la izquierda o hacia la derecha. El contenido de la DDRAM permanece en todo caso inalterado. Función: DL nos va a indicar la longitud de datos en el interface de la pantalla N va a ser el numero de lÃ−neas y F el tipo de caracteres que vamos a emplear. Dirección CGRAM: coloca el dato recibido o enviado en la DDRAM después de la ejecución de ese comando. Bandera de ocupado BF: indica si existe una operación interna en curso y lee además la posición del contador. Si existe una operación interna no dejara que el PIC actúe sobre la DDRAM. Escribe DDRAM: habilita la DDRAM para que se pueda escribir sobre ella. Lee DDRAM: lo contrario, la habilita para que pueda ser leÃ−do su contenido por el PIC. Nombre bit I/D S D C B S/C R/L DL LINEAS F-FUENTE BF Inicialización

Estado y 0= decrementa la posición del cursor 0=sin desplazamiento 0=pantalla off 0= cursor off 0=parpadeo del cursor off 0=mueve el cursor 0=desplaza a la derecha 0=interface de 4 bits O=1/8 o 1/11 (una lÃ−nea) 0=5x7 puntos 0=puede aceptar instrucción

Funcionamiento 1=incrementa la posición del cursor 1=con desplazamiento 1=pantalla on 1=cursor on 1=parpadeo del cursor on 1=desplaza la pantalla 1=desplaza a la izquierda 1=interface de 8 bits 1=1/16 (dos lÃ−neas) 1=5x10 puntos 1=operación interna en curso

Antes de comenzar a utilizar nuestra pantalla LCD ha de ser inicializada. Para ello en su programa de inicialización debemos especificar la configuración que la pantalla va a tener. Un ejemplo tÃ−pico de configuración podrÃ−a ser el siguiente: 8 bits de datos, dos lÃ−neas de pantalla y 16 caracteres con una matriz de 5x7. Direccionado La DDRAM de las pantallas LCD no tiene un direccionamiento continuo y lineal pues el mapa depende de los caracteres y lÃ−neas que tenga el modulo. Cada lÃ−nea de la pantalla LCD tiene 40 caracteres de DDRAM de pantalla de datos asociados. Estas 40 posiciones están organizadas con un buffer de forma circular de tal forma que la ultima posición enlaza con primera, en nuestro caso solo son visibles 16 caracteres de los 40 disponibles por cada lÃ−nea. 10

El primer caraceter escrito en la pantalla comienza en la posición 80h de la DDRAM. Al escribir otro carácter, la dirección se incrementa automáticamente a 81h ya que esta establecido el modo entrada para incrementar. Los siguientes caracteres rellenan posiciones sucesivas hasta A7h y eventualmente puede volver a C0h en la segunda lÃ−nea. Las posiciones de pantalla que sobrepasen la posición 8Fh no son visibles, para hacer visibles estos caracteres el contenido de la pantalla puede ser desplazado a la izquierda o la derecha. Direccionamiento absoluto Los caracteres pueden escribirse en una determinada posición de la pantalla LCD usando el comando de dirección de la DDRAM. Las igualdades han de incorporar el comando de direccionado de la DDRAM, su situación por defecto esta situada al principio de la memoria. Direccionamiento relativo Los movimientos de los caracteres pueden realizarse hacia la izquierda y hacia la derecha de la posición actual del cursor , para ello toma como referencia la posición actual del cursor y partir de ahÃ− realiza el desplazamiento. Teclado matricial

En nuestro proyecto vamos a utilizar un teclado matricial en lugar de los teclados de tipo lineal que tienen como principal desventaja el hecho de cada tecla tiene su propia lÃ−nea de salida en lugar de funcionar como una matriz que es el caso que nos ocupa. Al utilizar menos lÃ−nea su principal ventaja en nuestro diseño es que lo podremos controlar utilizando solo un puerto del pic. No necesitaremos de resistencias externas para el control de la intensidad del teclado ya que estas van incluidas en el propio teclado matricial. Fuente de alimentación El objetivo de la fuente de alimentación consiste en pasar de una tensión de red de 220v a una tensión final de alimentación de 5 v que nos van a servir para alimentar toda la parte de control del circuito. Su funcionamiento es el siguiente:

11

Partimos de una tensión de red de 220v que mediante un transformador la a llevar a un nivel de 12 voltios de alterna.

Esta tensión de 12 voltios la vamos a rectificar mediante un puente de diodos que nos va a dar a su salida una tensión de 12 voltios pulsatoria a una frecuencia el doble que la de red, es decir, 100 Hz. Después de este rectificado la señal pasa por un condensador que nos va a filtrar la señal para pasarla a un nivel de continua en torno 17 voltios. Esta señal va pasar entonces al regulador de tensión que nos va filtrar y estabilizar este nivel a 5 voltios de continua. Este regulador que es un LM7805 necesita para su funcionamiento de dos pequeños condensadores de desacoplo de un valor de 100 nF a su entrada y a su salida.

12

La fuente de alimentación posee a su salida un diodo led de color rojo para indicar que el circuito esta funcionando, lo que también indica que la fuente se halla en perfecto estado, debido a que el mal funcionamiento de dicho diodo significarÃ−a una averÃ−a en la parte de alimentación. Esta caracterÃ−stica ayudarÃ−a en una futura reparación del dispositivo. PRESUPUESTO -LISTA DE PRECIOS COMPONENTE Transformador-T1 Puente de diodos-D1 C1 C2,C4 C5,C6,C7 C3 Regulador de tensión-U1 R5,R8,R9 R6 R1,R2,R3,R4 Potenciometro-R7 CRISTAL-Y1 PIC-U2 J1 J2 RED DL1,DL2 S1 PRESUPUESTO TOTAL

VALOR 220\12 B250C 470uf 100nf 27pf 22pf LM7805 100 10k 2k2 15k 4MHz 16C84 LCD-CON14 TECLADO-CON8 CON2 LED PULSADOR

CANTIDAD 1 1 1 2 3 1 1 3 1 4 1 1 1 1 1 1 2 1

PRECIO 1.219 Pts 27 Pts 179 Pts 36 Pts 55 Pts 55 Pts 124 Pts 7 Pts 7 Pts 7 Pts 7 Pts 77 Pts 900 Pts 5.484 Pts 2.075 Pts 25 Pts 10 Pts 33 Pts 10.518 Pts

CONTROL DE ACCESO

13

Get in touch

Social

© Copyright 2013 - 2024 MYDOKUMENT.COM - All rights reserved.