SISTEMA DE ALARMA

Embed Size (px)

Citation preview

UNIVERSIDAD DE GUANAJUATOMAESTRIA EN ING. ELECTRICAINSTRUMENTACIN DIGITAL MAESTRO: DR. GUSTAVO CERDA VILLAFAAALUMNO UNIVERSIDAD DE GUANAJUATO MAESTRIA EN ING. ELECTRICA INSTRUMENTACIN DIGITAL Proyecto final SISTEMA DE ALARMA STRO: DR. GUSTAVO CERDA VILLAFAA ALUMNO: DANIEL PREZ PRADO 18 DE AGOSTO DEL 2011 STRO: DR. GUSTAVO CERDA VILLAFAA SISTEMA DE ALARMA OBJETIVO: Disear un sistema de alarma que sea activado va USB por medio de la computadora. MATERIAL Y EQUIPO UTILIZADO Leds PIC18F4550 LCD Buzzer Capacitores Conectores Placa para imprimir circuito Cable USB Cristal de 4 MHz PC Sensor SFR05 MARCO TERICO Comunicacin USB (Universal Bus Serial) El USB (Universal Bus Seria), est basado en una arquitectura tipo serial. Sin embargo, es una interfaz de entrada/salida mucho ms rpida que los puertos seriales estndar. Existen varios estndares del USB que se han desarrollado para la conexin de una amplia gama de dispositivos:ElestndarUSB1.0queofrecemodosdecomunicacinde1.5Mb/s(baja velocidad) y 12 Mb/s (alta velocidad). El estndar USB 1.1 con los mismos modos de comunicacin que el anterior. El estndar USB 2.0 que brinda velocidades hasta 40 Mb/s. Algunos conceptos generales del bus USB son: Host: dispositivo que inicia la comunicacin (generalmente el ordenador). Hub:dispositivoquecontieneunoomsconectoresinternashaciaotros dispositivosUSB,elcualhabilitalacomunicacinentreelhostycondiversos dispositivos. Driver: es un programa aplicaciones para poderse comunicar con el dispositivo. Endpoints: es una localidad especfica dentro del dispositivo. Endpoint es un buffer que almacena mltiples bytes, tpicamente es un bloque de la memoria de datos o un registrodentrodelMicrocontrolador.Todoslosdispositivosdebensoportarun puntoterminal0.Estepuntoterminaleselquerecibetodoelcontrolylas peticiones del estado durante la enumeracin cuando el dispositivo esta sobre el bus. Pipes:esunenlacevirtualentreelhostyeldispositivoUSB,queconfiguralos parmetrosasociadosconelanchodebanda,tipodetransferencia,direccindel flujodedatosyelmximoy/omnimotamaodelospaquetes/buffers.Lanorma USB define dos tipos de enlaces virtuales: stream y message. Existen cuatro principales tipos de transferencia por el enlace virtual: Control: modo utilizado para realizar configuraciones. Todos los dispositivos soportan este tipodetransferencia.Losdatosdecontrolsirvenparaconfigurarelperifricoenel momentodeconectarsealUSB.Esteenlacenotieneprdidadedatos,puestoquelos dispositivos de deteccin de recuperacin de errores estn activos a nivel USB. Bulk: se utiliza para la transmisin de importantes cantidades de informacin. Este tipo de informacin es til cuando la razn de transferencia no es crtica. Interrupt: modo utilizado para transmisiones de pequeos paquetes, rpidos y orientados a percepcioneshumanas.Estetipodetransferenciaesparadispositivosquedebenrealizar atencin peridicamente y lo utilizan los dispositivos de baja velocidad. Isochronousoflujoentiemporeal:modoutilizadoparalatransmisindeaudioovideo comprimido. Este tipo de transmisin funciona en tiempo real. Sistema de alarma: Un sistema de alarma es un elemento de seguridad pasiva. Esto significa que no evitan una situacinanormal,perossoncapacesdeadvertirdeella,cumpliendoas,unafuncin disuasoriafrenteaposiblesproblemas.Porejemplo:Laintrusindepersonas.Iniciode fuego.Eldesbordamientodeuntanque.Lapresenciadeagentestxicos.Cualquier situacin que sea anormal para el usuario. Una vez que la alarma comienza a funcionar, dependiendo del sistema instalado, este puede tomar acciones en forma automtica. Por ejemplo: Si se detecta la intrusin de una persona a un rea determinada, mandar un mensaje telefnico a uno o varios nmeros. Si se detecta la presencia de humo, calor o ambos, mandar un mensaje telefnico a uno o varios nmeros o accionar la apertura de rociadores en el techo, para que apaguen el fuego. Si se detecta la presenciadeagentestxicosenunrea,cerrarlaspuertasparaquenoseexpandael problema. Paraesto,laalarmatienequetenerconexionesdeentrada,paralosdistintostiposde detectores, y conexiones de salida, para activar otros dispositivos que son los que se ocupan de hacer sonar la sirena, abrir los rociadores o cerrar las puertas. Todoslossistemasdealarmastraenconexionesdeentradaparalosdetectoresyporlo menosunadesalidaparalasirena.Sinohaymsconexionesdesalida,laoperacinde llamaraunnmero,abrirelrociadorocerrarlaspuertasdeberserrealizadaenforma manual por un operador. Uno de los usos ms difundidos de un sistema de alarma es advertir el allanamiento en una viviendaoinmueble.Losequiposdealarmapuedenestarconectadosconuna Central Receptora,tambinllamada CentraldeMonitoreo,conelpropietariomismo(atravsde telfono o TCP/IP) o bien simplemente cumplir la funcin disuasoria, activando una sirena que funciona a unos 90 db . Unsistemadealarmasecomponedevariosdispositivosconectadosauna central procesadora. Centralprocesadora:esla CPU delsistema.Enellasealberganla placabase ,la fuenteyla memoriacentral.Estapartedelsistemaeslaquerecibelasdiferentes sealesquelosdiferentessensorespuedenemitir,yactaenconsecuencia, disparandolaalarma,comunicndoseconlacentralpormediodeunmodem,etc. Se alimenta a travs de corriente alterna y de una batera respaldatoria, que en caso decortedelaenerga,leproporcionaraunaautonomaalsistemadeentre 12 horas y 3 das (dependiendo de la capacidad de la batera). Teclado: es el elemento ms comn y fcil de identificar en una alarma. Se trata de un teclado numrico del tipo telefnico. Su funcin principal es la de permitir a los usuariosautorizados(usualmentemediantecdigosprestablecidos)armar(activar) y desarmar (desactivar) el sistema. Adems de esta funcin bsica, el teclado puede tenerbotonesdefuncionescomo: EmergenciaMdica, Intrusin, Fuego,etc.Por otro lado, el teclado esel medio ms comn mediante el cual se configura el panel de control. Gabinetedesirenaexterior:eselelementomsvisibledesdeelexteriordel inmuebleprotegido.Setratadeunasirenaconautonomapropia(puedefuncionar ansiselecortaelsuministrodecorrientealternaosisepierdelacomunicacin conlacentralprocesadora)colocadadentrodeungabineteprotector(demetal, policarbonato,etc).Puedetenerademsdiferentessistemasluminososque funcionan en conjunto con la disuasin sonora. Detectoresdemovimiento (PIR):sonsensoresquedetectancambios de temperatura ymovimiento.Siestossensoresdetectanmovimientoestandoel sistema conectado,dispararnlaalarma.Existendetectoresreguladosparano detectar mascotas, tales como perros y gatos. Detectores magnticos:setratadeunsensorqueformauncircuitocerradoporun imanyuncontactomuysensiblequealsepararse,cambiaelestado(sepuede programar como NC o NA) provocando un salto de alarma. Se utiliza en puertasy ventanas, colocando una partedel sensor en el marcoy otra en la puerta o ventana misma. Sensoresinercialesosismicos:estnpreparadosparadetectargolpessobreuna base.Secolocanespecialmenteencajasfuertes,tambinenpuertas,paredesy ventanas. Detectan el intento de forzar su apertura. Detectores de rotura de cristales: son detectoresmicrofnicos, activados al detectar la frecuencia aguda del sonido de una rotura de cristal. Lapa(detectortermovelocimetrico):elementoadheridoaunacajafuerte.Advierte deunposible butrn ointentode sabotaje delamisma.Adoptaelnombrede termovelocimetrico dado que en su interior alberga tres tipos de detectores seriados, uno de cambio de temperatura, un sismico, y uno de movimiento. Detectorpersonascadas(hombremuerto) :elementoinalmbricoquepermite detectar desvanecimientos o cadas de personas solas. Fig. 1.- Sistemas de alarmas existentes PIC18F4550 Fig.2 .- PIC18F4550 CARACTERSTICAS FUNDAMENTALES ElPIC 18F4550,pertenecealosmicrocontroladoresPIC18degamaalta.Poseeuna arquitectura RISC (reduced instruction set computer) de 16 bits longitud de instrucciones y 8bitsdedatos.Latablamuestraenresumenlascaractersitcasfundamentalesdeeste microcontrolador y de sus antecesores los PIC18F2455/2550/4455. El uC PIC18F4550 dispone de las siguientes memorias: Memoriadeprograma:memoriaflashinternade32.768bytes.Almacenainstruccionesy constantes/datos.Puedeserescrita/ledamedianteunprogramadorexternoodurantela ejecucin programa mediante unos punteros. Memoria RAMde datos: memoriaSRAM interna de2048 bytesenla que estn incluidos losregistrosdefuncinespecial.Almacenadatosdeformatemporaldurantelaejecucin delprogramaPuedeserescrita/ledaentiempodeejecucinmediantediversas instrucciones. MemoriaEEPROMdedatos:memorianovoltilde256bytes.Almacenadatosquese debenconservaraunenausenciadetensindealimentacinPuedeserescrita/ledaen tiempo de ejecucin a travs de registros. Pila: bloque de 31 palabras de 21 bits. Almacena la direccin de la instruccin que debe ser ejecutada despus de una interrupcin o subrutina. Memoriadeconfiguracin:memoriaenlaqueseincluyenlosbitsdeconfiguracin(12 bytesdememoriaflash)ylosregistrosdeidentificacin(2bytesdememoriadesolo lectura).Setratadeunbloquedememoriasituadoapartirdelaposicin30000Hde memoriadeprograma(msalldelazonadememoriadeprogramadeusuario).Enesta memoria de configuracin se incluyen: Bits de configuracin: contenidos en 12 bytes de memoria flash permiten la configuracin de algunas opciones del uC como: -Opciones del oscilador.-Opciones de reset.-Opciones del watchdog. -Opciones de la circuiteria de depuracin y programacin. -Opciones de proteccin contra escritura de memoria de programa y memoria EEPROM de datos. EstosbitsseconfigurangeneralmentedurantelaprogramacindeluC,aunquetambin puedenserledosymodificadosdurantelaejecucindelprograma. Registros de identificacin: se trata de dos registros situados en las direcciones 3FFFFEH y 3FFFFFHquecontieneninformacindelmodeloyrevisindeldispositivo.Sonregistros de solo lectura y no pueden ser modificados por el usuario. Sensor SFR05 Se trata de un medidor de distancias de bajo costo por ultrasonidos. La deteccin del objeto seconsiguemidiendoeltiempoquetardaenrebotarunhazdeultrasonidossobrela superficiedeunobjeto.Internamenteestconstituidoporunmicrocontroladorydos cpsulas ultrasnicas de 40khz. Una para el disparo y otra para recibir el eco. Caractersticas del sensor: -Rango de medida: Entre 1.7 y 400cm. -Tensin de alimentacin: 5v -Frecuencia: 40Khz. -Duracin mnima del pulso de disparo: 10us -Duracin del pulso de eco: 100-25000us -Tiempo de espera entre medidas: 20ms -Dos modos de funcionamiento: Modo1: Compatibilidad con el SRF04 (4 hilos). Modo2: Modo a tres hilos. Modo de conexin 1 (compatible con SFR04) Fig.3. SFR05 en modo 1 Con esta conexin el sensor se comporta como un SRF04 usando una lnea de salida de Eco y otra para la entrada de Disparo. Procedimiento en modo 1: -Configurar el pin de Eco (entrada) y el de Disparo (salida). -Aplicar un pulso de, mnimo 10us, al pin de Disparo. -El mdulo transmite un tren de pulsos de 8 ciclos a 40KHz. -Esperar a que el pin de salida de Eco pase a nivel 1. -Inicializar a cero y poner en marcha el Temporizador. -Cuando la cpsula receptora recibe la seal rebotada en un objeto -la salida de Eco pasa de nuevo a nivel 0. -Medir la duracin del pulso de esta seal, es decir, el tiempo en -que la seal eco se mantiene a 1. -Calcular el valor de la distancia en funcin del tiempo registrado. Modo de conexin 2 Fig.4. SFR05 en modo 2 Con esta conexin el sensor utiliza una nica lnea del pic para el Eco y el Disparo. Procedimiento en modo 2: -Configurar el pin de Eco/Disparo como salida. -Aplicar un pulso de, mnimo 10us, al pin Eco/Disparo. -Configurar el pin de Eco/Disparo como entrada. -El mdulo transmite un tren de pulsos de 8 ciclos a 40KHz. -Esperar a que el pin de Eco/Disparo pase a nivel 1. -Inicializar a cero y poner en marcha el Temporizador. -Cuando la cpsula receptora recibe la seal rebotada en un objeto -el pin de Eco/Disparo pasa de nuevo a nivel 0. -Medir la duracin del pulso de esta seal, es decir, el tiempo en -que el pin Eco/Disparo se mantiene a 1. -Calcular el valor de la distancia en funcin del tiempo registrado. Para calcular la distancia leda por el sensor, se siguen los siguientes pasos: Deber suministrar un breve pulso de al menos 10uS para disparar la entrada de comienzo delclculodedistancia.ElSRF05transmitirunarfagade8ciclosdeultrasonidosa 40khz elevando el nivel lgico de la seal del eco (o la lnea de activacin en el modo 2). Entonces el sensor "escucha" un eco,y en cuanto lo detecta, vuelve a bajar el nivel lgico de la lnea de eco. La lnea de eco es por lo tanto un pulso, cuyo ancho es proporcional a la distanciarespectoalobjeto.Registrandoladuracindelpulsoesposiblecalcularla distancia en pulgadas/centmetros o en cualquier otra unidad de medida. Si no se detectase nada, entonces el SRF05 baja el nivel lgico de su lnea de eco despus de 30mS. El SRF05 proporciona un pulso de eco proporcional a la distancia. Si el ancho del pulso se mide en uS, el resultado se debe dividir entre 58 para saber el equivalente en centmetros, y entre 148 para saber el equivalente en pulgadas. uS/58=cm o uS/148=pulgadas. El SRF05 puede activarse cada 50mS, o 20 veces por segundo. Debera esperar 50ms antes de la siguiente activacin, incluso si el SRF05 detecta un objeto cerca y el pulso del eco es mscorto.Deestamaneraseaseguraqueel"bip"ultrasnicohadesaparecido completamente y no provocar un falso eco en la siguiente medicin de distancia. DESARROLLO: 1.-InvestigarcomosecomunicaelPICalaPCmedianteUSB,verlostiposde comunicacinqueexistenparaUSB,verificarcomoseconfiguraelPICparasubuen funcionamientoconlaPCyrealizarelcdigoparaestablecerunabuenacomunicacin entre PIC y PC. 2.- Una vez entendido el funcionamiento de la comunicacin USB,realizar el circuito para la comunicacin USB. 3.-CargarelprogramarealizadoalPICyverificarquelaplacadelcircuitorealizado funcione correctamente al conectarla a la PC; para esto al momento de conectar la tarjeta a la PC se necesitara instalar el driver necesario para que esta ser reconocida. 4.- Ahora que ya se estableci la comunicacin entre el PIC y la PC, se conectara el sensor y se diseara la parte de cdigo para el buen funcionamiento de este. 5.-Establecerloslmitesdedistanciaparaqueseactivenlasdosalarmasqueestar activando el programa (LEDs y BUZZER) RESULTADOS: Simulacion: Primero que nada para saber la manera en que se desarrollara el circuito de comunicacin USB se realizo una simulacin en proteus tal como se muestra en la Fig. 5: Fig.5. Diagrama en Proteus Diseo del circuito en PCB wizard Unavezquesetuvolaideadecmorealizarelcircuitosehizoeldiseodelcircuito usando el PCB wizard. Fig. 6.- Diseo del circuito En la fig, 6 se observa que solo se conecto el PIC, un cristal de 4 MHz, dos capacitores de 22nf, un capacitor de 100 nf, un capacitor de 470 uf, el conector USB, un led que sirve para indicarlacomunicacinentrelaPCyelPIC,yseaadieron40conectoresparapoder utilizar la placa de forma universal, es decir para poder conectar ms cosas no solamente lo que se ocupara en este proyecto. Codigo: El programa implementado para este proyecto es el siguiente: #include #include //#DEVICE ADC=10 #fuses HSPLL,NOWDT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL1,CPUDIV1,VREGEN,,NOPBADEN #use delay(clock=48000000) #use standard_io(a)//Optimizamos E/S del PORTA #use standard_io(b)//Optimizamos E/S del PORTB #use standard_io(c)//Optimizamos E/S del PORTC #use standard_io(d)//Optimizamos E/S del PORTD #use standard_io(e)//Optimizamos E/S del PORTE #defineUSB_HID_DEVICEFALSE// deshabilitamos el uso de las directivas HID #defineUSB_EP1_TX_ENABLE USB_ENABLE_BULK//turnon EP1(EndPoint1) for IN bulk/interrupt transfers #defineUSB_EP1_RX_ENABLE USB_ENABLE_BULK//turnon EP1(EndPoint1) for OUT bulk/interrupt transfers #define USB_EP1_TX_SIZE 16 // size to allocate for the tx endpoint 1 buffer #define USB_EP1_RX_SIZE 16 // size to allocate for the rx endpoint 1 buffer #include // Microchip PIC18Fxx5x Hardware layer for CCS's PIC USB driver #include // Configuracin del USB y los descriptores para este dispositivo #include//handlesusbsetuptokensand get descriptor reports #define RecCommand recbuf[0] #define Disparo PIN_B0 #define S_eco PIN_B1 #define OH output_high #define OL output_low #define Enable_System PIN_E2 #include float distancia(void); int sensor(void); char dan[9]; float dist_cm=0; float limit_sup; float limit_inf; const int8 Lenbuf = 32; int8 recbuf[Lenbuf]; void main(void){ usb_init(); usb_task(); usb_wait_for_enumeration(); setup_adc_ports(NO_ANALOGS); setup_timer_1(T1_INTERNAL|T1_DIV_BY_8); setup_comparator(NC_NC_NC_NC); setup_vref(FALSE);

//setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1); //setup_timer_2(T2_DISABLED,0,1); //enable_interrupts(global);

setup_oscillator(OSC_4MHZ|OSC_NORMAL|OSC_31250|OSC_PLL_OFF); lcd_init(); printf(lcd_putc,"\fSensor SRF05\nInstrumentacion digital"); delay_ms(1000); printf(lcd_putc,"\fMaestria ing.\nElectrica"); delay_ms(1000); printf(lcd_putc,"\fDaniel\nPerez Prado"); delay_ms(1000); printf(lcd_putc,"\f Alarma"); delay_ms(1000); //lcd_init(); while (TRUE) { if(usb_enumerated()){ OH(Enable_System); delay_ms(100); if (usb_kbhit(1)){ usb_get_packet(1, recbuf, Lenbuf); if(RecCommand==98){dist_cm=distancia(); sprintf(dan,"%f",(float)dist_cm);//esta instruccion nos permite convertirel valor del adc en un string. dan[4] = '\0';

usb_put_packet(1,dan,4,USB_DTS_TOGGLE);//conestainstruccionmandamoselarrgloquese creo en la instruccion anterior } if(RecCommand==116){ limit_sup=100.0; limit_inf=80.0; } if(RecCommand==117){ limit_sup=50.0; limit_inf=35.0; } if(RecCommand==118){ limit_sup=20.0; limit_inf=10.0; } if(RecCommand==100){ //while(TRUE){ sensor(); //} } } } } } int sensor(void) { lcd_init(); printf(lcd_putc,"\fSensor SRF05\nInstrumentacion digital"); delay_ms(1500); while(true) { dist_cm=distancia(); if(dist_cm==0) printf(LCD_Putc,"\fObjeto no \n Detectado"); else printf(LCD_Putc,"\fDistancia\n%3.2f cm",dist_cm); delay_ms(500); if(dist_cm