NOTA TÉCNICA file save as namecerescontrols.com/wp-content/uploads/2013/06/01-NT1002... · Web...

17
NT1001 El control de una carga de corriente alterna no se realiza de manera parecida al control de una carga DC, si bien es cierto, el control es un poco más complejo, pues se necesita primeramente sensar el cruce por cero de la señal alterna para tener la referencia exacta de cuando empezar a controlar nuestra carga (foco, motor, bomba, etc.). Con una pequeña modificación, este circuito se puede utilizar para controlar motores AC; en este caso, se controla una carga resistiva (foco) la cual puede variarse la intensidad de luz que emita dependiendo del valor de variación del ADC. F.I.E., C.D.P., 2004 NT0001 Notas Técnicas de Uso y Aplicación CONTROL DEL ÁNGULO DE DISPARO – CARGA RESISTIVA Para Microcontroladores de la Familia HC08 Preparado por: Rangel Alvarado Estudiante Graduando de Lic. en Ing. Electromecánica Universidad Tecnológica de Panamá AA.1 Introducción ÍNDICE AA.1 Introducción A-1 AA.2 Materiales A-2 AA.3 Esquemático y Ondas de la Aplicación A-3 AA.4 Código A-5 AA.5 Conclusión A-10 AA.6 Referencias A-11

Transcript of NOTA TÉCNICA file save as namecerescontrols.com/wp-content/uploads/2013/06/01-NT1002... · Web...

Page 1: NOTA TÉCNICA file save as namecerescontrols.com/wp-content/uploads/2013/06/01-NT1002... · Web viewPara controlar una carga AC, se utiliza un Triac, que es un dispositivo específico

NT1001

El control de una carga de corriente alterna no se realiza de manera parecida al control de una carga DC, si bien es cierto, el control es un poco más complejo, pues se necesita primeramente sensar el cruce por cero de la señal alterna para tener la referencia exacta de cuando empezar a controlar nuestra carga (foco, motor, bomba, etc.).

Con una pequeña modificación, este circuito se puede utilizar para controlar motores AC; en este caso, se controla una carga resistiva (foco) la cual puede variarse la intensidad de luz que emita dependiendo del valor de variación del ADC.

Para controlar una carga AC, se utiliza un Triac, que es un dispositivo específico para corriente alterna.

Primeramente se tabulará una lista de los materiales a utilizar, seguido del esquemático con las ecuaciones de diseño del circuito más una breve explicación del software con su diagrama de flujo, se presentará una conclusión de las fallas y la referencia utilizada por si se requiere bibliografía referente al tema.

Advertencia: Trabaje este experimento con la supervisión de alguien con experiencia. El experimento posee algunas secciones de alto voltaje.

F.I.E., C.D.P., 2004 NT0001

Notas Técnicas de Uso y Aplicación

CONTROL DEL ÁNGULO DE DISPARO – CARGA RESISTIVAPara Microcontroladores de la Familia HC08

Preparado por: Rangel AlvaradoEstudiante Graduando de Lic. en Ing. ElectromecánicaUniversidad Tecnológica de PanamáPanamá, Panamá

AA.1 Introducción

ÍNDICEAA.1 Introducción A-1AA.2 Materiales A-2AA.3 Esquemático y Ondas de la Aplicación A-3AA.4 Código A-5AA.5 Conclusión A-10AA.6 Referencias A-11

Page 2: NOTA TÉCNICA file save as namecerescontrols.com/wp-content/uploads/2013/06/01-NT1002... · Web viewPara controlar una carga AC, se utiliza un Triac, que es un dispositivo específico

Nota Técnica

1. Transformador de 117/6 con derivación central2. Diodos: 2 1n41483. Resistores: 2 5.1k; 1 6.8k; 1 180; 1 470; todos de ¼ de Watt4. Transistores: 2 2n22225. Tarjeta de Desarrollo TD68HC908JL3 o similar6. Optoacoplador: 1 MOC30107. Triac: 1 2n60738. Lámpara incandescente9. Plantilla de proyectos: Breadboard JE27, Jameco Part No: 2081110. Fuente de Poder11. Alambres AWG 2012. Pelador de Alambres

(1) (2) (3) (4)

(5) (6) (7) (8)

(9) (10) (11) (12)

Figura AA.1. Materiales a utilizar en el detector de cruce cero.

NT1001

Rev. 1 del 22.05.04 AA-2

AA.2 Materiales

Page 3: NOTA TÉCNICA file save as namecerescontrols.com/wp-content/uploads/2013/06/01-NT1002... · Web viewPara controlar una carga AC, se utiliza un Triac, que es un dispositivo específico

120V~ 60Hz

CT-XFMR Rectif ier

1208.22

8.22C3

0.1uFS1

C222uF

C122uF

XTAL14.9152MHZ

D4DIODE

D3DIODE

R1110M

R1010k 40%

R13470

R12180

L1

+V

V85V

MOC3010

Q8TRIAC

AC

AC

IRQVss

OSC1OSC2

VddPB7PB6PB5PD7PD6PB4

PB3PB2PB1PB0PD3PD2PD5PD4RST

U4MC68HC908JK3

Q22N2222A

Q12N2222A

60 Hz

V1-170/170V 10TO1CT

+V

R3

5.1k

R25.1k

R66.8k

R3 = (2Vs/ - 3V)/Ibase

R3 = 5.3k o menor

R6 = (2Vs/ - V)/Id

R6 = 7.4k o menorG

MT2

MT1

AA.3.1 EsquemáticoNota: Advertencia, este circuito posee partes de alto voltaje, trabaje bajo la supervisión de alguien con experiencia.

V = 0.7 @ Id = 1mA (ver data del fabricante). Vs = Vrms 2; Ibase asumida a 1mA.

(a) Cruce Cero Optoacoplador

Arreglo Pin 28 Pin 1 Darlington

(-)CuidadoAlto Voltaje

Cuidado, Alto voltaje

(-)

Resistencia de carga

Rectificador de Onda Completa Reset del microcontrolador Circuito de Oscilador de Cristal

Figura AA.2. Esquemático de Control de Carga Resistiva. (a) Detector de Cruce por cero. La señal de cruce cero es un pulso menor al milisegundo, ver figura AA.3(a). (b) Interfase entre Control y Potencia. Se utiliza el optoacoplador y el triac para controlar una lámpara incandescente, ver onda en la figura AA.3(c). Con una pequeña modificación se puede tener control de una carga inductiva.

F.I.E., C.D.P., 2004 NT0001

AA.3 Esquemático y Ondas de la Aplicación

Page 4: NOTA TÉCNICA file save as namecerescontrols.com/wp-content/uploads/2013/06/01-NT1002... · Web viewPara controlar una carga AC, se utiliza un Triac, que es un dispositivo específico

Figura AA.3. Formas de Onda de la Aplicación. (a) Detección de Cruce por Cero. El pulso por cero avisa cuando se debe empezar a controlar la onda de voltaje. (b) Pulso de Activación del Triac. Luego de que el triac es activado, se mantiene hasta que su corriente (I HO) o su voltaje (VGT) disminuyan de un valor mínimo. (c) Disparo del triac (10%). El tiempo de retardo es el tiempo en que el triac permanece inactivo. El tiempo de disparo es el tiempo total de encendido del triac. (d) Disparo del triac (50%). Se varía el ancho de pulso con el triac a 50% de disparo. (e) Disparo del triac (90%). Control del triac variando otro ángulo de disparo.

Nota Técnica

AA.3.2 Forma de Ondas

Onda CompletaPulso de Activación del Tríac Tiempo Tiempo

de de Retardo Disparo

Pulso de Cruce cero 10% de disparo

(a) (b) (c)

50% de Disparo 90% de Disparo

(d) (e)

Rev. 1 del 22.05.04 AA-4

Page 5: NOTA TÉCNICA file save as namecerescontrols.com/wp-content/uploads/2013/06/01-NT1002... · Web viewPara controlar una carga AC, se utiliza un Triac, que es un dispositivo específico

;================================================================;; FILE : NT1002 - Control de Carga Resistiva - 23 05 04.asm; PURPOSE : Controlar el ángulo de disparo de una carga resistiva; realizando un Dimmer de lámpara incandescente;; LANGUAGE : IN-LINE ASSEMBLER; ----------------------------------------------------------------------------; HISTORY; DD MM YY; 05 03 04 Created.; 23 05 04 Last Modification.;================================================================;

;=============================================;; Igualdades Numéricas, números de bits y configuración de ;; registros ;;=============================================;COPD equ 0T ; Bit 0 del registro CONFIG1NULL equ 0T ; Valor vacíoBIT4 equ 4T ; TSC, Bit de Reinicio del temporizadorBIT5 equ 5T ; TSC, Bit de Inicio de Conteo, Bit 5 ONBIT6 equ 6T ; TSC, Bit de Habilitación de interrupciónBIT7 equ 7T ; Bit 7 del registro del Puerto DCH0IE equ $40 ; TSC0, Habilita Interrupciones, Bit 6 ONCH1IE equ $40 ; TSC0, Habilita Interrupciones, Bit 6 ONELS0B equ $08 ; TSC0, Detector de Borde de Bajada, Bit 3 ONELS0A equ $04 ; TSC0, Detector de Borde de subida, Bit 2 ONELS1A equ $04 ; TSC0, Detector de Borde de subida, Bit 2 ONMS1A equ $10 ; Bandera de modo de selección, canal 1 del TIMTRST equ %00010000 ; TSC, Bit de Reinicio de conteo, Bit 4 ONTSTOP equ %00100000 ; TSC, Bit de Pausa de conteo, Bit 5 ONCH2 equ %00000100 ; ADSCR, Bit de Canal 0, Bit 2 ONCH1 equ %00000010 ; ADSCR, Bit de Canal 0, Bit 1 ONCH0 equ %00000001 ; ADSCR, Bit de Canal 0, Bit 0 ONADC7 equ CH2|CH1|CH0 ; ADSCR, PTB7 = ADCADIV1 equ %01000000 ; ADIV1, Bit 6 ONADCO equ %00100000 ; ADSCR, Bit de Conversión Continua, Bit 5 ONCOCO equ 7T ; Bit de Conversión completaSTEP equ $27 ; Incrementos del ADRRAM_ORIGIN equ $0080 ; Inicio de la memoria RAMRAM_USED equ $00FE ; Fin de limpieza de la RAMRAM_START equ RAM_ORIGIN ; Inicio de la Memoria RAM

;=============================================;; I/O Registers ;;=============================================;PORTD equ $0003 ; Registro del Puerto DDDRD equ $0007 ; Registro de Direccionamiento del Puerto DCONFIG1 equ $001F ; Vectores de configuración

;=============================================;; TIM Registers ;;=============================================;TSC equ $0020 ; Dirección, registro de estado y control del TIM

F.I.E., C.D.P., 2004 NT0001

AA.4 Código

Page 6: NOTA TÉCNICA file save as namecerescontrols.com/wp-content/uploads/2013/06/01-NT1002... · Web viewPara controlar una carga AC, se utiliza un Triac, que es un dispositivo específico

Nota TécnicaTCNTH equ $0021 ; TCNT, Registro almacenador de cuenta del

; módulo, registro alto.TCNTL equ $0022 ; TCNT, Registro almacenador de cuenta del módulo,

; registro bajo.TMODH equ $0023 ; TMODH, Registro de cuenta del módulo, registro

; alto.TMODL equ $0024 ; TMODL, Registro de cuenta del módulo, registro

; bajo.TSC0 equ $0025 ; Dirección, registro de estado y control del canal 0 del

; TIMTCH0H equ $0026 ; Dirección alta, registro del Canal 0 del TIMTCH0L equ $0027 ; Dirección baja, registro del Canal 0 del TIMTSC1 equ $0028 ; Dirección, registro de estado y control del canal 1 del

; TIMTCH1H equ $0029 ; Dirección alta, registro del Canal 1 del TIMTCH1L equ $002A ; Dirección baja, registro del Canal 1 del TIM

;=============================================;; ADC Registers ;;=============================================;ADSCR equ $003C ; Dirección, registro de estado y control del

; ADCADR equ $003D ; Registro de Datos del ADCADICLK equ $003E ; Registro de Reloj de Entrada del ADC

;=============================================;; Flash Memory ;;=============================================;FLASH_START equ $EC00 ; Puntero - Mem.FLASH

;=============================================;; Vectores de Usuario ;;=============================================;TIMOFH equ $FFF2 ; Sobreflujo del TIM (Alto)TIMCH1H equ $FFF4 ; Sobreflujo del TIM (Alto)TIMCH0H equ $FFF6 ; TIM Canal 0 (Alto)RESET_VEC equ $FFFE ; Puntero del RESET

;=============================================;; OBJETIVO: Almacena variable de Conteo de pulsos ;;=============================================; org RAM_STARTCOUNTER equ $80 ; Contador de pulsos cero

;=============================================;; OBJETIVO: Inicio de Codif. del Ensamblador en Memoria ;; FLASH. ;;=============================================; org FLASH_START ; Inicio Mem. FLASH

;=============================================;; OBJETIVO: Configura los módulos del micro para utilizar ;; captura de flancos, variar el ancho de pulso y el ADC ; ;=============================================;

NT1001

Rev. 1 del 22.05.04 AA-6

Page 7: NOTA TÉCNICA file save as namecerescontrols.com/wp-content/uploads/2013/06/01-NT1002... · Web viewPara controlar una carga AC, se utiliza un Triac, que es un dispositivo específico

Nota Técnica Sistemas Numéricos

START rsp ; Inic.Stack = $00ff bset COPD,CONFIG1 ; Desactiva watchdog jsr CLEAR_GLOBAL ; Borra los registros al ; simulador no le simpatizan ; registros no inicializados. jsr INIT_PORTS ; Subr,Inic. PUERTO jsr INIT_ADC ; Inicializa ADC jsr INIT_TIM ; Inicializa TIM cli ; Habilita Interrupciones bclr BIT5,TSC ; Inicia la cuenta del temporizadorESPERA wait bra ESPERA ; Salta al modo de bajo consumo

;=============================================;; CLEAR_GLOBAL: Borra la Ram utilizada y registros ;; inherentes ;; OBJETIVO: Borra registros ;; ENTRADA: RAM_ORIGIN, RAM_USED ;; SALIDA: A, H:X y RAM en 0 ;; REGISTROS AFECTADOS: RAM, H:X, A ;; SECCIONES UTILIZADAS: Ninguna ;; EJEMPLO: ;; Entrada RAM_ORIGIN = 0080, RAM_USED = 0090 ;; X = 7 ;; Salida: 0080 @ 0087 = 0 ;;=============================================;CLEAR_GLOBAL ; Borra registros a usar ldx #RAM_ORIGIN ; Carga con el origenFILL_EMPTY clr ,x ; rellena con "0" la posición actual incx ; incrementa puntero de RAM cphx #RAM_USED ; Compara hasta el final deseado bne FILL_EMPTY ; Si no concuerda entonces sigue limpiando clra ; Borra A clrh ; Borra H clrx ; Borra X rts ; retorna

;=============================================;; INIT_PORTS: Inicializa variables y registros. ;; OBJETIVO: Inicializa el pin de activación del ;; optoacoplador en alto. ;; PORTD7 = OUTPUT ;; ENTRADA: Ninguna ;; SALIDA: Ninguna ;; REGISTROS AFECTADOS: DDRD, PORTD ;;=============================================;INIT_PORTS mov #NULL,PORTD ; El puerto D es inicializado a bajo ; y configurado por defecto como entrada bset BIT7,PORTD ; Pulso en alto bset BIT7,DDRD ; Fija PD7 = Salida

NT1001

Rev. 1 del 22.05.04AA-7

Page 8: NOTA TÉCNICA file save as namecerescontrols.com/wp-content/uploads/2013/06/01-NT1002... · Web viewPara controlar una carga AC, se utiliza un Triac, que es un dispositivo específico

Nota Técnica rts ; retorna

;=============================================;; INIT_ADC: Inicializa el ADC ;; OBJETIVO: Conversión Continua e Interrupciones ;; ADC utilizado para variar el disparo. ;; ENTRADA: Ninguna ;; SALIDA: Ninguna ;; REGISTROS AFECTADOS: ADSCR, ADICLK ;;=============================================;INIT_ADC mov #ADIV1,ADICLK ; Reloj del ADC = XTAL/2^ADIV1 mov #{ADCO|ADC7},ADSCR ; Conversión Contínua en PTB5 brclr COCO,ADSCR,* ; Espera la primera conversión rts ; retorna

;=============================================;; INIT_TIM: Inicializa el TIM ;; OBJETIVO: Inicialización del temporizador en modo de ;; captura de flancos. ;; ENTRADA: Ninguna ;; SALIDA: Ninguna ;; REGISTROS AFECTADOS: TSC, TMODH, TMODL ;;=============================================;INIT_TIM mov #{TRST|TSTOP},TSC ; Interrupciones habilitadas, temporizador ; detenido y reiniciado ldhx #NULL ; Carga con cero (0) sthx TCH0H ; Inicializa el registro con cero (0) sthx TCH1H ; Inicializa el registro con cero (0) mov #{CH0IE|ELS0A},TSC0 ; Detecta el flanco de subida rts ; retorna

;=============================================;; POT_PWM: Varía el ancho con el pot. ;; OBJETIVO: Incrementa en anchos de pulso ;; razonables de 1 a 99% ;; ENTRADA: Ninguna ;; SALIDA: Ninguna ;; REGISTROS AFECTADOS: RAM, ADR, TCH0[H:L] ;;=============================================;POT_PWM lda ADR ; de lo contrario, leo el registro ldx #STEP ; X es el valor incremental mul ; Multiplica A*X stx TCH1H ; Almacena los resultados en TCH0H sta TCH1L ; y TCH0LTIMOUT rts ; retorna

;=============================================;; TIMCH0L: Interrupción del TIM - CH0 ;; OBJETIVO: Envía la señal de disparo al ;; optoacoplador para disparar ;; el triac. ;

NT1001

Rev. 1 del 22.05.04 AA-8

Page 9: NOTA TÉCNICA file save as namecerescontrols.com/wp-content/uploads/2013/06/01-NT1002... · Web viewPara controlar una carga AC, se utiliza un Triac, que es un dispositivo específico

Nota Técnica Sistemas Numéricos

; ENTRADA: Ninguna ;; SALIDA: Ninguna ;; REGISTROS AFECTADOS: TSC1, PORTD ;;=============================================;TIMCH1L bclr BIT7,TSC1 ; Reconoce la interrupción bclr BIT7,PORTD ; Pulso de activación del LED nop ; No hago nada nop ; Espero a que se estabilice el nop ; LED del optoacoplador nop ; para encender el triac bset BIT7,PORTD ; Desactivo el pulso de activación rti ; retorno

;=============================================;; TIMCH0L: Interrupción del TIM - CH0 ;; OBJETIVO: Inicializa el TIM para ;; ENTRADA: Ninguna ;; SALIDA: Ninguna ;; REGISTROS AFECTADOS: TSC, TSC0 ;;=============================================;TIMCH0L bset BIT4,TSC ; Reinicia TIM lda COUNTER ; A = variable de conteo

; NO CUENTA MÁS, INICIALIZACIÓN COMPLETA cmp #3 ; Es 3? beq OUTTIM ; SI, sal de la interrupción ; HABILITA INTERRUPCIÓN DEL CANAL ; PARA DISPARAR LA LÁMPARA cmp #2 ; Es 2? bne SECTION1 ; NO, ve a la sección 1 mov #{CH1IE|MS1A|ELS1A},TSC1 ; Interrupción y OC habilitados bset BIT6,TSC ; Habilita interrupción del canal jsr POT_PWM ; Valor inicial del pot visualizado en el foco inc COUNTER ; Incrementa variable bra OUTTIM ; Sal de la interrupción ; ALMACENA EL PERIODO DE DISPAROSECTION1 cmp #1 ; Es 1? bne SECTION0 ; NO, ve a la sección 0 ldhx TCH0H ; Almaceno TCH0H sthx TMODH ; como mi periodo repetitivo de disparo inc COUNTER ; Incrementa variable bra OUTTIM ; sal de la interrupción ; CONTEO REINICIADO, ACTUALIZA VARIABLESECTION0 cmp #0 ; Es 0? bne OUTTIM ; NO, sal de la interrupción inc COUNTER ; Incrementa conteoOUTTIM bclr BIT7,TSC0 ; Reconoce la interrupción (CH0F = 0) rti ; retorna

NT1001

Rev. 1 del 22.05.04AA-9

Page 10: NOTA TÉCNICA file save as namecerescontrols.com/wp-content/uploads/2013/06/01-NT1002... · Web viewPara controlar una carga AC, se utiliza un Triac, que es un dispositivo específico

Nota Técnica

;=============================================;; TIMOFL: Interrupción del TIM ;; OBJETIVO: Revisar el valor del Pot para ;; ENTRADA: Ninguna ;; SALIDA: Ninguna ;; REGISTROS AFECTADOS: TSC ;;=============================================;TIMOFL bclr BIT7,TSC ; Reconozco la interrupción, TOF = 0 jsr POT_PWM ; Revisa si se varía el ancho de pulso rti ; retorna de la interrupción

;=============================================;; OBJETIVO: Inicializa el Vector de Reset ;; Arranque del programa en la memo- ;; ria Flash y búsqueda de las inte- ;; rrupciones del canal de temporiza ;; dor. ;;=============================================;;===== Vector del Timer, desborde de la tecla =======; org TIMOFH ; Timer dw TIMOFL ; Desborde del contador;===== Vector del canal 1 del temporizador, Pulso del Optoacoplador =======; org TIMCH1H ; Interrupción del Canal 1 dw TIMCH1L ; Sobreflujo del Canal en PWM;===== Vector del canal 0 del temporizador, Captura de Entrada =======; org TIMCH0H ; Interrupción del Canal 0 dw TIMCH0L ; Captura de flanco Ascendente o Descendente;===== Vector de Reinicio de Sistema =======; org RESET_VEC ; Puntero Vec - RESET dw START ; al darse reset salta a Start

El control de ángulo de disparo y su circuito son útiles no solo para el control de intensidad de una carga resistiva, sino que también se utiliza este método de control para regular la velocidad de un motor de corriente alterna. Por medio de elementos de estado sólido como el triac y el optoacoplador se puede hacer una interfase aislada sin problemas de daños colaterales y control de grandes cargas AC.

NT1001

Rev. 1 del 22.05.04

A.5 Conclusión

AA-10

Page 11: NOTA TÉCNICA file save as namecerescontrols.com/wp-content/uploads/2013/06/01-NT1002... · Web viewPara controlar una carga AC, se utiliza un Triac, que es un dispositivo específico

Nota Técnica Sistemas Numéricos

Electrónica Industrial ModernaAutor: Timoty J. MaloneyRecurso: Capítulo 6 – Los Tríacs y Otros Tiristores

AA.7.1 Teoría de Operación de los Tiristores(a) http://es.geocities.com/allcircuits4/tiristores.htm

AA.7.2 Electrónica de Potencia(a) http://www.geocities.com/electronica4/unidad_6.html

NT1001

Rev. 1 del 22.05.04

A.6 Referencias

AA-11