• No se han encontrado resultados

CAPÍTULO 6. Resultados y aportaciones

6.3 Recomendaciones

El sistema de control necesita tener una sintonización más fina para poder reducir el tiempo de ajuste al valor de referencia. Así como se debe se acortar el rango del sistema de control para poder aplicarlo en la parte lineal de operación de la lámpara mixta.

En el caso del transductor se opta por cambiar a una fotocelda .Para observar el comportamiento del sistema ya que la fotocelda es un transductor más lineal.

Es adecuado observar el comportamiento si en vez de ocupar cinco funciones de membresía se ocupen más. Para así poder observar si el sistema de control es más eficiente.

En la aplicación de lámparas LED .Se debe de considerar qué su regulación se basa en la variación de corriente, por lo que se debe de hacer una modificación al sistema de control .Para que regule a base de la variación en corriente eléctrica.

Como se observo en la figura 6.2 del capítulo 6.El control actuó y apago en su totalidad las lámparas, pero no pudo llegar al nivel de iluminación de la referencia. Una de las alternativas por las que puede optar es la aplicación de persianas automáticas. Para controlar la iluminación exterior y así mantener siempre el nivel de iluminación en la referencia del sistema de control.

Referencias

[1] Carlos Jiménez. “Manual de luminotecnia”. Editorial Ceac. Barcelona 1998. [2]Adolf Senner.”Principios de electrotecnia”. Editorial Reverté. Barcelona 1994. [3] Jorge Chapa Carreón.”Manual de instalaciones de alumbrado y fotometría”. LImusa.2004.

[4]Manual de luminotecnia indal. “17456327 Lighting Handbook INDAL guide español”. 2002.

[5]Norman S. Nse. “Sistemas de control para ingeniería” .Tercera edición. Editorial Grupo editorial patria. México 2002.

[6] Alfred Roca Cusido. “Control de procesos”. Segunda edición. Editorial Alfa omega. México 2003.

[7]Steve Marsh,Yee Wei Huang ,Jim Sibigtroth.”Fuzzy Logic Program 2.0” .Motorola USA 1994.

[8] Freescale Semiconductor, Inc. “Reference Manual S12CPUV2”. 2006.

[9] Freescale Semiconductor, Inc. “MC9S12C Family, MC9S12GC Family Data Sheet”. 2006.

[10]Driakov Dimiter,Hellendoorn Hans,Reinfrank Michael “.An introduction to fuzzy control”.Springer-Verlag,Berlin Heidelberg. USA 1993.

[11] Escareño Gómez Manuel Antonio, Trujillo Soriano José Reyes. “Control de iluminación con lógica difusa para ahorro de energía con plc’s”. Tesis para obtener el grado de Ingeniero Electricista. México, Zacatecas.2009.

[12] Sinhue Lopez Vite. “Simulación de reguladores difusos de velocidad para motores de C.D con excitación separada.”. Tesis para obtener el grado de Ingeniero Electricista. México, D.F. 2008

[13] Jiménez Madrigal René. “Diseño de un controlador lógico difuso, aplicado al control de posición de un servomotor de CD, usando un algoritmo genético”. Tesis para obtener el grado de Maestro en Ciencias. México, Veracruz. 2007.

[14] Herrera Espinosa Javier. “Implementación en un DSP de un regulador de velocidad difuso tipo Takagi-Sugeno para un arreglo de motor de corriente directa- alternador”. Tesis para obtener el grado de Maestro en ciencias. México D.F.2003 [15]www.osram.com.ar/osram_ar/Productos_Profesional/Iluminacion_general/Lampa ras_de_descarga/hql_hwl.pdf [16] http://catalog.myosram.com [17] www.csiss.org/classics/content/68 [18]http://www.racom.com.mx/rac1/productos/descargas/1090A000001001_MT.pdf [19]http://es.testwall.com/products/product.6394.0.0.TektronixTDS1001B .html

APÉNDICE A. Curvas de la lámpara mixta

Se presentan algunas figuras como lo son la curva fotométrica, la distribución espectral, características de arranque, fotométricas y de servicio. Así como las curvas de depreciación de flujo y mortalidad

Figura A.1 Distribución espectral.

Figura A.2 Características fotométricas.

Figura A.4 Características en servicio.

Figura A.5. Curva de depreciación de flujo.

APÉNDICE B. Equipo de medición [19]

La obtención de las curvas se realizaron mediante el osciloscopio tektronik TDS1001b, sus características son las siguientes:

Figura B.1. Osciloscopio tektronik TDS1001b. Ancho de Banda de 40 MHz

Velocidad de Muestreo de hasta 2 GS/s en Tiempo Real 2 Canales

Pantalla LCD Monocromática

Almacenamiento removible por medio de un puerto USB en el panel frontal Conectividad transparente a la PC usando un puerto USB para dispositivos con el software incluido OpenChoice y NI SignalExpress PC Software

Disparos avanzados incluyendo disparo por ancho de pulsos y de video con selección de línea

Funcionalidad FFT estandard en todos los modelos 11 Mediciones Automáticas

Interface de Usuario Multi- Idioma con ayuda sensible al Contexto

Impresión directa a todas las impresoras compatibles con PictBridge vía Puerto USB para dispositivos

APÉNDICE C. Programa en código ensamblador de la tesis C.1 PROGRAMA

INSTITUTO POLITECNICO NACIONAL

ESCUELA SUPERIOR DE INGENIERIA MECANICA Y ELECTRICA UNIDAD ZACATENCO

DEPARTAMENTO DE INGENIERIA ELECTRICA

IMPLEMENTACION DE UN CONTROL INTELIGENTE PARA LA REGULACION INTENSIDAD LUMINOSA EN UNA LAMPARA

PROGRAMA REALIZADO POR: -CIPRES SIGUENZA ROBERTO -LOZADA RUIZ HECTOR ALONSO -MEJIA BANDA CESAR ALEJANDRO ASESORES:

-M.en C.JAVIER HERRERA ESPINOZA -M.en C.MANUEL GARCIA LOPEZ

PROGRAMA EN PLATAFORMA Freescale CodeWarrior PARA HCS12 EN LENGUAJE ENSAMBLADOR (ASSEMBLY

;********************************************************************************************************* XDEF Entry ABSENTRY Entry INCLUDE 'MC9S12GC32.inc' ROMStart EQU $4000 ;***************************************************************** ;***** SECCIÓN DE VARIABLES/DATOS ***** ;***************************************************************** ifdef _HCS12_SERIALMON

ORG $3FFF - (RAMEnd - RAMStart) else

ORG RAMStart endif

;***************************************************************** REF EQU $3800;LOCALIDAD DE REFERENCIA TEMPORAL EQU $3801

ERR_ANT EQU $3802; VARIABLE DEL VALOR DEL ERROR ANTERIOR ERR_ACT EQU $3803; VARIABLE DEL VALOR DEL ERROR ACTUAL NUMINP EQU $02 ;NUMERO 2

NUMOUT EQU $01 ;NUMERO 1 DATOS EQU $3EFF

MAX EQU $3804;RESTRICCION DEL LIMITE DE VALORES ORG $3805

FOT RMB NUMOUT; VARIABLE DEL VALOR DE ENTRADA ERR RMB NUMOUT;ACONDICIONADOR DE LA SEÑAL DE ERROR

VARERR RMB NUMOUT; ACONDICIONADOR DE LA VARIACION DEL ERROR COG_OUT RMB NUMOUT; RESULTADO FINAL

;*****************************************************************

;* RESERVACIÓN DE MEMORIA PARA LAS FUNCIONES DE ENTRADA Y SALIDA * ;*****************************************************************

FUZ_INS RMB 5*NUMINP; SELECCIONA 10 LOCALIDADES DE MEMORIA FUZ_OUT RMB 5*NUMOUT; 5 LOCALIDADES DE MEMORIA

;***************************************************************** ;***** BASE DE CONOCIMIENTO ***** ;***************************************************************** ;FP: FUNCION DE PERTENENCIA ;FS: FUNCION DE SALIDA INPUT_MFS: ;ERROR FCB $00,$43,$00,$04 ;FP PARA NG 00 FCB $03,$7C,$04,$05 ;FP PARA NP 01 FCB $49,$C2,$05,$04 ;FP PARA CE 02 FCB $82,$FB,$04,$05 ;FP PARA PP 03 FCB $C7,$FF,$05,$00 ;FP PARA PG 04 ;VAR ERROR FCB $00,$43,$00,$04 ;FP PARA NG 05 FCB $03,$7C,$04,$05 ;FP PARA NP 06 FCB $49,$C2,$05,$04 ;FP PARA CE 07 FCB $82,$FB,$04,$05 ;FP PARA PP 08 FCB $C7,$FF,$05,$00 ;FP PARA PG 09 SGLTN_POS: FCB $00;FS PARA NG 0A

FCB $46;FS PARA NP 0B FCB $7F;FS PARA CE 0C FCB $C0;FS PARA PP 0D FCB $FF;FS PARA PG 0E ;***************************************************************** ;***** REGLAS ***** ;***************************************************************** RULE_START: ;ERR,VARERR,SEP,CONS,FE FCB $00,$05,$FE,$0A,$FE ;(REGLA 01) FCB $00,$06,$FE,$0A,$FE ;(REGLA 02) FCB $00,$07,$FE,$0A,$FE ;(REGLA 03) FCB $00,$08,$FE,$0A,$FE ;(REGLA 04) FCB $00,$09,$FE,$0A,$FE ;(REGLA 05) FCB $01,$05,$FE,$0A,$FE ;(REGLA 06) FCB $01,$06,$FE,$0A,$FE ;(REGLA 07) FCB $01,$07,$FE,$0A,$FE ;(REGLA 08) FCB $01,$08,$FE,$0B,$FE ;(REGLA 09) FCB $01,$09,$FE,$0B,$FE ;(REGLA 10) FCB $02,$05,$FE,$0B,$FE ;(REGLA 11) FCB $02,$06,$FE,$0C,$FE ;(REGLA 12) FCB $02,$07,$FE,$0C,$FE ;(REGLA 13) FCB $02,$08,$FE,$0C,$FE ;(REGLA 14) FCB $02,$09,$FE,$0D,$FE ;(REGLA 15) FCB $03,$05,$FE,$0D,$FE ;(REGLA 16) FCB $03,$06,$FE,$0D,$FE ;(REGLA 17) FCB $03,$07,$FE,$0E,$FE ;(REGLA 18) FCB $03,$08,$FE,$0E,$FE ;(REGLA 19) FCB $03,$09,$FE,$0E,$FE ;(REGLA 20) FCB $04,$05,$FE,$0E,$FE ;(REGLA 21) FCB $04,$06,$FE,$0E,$FE ;(REGLA 22) FCB $04,$07,$FE,$0E,$FE ;(REGLA 23) FCB $04,$08,$FE,$0E,$FE ;(REGLA 24) FCB $04,$09,$FE,$0E ;(REGLA 25) END_OF_RULE: FCB $FF;fin de reglas

; code section

ORG ROMStart Entry:

; remap the RAM & EEPROM here. See EB386.pdf ifdef _HCS12_SERIALMON

; set registers at $0000

CLR $11 ; INITRG= $0 ; set ram to end at $3FFF LDAB #$39

STAB $10 ; INITRM= $39 ; set eeprom to end at $0FFF LDAA #$9

STAA $12 ; INITEE= $9

LDS #$3FFF+1;initialize the stack pointer else

LDS #RAMEnd+1; initialize the stack pointer endif

CLI ; enable interrupts

;***************************************************************** ;***** INICIO DEL PROGRAMA PRINCIPAL ***** ;***************************************************************** main:

LDAA #$00 ;CARGAR EL ACUMULUDOR "A" CON CEROS STAA FOT ;SE INICIALIZAN LAS VARIABLES CON EL VALOR DEL STAA REF ;ACUMULADOR "A" $00

STAA ERR STAA VARERR LDAA #$7F STAA ERR_ANT

LDAA #$FE ;CARGO CON EL VALOR FE EL ACUMULADOR A STAA MAX ;INICIA MAX CON EL VALOR DEL ACUMULADOR "A" JSR CONFPWM ;SALTA A SUBRUTINA DE CONFIGURACION DEL PWM JSR CONFADC ;SALTA A SUBRUTINA DE CONFIGURACION DEL ADC

LOOP: LDAB #$20;ATDDR0H ;LOCALIDAD DE MEMORIA PARA ALMACENAR EL VALOR STAB FOT ;DE LA POSICION ACTUAL

CALL LIM ;LLAMA FUNCION LIM PARA CONDICIONAMIENTO ;DEL VALOR DE ENTRADA

LDY #DATOS ;CARGA A Y EL VALOR DE DATOS

;*****************************************************************

;***** ACONDICIONAMIENTO DE LAS SEÑALES DE ERROR ***** ;*****************************************************************

BEQ IN_ERROR;SIY ES IGUAL A DATOS SALTA A FUNCION IN_ERROR STAB 0, Y ;LIMPIA Y

INY

STY TEMPORAL; CARGA TEMPORAL A Y

LDAB FOT ; CARGA EL VALOR DE ENTRADA a B FOT=>B IN_ERROR:

LDAA REF ; CARGA EL VALOR DE REFERENCIA a A REF=>A SBA ;RESTA B a A A-B=>A

BMI CONTRA ;SI EL RESULTADO ES NEGATIVO SALTA A CONTRA ADDA #$7F ;SUMA 7F a A 7F + A=>A

STAA ERR_ACT;EL ACUMULADOR A SE GUARDA COMO ERROR ACTUAL STAA ERR ;EL ACUMULADOR A SE GUARDA COMO ERROR

BRA VARE ;BRINCA A VARE

CONTRA: STAA ERR_ACT;EL ACUMULADOR A SE GUARDA COMO ERROR ACTUAL NEGA ;REALIZA UN COMPLEMENTO AL ACUMULADOR A A*=>A

TAB ;TRANSFIERE EL VALOR DE A a B A=>B LDAA #$7F ;CARGA EL ACUMULADOR A CON 7F SBA ;RESTA B a A A-B=>A

STAA ERR ;EL ACUMULADOR A SE GUARDA COMO ERROR ;*****************************************************************

;***** VARIACION DEL ERROR ***** ;*****************************************************************

VARE: LDAA ERR_ACT ;CARGA EL VALOR DEL ERROR ACTUAL EN A SUBA ERR_ANT ;RESTA EL ERROR ANTERIOR a A A-ERR_ANT=>A BMI CONTRA2 ;SI EL RESULTADO ES NEGATIVO SALTA A CONTRA2 ADDA #$7F ;SUMA 7F a A 7F + A=>A

STAA VARERR ;CARGA "A" A LA VARIABLE VARERR BRA ACTUAL ;SALTA SIEMPRE A ACTUAL

CONTRA2:

NEGA ;REALIZA UN COMPLEMENTO AL ACUMULADOR A A*=>A TAB ;TRANSFIERE EL VALOR DE A a B A=>B

LDAA #$7F ;CARGA EL ACUMULADOR A CON 7F SBA ;RESTA B a A A-B=>A

STAA VARERR ;CARGA "A" A LA VARIABLE VARERR

ACTUAL: MOVW ERR_ACT,ERR_ANT;MUEVE ERR_ACT =>ERR_ANT CLR ERR_ACT ;LIMPIA VARIABLE ERR_ACT

CALL CLD ;LLAMA A CLD

BRA LOOP ;BRINCA A CICLO INFINITO ;***************************************************************** ; CLD (CONTROLADOR LÓGICO DIFUSO)

;***************************************************************** CLD:

FUZZIFY:

LDX #INPUT_MFS;APUNTA A LAS DEFINICIONES DE FPS LDY #FUZ_INS;APUNTA A LAS ENTRADAS

LDAA ERR;CARGA LA PRIMERA ENTRADA DEL SISTEMA LDAB #5;CARGA EL NUMERO DE ETIQUETAS

GRAD_LOOP: MEM;EVALUA LA FP

DBNE B, GRAD_LOOP;FORMA UN LAZO PARA FUZZIFICAR LAS 5 ETIQUETAS LDAA VARERR;TRAE LA SEGUNDA ENTRADA DEL SISTEMA

LDAB #5;CARGA EL NUMERO DE ETIQUETAS GRAD_LOOP1: MEM;EVALUA LA FP

DBNE B, GRAD_LOOP1;FORMA UN LAZO PARA FUZZIFICAR LAS 5 ETIQUETAS LDAB #5;5 SALIDAS DIFUSAS

RULE_EVAL:

CLR 1,Y+;LIMPIA SALIDAS E INCREMENTA EL APUNTADOR

DBNE B, RULE_EVAL;FORMA UN LAZO PARA LIMPIAR LAS SALIDAS DIFUSAS

;ANTESDE COMENZARLA EVALUCION DE REGLAS LDX #RULE_START; APUNTA A LA PRIMERA REGLA

LDY #FUZ_INS;APUNTA A ENTRADAS Y SALIDAS DIFUSAS LDAA #$FF;INICIA A Y LIMPIA BIT V

REV;PROCESA LISTA DE REGLAS DEFUZ:

LDY #FUZ_OUT;APUNTA A SALIDAS DIFUSAS LDX #SGLTN_POS;APUNTA A FPS TIPO BARRA LDAB #5;5 SALIDAS DIFUSAS POR SALIDA REAL WAV;SUMATORIA PARA PROMEDIO PONDERADO EDIV;DIVIDE POR SUMA PONDERADA

TFR Y, D;;MUEVE RESULTADO A D

STAB COG_OUT;ALMACENA SALIDA DEL SISTEMA

STAB PWMDTY0;CARGA SALIDA AL PERIODO UTIL DEL PWM JSR DELAY;BRINCA A SUBRUTINA DELAY(RETRASO DE TIEMPO) RTC ;RETORNO DE LLAMADA

;*****************************************************************

;***** RETARDO NECESARIO EN LA CONVERSION ANALÓGICA/DIGITAL ***** ;*****************************************************************

RETAR:

LDAA #200 ; 200 LAZOS PARA TARDA:

NOP ; 800 CICLOS DE RELOJ DBNE A, TARDA

RTC

;***************************************************************** ;***** PULSE WIDTH MODULATOR ***** ;***************************************************************** CONFPWM:

LDAA #$FF

STAA MODRR;RELACIONADO CON PWM

MOVB #%00000001,PWME;INICIALIZA CANAL 0 DE PWM;PWM0 MOVB #$FF,PWMPER0;CARGA VALOR DEL PERIODO

MOVB #$80,PWMDTY0;INICIA MOVB #$01,PWMCLK

MOVB #%00000001,PWMPOL;ACTIVA LA POLARIDAD DEL CICLO ;ALTO:1

;BAJO:0

LDAA #$FF ;CARGA EL ACUMULADOR "A" EL VALOR FF STAA PWMDTY0 ;ASIGNA "A" AL PERIODO UTIL DEL PWM RTS ;RETORNO DE SUBRUTINA

;***************************************************************** ;***** CONVERTIDOR ANALOGICO DIGITAL ***** ;***************************************************************** CONFADC: LDAA #$00

STAA DDRT LDAA #$80

STAA ATDCTL2;ENCENDIDO DEL CONVERT SIN INTERRUPCIONES CALL RETAR

LDAA #$08

STAA ATDCTL3;HACE 1 CONVERSION LDAA #$80

STAA ATDCTL4;MODO A 8 BITS, 12 CICLOS POR CONVERSION LDAA #$30

STAA ATDCTL5; LDAB #$7F

STAB REF ;LOCALIDAD DE MEMORIA PARA ALMACENAR EL VALOR ;DE LA POSICION DE REFERENCIA

;O SETPOINTDE LA REFERENCIA RTS ;RETORNO DE SUBRUTINA

;***************************************************************** ;***** DELAY ***** ;***************************************************************** DELAY: LDX #$FFFF ;CARGA A X EL VALOR FFFF LPP: DEX ;DECREMENTA EN 1 EL VALOR DE X BNE LPP ;BRINCA A LPP SI NO ES CERO RTS ;RETORNO DE SUBRUTINA

;***************************************************************** ;***** LIMTANTE DE CTRL ***** ;***************************************************************** LIM: LDAA FOT ;METE a "A" EL VALOR DE ENTRADA FOT CMPA MAX ;COMPARA "A" CON EL VALOR DE MAX BHI MAN ;SI ES MAYOR QUE MAX BRINCA A MAN RTC ;RETORNO DE LLAMADA

MAN: LDAA #$FE ;CARGA ACUMULADOR "A" CON EL VALOR DE FE STAA FOT ;GUARDA ACUMULADOR "A" EN FOT

STAA MAX ;GUARDA ACUMULADOR "A" EN MAX RTC ;RETORNO DE LLAMADA ;************************************************************** ;* Interrupt Vectors * ;************************************************************** ORG $FFFE

Documento similar