PROYECTO DPP Memoria Generalidades: Este es el proyecto de un sistema de camaras cerrado, concretamente de ocho camaras, controladas, desde un panel de mandos desde el cual controlaremos que camara queremos que se visualice en un televisor, con una cadencia de 5 segundos en modo automatico. Podremos seleccionar que el cambio sea manual o automatico, y en cualquiera de los dos casos si queremos que la cuenta sea ascendente o descendente. Objeto: Sera el poder tener una zona , ya sea de una casa, o de un terreno, vigilada. El objeto es tener una mayor seguridad en un recinto. Diseño: Vamos a integrar en una placa un circuito que hara que la imagen de 8 camaras se alterne en un monitor, el funcionamiento es el siguiente: Cada camara se conectara mediante un cable a la placa ( a traves del con 10),esto hace un total de 8 conexiones, las que van al multiplexor 4051, que las llevara a una salida( la televisión). Mediante las patillas 11, 10 y 9 ( que son las patillas de control del 4051) escogeremos que camara queremos que se vea en el monitor. Las señales que entren en estas patillas vendran desde el pic16f84, dara el codigo en binario , con lo que según de del 1 al 8, cambiara el televisor a una camara uo a otr, por ejmplo, si en la señal de control entral un uno en codigo binario el 4051 hara que en la salida ,se vea la camara uno, por lo tanto en la televisión se vera dicha camara. En el 16f84 hemos introducido un programa, hecho con el MPLab, con el cual logramos el control de las camaras.Tiene diferentes funciones que son las siguientes: −Mediante un interruptor podemos escoger si el cambio de camara se hace manual o automatico, en el caso de que sea automatico el cambio de camara se hara cada 5 segundos. −En el caso de que hayamos seleccionado modo manual, tendremos un pulsador que nos permitira pasar de una camara a otra cuando nosotros queramos −Tambien tenemos que en cualquiera de los dos casos mediante otro interruptor el cambio de camara sea ascendente o descendente. −Mediante 7 patillas del pic hacemos que en un display se refleje el numero de camara a la que pasamos, es decir traduce a un numero del 1 al 8( que se ve en el display), las salidas que le llegan al 4051( que son las patillas de control),por ejemplo si estamos en modo automatico( da igual el modo), y el pic le manda la señal para que pase a camara 2, en el display se vera un dos, y a la vez en el monitor se vera la imagen que le llegue de la camara dos. El programa del pic es el siguiente: ( creado con el programa mplab) ;***************************************************************************************** 1 ;Proyecto para DPP: ;Programa que a traves de dos interruptores controle que las salidas salgan en modo automatico o en modo manual ;******************************************************************************************** List p=16f84 include"P16f84.inc" PDel0 equ 0x11 PDel1 equ 0x12 PDel2 equ 0x13 PDel3 equ 0x14 PDel4 equ 0x15 PDel5 equ 0x16 Banco0 macro bcf STATUS,RP0 endm Banco1 macro bsf STATUS,RP0 endm Contador equ 0x0c org 0x00 goto Inicio org 0x04 Loop btfsc PORTB,0 goto Salir movf Contador,W call TablaC movwf PORTA 2 movf Contador,W call TablaD movwf PORTB Wait_0 clrwdt btfsc PORTB,0 goto Salir btfsc PORTA,3 goto Wait_0 Wait_1 call Demora clrwdt btfss PORTA,3 goto Wait_1 call Demora btfss PORTA,4 goto Abajo Arriba incf Contador,F movlw .8 subwf Contador,w btfss STATUS,Z goto Loop clrf Contador goto Loop Abajo decf Contador,F movlw 0xff subwf Contador,W btfsc PORTB,0 3 goto Salir btfss STATUS,Z goto Loop btfsc PORTB,0 goto Salir movlw 0x07 movwf Contador goto Loop Salir bcf INTCON,INTF Banco0 clrf Contador clrf INTCON bsf INTCON,INTE bsf INTCON,GIE clrf PORTB Banco1 movlw b'00000001' movwf TRISB movlw b'11000' movwf TRISA movlw b'00000110' movwf OPTION_REG Banco0 clrf Contador retfie TablaC: addwf PCL,F 4 retlw b'000' retlw b'001' retlw b'010' retlw b'011' retlw b'100' retlw b'101' retlw b'110' retlw b'111' TablaD: addwf PCL,F RETLW b'00001100' ;Para mostrar el 1 RETLW b'10110110' ;Para mostrar el 2 RETLW b'10011110' ;Para mostrar el 3 RETLW b'11001100' ;Para mostrar el 4 RETLW b'11011010' ;Para mostrar el 5 RETLW b'11111010' ;Para mostrar el 6 RETLW b'00001110' ;Para mostrar el 7 RETLW b'11111110' ;Para mostrar el 8 ;−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− ; Generado con PDEL ver SP r 1.0 el 14/11/2004 Hs 19:58:37 ; Descripcion: Delay 20000 ciclos ;−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− Demora movlw .21 ; 1 set numero de repeticion (B) movwf PDel3 ; 1 | PLoo movlw .237 ; 1 set numero de repeticion (A) movwf PDel4 ; 1 | PLoop4 clrwdt ; 1 clear watchdog 5 decfsz PDel4, 1 ; 1 + (1) es el tiempo 0 ? (A) goto PLoop4 ; 2 no, loop decfsz PDel3, 1 ; 1 + (1) es el tiempo 0 ? (B) goto PLoo ; 2 no, loop PDelL4 goto PDelL5 ; 2 ciclos delay PDelL5 clrwdt ; 1 ciclo delay return ; 2+2 Fin. ;−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− ;−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− ; Generado con PDEL ver SP r 1.0 el 14/11/2004 Hs 18:19:00 ; Descripcion: Delay 3000000 ciclos ;−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− Retardo movlw .67 ; 1 set numero de repeticion (C) movwf PDel0 ; 1 | PLoop0 movlw .91 ; 1 set numero de repeticion (B) movwf PDel1 ; 1 | PLoop1 movlw .122 ; 1 set numero de repeticion (A) movwf PDel2 ; 1 | PLoop2 clrwdt ; 1 clear watchdog decfsz PDel2, 1 ; 1 + (1) es el tiempo 0 ? (A) goto PLoop2 ; 2 no, loop decfsz PDel1, 1 ; 1 + (1) es el tiempo 0 ? (B) goto PLoop1 ; 2 no, loop decfsz PDel0, 1 ; 1 + (1) es el tiempo 0 ? (C) goto PLoop0 ; 2 no, loop PDelL1 goto PDelL2 ; 2 ciclos delay 6 PDelL2 clrwdt ; 1 ciclo delay return ; 2+2 Fin. ;−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− Inicio bcf INTCON,INTF Banco1 movlw b'00000001' movwf TRISB movlw b'11000' movwf TRISA movlw b'00000110' movwf OPTION_REG Banco0 clrf Contador clrf INTCON bsf INTCON,INTE bsf INTCON,GIE clrf PORTB btfss PORTB,0 goto Loop Automatico call Retardo movf Contador,W call TablaC movwf PORTA movf Contador,W call TablaD movwf PORTB 7 clrwdt incf Contador,F movlw .8 subwf Contador,W btfss STATUS,Z goto Automatico clrf Contador goto Automatico end Cabe destacar que en este programa realizamos las interrupciones a traves de RBo( la misma interrupción es el modo automatico), y que las salidas de RB1 a RB7 son las que manejan el display. Las salida de RA0 a RA2 son las que mandan las señales de control del 5041. Desde la patilla RA3, tenemos el control manual, es decir el pulsador que hara el cambio de camara. Finalmente desde RA4 tenemos un interruptor que controla que la cuenta sea ascendente o descendente. Diseñaremos un placa a introducir en una caja. Se podra conectar a una toma de corriente de 220 Voltios, ya que tendra una fuente dentro que la transformara a 5 Voltios Materiales: PIC 16F841 Condensadores de 27pF2 Resistencias11 Cristal de cuarzo 4MHz1 40511 8 Diplay 7 segmentos de catodo comun1 Pulsador1 Interruptores2 Conector de 10 pines, sera un frontal de conectores BNC/RCA1 Cables R50, que seran los que vayan de las camaras a la caja de mando8 Caja de un reproductor de CD1(la utilizaremos para introducir dentro la placa) Transformador de 220 5V) 9 Pruebas y mediciones: Las pruebas las haremos en un placa protoboard montando el circuito aquí en vez de en la placa ya insolada, después mediante el programa ICProg programaremos el PIC ( con el programa que hemos hecho nosotros), y lo pondremos en el circuito. En vez de conectar las 8 camaras lo que haremos es poner un puente de leds, asi cuando la placa cambie de camara , esto se vera como un cambio de led en el puente de leds.El circuito corresponderia con el siguiente: La diferencia con el circuito que montaremos es que en el original, la patilla numero 3 del 4051 la conectariamos a un televisor y no a la patilla 1 del con10, cabe destacar que la patilla numero dos del con 10 va a masa , ya que el tipo de cables que utilizaremos tienen una conexión a masa. La prueba la realizaremos con una fuente de alimentacion a 5 V. Ademas de estas pruebas podemos hacer otras con el programa proteus, con el que utilizaremos este esquema. 10 Gracias a este programa podemos introducir en el pic el programa que hallamos creado en el mplab, y ver su funcionamiento en tiempo real, es decir podemos simular el circuito, sin ser necesario su montage fisico, aunque siempre viene bien hacerlo. Planos: A continuación vamos a mostrar los planos correspondientes a la captura esquematica, y al circuito que insolaremos en la placa ya para el montaje final: El circuito siguienete esta hecho en layout, y ya tiene puesta la capa de cobre, para el trazado de pistas. Hemos introducido dos pines que nos serviran como toma de Vcc y GND. Todo el ruteo es por una cara nada mas , y componentes como el display, con 10 e interruptores no los soldaremos en la placa , los sacaremos fuera para ponerlos en el exterior de la caja, los sacaremos mediante cable, que los soldaremos en la placa. 11 Y ahora mostramos ya el esquema que utilizaremos para insolar la placa Esta sera la caja que utilizaremos para introducir la placa dentro.Justo el frontal que se ve es donde pondremos los ocho conectores BNC/RCA. 12 Pliego de condiciones data sheet: Presentes en la carpeta adjunta a esta Presupuesto: Placa 3 euros 4051 0.30 euros 16f 84 3.49 Resitencias11*0.12=14.52 Cristal de cuarzo0.84 Condensador0.08*2=0.16 Display1.26 Cables bnc 50 pies 5.42 Conectores RCA0.17*8=1.36 Zocalos0.12*2=0.24 Caja de Cd la reciclamos de una ya no usada TOTAL=23.8 Euros 13