Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera...

203
ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA DEPARTAMENTO DE ELECTRÓNICA Y CONTROL Medidor De Factor De Potencia Para Ondas Distorsionadas En Base Al Microcontrolador 0052AH-BASIC TESIS dirigida a obtener el título de Ingeniero Eléctrico especializado en Electrónica y Control Realizada por; Julio Ernesto Palacio Fierro Quito, Ecuador Diciembre. 1994

Transcript of Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera...

Page 1: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

ESCUELA POLITÉCNICA NACIONALFACULTAD DE INGENIERÍA ELÉCTRICA

DEPARTAMENTO DE ELECTRÓNICA Y CONTROL

Medidor De Factor De Potencia

Para Ondas Distorsionadas

En Base Al Microcontrolador

0052AH-BASIC

TESISdirigida a obtener el título de

Ingeniero Eléctricoespecializado en Electrónica y Control

Realizada por;Julio Ernesto Palacio Fierro

Quito, EcuadorDiciembre. 1994

Page 2: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

A todas aquellas personasque ponen un grano más de arena

en nombre del desarrollo tecnológicodel PAÍS

Page 3: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

Deseo expresar mi agradecimientoa todas las personas que colaboraron

en la elaboración de este trabajo,en especial al ingeniero Bolívar Ledesmacuya asesoría contribuyó notablemente

a elevar la calidad del mismo

Page 4: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

Certifico que esta tesisfue realizada en sutotalidad por el señorJulio E, Palacio Fierro

ING. BOmVAR LEDESMADIRECTOR DE TESIS

Page 5: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

PREFACIO

Debido a la creciente utilización de elementos electrónicos en el

control de sistemas industriales, las señales de voltaje y corriente que

alimentan a estos sistemas tienen un alto contenido armónico, de manera que

los medidores analógicos de energía, potencia y factor de potencia presentan

lecturas incorrectas al no ser capaces de medir componentes de alta

frecuencia de las señales de la red. Es por esto gue debe pensarse en la

utilización de aparatos digitales que puedan medir de manera exacta y precisa

estos parámetros usando algoritmos matemáticos. Estos aparatos están

encaminados a reemplazar a los indicadores y registros actuales con el objeto

no solo de tener equipos más precisos, sino el de servir de elementos

primarios para la implementación posterior de un sistema de control del

factor de potencia y la distorsión armónica total en las redes de

alimentación de sistemas industriales.

Recientemente se diseñó un "Sistema De Desarrollo De Programas De

Control Basado En El Mlcrocontrolador INTEL 8052AH-BASIC" en el área de

Electrónica de Potencia. No podía dejarse de lado los trabajos realizados

anteriormente, por consiguiente, ésta constituye una de las aplicaciones

basadas en este sistema con el objeto de evaluarlo. No obstante, el código

realizado en ensamblador puede trasladarse a otro microcontrolador que tenga

el mismo set de instrucciones de manera que, creando las subrutinas de punto

flotante que se tomó del BASIC-52, se pueda tener un equipo de

características parecidas en un sistema basado en otro microcontrolador.

Esto es posible gracias a gue el programa tiene una estructura que separa las

operaciones matemáticas de punto flotante y las transferencias hacia y desde

la pila (STACK) del resto del programa.

Adicionalmente, este equipo evalúa el uso de las técnicas

matsTáticas conocidas para hallar el factor de pobencia y la composición

Page 6: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

armónica de las señales de una red, evaluación que tiene una aplicación

inmediata con la disponibilidad de ' un aparato que permita facilitar el

análisis efectuados en prácticas realizadas en el laboratorio de Electrónica

de Potencia. En un futuro, este equipo mejorado podría ser aplicado en

sistemas industriales.

JULIO E. PALACIO

Page 7: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

TABLA DE CONTENIDO

INTRODUCCIÓN 9

1.1. Importancia de la medición del factor de potencia. 9

1.2. Técnicas matemáticas para analizar una red monofásica 14

1.3. Descripción del sistema a diseñarse: especificaciones y alcance. 20

1.4. Descripción del sistema de desarrollo basado en el microcontroladorINTEL 8052AH-BASIC 21

DISEÑO DEL HARDWARE 25

2.1. Modularización del Hardware. . 25

2.2. Módulo de adquisición de datos. 26

2.3. Módulo de visualización de resulíados. 32

2.4. Módulo de comunicación 34

2.5. Módulos adicionales. 37

2.5.1. Conexión entre tarjetas . 38

2.5.2. Fuente de polarización. 38

2.5.3. Postes de identificación 40

2.5.4. Construcción de los circuitos impresos. 41

2.5.5. Diseño de la cubierta exterior. 41

DISEÑO DEL SOFTWARE 43

3.1. Modularización del Software 43

3.2. Rutinas.de Inicialización 48

3.2.1. Arranque del microcontrolador 48

3.2.2. Inicialización del LCD . 51

3.2.3. Disposición del mapa de memoria 54

3.3. Módulo de adquisición, de datos 643.4. Módulo de factor de potencia. 72

3.5. Módulo de análisis de armónicas 77

3.6. Módulo de visualización de resulíados y comunicación. . 89

3.7. Centro de llatnadas a rutinas. 105

Page 8: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

PRUEBAS REALIZADAS AL SISTEMA DISEÑADO 108

4.1. Pruebas de operación del equipo. 108

4.2. Pruebas de precisión 115

CONCLUSIONES Y RECOMENDACIONES 166

5. l. Análisis del sistema. . 166

5.1.1. Análisis técnico 1665.1.2. Análisis de costos. '170

5.2. Conclusiones y recomendaciones 173

APÉNDICES 178

Page 9: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

CAPITULO 1

INTRODUCCIÓN

1.1.Importancia de la medición del factor de poten-

cia.

Antes de conocer la importancia de la medición del factor de

potencia, es necesario saber que significado tiene este término.

Budeanu, en 1927, generalizó la ecuación de potencia de la

fuente en sistemas lineales con voltaje y corriente sinusoidales a circui-

tos con formas de onda periódicas no sinusoidales. El definió la potencia

reactiva cerno

cu

Q.B- £ Wn SÍtl(|)n71=1

donde se menciona a Un , el voltaje eficaz de la armónica n de la señal, a

In , la corriente eficaz de la misma y al ángulo de desfase entre ambas

armónicas.

Además, definió una nueva cantidad, la potencia de distorsión,

definida como

i_/>2_. 02*¿-B

en la que ésta es definida en función de la potencia aparente S, de la po-

tencia activa P y de la potencia reactiva QQ.

A pesar de las objeciones de Fryze, en 1931, las cuales se re-

lacionaban principalmente con la necesidad de realizar una descomposición

de armónicas de voltaje y corriente antes de que la potencia reactiva pueda

ser calculada, las definiciones de Budeanu han sido difundidas a través de

publicaciones y libros de texto académicos en ingeniería eléctrica^.

Page 10: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

IMPORTANCIA DE LA MEDICIÓN DEL FACTOR DE POTENCIA

Pero, ¿qué significado tienen todas estas magnitudes?

Desde el punto de vista del factor de potencia cualquier siste-

ma eléctrico: con impedancias de carga lineales o no lineales y fuentes de

voltaje sinusoidales o no sinusoidales, contiene dos parámetros básicos: la

potencia activa, real o media P y la potencia aparente S, que es el produc-

to de los valores eficaces de voltaje y corriente.

Los parámetros S y P son medibles usando instrumentos estándar

que son ligeramente diferentes en naturaleza entre si. La potencia real P

es una cantidad física que satisface el Principio de Conservación de E-

nergía y es la potencia asociada con la suma de las potencias individuales

de los diferentes componentes del circuito. En cambio, la potencia apa-

rente no tiene intrísecamente una naturaleza física; aunque su dimensión se

manifiesta en volt-amperios, es solo una manera de definir la capacidad

máxima de transferencia de energía de un sistema. No existe algo como la

conservación de potencia aparente y la suma de las potencias reactiva y

aparente de los componentes de un circuito, en general, no corresponden a

los valores totales del sistema.

El objeto de la corrección del factor de potencia, definido

como la relación P/S cuyo valor óptimo es la unidad, es incrementar el va-

lor de la potencia real al valor de la potencia aparente o disminuir ésteo

ultimo valor al de la potencia real .

El desarrollo de aparatos de conmutación en base a semiconduc-

tores, los cuales son en la actualidad muy eficientes y de alta potencia, y

sus aplicaciones al control de grandes máquinas eléctricas y procesos in-

dustriales, ha impuesto algunos problemas en la producción y distribución

de energía eléctrica, particularmente en la medición del flujo de energía y

el uso óptimo de redes de transmisión. No solo es necesario conocer con

precisión la potencia activa que se consume bajo condiciones no sinusoi-

dales, sino que se debe determinar y controlar la corriente reactiva para

minimizar las pérdidas producidas en la red.

El control de la potencia reactiva y del voltaje juega un papel

muy importante en la seguridad de los modernos sistemas de potencia. Es

imperativo proveer al consumidor un nivel de voltaje constante y es indis-

pensable que las características del voltaje del sistema deban ser mante-

Página 10

Page 11: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

IMPORTANCIA DE LA MEDICIÓN DEL FACTOR DE POTENCIA

nidas en un ancho de banda deseado en beneficio de la estabilidad del

sistema de potencia. El desafio actual está dirigido hacia la eliminación

de las violaciones de estas restricciones del sistema. Así, controlandoo

fuentes de potencia reactiva se logran los siguientes beneficios0:

*- Reducción de las pérdidas de potencia real en el sistema.

>~ Incremento en la seguridad del sistema, manteniendo la posibilidadde reservas de potencia reactiva para emergencias.

>- Reducción de las diferencias de voltaje entre los nodos del siste-ma, obteniendo una mejor operación del mismo.

Pero no solo la potencia reactiva presenta problemas en los

sistemas eléctricos. La distorsión presente en las líneas de transmisión

es otra causa adicional. La importancia de esta distorsión se incrementa

debido a tres factores principales:

>- El incremento de aplicaciones de electrónica de potencia que tie-nen una característica voltaje—corriente no lineal. Estas aplica-ciones aumentan la generación de armónicas en el sistema depotencia.

^ El incremento de aplicaciones de bancos de capacitores shunt parala corrección del factor de potencia y la regulación de voltaje.Estos bancos incrementan las condiciones para resonancia la cualaumenta los niveles de armónicas.

>~ El descenso de los márgenes de tolerancia de los equipos de maneraque éstos son más susceptibles a las armónicas de voltaje y cor-riente .

El efecto de la distorsión puede ser dividida en tres cate-

gorías generales4:

Stress del alelante debido a ejfectos de Bobrevoltaje

El sobrevoltaje puede ser esperado como el comienzo de la for-

mación de una corona, degradación del aislante y ruptura. Los capacitores

aparecen como los equipos de carga más sensitivos ya gue solo voltajes pico

en régimen estable limitados a valores menores al 120% del voltaje pico

indicado en placa, previenen la generación de una corona,

Adicionalmente, las armónicas han causado fallas en los compo-

nentes de filtros en línea usados por las líneas de potencia de sistemas

Página 11

Page 12: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

IMPORTANCIA DE LA MEDICIÓN DEL FACTOR DE POTENCIA

portadores. Un estudio británico indica fallas en los cables de 33kV debi-

do a armónicas.

Efectos de calentamiento

El flujo de armónicos de corriente provoca el calentamiento

excesivo en todo equipo. Este calentamiento manifestado canto un incremento

de temperatura del equipo lleva a una reducción de la vida del aislante.

Cargas RL como lámparas incandescentes y resistencias para ca-

lentadores incrementan su temperatura significativamente ante la presencia

de distorsión del voltaje. La lámpara incandescente es la carga más sensi-

tiva a estos cambios, los cuales se traducen en un acortamiento de la vida

útil del bulbo. Esto no sucede con las lámparas de arco, como éstas nece-

sitan de un bal astro para mantener el punto de operación en una región se-

gura para todas las condiciones del voltaje de línea y como éste último

actúa como limitador de corriente, se necesitan de grandes factores de dis-

torsión para alterar el funcionamiento de la lámpara.

En los motores y generadores, las pérdidas por armónicas son

relativamente pequeñas e inclusive confundidas con pérdidas en los devana-

dos del estator o del rotor. Sin embargo, dado que la frecuencia del rotor

a cualquier armónica es igual a la del estator, se puede presentar un

torque oscilatorio que pueda causar fatiga en el rotor, sobre todo en tur-

binas de generadores.

En transformadores los efectos de las armónicas tienen dos

facetas: por un lado, las armónicas de corriente causan un incremento en

las pérdidas del cobre y en el flujo concatenado, por el otro, se presenta

stress en el aislante y una posible resonancia entre los devanados del

transformador y las capacitancias de línea. El efecto general se traduce

en un incremento en la temperatura del transformador. Debería notarse que

las pérdidas del transformador causadas por armónicas de voltaje o de cor-

riente dependen de la frecuencia, de manera que, las componentes de más

alta frecuencia causan mayor calentamiento que las de menor frecuencia.

Este aspecto del efecto de los armónicos en los transformadores no ha sido

tomado en cuenta correctamente en las normas de transformadores.

Página 12

Page 13: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

IbíPORTANCXA DE LA MEDICIÓN DEL FACTOR DE POXENCXA

El efecto de las armónicas en un banco de capacitores causa

calentamiento adicional y pérdidas. Además, el capacitor por sí mismo

tiene una fuerte influencia en las armónicas del bus de voltaje, especial-

mente cuando existen condiciones de resonancia.

Disrupción

La disrupción se define como la operación anormal o falla del

equipo debido a distorsión del voltaje o de la corriente con efectos dis-

tintos a los térmicos o de aislamiento. Estos efectos se clasifican como

resultado de la operación del equipo bajo condiciones distorsionadas a di-

ferencia de la operación del equipo bajo formas de onda no distorsionadas.

Los efectos de la disrupción abarcan a un amplio rango de equi-

pos y generalmente no están bien entendidos en la actualidad. Sin embargo,

a continuación se trata de explicar algunos de ellos.

Un significante nivel de corrientes de armónicas provocan cam-

bios en la característica corriente-tiempo de los fusibles. Esto puede ser

particularmente distinguible durante fallas de baja magnitud.

También alteran la operación normal de los relés de protección.

La presencia excesiva de secuencia cero de la tercera armónica de corriente

causa falsos disparos. Según un estudio canadiense existen diversas fallas

en los distintos tipos de relés que varían de fabricante a fabricante, no

obstante, los niveles de armónicos requeridos para causar mal funcionamien-

to de los relés son mayores que los de otros equipos.

Cuando se usa conversores de energía o cargas electrónicas, la

distorsión externa influye en la eficiencia ya sea del conversor o de la

carga. La severidad de estos efectos se complica por el hecho de que los

conversores son también una fuente de distorsión. La disrupción afecta al

conversor al provocar falsos ángulos de disparo ocasionados por errores en

el sistema de control y fallas en los tíristores o transistores debido a

altos di/dt, dv/dt, sobrevoltaje o sobrecalentamiento. En la actualidad,

muy poca documentación evidencia la naturaleza exacta de la interacción

entre fuente de poder y carga de eshado sólido por lo que existe la necesi-

dad de un posterior estudio en esta área.

Página 13

Page 14: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

2ECNICAS MATEMÁTICAS PARA ANALIZAR UNA. RED

Los instrumentos de medida también se ven afectados por los

armónicos de corriente, particularmente si existen condiciones de resonan-

cia en los circuitos. Los dispositivos de discos de inducción como medi-

dores de energía y relés de sobrecorriente son diseñados para medir solo la

fundamental por lo que la presencia de armónicos causa errores. Un estudio

canadiense indica gue un 20% de contenido de la quinta armónica puede pro-

ducir un error de entre un 10 y un 15% en un transductor de potencia de dos

elementos y 3 fases.

En un estudio realizado sobre la influencia de las armónicas en

medidores de energía se llegó a las siguientes conclusiones:

>~ El trazado de una curva de respuesta de frecuencia muestra erroresrelativamente grandes para las armónicas individuales de alta fre-cuencia .

>- A causa de la no linealidad del medidor, el registro de múltiplescomponentes es diferente a la suma de registros de las mismas com-ponentes individualmente.

>- Para consideraciones justas de tarifas, no solo lo magnitud sinotambién lo dirección del flujo de las armónicas es importantepuesto que el error está determinado por las direcciones relati-vas .

*" Con una onda sinusoidal de voltaje, el error registrado es causadopor la no linealidad de los circuitos magnéticos y es relativa-mente pequeña a menos que la tercera armónica de corriente seagrande.

>- En casos donde tanto el voltaje corno la corriente sean distorsio-nados, el error es relativamente grande incluso para un pequeñofactor de distorsión de voltaje.

Dados estos efectos de la potencia reactiva y de la distorsión

armónica total, es necesario el diseño de un aparato que mida el factor de

potencia y la distorsión armónica sin que presente un mayor error debido a

la presencia de armónicas de distintas frecuencias.

1.2.Técnicas matemáticas para analizar una red mo-

nofásica.

Para poder definir que técnicas se pueden usar para medir los

parámetros de una red monofásica, es necesario, además de conocer el sig-

Página 14

Page 15: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

TÉCNICAS MATEMÁTICAS PARA ANALIZAR UNA RED

nificado de los términos que se van a medir, definir la potencia reactiva y

su relación con la aparente.

La potencia reactiva/ en sist&was sinusoidales, es una cantidad

aditiva la cual no solo representa la potencia transmitida no usada y la

medida en la cual la potencia del sistema no es consumida, sino que está

directamente relacionada con las características del equipo que mejorará el

factor de potencia hasta la unidad".

Incluso, la potencia reactiva aparece como si debido al fenóme-

no de acumulación de energía en campos eléctricos o magnéticos de los com-

ponentes reactivos de la carga, fuera una parte de la energía que es

transmitida hacia adelante y atrás entre la carga y la fuente. Sin embar-

go, en sístefnas no sinusoidales, incluso cuando la potencia reactiva es

nula, esta transmisión de energía puede existir. Esto lleva a la conclu-

sión qi-ie tanto la potencia reactiva corno la potencia de distorsión son

afectadas por dicha transmisión de energía y conl1eva erróneamente a que

ninguna de las dos potencias se relaciona distintamente a este fenómeno el

cual es responsable del incremento de la potencia aparente. Es por esta

razón que el modelo de Budeanu no es útil para mejorar el factor de poten-

cia, inclusive, la compensación de la potencia reactiva de Budeanu no afec-

ta a la potencia aparente de manera explícita ya que el cambio en los

valores de la potencia reactiva provoca cambios en la potencia de distor-

sión .

Las potencias reactiva y de distorsión de Budeanu no poseen los

atributos que puedan relacionar los fenómenos de potencia en circuitos de

formas de onda no sinusoidales. En la referencia [ ] se propone descompo-

ner la corriente en una componente activa, dos reactivas (inductiva y ca-

pacitiva) y una residual de manera que se pueda compensar directamente la

corriente reactiva capacitiva (o inductiva) con un elemento pasivo; sin

embargo, para realizar una más carpíeta compensación se necesita más que

elementos pasivos reactivos, es decir, no se puede compensar con un método

basado en la cancelación total o parcial de Q y D simultáneamente, de igual

manera, las técnicas de análisis de Fourier no pueden ser desechadas para

analizar el efecto de corrientes no sinusoidales en Sistemas de Potencia.

Los mismos autores de esta investigación afirman que se puede llegar a una

contradicción en ciertas condiciones en las que la compensación de una com-

ponente incrementa la compensación requerida de la otra. En todo caso es

Página 15

Page 16: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

TÉCNICAS MATEMÁTICAS PARA ANALIZAR UNA RED

una alternativa válida al método de Fourier y fue utilizada anteriormente

en una tesis en 1984y.

El análisis presentado en la referencia [ ] muestra que a pe-

sar de la instrumentación más simple, el análisis en el dcminio del tiempo

no es tan útil como el del dominio de la frecuencia que incluso provee no

solo una interpretación distinta sino de varios métodos para mejorar el

factor de potencia. No obstante, este análisis requiere todavía de un ma-

yor estudio en lo que se refiere a mediciones de algunas cantidades.

Como conclusión, se puede decir que no obstante que el modelo

de Budeanu ha sido criticado desde un inicio, un análisis detallado no ha

sido efectuado en este sentido. Es más, por varias razones, ninguno de los

otros modelos ha ganado un reconocimiento general y el uso del modelo de

Budeanu ha llegado a ser el más ampliamente usado a pesar de sus inconve-

nientes .

Por todo esto, se aplicará el procedimiento matemático general

paira hallar el factor de potencia y la distorsión armónica total que se

basa en un conjunto de ecuaciones que se originan de las definiciones bási-

cas de valor eficaz y potencia de señales, por lo que partiendo de éstas la

forma de onda de voltaje y de corriente no interesa para conocer los prin-

cipales parámetros de la red, el orden para seguir este procedimiento es el

siguiente:

ftH-71

s

De estas fórmulas, v e ± son los valores instantáneos de vol-

taje y corriente, V e J son los valores eficaces correspondientes, P y S

son las potencias real y aparente mientras que fp y JHD son el factor de

potencia y la distorsión armónica total que caracterizan a la red. Cabe

destacarse que la distorsión armónica puede ser de voltaje o de corriente y

Página 16

Page 17: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

TÉCNICAS MATEMÁTICAS PARA ANALIZAR UNA. RED

que correaran el valor eficaz F de la variable de interés con el correspon-

diente a su primera armónica F^.

Ahora, se debe tener una ecuación más conveniente para expresar

el cálculo del valor eficaz de una señal. La fórmula original del valor

eficaz es

asumiendo gue el número de muestras tomadas respecto a la frecuencia de la

fundamental de la señal que se quiere medir es suficiente como para reem-

plazar la integral por un sumatorio manteniendo una exactitud adecuada

yto+n-bt 2. A/,j/2... to v n/

T

como el tiempo de muéstreo es el mismo a lo largo de toda la muestra, éste

sale del sumatorio y, por otro lado, el periodo de la señal es n veces el

período de muestreo. Con estas consideraciones la fórmula quedaría

2

n.- A/

2V

con lo que se simplifica notablemente la fórmula al solo sumarse los va-

lores individuales al cuadrado y dividirse para el número de muestras tona-

das.

Esta fórmula puede aplicarse para hallar el voltaje eficaz, la

corriente eficaz y la potencia activa, cuya fórmula sería:

Una vez hallados el voltaje y la corriente eficaces, se puede

calcular la potencia aparente y, como ya se conoce la potencia activa, se

puede encontrar el factor de potencia.

Ahora, se debe realizar un análisis de armónicas; la Transí or-

nada De Fourier es la principal herramienta para obtener los espectros de

Página 17

Page 18: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

TÉCNICAS MATEMÁTICAS PARA ANALIZAR UNA RED

'i

potencia y fase de una señal y, de esta forma, conocer la conposición

armónica de las señales de voltaje y corriente. La transformada de Fourier

tiene su fundamento en la expansión de una señal en Series de Fourier cuya

representación es:

x(() = Co-\- Ci sin [v\>( + 0] J + C2sin (2w( + e2J + ... + Cnsw(m\>(+ 6J + ...

-*- donde los coeficientes Cn y los ángulos de desfase Qn pueden ser calculados

de la siguiente forma:

2 fran - — \

El espectro de Fourier representa en un gráfico la magnitud y

la fase de las armónicas de la señal al número de armónica n.

Guando se requiere trabajar con datos discretos, es necesario

reemplazar las integrales por sumatorios y reconocer que los límites de los

sumatorios no son infinitos. Para ello, se considera que se debe recoger

las TV muestras en una duración finita de tiempo T (que por facilidad es el

período de la fundamental de la señal). Estas muestras deben ser igual-

mente espaciadas h segundos.

Como se tiene que x(t) y C'n representan dos ecuaciones comple-

jas (puesto que las funciones trigonométricas son funciones exponenciales

complejas) que dependen una de la otra, es posible, realizando una sustitu-

ción y aplicando relaciones de ortogonalidad para frecuencias complejas,

obtener formas simplificadas de estas ecuaciones de manera que las series

x¿ (valores discretos correspondientes a la función x(t)) y Xn (valores

correspondientes a los coeficientes C ) sean simétricas para valores posi-

tivos y negativos de N incluido el cero. Así se puede escribir:

Página 18

Page 19: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

TÉCNICAS MATEMÁTICAS PARA ANALIZAR UNA RED

x/=EArrtexp(/^);z=0 -A

i,n ' O, 1, 2, ...,(N-1)

Estas ecuaciones representan la Transformada Discreta de Fou~

rier que se implementa en computadores digitales para trasladar series en

el tiempo a series equivalentes en frecuencia. Cabe indicar que N puntos

en serie en el dominio del tiempo se transformarán en N/2 puntos en el do-

minio de la frecuencia12 ya que como se dijo antes/ se obtienen N puntos

distribuidos simétricamente alrededor del valor cero de frecuencia (DC) .

Si se define W~ &xp(-j27i/N) , se puede obtener la secuencia

;=0

que implica el cálculo de una matriz compleja

•Como en este caso general se deben realizar N multiplicaciones

y sumas, ambas complejas, para grandes valores de N se ocupa demasiado

tiempo en cálculos largos. La Transformada Rápida de Fourier es un método

alternativo para obtener la Transformada Discreta basado en la factoriza-

ción de estas matrices en series con términos nulos que permiten eliminar

los productos repetidos logrando una gran reducción en el tiempo de cálcu-

lo. Una gran ventaja práctica se gana usando N como potencia de dos ya que

las transformaciones intermedias se reducen en una tercera parte^ . Deo

esta manera, el número de operaciones se reducen de N a

Poniendo un ejemplo, para hallar hasta la armónica #32 de una

señal se debe muestrear 64 datos del período de la misma. Con el método

general se debe realizar 4096 productos y sumas complejas, con la Transfor-

mada Rápida de Fourier el número de operaciones se reduce a 768.

Más adelante, se puede apreciar el algoritmo de la Transformada

Rápida de Fourier.

Una vez conocido el contenido armónico de voltaje y corriente

de la red, se puede hallar las respectivas distorsiones armónicas totales y

Página 19

Page 20: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

DESCRIPCIÓN DEL SISTEMA: ESPECIFICACIONES Y ALCANCE

el factor de potencia de desplazamiento para conocer el comportamiento

reactivo de la red suponiendo que no existan armónicos.

1.3.Descripción del sistema a diseñarse: especifi-

caciones y alcance.

El equipo a diseñarse tiene como objetivo medir el factor de

potencia y la distorsión armónica total de una red monofásica sin importar

si las señales de voltaje y corriente son distorsionadas.

El equipo debe ser capaz de medir todos los parámetros que de-

finen el comportamiento de una red: valores eficaces de voltaje y co-

rriente, factor de potencia, potencia activa, potencia aparente, distorsión

armónica total de voltaje y corriente y una descripción del contenido

armónico de estas señales. Además, el equipo debe indicar de alguna forma

no solo el valor del factor de potencia, sino si existe predominancia in-

ductiva o capacitiva.

El equipo a diseñarse debe trabajar con una red monofásica de

120 V 60 Hz con picos de 250 V y detectar picos de corrientes de hasta 25

A, el equipo debe detectar la presencia de armónicas de hasta 960 Hz (16a.

armónica).

El sistema debe enviar los valores medidos vía serial para es-

tablecer comunicación con un computador u otros equipos.

Todos los datos a medirse deben poder ser mostrados en una pan-

talla alfanumérica de cristal líquido.

El sistema de desarrollo de programas de control en base al

microcontrolador INTEL 8052AH BASIC debe ser usado como unidad central del

medidor por lo que será necesario definir una etapa que realice la conver-

sión de la señal analógica condicionada a digital.

Para la adquisición de datos de corriente, el diseño debe ser

realizado para obtener información del probador de corriente de efecto Hall

usado en el laboratorio de Electrónica de Potencia.

Página 20

Page 21: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

DESCRIPCIÓN DEL SISIEMA DE DESARROLLO BASADO EN EL B052AH-BASIC

OLos resultados obtenidos serán evaluados teóricamente, es de-

cir, con señales de voltaje y corriente de las que sea relativamente fácil

conocer los parámetros que caracterizan a la red. Este hecho se debe a que

no existe en laboratorios un instrumento patrón para medir todas estas mag-

nitudes .

1.4.Descripción del sistema de desarrollo basado en

el microcontrolador INTEL 8052AH-BASIC.

Este sistema fue diseñado en 1993 como tesis de ingeniería con

el objeto de ser utilizado en aplicaciones de control de procesos e instru-

mentación partiendo de la ventaja que presenta el microcontrolador

8052AH-BASIC al permitir la programación en BASIC, proveyendo así de un

lenguaje mucho más fácil de programar y entender que el ensamblador.

Si bien el uso del BASIC permite al usuario disponer de una

biblioteca amplia de funciones ya definidas, el 8052AH-BASIC permite pro-

gramar en ensamblador con el objeto de ganar velocidad en muchas tareas y,

desde éste, acceder fácilmente a rutinas BASIC.

. A continuación se presenta una pequeña descripción del sistema

de desarrollo cuya utilización es condición de diseño del medidor del fac-

tor de potencia objeto de esta tesis. Para mayor información del tema,

referirse a [14] y [lo].

En una tarjeta cuyas dimensiones son 16,8xlO,2cm, este sistema

tiene como unidad central de proceso al 8052AH-BASIC. Este elemento con-

trola el funcionamiento de todo el sistema usando para ello al intérprete

BASIC-52 ubicado en la ROM interna del microcontrolador. Entre las venta-

jas que dispone este elemento se puede mencionar la facilidad de uso del

BASIC respecto al ensamblador, la capacidad de programación de memorias

EPRCM, la versatilidad de radicación de los programas en RAM o en EPRCM, la

presencia de un conjunto completo de comandos, sentencias y operadores, el

uso de aritmética en punto flotante y BCD, la presencia de una biblioteca

de funciones accedidas fácilmente desde ensamblador, un reloj interno de

tiempo real y la facilidad de que los programas sean autoejecubables, es

decir, que no requieran que el microcontrolador esté conectado a la consola

para arrancar. La configuración física básica gue requiere el BASIC-52 es

Página 21

Page 22: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

DESCRIPCIÓN DEL SISTEMA DE DESARROLLO BASADO EN EL 8052AH-BASIC

de por lo menos 1K de RAM externa, un interfaz serial RS-232 para co-

municarse con.la consola y un retenedor para generar a través del pórtico 2

del microcontrolador el byte menos significativo del bus de direcciones.

La tarjeta dispone de 4 zócalos para usarse con 4K de RAM (dos

CI 6116) y 16K (dos CI 2764) ó 24K (un 2764 y un 27128) de EPRCM. Externa-

mente puede ampliarse hasta 64K RAM y 56K EPROM. Toda la memoria dispo-

nible es extema al microcontrolador ya que casi toda la memoria interna

está ocupada y/o reservada por el BAS1C-52. La primeria memoria EPRCM 2764

constituye la EPROM1-ASSEMBLER, en ella residen los programas y rutinas de

usuario escritas en ensamblador y que pueden ser llamadas desde BASIC. El

segundo bloque de EPROM (ya sea el 2764 ó el 27128) constituye la

EPRCM2-BASIC, en ella se establecerán los programas de usuario escritos en

BASIC y algunos programas en ensamblador siempre y cuando estén al final de

los últimos BASIC; ésta memoria es susceptible de ser programada en la mis-

ma tarjeta sin importar que voltaje de programación requiera ya que eso es

designado manualmente a través de un dip-switch, este circuito integrado no

será usado en el diseño. Finalmente, la memoria RAM, formada por dos ele-

mentos 6116 para formar un total de 4K se utiliza como memoria de almacena-

miento temporal de variables y el lugar donde se puede editar cualquier

programa BASIC.

Existen 2 pórticos seriales, uno para comunicación serial con

el terminal y el otro para trabajar con una impresora serial, cada uno de

ellos con niveles de voltaje tanto TTL como RS-232, El modo de comunica-

ción con el terminal es UART con 1 bit de arranque, 8 bits de datos, 1 bit

de parada y sin chequeo de paridad. La velocidad de transmisión puede ser

cualquiera de 110 a 19200 bps. El circuito integrado usado es el ICL232

que realiza la conversión de voltajes TTL (O - 5V) a RS-232 (-10 - +10V) y

a la inversa con solo una fuente de alimentación de 5V.

Es posible la comunicación paralela a través de 3 puertos de 8

bits cada uno proporcionados por el PPI 8255A. Este es un componente de

entrada/salida de propósito general con cada uno de sus puertos configu-

rable por el usuario en tres modos de operación: en el modo O se forman dos

grupos de 12 con conjuntos de 4 pines para ser de entrada o salida, en el

modo 1 cada grupo tiene 8 líneas de entrada o salida y 3 de control, en el

modo 2 se tiene un bus de entrada/salida bidireccional. Este tipo de co-

municación no es utilizada en este diseño.

Página 22

Page 23: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

DESCRIPCIÓN DEL SISIEHtfA. DE DESARROLLO BASADO EN EL 8052AH-BASIC

El circuito de RESET se basa en el circuito supervisor de

fuente de poder TL7705 cuya ventaja principal sobre una principal red RC

radica en que genera la señal de reset cuando el voltaje de polarización

baja a 4.6V de manera que no se pierdan datos de memoria interna. El reset

interno se logra aplastando el pulsador S2 pero existe una opción, que será

usada, de reset externo que debe ingresarse por el conector H8 y que se

puede usar manipulando el jumper JP3.

La tarjeta dispone de diferentes señales en algunos conectores:

los pórticos de comunicación paralela en los conectores Hl, H2 y H3, líneas

de direccionamiento en H4, funciones especiales en H5, comunicación serial

TTL y RS-232 en H6, polarización en H7, bus es de direcciones, datos y con-

trol y otras funciones especiales del pórtico 1 del microcontrolador en el

conector H8, conector DB9 (en el presente diseño no está incluida esta op-

ción) para comunicación serial RS-232. Los detalles de la ubicación de los

conectores se; encuentra en los anexos.

La temperatura de operación es de 0-50°C con una humedad rela-

tiva de 10-90% no condensada.

Página 23

Page 24: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

PAGINA DE REFERENCIAS

1 Czarnecki, Leslek, What Is Wrong Wi£h The Budenau Concept Of ReactiveAnd Distorsión Power And Why It Should Be Abandoned, IEEE Transac-tions on Instrumentation and Measurement, Vol. IM-36, No. 3, Sep-tiembre 1987, p.834.

2 Kusters, N y Moore, R. , On The Definí ti on Of Reactive Power Under Non-Sinusoidal Conditions, Discusión por parte de W. Shepherd, IEEETransactions on Power Apparatus and Systems, Vol. PAS-99, No. 5,Septiembre-Octubre 1980, p. 1851.

3 Cheng, S., Malik, O. , Hope, G. , An Expert Systan For Voltage And Reac-tive Power Control Of A Power S stari, IEEE Transactions on PowerSystems, Vol. 3, No.4, Noviembre 1988, p, 1454.

4 IEEE Load Characteristics Task Forcé, Effects of Harmonios Task Forcéand Working Group on Power System Harmónica, The _Effects Of PowerSystem Harmonios On Power S.ystem Eguipnient And Loads, IEEE Trans-actions on Power Apparatus and Systems, Vol. PAS-104, No. 9, Sep-tiembre 1985, pp. 2555-2560.

c0 Baghzouz, "í. y Owen, T., Harmonic Analysis Of Induction Wattthour Meter

Performance, IEEE Transactions on Power Apparatus and Systems,Vol. PAS-104, No. 2, Febrero 1985, pp. 399-405.

" Czarnecki, Leslek, Consideratipn On The Reactive Power In Nonsinusoida1Sitúations, IEEE Transaction on Instrumentation and Measurement,Vol. IM-34, No.3, Septiembre 1985, p.399.

7 ídem 1, p. 835,

8 ídem 2, pp. 1845-1854.

Carrera, Marco, Medidor De Potencia Para Sistemas Eléctricos Con FormasDe Onda Compleías, Tesis de grado, EPN, Quito, 1984.

° ídem 6, Consideration, pp. 399-404.

11 ídem 1, The Budeanu Concept, p.837.

Williams, Charles, Digital Methods for Signa! Analysis, Wesley & SonPress, London, 1987, p.101.

-1-3 ídem Williams, p.106.

Qntaneda Gavidia, Marión, Sistema De Desarrollo De Programas De ControlBasado En El J<icrocontrolador INTEL 8052AH-BA5IC, Tesis de grado,EPN, Quito, 1993.

15 INTEL Corporation, MCS B.ASIC-52 User's Manual, INTEL Corp. LiteratureDistribution, Santa Clara, California, 1986.

Página 24

Page 25: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

CAPITULO 2

DISEÑO DEL HARDWARE

2.1.Modularización del Hardware.

El diseño del hardware no reviste de gran complicación ya que

la parte principal del equipo radica en el sistema de desarrollo descrito

en el apartado 1.4. No queda pues, más que diseñar los elementos de entra-

da y salida por lo que el objetivo del hardware a diseñarse es permitir al

microcontrolador 8052AH-BASIC interrelacionarse con el medio, es decir,

proveerle de elementos de entrada para medir voltaje y corriente y de ele-

mentos de salida para comunicarse con un operador humano o con otros equi-

pos digitales.

^ Por lo tanto el hardware debe cumplir con las siguientes carac-

terísticas:

>• Medir señales de voJtaje nominal 120V con picos de hasta 250V y de^ corrientes pico de 25A.

> Mostrar los datos en una pantalla de cristal líquido. Los datos amostrarse son potencia activa, potencia aparente, factor de poten-cia, factor de potencia de desplazamiento, valor eficaz de vol-taje, distorsión armónica total de voltaje y los valores de susarmónicos hasta 960 ÍIz, lo mismo para corriente.

> Transmitir los mismos datos vía serial para comunicarse con uncomputador u otro equipo digital. No se requiere de un conveniocomplejo de transmisión-recepción de datos. Para evitar la inter-ferencia de ruido creado por las líneas de alimentación con las detransmisión de datos, se creará una etapa aisladora de ruido.

Dadas estas características, el hardware a diseñarse puede di-

vidirse en los siguientes módulos, a los cuales, debe agregarse una fuente

que alimente a todo el sistema.

Page 26: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

MODULO DE ADQUISICIÓN DE DATOS

FIGURA 2.1.- MODÜI.ARKACION DEL HA.RDWARE

2 . 2 , Módulo de adquisición de datos.

Este módulo tiene la misión de tomar muestras de voltaje y co-

rriente y enviarlas al microcontrolador para ser procesadas. Independien-

temente de si toma muestras de voltaje o corriente, este módulo tiene tres

etapas :

Elemento Ben&or

El elemento sensor recoge las señales de voltaje o corriente,

según corresponda, y las reduce a un voltaje de máximo ±2, 5V para ser

leídos por la siguiente etapa.

El elemento sensor de voltaje es una red de resistencias reduc-

toras de voltaje.

Esta red de resistencias debe soportar en su extremo Vin un

voltaje pico de 250 V y para que el consumo de potencia sea mínimo, se asu-

Página 26

Page 27: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

MODULO DE ADQUISICIÓN DE DATOS

mira que la potencia consumida con un

voltaje eficaz de 250 V sea menor a 250

rrW (Para poder usar resistencias de

1/4W). Entonces el valor de la resisten-

cia de entrada total debe ser:

7? —ítt~F? Í250K)2

in — {£"jv* •>P " Q.25W

por lo que, para asegurar un menor consu-

mo de potencia y una alta resistencia de

entrada, se asumirá que

FIGURA 2.2.- SENSOR DE VOLTAJE

/?.8 = U/Q

Para hallar los demás valores se debe tomar en cuenta que la corriente que

circule por toda la red de resistencias es la misma, entonces,

2,57

10

247, 5( 9 -t-^io) = 2500 0

para lograr estos valores, se puede asumir que R$ sea una resistencia va-

riable de

Una vez establecidos los parámetros de la red de resistencias,

se puede calcular su potencia nominal.

i nom —

1207

Rin 1,010 x

Página 27

Page 28: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

MODULO DE ADQUISICIÓN DE DAIOS

El elemento sensor de corriente es la punta de corriente de

efecto Hall usado en laboratorio de Electrónica de Potencia: el probador de

corriente AC/DC Y8100 de Fluke que tiene las siguientes características:

> RANGOS: 20 A ac ó de, 200 A ad ó de

>- SALIDA: 2 V a fondo de escala

>• PRECISIÓN: DC a 200 Hz: 2% del rango, 200 Hz a 1 kHz: 3% de lalectura si es menor a 100 A y 6% de la lectura se es mayor a 100 A

>- CICLO DE CALIBRACIÓN: 1 año.

>- RESPUESTA DE FRECUENCIA: de a 1 kHz

> CARGA RECOMENDADA: > 3 Kohms

> RANGO DE TEMPERATURA: 15°C a 35°C para precisión indicada, -JLO°C a50°C con mayor precisión.

>- VOLTAJE DE TRABAJO: 600 Vdc ó 480 Vac, 42 Vdc ó 30 Vac si la sali-da está cortocircuitada a tierra.

>- No tiene una potencia externa de consumo ya que trabaja con 4 pi-las AA.

>~ Debe evitarse una operación prolongada de más de 200 A ó de más de1 kHz. Para mayores detalJ.es referirse a [ ]

Acondicionador

Esta etapa recoge el voltaje del elemento sensor y lo transfor-

ma a una señal de O a 5 V de manera que un convertidor analógico digital

pueda leer la-señal para enviarla al CPU.

Como los elementos sensores no alteran en módulo ni fase a las

señales de voltaje y corriente, ambos acondicionadores (para voltaje y cor-

riente) deben ser los mismos.

De acuerdo a la figura de la página siguiente, la resistencia

de entrada del acondicionador RI debe ser mucho mayor a la suma de las re-

sistencias Rg y R2Q °*e manera que se pueda mantener la independencia de

módulos, por lo que un buen valor para Rl es

Rl= 200¿Q

Página 28

Page 29: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

MODULO DE ADQUISICIÓN DE DAIOS

La configuración del acondicionador es de un amplificador in

versor cuya función de transferencia corresponde a la siguiente fórmula:

donde V¿n y ^ref son los voltajes de entrada del elemento sensor y de re-

ferencia (2.5V). Esta configuración ya ha sido utilizada anteriormente en

el Laboratorio de Electrónica de Potencia y sirve solo para AC (el capaci-

tor en serie elimina la componente continua, su valor de 10 uF, elimina

distorsión de las señales cuadradas o triangulares). Vale la pena decir

gue si se eliminara el capacitor la función de transferencia cambiaría por

lo que si se requiere hacer un acondicionador gue no discrimine la conti-

nua, debería usarse otra configuración.

La razón de discriminarse la continua es que como condición de

esta tesis sé debía utilizar la punta de corriente ya mencionada que en

ocasiones introduce un indeseable voltaje offset.

Un convertidor analógico digital de 8 bits tiene una resolución

de 19.6 mV cuando la entrada es de O a 5V. Entonces se requiere que los

errores causados por el voltaje y la corriente de entrada offset sean me-

nores a este valor. Estas características se cumplen con amplificadores

Página 29

Page 30: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

MODULO DE ADQUISICIÓN DE DAIOS

1 7operacionales con entrada FET por lo cual se decidió usar el LF353 , que

es un doble amplificador operacional de bajo voltaje de entrada offset

(10mV@25°C) y baja corriente de entrada offset (100pñ@25°C) . Entre sus

características sobresalientes tiene un gran producto ganancia ancho de

banda (4 MHz) y una rápida respuesta en el tiempo (2 us) . Este circuito es

de bajo costo y requiere de poca corriente de polarización (6.5mñ. máximo)

para mantener su gran ganancia de ancho de banda y rápido slew

rate(13V/us) . Este amplificador es recomendable para aplicaciones como

integradores de alta velocidad, convertidores analógicos digitales rápidos

y circuitos de muestreo y retención (sample and hold) . El rango de tempera-

tura de trabajo es de O - 70°C.

El voltaje de referencia 2 . 5V se consigue ubicando como DI al

diodo de referencia 2.5V LM336-"* el cual sirve como una referencia de pre-

cisión de 2.5V. Este circuito integrado trabaja como un zener de bajo coe-

ficiente de temperatura e impedancia dinámica de 0,2 ohmios. Además este

diodo posee un tercer terminal que permite a justar la referencia de voltaje

y el coeficiente de temperatura. La corriente de operación varia de 300uA

a 10 mñ. Para conseguir su operación es necesario aumentarle una resisten-

cia Rzl de manera que circule por el diodo una corriente de Imft:

s? V —R4 = *" ^ = 5,5/cQ « 4.7¿Q

ItnA

Dado que no se ajusta la referencia el voltaje obtenido no es

2.5V pero el offset existente en el LF353 hace que el menor valor Vref se

compense, de manera que al hacer pruebas se encontró que el valor final en

el conversor analógico-digital era el correcto.

Convertidor Analógico Digital

El convertidor analógico digital usado es el ADC0804LCN-^ de 8

bits de aproximación sucesiva. Este convertidor es compatible con los de-

rivados del microprocesador 8080 por lo que es de fácil conexión con micro-

control adores. Las entradas de voltaje son diferenciales y deben estar

comprendidas en el rango de O a 5V. Para aplicaciones de máxima flexibili-

dad, se ha diseñado la capacidad de acomodar una referencia de 5VDC, 2,5VDC

o cualquier otro voltaje a través del pin VREF/2 de manera que se pueda

cambiar el rango de voltaje del convertidor. Es posible tener conversión

continua uniendo la entrada WR con la salida INTR y poniendo la entrada CS

Página 30

Page 31: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

MODULO DE ADQUISICIÓN DE DATOS

a tierra, el nodo WR-INTR deberla tener un cero lógico forzado al encendido

del circuito ¡para garantizar su operación. El tiempo de conversión del

convertidor varía entre 66 y 73 veces el inverso de la denominada frecuen-

cia de reloj, fcLK' t?ue se define en un cuadro que relaciona el capacitor

y la resistencia de reloj con la frecuencia resultante.

De todas formas el menor error se biene cuando la frecuencia de

reloj es de 640kHz (tiempo de conversión entre 100 y 115 us). El error

total de este convertidor es de 1 LSB. El rango de temperatura de opera-o

cion esta entre O y 70 C.

El siguiente circuito corresponde a esta etapa:

FIO1WA 2.4.- CONVERTIDORES AW/VUDGICO.mGnr/VT,ES

En este diagrama, se aprecia cerno Rl y Cl (R2 y C2 en el con-

vertidor de corriente) influyen en la frecuencia de reloj (con estos va-

lores se acerca a la frecuencia óptima) la que da un tiempo de conversión

suficiente ya, que si se tema 32 muestras de la fundamental (una muestra

cada 0.52ms) se harían cuatro o cinco conversiones antes de tomar una mues-

tra. Los transistores Ql y Q2 dan el impulso inicial al nodo WR-INTR los

Página 31

Page 32: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

MODULO DE VTSUALIZACION DE RESULTADOS

cuales son manejados por R3, R4 y C3; con sus valores correspondientes se

da un impulso inicial de 10 ms.

2.3.Módulo de visualización de resultados.

Para la visualización de resultados se decidió usar la pantalla

de cristal liquido L201200JOOO de Seiko. Entre las principales carac-

terísticas optoeléctricas del L2012 se tiene:

>• 2 líneas x 20 caracteres en un equipo delgado, liviano y de bajoconsumo (10 mW).

>- Usa el fluido STJSf (Super Twisted Nematic Fluid) para obtener unalto contraste (mínimo 5, típico 9 a un ángulo de visión de 25grados) y ancho ángulo de visión (mínimo 70 grados dependiendo delcontraste).

>- La configuración de pines del L2012 es la siguiente:

PIN

1

2

3

4

5

6

7

8

9

10

11

12

13

14

NOMBRE

V«>

Vu:

RS

R/W

E

DBO

DB1

DB2

DB3

DB4

DBS

DB6

DB7

FUNCIÓN

GMD

Polarización 5V

Manejo de cristal líquido

Selector de registrosLee bur a /Escritura

Habilitación

Línea del búa de datos

Línea de), bus da datos

Línea del bus de datos

Línea del bus da datos

Línea del bus de datos

Línea del bus de datos

Línea del bus de datos

Línea del bus de datos

La conexión a mícroprocesadores de 4 u 8 bits es directa. Paraconectarse a un microcontrolador de 8 bits las líneas DBx son usa-das como bus de datos, E es la línea de habilitación del bus dedatos y se utiliza como se indicará más adelante en los diagramasde tiempo, R/V7 en alto permite leer del módulo al microcontroladory en bajo permite escribir datos del miorocontrolador al módulo,RS en alto indica entrada de datos y en bajo indica entrada decódigo de instrucciones, VDD=+5V, VgS=Tierra y V^c es un voltajede ajuste del contraste.

Posee el controlador HD44780 en la misma tarjeta de manera que sedispone de un versátil sel: de funciones y una buena capacidad dealmacenamiento de datos (00 caracteres en buffer).

Otras características del L2012 y su set de funciones se indica enlos anexos.

Página 32

Page 33: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

FIGURA 2.5. - ACOPLADOR A LCD

Para acoplar el módulo de cristal líquido al resto del equipo,

se debe agregar el circuito mostrado en la figura 2.5. En el apéndice I,

al analizaír otras características del LCD se explica, basado en los diagra-

mas de tiempo del microcontrolador y del LCD, el porgué de este acoplador.

En este circuito se puede apreciar que. la referencia de pines

de H6 con el LCD no es la misma, esto se debe a gue la nureración de pines

en el LCD es respecto a la pantalla mientras que solo se puede conectar un

conector al lado opuesto.

La inversión de la línea de selección CS1B para obtener E es

necesaria puesto que la selección generada por la tarjeta del microcontro-

lador es negativa mientras que la requerida por la pantalla es positiva.

Con el objeto de seleccionar la visualización de distintos

ítems se usará un interruptor de 6 posiciones para visualizar:

> Potencias activa y aparente, factor de potencia y factor de poten-cia de desplazamiento.

> Voltaje y corriente eficaces, valores de distorsión armónica totaltanto ea voltaje como en corriente

Página 33

Page 34: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

MODULO DE VXSUALI3ACION DE RESULTADOS

>• Valores de primeras ocho armónicas de voltaje (módulo y fase).

>• Valores de últimas ocho armónicas de voltaje (módulo y fase),

>- Valores de primeras ocho armónicas de corriente (módulo y fase) .

>- Valores de últimas ocho armónicas de corriente (módulo y fase) .

2.4.Módulo de comunicación.

Este módulo es muy importante ya que permitirá la comunicación

del medidor de factor de potencia con otros dispositivos que permitan lle-

var a cabo una automatización de procesos. Esta automatización toma la

idea de un sistema de inteligencia dispersa la cual permite a los denomina-

dos DCC (siglas en inglés de dispositivo de control computarizado) realizar

tareas locales de control de tiempo críticos. Estos DCC deben tener un

gran nivel de autonomía y su eficiencia en el proceso depende en gran ma-

nera de un adecuado sistema de comunicaciones con el resto del sistema. Es

por esto que un protocol o de comunicaciones estándar es preferibl e paraOQ

evitar incompatibilidades del sistema* .

Hay algunos protocolos que cumpliendo con las normas IEEE,

ANSÍ, ISO o EIA sirven a este propósito. Dadas las facilidades gue presen-

ta el sistema de desarrollo basado en el 8052AH-BASIC, se adoptarán las

normas EIA RS232C. Además, este protocolo ve limitadas sus comunicaciones

a una distancia aproximada de 15 metros, la cual podría ser más que sufi-

ciente para un controlador de factor de potencia en una industria. En caso

de requerir mayor distancia, se puede usar las normas RS422A que permite91una relación de 1,2 km para ser usado hasta lOOKbits por segundo* .

Como se ha indicado anteriormente, casi toda la tarea de co-

municación la efectúa el sistema de desarrollo basado en el microcontrola-

dor, por lo que el diseño adicional es sumamente sencillo.

Interfaz serial optoacoplado

Por un lado, se debe aislar las señales de transmisión y recep-

ción de la comunicación serial. Para ello debe usarse optoacopladores que

permitan realizar esta tarea de manera óptima. El dispositivo usado para

aislar la señal es el 6N136 el cual es un optoacoplador con un LED de VOOnm

Página 34

Page 35: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

MODULO DE COMUNICACIONES

de GaAsP y un fotodetector de alta velocidad compatible con señales TTL,

tiene un aislamiento de hasta 2,5kV y disipa una potencia de hasta lOOmW.

Por el lado de entrada tiene un LED que soporta una corriente de 25 mZV

máximo (recomendado 16m7V), una calda de voltaje de 1.7V máximo y un voltaje

inverso máximo de 5 V. La etapa de salida soporta máximo un voltaje de

polarización de 15V, una corriente de colector cíe 8 mñ. y puede transferir

máximo IMbit por segundo. El tiempo de propagación de una señal es de 800

ns22

VCCo

1>i,Rí®2

J.G5K ' i—•,

\¿

— ¡A

USO

FTGURA 2.*.- INTWUTAZ: SERIAL OPTOACOPI-ADO

El circuito usado para aislar las líneas de comunicación es el

de la figura 2.6. donde se aprecia dos grupos de elementos, el uno, alrede-

dor del optoacoplador U6, se encarga de las señales que se transmiten del

rracrocontrolador al computador; el segundo, alrededor de U7, recibe las

señales del computador.

El microcontrolador envía a T1IN una señal TTL para comunicarse con el com-

putador, R7 se constituye en un limitador para manejar el transistor Q3 que

con 5V (1L) permite que el LED de U6 envíe una señal luminosa al fotodiodo

y con OV (OL) lo evita; en la realidad, dada la característica voltaje-

corriente del microcontrolador, éste no puede mantener el nivel alto de

voltaje pero de todas formas envía la corriente suficiente como para acti-

var a Q3. R8 define las características de corriente que pasarán por el

Página 35

Page 36: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

MODULO DE COMUNICACIÓN

LED y por el transistor. Al otro lado, el fotodiodo satura al transistor

de U6 con 1L, devolviendo la señal RTS (nivel negativo) a RD del computa-

dor; mientras que con OL, corta al transistor enviando el nivel positivo de

DTR a RD. La resistencia R9 sirve como pull-up.

Como contrapartida cuando TD es 1L (nivel negativo), se habilita al LED de

U7, mientras que con OL (nivel positivo), se lo inhibe; de todas formas, es

necesario ubicar a DI como opuesto al LED con el objeto de protegerlo ya

que solo soporta voltajes inversos de nivel TTL. En el lado del microcon-

trolador, con 1L el transistor de U7 se satura poniendo a la entrada del

inversor U5A OV, éste se encargará de enviar 5V a R10ÜT del microcontrola-

dor; con OL, el transistor se corta, con lo que de manera similar, R10UT

tendrá OV.

Un capacitor C8 de luF (que no aparece en la figura), es útil como filtro

de ruido para ,el inversor U5.

Pórtico serial

Otro aspecto de la comunicación es la especificación del enlace

físico que portará las señales del medidor de factor de potencia a otra

etapa. Para ello debe quedar claro el papel que el equipo desempeña en la

comunicación.

Según la norma RS-232, el terminal o computadora es conocido

como equipo terminal de datos (DTE) y el modem o equipo de comunicaciones

se conoce como equipo de comunicación de datos (DCE). El DTE mantiene un

enlace vía serial ya sea con otro DTE, ya sea con un DCE, el cual se

constituye en una interfaz para enviar los datos por radio, cable, fibra

óptica o cualquier otro medio. La norma especifica que en un cable usado

para conectar un DTE con un DCE, cada línea debe estar conectada al mismo

número de pin en los conectores de cada extremo, así, el pin 2 del DTE debe

ir conectado con el pin 2 del DCE, el pin 3 con el pin 3 y así sucesiva-

mente. Con conectores de 25 pines, la línea 2 se denomina línea de trans-

misión de datos y la línea 3, línea de recepción de datos. Esta

designación de transmisión y recepción es siempre referida a la perspectiva

del DTE, lo cual indica que un DTE, por ejemplo un computador, transmite

datos a través de la línea de transmisión (2) y el DCE, por ejemplo un mo-

dem, recibe esos datos por la misma línea 2; a la inversa, el modem envía

Página 36

Page 37: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

MÓDULOS ADICIONALES

los datos a través de la línea de recepción (3) por la que el ccxnputador

los recibe. Si la conexión es realizada entre dos DTE, se utiliza una con-

figuración de cable denominada nuil moáesn la cual asegura que ambos equiposOQ

transmitan y reciban a través de las líneas correctas . El conector del

pórtico serial DB9 tiene la siguiente configuración y equivalencia en DB25:

t>IM^.::^:^^r::-: -HOMBREA: >..;>'¿-. .-"? v"V ABRfiV. EQlV DB35 ENTRADA /SAL I DA

12

3

4

5

6

7

8

9

Detector de portadora de datos

Recepción

Transmisión

Terminal de datos listo

Tierra de señal

Recepción de datos listo

: Requerimiento de envío

Claro para enviar

Indicador de timbre

DCD

RD

SD

DTR

AB

DSR

RTS

CTS

RI

8

3

2

20

7

6

4

5

21

entrada

salida

entrada

salida

entrada

salida

entrada

entrada

Si en cambio, se requiere de un nuil modem :

PIN DB25

3

2

4

5

6/8

20

7

LINEA

RD-SD

SD-RD

RTS- CTS

CTS- RTS

DSR/DCD-DTR

DTR-DSR/DCD

SG--SG

PIN DD25

2

3

5

4

20

6/8

7

Las pruebas iniciales serán realizadas directamente con un com-

putador y si el equipo se usa como elemento primario para un control,

este último es un DTE; además, al ser este aparato un elemento primario

/transmisor, puede ser considerado

CCÍTÍO un DCE, así que el enlace

físico a usarse es el descrito para

DTE-DCE temando en cuenta que el

medidor de factor de potencia es un

DCE. Un conector IDS de 10 pines

conectado a un pórtico DB25 es el

elegido para la tarjeta.

Í7G. 2.7.- CONECTORIDS rARAFORTJCO SERIAL

2.5.Módulos adicionales.

A parte de los módulos descritos deben existir etapas muy im-

portantes que se constituyen por sí solas en módulos adicionales.

Página 37

Page 38: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

MÓDULOS ADICIONALES

2.5.1.Conexión entre tarj etas

Una vez que se ha diseñado los diferentes módulos del equipo,

cabe preguntarse como se los distribuirá. Por un lado, se tiene un circui-

to impreso ya diseñado en el Sistema De Desarrollo Basado en el

8052AH-BASIC, por otro, existe el criterio de separar de alguna manera los

circuitos analógicos de los digitales. De acuerdo a ésto resulta más sen-

cillo la construcción de tres circuitos impresos, el primero conteniendo el

8052AH-BASIC, el segundo con los circuitos digitales (convertidores

analógico digitales, acopladores del LCD, comunicación serial y un pulsador

de RESET externo) y el tercero con los circuitos analógicos (sensores,

transductores y fuentes de polarización).

Cabe agregar un circuito impreso adicional que contiene dos

elementos importantes (y no mencionados todavía) que van localizados en el

panel frontal del equipo: un LED rojo que indica cuando el equipo está en-

cendido y un interruptor de 6 posiciones (que torran como base Pl del

80527\H-BASIC) y que sirve como selector de pantalla según se explica más

adelante.

La comunicación de señales entre estos 4 impresos debe ser efi-

caz y cómoda por lo que deben utilizar conectores que permitan transmitir o

cortar la comunicación de manera fácil y efectiva. Ni la distribución de

pines de los conectores ni los detalles del cuarto circuito impreso se tra-

tarán en este capítulo.

2.5.2.Fuente de polarización.

Se han agregado algunos elementos y han sido retirados otros de

lo que constituyó el proyecto inicial del Sistema de Desarrollo basado en

el 80527\H~BñSIC, adicionalmente se requiere de otra provisión distinta de

voltajes, así que se vuelve necesario rediseñar la fuente de polarización.

Por un lado, la mayoría de elementos trabajan con niveles TTL, por otro,

solo los transductores necesitan un voltaje mayor positivo y un voltaje

negativo (este hecho es natural ya gue las salidas de éstos deben trabajar

con un rango de O a 5V, entonces, el rango de polarización de los amplifi-

cadores operacionales debe ser mayor). Es por esto que se requieren 3 vol-

tajes, uno de nivel TTL (+5V), otro positivo algo mayor (se adoptará +8V) y

Página 39

Page 39: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

MÓDULOS ADICIONALES

un nivel negativo (de preferencia menor a -2V). Dado que los niveles de

+8V y negativo son requeridos solo para los amplificadores operacionales,

se utilizará el primero de ellos también para polarizar arreglos de elemen-

tos que no importe si su voltaje es +5V ó +8V.

De acuerdo a estos hechos se puede hacer la siguiente lista de

consumos de corriente en mA:

ELEMENTO TARJETA

8D52AH-BASIC

RAM 6116 (2)

J3PROM 276*1

74L.S373

7-1LS139

74LS138

74LS08

TL7705

8 OB TOTAL

ADC0804 (2)

74S32

74SOO

74HC14

U6-6N136U7-6M136

C3-R3-R4

R5-R6

BUBTOTAL

LF353

LM33 6

LM323T

LM78M08C

LM555BDBTOTAL

; LED ROJO

80 B TOTAL

DIBPLAY 1.2013

OX)TAL

No,

1

1

1

1

1

1

1

1

1

2

2

2

2

2

2

2

2

a

3

3

3

3

3

3

4

4

I (+5v) I ( + B v > I ( - )

175

125

90

40

11

10

9

10

470

5

98

88

0

33

0

2

6

2 2 4 8

4 4

2

20

8

12

20 16 4

20

20

2

736 36 4

Dadas las corrientes superiores y dando unos mayores márgenes

de seguridad/ los circuitos de polarización positiva son sumamente fáciles

de diseñar en función del LM323T y del LM78M08C, el de polarización negati-

va es un inversor de polaridad basado en la multiplicación de voltaje usan-

do un LM555 y dependiendo del voltaje de salida puede proporcionar una

Página 39

Page 40: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

MÓDULOS ADICIONALES

corriente de hasta 20mA, una mayor descripción de este circuito puede ha-o c

liarse en la referencia [ ].

El transformador es de 120VAC/12VAC/2A.

V-f-0-

RU.

L13

•*•hIEA

^'

}ER 2

A - k <F1N

JL_KF1W

D5

1 1»"r

| s ,S¿100

S

bneo

1 2

s^wao

_a5VT00

C3220C3U '-

i+•-.a

vi c

E

LMLMTer

f

1

13BC_

3

1

-1

1* C4

E. J.LJ

,

1» es

ÉJ.LJ

rusÍ0K

2 .01UTJ5

LMSSS

10U

D81M4001

07

O VCC

OV-t-

C8aau VCC = 5V

V+-+8V

V- * -8V

FTOURA,2.8.-H/ENTEDE POLARIZACIÓN

2.5 .3 .Postes de identificación.

Con el objeto de chequear fácilmente la existencia de fallas,

existen 8 postes dobles de identificación de señales analógicas en la tar-

jeta correspondiente. Estos 8 postes permiten tomar muestras de las

señales sin necesidad de medir en posiciones difíciles.

Las señales disponibles en los postes son: VCC y V+ en el poste

1, V- y Vref en el poste 2, tierra en el poste 3, la señal adecuada al con-

vertidor de voltaje ADCv en el poste 4, el voltaje de entrada proveniente

de la red Vin en el poste 5, el voltaje luego del sensor de voltaje Vinl en

Página 40

Page 41: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

bODULOS ADICIONALES

el poste 6, la señal adecuada al convertidor de corriente ADCi en el poste

7 y el voltaje proveniente del probador de corriente lin en el poste 8.

Más adelante se indica la ubicación de los postes de identifi-

cación en la tarjeta 3.

2.5.4.Construcción de los circuitos impresos.

Para el diseño del circuito impreso se trabajó con los progra-

mas OrCAD de OrCflD Systems Corporation y Tango de ACCEL Technologies.

Cabe indicar que las tarjetas 3 y 4 fueron realizadas de un

solo lado y la tarjeta 2 de doble lado por existir mayor complejidad. La

tarjeta 1 fue ya diseñada con anterioridad ya que se constituye en el Sis-

tema de Desarrollo basado en 8052AH~BñSIC.

Los pasos a seguirse fueron básicamente los indicados en lan £-.

referencia [ ]

2.5.5.Diseño de la cubierta exterior.

La, cubierta exterior usada es de plástico ABS de larga duración

con los paneles frontal y posterior de acrílico. Las dimensiones son 10 x

7.6 x 3.1 pulgadas. La disposición de los elementos en ambos paneles fue

realizado tomando en cuenta el criterio de mantener visualmente las dife-

rentes etapas funcionales del equipo separadas de manera que el manejo del

equipo no implique complejidad.

Una descripción completa de los elementos ubicados en la cu-

bierta exterior se encuentra en el apéndice I.

Página 41

Page 42: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

PAGINA DE REFERENCIA

16 FLUKE, Y8100 DC/AC Current Probé Instruction Manual , John Fluke MFG Co. ,Everett, Washington, 1983,

-*-' National Semiconductor Corporation, Linear Databook, National Semicon-ductor Corp., Santa Clara, California, 1982, pp. 3-42 - 3-50.

18 ídem, pp. 2-30 - 2-35.

19 ídem, pp. 8-28 - 8-59.

20 Witte, R. , Schumacher, P. , A Serial Corrrnunications Interface ForMicroprocessor-Based Power Distribution Apparatus, IEEE Transac-tions on Power Apparatus and Systems, Vol.PAS-104, No. 1, Enero1985, p. 46.

21 ídem, p.48.

22 Quality Technologies, HGPL-2503, HCPL-4502, 6N136, 6N135 DATA SHEETS.

9"*••* Boling, Douglas, Putting Serial-Port Technology In Perspectiva, Part 1,

Lab Notes, PC Magazine, Vol. 11, No. 9, Mayo 12 1992, pp. 392-393.

24 Glover, Thomas y Young, Millie, Pocket Pe Reference, 2a. ed. , SequoiaPublishing, Littleton, Colorado, 1993, pp. 40-41.

25 Graf, Rudolf y Sheets, William, Encyclopedia of Electronic Circuíts,Vol. 4.,TAB Boolcs, Blue Ridge Sumit, Pennsylvania, 1992, p.397.

26 Ontaneda Gavidia, Marión, Sistema de Desarrollo de programas de ControlBasado en el microcontrolador INTEL 8052AH-BASIC, Tesis de Grado,EPN, Quito, 1993.

Página 42

Page 43: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

CAPITULO 3.

DISEÑO DEL SOFTWARE

3.1.Modularización del Software,

Antes de realizar el diseño del software se debe definir cual

es el objetivo del mismo y se debe tener en claro que es lo que se desea

que haga el programa a diseñarse.

En el apartado 1.2 se describieron las técnicas matemáticas que

se usan para analizar una red monofásica a partir de un voltaje y una co-

rriente conocidas, un programa que realice algoritmos matemáticos es más

robusto y sencillo que un circuito analógico que realice la misma función.

Por otro lado, la transmisión de datos digital es más exacta y, adicional-

mente, la visualización de datos digital es más confiable que la analógica.

De ésto se deduce que el objetivo _del software a diseñarse es leer Jos va-

lores de voltaje y corriente instantáneos, realizar las operaciones ma-

temáticas necesarias para hallar los parámetros que muestran el

comportamiento de una red y transmitir esos parámetros a un controlador o

simplemente enviarlos a un indicador.

i Qué características debe tener el software a diseñarse ?

La lectura de datos de un conversor analógico digital es sura-

mente sencilla, basta tomar el valor que indica el conversor y leer en una

tabla la equivalencia del valor indicado por el conversor con el valor real

de voltaje medido. Pero no debe olvidarse que el BñSIC-52 es demasiado len-

to (una muestra aproximadamente cada 5 ms) para cumplir con el objetivo del

sis teína a diseñarse. Tanto la lectura de dispositivos de entrada, el ma-

nejo de memorias RflM, asi como escrituras a pórticos para salida de la in-

formación a pantallas/ es sumamente lenta, estas operaciones "realizadas en

lenguaje Assembler toma un tiernpo que está en el orden de los microsegun-

dos, mientras que en BASIC-52 está en el orden de los milisegundos"27.

Page 44: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

Como es necesario tomar muestras aproximadamente cada 0.26 ms, se debe ob-

tener todos los datos con rutinas en ensamblador/ leer los valores de las

tablas de equivalencia y almacenar los resultados en memoria RAM.

El software a desarrollarse debe incluir operaciones matemáti-

cas sencillas como sumas, multiplicaciones, divisiones, la relativamente

compleja radicación y el desarrollo de integrales (que no es más que un

sumatorio como se indicó más arriba). Estas operaciones deben mantener una

buena precisión en todo momento, por ésto, es conveniente que los números

tengan un formato de punto flotante en lugar de trabajar con cifras ente-

ras. Para ello es más sencillo el trabajo con el BASIC-52 pues provee un

buen set de instrucciones para relizar operaciones en punto flotante.

Otro proceso que debe estar englobado en el algoritmo a desa-

rrollar es la. comunicación del microprocesador con los elementos de salida

(pantallas de cristal líquido y terminal por vía serial), este proceso debe

hacerse en lenguaje ensamblador dada la sencillez de la transmisión de da-

tos y la rapidez relativa a la misma transmisión en BASIC.

Se debe recalcar lo expresado irás arriba: el manejo de memorias

(lectura y escritura) es muy lenta en BASIO52, como una gran parte de las

operaciones matemáticas necesarias se efectúan en base a números en punto

flotante almacenados en memoria, se debe tratar de que casi todo el progra-

ma sea realizado en ensamblador. Es más, lo más conveniente es realizar el

programa en ensamblador e invocar a rutinas BñSIC-52 cuando se requiera.

Dados estos hechos, se puede caracterizar al software a di-

señarse por lo siguiente:

*- El software debe tener tres partes generales: una de adquisiciónde datos, una de operaciones matemáticas (compuesto de dos módu-los : cálculo del factor de potencia y cálculo de la distorsiónarmónica total) y una de visualización de datos y comunicación.

*- E.l. lenguaje ideal para el programa es el ensamblador desde el cualse invocará a las rutinas BASIC-52 para realizar operaciones enpunto flotante. Dado que estas rutinas asumen que existen uno odos valores en la pila de argumentos, se requiere el uso de ruti-nas que transfieran datos entre memoria y la pila mencionada.

Página 44

Page 45: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

>~ Para cumplir con el principio de medularidad, el diseño del pro-grama debe ser tal que si se trabaja con un mi ero con Uro lado r queusa el set de instrucciones de la familia MCS-51, simplemente seaumenten al programa las rutinas de operaciones de punto flotanteque en este caso, provee el BASJC-52,.

Para poder cumplir con estas especificaciones se ha modulariza-

do el software de la siguiente manera:

fREMIDA El RESEI, INlClMI

HtCROCOHlROlADOR, HfHO

EXIERHAÍ DlSPUf.

El PROCESO SI

BASA CH UNlAíoiHNHiio

v m

"\- _^ í DUCIALEEACIOM i

Rl* V J 1L I

í r 1

/

ADQUIOTCIOHIJE / ut ios APG OE 1I>ATOS / ^* YOIIWE rCORRl íNU i

^CALCinX) MCTOR jr C^llíüU P, S, Tf,

Dr.rormciA \|11t y |m,

JUAHAUSISUF. rf MHICAtAlR.WSrORrttoAAMMOmCAS t" RWI^pí fOURl(R

1/ / MUESlRA EH tCf f/ ™"n.TADOB / 4» UMISMIIEVIASERIAI

1

1

I HGURA3.1.-FLUJOGRAMAGENKRAJL 1

Si bien se han definido los módulos que componen el software

del sistema y dada su importancia, se puede hablar de un módulo más, el

formado por las rutinas B7VSIC-52 gue se requieren en el programa.

¿ Qué rutinas se requieren en el programa ? Existen opera-

ciones matemáticas sobre un número en la pila de argumento (ATAN para el

arco tangente de un número en pila, COSENO para el coseno, ENTERO para ob-

tener un valor entero, SJG3VO para obtener el signo y SQR para sacar la raíz

cuadrada), o sobre dos números en la pila ( COCIENTE, PRODUCTO, RESTA Y

SUMA), se requiere además poder enviar un número de punto flotante de memo-

ria a la pila de argumento y de la pila a memoria ( ÍUSIHCTC y FRCMSTACK) y

enviar datos vía serial (CARSER para un carácter ubicado en R5 del banco O,

CRLF para mandar un retorno de carro y paso a siguiente línea y TOSER para

Página 45

Page 46: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

MODULARIZACION DEL SOFTWARE

transmitir el último número de punto flotante en pila de argumentos por el

pórtico serial). Seguidamente se presenta las rutinas en mención:

.**+** SUBRUTINAS GENERALES *****

ABSOL:2E4C2E4E2E50

2E512E532E55

2E562E592E5A2 ESC2 ESE

2E5F2E612E63

2E642EG62E68

2E692E6B2E6D

2EGE2E702E72

2E732E762E772E7A2E7C2E7D2E7F2E812E822E842E872 ESA

2E8B2 ESC2E6F2E902E922E942E972E982E9A2E9C2E9E2E9F2EAO2EA22EA52F.A62EA82EA92EAB2EAE2EBO2EB2

7418F10922

7422F10922

53DOE7FD7480F10922

740AFIO 922

741CF10922

7407F10922

7419F10922

75F006A453DOE72582F9E5FO3583FB740312003043D01822

A375FOS484600EE5FO75FOOA842410DIGO7483FO22E5FO75FOOA84600CC445FO75FOOODIGO7482FO

MOVACALLRET

ATAN :MOVACA1.LRET

CARSER:ANLMOVMOVACALLRET

COCIENTE:MOVACALLRET

COSENO:MOVACALLRET

CRLF:MOVACALLRET

ENTERO :MOVACALLRET

FROMSTACK:MOVMULANLADDMOVHOVADDCMOVMOVLCALLORLRET

1I2BCD:

INCHOVDIVOZMOVMOVDIVADDACALLMOVHOVXRET

HBCD2 : MOVMOVDIVozSWAPORLMOVACALLMOVMOVX

A,*18HRUTINA

A,*22HRUTINA

PSW,*OE7HR5,AA, #8011RUTINA

A, «BARRUTINA

A, ttlCHRUTINA

A,«07HRUTINA

A, l]9f!RUTINA

B.B06ABPSW.flOE?!!A,DPLRl/AA,BA,DPHR3,AA, «0330HPSW, K18H

DPTRB,H100ABHDCD2A,BB, «10ABA,*10HNPFA,«83HeOPTR^A

A,BB, *10ABHBCD1AA,BB, POOHNPFA, «821-1QDPTR,A

;SACA VALOR ABSOLUTO DE ULTIMO NUMERO STACK

;SACA ARCO TANGENTE DE ULTIMO NUMERO DE STACK

;TRANSMITE CARÁCTER EN ACUMULADOR A PORT. SER./TRABAJA CON BANCO CERO DE REGISTROS/CARÁCTER A R5

;DIVIDE PENÚLTIMO NUMERO DE STACK PARA ULTIMO

;SACA COSENO DE ULTIMO NUMERO DE STACK

;ENVÍA CR-LF A PÓRTICO SERIAL

,-OBTIENE EL VALOR ENTERO DE UN NPF

;SACA UN NUMERO DE PUNTO FLOTANTE DE STACK

/TRABAJA CON BANCO CERO DE REGISTROS

;INVOCA A SUBRUTINA BASIC QUE 6ACA DATO DE;STACK A DIRECCIÓN R3:Rl;TRABAJA CON BANCO TRES DE REGISTROS

;COHVIERTE UN HEXADECIMAL (EN ACC) EN NPF;(PAQUETE BCD) Y ALMACENA EN «DPTR/APUNTA A 2 DÍGITOS MAS SIGNIFICATIVOS

;DI.VIDE NUMERO EN HEXADECIMAL PARA 100;SALTA SI EL NUMERO MENOR QUE 100

;DIVIDE RESULTANTE PARA 10i PONE EN PRIMER DÍGITO DE ACC EL 1;CARGA DÍGITOS Y SIGNO DE NPF;3 ES EL EXPONENTE DEL NPF

;HPF ES MENOR QUE 100;ASI QUE SE LO DIVIDIRÁ PARA 10

;SALTA SI NPF MENOR QUE 10;PONE DÍGITO EN LUGAR MAS SIGNIFIC.;Y CARGA B E» LUGAR MENOS SINGIFIC./SEGUNDO PAQUETE BCD ES CERO/CARGA DÍGITOS Y SIGNO;2 ES EL EXPONENTE D.EL NPF

Página 46

Page 47: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

MODULARIZACION DEL SOFTWARE

2EB32EB42EB62EB72EBA2EBC2EBE2EBF2 ECO2EG12EC22EC42 ECS2EC62EC72EC82EC92ECA2ECB2ECC2ECD2ECE

2ECF2 EDI2ED3

2ED42ED62ED8

2ED92EDC2EDE2EEO2EE32 EES2EE72EE92EEC2EEE2EFO2EF32EF52EF72EF92EFB2EFD2EFF2F022F042F062F08

2F092FOC2FOF2F122 VI 42F162F192F1B2F1C2F1F2F21

2F222F242F2G

2F272F292F2B

2F2C2F2E2F30

22E5FOC4V5FOOODIGOV481FO22FOA3H5FQC4FOA3E4FOA3FOA3FOA322

7488F10922

7484F10922

9008357464D18B9008357401F136D1CF9008477401F1369008417401F136D15FF12C7419F1099008357401F136D15F22

53DOE712003043D018COEOE590B52003DOEO22122623DOEO32

741AF10922

741FF10922

7482F10922

RETHBCÜ1 : MOV

SWAPMOVACALLMOVMOVXRET

NPF: MOVXINCMOVSVfAPMOVXINCCLRMOVXINCMOVXi ncMOVXINCRET

PRODUC:MOVACALLRET

RESTA ;MOVACALLRET

REDON2 :MOVMOVACALLMOVMOVACALLACALLMOVMOVACALLMOVMOVACALL"ACALLACALLMOVACALLMOVMOVACALLACALLRET

RUTINA:

ANLLCALLORLPUSH

CAMDISsCJNEPOPRET

ACTUD: LCALLPOPRET

SIGNO:MOVACALLRET

SQR:MOVACALbRET

SUMA:MOVACALLRET

A,BAB,*00NPFA, tteiH6DPTR,A

@ DPTR, ADPTRA,BA0DPTR,ADPTRA0DPTR,ADPTR0DPTR,ADPTR0DPTR,ADPTR

A, H88HRUTINA

A,*84HRUTINA

DPTR, «difA, HOOH2BCDD P T R , f l d i fA, K O ITOSTACKPRODUCDPTR,*k2A, #01TOSTACKDPTR, tklA , * 01TOSTACK.COCIENTESUMAA,»19HRUTINADPTR, ftdifA, 101TOSTACKCOCIENTE

PSW,«OE7H30HPSH,*18HACCMOV A,P1A, 2 O l í , ACTUDACC

ACTOISACC

A,*1AHRUTINA

A, I1FIIRUTINA

A , « 8 2 HRUTINA

;NPF ES MENOR QUE 10

;CARGA EN tDPTR DÍGITOS MAS SIGNIFICAD.

/PREPARA EN ACUMULADOR SIGUIENTES DÍGITOS;Y CÁRGALOS EN IDPTR

;LOS SIGUIENTES 4 DÍGITOS SON CERO

;EN SIGNO, CERO PARA INDICAR POSITIVO

;MULTIPLICA ÚLTIMOS DOS NÚMEROS DE STACK

;RESTA PENÚLTIMO HUMERO MENOS ULTIMO

;APROXIMA NPF EN STACK A 2 DECIMALES;SE PONDRÁ EN REGISTRO dif;100 COMO NPF EN PAQUETE BCD

;LLEVA VALOR DE 100 A STACK

/MULTIPLICA NPF EN STACK POR 100

/ENVÍA K2 Y Kl A STACK

;Y LOS DIVIDE PARA OBTENER;K2/K1=0.5 Y SÚMALO A NPF PARA;REDONDEAR AL SEGUNDO DECIMAL;OBTIENE EL ENTERO

100 NUEVAMENTE A STACK

/VUELVE A DIVIDIR PARA 100

;EFECTÚA LLAMADAS A RUTINAS BASIC Y/CHEQUEA SI HAY CAMBIOS EN DISPLAY

/HASTA AQUÍ LLAMADA A BASIC, EL PROCESO/SIGUIENTE DEBE SER TRANSPARENTE

/REALIZA LA COMPARACIÓN ENTRE Pl/Y 20H, SAL SI SON IGUALES

;ACTUALIZA DISPLAY

/SACA SIGNO DE ULTIMO NUMERO DE STACK

/SACA RAI7, CUADRADA DE ULTIMO NUMERO DE STACK

;SUMA ÚLTIMOS DOS NÚMEROS DE STACK

Página 47

Page 48: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

TOSER:2F31 74902F33 F1092F35 22

2P36 V5FOOS2F39 A42F3A 53DOE72F3D 25822F3F F82F40 E5FO2F42 35832 F 4 4 FA2F45 74022F47 1200302K4A -13D0182F4D 22

MOVACALLRET

TOGTACK:MOVHULANLADDMOVMOVADDCMOVMOVLCALLORLRET

A,#90HRUTINA

B, t06ABPSW, «OE7I!A,DPLR O , AA,BA,DPHR2,AA, «0?.30HPSW, H18H

;ENVÍA NPP EN STACK A PÓRTICO SERIAL

/ENVÍA UN NUMERO DE PUNTO FLOTANTE A STACK

,-TRABAJA CON BANCO CERO DE REGISTROS

/INVOCA A SUBRUTINA BASIC QUE PONE EN;STACK A DIRECCIÓN R2:RO;TRABAJA CON BANCO TRES DE REGISTROS

Básicamente, las rutinas BASIC se ejecutan asignando su valor

correspondiente al acumulador, determinando el trabajo con el banco O de

registros, llamando a la dirección 30H y regresando al banco 3 (como co-

rresponde cuando se trabaja con rutinas en ensamblador). Estos 3 últimos

pasos lo hace la rutina RUTINA, que además chequea si existen cambios en el

selector conectado a Pl que indica la pantalla del LCD que debe ser mostra-

da.

Las rutinas H2BCD y REDON2 se encargan de convertir 1 número

hexadecimal en BCD para pasarlo al LCD y de redondear un número en punto

flotante a 2 cifras. Estas por sí solas no constituyen rutinas BASIC pero

dado que se usan en diferentes partes del programa, se 1 es dio el mismo

tratamiento que éstas últimas para invocarlas como un comando dentro del

programa.

3.2.Rutinas de Inicialización

Esta rutina se encarga de poner al microcontrolador a punto

para su operación, para ello debe iniciar la operación del microcontrola-

dor, iniciar la operación del LCD y ordenar el mapa de memoria RAM. Cada

una de estas tres etapas se trata a continuación.

3.2.1.Arranque del microcontrolador.

El BASIC-52 provee una alternativa de arranque que transfiere

el control inicial del microcontrolador a un programa en ensamblador. Para

ello es importante ubicar en la localidad de memoria de programa externa

Página 48

Page 49: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

RUTINAS DE INICIALIZACION

2001H el byte OAAH, el cual indica que el inicio de la rutina de arranque

se debe transferir a la localidad 2090H.

9REn la referencia [ ] se explica de manera detallada la manera

de hacer este arranque y se da un programa modelo. El diagrama de flujo y

la rutina creada se basan en ésta.

BASIC muíGIMUOSCOH, IMOtl, TCON fItCOM

IHlGlMlZAGONcfEHCOHO

PE PILAS

PUHIEROSPE HAHEJO

01

1HDICAQUEHOHATPROGIUUA CU RAM

REALIZA CÁLCULOS CON. VALOR DEL CRISTM.I CHVIARKNSA/E

CON X[Al=i2MHr H A C ECÁLCULOS REQUERIDOS

HGURA 3.7.- FLTJJOGRAMA DE ARRANQUE DKTMTC-ROCONTROLADOR

Los cálculos con el valor del cristal (para calibrar los teirpo-

rizadores internos) y la transmisión del mensaje vía serial no requiere de

un procesamiento mayor, ya que exiten rutinas BASIC que realizan estas

operaciones y que se aplican tal como aparecen en el programa a conti-

nuación.

2001

2001 AA

ORG 2001H

DB OAAH ; INDICA A BASIC QUE EL, RESET ES EXTERNO

2090

2090 78FF2092 E42093 F62094 D8FD2096 7S814D

ORG 2090H ; LOCALI7.ACION DE BASIC PARA RESET

; BASIC ASIGNO SCOtl, TMOD, TCON Y T7.CON

,**-*** IHICIALIZAGION DE MEMORIA *****

MOVCLR

HESETl:

MOV

RO, IOFFIIAMOV 0RO,ARO,RESET1SP,«4DH

;PRIMERO ENCERA MEMORIA INTERNAíCOH EL ACUMULADOR = CERO

;Y RO COMO PUNTERO

;PUNTERO DE PILA INTERNA Y

Página 49

Page 50: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

RUTINAS DE XNICIALIZACION

2099 753E4D209C 7B07209E 79FF20AO 90FFFF2ÜA3 A320A4 E420A5 FU20A6 EB20A7 B583F920AA E920AB B582F5

20AE 90010A2ÜB1 740F20B3 FO20B4 A320B5 74FF20B7 FO20B8 90010420BB 740F20BD FO20BE A320BF 74FF20C1 FO20C2 90010820C5 740220C7 FO20C8 A320C9 740620CB FO20CC 90010620GF 740F20D1 FO20D2 A32ÜD3 74FF20D5 FO

20D6 7509FE20D9 7511FE20DC 90020020DF 740120E1 FO

20E2 8006

20E4 00 00 0020E7 00 00 1220EA 9020E420ED E50920EF C320FO 940620F2 F50920F4 F620F5 75A00120F8 790620FA E420FB 9320FC F220FD A320FE 1820FF D9F92101 74582103 120030

2106 7513022109 751400

210C 75CBFF210F 75CAD8

2112 7B322114 79802116 D2342118 7406211A 120030

MOV 3EM,*4DH ; PORTADOR DEL MISMO INICIALIZ/iDOSMOV R3,*07H ;07FFH BYTES DE MEHORIA INTERNAMOV R1,*OFFH ;A SER INICIALIZADOS EH ESTE PASOMOV DPTR,»OFFFFH /INICIALIZA DPTR DESDE CERO

RESET2 : INC DPTRCLR A ,-EMCERA USAtIDO ACUMULADORMOVX 9DPTR,A ;A LOCALIDAD APUNTADA POR DPTRMOV A,R3CONE A,DPH/RESET2 ; SIGUE HASTA QUE DPTR SEAMOV A,R1 ; IGUAL, A R3 :R1CJNE A,DPL,RESET2

. ***** INICIALIZACION DE PUNTEROS *****

MOV DPTR, H10AH rPRIMERO MTOPMOV A,flOFH ;QUE SERA IMICIALIZADO CONMOVX «DPTR.A ;EL VALOR OFFFII EQUIVALENTESINC DPTR ;A LAS RAM U4 Y U5MOV A,*OFFHMOVX 9DPTR,AMOV DPTR,*104H ; AHORA VARTOP=MEMTOPMOV A,*OFH ;QUE SERA INICIALJZADO CONMOVX ODPTR.A ; EL VALOR OFFFII E INDICAINC DPTR ;QUE NO HAY ESPACIO RESER-MOV A,ttOFFH ;VADO PARA STRINGSMOVX 6DPTR,AMOV DPTR,»108H / DIMUSE=518 ( 306h ) = LONGITUDMOV A,»0?.H ;DEL PROGRAMA EH RAM (0) +HOVX 8DPTR,A .-DIRECCIÓN INICIO PROGRAMA-INC DPTR ;CION EN RAM (532) + LONGITUDMOV A,*06H ;DE NUMERO PUNTO FLOTANTE (6)MOVX 0DPTR,AMOV DPTR,»:106H ; FINALMENTE VARUSE=VARTOPMOV A,tOFH ;QUE SERA INICIALIZADO CONHOVX 0DPTR,A ; EL VALOR OFFFH E INDICA QUEINC DPTR ;NO HAY VARIABLES EH RAMMOV A, tOFFHMOVX 0DPTR,A

,.**** PREPARACIÓN DE PILAS Y ÁREA DE PROGRAMA *****

MOV 9H,»OFEH ; INICIALIZA PILA DE ARGUMENTOSMOV 11H,*OFEH jINICIALIZA PILA DE CONTROLMOV DPTR,*512 ;APUNTA EL INICIO DEL ÁREA DEMOV A,»01H ;DE PROGRAMA PARA PONER EOFMOVX 9DPTR,A

;***** CÁLCULOS CON VALOR DE CRISTAL *****

SOHP RESET3

XTAL: DB OOH,OOH,OOH /PUNTO FLOTANTE DE CRISTALDB OOHÍOOH,12H ;12 MHz.

RESET3: MOV DPTR, • XTAL ; ENVÍA VALOR DE CRISTAL AMOV A, 9 ;PILA DE ARGUMENTOSCLR CSUBB A, 16 /INDICA QUE VA UN HPF A PILAMOV 9 , AMOV RO,A /GUARDA ESTE VALOR EN ROMOV P2,*l ;P2 INDICA LA PAGINA DE LA PILAMOV Rl,*6 ;EL NUMERO DE BYTES A TRANSFERIR

RESET4: CLR A /TRANSFIERE EL VALOR DE ROM AMOVC A,9A-tDPTR /LA PILA DE ARGUMENTOS EN AMOVX 0RO,AINC DPTRDEC RODJNZ R1,RESET4 /TRANSFIERE TODOS LOS DÍGITOSMOV A,I58H /LLAMA A RUTINA BASIC DE CALCULOLCALL 30H ; DE VALOR DEL CRISTAL

;***** INDICA DONDE EMPIEZA PROGRAMA USUARIO *****

MOV 13H,tO;íH /INDICA A BASIC QUE COMIENZOMOV 14H,«OOH /DE PROGRAMA ESTA EN 512 (200H)

/***** IHICIALIZACIOH PÓRTICO SERIAL *•**»*

MOV RCAP2H,«OFFH ;EN RCAP3 SE PONE OFFD8H PARAMOV RCAP2L,flOD8H ;9GOO bpg CON 12 MHz

.*+*** EHVIA MENSAJE A CONSOLA *****

MOV R3,«32H /DIRECCIÓN DEL MENSAJE ENMOV R1,«80H /R3:R1SETB 52 /IMPRIME MENSAJE DE ROMMOV A, t6 ;A CONSOLA INVOCANDO ALCALL 3 OH /RUTINA BASIC

Página 50

Page 51: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

RUTINAS DE INICIALIKACION

2110211F2122212421262128212A212D212F

74071200307B3279AOD234740G1200307407120030

1ÍOVLCALLMOVMOVSETBMOVLCALLMOVLCALL

A, «73 OHR3,#3?.HR1,«OAOH52A, #G3011A,*730H

; ENVÍA UN CR LF

/DIRECCIÓN DEL MENSAJE EN; R3 ; Rl; MENSAJE ESTA EN ROM

,- LLAMA A RUTINA BASIC; ENVÍA UN CR LF

3280 ORG 3280H

;****+MENSAJE DE INICIALIZACION SERIAL

3280 20 4D 45 DB 20H , 4DH, 45H , 44H, 49H , 4 411, 4FH, 52H , 2OH3283 44 49 44 4F 52 203289 44 45 20 DB 44H,45H,20H,66H,70H328C 66 70328E 22 DB 22M

32AO

33AO 30 45 53 DB32A3 50 45 52 45 2032A8 31 35 20 DB32AB 53 45 47 2E32AF 22 DB

ORG 32AOH

2011, 45H , 53 H, 50H, 45H ,5211,45(1, 2 OH

31H,35H,20H,53H,45H,47H,2EH

22H

íMEDIDOR

;DE fp

/TERMINA MENSAJE

;ESPERE

;15 SEG.

/TERMINA MENSAJE

Debido a que la base de la presente aplicación es el programa

en ensamblador, se puede terminar la rutina de esta forma, si se deseara

continuar .al modo linea de comando, se puede aplicar las siguientes

instrucciones luego de la secuencia de RESET.

CLR ALOMP 3OH

Finalmente, cabe destacar que un mensaje transmitido desde RCM

hacia la consola o impresora serial finaliza cuando BASIC-52 encuentra el

código 22H.

3.2.2.Inicialización del LCD.

Cada vez que el módulo LCD es encendido, un procedimiento de

inicialización debe ser ejecutado. Este proceso consiste en enviar una

secuencia de códigos del microcontrolador para dar información sobre el bus

de datos, para indicar si se desea cursor, para limpiar la pantalla y poner

el módulo en un modo de autoincremento.

El código inicial (30H, 34H ó 38H) es enviado dos o más veces

para asegurar que el módulo recibe datos de 4 u 8 bits. Todas las secuen-

cias son realizadas bajo la condición de que el selector de registros (RS)

tenga un nivel bajo (para ello se envían datos a la dirección 1AOOII) y lec-

tura/escritura (R/W) también esté en bajo.

Página 51

Page 52: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

RUTINAS DE INICIALIZACION

El mensaje que se envía posteriormente para indicar que el LCD

ha sido inicializado se efectúa con la condición de que exista una señal de

alto en RS (dirección 1A01H) y R/W en bajo.

rOAfOSDE 8 BUS, ICPDE 1 LINEAS, CARAC.-f

SU

aicEMDUxT)3Z 3 I3ms

AUIOIHCREMENIO

ENCIíHPEPAHlAUASIHCURSOR Hl PARPADEO

UMPIAPANIMIA —

PRlHER PICHODE DDRAW

INDICA FIH DEIHICIAtlíAClOH

SECUENCIADE RESÉ I

40 <r POR C A C ACARACIER }'

FIGURA 3.3.-FLUJOORAMA DKmiCIAUZACION DKL

En la figura 3.3 se muestra a continuación es la secuencia de

inicialización de módulos de formato de carácter 5x7 como el L2012 sugerida

por el fabricante.

Por cada código crue se envié es necesario esperar un tiempo

determinado para que se ejecute la instrucción antes de enviar el código

siguiente. Si bien los tientos de ejecución asumidos en el programa son

los recomendados por el fabricante y no se tuvo problema alguno al correr

el programa, la mejor forma de saber si se puede enviar otra instrucción es

chequeando la bandera de ocupado. Esto se logra con RS en bajo y R/W en

alto, es decir, leyendo la dirección 17\OOH; si el bit más significativo del

valor leído es 1, el módulo está trabajando internamente y no se aceptarán

instrucciones hasta que el bit mencionado sea 0.

A continuación se muestra la rutina de inicialización del LCD:

Página 52

Page 53: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

RUTINAS DE INICIALIZACION

INDISP: ,-INICIALIZACIOH DISPLAY

214F 43D0182152 79962154 78322156 D8FE2158 D9FA215A 7438215C 901AOO215F FO2160 79322162 783 22164 D8FE2166 D9FA2168 FO2169 A93C216B D9FE216D FO216E A91E2170 D9FE2172 FO2173 A91E2175 D9FE2177 74062179 FO217A 791E217C D9FE217E 740C2180 FO2181 791E2183 D9FE2185 74012187 FO2188 A914218A 7832218C D8FE218E D9FA

ORLHOV

PAUSA1 ;DJNZDJNZHOVMOVHOVXMOV

PAUSA?. :DJNZDJNZMOVXMOVDJN2MOVXMOVDJNZMOVXMOVDJNZMOVMOVXMOVDJNZMOVMOVXMOVDJMZMOVMOVXMOV

PAUSA3 :DJNZDJNZ

PSW,*18HRl,«150MOV R0,t50R0,£R1,PAU6A1A, «3GHDPTR,*discom9DPTR,ARl,«50MOV RO,I50RO,SRl , PAUSA20DPTR,ARl,60R1,S3DPTR,ARl,30Rl,$0DPTR,ARl,30Rl,$A,» 061 1@DPTR,AR1,I30Rl,$A,flOCH0DPTR,ARl,«30Rl,$A,t01H@DPTR(ARl/20MOV RO,I50R0,$Rl , PAUSAS

,-TRABAJA COH BANCO 3 DE REGISTROS; REALIZA UtlA ESPERA DE 15 ms

;PARA GARANTIZAR RESET DEL DISPLAY

; INICIA SECUENCIA DE RESET DEL DISPLAY/(ESTA ES LA DIRECCIÓN DE COMANDOS)/ENVIANDO 4 VECES EL VALOR 3 8! I/CON ESTADOS DE ESPERA INTERCALADOS

; ( PRIMERO UNO DE 5ms Y LUEGO TRES; DE 60us)/DE MANERA QUE EL/EL DISPLAY RECIBA EL COMANDO/DE ESTABLECIMIENTO DE FUNCIÓN/LONGITUD DE BYTE 8 BITS, DISPLAY DE;2 LINEAS, FORMATO 5x7 PUNTOS

/COMANDO DE MODO DE E NTRADA : EN INGRESO;DE DATOS, LA PANTALLA NO SE DESPLAZA Y/LA POSICIÓN DEL CURSOR SE INCREMENTA

/COMANDO DE CONTROL DE DISPLAY: ENCIENDE/EL DISPLAY, DESACTIVA EL CURSOR.

/COMANDO DE LIMPIAR PANTALLA

/ESPERA DE 2ug PARA COMANDO ANTERIOR

/MENSAJE DE RESET

2190 74802192 FO2193 791E2195 D9FE2197 78002199 903280219C ES219D 93219E B4220221A1 21AE21A3 901A0121A6 FO21A7 0821A8 791E21AA D9FE21AC 219921AE 901AOO21B1 74CO21B3 FO21B4 791E21B6 D9FE21B8 780021BA 9032AO21BD ES21BE 9321BF B4220221C2 21CF21CM 901A0121 C7 FO21C8 0821C9 791E21CB D9FE21CD 21BA21CF E59021.D1 F52021D3 53DOE721D6 22

MOVMOVXMOVDJNZ,MOV

HEÑÍ: MOVHOVMOVGCJNEAJMP

MENA: MOV -MOVXINCMOVDJNZAJMP

MEN2 : MOVMOVMOVXMOVDJN?,MOV

MEN3 : MOVMOVMOVCCOMEAJMP

MENB : MOVMOVXINCMOVDONZAJMP

MEN4 : MOVMOVANLRET

A,»80H9DPTR,ARl,«30Rl,$RO, 100DPTR,*3280HA,ROA,0A-)DPTRA,*22H,MKNAMEH2DPTR, Idisdat0DPTR,ARORl,t30Rl,$MEtaDPTR,*dlgcomA, IOCOH0DPTO.ARl, 130R1,SRO, 100DPTR, t32AOHA,ROA , QA-l-DPTRA, H22H,MENBMEN4DPTR, IdisdabBDPTU^ARORl, 130Rl,$MEM3A, Pl2011, APSW, ÍOE7H

/UBICA ESCRITURA A PRIMER BYTE DEL DD RAM/PARA ESCRIBIR MENSAJE DE RESET

I PUNTERO DE LETRAS DE MENSAJE/DIRECCIÓN INICIAL DE MENSAJE EN ROM/CARGA CARÁCTER RO/EN ACUMULADOR

;ESTA LA DIRECCIÓN DE DATOS DE DISPLAY/Y PASA DATO A DISPLAY;LEE SIGUIENTE CARÁCTER

/UBICA ESCRITURA A PRIMER BYTE 2DA. LINEA,-PARA ESCRIBIR MENSAJE DE RESET

/PUNTERO DE LETRAS DE MENSAJE/DIRECCIÓN INICIAL DE MENSAJE EN ROM/CARGA CARÁCTER RO/EN ACUMULADOR

/ESTA LA DIRECCIÓN DE DATOS DE DISPLAY/Y PASA DATO A DISPLAY;LEE SIGUIENTE CARÁCTER

/COPIA VALOR DE Pl A/BYTE INTERNO 2 OH/VUELVE A BANCO 0

El mensaje a transmitirse al LCD y que indica que la rutina de

inicialización de éste ha sido corrida se encuentra a partir de las di-

recciones 3280H y 32AOH y se constituye el mismo mensaje que se transmitió

Página 53

Page 54: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

RUTINAS DE OFICIALIZACIÓN

vía serial con el mismo propósito. Nótese que la manera de ubicar el fin

del mensaje es detectando el carácter 22H que es el mismo criterio de la

rutina BASIC de transmisión serial de mensaje en RCM.

3.2.3.Disposición del mapa de memoria.

Se mencionó que una gran parte de operaciones se realiza con

números en punto flotante almacenados en memoria, entonces, antes de i-

niciar el diseño del programa, hay que establecer donde se encontrarán al-

macenados estos valores en la memoria de la tarjeta. Para ello, se debe

considerar tres aspectos:

>• Cuanto espacio se requiere.

>• Cuanto espacio está disponible en la tarjeta.

>• Como se distribuirá la memoria de manera que no interfiera con elfuncionamiento de la tarjeta.

Memoria requerida

Constantes son aquellas cantidades que no varían mientras se

ejecuta el programa, éstas normalmente se encuentran tabuladas en memoria

EPRCM. Las variables, en cambio, cambian su valor a través del tiempo y se

encuentran almacenadas en memoria RñM. Dado que las rutinas BASIC-52 de

transferencia pila de argumentos - memoria solo operan con memoria RAM al-

gunas constantes deben ser llevadas allí, por consiguiente, para el cálculo

de memoria requerida serán tomadas en cuenta como variables.

Entonces, lo primero que debe hacerse es definir con que va-

riables se va a trabajar. Para saber cuanto espacio se requiere, se debe

multiplicar el número de variables por 6 ya que el MCS BASIC-52 almacena

todos los números punto flotante en un formato normalizado BCD que ocupa 6

localidades de memoria, en el apéndice II, se explica cual es el formato al

hablar de almacenamiento en RAM externa.

La etapa de adquisición de datos almacena 32 datos de voltaje v

y 32 datos de corriente i, ésto es 384 bytes.

La etapa de cálculo del factor de potencia toma estos valores y

obtiene el valor eficaz del voltaje vrms, de la corriente ZZTTIS, la potencia

Página 54

Page 55: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

RUTINAS DE INICXALIZACION

real P, la potencia aparente S y el factor de potencia fp. Son 30 bytes

más.

El análisis de armónicas requiere de 32 datos reales rx y 32

imaginarios ix para analizar la señal, 32 para ordenar los valores de po-

tencia de la señal pora, 32 para los valores de fase ford, 32 para indicar

los armónicos de voltaje varm y corriente iarm, 32 para las respectivas

fases vfas e ¿fas, 2 para la distorsión armónica tobal de voltaje thdv y de

corriente thdi y 1 para el factor de potencia de desplazamiento fpd. Las

constantes inherentes a la transformada rápida de Fourier son 16 reales rar<TK>y 16 imaginarias ir de W . Son en total 1362 bytes.

Otras constantes que se utilizan son kl=32 (numero de muestras

tomadas), k2=16 (número de W )y pí2=pi/2. Para cálculos utilizados en

diversos módulos, se requiere de dos acumuladores svm y di£. Son 30 bytes

más.

Como el LCD requiere de estados de espera, es conveniente tener

un "Display RAM", es decir, un área de RAM que tenga todos los datos que

podrían ir al LCD de manera que cuando el microcontrolador haga cálculos,

actualice solo está sección de memoria y solo cuando se requiera actualizar

el LCD, se transfiera información entre memoria y el LCD. Para esto se

requiere 240 bytes.

Todo esto da un total de 2046 bytes de memoria RAM.

Adicionalmente, es necesario asignar una localidad de memoria

al conversor analógico digital que rrd.de voltaje y otra para el que mide

corriente. De ser preferible cada conversor debe tener su propia línea CS

(Chip Selector). Se debe obrar de manera similar para la pantalla de vi-

sualización de resultados (LCD).

Espacio disponible

Debe recordarse que la memoria que se puede utilizar con el

8052AH-BASIC es básicamente externa. La memoria RAM interna es usada en su

mayor parte por el BASIC-52 por lo que para el manejo de variables se usará

solo RAM externa. Solo la localidad interna 20H se usará como registro del

Página 55

Page 56: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

RUTINAS DE INICIALIZACION

selector de pantalla del LCD, ésta y la localidad 21H, además del banco 3

de registros, son las únicas localidades internas permitidas al usuario.

La tarjeta del 8052AH-BASIC tiene particionada la memoria enOQ

una configuración de memoria/hardware modo RAM/EPRCM¿:7 buscando algunas

características como programación de EPRQM's, manejo de interrupciones

desde ensamblador, extensión del conjunto de comandos/sentencias, operaciónorv

de reset en lenguaje ensamblador y realización de algunas pruebas0 . El

mapa de memoria queda establecido de la siguiente manera:

ELEMENTO

U4-RAM1

U5-RAM2

UG-8255

114-6,7,6

U2-EPROM1

U2-EPROM1

H4-2

U3-EPROM2

H4-3

H4-4

114-5

CAPAC.

2K.

2K

O.SK

1.5K

8K

8K.

2K

8K

8K

8K

8K

DIRECCIÓN

OOOOh-OlFEh

01FFh-07FFh

OSOOh-OFFFh

1800h-19FFh

lAOOh-lFFFh

2001H

2002h

2Ó03h-202Fh

2030h-203Fh

2040h-2047h

2048h-2049h

2050h-2059h

20GOh-2069h

2070h-2087h

2088h-2099h

2090h-209Fh

2100h-21FFh

3200h-3FFFh

dOOOh-SFFFh

6000h-7FFFh

8000h-9FFFh

AOOOh-BFFFh

COOOh-DFFFh

EOOOb-FFFFh

DESCRIPCIÓN

RESERVADO BASIC-52

RAM LIBRE

RAM LIBRE

INTERFAZ 8255

DISPONIBLE

SI AAh, USA RESET PARA ASSEMBLER

SI 5Ah, EXTENSIÓN COMANDOS/SENTENCIAS.

MANEJO DE INTERRUPCIONES

RUTINAS DE MANEJO DE CONSOLA

TRAMPA INT. EXT. 1 0 MANEJO CONSOLA

MANEJO MANUAL COMANDOS/SENTENCIAS.

TRAMPA DE LA INT. PÓRTICO SERIAL

RESERVADO MANEJO DE CONSOLA

RESERVADO EXTENSIÓN COMANDOS/SENTENCIAS.

TRAMPA DE LA INT. EXT. 1

RESET PARA ASSEMBLER

LLAMA RUTINAS ASSEMBLER DE USUARIO

EPROM LIDRE

SOLAPADO 2000h-3FFFh POR JP6 : 2 y 3

DISPONIBLE

PROGRAMAS BASIC

DISPONIBLE

DISPONIBLE

DISPONIBLE

La memoria RAM disponible es de 3585 bytes ubicadas entre OlFFh

y OFFPh. Por otro lado, las líneas de selección de chip disponibles para

manejar los dispositivos de entrada y salida son CS1B (desde lAOOh 512 by-

tes), CS2B (ICOOh 512 bytes), CS3B (lEOOh 512 bytes), CS3 (GOOOh 2K), CS5

(AOOOh 8K), CS6 (COOOh 8K) y CS7 (EOOOh 8K).

Distribución de variables en memoria

Se requiere de 2046 bytes de memoria RAM y se dispone de 3585,

esto da un sobrante de 1539 bytes. Cabe la pregunta ¿ es necesario tener

memoria disponible ?. Si se considera que se debe hacer pruebas para la

Página 56

Page 57: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

RUTINAS DE INICIALI2ACION

etapa de diseño o modificación del programa, es necesario tener memoria

disponible para hacer pegúenos programas y manejar unas pocas variables.

El BASIC-52 ubica las variables desde la última localidad de

memoria disponible hacia las anteriores por lo que se debe reservar un es-

pacio al final de RAM para el uso de variables BASIC (30 son más que sufi-

cientes para un programa de prueba) y dejar el resto de la memoria

disponible al comienzo para el programa de prueba en si (casi 1.3 Kbytes

restantes).

De esta manera, el mapa de memoria RAM gueda establecido así:

DIR.JNIG.

OlFFh

017011

OBOOh

0806H

080Ch

0812h

0818h

081Eh

0824h

082AH

0830H

083 6h

083Ch

0842h

0848h

065 Oh

0910h

09DOh

OA3 Olí

OA90H

OBSOh

OClOh

OCDOn

QD90h

ODFOh

OESOh

OEBOh

OFIOh

NEMONICO

dspcam

power

3

fp

epdvrms

irms

thdithdv

sum

di£

pi2

klk2V

i

rar

ir

rx

ix

pord

£ord

varm

iacm

v£as

i fas

FUNCIÓN

libre procirama de prueba

tnbio de Dieplay RAM

potencia real

poCencia aparente

factor de potencia

factor de potencia de desplazan*.

valor rms de voltaje

vaJor rms de corriente

distorsión armónica total corr.

distorsión armónica total voltaje

acumulndor

ocumulador

pi2=pi/?.

kl

k2

datos de voltaje

datos de corriente

real H^-

imaginario Vf**

real de variab. análisis armónicas

imaginario de variab. anal. arm.

módulo de armónicas

fase de armónicas

armónicas de voltaje

armónícao de corriente

fase de armónicas de voltaje

fase de armónicas de corriente

libre variables BAGIC

SO. VARIABLES

240 bytes

1

1

1

1

1

1

1

1

1

1

1

1

1

32

32

16

16

32

32

32

32

16

16

16

16

30 BASIC

NUMERO BYTK9

1297

240

6

6

6

6

6

6

6

6

6

6

6

6

6

192

192

96

96

192

192

192

192

96

96

96

96

240

No está demás decir que si al realizar un programa de prueba,

se utiliza más memoria que la requerida ya sea en el programa o en las

variables BASIC, los resultados a obtenerse son impredecibles.

Página 57

Page 58: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

RUTINAS DE INICIALIZACION

Los convertidores analógico digitales de voltaje y de corriente

se pueden ubicar en las direcciones lEOOh (línea de selección CS3B)y ICOOh

(CS2B) y la pantalla de visualización de datos en IñOOh (CS1B).

Es preciso también ubicar el área reservada, el área de

constantes y el área de programa en la EPROM. En primer lugar, el juroper 6

se pondrá entre las posiciones 2 y 3 para solapar las direcciones

2000h-3FFFh y ^OOh-SFFFh de manera que el manejo de interrupciones, la

opción de reset y la programación en ensamblador se encuentren fisicamente

en el mismo chip (U2-EPROM1). En segundo lugar, se requiere espacio para

las tablas de constantes correspondientes a rar (96 bytes), ir (96 bytes),

pi2(6 bytes), kl (6 bytes), k2 (6 bytes), una tabla de valores k (32 bytes)

para ordenar las armónicas y las tablas de valores de equivalencia del con-

versor de voltaje conwolt (1536 bytes) y corriente convcorr (1536 bytes).

En tercer lugar, se tratará en lo posible de mantener al programa en en-

samblador dentro de la misma página de 11 bits. Así, la meimoria EPRCM se

verá dividida de la siguiente forma:

DIRKCC. INIC.

2001h

200Bh

2090h

2800h

3000h

3100h

320011

3306h

320Cb

3280b

32AOh

3300h

3380h

33EOh

3-ÍOOh

3AOOh

FONCIOH

OAAh para RESET externo

Atención inf.ecr. timar 0

Página 1 del programa

Página 2 del programa

ROM para Display RAM

Direccionee Display RAH

pi2

kl

YaHensaje 1 inicializac.

Mensaje 2 inicializac.

VTKv reales

H^imaginarios

K

Conwolt

Convcorr

TOTAL

NOMERO DE BYTE8

1

3

1589

1698

233

142

6

6

e14

15

96

96

32

1536

1536

7009

Con el objeto de modalarizar, todos los punteros se cargarán

con constantes de manera que si se desea cambiar la estructura misma del

programa y los datos, solo se tenga que cambiar al inicio del programa.

Para iniciar el programa ensamblador, el listado requerido de constantes

quedaría de la siguiente forma:

LISTADO DE CONSTANTES

Página 58

Page 59: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

RUTINAS DE INICIALIZACION

084132050847320B083B31FF

; Las direcciones que apuntan las siguientes constantes son las; anteriores oí primer dígito de las valorea a usarse.

leí EQU 0841H ;kl=NUMERO DE MUESTRAS TOMADASklrom EQU 3205H ;DATO Kl EN ROMk2 EQU 0847H ;fc2=NUMERO DE FRECUENCIAS OBTENIDASk2rom EQU 320BH ;DATO K2 EN ROMpÍ2 EQU 083BH ;pÍ2=pi/2pÍ2rom EQU 31FFH ;DATO PI/2 EN ROM

00280020001.00005000100010001OOFE0006

/ Las siguientes etiquetas tienen asignado los valores a; continuación que indican el número de variables con las,- que se trabaja en determinados procesos

dspnurnmunumrnummulogpi2numklnumk2nurntrebtrel

EQUEQUEQUEQUEQUEQUEQUEQUEQU

4032165111OFEII006H

; NUMERO DE BYTES DE DISPLAY RAM; NUMERO DE MUESTRAS TOMADAS; NUMERO DE W|N<K>;LOG(MUNUM)/LOG(2) PARA 64=6, PARA 32=5

;MSB DE RECARGA TIMER O PARA TOMAR MUESTRAS,-LSB DE RECARGA TIMER O PARA TOMAR MUESTRAS

-**•** + LISTADO DE DIRECCIONES DE ENTRADA Y SALIDA *****

Laa direcciones que apuntan las siguientes etiquetas sondirecciones de localidades externas.

ICO O1EOO1AOO1A01

39FF33FF0835070F2FFF30FFOCCFOD2F080B0811090FODEFOEAFOA2F081D337FOB4F33DF07FFOCOFOC6F09CF32FFOA8F0805082F08230829084FOD8FOE4F0817

adci EQUadcv EQUdiscom EQUdisdat EQU

; Las direcciones/ las anteriores

ccorr EQUcvolt EQUdif EQUdspram EQUdsprom EQUdrpos EQUford EQUfpon EQUfp EQUfpd EQUi EQUlarm EQUi fas EQUir EQUinris EQUirroni EQUix EQUnx EQUpower EQUpord EQUppos EQUrar EQUrarrom EQUrx EQUs EQUsum EQUthdi EQUthdv EQUv EQUvnrm EQUvfne EQUvrms EQU

1COOH1EOOH1AOOHIAOIH

que apuntan

/DIRECCIÓN ADC CORRIENTE; DIRECCIÓN ADC VOLTAJE; DIRECCIÓN COMANDOS DE DISPLAY,-DIRECCION DATOS DE DISPLAY

las siguientes etiquetas sonal primer dato de las tablas a usarse.

39FFH33FFH0835H070FH2FFFH30FFHOCCFHOD2F1I080BH0811H090FHODEFHOEAFHOA2FH081DH337FHOB4FH33DFM07FFHOCOFHOC6FH09CFH32FFHOA8FH0805H082FH0823H0829H084FUOD8FHOE4FH0817H

, TABLA DE CONVERSIÓN DE CORRIENTE EN ROM/TABLA DE CONVERSIÓN DE VOLTAJE EN ROM/REGISTRO TEMPORAL EN FFT; DISPLAY RAM; TABLA INICIAL DISPLAY RAM EN ROM/TABLA DE CAMBIOS EN DISPLAY RAM; TABLA DE FASE FFT ORDENADA; POSITIVOS DE FASE;DATO DE FACTOR DE POTENCIA/DATO DE FACTOR DE POTENCIA DE DESP/TABLA DE MUESTRAS DE CORRIENTE/MODULO DE ARMÓNICAS DE CORRIENTE/FASE DE ARMÓNICAS DE CORRIENTE;TABLA DE wA<k> IMAGINARIOS;DATO DE CORRIENTE EFICAZ/TABLA IR EN ROM,-TABLA DE VARIABLE FFT IMAGINARIA/TABLA A USARSE EN ROM/DATO DE POTENCIA REAL; TABLA DE POTENCIA FFT ORDENADA/POSITIVOS DE ANTERIOR/TABLA DE wft<k> REALES/TABLA RAR EN ROM/TABLA DE VARIABLE FFT REAL/DATO DE POTENCIA APARENTE/REGISTRO TEMPORAL EN FFT/DATO DE DISTORSIÓN ARMÓNICA TOTAL I/DATO DE DISTORSIÓN ARMÓNICA TOTAL V; TABLA DE MUESTRAS DE VOLTAJE/MODULO DE ARMÓNICAS DE VOLTAJE/FASE DE ARMÓNICAS DE VOLTAJE;DATO DE VOLTAJE EFICAZ

Para un adecuado manejo de las rutinas BASIC, se hace necesario

copiar las constantes rar, ir, pi2, kl y k2 de EPRCM a RAM, además de defi-

nir el Display RAM. El paso de las constantes a RAM es fundamental, ya que

la copia de números de punto flotante en memoria a la pila de argumento es

Página 59

Page 60: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

RUTINAS DTE INIC1ALIZACIOH

realizada por el BASIC cuando estos números se encuentran en RAM. La ruti-

na MAPA, mostrada en la figura 3.4, realiza estas funciones:

REQUISITOS: RfJ.R5:TH,DPTR

RO<-#VA1.0RCS A COPIARR5:R,1-c-DIRECCIÓN IHICIALHAHDPTR-í-DIRECCltmiRlCUL ROM

DSPRAM, DSPTWK)

ROMRAM(K2Hi;M.

FIGURA 3.4.- FLXJJOGRAMA

DE, RUTINA MAtA

MAPA

RUTINA QUE CONFIGURA EL MAPA DE MEMORIA RAM

,' ENTRADAS :

/9ALIDAS:

dapromir romklrornk2rompi2romrarrofndspramIrklk2pi2ror

dj reccióndireccióndireccióndireccióndireccióndireccióndireccióndireccióndireccióndireccióndireccióndirección

í nlcioinicioinicioinicioinicioinicioinicioinicioinicioinicioinicioinicio

0710II-OVFFI!OB3CII-0841M0842H-0847HOS-IBH-OBADII09DOH-OA3FHOA30IÍ-OABFH

de bobla de display ram en romde tabla WA<K> imoginarios en romdel valor de kl en romdol valor de k2 en romdsl valor de pi/2 en romde tabla W^<K> reales en romde diaplay ramde tabla H"<K> imaginarios en ramdel valor de kl en ramdel valor de k3 en ramdel valor do pi/2 en ramde tabla HA<K> reales en ram

ubicación da dioplay ramubicación valor de pi/2 en ramubicación vnlor de kl en ramubicación vnlor do k2 en ramubicación tabla Wrt<K> reales en rnmubicación tabla WA<K> imaginarios en rnm

Página 60

Page 61: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

RUTINAS DE INICIALIZACION

,- PROCESO .-

,- Almaceno tablas originarias de rom en localidades de/ de memoria RAM . Para ello invoca a la eubrutina ROMRAM .

/CONSTANTES USADAS:

; dspnum cantidad de bytes de disply ram; klnum cantidad de valoreo de kl/ k2num cantidad de valores de K2; pi2num cantidad de valores de pi /2

rnum cantidad de valorea de

/VARIABLES CREADAS:

; RO indica cantidad de valoreo a copiares en ROMRAM/ R5:R4 dirección inicial de tabla de valoree en RAM; DPTR dirección inicial de tabla de valores en ROM

,-GUBRUTIHAS USADAS

/ ROMRAM

/REGISTROS ALTERADOS

DPTR, A, RO, Rl, R2, R3 , R4 , R5

21D7 43D01821DA 782821DC 90Ü70F21DF A321EO AC8221E2 AD8321E4 902FFF21E7 A321E8 513E21EA 781021EC 9009CF21EF A321FO AC8221F2 AD8321F4 9032FF21F7 A321F8 513E21FA 781021FC DOOA2F21FF A32200 AC822202 AD832204 90337F2207 A32208 513E220A 7801220C 90083B220F A32210 AC822212 AD832214 9031FF2217 A32218 513E221A 7801221C 900841221F A32220 AC822222 AD832224 9032052227 A32228 S13E222A 7801222C 900847222F A32230 AC822232 AD832234 90330B2237 A32238 513E223A 53DOE7223D 22

MAPA: ORLMOVMOVINCMOVMOVMOVINCACALLMOVMOVINCMOVMOVMOVINCACALLMOVMOVINCMOVMOV 'MOVINCACALLMOVMOVINCMOVMOVMOVINCACALLMOVMOVINCMOVMOVMOVINC.ACAbbMOVMOVINCMOVMOVMOVINCACALLAHLRET

PSW, I1Í3HRO, «dspnumDPTR, idspramDPTRR4,DPLR5 , DPHDPTR, «dspromDPTRROMRAMRO , ftrnumDPTR,«rarDPTRR4,DPLR5,DPHDPTR, ffrarromDPTRROMRAMRO, *rnumDPTR, * irDPTRR4,DPLR5.DPI!DPTR, tirromDPTRROMRAMRO, *pi2numDPTR,*pi2DPTRR4 , DPLR5,DPHDPTR, *pi2 romDPTRROMRAMRO, 1 klnumDPTR, dklDPTRR4 , DPLR5 , DPHDPTR,íklromDPTRROMRAMRO, *k2numDPTR,«k2DPTRR4,DPLR5,DPHDPTR, tk2 romDPTRROMRAMPStf,IOE7H

;UTILI7.A BANCO 3 DE REGISTROS/CARGA EN RO CANTIDAD DE VALORES A COPIAR

;DIRECCIÓN INICIAL EN DPTR;CARGA DIRECCIÓN INICIAL DE TABLA DE/VALORES DE DISPLAY RAM EN R5:R4/ÍDEM DE ROM EN DPTR

/COPIA DE ROM A RAM/CARGA EN RO CANTIDAD DE VALORES A COPIAR

;DIRECCIÓN INICIAL EN DPTR;CARGA DIRECCIÓN INICIAL DE TABLA DE/VALORES rnr DE RAM EN R5:R4/ÍDEM DE ROM Eli DPTR

/COPIA DE ROM A RAM/CARGA EN RO CANTIDAD DE VALORES A COPIAR

/DIRECCIÓN INICIAL EN DPTR;CARGA DIRECCIÓN INICIAL DE TABLA DE/VALORES ir DE RAM EN R5:R4;IDEM DE ROM EN DPTR

/DIRECCIÓN INICIAL EN DPTR;CARGA DIRECCIÓN INICIAL DE TABLA DE,-VALORES PÍ2 DE RAM EN R5:R4/ÍDEM DE ROM EN DPTR

;COPIA DE ROM A RAM;CARGA EN RO CANTIDAD DE VALORES A COPIAR

¡DIRECCIÓN INICIAL EN DPTR/CARGA DIRECCIÓN INICIAL DE TABLA DE/VALORES kl DE RAM EN R5:R4/ÍDEM DE ROM EN DPTR

/COPIA DE ROM A RAM/CARGA EN RO CANTIDAD DE VALORES A COPIAR

;DIRECCIÓN INICIAL EN DPTR/CARGA DIRECCIÓN INICIAL DE TABLA DE/VALORES kl DE RAM EN R5:R4;IDEM DE ROM EN DPTR

/COPIA DE ROM A RAM;TRABAJA CON BANCO CERO DE REGISTROS

UBRUTINAS DE MAPA

*** ROMRAM ****

Página 61

Page 62: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

RUTINAS DE INICIALIZACION

;ENTRADAS:

RO . cantidad de valoree en punbo flotanteR5:R4 dirección primer valor del primer dato en RAMDPTR dirección primer valor del primer dallo en ROM

;GALIDAS:

Direcciones R5:R4 - R5:(R4+RO-1) en RAM ocupadas condatos de ROM.

;PROCESO:

; Carga DPTR en R3:R3, por 6 ocasiones (equivalentes a; 6 dígltoB por número en punto flotante) se copia la/ dirección en ROM apuntada por DPTFÍ al acumulador, se/ carga en DPTR la dirección R5:R4 y se carga valor del/ acumulador en eaa dirección, se incrementan lae direcciones; R3:R?. y R5:R4, y se copia R3:R2 en DPTR. Se repite/ hasta que ya no falten más números (R0=0)

;CONSTAN17ES USADAS:

; ninguna

;VARIABLES CREADAS:

; A registro del valor de tabla a copiarse/ RO número de datos a procesarse/ Rl contador de iteraciones para NPF

R3:R2 puntero de tabla de valores en ROM;; R5:R4 puntero de tabla de valores en RAM; DPTR puntero para mover valores desde y hacia el acumulador

,-GUBRUTINAS USADAS

; ninguna

/REGISTROS ALTERADOS

; DPTR, A, RO, Rl, R2, R3, R4, R5

223E22402242

2244224522462248224A224B224C224D224F2250225122522254225522572359225B225D

AB83AA827906

E4938D838C82FOOAEA7001OBOCEC7001OD8B838A82D9E9D8E522

ROMRAM :MOVMOV

ROM1 : MOV

ROM2 : CLRMOVCMOVHOVMOVXINCMOVONZINC

ROM3 : INCMOVJHZINC

ROM 4: MOVMOVDJHZDGNZRET

R3 , DPHR3,DPLR1,*OG

AA,0A+DPTRDPH,R5DPL.R40DPTR,AR2A,R2ROM3R3R4A,R4ROM 4R5DPH,R3DPL,R2R1,ROM2RO , ROM!

;COPIA RO*G LOCALIDADES DE R3 :R2 A I;COPIA DPTR A R3:R2

rCÜEMTA 6 ITERACIONES POR NUMERO EN PUNTO/FLOTANTE (NPF)

;CARGA LOCALIDAD R3:R2 DE ROM A ACC.*

/AJ.MACENA ACC. EN LOCALIDAD R5:R4 DE RAM

/INCREMENTA PUNTERO; DIRECCIÓN EN ROM;R3:R2

; INCREMENTA PUNTERO; DIRECCIÓN EN RAM;R5:R4

; REPITE G VECES EL PROCESO,-Y CONTINUA CON LOS DEMÁS NÚMEROS

3000 ORG 3000H

; TARLA DE CONSTRUCCIÓN DE DIEPLAY RAM

; Datos generales de red

3000 20 50 3D db2 0 h í 5 0 h , 3 D h , 3 0 h ( 2 C l ] , 3 0 h , 3 0 l i , 6 B b í 5 7 h , 2 0 h / 2 0 h ( 6 6 h , 7 0 h / 3 D l i , 3 0 h / 3 0 h , 2 5 1 i / 2 0 h , 2 0 h , 2 0 h

3003 30 2C 30 30 6B 57 20 20 G6 70300D 3D 30 30 25 20 20 20

/ " P = 0 , O Ü k W Ep=00%

Página 62

Page 63: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

RUTINAS DE IMICIALIZACION

3014 20 53 3D db2Qh,53h ,3Dh,30h ,2Cni ,30h ,30h ,6Bh,56h ,41h ,20h ,66h ,64h ,3Dh,30h ,30h ,25h ,20h ,2Bh,20h3017 JO 2C 30 30 GB 56 41 20 66 643021 3D 30 30 25 20 2B 20

;• S=0,OOkVA fd=00% + "

3028 56 3D 30 db56h ,3Dh,30h ,30h ,30h ,56h ,20h ,20h ,31h ,3Ah,30h ,30h ,30h ,56h ,20h ,44h ,3Dh,30h ,30h ,25h

302 B 30 30 56 20 20 31 3A. 30 30 303035 56 20 44 30 30 30 25

; - V = O O O V l í O O O V D=OOV

303C 49 3D 30 db49h,3D!l ,30h ,30h,2Ch,30h f 41h , 201], 31h , 3Ab, 30h, 30h , 3Ch, 30b , 20h, 4 4h , 3Dh , 30h , 30h , 35h303F 30 2C 30 41 20 31 3A 30 30 2C3049 30 20 44 3D 30 30 25

; " I=00 ,OA 1:00,0 D=OOÍ"

; Datos de armónicas de voltaje

3050 20 32 3A db20h ,32h ,3Ah,30h ,30h ,30h ,2Bh,30h ,30h ,30h ,20h ,33h ,3Ah ( 30h ,30h ,30h ,2Bh,30h ,30h ,30h3053 30 30 30 2B 30 30 30 20 33 3A305D 30 30 30 2B 30 30 30

;• 2:ÜOOt-000 3:000+000'

3064 20 34 3A db2 Ob,3 4h ,3Ah,3 Oh,3 Oh,3 Oh,2Bh,3 Oh,3 Oh,3 Oh ,2 Oh,35h,3Ah,3 Oh,3 Oh,3 Oh ,2Bh ,3 Oh,3 Oh,3 Oh3067 30 30 30 2B 30 30 30 20 35 3A3071 30 30 30 2B 30 30 30

;' 4:000 + 000 5:000)-000"

3078 20 36 3A db2 Oh , 3 6h , 3 Ah , 3 Oh , 3 Oh , 3 Oh , 2 Bh , 3 Oh, 3 Oh, 3 Oh, 2 Oh , 3 7h , 3 Ah, 3 Oh , 3 Oh , 3 Oh , 2 Bh , 3 Oh , 3 Oh , 3 Oh

307B 30 30 30 2B 30 30 30 20 37 3A3085 30 30 30 2B 30 30 30

;' 6:000+000 7:000+000'

308C 20 38 3A db20h ,38h ,3Ah ,30h ,30h ,30h ( 3Bh ,3Oh ,3Oh ,3Oh ,2Oh ,39h ,3Ah ,3Oh ,3Oh ,3 O h , 2 B h , 3 O h , 3 Oh,30h308F 30 30 30 2B 30 30 30 20 39 3A3099 30 30 30 2B 30 30 30

/• 8:000+000 9:000+000"

; Datos de armónicas de corriente

30AO 20 32 3A db20h ,32h ,3Ah,30h ,30h ,2Bh ,30h ,30h ,30h ,20h ,33h í 3Ah / 30h ,30h ,2Bh ,30h ,30h ,30h ,20h f 2Oh

30A3 30 30 2B 30 30 30 20 33 3A 3030AD 30 2B 30 30 30 20 20

; ' 2:00 + 000 3:00 + 000

30B4 20 34 3A db2 Oh,3 4h,3Ah,3 Oh,3 Oh,2Bh,3 Olí ,3 Oh ,3 Oh ,2 Oh,35h,3Ah,3 Ob,3 O h , 2 Bh,3 Oh,3 O b , 3 O h , 2 O h , 2 O h30B7 30 30 2B 30 30 30 20 35 3A 303QC1 30 2B 30 30 30 20 20

7 " 4:00+000 5:00+000 "

30C8 20 36 3A db2 0 h , 3 6 h , 3 A h , 3 0 h , 3 0 h , 2 B h , 3 0 b , 3 0 h , 3 0 h f 2 0 h , 3 7 h , 3 A h , 3 0 h , 3 0 h , 2 B h , 3 0 h , 3 0 h , 3 Q h , 2 0 h , 2 0 h

30CB 30 30 3B 30 30 30 20 37 3A 3030D5 30 2B 30 30 30 20 20

7" 6:00+000 7:00-1-000 "

30DC 20 38 3A db20h ,38h ,3Ah ,30h ,30h ,2Bh ,30h ,30h ,30h ,2Qh ,39b ,3Ah ,30b ,30h ,2Bh ,30h ,30h ,30h ,20h , ; !Oh30DF 30 30 2B 30 30 30 20 39 3A 3030E9 30 2B 30 30 30 20 20

;• 8:00+000 9:00+000 '

Página 63

Page 64: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

RUTINAS DE INICIALIZACION

3200 ORG 3200H

,-VALOEt DE PI/2

3200 15 70 79 DB 15h,70h,79b,63h,OOh,81h 7PI/2=1.57079633203 63 00 81

/VALOR DE Kl

3206 32 00 00 DB 32h,OOh,OOh,OOh,OOh,82h ;K1=323209 00 00 82

;VALOR DE K2

320C 16 00 00 DB 16h, OOh, OOh , OOh , OOh , 8?.h ;K2=16320F 00 00 83

3.3.Módulo de adquisición de datos.

El diseño de este módulo es bastante sencillo, solo se debe

leer un dato del convertidor analógíco-digital de voltaje, almacenarlo,

hacer 1 o correspondiente con el de corriente, 1 eer en una tabla la equi-

val encía entre los datos leídos y los valores de voltaje y corriente co-

rrespondientes: a ellos y, finalmente, almacenar estos valores en los

espacios de memoria v e i.

Cabe indicar que para realizar la rutina deben satisfacerse

algunas inquietudes: ¿Cuál será el tiempo de muestreo? ¿Cómo se calculará

el mismo? ¿Deben tomarse simultáneamente las muestras de voltaje y co-

rriente? ¿Se debe leer una muestra de los convertidores analógicos digi-

tales e inmediatamente convertirlos a BCD o esperar al final de la lectura?

Como se indicó anteriormente, se desea temar 32 muestras de

voltaje y 32 de corriente en la fundamental de la señal. Dado que la fre-

cuencia de esta última es 60 Hz, el tiendo de muestreo debe ser de 520 us

(el terrporizador de 16 bits debe cargarse con el valor OFDFSh para generar

una interrupción en este tiempo deseado). Existen algunas formas de regu-

lar el tiempo de muestreo, sin embargo, la más conveniente es con el uso de

los temporizadores internos del microcontrolador. En el 8052AH-BASIC,

existen tres temporizadores internos: el TIMERO que es utilizado como reloj

de tiempo real en BASIC, el TIMER1 que implementa los tiempos para el soft-

ware del pórtico serial, la capacidad de programar EPRCM's y para la gene-

ración de FWM y finalmente, el TIMER2 que genera el baud rate para el

pórtico serial. De estos tres temporizadores, el que tiene menos interés

en el medidor de factor de potencia (que debe transmitir las magnitudes

Página 64

Page 65: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

MODULO DE ADQUISICIÓN DE DATOS

medidas por el pórtico serial) es el priirero, por consiguiente éste será

usado para generar la base de tiempo de rrruestreo.

Dado que es sumamente inportante el tener la información de

voltaje y corriente en tiempo real para calcular la potencia (ésta depende

de los desfases entre armónicos de voltaje y de corriente) y el factor de

potencia, las muestras de voltaje y corriente deben ser tomadas casi sin

retraso entre las dos con el objeto de que no exista un ángulo de desfase

equivocado entre ambas.

No debe olvidarse que los convertidores analógicos digitales

entregan un valor de 8 bits correspondientes a la señal analógica que reci-

ben y como los procesos matemáticos en el 8052AH-BASIC se realizan con

números en punto flotante (NPF) en paquetes BCD, debe realizarse una con-

versión de las señales leídas. La manera más rápida de hacer la conversión

es leyendo una tabla de datos, sacrificando memoria RCM, de manera que a

cada valor de 8 bits, le corresponda un NPF en paquete BCD. Esta manera es

también la más efectiva para realizar correcciones que mejoren la precisión

de la medición. Si las lecturas se desvían mucho de los valores reales,

basta con hacer una corrección en la tabla. Otra manera de mejorar la pre-

cisión, es realizando algunas lecturas de los ADC y sacar el promedio de

las mismas. Para no trabajar con multiplicaciones ni divisiones, se puede

leer 16 muestras de cada señal de manera que los 8 bits más significativos

de la suma (un número de 24 bits) corresponde al promedio deseado.

El proceso puede ser mucho más rápido si se torran las muestras

y se realiza la conversión antes de que expire el tiempo de muestreo, sin

embargo, en las pruebas realizadas con la rutina de conversión se notó que

una conversión dura 206 us, 412 us para la conversión de un dato de voltaje

y uno de corriente, por lo que quedan 108 us para promediar los datos que

no son suficientes ni para tomar 4 muestras de cada magnitud. Dado que

para mejorar la precisión se requiere un número mayor de muestras y que el

tiempo adicional de conversión total es menor a 15 ms, es preferible reali-

zar primero las lecturas y posteriormente, realizar la conversión.

Finalmente, para manejar efectivamente el temporizador, es ne-

cesario conocer el uso de las interrupciones en el BñSIC 52. Cuando el

usuario quiere manejar interrupciones, el microcontrolador le asigna los

respectivos vectores de atención en memoria externa (400Bh para el TIMERO,

Página 65

Page 66: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

MODULO DE ADQUISICIÓN DE DATOS

también 200Bh con la opción presente de memoria solapada). Cuando se

atiende a una interrupción, el registro PSW es enviado a la pila interna

por BASIC, sin embargo, este registro debe ser recuperado por el usuario

antes de regresar de la interrupción3-1-. De igual forma, no se debe tener

activadas las atenciones a interrupciones cuando se trabaje con rutinasoo

BASIC invocadas desde ensamblador .

Por lo dicho anteriormente, existen 3 etapas del módulo de ad-

quisición de datos: Inicialización del TIMER O, atención de la interrupción

(donde se realizará el muestreo) y procesamiento de los datos recogidos.

Estas tres etapas se pueden apreciar en la figura 3.5.

^

cEM F.UIlfA! PEMWUíJLCtf lH

Vc_^— *"*

E S T E R A POR ~fc*vj

S^>(3>—

Erf K B l A I>E_JXt ( W E R Í I O H ~ '

"*«-^UBMBDKBMB

miao "}¿

COHD.miC.T1HERO

4.

ACTIVA IHTTIMZRO

4-Mo. MUÉS It íAbTOMADAS « 0

•••ARRANCATIHERO

•$Ha. MUESTRAS

ü- SIDETIEHEI1/ÍE.K.U

iLEE MUESTRA

y,

DUSCA VALOR.y

Á

1MMMMERBHM

f~T*)VALMACENA

iJ.KE MUESTRA

I

j.

BUSCA VALOR

% 1 r>- 1 1

/•*•

ALMACENAVALOR I

4-

451

lüi

<

rLQ*m«a

— »

LOCMIWPIS _\H *¿

MIOW

>>l k /

Mtmiti) t O H (ti

itncio IHTEIUL)

4POPF5W

4COHD. ENIC.

TIHERO

4IHCNo. DEHUF3TRAS

4SUMIDO

$/ MUESTREA /

y, i /4.

SOMHV 1SUM3+I |

JL^ M.HAY 16 \? /

\*^4

DEÍÜHl VSUM2

4

— -^

10

_^*s•MMÉ\A 3.3.-

RUTINA TJCCTURA

200B

200B Ü2286C

ORG 300DH

LJMP TMR

INTMRO: jINICIALIZACIOH TIHERO

2140 438901 ORL 17100,10111 ;USO DE 'PHOD PARA TIMER O2143 5389F1 AML XMOD,«OF1H ;COMO TIMER 16 BITS2146 C28C CLR TRO ; DETIENE TIMER O

Página 66

Page 67: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

MODULO DE ADQUISICIÓN DE DATOS

2Í40 758CFE214B 758A06214E 22

MOVMOVRET

THO,ItrebTLO,ttrel

/CARGA EL. VALOR INICIAL DE;TIMER PARA INTERRUPCIÓN

LECTUR

LEE DATOG DEL ADC Y ALMACENA EN MEMORIA

;ENTRADAS:

/ adc 1/ adcv/ ccorr; CVolt

; i/ v

dirección de conversor analógico digital do corrientedirección de conversar analógico digital de voltajedirección inicio de tabla de conversión valores de corrientedirección inicio de tobla de conversión valores de voltajedirección inicio de tabla, de muestras de corrientedirección inicio de tabla de muestras de voltaje

;SALIDAS:

0850H-090FH0910H-09CFH

ubicación de muestras de voltaje en BCDubicación de muestras de corriente en BCD

PROCESO:

; Toma 32 muestras de voltaje y 32 muestras de corriente de los; respectivos ADC, para el]o tratadja con el timer O del 8052.; Debe recordarse que debe recuperarse PSW del stock al regresar; cíe interruptores; Cada muestra debe obtenerse del promedio de 16 lecturas con el; objeto de mejorar la precisión de los ADC.; Como cada muestra, es un valor de B bits, se obtiene la dirección

de BU equivalencia en BCD en las tablas apuntadas por ccorr y/ cvolt.; Finalmente, se carga la equivalencia BCD en memoria RAM usando

para ello la rutina ROMRAM.

;CONSTANTES USADAS:

trehtrel

MSB recarga del timer O como refcirencia dol tiempo de muestreoLSB recarga del timer O como referencia del tiempo de muestreo

;VARIABLES CREADAS:

; A variable de propósito general; B variable de multiplicación

RO número de lecturas de ADC maestreadas, numero de datos a; trasladarse en ROMRAM

Rl contador iterativo de número de muestras para sacar lalectura muestreada y para copiar datos en ROMRAM

; R3:R2 valoreo acumulados de voltaje para promedio, dirección; respaldo de DPTR en ROMRAM; R5:R4 valores acumulados de corriente para promedio, dirección/ inicial de tabla de valores en RAM en ROMRAM; R6 contador de número de lecturas muestreadas con valores/ BCD en RAM; DPTR dirección inicial de tabla de valores en ROM en ROMRAM

/SUBRUTÍNAS USADAS

; CONVN, VALTB, ROMRAM, TMR, VALTB, VTMRO

/REGISTROS ALTERADOS

DPTR, A, B, RO, Rl, R2, R3, R4, R5, R6

2808380E28102812281428162819281B281D

43D018D2AFD2A97800D28CB820FDC28CC2A97E20

281F EE2820 14

LECTUR:SETBSETBMOVSETBCJtlECLRCbRMOV

TABLA: MOVDEC

ORL PSW,I18H /BANCO 3 DE REGISTROSEAETOR0,»00TRORO,tmunum,$TROETOR6,tmunum

A,R6A

/HABILITA INTERRUPCIONES/HABILITA INT. DE TIMER O/DEBE HABER munum MUESTRAS;ARRANCA TIMER O/ESPERA LAS mUnum INTERRUPC./DETIENE EL TIMER O,-DESHABILITA INTERR. TIMER O;HAY munum VALORES

Página 67

Page 68: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

MODULO DE ADQUISICIÓN DE DATOS

28212824282528272829282B282E28302833283428362838283B283C283D28402841284328452847284A284C284F28502852285428572858285B285E

90084FA311C4AC82A08390084F115F9033FFA311C4780112223EEE1490090FA311C4AC82AD8390090F115F9039FFA311C4780112223E1EBEOOC453DOE723

MOV DPTR,*v ;UBICA EN DPTR, DIRECCIÓN RAMJNC DPTR ;DE PRIMER VALOR DEACALL VALTB ;TABLA DE MUESTRAS VOLTAJEMOV R4,DPL ,-Y COPIA A PAR DE REGISTROSMOV R5,DPH /R5:R4MOV DPTR.lv ;CARGA A DPTR DIRECCIÓN vACALL CONVN ;ENCUENTRA LA MUESTRA PROMEDIOMOV DPTR,*cvolt ;UBICA EN DPTR DIRECCIÓN ROMINC DPTR ;DE PRIMER VALOR EQUIVALENTEACALL VALTB ; DE MUESTRAS DE VOLTAJEMOV R0,*01 ;SOLO UNA MUESTRALCALL ROHRAM ,-TRANSFIERE VALOR REAL A RAMMOV A,R6DEC AMOV DPTR,«i ;UBICA EN DPTR, DIRECCIÓN RAMINC DPTR ;DE PRIMER VALOR DEACALL VALTB ;TABLA DE MUESTRAS CORRIENTEMOV R4.DPL ;Y COPIA A PAR DE REGISTROSMOV R5/DPH ;R5:R4MOV DPTR,«i ;CARGA A DPTR DIRECCIÓN iACALL CONVN /ENCUENTRA LA MUESTRA PROMEDIOHOV DPTR,ICCOrr ;UBICA EN DPTR DIRECCIÓN ROMINC DPTR ,-DE PRIMER VALOR EQUIVALENTEACALL VALTB ;DE MUESTRAS DE CORRIENTEMOV R0,t01 ;SOLO 1 MUESTRALCALL ROMRAM ;TRANSFIERE VALOR REAL A RAMDEC RG /UNA MUESTRA MENOSCJME R6,«00,TABLA ;HASTA QUE SE ACABE»ANL PSW, IOE7H ;BANCO 6 PARA REGRESARRET

SUBRUTIMAS DE LECTUR

/ENTRADAS;

/ RGDPTR

;SALIDAS:

A

;PROCESO:

CONVN

nCimero del dato de 1 byte que se quiere conocerdirección inicial del primer dato de la tabla de búsqueda

valor del dato de 1 byte correspondiente a índice R6

; Se agrega R6 a DPTR y el contenido de la dirección resultante; se almacena en el acumulador.

;CONSTANTES USADAS:

; ninguna

/VARIABLES CREADAS:

; A variable de propósito general

/GUDRUTINAS USADAS

/ ninguna

;REGISTROS ALTERADOS

; DPTR, A, R6

285F E5823861 2E2862 FS822864 74002866 35832868 F583286A EO286B 22

CONVN: MOVADDMOVMOVADDCMOVMOVXRET

A.DPLA,R6DPL,AA, »00A.DPHDPH,AA,@DPTR

/ENCUENTRA A PARTIR DE DPTR;Y R6, LA/DIRECCIÓN CORRESPONDIENTE A;MUESTRA PROMEDIO TOMADA/ESTA DIRECCIÓN SE ALMACENA;EH DPTR,-Y SE CARGA EL CONTENIDO EN A

?ENTRADAS:

/ ndci dirección de converger analógico digital de corriente

Página 68

Page 69: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

MODULO DE ADQUISICIÓN DE DATOS

; adcv dirección de conversor analógico digital de voltaje7 i dirección inicio de tobla de muestras de corriente

v dirección inicio de tabla de muestras de voltaje

;SALIDAS:

0850H-086FH0910H-093FH

ubicación de lecturas de muestras de voltajeubicación de lecturas de muestras de corriente

;PROCESO:

Debe recuperarse PSW del stack.Incrementa el contador de lecturas muestreadas.Lee 16 muestras de voltaje y 16 muestras de corriente de los ADC.Acumula muestras en R3 :R2 y R5:R4 respectivamente.Se obtiene el promedio de las 16 lecturas y se almacena en tablas RAM

;CONSTANTES USADAS:

; ninguna

;VARIABLES CREADAS:

,- A variable de propósito general; RO número de lecturas de ADC maestreadas; Rl contador iterativo de número de muestras para sacar la; lectura muestreada/ R3:R?, valores acumulados de voltaje para promedio; R5:R4 valores acumulados de corriente para promedio/ DPTR variable general

/GUBRUTIMAS USADAS

; VTMR

;REGISTROS ALTERADOS

DPTR, A, RO, Rl, R2, R3, R4, R5

286C28GF.287028722873287528772879287B

287D2880288128822883288528862887288A2888288C288D288F2890289128932894289628972898289A289D289F28AO28A228A428A638A828AA28AB28AC28AE28AF28BO28B228B528B7

DODO11D3D28C0879107AOO7BOO7COO7DOO

901EOOEO2AFA74003BF8901COOEO2CFC74003DFDD9EAEA791BD7C4COEO90084FE58228F58274003583F583DOEOFOEC791DD7C4COEO90090FE58228

TMR:

THR1:

POPACALLSETBINCMOVMOVMOVMOVMOV

MOV-MOVXADDMOVMOVADDCMOVMOVMOVXADDMOVMOVADDCMOVDJNZMOVMOVXCHDSWAPPUSHMOVMOVADDMOVMOVADDCMOVPOPHOVXMOVMOVXCHDSWAPPUSHMOVMOVADD

PSWVTHROTRORORl,tl6R2,tOOR3,IOOR4,«00R5, 100

DPTR, tadcvA,6DPTRA,R2R2,AA, 100A,R3R3,ADPTR,*adciA,QDPTRA,R4R4,AA, «00A,R5R5,AR1,TMR1A,R2R1,«3BHA,0R1AACCDPTR,»vA,DPLA,RODPL , AA,*00A,DPHDPH,AACC0DPTR.AA,R4Rl,flDHA,0R1AACCDPTU,*ÍA, DPLA,RO

;COND. NECESARIA INTERRUPCIÓN,CONDICIONES INIC, TIMER O/ARRANCA TIMER O;SE TOMARA OTRA MUESTRA MAS;TOMARA 16 VALORES EN7R3:R2 PARA VOLTAJE;Y/R5:R4 PARA CORRIENTEíPARA LUEGO SACAR EL PROMEDIO

/LEE PRIMERO EL VALOR DE/VOLTAJE DEL ADC/LSB DE SUMATORIO A ACUMULADOR/Y COPIADO A R2;COPIA CERO A ACUMULADOR SIN;ALTERAR CARRY PARA SUMARLO Y;COPIARLO A MSB DE EUMATORIO;LEE AHORA EL VALOR DE/CORRIENTE DEL ADC;LSB DE SUMATORIO A ACUMULADOR;Y COPIADO A R4;COPIA CERO A ACUMULADOR SIH/ALTERAR CARRY PARA SUMARLO Y/COPIARLO A MSB DE SUHATORIO; REPITE IIAS7'A TOMAR 16 VALORES7 LSB DE SUMATORIO A ACUMULADOR7CARGA Rl CON DIRECCIÓN DE R37PARA CAMBIAR PRIMER DÍGITO,E INTERCAMBIAR DÍGITOS EN A,-GUARDA VALOR PROMEDIO7CARGA A DPTR DIRECCIÓN/INICIAL DE LOCALIDADES DE/VOLTAJE UBICANDO LUEGO/DIRECCIÓN CORRESPONDIENTE A/MUESTRA PROMEDIO TOMADAjESTA DIRECCIÓN SE ALMACENA;EN DPTR/RECUPERA VALOR PROMEDIO;Y LO ALMACENA EN MEMORIA;L6D DE SUMATORIO A ACUMULADOR;CARGA Rl CON DIRECCIÓN DE R5/PARA CAMBIAR PRIMER DÍGITO/E INTERCAMBIAR DÍGITOS EN A/GUARDA VALOR PROMEDIO/CARGA A DPTR DIRECCIÓN/INICIAL DE LOCALIDADES DE/CORRIENTE UBICANDO LUEGO

Página 69

Page 70: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

MODULO DE ADQUISICIÓN DE DATOS

28B8 F58228BA 740028BC 358328BE F58328CO DOEO28C2 FO28C3 32

MOV DPb/A ;DIRECCIÓN CORRESPONDIENTE AMOV A,flOO /MUESTRA PROMEDIO TOMADAADDC A,DPH ;ESTA DIRECCIÓN SE ALMACENAMOV DPH,A ;EM DPTRPOP ACC ;RECUPERA VALOR PROMEDIOHOVX 9DPTR,A ;Y LO ALMACENA EN MEMORIARETÍ /REGRESA A ESPERA DE INTERR.

/ENTRADAS:

ADPTR

VALTB

número del dato cuyn dirección so quiere conocerdirección inicio! del primer doto de la tabla de búsqueda

,SALIDAS:

; DPTR dirección del dato de 1 bybe correspondiente o índice R6

;PROCESO:

; Se multiplica A por 6 y se agrega el valor n DPTR

/CONSTANTES USADAS:

; ninguna

/VARIABLES CREADAS:

/ B variable de multiplicación

/GUBRUTINAG USADAS

/ ninguna

/REGISTROS ALTERADOS

; DPTR, A, B

2BC4 75F00628C7 A428C8 258228CA F58228CC E5FO28CE 358328DO F58328D2 22

VALTB: MOVMULADDMOVMOVADDCMOVRET

B, 106ABA,nPLDPL,AA,BA,DPHDPH,A

28D3 C26C28Ü5 V38CFE28D8 758A0628DB 22

;ENTRADAS:

brehtrel

VTMRO

MSB recarga del timer O como referencia del tiempo de muestreoLSB recarga del timer O como referencia del tiempo de muesbreo

/SALIDAS:

TIMER O detenido

;PROCESO:

/ Se detiene al TIMER O y BQ le carga con el valor treh:tral

/CONSTANTES USADAS:

; ninguna

;VARIABLES CREADAS:

/ ninguna

/SUBRUTINAS USADAS

/ ninguna

; REGISTROS" ALTERADOS

; ninguno

VTMRO: CLRMOVMOVRET

TRO /DETIENE TIMER OTHO,ltreh /CARGA EL VALOR INICIAL DETLO,*brel /TIMER PARA INTERRUPCIÓN

Página 70

Page 71: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

MODULO DE ADQUISICIÓN DE DATOS

La tabla de conversión de datos es sumamente extensa, SKbytes

de datos en punto flotante para los distintos 256 valores del convertidor

de voltaje y otro tanto para el de corriente. Por motivos de espacio no se

incluirá aquí toda la tabla, pero si un extracto que indique el comienzo,

el punto medio y el fin de cada tabla:

3400 ORG 3400H

,-TABLA DE VALORES DE VOLTAJE

; TABLA DE CONVERSIÓN

3400 25 00 00 db 25h, Oh, Oh, Oh,01h,83h3403 00 01 833406 24 80 39 db 24h, 80h, 39h, 20h,01h,83h3409 20 01 83

; valor adc ( O ) - -250

; valor adc ( 1 ) = -248.0332

36F4 29 41 17 db 29h, 41h, 17h, 65h,01h,81h36F7 65 01 8136FA. 98 03 92 db 98h, 03h, 92h, 15h,01h,80h36FD 15 01 813700 98 03 92 dta 98h, 03h( 92h, 15h,00h,80h3703 15 00 813706 29 41 17 db 29h, 41h, 17h, 65h,00h,81h3709 65 00 81

; valor ndc ( 126 ) = -3,941177

; valor adc ( 127 ) = -.9803922

; valor adc ( 128 ) = .9803922

; valor adc ( 129 } = 2.941177

39F4 24 80 39 db 24h, 80h, 39h, 20h/00h,83h39F7 20 00 8339FA 25 00 00 db 25h, Oh, Oh, Oh,00h,83h39FD 00 00 83

3AOO

3AOO 25 00 003A03 00 01 823A06 24 80 393A09 20 01 82

ORG 3AOOH

;TABLA DE VALOREE DE CORRIENTE

; TABLA DE CONVERSIÓN

db 25h, Oh, Oh, Oh,01h,82h

db 24h, 80h, 39h, 20h,01h,82h

; valor adc ( 254 ) = 248.0392

; valor adc ( 255 ) = 250

; valor adc ( O ) -25

; valor fldc ( 1 ) = -24.80392

db 29h, 41h, I7h, 65h,01h,80b

db 90h, 3h, 92h, 15h,01h,7Fh

3CF4 29 41 173CF7 65 01 803CFA 98 03 923CFD 15 01 7F3DOO 98 03 92 db 98h, 3h, 92h, 15h,OOh,7Fh3D03 15 00 7F3D06 29 41 173D09 65 00 80

db 29h, 41h, 17h, 65h,00h,80h

,- valor adc ( 126 )

; valor adc ( 127 ) =

; valor adc ( 128 } =

i valor adc ( 129 )

= -.3941177

-9.803922E-02

9.BQ3922E-02

= .2941177

3FF4 24 80 39 db 24h , 80h, 39h, 20h ,00h ,82h3FF7 20 00 823FFA 25 00 00 db 25h, Oh, Oh, Oh ,00h ,82h3FFD 00 00 82

; valor adc ( 254 ) = 24.80392

valor adc ( 255 J = 25

0000 EHD

Página 71

Page 72: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

MODULO DE ADQUISICIÓN DE DATOS

De estas tablas se puede concluir que solo por la resolución

del convertidor de voltaje hay un error de 1.96 V y por la del de corriente

hay de 196 m?Y.

3.4.Módulo de factor de potencia.

Este módulo se encarga de operar sobre los valores de voltaje y

corriente obtenidos en el módulo anterior usando para ello las expresiones

matemáticas de sumatorios y división indicadas en el capítulo 1, para de

esta manera, tener como resultados los valores eficaces de voltaje9 9

(sudatorio de v ) y corriente (sumatorio de i ), la potencia real

(sumatorio de v*i), la potencia aparente (vrms*irms) y el factor de poten-

cia (p/s).

fVALORES V, I

APILA

4-

MULTIPLICA2 Ho*. DE PILA

-&

S1G01EHTKV, I A PILA

4.

MULTIPLICA2 Hoi. DE PILA

4-SUMA

3 Hoi. DEPILA

¿' ¿TODAS LAS

MUESTRAS?

4, siDIVIDE PARAHo. MUESTRAS

4.JL EKVIAAMEMORU9 MAKTEN. KM PU.¿

)J

k<

• <

^ VRUÍ

¥VALORES V, I

APILA

4MULTIPLICA2 HOJ. DE PtLA

JJ

SIGUIENTESV( 1 APILA

4.MULTIPLICA2 Hw. DE PILA

i. SDMA

2Hoí .DEPILA

4-¿TODAS LAS

MUESTRAS?

4,51

KAJZCUAD.YDIVPARAHo.MUESTR

4,

EHVIA AMEMORlJMAHTKH.EH PU/

s*

'<

.<D

VALORES V, 1A PILA

4-MULTIPLICA

4?SIGU1EKTES

V, 1 A P I L A

4

MULTIPLICA2 No*. DE PILA

*SUMA

2 H o í . D K P I L A

4-

:

¿TODAS LASMUESTRAS?

4,51

RAIZCUAD.TDIVPARA No. MUESTR

4-

EHVU A MEMORJMAHTEK. EHPIL^

>J:

'-Kz

YMULTIPLICA2 HOT. DE PILA

4.

EHVIA A MEMORIAMAHTEH.EWPtLA

4-DIVIDE 2

Hoi.DEPILA

4

VALOR. PE PILAA MEMORIA

4- vx- ' ' ^» P

3

Rut

)

I

rr

iJFIGURA *.f.¿ FLUJOGRAMA DE LA |

RUTINA FACTOR DK POTENCIA

El desarrollo de este módulo es sumamente sencillo ya que se

requiere solo enviar números existentes en localidades RAM a la pila de

Página 72

Page 73: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

MODULO DE FACTOR DE POTENCIA

argumentos e invocar rutinas BASIC que efectúen operaciones matemáticas.

Una vez realizadas éstas, los resultados deben almacenarse en memoria.

FACTOR

RUTINA QUE CALCULA EL FACTOR DE POTENCIA

ENTRADAS:

V

ipowerBfpvrmsirms

dirección iniciodirección iniciodirección iniciodirección iniciodirección iniciodirección iniciodirección inicio

;GALIDAS:

0800H-0805H0806H-OF97H080CH-0811H0818H-OB1DH081EH-0823H

de tabla mueebrae de voltajede tabla mueabras de corrientedel valor potencia realdel valor potencia aparentedel valor factor de potenciadel valor eficaz de voltajedel valor eficaz de corriente

ubicación valor de potencia realubicación valor de pobencia aparenteubicación valor de factor de potenciaubicación valor eficaz de voltajeubicación valor eficaz de corriente

r PROCESO .-

; 1 Lee valor individual de voltaje v y valor individual; de corriente i. Multiplica v*i y acumula en Bumatorio,; luego divide para número de muestras y almacena; en power y en sback.; 2 Procede de igual manera solo con v para almacenar en/ vrms y en stack.; 3 Igual gue el anterior pero BO.IO con i, almacena, en irmP; y en Btack./ 4 Multiplica dos últimos números del gtack, almacena en; stack y en e (s=vrms*irms)./ 5 Divide dos últimos números del sback, almacena en fp

(fp=p/8).

ICONSTANTES USADAS:

/ kl dirección de constante kl en formato de npf

;VARIABLES CREADAS:

; R puntero de posición de valor en tabla de datos; A puntero de tabla para manejo de stack; DPTR dirección inicial de tabla para manejo de eback

jSUBRUTIHAS UTILIZADAS:

/ VI, V2, 12, SUMA, COCIENTE, FROHSTACK, PRODUG, REDON2, SQR, TOSTACK

;REGISTROS ALTERADOS

/ DPTR, A, UG, B

FACTOR:

28DC 43D01828DF 782028E1 317028E3 18

2BE4 317028E6 D18028E8 D8FA

ORLMOVACAl.tiDEC

FACTOR!:

PSW,K18HRO,«munumviRO

ACALL VIACALL SUMADJHZ RO,FACTOR1

;BANCO 3 DE REGISTROS;CARGA Rü CON munum MUESTRAS OBTENIDASrMULTIPLICA vM POSICIÓN munum;UN DATO MEMOS QUE TRABAJAR

/MULTIPLICA v*i POSICIÓN RO;SUMA A RESULTADO ANIT^RIOR;Y REPITE PARA LAS DEMÁS POSICIONES

Página 73

Page 74: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

MODULO DE FACTOR DE POTENCIA

2 SEA28ED28EF28F128F328F528F828FA28FC28FF2901290329052907

2908290A290C290E29112913291529172919291B291E29202922292529272929292B292D

292E29302932293429372939293B293D293F2941294429462948294B294D

294F29512953295629582 95 A295D295F

9008417401D18AB1B3D12D9007FF7401B1C79007FF7401D18A7820317F18

317FD180D8FA9008417401D18AB1B3D1VBD12D9008177401B1G79008177401D18A782031.8E18

318 ED180D8FA9008417401D18AB1B3D17BD12D90081D7401B1C790081D7401D18A

DI 2 3D12D9008057401B1C79008057401D18A

2961 B1B32963 D12D2965 90080B2966 7401296A B1C7296C 53DOE7296F 22

MOVMOVACALLACALLACALLMOVMOVACALLMOVMOVACALLMOVACALLDEC

FACTOR?. :

ACALLACALLDJNZMOVMOV.ACALLACALLACALLACALLMOVMOVACALLMOVMOVACAbbMOVACALLDEC

FACTOR3 ;

ACALLACALLDJNZMOVMOVACALLACALLACALLACALLMOVMOVACALLMOVMOVACALL

FACTOR 4:

ACALLACALLMOVMOVACALLMOVMOVACALL

FACTOR5 :

ACALLACALLMOVMOVACALLANLRET

DPTR,mA, «01TO STACKCOCIENTEREDON2DPTR, «powerA, «01FROM STACKDPTR, 1 powerA, «01TO STACKRO, tmuriumV2RO

V2SUMARO , FACTOR3DPTR, IklA, «01TOSTACKCOCIENTE6QRREDON2DPTR, «vrmsA, «01FROM STACKDPTR, IvrmsA, «01TOSTACKRO, tmunum12RO

12SUMARO,FACTOR3DPTR,*klA, «01TOSTACKCOCIENTESQRREDON2DPTR, «irmsA, 101FROM STACKDPTR, «irmsA, 101TOSTACK

PRODUCREDON2DPTR,«BA, «01FROMSTACKDPTR,«BA, «01TO ETACK

COCIENTEREDON2DPTR, «fpA, «01FROMSTACKPSW,«OE7H

;CARGA VALOR CORRESPONDIENTE;DE NUMERO DE MUESTRAS;A STACK/Y DIVIDE BUMATORIA v*i PARA ESE VALOR/APROXIMA AL SEGUNDO DECIMAL/ALHACENA VALOR DE POTENCIA;A LOCALIDAD DE MEMORIA power

;CARGA VALOR DE POTENCIA;NUEVAMENTE;EN STACK;l!AY munum MUESTRAS OBTENIDAS;MULTIPLICA v*v POSICIÓN munum;UN DATO MENOS QUE TRABAJAR

/MULTIPLICA v*v POSICIÓN RO/SUMA A RESULTADO ANTERIOR/Y REPITE PARA LAS DEMÁS POSICIONES/CARGA VALOR CORRESPONDIENTE;DE NUMERO DE MUESTRAS;A STACK/DIVIDE SUMATOIUA v*v PARA ESE VALOR/SACA RAÍZ CUADRADA AL RESULTADO/APROXIMA AL SEGUNDO DECIMAL/Y ALMACENA VALOR DE VOLTAJE RMS;A LOCALIDAD DE MEMORIA vrros

,CARGA VALOR DE VOLTAJE RMS;NUEVAMENTE/EN STACK/HAY munum MUESTRAS OBTENIDAS,-MULTIPLICA i* i POSICIÓN munum;UN DATO MENOS QUE TRABAJAR

/MULTIPLICA i*i POSICIÓN RO/SUMA A RESULTADO ANTERIOR/Y REPITE PARA LAS DEMÁS POSICIONES;CARGA VALOR CORRESPONDIENTE/DE NUMERO DE MUESTRAS/ A STACK/DIVIDE SUMATORIA i*i PARA ESE VALOR;SACA RAÍZ CUADRADA AL RESULTADO;APOXIMA AL SEGUNDO DECIMAL;Y ALMACENA VALOR DE CORRIENTE RMS/A LOCALIDAD DE MEMORIA irms

/CARGA VALOR DE CORRIENTE RMS/NUEVAMENTE;EN STACK

/REALIZA PRODUCTO vrmB*irm0/APROXIMA AL SEGUNDO DECIMAL/ALMACENA RESULTADO DE/POTENCIA APARENTE EN/LOCALIDAD DE MEMORIA B;Y MANTIENE RESULTADO EN/ETACK

/DIVIDE p/s/APROXIMA AI, SEGUNDO DECIMAL/Y ALMACENA RESULTADO DE/FACTOR DE POTENCIA EN/LOCALIDAD DE MEMORIA £p/TRABAJA CON BANCO CERO DE REGISTROS

SUBRUTINAS DE FACTOR

* - - » » • * * y j * * * * *

; ENTRADAS :

Página 74

Page 75: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

MODULO DE FACTOR DE POTENCIA

RO

/SALIDAS:

puntero de bablndirección inicio de tabla muestras de voltajedirección inicio de tabla muestras de corriente

; Producto v(RO)*i(RO) a etack

;PROCESO:

Carga v(RO) a stack por medio de la subrutina tostack,carga i(RO) a stnck de la misma forma, realiza elproducto invocando a la subrutinn produc (que realizaproducto de las dos últimas posiciones del stack yconserva el resultado en la última posición del stack)

/CONSTANTES USADAS:

; ninguna

/VARIABLES CREADAS:

; A puntero de tabla de valores a enviarse a stack; DPTR dirección inicial de tabla de valores a enviarse a stack

/SUBRUTINAS USADAS

; PRODUC, TOSTACK

;REGISTROS ALTERADOS

DPTR, A

2970 900Q4F2973 E82974 D18A297G 90090F2979 E8297A D18A297C D123297E 22

Vis MOVMOVACALLMOVMOVACALLACALLRET

DPTR,IvA,ROTOSTACKDPTR,tiA,ROTOSTACKPRODUC

jCARGA VALOR DE VOLTAJE;POSICIÓN RO;A STACK;CARGA VALOR DE CORRIENTE;POSICIÓN RO;A STACK;MULTIPLICA AMBOS VALORES

;ENTRADAS:

; RO

V2

puntero de tabladirección inicio de tabla muestras de voltaje

,SALIDAS;

/ Producto v(RO)*v(RO) a stack

;PROCESO:

; Carga v(RO) a stack por medio de la subrutina tostack/ 2 veces, realiza el producto invocando a la eubrutina produc

/CONSTANTES USADAS.-

; ninguna

/VARIABLES CREADAS:

; A puntero de tobln. de valoree o enviarse a otack/ DPTR dirección inicial de tabla a enviarse a stack

/GUBRUTINAS USADAS

PRODUC, TOSTACK

;REGISTROS ALTERADOS

DPTR, A

297F 90084F2982 E82983 D18A2985 90084F2968 E82989 D18A

V2: MOVMOVACALLMOVMOVACALL

DPTR,IvA,ROTOSTACKDPTR,*vA,ROTOSTACK

;CARGA VALOR DE VOLTAJE7 POSICIÓN RO;A STACK/CARGA VALOR DE VOLTAJE/POSICIÓN RO/A ETACK

Página 75

Page 76: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

298B D123298D 22

ACALLRET

PRODUC ;MULTIPLICA AMBOS VALORES

;ENTRADAS:

298E 90090F

RO punbero de tablai dirección inicio de tabla muesbrng de corriente

/SALIDAS:

/ Producto i(RO)*i(RO) a stack

;PROCESO:

; Carga i(RO) a stack por medio de ln subrubino tosbackj 2 veces, realiza el producto invocando a la subrutina/ produc

/CONSTANTES USADAS:

; ninguna

;VARIABLES CREADAS:

,- A puntero de tabla de valores o enviarse a stack; DPTR dirección inicial de tabla a enviarse a stock

¡SUBRUTIHAS USADAS

; PRODUC, TOSTACK

;REGISTROS ALTERADOS

; DPTR, A

12: MOV DPTR,«i ;CARGA VALOR DE CORRIENTE

IHICIC» J

fAEXI5IE

RAMRAMVALORES r A n

1ENCERA í*

1ALGORITMO

rrr

*

COPIA DER A H A R A M

e 1REQUISITO DE CALCULA

DISTORSIÓN

FASEEHTKE-PI Y +PI

TASE rUKDAMCHTAL r, iPORHo.DI ARMOHICA

CALCULADICTO RSIOH

SE DESPICArilHDAMEHIAlDE YOUWI

RAMRAMVALORES i A n

4-ENCERA i»

1

ALGORITMOrrr

ó

/¿SI HITO COH TODÁSV LAS ARMOHÍCAS?

H M I A

ANfiUlOSEN CRArO

MODUIOSIH*

7.- FLUJOGR AMA DE J.ALISIS DE ARMÓNICAS

Página 76

Page 77: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

MODULO DE FACTOR DE POTENCIA

2991 E82992 D18A2994 90090F2997 E82998 D18A399A D123299C 22

MOVACALLMOVMOVACALLACALLRET

A,ROTOSTACKDPTR,*iA,ROTOSTACKPRODUC

,- POSICIÓN RO;A STACK;CARGA VALOR DE CORRIENTE/POSICIÓN RO;A STACK/MULTIPLICA AMBOS VALORES

3 * 5.Módulo de análisis de armónicas.

Para el diseño de este módulo se analizó la teoría y el progra-

ma en Fortran para hacer análisis de armónicas usando la Transformada Rápi-f\'-(

da De Fourier de la referencia [ ]. Para ello se modularizó en lo posible

al programa trasladándolo a QBASIC para luego optimizarlo en procedimientos

y tablas de datos para tener una versión en ensamblador. El programa en

QBASIC se encuentra en los anexos y los comentarios de la subrutina FFT

tienden a comparar el programa en ensamblador con el programa en QBASIC.

Una vez obtenida la subrutina FFT, se elaboró la rutina Armoni

para mover los valores de voltaje y corriente de manera que se pueda usar

la subrutina FFT en ellos y de esta manera obtener la distorsión armónica

total de voltaje, la de corriente y el factor de potencia de desplazamien-

to. Este último se presenta como un número con signo, el signo se obtiene

de la diferencia de la fase del voltaje menos la fase de la corriente, ésto

implica que si la fase de la corriente es mayor que la de voltaje

(corriente adelantada respecto al voltaje) el siojio negativo del factor de

potencia de desplazamiento indica predominancia capacitiva, caso contrario,

(corriente atrasada respecto al voltaje) indica predominancia inductiva.

Todo esto bajo el supuesto que el desfase sea máximo de 90°.

A continuación se presenta el programa desarrollado a partir

del flujograma de la figura 3.7.

ARMÓNi

RUTINA QUE REALIZA EL ANÁLISIS DE ARMÓNICAS

;ENTRADAS;

Vvarmiarmbhdvthdifpd

dirección inicio de tabla muestras de corrientedirección inicio de tabla muestras de voltajedirección inicio de tabla armónicas de voltajedirección inicio de tabla armónicas de corrientedirección inicio distorsión armónica total volt,dirección inicio del valor thd de corrientedirección Inicio factor de potencia de desplazan.

Página 77

Page 78: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

MODULO DE ANÁLISIS DE ARMÓNICAS

;SALIDAS:

OD90H-ODEFHOESOH-OEAFhODFOH-OE4FHOEBOH-OFOFh082AH-082FH0824H-0829H0812H-0817H

ubicaciónubicaciónubicaciónubicaciónubicaciónubicaciónubicación

tabla de armónicas de voltaje (módulos)tabla de armónicas de voltaje. (Cases)tabla de armónicas de corriente (módulos)tabla de armónicos de corriente (Fases)dist. armónica total voltajevalor thd de corrientefactor de potencia de desplazara.

;PROCESO:

; 1 Mueve valores de voltaje v a variable real FFT rx/ Encera valores de variable imaginaria FFT ix/ 7\plica algoritmo de FFT en subrutina FFT; Copia datos de potencia ordenada FFT a armónicos de voltaje; Encuentra distorsión armónica total de voltaje thdv/ 2 Procede de igual manera pero con variables de corriente; 3 Resta fases de armónicos de voltaje y corriente menos el; el de primero de voltaje. Fases entro -pi y pi/ 4 Calcula factor de potencia de desplazamiento/ 5 Convierte fases en radianes a grados

6 Módulos como porcentajes de fundamental

/REGISTROS TEMPORALES

; sum dif

;CONSTANTES USADAS:

; ninguna

¿VARIABLES CREADAS:

; RO cantidad de npC a copiarse o procesarse/ R3:R3 dirección inicial tabla fuente de copia; A puntero de tabla paro manejo de etack/ DPTR dirección inicial de tabla blanco de copia o proceso

ISUBRUTIHAS UTILIZADAS

; RAMRAH, CERO, FFT, DISTOR, FROMSTACK, COSENO, COCIENTEPRODUC, RESTA, REDOH2, SIGNO, 6QR, SUMA, TOSTACK

/REGISTROS ALTERADOS

DPTR, A, RO, Rl, R2, R3, R4, R5, R6, R7, B

;BANCO 3 DE REGISTROS

;I1AY UN TOTAL DE munum MUESTRAS;CARGA VALOR DE PRIMER DÍGITO DE PRIMER;VALOR DE TABLA DE DATOS DE VOLTAJE;CARGA EN R2 LSB;CARGA EN R3 MSB/CARGA VALOR DE PRIMER DÍGITO DE PRIMERíVALOR DE TABLA DE VARIABLE REAL FFT/COPIA TABLA v A TABLA rx/EN RO CANTIDAD DE MUESTRAS Y EN DPTR/UBICA TABLA;DE VARIABLE IMAGINARIA FFT;PARA ENCERARLA/APLICA EL ALGORITMO FFT/SE VA A COPIAR rnum VALORES/DE FASE DE ARMÓNICAS POSITIVAS/LOCALIZADAS A PARTIR DE;R3 ¡FÍ2;A TABWV APUNTADA POR/DIRECCIÓN vfaíj

/COPIA TABLA DE FASE ORDENADA A vías/SE VA A COPIAR rnum VALORES/DE ARMÓNICAS POSITIVAS/LOCALIZADAS A PARTIR DE/ R3 : R3;A TABLA APUNTADA POR/DIRECCIÓN varm

;COPIA TABLA DE POTENCIA ORDENADA A varm;CARGA INICIO DE TABLA DE ARM. DE VOLTAJE

/CALCULA DISTORSIÓN ARMÓNICA TOTAL/CARGA DIRECCIÓN VALOR DIST. ARMÓN. TOTAL V./APUNTA PRIMER DATO DE TABLA

399D

29AO29A229A529A629A829AA29AD29AE29BO29B329B529BG29B829BA29BC29BF29CO29C229C429C729C829CA29CC29CF29DO29D229D429D729D829DA29DD29DF29E129E4

43D018

782090084FA3AA82AB83900A8FA3915C7820900B4FA3917B918978'LO900D2FA3ftW32AB83900E4FA3915C7810900C6FA3AA82AB83900D8FA3915C900D8F7810D10C9008297401

ARMÓN I:ORL

.-*+»**

ARMOM1 :MOVMOVINCMOVMOVMOVINCACALLMOVMOVINCACALLACALLMOVMOVINCHOVMOVMOVINCACALLMOVMOVINCMOVMOVMOVINCACALLMOVMOVACALLMOVMOV

PSH,«18H

APLICA ALG(

RO , tmunumDPTR, »vDPTRR2 , DPLR3 , DPHDPTR, »rxDPTRRAMRAMRO, K munumDPTR.ÜxDPTRCEROFFTRO, «rnumDPTR, tfposDPTRR3 , DPijR3 , DPHDPTR, tvfasDPTRRAM RAMRO , • rnumDPTR, tpposDPTRR2,DPLR3 , DPHDPTR,«varmDPTRRAMRAMDPTR, fvnrmRO , • rnumDISTORDPTR, • thdvA, 101

Página 78

Page 79: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

MODULO DE ANÁLISIS DE ARMÓNICAS

29E6 D173 ACALL

29E829EA29ED29EE29FO29F229F529F629F829FA29FD29FE2AOO2A022A042A072A082AOA2AOC2AOF2A102M22 Al 42A172A182A1A2A1C2A1F2A202A222A2S2A272A292A2C2A2E

3A302A322A352A362A382A3B2A3D2A3F2A422A432A452A482A4A2A4C2A4E2A502A512A542A562A592 ASA2A5C2A5F2A612AS32A662A682A6A2A6C2A6E2A6F2A722A74

2A7G2A792A7B2A7D2A802A822A842A872A892A8B2A8D

782090090FA3AA82AB83900A8FA3915C7820900B4FA3917B91897810900D2FA3AA82AB83900EAFA3915C7810900C6FA3AA82AB83900DEFA3915C900DEF7810D10C9008237401D173

7810900EAFE8F136900E4F7401F13690082FE8D18B90082F7401F13GD1CFD1D4E8900EAFD173900E4FE8F136900E4F7401F13G90082F7401F136D1CFD1D4E8900E4FD17308BG

90082F7404D18B90082F7401F1369008387401F136D1GF.90082F

.*-****ARMOH2 :

MOVMOVINCMOVMOVMOVINCACALLMOVMOVIHCACALLACALLMOVMOVINCMOVMOVMOVINCACALLMOVMOVINCMOVMOVMOVIHCACALLMOVMOVACALLMOVMOVACALL

FASES: MOVFASE1 : MOV

MOVACALLHOVMOVACALLMOVMOVACALLMOVMOVACALLACALLACALLMOVMOVACALLMOVMOVACALLMOVMOVACALLMOVMOVACALLACALLACALLMOVHOVACALLDONZ

. ****-*MOVMOVACALLMOVMOVACALLMOVMOVACALLACALLMOV

APLICA FFT A CORRIENTE *****

R0,«munum /HAY UN TOTAL DE munum MUESTRASDPTR.ti ;CARGA VALOR DE PRIMER DÍGITO DE PRIMERDPTR ; VALOR DE TABLA DE DATOS DE CORRIENTER2,DPLR3 , DPHDPTR,*rxDPTRRAM RAMRO , tmunumDPTR, tixDPTRCEROFFTRO, IrnumDPTR, ff posDPTRR2 , DPLR3 , DPHDPTR, tifasDPTRRAMRAMRO, trnumDPTR, IpposDPTRR2 , DPLR3 , DPHDPTR, tiarmDPTRRAMRAMDPTR,liai^iRO, trnumDISTORDPTR,lthdiA, tQlFROMSTACK

FASE DE VOLTAJERO , trnumDPTR, tifasA,ROTOSTACKDPTR,tvfauA, tiTOSTACKDPTR,lf5UmA,ROH2BCDDPTR, tsumA, tiTOSTACKPRODUCRESTAA.RODPTR, tifasFROMSTACKDPTR, tvfaRA,ROTOSTACKDPTR,tv0aBA, tiTOSTACKDPTR, tBiimA, tiTOSTACKPRODUCRESTAA,RODPTR, tvfnoFROMSTACKRO,FASE1

CHEQUEO VALORESDPTR, tsumA, «4H2BCDDPTR, IsumA, 11TOSTACKDPTR,lpi2A, 11TOSTACKPRODUCDPTR, tsum

,- CARGA EN R2 LSB/CARGA EN R3 MSB; CARGA VALOR DE PRIMER DÍGITO DE PRIMER;VALOR DE TABLA DE VARIABLE REAL FFT/COPIA TABLA i A TABLA rx;EN RO CANTIDAD DE MUESTRAS Y EN DPTR/UBICA TABLA;DE VARIABLE IMAGINARIA FFT,-PARA ENCERARLA/APLICA EL ALGORITMO FFT; SE VA A COPIAR rnum VALORES;DE FASE DE ARMÓNICAS P09ITIVAS/LOCALIZADAS A PARTIR DE;R3:R2/A TABLA APUNTADA POR/DIRECCIÓN ifae

, COPIA TABLA DE FASE ORDENADA A ifas; SE VA A COPIAR rnum VALORES;DE ARMÓNICAS POSITIVAS/LOCALIZADAS A PARTIR DE;R3:R2/A TABLA APUNTADA POR/DIRECCIÓN iarm

/COPIA TABLA DE POTENCIA ORDENADA A iarm/CARGA INICIO DE TABLA DE ARM . CORRIENTE

/CALCULA DISTORSIÓN ARMÓNICA TOTAL/CARGA DIRECCIÓN VALOR DIST. ARMÓN. TOTAL I./APUNTA PRIMER DATO DE TABLA/CARGA EN ESA DIRECCIÓN EL ULTIMO VALOR STACK

COMO REFERENCIA DE FASES *****; SE VA A TRABAJAR CON rnum FASES/DIRECCIÓN DE FASE DE CORRIENTE/ENVÍA VALOR DE FASE A STACK

/ENVÍA VALOR DE FASE DE/FUNDAMENTAL DE VOLTAJE A STACK

/NUMERO DE ARMÓNICA A sum/CONVIERTE NUMERO DE ARMÓNICA EN/NPF BCD Y ALMACENA EN Bum/CARGA NUMERO DE ARMÓNICA EN STACK

/MULTIPLICA FASE(l)* «ARMÓNICA/RESTA FASE (ARM) - RESULTADO ANT./ENVÍA EL RESULTADO DE LA RESTA/A DIRECCIÓN DE FASE CORRESPONDIENTE

/DIRECCIÓN FASE DE ARMÓNICAS,- ENVÍA VALOR DE FASE A STACK

/ENVÍA VALOR DE FASE DE/FUNDAMENTAL A STACK/ENVÍA NUMERO DE ARMÓNICA A STACK

/MULTIPLICA FASE(l) * t ARM; RESTA FASE (ARM) - RESUL.T- ANT./ENVÍA RESULTADO A DIRECCIÓN;DE FASE CORRESPONDIENTE

/CONTINUA CON TODAS LAS ARMÓNICAS

DE ÁNGULOS *****/ENVÍA NUMERO 4 A eum

/Y A STACK

/ENVÍA PI/2 A STACK

/MULTIPLICA 4 * PI/2/ENVÍA RESULTADO (2*PI) A sum

Página 79

Page 80: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

MODULO DE ANÁLISIS DE ARMÓNICAS

2A90 74012A92 D1732A94 78102A96 900E4F2A99 E82A9A F1362A9C 71AB2A9E 900E4F2AA1 E82AA2 D1732AA4 900EAF2AA7 E82AA8 F1362AAA 71AB2AAC 900EAF2AAF E82ABÜ D1732AB2 D8E2

2AB4 900E4F2AB7 74012AB9 F1362ABB 900EAF2ABE 74012ACO F1362AC2 D1D42AC4 20E0202AC7 20E21D2ACA 90082F2ACD 74012ACF D1732AD1 90082F2AD4 74012AD6 F1362AD8 D1642ADA 90082F2ADD 74012ADF F1362AE1 F1222AE3 D1CF2AE5 80022AE7 Dl£42AE9 D1D92AEB 9008112AEE 74012AFO D173

2AF2 90082F2AF5 745A2AF7 D18B2AF9 78102AFB 900E4F2AFE E82AFF F1362B01 90082F2B04 74012B06 F1362B08 D1CF2BOA 90083B2BOD 74012BOF F1362B11 D15F2B13 D1D92B15 900E4F2B18 E82B19 D1732B1B 900EAF2D1E E82B1F F1362B21 90082F2B24 74012B26 F1362B28 D1CF2B2A 9008382B2D 74012B2F F1362B31 D15F2B33 D1D92B35 900EAF2B38 E82B39 D1732B3B D8BE

MOVACALLMOV

FASE2 : MOVMOVACALLACALLMOVMOVACALL

FASE3 : MOVMOVACALLACALLMOVMOVACALL

FASE4 : DONZ

j ** * * *MOVMOVACALLMOVMOVACALLACALLJBJBMOVMOVACALLMOVMOVACALLACALLMOVMOVACALLACALLACALI,EJMP

FPD1 : ACALLFPD2: ACALL

MOVMOVACALL

. ***.**.

MOVMOVACALLMOV

GRADO: MOVMOVACALLMOVMOVACALLACALLMOVHOVACALLACALLACALLMOVMOVACALLMOVMOVACALLMOVMOVACALLACALLMOVMOVACALLACALLACALLMOVMOVACALLDJNZ

A , f lFROMSTACKRO, »rnumDPTR, »v£aaA ( R OTO STACKFAPIDPTR,*vfosA , R OFROMSTACKDPTR, ti CasA , R OTO STACKFAPIDPTR, tifosA , R OFROM STACKRO , FASE2

CALCULA FPDDPTR,*vfoeA, 11TO STACKDPTR, UfasA,(l lTO STACKRESTAACC.O.FPD1ACC.2.FPD1DPTR^sumA, 101FROM STACKDPTR, IsumA, «01TO STACKCOSENODPTR, IsumA, 101TO STACKSIGNOPRODUCFPD2COSENOREDON3DPTR, *fpdA,t01FROM STACK

ÁNGULOS ENDPTR,tsumA, 190 -H3BCDRO, «rnumDPTR, «vEasA , R OTO STACKDPTR,t3umA, -11TOSTACKPRODUCDPTR, «pÍ2A, »1TOSTACKCOCIENTEREDOH2DPTR,lvfd9A , R OFROMSTACKDPTR, tifasA , R OTOSTACKDPTR,*BUmA, 11TOSTACKPRODUCDPTR,tpi2A, 11TOSTACKCOCIENTEREDOH2DPTR,l i fasA,ROFROMSTACKRO, GRADO

;PARA CUEQUEAR QUE NO EXISTAN,ÁNGULOS > 2*PI;RO LLEVA LA CUENTA DE ÁNGULOS;CHEQUEA PRIMERO FASES DE V.

;DEJA ÁNGULO ENTRE -PI Y PI;ÁNGULO EQUIVALENTE7Y CÁRGALO EN VALOR DE FASE;CORRESPONDIENTE;CHEQUEA AHORA FASES DE I-

/DEJA ANGUNLO ENTRE -PI Y PI/ÁNGULO EQUIVALENTE/Y CÁRGALO EN VALOR DE FASE

,-CHEQUEA TODAS ARMÓNICAS

/CARGA EN STACK/EL VALOR DE FASE DEL; PRIMER ARMÓNICO DE VOLTAJE

;Y FASE DE PRIMER ARMÓNICO DE CORRIENTE;RESTA FASE VOLTAJE - FASE CORRIENTE/SALTA A FPD1 61 RESTA ES CERO, ES DECIR,7 SI fpdcli SI NO LO ES;ALMACENA RESULTADO EN 6UM

/OBTIENE COSENO DE RESTA DE FASES

/OBTIENE SIGNO/DE RESTA DE FASES/MULTIPLICA AMBOS/SALTA A FPD2/OBTIENE COSENO DE RESTA DE FASES;APROXIMA A SEGUNDO DECIMAL;CARGA VALOR OBTENIDO CORRESP,/FACTOR DE POTENCIA DE DESPLAZAH./DE STACK A L0CALIZACION fpd

GRADOS *•-***;A eum EL NUMERO 90 DECIMAL

;SE TRABAJARA CON rnum FASES;EMPEZANDO POR FASES DE VQLTAOE;ENVÍA FASE A STACK

/ENVÍA 90 A STACK

/MULTIPLICA FASE x 90/ENVÍA PI/?. A STACK

/PARA DIVIDIR RESULTADO ANTERIORíENTRE PI/2 PARA OBTENER FASE/APROXIMA A 2 DECIMALES/EN GRADOS, A ESTE RESULTADO, GUARDA;EH DIRECCIÓN DE FASE CORRESPOND.

/AHORA CON FASES DE CORRIENTE;ENVÍA FASE A STACK

;MULTIPLICA FASE X 90;ENVÍA PI/2 A STACK

/PARA DIVIDIR RESULTADO ANTERIOR;ENTRE PI/3 PARA OBTENER FASE EN GRADOS/APROXIMA A 2 DECIMALES/A ESTE RESULTADO, GUARDA/EN DIRECCIÓN DE FASE CORRESPOND.

2B3D 900835MÓDULOS COMO PORCENTAJES *****MOV DPTR,ldIE /ALMACENA EN di E

Página 80

Page 81: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

B40 7-154B42 D18BB44 7810B46 18B47 900D8FB4A E8B4B 04B4C F136

.B4E 900D8FÍB51 7401ÍB53 F1361B55 D15F1B57 20E115ÍB5A 20E313ÍB5D 900835.B60 7401.B62 F136BG4 D1CF

-BS6 900D8FB69 E8B6A 04

,B6B D173B6D 8007B6F 90082FB72 7401B74 D173B76 900DEFB79 E8B7A 04B7B F136B7D 900DEF

ÍB80 7401ÍB82 F136ÍB84 D15FÍB86 20E115ÍB89 20E312,B8C 900835ÍB8F 7401ÍB91 F1361B93 D1CF1B95 900DEFÍB98 E8-B99 04.B9A D173.B9C 8007!B9E 90082F

I H I C I A l H t H KFASE ESJAE H P K A "*

R E D U C EFASE A- z i r í 1

iir

FASE E H Í R E• n r i r -

Q U E D A EH F

HOV A, 1100ACALL H2BCDMOV R0 ( *rnumDEC RO

MOD% : MOV DPTR, Ivnrr»MOV A , R OINC AACALL TOSTACKMOV DPTR,lvarmMOV A , « lACALL TOSTACKACALL COCIENTEJB ACC. l ,MODft2JB ACC.3,HOD%3MOV DPTR,«di£MOV A , « lACALL TOSTACKACALL PRODUCMOV DPTR,lvarroMOV A , R OINC AACALL FROMSTACKSOMP HODÍ3

HODS2: MOV DPTR, IsumMOV A, tiACALL FROHSTACK

HODS3: HOV DPTR,liannMOV A , ROINC AACALL TOSTACKMOV DPTR, f ia rmMOV A , f lACALL TOSTACKACALL COCIENTEJB ACC.1,MOD«4OB A C C . 3 , M O D % 4HOV DPTR,ldi£MOV A, 11ACALL TOSTACKACALL PROÜUCMOV DPTR,liarmMOV A , R OINC AACALb FROMSTACKSJMP MOD«5

MODÍ4; MOV DPTR.tSiom

1H

*±( FAP1 ^ O P•^^—-j— IH

A LM ACEITA KN K3, tM

C1AIHEH1EIR D I R E C C I Ó N —C I A I O E P E S I I H O ,

i R z D I R , I H I C . PíE H I f r R O M P Í

' 1 ' HPf A COPI/LRSt

VALOR OfX SI

i NO

.!™J-,^_ ." <Kr-*fIHT(2+JT*d¡f)

* '< ^v MQ

/la

"7* ir

W-SGHCtWriT PAPILAAPILA

^ ( PXCT73A)

U

lA R U T I H A C E R O E3 i XACIAHtHI t I C U M A MfP I R O NO R E Q U I E R E DE D I R E C C I Ó N f U E N U , NOU PASO (*| SINO QUE Al I H I C I O & E H C í R A El

;100 CONVERTIDO EN BCD

;RO LLEVA LA CUENTA DE ARMÓNICAS

; CARGA ARMÓNICO RO-H EN STACK

; CARGA ARMÓNICO «1 EN STACK

í SALTA SI EXISTE OVERFLOW, SALTA SI DIVISIÓN/CERO/CARGA 100 EN STACK;Y MULTIPLICA PARA EXPRESAR COMO %

; CARGA ARMÓNICO RO-1 1 EN STACK

j GUARDA RESULTADO EH varm

; ALMACENA EN eum RESULTADO OBSOLETO

(CARGA ARMÓNICO RO+1 EN STACK

;CARGA ARMÓNICO H EN STACK

; SALTA SI EXISTE OVERFLOW/SALTA SI DIVISIÓN/CERO; CARGA 100 EN STACK;Y MULTIPLICA PARA EXPRESAR COMO %

; CARGA ARMÓNICO RO+1 EN STACK

;GÜAHDA RESULTADO EN íorm

; ALMACENA EN eum RESULTADO OBSOLETO

^tAMRAM)

wtí A ion»i ., POR Nrr i —

Rt --6 ^-J

i

*$£$ **i

QDISTOR)

~ARGA ARMÓNICOT ELEVAD

:ARGA ARMOHICCY ELEVA *2

i

JUMA

L(FJ;RH)-:-A I / " ; ESTA H TODOS ^

1HC JtSJM noV-OS ARMOKICOSÍ^J.

< vnrc RI X¿RI-OÍ /

/ DCCRD \E

^CU H U l ADOR

l aRAÍZ

CUADRADA

1

DI7TOZ PARAFUNDAMENTAL

^"REGRT.SÁ)

| OGURA 3.S. - FLUJOCRANfA »K |BUriNAS DE ARMÓN!

Página 81

Page 82: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

2BA1 74012BA3 01732BA5 D8AO2BA7 53DOE72BAA 22

MOV A, IIACALL FROMSTACK

MOD«5: DJMZ RO,MOD8AHL PSW,IOE7HRET

MODULO DE ANÁLISIS DE ARMÓNICAS

;TRABAOA COH BANCO CERO DE REGISTROS

La rutina Armoni realiza el análisis de armónicas, pero para

hacerlo, llama a 5 subrutinas: FAPI, que adecúa las fases obtenidas a va-

lores entre -pi y pi; RAMRAM que copia el contenido de ciertas localidades

de RAM a otras distintas también de RAM; CERO, que encera a las variables

ix como requisito para aplicar la transformada rápida de Fourier; DISTOR

que con los datos de los módulos calcula la distorsión armónica total de

una señal y FFT que se constituye en la subrutina que aplica la transforma-

da rápida de Fourier. De todos ellos, solo FFT se realizó en base a un

programa ya existente tal como se indicó anteriormente, asi que no tiene su

diagrama de flujo correspondiente. La rutina CERO es exactamente igual a

RAMRAM solo que carece de dirección fuente de copia ya que lo que hace es

encerar posiciones de memoria indicadas por una dirección destino. Los

flujogramas de FAPI, RAMRAM y DISTOR están en la figura 3.8.

SUBRUTINAS DE ARMÓN I

***** pj\ j *****

;ENTRADAS:

PILA Ultimo número de pila de argumentos es Caseno adecuada entre -pi y pi

;SAL IDAS:

PILA

;PROCESO:

Ultimo número de pila de argumentos es faseentre -pi y pi

; Envía 2*pi a pila y divide fase para ente valor,,- y almacena en dif, analiza si resultado es menor a 1,; BÍ no lo es, resta la fase original menos el valor entero,- de división por 2*pi para obtener ángulo entre +/- 2*pi.; Almacena fase deseado en dif; S.1 valor absoluto de fase es mayor a pi, entonces nueva; fase es igual a fase - (signo de faee'pi) para obtener; fase entre -pi y pi.

/CONSTANTES USADAS:

sumPÍ2

Valor de ?.*pi en npfValor de pi/2 en npf

/VARIARLES CREADAS:

; A Variable general; fpd Variable de propósito general; dif Acumulador de valores npf; DPTR Puntero paro mover valores desde y bncia el acumulador

/SUBRUTINAS USADAS

ABSOL, COCIENTE, ENTERO, FROMSTACK, PRODUC, RESTA, SUMA, TOSTACK

/REGISTROS ALTERADOS

; DPTR, A

Página 82

Page 83: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

MODULO DE ANÁLISIS DE ARMÓNICAS

2BAB 90082F2BAE 74012BBO F1362BB2 D15F2BB4 9008352BB7 7-1012BB9 D1732BBB 9008352BBE A32BBF A32BCO A32BC1 A32BC2 A32BG3 A32BC4 EO2BC5 C32BC6 94812BC8 50122BCA 9008352BCD 74012BCF F1362BD1 90082F2BD4 74012BD6 F1362BD8 D1CF2BDA 801B2BDC 9008352BDF 74012BE1 F1362BE3 9008352BEG 74012BE8 F13G2BEA D1GE2BEC D1D42BEE 90082F2BF1 74012BF3 F1362BF5 D1CF2BF7 9008352BFA 74012BFC D1732BFE 90083B2C01 74012C03 F1362C05 90083B2C08 74012COA F1362COC F12C2COE 9008352C11 74012C13 F1362C15 D14C2C17 D1D42C19 9008112C1C 74012C1E D1732C20 9008112C23 7F052C25 A32C26 DFFD2C28 EO2C29 54012C2B 60272C2D 9008112C30 74012C32 F1363C34 F1222C36 9008352C39 74012C3B F136

2C3D F1222C3F D1CF2C41 90082F2C44 74012C4G F1363C48 D1CF2C4A 9008352C4D 74012C4F F1362C51 F12C2C53 222C54 9008352C57 74012C59 F1362C5B 22

FAPI: MOVMOVACALLACALLMOVMOVACALLMOVINCIHCINCIHCIHCINCMOVXCLRSUBBONCMOVMOVACALLMOVMOVACALLACALLSJMP

FAPIA: MOVMOVACALLMOVMOVACALLACALLACALLMOVMOVACALLACALL

FAPIB: MOVMOVACALLMOVMOVACALLMOVMOVACALLACALLMOVMOVACALLACALLACALLMOVMOVACALLMOVMOV

FASGN: INCDONZMOVXAMLJZMOVMOVACALLACALLMOVMOVACALLACALLACALLMOVHOVACALLACALLMOVMOVACALLACALLRET

FAPOS: MOVMOVACALLRET

DPTR, IsumA,*lTOSTACKCOCIENTEDPTR, «difA, 11FROMSTACKDPTR, «difDPTRDPTRDPTRDPTRDPTRDPTRA,6DPTRCA, I81HFAPIADPTR, «difA,*lTOSTACKDPTR,*0umA, «01TOSTACKPRODUCFAPIBDPTR, »difA, tiTOSTACKDPTR, «difA,*lTOSTACKENTERORESTADPTR, «surtíA, 101TOSTACKPRODUCDPTR, IdifA,*01FROMSTACKDPTR, Ipi2A,«lTOSTACKDPTR,tpÍ2A, 11TOSTACKSUMADPTR, «difA, 101TOSTACKABSOLRESTADPTR, «fpdA,«lFROMBTACKDPTR, «fpdR7,«5DPTRR7 , FASGNA,3DPTRA, KOIFAPOSDPTR, «fpdA(llTOSTACKSIGNODPTR, tdifA,»lTOSTACKSIGNOPRODUCDPTR, tsumA, 11TOSTACKPRODUCDPTR,«difA, 11TOSTACKSUMA

DVTR, IcUfA, 11TOSTACK

;DIVIDE FASE / (2 * PI)

;RESULTADO A dif;APUNTA A EXPONENTE;DE dif

;EXPONENTE A ACUMULADOR

; RESTA MENOS 8111;SI EXP.<81H, SIGUE

/RETORNA dif A STACK;ENVÍA eum (2*PI) A STACK

/MULTIPLICA PARA ENCONTRAR7 NUMERO ORIGINAL Y SIGUE

,-RESULTADO A STACK

;2 VECES Y OBTIENE/VALOR ENTERO DE ULTIMO/RESTA PARA OBTENER DECIMAL/ENVÍA sum (2*PI) A STACK

/MULTIPLICA PARA ENCONTRAR/ALMACENA AJ1GULO ENTRE7-2PI Y 2PI EN di£

/ENVÍA PI/2 A STACK

;ENVJA PI/2 A ETACK;POR SEGUNDA OCASIÓN

;OBTIENE PI EN STACK/ÁNGULO A STACK

;SACA VALOR ABSOLUTO;RESTA PI-ABS(ÁNGULO)/ENVÍA RESULTADO A?FPD

/UBICA PUNTERO EN LOCALIZflCION/DE MEMORIA CORRESPONDIENTE AL/SIGNO DE fpd

;TRAE SIGNO DE fpd AL ACUMULADOR/AISLA EL BIT DEL SIGNO/SALTA SI 8Um ES POSITIVO/VALOR DE DIFERENCIA DE PI-ANG/A STACK

/SACA SIGNO (SIEMPRE -1)/PROCEDE DE MANERA SIMILAR CON/ÁNGULO EN DIF PARA INVERTIR/SU SIGNO/LO QUE SE OBTIENE/MULTIPLICANDO -1*SGN(ÁNGULO)/AHORA ESTE SIGNO ASIGNA A;2PI (QUE ESTA EN BUm)

/TRAE ÁNGULO A STACK;QUE SUMADO A -(/- 2PI;DA EL ÁNGULO REQUERIDO;YA PUEDE REGRESAR

/VALOR RESULTADO A STACK/REGRESA

Página 83

Page 84: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

MODULO DE ANÁLISIS DE ARMÓNICAS

;ENTRADAS i

; ROR3:R2DPTR

RAMRAM

cantidad de valores en punbo flotanbedirección primer valor del primer dato entradadirección primer dato de salida

;SALIDAS:

; Direcciones 0DPTR - 6DPTR-I RO-1 ocupadas con nuevos datos

;PROCESO:

; Carga DPTR en R5:R4, ee carga en DPTTÍ R3:R2,; por 6 ocasiones (equivalentes a 6 dígitos por número/ en punto flotante) se copia la dirección en ram apuntada/ por DPTR al acumulador, se carga en DPTR la dirección R5:R4/ y se almacena valor del acumulador en esa dirección,/ se incrementan Jas direcciones R3.-R2 y R5:R4.I Se repite hasta que ya no falten más números (R0=0)

/CONSTANTES USADAS:

/ ninguna

;VARIABLES CREADAS:

/ A registro del valor de tabla a copiarse; RO número de datos a procesarse/ Rl contador de iteraciones para npf/ R3:R2 puntero de tabla de valores de entrada/ R5;R4 puntero de tabla de valoren de salida/ DPTR puntero para mover valores desde y hacia el acumulador

/6UBRUTINAS USADAS

j ninguna

lREGISTROS ALTERADOS

, DPTR, A, RO, Rl, R2, R3, R4, R5

RAMRAM:

2C5C2C5E2C60

2C622C642C662C672C692C6B2C6C2C6D2C6E2C702C712C722C732C752C762C782C7A

AD83AC827906

8B838A82EO8D838C82FOOAEA7001OBOCEC7001.ODD9EAD8E622

MOVMOV

RAM1 : MOV

RAM 2 : MOVMOVHOVXMOVMOVMOVXINCMOVONZIMC

RAM3 : INCMOVJNZINC

RAM 4: DONZDJNZRET

R5 , DPHR4,DPLRl,*06

DPH , R3DPL,R2A,9DPTRDPH,R5DPL,R40DPTR,AR2A,R2RAM3R3R4A,R4RAM 4R5R1.RAM2ROyRAMl

7COPIA R0*6 LOCALIDADES DE R3:R2 A R5:R4

/COPIA DPTR A R5;R4

/CUENTA 6 ITERACIONES POR NUMERO EN PUNTO/FLOTANTE (NPF)

/CARGA LOCALIDAD R3:R2 DE RAM A ACC.

/ALMACENA ACC. EN LOCALIDAD R5:R4 DE RAM

/INCREMENTA PUNTERO/DIRECCIÓN ENTRADA/R3:R2

/INCREMENTA PUNTERO/DIRECCIÓN DE SALIDA

,REPITE 6 VECES EL PROCESO/Y CONTINUA CON LOS DEMÁS HUMEROS

CERO

cantidad de npf=0dirección primer valor del primer dato entrada

/ENTRADAS;

/ RODPTR

/SALIDAS;

/ ninguna

í PROCESO:

/ Por 6 ocasiones (equivalentes a 6 dígitos por número/ en punto flotante) se copia a la dirección en ram apuntada/ por DPTR un cero.

Página 84

Page 85: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

MODULO DE ANÁLISIS DE ARMÓNICAS

; Se repite hasta que ya no falten más números (R0=0)

;CONSTANTES USADAS:

; ninguna

/VARTABLEG CREADAS:

; A cero; RO número de datos a procesarse/ Rl contndor iteraciones paro npfi DPTR puntero para mover valores desde y hacia el acumulador

/SUBRUTINAS USADAS

/ ninguno.

;REGISTROS ALTERADOS

; DPTR, A, RO, Rl

2C7B

2C7D2C7F2C802C812C832C85

7906

7400FOA3D9FAD8F622

CERO:CER01.- MOV

CÉR02 : MOVMOVXINCDJHZDJNZRET

7

; ENTRADAS :

; RO; DPTR

Rl,#06

A, «000DPTR,ADPTRR1,CERO2RO , CER01

**-***

cantidaddirecció

;ENCERA ÍX/CUENTA 6 ITERACIONES POR NUMERO EN PUNTO;FLOTANTE (NPF)

;CARGA UN CERO A BDPTR DE RAM

;REPITE 6 VECES Eb PROCESO;Y CONTINUA CON LOE DEMÁS NÚMEROS

DISTOR

dirección primer valor del primer dato entrada

; GAL IDAS:

; Distorsión armónica total de la señal procesada en stock

j PROCESO :

; Decrementa en 1 a DPTR, cargo el primer dato a etack,; carga el segundo dato y lo eleva al cuadrado, carga los/ demás datos elevándolos al cuadrado y sumándolos 5] anterior/ 8aca la raíz cuadrada de la sumatoria y divide este; resultado para el primer dato (ya almacenado)

; CONSTANTES USADAS:

/ ninguna

/VARIABLES CREADAS:

DPTRARlR2

indica dirección inicial de tablapuntero de datos en tablanúmero de datos procesadoscontador que eleva valor al cuadrado

USADAS

; COCIENTE, PRODUC, SQR, SUMA, TOSTACK,

; REGISTROS ALTERADOS

DPTR, A, Rl, R2

2EOC 79032EOE C0832E10 C0832E12 7A032E14 D0822E16 D0833E18 C0832E1A C0822E1C E92E1D F1363E1F DAF32E21 D1CF2E23 7A022E35 093E2G D0832E28 D083

D1STOR:PUSHPUfíHMOV

DIS1: POPPOPPUSHPUfíHMOVACALLDJI12ACALL

DIS2: MOVINC

DIS3; POPPOP

MOVDPHDPLR 2 , » 0 2DPLDPHDPIIDPLA,R1TOCTACKR2,DIS1PRODUCR 2 , I 0 2RlDPLDPH

ni,102;SUBRUTJNAS EN BASIC ALTERAN DPTR; POR LO QUE SE N ALMACENADAS EN GTACK

¡RECUPERA DPTR LUEGO DE SUBRUT1NA BASIC

,-CARGA A STACK SEGUNDA ARMÓNICA

;3 VECES;PARA ELEVAR LA CUADRADO

/RECUPERA DPTR LUEGO DE SUBRUTINA BASIC

Página 65

Page 86: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

MODULO DE AÍÍALISJ.S DE ARMÓNICAS

2E2A2E2C2E2E2E2F2E312E332E352E372E382E392E3A2E3C2E3E2E402 E 4 22E442E-152E472E492E4B

C083C082E9F136DAF3D1CFF12CC3E99870E7F127D083D0837901E9F136D15FD1D922

PUSHPUSHMOVACALLDJHZACALLACALLCLRMOVSXJBBJtIZACALLPOPPOPMOVMOVACALLACALLACALLRET

DPHDPLA,R1TOSTACKR2,DIS3PRODUCSUMACA,R1A,RODIS2SQRDPLDPHRl,»01A,R1TOSTACKCOCIENTEREDON2

/CARGA A STACK ARMÓNICA # Rl

;2 VECES,-MULTIPLICA PARA ELEVAR AL CUADRADO;SUHA AL RESULTADO ANTERIOR

;HASTA QUE SE LEAN TODAS LAS ARMÓNICAS;SACA RAÍZ CUADRADA DE SUKATORIO

,CARGA A STACK,PRIMERA ARMÓNICA DE SEflAL/DIVIDE SUHATORIO PARA PRIMERA ARMÓNICA/APROXIMA A 2 DECIMALES

FFT

;ENTRADAS:

; rx dirección inicio dabos onda a eer tratada; ix dirección inicio cero/ pord dirección inicio datos de pobencia ordenados; £ord dirección inicio daboo de fase ordenados

/SALIDAS:

/ OBOOH-OC7FII/ OC80H-ODFFH

ubicación dabon de potencia ordenadosubicación datos de fase ordenados

;PROCESO:

/ 1 Aplica algoritmo de transformada rápida de Fourier; 2 Da notación de armónicos como módulo y fase/ 3 Ordena armónicos

/REGISTROS TEMPORALES:

/ Bum dif

/CONSTANTES USADAS:

/ nx valoree de <K> ordenodos; rar valoreo de WA<K> realeo/ ic valores de WA<K> imaginarios/ pi2 valor de pi/2/ k2 k2 número de valores WA<k>

VARIABLES USADAS;

; A variable de propósito general; puntero babla para manejo del oback (TjATlOK, FFT?.,/ RO índice lafco ascendente (maneja vectores rr e ii.')/ número de datos a procesarse en FFT2, FFT3/ Rl índice que maneja vecbores rx e ix/ R2 índice que maneja vectores rx e ix; R3 variable iberativa que maneja R?. y R6; R4 variable iterativa que maneja RO/ R5 índ-íce lazo deacendente; R6 índice lazo descendenbe; DPTR dirección inicial bablas a manejarse con stack

/ SUBRUTINAS USADAS:

; LA7.0K, MODULO, FASE, ATAN, COCIENTE, FROMSTACK, PRODUC,RESTA, 9QR, SUMA, TOSTACK.

REGISTROS ALTERADOS:

DPTR, A, B, RO, Rl, R2, R3, R4, R5, R6, R7

FFT3)

2C86 -Í3D018 ORL PSW, *18H /PARA PROBAR MODULO INDEPENDIENTEMENTE2C89 7B10 FFT: MOV R3, * rnum /R3<-K2C8B 7C01 MOV R4,t01 ;R4<-NGRUPO2C8D 7D05 MOV R5,lmulog /LAZO DESCENDENTE R5<-KITER

Página 86

Page 87: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

MODULO DE ANÁLISIS DE MÍMONICAS

2C8F 7AOQ2C91 78012C93 EA2C94 F92C95 EB2C96 FE2C97 092C98 91E52C9A DEFB2C9C C32C9D E82C9E 082C9F 9C2CAO 70F12CA2 C32CA3 EC2CA4 332 CAS FC2CA6 C32CA7 EB2CA8 132CA9 FB2CAA DDE32CAC 78202CAE B1872CBO B1BA2CB2 900B4F2CB5 E82CB6 D1732CB8 900A8F2CBB E82CBC D1732CBE D8EE2CCO 78202CC2 900A8F2CC5 E82CC6 F13G2CC8 9033DF2CCB E82CCC 932CCD 900COF2CDO DI 7 32CD2 900B4F2CD5 E82CD6 F1362CD8 9033DF2CDB E82CDC 932CDD 900CCF2CEO D1732CE2 D8DE2CE4 22

KITER: MOVMOV

KHGRUP:MOVMOVMOV

KNSY; IÍ1CACALLDJNZCLRMOVINCSUBEJNZCLRMOVRLC

. MOVCLRMOVRRCMOVDJNZ

FFT2 : MOVPOT: ACALL

ACALLMOVMOVACALLMOVMOVACALLDJHZ

FFT3 : MOVORDEN: MOV

MOVACALLMOVMOVMOVCMOVACALLMOVMOVACALbMOVMOV

: MOVCMOVACALbDJNZRET

R2,*00R0,«01MOV A,R2R1,AA,R3R6,ARlLAZOKR6,KHSYCA,ROROA,R4KNGRUPCA,R4AR4,ACA,R3AR3,AR5 , KITKRRO, dmunumMODULOFASEDPTR,*ixA, ROFROMSTACKDPTR(*rxA,ROFROMSTACKRO , POTRO, ImunumDPTR, IrxA;ROTOETACKDPTR, tnxA,ROA,0A-(DPTRDPTR, «pordFROMSTACKDPTR,fixA,ROTOSTACKDPTR,«nxA,ROA,@A^DPTRDPTR,lfordFROMSTACKRO , ORDEN

/LAZO ASC

;IAZO DES

/APLICA f; CIERRA E

; CIERRA I

/NGRUPO=t

,K^K/2

; CIERRA I

; HALLA MC/HALLA FJ

; VALOR DI

,-POTENCIJ

; VALOR DI;MSB DE I/LSB DE I;1TUVE VA1

;ALMACEHJ

/VALOR DJjMSB DE I;LSB DE (;TRAE VAJ

; ALMACEHi

;.***** SUBRUTINAS UTILIZADAS POR FFT

2CE5 E92CE6 2B2CE7 FA2CE8 9009CF2CEB E83CEC F1362CEE 900B4F2CF1 EA2CF2 F1362CF4 D1CF2CFG 90GA2F3CF9 E82CFA F1362CFC 900A6P2GFF E A2DOO F1362D02 D1CF2D04 F12C2DOS 90082F2D09 74012DOB D1732DOD 9009CF2D10 E82D11 F1362D13 900A8F2D1G EA2D17 F1362D19 D1CF2D1B 900A2F2D1E E82D1F F136

JüAZOK: MOVADDMOVMOVMOVACALLMOVMOVACALLACALLMOVMOVACALLMOVMOVACALI,ACALLACALLMOVMOVACALLMOVHOVACALLMOVMOVACALLACALLMOVMOVACALL

A,R1A,R3R2,ADPTR, IrarA,ROTOSTACKDPTR.ÜXA,R2TOGTACKPRODUCDPTR ,f irA,ROTOSTACKDPTR , » rxA,R2TOSTACKPRODUCSUMADPTR, »eumA, 101FROMSTACKOPTO,! ira rA,ROTOSTACKDPTR,lrxA,R2TOSTACKPRODUCDPTR, «irA,ROTOSTACK

/DIRECCK7 KHGRUP 3; ENVÍA RJ

; ENVÍA i:jMULTIPL.

j ENVÍA 11

; ENVÍA R;;MULTIPL;SUMA DO!;EACA EU1/Y ALMAC);8ÜM DE 1

; ENVÍA R,

; ENVÍA R:,-MULTIPL

;EHVIA 11

/APLICA ALGORITMO A CADA ITERACIÓN

/LSB DE DIRECCIÓN DE NX A ACUMULADORVALOR DE NX A ACUMULADOR

/ALMACENA VALOR DE POTENCIA ORDENADO

;LSB DE DIRECCIÓN DK NX A ACUMULADOR

Página 87

Page 88: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

MODULO DE ANÁLISIS DE ARMÓNICAS

2D21 900B4F2D24 EA2D25 F1362D27 D1CF2D29 D1D42D2B 9008352D2E 74012D30 D1732D32 900A8F2D35 E92D36 F1362D38 9008352D3B 74012D3D F1362D3F D1D42D41 900A8F2 D 4 4 EA2D45 D1732D47 900B4F2D4A E92D4.B F1362D4D 90082F2D50 74012D52 F1362D54 D1D42D5G 900B4F2D59 EA2D5A D1732D5C 900A8F2D5F E92D60 F13G2D62 9008352D65 74012D67 F1362D69 F12C2D6B 900A8F2D6E E92D6F D1732D71 900B4F2D74 E92D75 F1362D77 90082F2D7A 74012D7C F1362D7E F12C2D80 900B4F2D83 E92D84 D1732D86 22

2DS7 79022D89 900A8F2D8C E82D8D F1362D8F D9F82D91 D1CF2D93 79022D95 900B4F2D98 E82D99 F1362D9B D9F82D9D D1CF2D9F F12C2DA1 F1272DA3 9008472DA6 74012 DAS F1362DAA 9008412DAD 74012DAF F1362DB1 D1CF2DB3 F1272DB5 D15F2DB7 D1D92DB9 22

2DBA 900B4F2DBD E82DBE F1362DCO 900A8F2DC3 E82DC4 F1362DC6 D15F2DC8 20E1322DCB 20E32F2DCE D151

MOVMOVACALLACALLACALLMOVHOVACALLMOVMOVACALLMOVMOVACALLACALLMOVMOVACALLMOVMOVACALLMOVMOVACALLACALLMOVMOVACALLMOVMOVACALLMOVMOVACALLACALLHOVMOVACALLMOVMOVACALLMOVMOVACALLACALLMOVMOVACALLRET

MODULO:IPOT: MOV

MOVACALLDJNZACALLMOV

IPOT1: MOVMOVACALLDJNZACALLACALLACALLMOVMOVACALLMOVMOVACALLACALLACALLACALLACALLRET

FASE : MOVMOVACALLMOVMOVACALLACALLOBOBACALL

DPTR, lixA,R2TOSTACKPRODUCRESTADPTR,tdifA, «01FROMSTACKDPTR, IrxA,R1TOSTACKDPTR, IdifA, 101TOSTACKRESTADPTR, IrxA , R 2FROMSTACKDPTR, lixA,R1TOSTACKDPTR,*sumA, «01TOSTACKRESTADPTR, lixA , R 2FROMSTACKDPTR, IrxA,R1TOSTACKDPTR, IdifA, 101TOSTACKSUMADPTR,*rxA,R1FROMSTACKDPTR , 1 ixA,R1TO STACKDPTR,lsumA, 101TOSTACKSUMADPTR, lixA,R1FROMSTACK

MOV R1,I02DPTR, 1 exA , R OTOSTACKRl.IPOTPRODUCR 1 , B 0 2DPTU,«txA , R OTOSTACKR1,IPOT1PRODUCSUMASQRDPTR, Ik2A, «01TOSTACKDPTR,lklA, «01TOSTACKPRODUCSQRCOCIENTEREDOH2

DPTR, UxA , R OTOSTACKDPTR, IrxA , R OTOSTACKCOCIENTEACC.1.1NFINACC.3,INFINATAN

/ENVÍA IX(R2) A STACK/MULTIPLICA DOS ÚLTIMOS VALORES/RESTA DOS PRODUCTOS ANTERIORES/SACA RESTA PARCIAL DE STACK/Y ALMACENA EN LOCALIZACION/DIF DE MEMORIA

; ENVÍA RX(R1) A STACK

/ENVÍA DIF A STACK/RESTA PARA HALLAR RX(R2)

/ALMACENA RESULTADO EN MEMORIA

/ENVÍA IX(Rl) A STACK

/SUM A STACK/HALLA IX(R2)

/ALMACENA RESULTADO EN MEMORIA

/ENVÍA RX(R1) A STACK

/ENVÍA DIF A STACK/RESTA PARA HALLAR RX(R1)

/ALMACENA RESULTADO EN MEMORIA

/ENVÍA IX(Rl) A STACK

/SUM A STACK/HALLA IX(Rl)

/ALHACENA RESULTADO EH MEMORIA

/ENVÍA RX(RO) A STACK/DOS VECES/MULTIPLICA PARA HALLAR R X ( R O ) ^ 2

/ENVÍA I X ( R O ) A STACK/DOG VECES/MULTIPLICA PARA HALLAR RX(RO)*2/SUMA ELEMENTOS COMPLEJOS/Y SACA RAÍZ CUADRADA = POTENCIA/CARGA A STACK/VALOR DE k2

/CARGA A STACKíVALOR DE kl

/PRODUCTO kl*k2/SACADO LA RAÍZ CUADRADA/Y DIVIDIDO DE POTENCIA DA RMS/APROXIMA A SEGUNDO DECIMAL

/ENVÍA IX (RO) A STACK

/ENVÍA RX(RO) A STACK/HALLA IX(RO)/RX(RO)/SALTA SI EXISTE OVERFLOW/SALTA SI DIVISIÓN PARA CERO/SACA EL ARCO TANGENTE DE LA DIVISIÓN

Página G8

Page 89: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

MODULO DE VISUALIJ5ACION DE RESULTADOS Y COMUNICACIÓN

2DDO 900A8F2DD3 ES2DD4 F1362DD6 90082F2DD9 74012DDB D1732DDD 90082F2DEO 7F052DE2 A32DE3 DFFD2 DES EO2DE6 54012DE8 60122DEA 90083B20ED 74012DEF F1362DF1 90083B2DF4 74012DF6 F1362DF8 F12C2DFA F12C2DFC 222DFD 90083F2EOO 74012E02 D1732E04 90083B2E07 74012E09 F1362EOB 22

MOVMOVACALLÍ1OVMOVACALLMOVMOV

RXSGN: INCixmzMOVXANLJZMOVMOVACALLMOVMOVACALLACALLACALL

RXPOS.- RETINFIN-- MOV

MOVACALLMOVMOVACA1.LRET

DPTR,*rxA,ROTOSTACKDPTR, *HUmA,«lFROMSTACKDPTR,*BUmR7,*5DP1-RR7, RXSGNA,QDPTRA,t01RXPOSDPTR,tpi2A, tOlTOSTACKDPTR,*pÍ2A,f01TOSTACKSUMASUMA

DPTR, laijrnA, 101FROMSTACKDPTR,*pí2A.I01HTOSTACK

/ENVÍA rx(RO) A STACK

;Y LUEGO A eum

7UBICA PUNTERO EN LOCALIZACION;DE MEMORIA CORRESPONDIENTE AL/SIGNO DE Bum

;TRAE SIGNO DE RUTH AL ACUMULADORíAISLA EL BIT DEL SIGNO,-SALTA SI sum ES POSITIVO,-COMO rx ES NEGATIVO, ENTONCES/CARGA 2 VECES PI/2

/PARA QUE EL ÁNGULO SEA SUMADO A;PI RADIANES

jSACA DE STACK RESULTADOifíO VALIDO

/ P I / 2 A STACK

3.6.Módulo de visualización de resultados y comuni-

cación.

Una vez que los resultados ya se encuentran en memoria es nece-

sario transmitirlos al LCD y al pórtico serial.

La transmisión al pórtico serial no es complicada puesto que se

tiene a disposición la rutina BASIC que transmite números de punto flotante

que se encuentran en la última posición de la pila de argumento. Entonces,

lo que se debe hacer es poner los números en punto flotante de cada uno de

los resultados en memoria en la pila de argumento y llamar a la rutina BA-

SIC correspondiente. El programa emplea 3 rutinas, TOSER que envía un

número de punto flotante que se encuentra en la última posición de la pila

de argumentos al pórtico serial, CARSER que envía un carácter ASCII cuyo

valor está ubicado en el acumulador y CRLF que envía un conjunto CR-LF

(retorno de carro y alimentación de línea). Estas tres rutinas ya fueron

indicadas en este mismo capítulo.

En cuanto a la visualización en el LCD, la tarea ya no es tan

sencilla puesto que el usuario debe poder cambiar la pantalla visualizada

en el momento que desee, mientras que, datos actualizados se tendrá única-

mente al final de todo el proceso de cálculo (lo que tana alrededor de 17

segundos). Por otro lado, la transferencia de números de punto flotante de

memoria al LCD como caracteres BCD no es tan directa como en el caso de la

Página 89

Page 90: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

MODULO DE VISUALI2ACION DE RESULTADOS Y COMUNICACIÓN

comunicación serial, así que tomará algún tiempo hacer operaciones cada vez

que se requiera tener datos actualizados.

Barajando algunas opciones, se decidió crear un área de memoria

denominada "Display RAM" que es una réplica exacta de los caracteres de las

6 diferentes pantallas factibles de ser seleccionadas con el selector.

Cada vez que se termine con el proceso de cálculo entero, se actualizará el

Display RAM y refresca el LCD. Por otro lado, se debe monitorear constan-

temente al selector para saber si el usuario desea ver otra pantalla en el

LCD; como no se puede tener una interrupción activada todo el tiempo (ya

gue se pueden presentar conflictos al invocar rutinas BASIC), se prefirió

cada cierto tiempo hacer un corto chequeo de las posiciones del selector.

Para ello, cada vez gue se regrese de invocar una rutina BASIC, se compara

el valor del pórtico de 8 bits Pl del 8052, al cual está conectado el se-

lector, con la localidad interna 20H gue posee el último valor conocido del

selector, entonces, si coinciden los 2 valores, se continua con el progra-

ma, si no coinciden, se envían nuevos valores al LCD y se actualiza 20H.

De acuerdo a ésto, este módulo tiene tres partes: transmisión.

serial de los resultados, actualización del "Display RAM" y actualización

del LCD.

Para la actualización del Display RAM, se llama a las rutinas

COPIAO, COPIA1, COPIA2 Y SIG. Estas buscan la posición relativa en el Dis-

play RAM del nuevo dato y envían a ésta el valor ASCII de un carácter, 2

caracteres, 3 caracteres o un signo. Los valores son tomados del registro

de propósito general sun y comparado el número en punto flotante con un

exponente de referencia, de manera que en el LCD siempre aparecerá un

número entero, acompañado de ceros a la izquierda si el exponente no es

igual al de referencia, y con signos de interrogación en todo el campo del

número (???) si se trata de un número más grande de lo previsto o ceros

(000) si el niñero es muy pequeño para representarlo. Adicionalmente, y

como se acaba de mencionar, hay una tabla de direcciones relativas de ca-

racteres en el Display RAM que se utiliza para actualizar solo los carac-

teres numéricos en esta área de memoria ya que no se necesita cambiar todo

el fonrato de la misma.

Página 90

Page 91: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

MODULO DE VISUALIZACION DE RESULTADOS Y COMUNICACIÓN

No debe perderse de vista que si bien en el LCD solo se mos-

trarán 2 o 3 caracteres de un determinado valor, los datos enviados por el

pórtico serial, son los datos obtenidos en las rutinas anteriores.

RESULT

EXPRESA RESULTADOS EN LCD Y VIA SERIAL

/ENTRADAS:

; fp dirección inicio factor de potencia; fpd dirección inicio factor de potencia de desplazam.; iarm dirección inicio de tabla armónicas de corriente; i fas dirección inicio de tabla de fases de corrientes; irms dirección inicio de corriente rms; power dirección inicio de potencia real y primer set de,- datos a transmitir7 B dirección inicio de potencia aparente; thdi dirección inicio del valor tbd de corriente; tbdv dirección inicio distorsión armónica total volt,; varm dirección inicio de tabla armónicas de voltaje y; segundo set de datos a trasmitir; vías dirección inicio de tabla da fases de voltajes7 vrmB dirección inicio de voltaje rms

,-SAL IDAS:

; 0710H-07FFH display ram actualizado

/PROCESO:

7 1 Envía resultados vía serialEnvía 8QOh-82Fh (P, S, fp, fpd, vrms, inns, thdi y thdv)

/ ésto es, 8 npf desde la localidad indicada por power.7 Envía OD90h~OFOFh (módulos y fases de armónicas); para ello envía módulo y fase de voltaje, módulo y fase/ de corriente de cada armónica (16 en total).,- Entre dato y dato debe enviar una coma ( , ) .; Al final envía un carácter de fin de bloque (definido aguí/ como OFFh) y un CR-LF.; Simplemente envía sin esperar confirmación7 2 Actualiza display ram; En R6 se apunta la tabla de direcciones relativas Display RAM; Para P, fp, S, fpd, vrms, vi, tbdv, irma, il y thdi ae; copian sus valores a sum, se indican como exponentes de

referencia 84b, 80b, 84h, 80h, 83h, 83h,80b, 82h, 82h y 8Oh; y copia 3, 2, 3, 2 con signo, 3, 3, 2, 3, 3 y 2 caracteres.; Para armónicas de voltaje utiliza:; R4 número de armónicas procesadas (1 corresp. a fundamamental); R5 armónicas distintas de cero (R5=l)7 Si la armónico os menor n 1*, paso a otra.; Copia número de armónica con COPIAD (2, 3, ,.., 9, A, , G)

Copia módulo a sum, indica exponente de ref. 83h y COPIA27 Copia signo do fase a R4 y llama a SIG

Copia fase de igual formaIncrementa R5, si es igual a 8 (todos espacios llenos) procesaarmónicas de corriente

; Incrementa R-l, si R4 igual n número de armónicas posiblesí procesa armónicas de corriente7 Si no es igual, llena de espacios antes de proceder.7 Para armónicas de corriente utiliza procedimiento parecido.

/REGISTROS TEMPORALES

i sum dif

/CONSTANTES USADAS:

,- n inguna

7VARIABLES CREADAS:

; RO cantidad de npf a copiarse o procesarsei R3:R2 dirección inicial tabla fuente de copia; A puntero do tnbla pnra manojo do stock

Página 91

Page 92: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

MODULO DE VISUALIZACION DE RESULTADOS Y COMUNICACIÓN

; DPTR dirección inicial de tabla blanco de copia o proceso

;SUBRUTINAS UTILIZADAS

CARSER, CRLF, TOCOM, TOSTACK/ COPIA1, COPIA2, RAMRAM, SIG

/REGISTROS ALTERADOS

; DPTR(' A, RO, Rl, R2, R3, R 4 , R5, B

BASIC LUYAa mimoHPF M NÚA SERIAL

FIGTJRA 3.9. - TLUJOGRAMA DE RU-

TINA JDE COMUNICACIÓN BERTA.U.

RESULT:235E 43D018 ORL

SERIAL22612263226422652268226B226E22702273227622782279227A227D22802283228522882289228C22 8 P2292229422972298229B229E22A1

780008ES9007FF122F36122F31742C122E56B808ED780008E8900D8F122F36122F31742C122E56E8900E4F123F36122F31742C122E56E8900DEF122F36122F31742C

SER1:MOVINCMOVMOVLCALLLCALL.MOVLCAbbCJNEMOVIHCMOVMOVLCALLJjCALLMOVLCALLMOVMOVLCALTjLCALbMOVLCALLMOVMOVLCAbLLCALLMOV

PSH,«18H

RO,«OOHROA,RODP7H,«powerTOETACKTOSERA, i 2CUCARSERRO,I08,SER1RO,*OOHROA.RODPTR,Ivo rmTOSTACKTOSERA,«2CHCARSERA,RODPTR,*v£a0TOSTACKTOSERA,I2CMCARSERA,RODP1H,«inrmTOSTACKTOSERA,H2CH

;ENVÍA DATOS A COMPUTADOR;NUMERO DE RESULTADOS ENVIADOS/INCREMENTA EN UNO NUMERO DE ENVÍOS

;CARGA DIRECCIÓN INICIAL RESULTADOS/ENVÍA RESULTADO A STACK;Y LUEGO A PÓRTICO SERIAL;ENVÍA '," A PÓRTICOí CARSER ENVÍA UN CARÁCTER A 'PÓRTICO;REPITE CON LOS DEMÁS RESULTADOS;HUMERO DE ARMÓNICAS DE v E ijINCREMENTA EN UNO NUMERO DE ENVÍOS

;CARGA DIRECCIÓN INICIAL MODULO v;ENVÍA RESULTADO A STACK;Y LUEGO A PÓRTICO SERIAL;ENVÍA "," A PÓRTICO;CARSER ENVÍA UN CARÁCTER A PÓRTICO

;CARGA DIRECCIÓN INICIAL FASE V/ENVÍA RESULTADO A STACK;Y LUEGO A PÓRTICO SERIAL/ENVÍA '," A PÓRTICO;CARSER ENVÍA UN CARÁCTER A PÓRTICO

;CARGA DIRECCIÓN INICIAL MODULO í;ENVÍA RESULTADO A STACK;Y LUEGO A PÓRTICO SERIAL/ENVÍA ",• A PÓRTICO

Página 92

Page 93: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

MODULO DE VTSUALIZACION DE RESULTADOS Y COMUNICACIÓN

22A322A622A722AA22AD22BO22B222B522B822BA22BD

122E56E8900EAF122F36122F31742C122E56B810CO74FF122E56122E69

LCALL CARSER ;CARSER EKVIA UN CARÁCTER A PÓRTICOMOV A , R OMOV DPTR,tifas /CARGA DIRECCIÓN INICIAL FASE iLCALL TOSTACK ;ENVÍA RESULTADO A STACKLCALL TOSER ;Y LUEGO A PÓRTICO SERIALMOV A , I 2 C H ;ENVÍA ' , " A PÓRTICOLCALL CARSER ;CARSER ENVÍA UN CARÁCTER A PÓRTICOOJNE RO,*16,SER2 ;REPITE CON LAS DEMÁS ARMÓNICASMOV A,IOFFH /TRANSMITE CARÁCTER DE FIN DELCALL CARSER ^TRANSMISIÓN DE BLOQUELCALL CRLF ?ENVÍA CR-LF A PÓRTICO

COPIA t

RAMRAMVTOTI A aum

1RÜ-3-B3H

iCOPIA 2

iRAMRAMVBim A 9 un

iRD<- S3H

1COPIA 2

\MthJr A nú»

J,

ROO- gQH

iCOPIA 1

iRAMRAMimt* A *um

1

JÍO<^ 82H

1COPIA 2

RAMRAMÍ«m A. ium

1

R0<> ?2H

1COPIA 3

1RAMRAMIhdí A sum

1

.|

[ COPIA 1

HGURA3.10.-FLUJOGRAMADK ACTUA1I-

ZACIONDEDISPLAYRAM (PARTE í)

LCD:22CO 7EOO

22C222C422C722C822CA22CC22CF22DO22D322DS

22D7220922DC22ÜD22DF22E122E422E522E822 EA

78019007FFA3AB83AA8290082FA3122C5C7884D165

780190080BA3AB83AA8290082FA3122C5C7880B103

MOV

MOVMOVINCMOVMOVMOVINCLCALLMOVACALL

. **•»*•*

22EC 7801

MOVMOVINCMOVMOVMOVINCLCALLMOVACALL

MOV

R6,*00

VALOR DE POTENCIA REAL

/ACTUALIZA DISPLAY RAM CON CALCÓLOS;0 DATOS COPIADOS A DISPLAY RAM

R0,«01DPTR,«powsrDPTRR3.DPHR2,DPLDPTR,leumDPTRRAMRAMRO,I84HCOP1A2

/SE VA A COPIAR UH NPF;COPIA DIRECCIÓN DE VALOR DE POTENCIA;REAL A R3¡R2

íY A DPTR LA DEL REGISTRO TEMPORAL eum

/COPIA NPF A sum;4 ES EL EXPONENTE DE REFERENCIAíACTUALIZA DISPLAY RAM CORRESPONDIENTE

VALOR DE FACTOR DE POTENCIA

R0,«01DPl-R/lfpDPTRR3,DPHR2.DPL

DPTRRAMRAMRO,«BOHCOPIA1

;SE VA A COPIAR UN NPF/COPIA DIRECCIÓN DE FACTOR DE POTENCIA;REAL A R3:R2

/Y A DPTR LA DEL REGISTRO TEMPORAL eum

/COPIA NPF A eum;0 ES EL EXPONENTE DE REFERENCIA/ACTUALIZA DISPLAY RAM CORRESPONDIENTE

VALOR DE POTENCIA APARENTE *****

R0,«01 /BE VA A COPIAR Üll NPF

Página 93

Page 94: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

MODULO DE VISUALIZACION DE RESULTADOS Y COMUNICACIÓN

22EE22F122F222F422F622F922 FA22FD22FF

900805A3AB83AAG290082FA3122CSC7884B165

23012303230623072309230B230E230F231223142316

2318231A231D231E23202322232523262329232B

232D232F2332233323352337233A233B233 E2340

2342234423472348234A234C234F235023532355

23572359235C235D235F2361236423652368236A

236C236E23712372237423762379237A237D

7801900811A3AB83AA8290082FA3122C5C7880B103B1.FB

7801900817A3AB83AA8290082FA3122C5G7883B165

7801900D8FA3AB83AA8290082FA3122C5C7883B165

7801900829A3AB83AA8290082FA3122C5C7880B103

78019Ü081DA3AB83AA8390082FA3122C5C7882B165

7801900DEFA3AB83AA8290082FA3122C5C7882

, * * * *- *

MOV DPTR, «8INC DPTRHOV R3.DPHMOV R2 , DPLHOV DPTR,t8UmINC DPTRLCALL RAMRAMHOV RQ,*84HACALL COPIA2

FACTOR DE

HOV RO,Í01MOV DPTR,*fpdINC DPTRMOV R3 , DPHMOV R2 , DPLMOV DPTR,loumINC DPTRLCALb RAMRAMMOV RO,B80HACALL COPIA!ACALL SIG

; COPIA DIRECCIÓN DE VALOR DE POTENCIA/APARENTE A R3 :R2

;Y A DPTR LA DEL REGISTRO TEMPORAL sum

; COPIA NPF A Bum;4 ES EL EXPONENI'E DE REFERENCIAjACTÜAltIZA DISPLAV RAM CORRESPONDIENTE

POTENCIA DE DESPLAZAMIENTO *****

;SE VA A COPIAR UN NPF; COPIA DIRECCIÓN DE FACTOR DE POTENCIA;DE DESPLAZAMIENTO A R3 :R2

;Y A DPTR LA DEL REGISTRO TEMPORAL Blun

íCOPIA NPF A Bum;0 ES EL EXPONENTE DE REFERENCIAíACTUALIZA DISPIjAY RAM CORRESPONDIENTE; ACTUALIZA SIGNO EN DISPLAY RAM

VOLTAJE RMS *****

MOV R0,*01MOV DPTR,flvrmsINC DPTRMOV R3,DPHMOV R2 , DPLMOV DPTR.tBumINC DPTRLCALL. RAMRAHMOV RO,*83MACALL COPIA2

;SE VA A COPIAR UN NPF; COPIA DIRECCIÓN DE VOLTAJE RMS;A R3 :R?.

;Y A DPTR LA DEL REGISTRO TEMPORAL sum

/COPIA NPF A sum;3 ES EL EXPONENTE DE REFERENCIA;ACTUALIZA DI6PLAY RAM CORRESPONDIENTE

VOLTAJE FUNDAMENTAL *****

MOV R0,«01MOV DPTR,*varmINC DPTRMOV R3 , DPHMOV R2 , DPLMOV DPTR,«sumINC DPTR.LCALL RAMRAMMOV RO,t83HACALL COPIA2

DIS1X)RSION

MOV R0,t01MOV DPTR,lthdvIHC OPTOMOV R3 , DPHMOV R?. , DPLMOV DPTR,lBUmINC DPTRLCALb RAMRAMMOV RO,I80MACALL COPIA1

CORRIENTE

MOV RO,I01MOV DPTR,* icmsINC DPTRMOV R3,DPHHOV R2 , UPLMOV DPTR, »aumINC DPTRLCALL RAMRAMMOV RO,»82HACALL COPIA2

CORRIENTE

MOV R0,«01MOV DPTR.UarmINC DPTRMOV R3 , DPHMOV R2 , DPLMOV DPTR^BUmIHC DPTRLCALL RAMRAHMOV RO,«83H

; SE VA A COPIAR UN NPF;COPIA DIRECCIÓN DE VOLTAJE FUHDAMENT.;A R3 :R2

;Y A DPTR LA DEL REGISTRO TEMPORAL 9Um

; COPIA NPF A eum;3 ES EL EXPONENTE DE REFERENCIAíACTUALI7,A DISPLAY RAM CORRESPONDIENTE

VOLTAJE *****

;SE VA A COPIAR UN NPF;COPIA DIRECCIÓN DE DISTORSIÓN ARMÓNICA; TOTAL DE VOLTAJE A R3 :R2

;Y A DPTR LA DEL REGISTRO TEMPORAL Bum

/COPIA NPF A sum;0 ES EL EXPONENTE DE REFERENCIA/ACTUALIZA DISPLAY RAM CORRESPONDIENTE

RMS *****

; SE VA A COPIAR UN NPF;COPIA DIRECCIÓN DE VALOR DE CORRIENTE/RMS A R3:R2

;Y A DPTR LA DEL. REGISTRO TEMPORAL oum

; COPIA NPF A BUm;2 ES EL EX PONENTE DE REFERENCIA/ACTUALIZA DISPLAY RAM CORRESPONDIENTE

FUNDAMENTAL *****

;SE VA A COPIAR UN NPF; COPIA DIRECCIÓN L)E VALOR DE CORRIENTE; FUNDAMENTAL A R3 ;R2

/Y A DPTR LA DEL REGISTRO TEMPORAL eum

/COPIA NPF A sum/2 ES EL EXPONENTE DE REFERENCIA

Página 94

Page 95: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

MODULO DE VTSUALIZACION DE RESULTADOS Z COMUNICACIÓN

237F mes /ACTUALIZA DISPL.AY RAM CORRESPONDIENTE

238]238:238Í238'238'238238238239'239

L 7801900823

í A31 AB33? AA823 90082F2 A37 122C5Cí V8801 B103

<ri

C

/-*<tfHQSt

IOMAH( H C U E H I AwnoHic/ii _CW H09IUQ> !«

,****•* DISTORSIÓN CORRIENTE *****

MOV R0,*01 /SE VA A COPIAR UN NPFMOV DPTR,*bhdí /COPIA DIRECCIÓN DE DISTORSIÓN ARMÓNICAIHC DPTR /TOTAL DE CORRIENTE A R3 -R2MOV R 3 , D P HMOV R2 , DPLMOV DPTR,lsUm / Y A DPTR LA DEL REGISTRO TEMPORAL HUmINC DPTRLCALL RAMRAM /COPIA NPF A BUmMOV R O , » 8 0 H / O ES EL EXPONENTE DE REFERENCIAACALL COPIA1 /ACTUALIZA DISPLAY RAM CORRESPONDIENTE

9R1 <^ 1R5<- 0

¿^<-EXTCIHOITE« ARMOIirCA

i

9

¿ A < ? I K ? y^J)JllO

A <- R4COtíVtCRTE.\M ASCII

1raio-A

i, COPIA Q

1

ÍR3JÍ7) MODUARMOH1CA R

é

,J-04

RAÍ^iRAMMOD. A cura

iRO<?-83H |

1COPIA 2

0*-K(e")v.

1 0 1

1 x-/(R3:RTi FASEARMOIIICA R4

1RAMRAM

PASEA nira

1310 |

1\H

1COFJA2 TA

/

9IHCR5

(4 HO

10 C R4 ]

x

A

HOSIft^SOlOa JKMOHIÚJ*

NO/ V^t-O^R'l-.* ARMÓN. •$

>k"Ñ0\v I H C C l R K l t f J l í

W con A i

Isi

55^?"— iCOTIA 0

iDECR7¿R3-0?

131IHGEÜ

¿'.

s

«cV.

coru ESPACIOS" " t H P W l M U

>SI E S R U I I H A P Í

V Y O U W E P K A A/ C O R R I E H I t , 5 l

tí D E C O R R l E M I l" F 1 H M U A R U I I W A

I7GTJRA3ai. -JI^J.TOGRAMA-DE ACTIJAU-

ZA.CION DE DISFLAY R/VM (PARTE 2)

23962398239A23 9D239E239F23A223A323A523A723A923AB23AD23AE23AF23B1

7C017DOO900D8FEC0475F006A42582FS82E5FO3583F583EOC39481•107B

23B3 EC23B4 C323B5 940923B7 500623B9 EC23BA 0423BB 243023BD 61C1

REW:

HOVMOVMOVMOVIHCMOVMÜLADDMOVMOVADDCMOVMOVXCLRSUBBJC

MOVCLRSUBBJNCMOVINCADDAOMP

R4,*01HR5,tOOH .DPTR,»vacmA(R4AB, 106ABA, DPLDPL, AA,BA,DPHDPII,AA.flDPTTÍCA, «8111SIGV

/CONTADOR DE ARMÓNICOS REVISADOS,-CONTADOR DE ARMÓNICOS DISTINTOS DE CERO/SE REVISARA LA ARMÓNICA R4,-PARA ELLO ENCUENTRA SU DIRECCIÓN EXACTA

/CARGA EN ACUMULADOR EXPONENTE DE ARMÓNICA

/RESTA EXPONENTE - (1)/SALTA SI EXPONENTE ES MENOR A O

HUMERO DE ARMÓNICO

A,R4CA,»9REVV1A,R4AA, #3011REW2

;CARGA « ARMÓNICO PARA HACER RESTA/HUMERO DE ARMÓNICOS PROCESADOS - 9 Y.-DETERMINAR SI EL QUE SIGUE ES MAYOR A 9;SALTA SI MAS DE 8 ARMÓNICOS PROCESADOS/CARGA NUMERO DE ARMÓNICO EN PROCESO/A ACUMULADOR/CONVIERTE NUMERO EN ASCII/CONTINUA EN REVV2

Página 95

Page 96: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

MODULO DE VISUALIZACION DE RESULTADOS Y COMUNICACIÓN

23 BF 244123C1 F823C2 91EC

23C4 780123C6 900D8F23C9 EC23CA 75F00623CD A423CE 258223DO F58223D2 E5FO23D4 358323D6 F58323 D8 A323D9 AB8323DB AA8223DD 90082F23EO A323E1 EC23 E2 COEO23E4 ED23 E5 COEO23E7 122C5C23EA DOEO23EC FD23ED DOEO23 EF FC23FO 788323F2 B165

23F4 780123F6 900E4F23F9 EC23FA 75F00623FD A423FE 25822400 F5822402 E5FO2404 35832406 F5832408 A32409 AB83240B AA82240D 90082F2410 A32411 EC2412 COEO2414 ED2415 COEO2417 122C5C241A DOEO241C FD241D DOEO241F FC2420 B1FB2422 78832424 B165

2426 OD2427 BD08042-12A 813E242C 619A242E OC242F BC10FA

2432 78202434 7A082436 91EC2438 DAFC243A OD243B BD08F6

243E 7C012440 7DOO2442 900DEF2445 EC2446 04

REW1 : ADDREW2 : MOV

ACALL

. «-****

MOVMOVMOVMOVMULADDMOVMOVADDCMOVINCMOVMOVMOVINCMOVPUGHMOVPUSHLCALLPOPMOVPOPMOVMOVACALL

. * i--**- *

MOVMOVMOVMOVMULADDMOVMOVADDCMOVINCMOVMOVMOVIHCMOVPUSHMOVPUSHLCALLPOPMOVPOPMOVACALLMOVACALL

INCCJNEAJMP

REVV3 : AJMPSIGV: INC

CJNE

. »»**•*

SIGV1 : MOVSIGV2 : MOVSIGV3 : ACALL

DJHZIHCCJHE

. **--***

ACTI : MOVMOV

REVI: MOVMOVINC

A,*41HRO,ACOPIAO

/CONVIERTE NUMERO EN ASCII (A " G); COPIA NUMERO DE ARMÓNICO A RO; COPIA VALOR ASCII EN RO EN DISPLAY

MODULO DE ARMÓNICO *****

R0,«lDPTR,» va rmA,RdB,«06ARA, DPLDPL, AA,BA, DPHDPH, ADPTRR3 , DPHR2 , DPLDPTR, «surtíDPTRA,R4ACCA,R5ACCRAMRAMACCR5,AACCR4,ARO,I83HCOPIA2

,-SE COPIARA 1 NPF/CORRESPONDIENTE A LA ARMÓNICA R4;PARA ELLO ENCUENTRA SU DIRECCIÓN EXACTA

/EN R3:R2 DIRECCIÓN DE MSB DE ARMÓNICA

/RAMRAM CAMBIA R4 Y R5/POR LO QUE SE DEBEN CONSERVAR ESTOS,- VA LORES/COPIA ARMÓNICA A Bum

/3 ES EL EXPONENTE DE REFERENCIA; COPIA VALORES A DISPLAY RAM

FASE DE ARMÓNICO *****

RQ,«1DPTR,*v£a0A,R4B,IQ6ABA, DPL.DPL, AA,BA, DPHDPH, ADPTRR3 , DPHR2,DPLDPTR,»sumDPTRA,R4>ACCA,R5ACCRAMRAMACCR5, AACCR4,ASIGRO,«83HCOPIA2

R5R5, 18, SIGVACTIREWR4R4,*rnuin,REVV3

;SE COPIARA 1 NPFCORRESPONDIENTE A LA FASE R4/PARA ELLO ENCUENTRA SU DIRECCIÓN EXACTA

/EN R3:R2 DIRECCIÓN DE MSB DE FASE

/RAMRAM CAMBIA R4 Y R5;POR LO QUE SE DEBEN CONSERVAR ESTOS; VALORES/COPIA ARMÓNICA A sum

/PROCESA SIGNO DE FASE;3 ES EL EXPONENTE DE REFERENCIA/COPIA VALORES A DISPLAY RAM

;SOLO HAY 8 ESPACIOS PARA ARMÓNICOS; SI HAY MAS ESPACIO CHEQUEA ARMÓNICOS;SI NO, SALTA A ARMÓNICOS DE CORRIENTE/APOYO A CJNE x,x,REW3/CHEQUEA SI HAY MAS ARMÓNICOS/REPITE SI LOS HAY

ESPACIOS EN DEMÁS SITIOS *****

RO,I20HR2, f 8COPIAOR2 , SIGV3R5R5,«8,SIGV3

;A RO CÓDIGO ASCII DE ESPACIO;SE PONDRÁN 8 ESPACIOS POR LUGAR/DE ARMÓNICO NO USADO

/CONTINUA CON LOS DEMÁS ARMÓNICOS

ARMÓNICOS DE CORRIENTE *****

R4,I01HR5,iOOIID PTR , t la rmA,R4A

/CONTADOR DE ARMÓNICOS REVISADOS/CONTADOR DE ARMÓNICOS DISTINTOS DE CERO;SE REVISARA LA ARMÓNICA R4/PARA ELLO ENCUENTRA SU DIRECCIÓN EXACTA

Página 96

Page 97: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

MODULO DE VISUALIZACION DE RESULTADOS Y COMUNICACIÓN

2447244A244B244D244F245124532455245624572459

75F006A42582F582E5FO3583F583EOC39481407B

245B245C2450245F2461246224G3246524672469246A

ECC394095006EC04243081692441F891 EC

246C246E24712472247524762478247A247C247E248024812483248524882489248A248C248D248F24922494249524972498249A

7801900DEFEC75F006A42582FS82E5FO3583F583A3AB83AA8290082FA3ECCOEOEDCOEO122C5CDOEOFDDOEOFC7882B103

249C249E2 4 Al24A224A524A624A824AA24AC24AE2 4 DO24B124B324B524B824B924BA24BC24BD24BF24C224C42405

7801900EAFEC75F006A42503F582E5FO3583F583A3AB83AA8290082FA3ECCOEOEDCOEO122C5CÜÜEOFDDOEO

24C7 FC24C8 B1FB24CA 788324CC D165

24CE OD

. * * **

REVI1REVI?.

. -tr t * V

MOVMU LADDMOVHOVADDCHOVHOVXCLRSUBEJC

t

HOVCLRSUBEJNCHOVINCADDAJHP

: ADD: MOV

ACALL

MOVMOVMOVMOVMULADDMOVHOVADDCMOVINCMOVMOVMOVINCHOVPU6HHOVPUEHLCALLPOPMOVPOPMOVMOVACALL

B , * Q GABA,DPLDPL,AA , BA,DPHDPH,AA,0DPTRCA, I81HSIGI

NUMERO DE

A , R 4CA,*9REVI1A , R 4AA,I30HREVI2A,* 4 11!R O , ACOPIAO

MODULO DE

RO , « 1

,-CAF

/ R E Í;SAI

ARMÓNICO

;CAf;HUÍ,-DE^;SA1I CAÍ,A i;COt/COI;COI;CO1;CO1

ARMÓN ICO

;SEDPTR.Hiarm ;COIA , R 4B, 106ABA , D P LDPL,AA , BA , D P HDPH , ADPTRR 3 , D P I IR 2 , D P LDPTR ,1811111DPTRA , R 4ACCA,R5ACCRAM RAMACCR5,AACCR 4 , ARO, t82HCOPIA1

;PAI

/ E N

;RA1;PO!/VA;CO

;2 :;CO

FASE DE ARMÓNICO

MOVHOVHOVMOVMULADDMOVMOVADDCMOVINCMOVMOVMOVINCMOVPUSHHOVPUSHLCALLPOPMOVPOP

MOVACALLMOVACALL

R0,* l ;SEDPTR, t i f a s ;CO!A , R 4B , » 0 6AEA , D P LDPL,AA , BA, DPHDPH, ADPTRR3,DPHR2,DPLDPTR, igumDPTRA , R 4ACCA,R5ACCRAHRAHACCR5,AACC

R 4 , AS1GRO, I83HCOPIA2

;PAI

/EN

,-RAI;POI;VA:;CO

/ P R <;3 ;;CO

,-CARGA EN ACUMULADOR EXPONENTE DE ARMÓNICA

/RESTA EXPONENTE - (1);SALTA SI EXPONENTE ES MENOR A O

H ARMÓNICO PARA HACER RESTA;HUMERO DE ARMÓNICOS PROCESADOS - 9 Y,-DETERMINAR SI EL QUE SIGUE ES MAYOR A 9;SALTA SI MAS DE 8 ARMÓNICOS PROCESADOSI CARGA NUMERO DE ARMÓNICO EN PROCESO;A ACUMULADOR/CONVIERTE NUMERO EN ASCII/CONTINUA EN REVJ2/CONVIERTE NUMERO EN ASCII (A * G)/COPIA NUMERO DE ARMÓNICO A RO;COPIA VALOR ASCII EN RO EN DISPLAY

'IARA 1 NPF/CORRESPONDIENTE A LA ARMÓNICA R4/PARA ELLO ENCUENTRA SU DIRECCIÓN EXACTA

;EN R3rR2 DIRECCIÓN DE MSB DE ARMÓNICA

;RAMRAM CAMBIA R4 Y R5;POR LO QUE SE DEBEN CONSERVAR ESTOS;VALORES/COPIA ARMÓNICA A 0um

,-2 ES EL EXPONENTE DE REFERENCIA;COPIA VALORES A DISPLAY RAM

'I ARA 1 NPF/CORRESPONDIENTE A LA FASE R4/PARA ELLO ENCUENTRA SU DIRECCIÓN EXACTA

INC R5

/EN R3:R2 DIRECCIÓN DE MSB DE FASE

,-RAMRAM CAMBIA R4 Y R5;POR LO QUE SE DEBEN CONSERVAR ESTOS/VALORES/COPIA ARMÓNICA A BUm

/PROCESA SIGNO DE FASE/3 ES EL EXPONENTE DE REFERENCIA/COPIA VALORES A DISPLAY RAM

;SOLO HAY 8 ESPACIOS PARA ARMONICOG

Página 97

Page 98: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

MODULO DE VISUALIZACION DE RESULTADOS Y COMUNICACIÓN

24CF BD080424D2 8ZE624D4 814324D6 OC24D7 BC10FA

REVI3 :SIGIí

COMEAOHPAOMPINCCJNE

R5,»8,SIGIACFINREVIR4R4 , Innum, R

24DA24DC24DE34EO24E324E3

24E624E824EB

78207A0791 ECDAFCODBD08F6

D32353DOE722

SIGIÍ:SIGI2 :SIGI3:

ACPIN:

MOVMOVACALLDONZINCCJNE

ACALLANLRET

RO,H2011R2, 17COPIADR2 ,81013R5R5, I8,SIGI2

ACIÜISPSW, IOE7H

;SALTA SI HAY MAS ESPACIO;SI NO, SALTA A ARMÓNICOS DE CORRIENTE;APOYO A CJHE I,t,REVI3/CHEQUEA SI HAY MAS ARMÓNICOS

ESPACIOS EN DEMÁS SITIOS

;A RO CÓDIGO ASCII DE ESPACIO;SE PONDRÁN 7 ESPACIOS POR LUGAR;DE ARMÓNICO NO USADO

/CONTINUA CON LOS DEMÁS ARMÓNICOS

¡ACTUALIZA DISPLAY:FIHALIZA ACTUALIZACIÓN

R Í E S DIRECCIÓN

SOHL05- Í PI&I10SHAniG

PE SUM,

RAM, A ES E lEXPO-HENU PE REFEREN,C I A t B E I R E M .

BO-EXPOH /euml

DPTR<MDPTRH:RlA<-RQ

(DPTR) <= A

B<-00 : AoIXD,

Rl<-CdrpoílRtí)QPTR<-dsprwa+RI

XES ASU IURNOr

FIGURA 3.12. - FLUJOGRAMA DF>SURRUTINAB OF, RKSUT^T

COPIAO

,ENTRADAS:

drpos dirección inicio tabla de posiciones relativas de display romdspram dirección inicio do dinplay rnmRO valor ASCII o copiarse n displtvy ramR6 número de armónicas mostradas en diaplay

/SALIDAS:

; ninguna

/PROCESO:

Página 98

Page 99: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

MODULO DE VISUALISACION DE RESULTADOS Y COMUNICACIÓN

Copia valor ASCII en RO en la posición R6 permitida en disploy rampara ello utiliza R6 como puntero para hallar la posición relativo

; del nuevo dato en display ram (que se encuentra en la tabla de/ apuntada por drpos) y con este valor (almacenado en Rl) Be apunta.; al área de display rom.; Al comienzo de la subrutina ee debe incrementar el valor

ae R6.

;REGISTROS TEMPORALES

,- ninguno

/CONSTANTES USADAS:

; ninguna

;VARHABLES CREADAS:

/ Rl dirección relativa de dato en display ram/ A variable de propósito general

DPTR puntero de tablas

/GUBRUTINAS UTILIZADAS

; ninguna

/REGISTROS ALTERADOS

DPTR, A, Rl, RG

24EC24ED24FO2-iFl24F224F324F624F824F92-tFB2-1 FC24FE250025012502

OE9030FFEE93F990070FES 8 229F582E43583F583E8FO23

COPtAOsMOVMOVnoveMOVMOVMOVADDMOVCLRADDCMOVMOVMOVXUET

IHC R6DPTR,«drposA,RGA,t)A+DPTRR1,ADPTR,ndspromA,DPLA,R1DPL,AAA,DPIIDPII/AA,RO0DPTR,A

/.INCREMENTA PUNTERO PARA LOCALIZAR/POSICIÓN A COPIARSE EN DISPLAY RAM

/CARGA EN ACUMULADOR DIRECCIÓN REL./EN Rl DIRECCIÓN RELATIVA;APUNTA A INICIO DE DISPLAY RAM/Y AUMENTA POSICIÓN RELATIVA/Rl AL PUNTERO PARA GUARDAR NUEVAMENTE

/VALOR A PONER EN DISPLAY RAM EN ACUMULADOR

COPIA1

ENTRADAS:

drpos dirección inicio tabla de posiciones relativas de display ramdspram dirección inicio de display ram

npf a procesarseexpononte de referencia para comparación de npfnúmero de armónicas mostradas en display

SALIDAS:

ninguna

/PROCESO:

/ Copia valor de dos dígitos del número en punto flotante en sum '; a display ram. Para ello compara inicáalmente el va]or del; exponente del npf; con el valor de referencia indicado en RO./ Si el exponente ríe referencia es menor n3 exponente del npf,/ pone en acumulador OFFh (que como dígitos y sumados 3Oh para; convertirían en ASCII aparecerán en diopJay como ??). Si los/ exponentes son iguales, los 2 dígitos más significativos del; npf pasan al acumulador. Si ]a diferencia entre amboe es 1,/ claro está, siendo el exponente de referencia mayor al del npf,

el dígito más significativo de] acumulador es cero y el menos; significativo es el de mayor significancia del npf. Si la; diferencia entro ambos es mayor, ee encera el acumulador.; Quedan don dígitos en el acumulador Buaceptiblos de oer conver-; tidoG a ASCII y enviados al display ram con una manera similar/ a la de copiaO.

,-nEGISTROS TEMPORALES

; ninguno

Página 99

Page 100: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

MODULO DE VISUALISACION DE RESULTADOS Y COMUHICACION

.•CONSTANTES UGADAS:

; ninguna

,-VARIABLES CREADAS:

Rl dirección relativa de dato en dieplay ram/ A variable de propósito general, almacena dígitos a enviarse.; B exponenbe del npf/ DPTR puntero de tablas

/GUBRUTINAS UTILIZADAS

/ ninguna

/REGISTROS ALTERADOS

/ DPTR, A, RO, Rl, R6, B

3503250425072508350925QA250D250F251025122513251525182519251A251B251D251F25212523252425272528252A252B252 E252F253125322534253525362539253B253C253 E253F254125432544254625472549254A254B254E254F2550255125542556

25572559255A255C255E255F256135632564

OE9030FFEE93F990082F7A06A3DAFDEOF5FO90082FA3C3E895FO500474FFA135E8B5F003EOA13514B5F006EO54FOC4A135E4F890070FE58229F582E43583F583E854FOC42430FOOE9030FFEE93F990070FE58329F582E43583F583E8540F2430FO22

COPIA1:MOVMOVMOVCMOVMOVMOV

PINC1: INCDJNZMOVXMOVMOVINCCL.RMOVSUBBJNCMOVAÜMP

PINC3: MOVCJNEMOVXAJMP

P IHC3 : DECCJÍ1EMOVXANLSWAPAJMP

PINC4: CLRPINC5: MOV

MOVMOVADDMOVCLRADDCMOVMOVANLEWAPADDMOVXINCMOVMOVMOVCMOVMOVMOVADDMOVCLRADDCMOVMOVANLADDHOVXRET

INC R6DPTR,»drpOBA,R6A,0A+DPTRR1,ADPTR, «sumR2,t06DPTRR2 , PIHC3A, 0DPTRB,ADPTR,lBUmDPTRCA,ROA,BPiucaA,IOFFHPINC5A,ROA,B,PINC3A,6DPTRPINC5AA,B,PINC4A,0DPTRA, IOFOHAPINC5ARO,ADPTR,»dspramA,DPLA,R1DPL,AAA,DPHDPH,AA,ROA,fOFOHAA, I30H»DPTR,AR6DPTR(«drpoaA(RGA,0A^DPTRR1,ADPTR, «dspramA.DPLA,R1DPL,AAA,DPHDPH,AA,ROA,«OFHA, 13 OHSDPTOíA

/INCREMENTA PUNTERO PARA LOCALIZAR;POSICIOH A COPIARSE EN DIGPLAY RAM

;CARGA EN ACUMULADOR DIRECCIÓN REL.;EN Rl DIRECCIÓN REl-ATIVA;CARGA LA DIRECCIÓN DE SUM A DPTR

;Y LA INCREMENTA 6 VECES PARA APUNTAR;AL EXPONENTE;Y CARGA EL EXPONENTE AL ACUMULADOR;Y POSTERIORMENTE A REGISTRO B/CARGA EN PUNTERO DIRECCIÓN DE DÍGITO;MAS SIGNIFICATIVO DE NPF

/RESTA REFERENCIA - EXPONENTE;SALTA SI REFERENCIA >= A EXPONENTE/'??' A ACUMULADOR INDICA OVERFLOW/SALTA A PINC5 PARA ACTUALIZAR 3 DATOS;CARGA REFERENCIA A ACUMULADOR7 SALTA SI EXPOUENTE ES MENOR A REFERENCIA?Y ALMACENA MSB EN ACUMULADOR

/DISMINUYE EN 1 EL VALOR DE LA REFERENCIA/SALTA 61 EXPONENTE MENOR A REFERENCIA-1/DOS DÍGITOS MAS SIGNIFICATIVOS A ACUMULADOR/ELIMINA DÍGITO MENOS SIGNIFICATIVO Y/EXPRESA DÍGITOS O y Al

í'OO' A ACUMULADOR INDICA UMDERFLOW;CARGA EN RO VALOR A PONER EN DISPLAY RAM/APUMTA A INICIO DE DISPLAY RAM/Y AUMENTA POSICIÓN RELATIVA/Rl AL PUNTERO PARA GUARDAR

/VALOR A PONER EN DISPLAY RAM A ACUMULADOR/PRIMERO TRABAJA CON DÍGITO MAS SIGNIFICATIVO

/CONVIERTE DÍGITO A ASCII

/INCREMENTA PUNTERO PARA LOCALIZAR;POSICIÓN A COPIARSE EN DISPLAY RAM

/CARGA EN ACUMULADOR DIRECCIÓN REL,/EN Rl DIRECCIÓN RELATIVA/APUNTA A INICIO DE DISPLAY RAM;Y AUMENTA POSICIÓN RELATIVA/Rl AL PUNTERO PARA GUARDAR NUEVAMENTE

/VALOR A PONER EN DISPLAY RAM EN ACUMULADOR/TRABAJA AHORA CON DÍGITO MENOS SIGNIFICATIVO/CONVIERTE A ASCII

COPIA2

;ENTRADAS:

Página 100

Page 101: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

MODULO DE VISUALIKACION DE RESULTADOS Y COMUNICACIÓN

dcpos dirección inicio tabla de posiciones relativas de display ramdspram dirección inicio de display rameurn npf a procesarseRO exponente de referencia para comparación de npfR6 número de armónicas mostradas en display

;SALIDAS:

; ninguna

;PROCESO:

Copia valor de tres dígitos del número en punto flotante en suma display ram. El proceso es similar al de copia 1 pero en lugarde almacenar loe doe dígitos en el acumulador ee almacenan IOB dosmás significativos en el registro B y el tercero en al mássignificativo del acumulador.Es obvio que en lugar de que existan tres comparaciones, como enel caso anterior, deben existir cuatro.

/REGISTROS TEMPORALES

,• ninguno

/CONSTANTES USADAS:

; ninguna

/VARIABLES CREADAS:

; Rl dirección relativa de dato en display ram; A variable de propósito general, almacena dígitos a enviarse.; B exponente del npf, almacena dígitos a enviarse/ DPTR puntero de tablas

SUBRUTINAS UTILIZADAS

; ninguna

{REGISTROS ALTERADOS

; DPTR, A, RO, Rl, R6, B

2565 OE2566 9030FF2569 EE256A 93256B F9256C 90082F256F 7A062571 A32572 DAFD2574 EO2575 F5FO2577 90082F257A A3257B C3357C E82570 95FO257F 50072581 74FF2583 75FOPP2566 A1AE2588 E82589 B5F007258C EO258D F5FO258F A.32590 EO2591 A1AE2593 142594 B5FOOA2597 EO2598 54FO259A G4259B F5FO259D EO259E C4259F A1AE25A1 1425A2 B5F00635A5 75FOOO25A8 EO25A9 A1AE25AB E4

COPIA2 :MOVMOVMOVCMOVMOVMOV

PIHC6: INCDJNZMOVXMOVMOVINCCLRMOV6UBBJNCMOVMOVAJMP

PINC7: MOVCJNEMOVXMOVINCMOVXAJMP

PINC8: DECCJMEMOVXANLSWAPMOVMOVXSWAPAJMP

PINC9: DECCJHEMOVMOVXAJMP

PINGA: CLR

INC R6DPTR, IdrposA,R6A,0A+DPTRR1,ADPTR/tsumR2, 106DPTRR2,PINC6A,9DPTRB,ADPTR, «sumDPTRCA,ROA,BPINC7A, IOFFHB,*OFFHPINCBA,ROA,B,PINC8A,9DPTRB,ADPTRA,Í)DPTRPINCBAA,B,PINC9A,6DPTRA,*OFOHAB,AA,9DPTRAPINCBAA, B, PINGAB,*OOHA,0DPTRPINCBA

/INCREMENTA PUNTERO PARA LOCALIZAR;POSICIÓN A COPIARSE EN DISPLAY RAM

;CARGA EN ACUMULADOR DIRECCIÓN REL,;EN Rl DIRECCIÓN RELATIVA;CARGA LA DIRECCIÓN DE SUM A DPTR

/Y IA INCREMENTA 6 VECES PARA APUNTARiAL EXPONENTE;Y CARGA EL EXPONENTO AL ACUMULADOR;Y POSTERIORMENTE A REGISTRO B;DPTR APUNTA A DIRECCIÓN DE;PRIMER DÍGITO DE NPF

/RESTA REFERENCIA - EXPONENTE;SALTA SI REFERENCIA >= A EXPONENTE;'??' A ACUMULADOR INDICA OVERFLOW;'??' EN B INDICA OVERFLOW,-SALTA A PINC5 PARA ACTUALIZAR 2 DATOS;CARGA REFERENCIA A ACUMULADOR/SALTA SI EXPONENTE ES MENOR A REFERENCIA/Y ALMACÉNALOS EN ACUMULADOR/DÍGITOS MAS SIGNIFICATIVOS EN B/APUNTA A SIGUJEHTES DOS DÍGITOS;Y ALMACENA EN ACUMULADOR

/DISMINUYE EN 1 EL VALOR DE LA REFERENCIA/SALTA SI EXPONENTE MENOR A REFERENCIA-1/DOS DÍGITOS MAS SIGNIFICATIVOS A ACUMULADORíELIMINA DÍGITO MENOS SIGNIFICATIVO Y/EXPRESA DÍGITOS O y Al/ALMACENA DÍGITOS EN B/DÍGITOS MAS SIGNIFICATIVOS A ACUMULADOR/DÍGITO MENOS SIGNIFICATIVO TOMADO EN CUENTA

/DISMINUYES EN 1 EL VALOR DE LA REFERENCIA/SALTA SI EXPONENTE MENOR A REFERENCIA-27OOH A B COMO DÍGITOS MAS SIGNIFICATIVOS/TERCER DÍGITO A ACUMULADOR

/'00' A ACUMULADOR Y A

Página 101

Page 102: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

25AC F5FO25AE F825AF 90070F25B2 E58225B4 2925B5 F58225B7 E425B8 358325BA F58325BC E5FO25BE 54FO25CO C425C1 243025C3 FO25C4 OE25C5 9030FF2SC8 EE25C9 9325CA F925CB 90070F25CE E58225DO 2925D1 F58225D3 E425D4 35832GD6 F5832SD8 E5FO25DA 540F25DC 343025DE FO25DF OE25EO 9030FF25E3 EE25E4 9325E5 F925E6 90070F25E9 E58225EB 2925EC F58225EE E425EF 358325F1 FS8325F3 E825F4 54FO25F6 C425F7 243025F9 FO25FA 22

25FB 90082F25FE 79052600 A32601 D9FD2603 EO2604 34012606 782B2608 6002260A 782D260C OE260D 9030FF2610 EE2611 932612 F92613 90070F2616 E5822618 292619 F582261B El261C 35832G1E FS832620 E82621 FO2622 22

MOVPINCB: MOV

MOVMOVADDMOVCLRADDCMOVMOVAHLSWAPADDÍÍOVXINCMOVMOVMOVCMOVMOVMOVADDMOVCLRADDCMOVMOVANLADDMOVXINCMOVMOVMOVCMOVMOVMOVADDMOVCLRADDGMOVMOVAHLSWAPADDMOVXRET

SIG: MOVMOV

6IG1: INCDJNZMOVXANLMOVJZMOV

SIG2 : INCMOVMOVMOVCMOVMOVMOVADDMOVCLRADDCMOVMOVMOVXRET

B,ARO,ADPTR, tdspramA,DPLA,R1DPL,AAA,DPHDPH,AA,BA, «OFOHAA,«30H6DPTR,AR6DPTR,«drposA,R6Ay 8A+DPTRR1,ADPTR,*depi:amA,DPLA,R1DPL,AAA,DPHDPH,AA,BA,IOFHA,«30H6DPTR,AR6DPTR, tdcposA,R6A,9A+DPTRR1,ADPTR,*daprainA,DPLA,R1DPL,AAA,DPHDPH,AA,ROA, «OFOHAA,*30H6DPTR,A

DPTR, IsumR1,I5DPTRR1,SIG1A, flDPTRA, *01RO,*2BHSIG2RO,I2DHR6DPTR, »drposA,R6A/0A4DPTRR1,ADPTR, idepramA,DPLA,R1DPL,AAA,DPHDPH,AA,RO6DPTR,A

,-REGISTRO B INDICA UMDERFLOW; CARGA EN RO DÍGITOS MENOS SIGNIFICATIVOS;APUNTA A INICIO DE DISPLAY RAMjY AUMENTA POSICIÓN RELATIVA;R1 AL PUNTERO PARA GUARDAR

;VALOR MAS SIGNIFICATIVOS A ACUMULADOR/PRIMERO TRABAJA CON DÍGITO MAS SIGNIFICATIVO

; CONVIERTE DÍGITO A ASCII

; INCREMENTA PUNTERO PARA LOCALIZAR; POSICIÓN A COPIARSE EN DISPLAY RAM

; CARGA EN ACUMULADOR DIRECCIÓN REL .; E» Rl DIRECCIÓN RELATIVA;APUNTA A INICIO DE DISPLAY RAMjY AUMENTA POSICIÓN RELATIVA;R1 AL PUNTERO PARA GUARDAR NUEVAMENTE

;VALOR A PONER EN DISPLAY RAM EN ACUMULADOR/TRABAJA AHORA CON DÍGITO MENOS SIGNIFICATIVO/CONVIERTE A ASCII

/INCREMENTA PUNTERO PARA LOCALIZAR/POSICIÓN A COPIARSE EN DISPLAY RAM

íCARGA EN ACUMULADOR DIRECCIÓN REL.;EN Rl DIRECCIÓN RELATIVA;APUNTA A INICIO DE DISPLAY RAM;Y AUMENTA POSICIÓN RELATIVA/Rl AL PUNTERO PARA GUARDAR NUEVAMENTE

/VALOR A PONER EN DISPLAY RAM EN ACUMULADOR;SOLO TRABAJA CON DÍGITO MAS SIGNIFICATIVO

/CONVIERTE DÍGITO A ASCII

; UBICA PUNTERO EN LOCALIZACIOH;DE MEMORIA CORRESPONDIENTE AL/SIGNO DE BUm

/TRAE SIGNO DE Bum AL ACUMULADOR/AISLA EL BIT DEL SIGNO; CARGA SIGNO POSITIVO A RO/SALTA SI sum ES POSITIVO/CARGA SIGNO NEGATIVO A RO/INCREMENTA PUNTERO PARA LOCALIZAR/POSICIÓN A COPIARSE EN DISPLAY RAM

/CARGA EN ACUMULADOR DIRECCIÓN REL./EN Rl DIRECCIÓN RELATIVA/APUNTA A INICIO DE DISPLAY RAM;Y AUMENTA POSICIÓN RELATIVA/Rl AL PUNTERO PARA GUARDAR NUEVAMENTE

/CARGA SIGNO A/DISPLAY RAM

; ENTRADAS :\l ^

discomdisdnt

ACTDIS

Pórtico 1, donde un interruptor indica selección de pantallaDirección de comandos n diuplayDirección de datos a dieployDirección inicial de diepiay rom

Página 102

Page 103: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

I UALIDAS:

; 201! Copia de pórtico 1 actualizado

;PROCESO:

; Este proceso revisa el interruptor en Pl y actualiza el/ rnm del display según existan cambios en Pl.; Se chequea Pl, según el bit que esté conectado a tierra,; se indica una dirección relativa de display rom de manera; que se copia un segmento de display rom a la rom del; display. EB muy importante la introducción de estados de; espera. El proceso debe ser transparente.

/CONSTANTES USADAS:

í ninguna

/VARIABLES CREADAS:

; A variable de propósito general; RO; Rl contador para estados de espera

/SÜBRUTIHAS USADAS

; ninguna

¡REGISTROS ALTERADOS

/ A

2623 C0832625 C0822627 E82628 COEO262A E9262B COEO262D 901AOO2630 7-1802633 FO2633 791E2635 D9FE2637 E5902639 90070F263C 30E013263F 30E1162642 30E2192645 30E41C2648 30E51F2 6 4 B 30E622264E F5202650 C1BC2652 F5302654 74002656 C1742658 F520265A 7428265C C17426SE F5202660 74502662 C1742664 F5202666 74782668 C174266A F52026<JC 74AO266E C1742670 F5202672 74C82674 25822676 F5822678 7400267A 3583267C F583267E 78142680 A32601 EO2682 C0832684 C0822686 901A012689 FO268A 791E268C D9FE268E D0822690 0083

ACTO JS :PUSHMOVPUSHMOVPUSHMOVMOVMOVXMOVDJNZMOVMOVJNBJNBJNBJNBJNBJNBMOVAJMP

DSPO : MOVMOVAJMP

DSP1 : MOVMOVAGMP

D6P2 : MOVMOVAOMP

DSP3 : MOVMOVAJMP

D6P4 : MOVMOVAOMP

DSP5 : MOVMOV

CDDRAM :MOVMOVADDCMOVMOV

CDD1 : ItíCMOVXPUSHPUSHMOVMOVXMOVDONZPOPPOP

PUSH DPHDPLA , R OACCA,R1ACCDPTR, IdiscoinA , I 8 0 H0DPTR , AR1,B30R l , $A,P1DPTR, IdspramACC. 0, DSPOACC.1,DSP1ACC.2 ,DSP2ACC,4,DSP3ACC.5,DSP4ACC.6,DBP52011, ACDD320H,AA , I O OCDDRAM20H,AA, 140CDDRAM2 0 H , AA, 180CDDRAM20H,AA, «120CDDRAM20H,AA , I 1 G OCDDRAM20H,AA , f 2 0 0ADD A, DPLDPL, AA, «00A, DPHDPH, AR 0 , « 2 0DPTRA,eDPTRDPHDPLDPTR,«disdat«DPTR, AR1,I30R l , £DPL,DPH

/EL PROCESO DEBE SER TRANSPARENTE

;PARA ELLO ENVÍA A STACK A

/DPTR, RO Y Rl;DIRECC. COMANDOS DISPLAY EN DPTR;Y ENVÍA A ESTA LOCALIDAD, PRIMER;BYTE DDRAM A SER ESCRITO/INTRODUCE ESTADO DE ESPERA

;NUEVAMENTE Pl A ACUMULADOR;EN DPTR, DIRECCIÓN DE DISPLAY RAM;SALTA SI ESTA ACTIVADA RED 1;SALTA SI ESTA ACTIVADA RED 2/SALTA SI ESTA ACTIVADO MODULO 1;SALTA SI ESTA ACTIVADO MODULO 2/SALTA SI ESTA ACTIVADA FASE 1;SALTA SI ESTA ACTIVADA FASE 2

íACTUALI7,A 2OH

/COPIA PRIMERA PANTALLA/ACTUALIZA 2OH;SUMA 40 A DPTR, PARA COPIARíSEGUNDA PANTALLA DE DISPLAY RAM;ACTUALI7.A 2011;SUMA 60 A DPTR, PARA COPIAR/TERCERA PANTALLA 'DE DISPLAY RAM/ACTUALIZA 20H/SUMA 120 A DPTÍI, PARA COPIAR/CUARTA PANTALLA DE DISPLAY RAM/ACTUALIZA 2011;SUMA 160 A DPTR, PARA COPIAR/QUINTA PANTALLA DE DISPLAY RAM;ACTUALIZA 3011/SUMA 200 A DPTR, PARA COPIAR 6a.

/SUMA ACUMULADOR A DPTR/PARA OBTENER LA PANTALLA A/COPIARSE DESEADA

;SON 20 DATOS A COPIARSE EN la. FILA

/TRAE DATO DE DISPLAY RAM

/ALMACENA PUNTERO EN STACK/A DPTR DIRECCIÓN DATOS DE DDRAM/ENVÍA DATO A DDRAM/INTRODUCE ESTADO DE ESPERA

Página 103

Page 104: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

MODULO DE VISUALIZACION DE RESULTADOS Y COMUNICACIÓN

2692 D8EC2694 C0832696 C0822698 901AOO2S9B 74CO269D FO269E 791E26AO D9FE26A2 D08226A4 D08326A6 781426A8 A326A9 EO26AA C08326AC C08226AE 901A0126B1 FO26B2 791E26B4 D9FE26B6 D08226B8 D08326BA D8EC26BC DOEO26BE F926BF DOEO26C1 F826C2 D08226C4 D08326G6 22

DJNZPUSKPUSHMOVMOVMOVXMOVDJNZPOPPOPMOV

CDD2 : INCMOVXPUSUPUSHHOVMOVXMOVDJN£POPPOPDJN7,

CDD3 : POPMOVPOPMOVPOPPOPRET

RO,CDD1DPHDPLDPTR,*cHscomA,*OCOH0DPTR,AR1,I30R1,SDPLDPHR0,*20DPTRA(0ÜPTRDPHDPL.DPTR,*disdat6DPTR,ARl,*30Rl,£DPLDPHRO,CDD2ACCR1,AACCRO,ADPLDPH

; SALTA HASTA LEER TODOS LOS DATOS

; ALMACÉN A PUNTERO EN STACK;A DPTR DIRECCIÓN COMANDOS DE DDRAM;PARA INDICAR LOCALIDAD DE PRIMER,-BYTE SEGUNDA FILA DE DATOS

7 RECUPERA PUNTERO DE ETACK

;TRAE DATO DE DISPLAY RAM

/ALMACENA PUNTERO EN STACK;A DPTR DIRECCIÓN DATOS DE DDRAM; EN VI A DATO A DDRAM/INTRODUCE ESTADO DE ESPERA

; SALTA HASTA LEER TODOS LOS DATOS; FINALIZADO EL PROCESO, RECUPERA

,DE PILA A Rl, RO Y DPTR

3100

31QO3103310B310E31133116"311B311E31233126312B3I2E3133313G313B313E314331463148314E31533156315B315E316?.31653169316C317031733177317A317E318131853188318C318F

Q<4 06 07OF 10 182B 2C 2D33 34 353F 40 4247 48 4A52 54 5556 57 585C 5E 5F60 61 6266 68 696A 6B 6C70 72 7374 75 767A 7C 7D7E 7F 8084 86 8788 89 8A8E 90 9192 93 9498 9A 9B9C 9D 9EA2 A4 A5A6 A7 A8AB AD AEAF BO BlB6 B8 B9BA BB BCBF Cl C2C3 C4 C5CA CG CDCE CF DOD3 D5 D6D7 D8 D9DE EO ElE2 E3 E4E7 E9 EAEB EC ED

ORG

db1A IBdb

3A 3Bdb

4E 4Fdb

59 5Adb

63 64db

6D 6Edb

77 78db

81 82db

8B 8Cdb

95 96db

9F AOdb

A9db

B2db

BDdb

C6db

DIdb

DAdb

ESdb

EE

3100H

***** TABLA DE DIRECCIONES RELATIVAS PARA DISPLAY RAM

4h,6h,'7h,OFh,lQh,18h,lAh,lBh,?.3h,24h,27h23 24 27

7 v rms (3 ) , vi ( 3 ) , t hdv (2 )

. 6(3), Epd (3)

2Bh,2Ch,2Dh,33h,34h,35h,3Ah,3Bh

3Fh , 4 Ob , 42h , 47b , 4 8h , 4Ah , 4Eb , 4Fh

52h,54h,55h,56h,57h,58h,59b,5Ah

5Ch,5Eh,5Fh,60h,61h,62h,63h,64h

66h , 68h , 69b , 6Ah , 6Bh , 6Ch , 6Dh , 6Eh

70h ,72h ,73h ,74h ,75h ,7 (5h ,77h ,78h

7Ah,7Ch,7Dh,7Eh,7Fh,80h,81h,82h

84h,86h ,87b ,88h ,B9b,8Ah,8nh ,8Ch

8Eh,9Üb,91h ,92h ,93h ,94h ,95h ,96h

98h,9Ah,9Bh,9Ch,90h,9Eh,9Fh,OAGh

OA2b , OA4h , OASb , OA6h , OA7h , OA8h , OA9h

OABh , OADb , OAEb , OAFh , OBOb , OBlh , OB^h

OB6h, OB8h, OB9h, OBAh, OBBh, OBCh, OBDh

OBFh , OClh , OC2h , OC3h ( OC4h , OC5h , OC6h

OCAh , OCCh , OCDh , OCEh , OCFh , ODOh , ODlh

OD3h ,OD5h ,OD6h ,OD7h ,OD8h ,OD9h ,ODAh

ODEh, OEOh, OElh, OE2h, OE3h, OE4b, OE5b

OE7h , OE9b, OEAh, OEBb , OECh, OEDh , OEEh

; i r m e ( 3 ) , i l (3 ) , t h d i ( 2 )

;A2, M I , M2, M3 , - f , Fl, F2, F3

;A3, MI , M2, M3, +, Fl, F2, F3

;A4, M I , M2, M3 , +, Fl, F2, F3

;A5, Hl, M3, M3, +, Fl, F2, F3

;A6, MI , M 2 , M3, +, Fl, F2, F3

;A7, MI , M 2 , M3, +, Fl, F2, F3

;A8, M I , M2, M3, -1-, Fl, F2, F3

;A9, MI, M2, M3, +, Fl, F2, F3

;a2, M I , H 2 , - f , Fl, F3, F3

;a3, M I , M 2 , +, Fl, F2, F3

;a4, MI, M 2 , f - , Fl, F2, F3

;a5, MI , M 2 , - f , Fl, F2, F3

jo6 , MI, M2, +, Fl, F2, F3

;a7, MI , M 2 , 4-, Fl, F2 , F3

;a8, MI , M2, +, Fl, F2, F3

;a9, MI, M 2 , +, Fl, F2, F3

Página 104

Page 105: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

MODULO DE VTSUALIZACION DE RESULTADOS Y COMUNICACIÓN

3.7.Centro de llamadas a rutinas.

Las rutinas diseñadas pueden funcionar independientemente entre

si, incluso fueron probadas independientemente y en grupo. Lo único que

queda por definir son los centros de llamadas a rutinas que transferirán el

control a los diferentes módulos. Al paginar la memoria cada 2K, se trata

de mantener rutinas de programa cerca para utilizar las. instrucciones ACALL

y AJMP en lugar de las más lentas y de mayor espacio LCALL y LJMP. Existe

un centro de llamadas a rutinas al inicio de la página 2 de 11 bits.

2800

2600 110B2802 11DC2804 319D2006 12225E2809 80F5

PAGINA 1 DE MEMORIA

7.ONA DE MANEJO DE RESET E INTERRUPCIONES

PAGINA 2 DE MEMORIA

PROGRAMA PRINCIPAL

ORG

LLAMA :

2800H

ACALLACALLACALLIA:ALLSJMP

LECTURFACTORARMÓN IRESULTLLAMA

;LEE DATOS; ENCUENTRA

DE ADC Y GUARDA EHFACTOR DE POTENCIA

MEMORIADE RED

,-REALIZA ANÁLISIS DE ARMÓNICAS/ACTUALIZA;CREA LA7.0

RESULTADOSINDEFINIDO

/RESULT se encuenbran en la página 1 de memoria puesto que no requiere,-de invocar a rutinas BASIC para realizar operaciones de punto flotante./Dada la extensión del programa, todas las rutinas (LECTOR, FACTOR, ARMONI,,-RESULT y los llamadas a BASIC) no entrón juntas en esto página de 2K/por lo que se requiere hacer la mencionada división.

PAGINAS 3 Y 4 DE MEMORIATABLAS DE DATOS

LAS ULTIMAS LOCALIDADES DISPOtUBLES DE ROMSON USADAS PARA ALMACENAR TABLAS RE DATOS

Página 105

Page 106: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

CEHTRO DE LLAMADAS A RUTINAS

Finalmente, y para ratificar la medularidad del software, se

puede apreciar que al comienzo y al final de cada módulo se cambia al banco

3 y al banco O de registros respectivamente. Con esto se puede acceder

directamente desde la linea de comandos del BASIC-52 a cada uno de los

módulos sin que exista problema alguno. Desafortunadamente, la única forma

de acceder a la línea de comandos es sacando la EPROM antes de encender el

equipo, en una posible futura mejora se podria incluir un jumper que permi-

ta la opción de arrancar el programa diseñado o pasar a la linea de coman-

dos del BASIC-52.

El listado global del programa diseñado se encuentra en el

primero de los dos documentos anexos a la presente tesis.

Página 106

Page 107: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

CENTRO DE LLAMADAS A RUTINAS

27 Oritaneda Gavidia, Marión, Sistema de desarrollo de programas de Controlbasado en el microconbrolador INTEL 8052-flH BASIC. Tesis de Grado,EPN, Quito, 1993, p.144.

28 Intel Corporation, MC5 BflSlC-52 User's Manual, Santa Clara, California,1986, pp. 148-152.

29 ídem, p.133.

30 ídem 27, p.24.

31 ídem 28, p.130.

32 ídem.

-3 O

Rodas Posso, Marcelo, La Transformada Rápida De Fgurier, Tesis de Grado,EPN, Quito, 1977, pp.39-52.

Página 107

Page 108: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

CAPITULO 4.

PRUEBAS REALIZADAS AL SISTEMADISEÑADO

4.1.Pruebas de operación del equipo.

Las pruebas de operación del equipo se efectuaron en el Labora-

torio de Electrónica de Potencia. Se usó para ello la configuración

trifásica sendconhrolada en el Equipo Didáctico Para Estudio De Conversores

existente en el Laboratorio de Electrónica de Potencia para controlar un

grupo motor - generador DC. El motor es un motor DC BñLDOR de 3/4 HP, 90V,

7A y con una velocidad de 1750 RPM.

Corriente de la prueba de operación

FIGURA 4.1.- FORMA DE ONDA DE LA CORRIENTEMUESTREADA EN LA PRUEBA DE OPERACIÓN

Page 109: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

FIGURA 4.2.- FONOGRAFÍA DE LA CARGA DEL EQUIPO

Al activarse el convertidor se observó que el voltaje fase neu-

tro de entrada era prácticamente sinusoidal y tenía un valor eficaz de 61.2

V y que la corriente era distorsionada de un valor eficaz de 5.41 A con la

forma de onda mostrada en la figura 4.1. El conversor entregaba un voltaje

DC de 98 V y una corriente DC de 6.4 A. Los datos de voltaje y corriente

de entrada fueron medidos con el multímstro Fluke 87 y el probador de cor-

riente Fluke Y8100.

Para referencia de valores reales de distorsión se tomó 256

muestras de corriente con la tarjeta de adquisición de datos del laborato-

rio y se realizó el siguiente análisis en Microcap III:

Micco-cap TirHnme

Fourier coofficlents of wnveform XXXDabe 11/32/94 Time 18:56:13

Martío.

013

345

Percent

5.434533100.00000071.211644

4.84940116.8595802.738067

Mogni tude(Volto)

1. 66*796930,69203221.856300

1.408ÍI045.1745480.640368

Angle(Degcees }

0.000000118.676039-42.822113

-50.467264176.401930-166.623888

Cosí noTerm

1.667969-34.72777716.030888

0.947397-5.164348-0.817568

SinoTerm

0.000000-26.92755914.856261

1.1479-18-0.3247380.194427

Páaina 109

Page 110: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

PRUEBAS DE OPERACIÓN DEL EQUIPO

678

91011

1?.1314

151617

181920

212223

242526

272829

303132

333435

363738

394041

424344

454647

484950

515253

545556

575859

606167.

636465

666768

697071

0.7062436.4926341.575637

1.8914452.6606451.751173

2.9248581.3114231.774089

1.5170011.4370870.764986

0.9739791.2759010.325601

0. 3751200.2136130.516806

0.9966720.5565880.475879

0.2002690.2566340.346119

0.3992200.2864100.101114

0.3671850.2244450.134294

0.4044070.6821310.665749

0.3903200.3366970.599673

0.5052960.44-15940.169106

0.3356370.7108760.303568

0.3542170.6131400.565955

0.9011180.3429680.397917

0.3838180.6734910.306397

0.3860860.4546600.389550

0.3264450.2167480.208926

0.4239510.2657530.211734

0.2295520.3925710.420325

0.2468060.2288660.324112

0.2167601.9927210.483595

0.5805230.8166060.537470

0.8976980.4025020.544504

0.4658440.4 4.a 0710.234790

0.2989340.3916000.099934

0.1151320.0655620.158618

0.305B990.1708280.146057

0.0614G70.0787660.106231

0.1225290.0879050.031034

0.1126970.0688870.041218

0.1241210.2093600.204332

0.1197970.1033390.184052

0.1550860.1364550.051902

0.1030140.3181820,093171

0.1087160.1881850,173703

0.2765710.1052640.091437

0.1178010.2067080.094039

0.1184970.1395450.119561

0.1001930.0665240.064124

0.1301190.0815650.064985

0.0704540.1204800,129006

0.0757500.0702440.099477

80.60265364.977803-70.884530

-110.060985-32.321941157.213483

124.732655-105.79280717.885735

-3.052804159.046501-160.984458

-125.68844437-73744733.995691

152.165632-79.517090-119.000733

48.546615-9.954487136.741482

-114 .692837-101-97469778.824884

126.23763386.740575-34.008864

-77.734000120.43859741.927215

102.31423348-627716-33.589846

-22 .648410-83 .581817-177.224121

50.99940045.33667243.896508

-61.632526-107.541212142.836126

74.201625134.4571940.106382

-50.394181-140.058329-17.582671

170.315794115.1566891.944953

5.771823-17.887618-89-936625

-360.068174-119,752683175.138017

68.774677-16.699244-97.869207

-31.655949-135.050605166.295941

-76.842285121.4164211.557628

0.0353930.8428600.158364

-0.1991310.690079-0.495533

-0.511462-0.1095450.518189

0.465183-0.411904-0.231977

-0,1743910.3096870.083815

-0.1018110.011928-0.076901

0.2025080.168356-0.109797

-0.025678-0.0163420.020588

-0.0734310.0049980.025726

0.033942-0.0348990.030666

-0.0264720.1383760.170212

0.1105590.011552-0.183836

0.0976000.0959200.038023

0.048944-0.065758-0.074249

0.029598-0.1064730.173703

0.176315-0,0807060.087165

-0.116123-0.0878710.093985

0.1178970.1327990.000132

-0.09419]-0.033013-0.063893

0.0473080.078125-0.008897

0.059972-0.005285-0.125334

0.017243-0.0366150.099440

-0.213851-1.8056930.456930

0.5453010.436620-0.208162

-0.7377460.387309-0.167228

0.024809-0.1577320.076500

0.242794-0.239676-0.054421

-0.0537570. 0644670.138730

-0.2292690.029530-0.096318

0.0558460,077052-0.104217

-0.098828-0.0877630.017358

0.110124-0.059392-0.027541

-0.121265-0.1571100.113045

0.0461310.1026920.008914

-0.120523-0.097054-0.035328

0.0906440.208037-0.056284

-0.104610-0.155168-0.000322

0.2130840.0675800.027621

-0.019816-0.187101-0.003192

-0.0119170.0428610.119561

0.0341560.057755-0.005435

-0.1212920.0234380.064373

0.0369760.085111-0.030563

0.073761-0.059946~0. 002704

Página 110

Page 111: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

PRUEBAS DE OPERACIÓN DEL EQUIPO

727374

757677

787980

818283

848586

878889

909192

939495

969798

99100101

102103104

105106107

108109110

111112113

11-41151.16

117118119

120121122

123124125

126127128

0.2732090.0751040-083316

0.3279930.3803500.434257

0.1641470,2092110.201871

0.3057280.2181.670.177192

0.2884340.1752020.092201

0.4165520.4319690.437121

0.5798270.3024280.213802

0.2061.340.3580650.400015

0,4681280.3871710.303055

0.3444770.2764880.160617

0.0511960.4017250.220715

0.0577540.1005670.240519

0.1194610.1373280.403172

0.4217700.4988370.466253

0.5343060.3050490.224675

0.1231530.1871100.213602

0.3572880.7773510.524089

0.2893740.4532430.579491

0.6332810.5562860.636362

0.0838530.0230510.025571

0.1006680.0860450.133282

0.0503800.0642110.061958

0.0938340.0669600.054384

0.0885260.0537730.038298

0.1278480.1325800.134161

0.1779610.09267,10.065620

0.0632670.1098970.123773

0.1436780.1188310.093014

0.1057270.0848600.049297

0.0157130.1232980.067742

0.0177260.0308660.073820

0.0366650.0421490.123742

0.1294500.1531030.143103

0.1639890.0936260.068957

0.0377980.0574280.065559

0.10.96590.3385850.160854

0.0888150.1391100.177857

0.1943670.1707360.195313

-73.797414-90.017269-147.463825

-175.760657139.174352128-843609

71.760993-4.306101-92.404639

-132.564929-121.779404-130.411957

57-57037466-983173-21.752938

-112.540187-167.027044167.151613

112.27034798.49324015.881592

-40.853438-126.319007164.077222

75.170146168,61010444.085015

-17.673336-177.558527-147,639525

159,24168085,45614469.791426

131.785017147.80678311.775241

-99-965269-135.815088-169.637160

-151.96358174.40681793.099665

76.001612-21.614434-33.393580

140.647474104.952564172.752792

60.806203-10.158510-70.729177

-89.312350-145.693276136.442372

114.87577752 .5381530.000000

0.023398-0.000007-0.021558

-0.100392-0.065111-0.083594

0.0157680.064030-0.002600

-0.063472-0.035264-0.035256

0.0474730.0210250.026283

-0.049008-0.129196-0.130803

-0.067443-0.0137090.063115

0.047854-0.065090-0.118062

0.036774-0.1164900.066813

0.100737-0.084783-0.041641

-0.0146930.0097680.023401

-0.011811-0.0261210.072267

-0.006345-0.030225-0.121723

-0.1142590.041155-0.007738

0.0396680.0870420.057573

-0.029220-0.014817-0.065035

0.0534880.2348450.053087

0.001066-0.114909-0.128890

-0.0817610.1038470.195313

0.0805230.0330510.013753

0.007442-0.056253-0.103808

-0.0478490.0040210.061904

0.0691100.0569210.041408

-0.074721-0.0494920.010488

0.1180820.029763-0.029834

-0.164686-0.091803-0.017957

0.0413840.088548-0.033682

-0.138893-0.023467-0.064712

0.0320970.0036150.026386

-0.005569-0.122910-0.063572

-0.013217-0.016445-0.015065

0.0361120.0293770.033359

0.060846-0,147468-0.142893

-0.1591190.0344880.037953

-0.033967-0.055483-0.008270

-0.0957290.0430800.151841

0.0888080.078405-0.132559

-0.176334-0.1355230.000000

Foiiríor statietics

Total harmonic distortion ( « ) . . ,Odd harmonic distortion { % ) . . .Even harmonic disbortion ( % ) , , .

Sum o£ harmónica 2 . . . HSum oC harmónico^ 2 . . . NSquaro root oC eum of harmonice' '

74.0-190749.733568

73.406564

d9.509933516.534048

22 .727165

Página 111

Page 112: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

PRUEBAS DE OPERACIÓN DEL EQUIPO

Sum of; odd harmonice 3...tiSum of: odd harmonica^a 3 . . . NSum of even harmónica 2 . . . NSum o£ even hacmonicsrt2 2 . . . N

Average AC powec of waveCorm into a 1 obm load (Watts J ....Average AC power of waveform inbo a 50 obm load(Watts)-.-.Avgirage AC powec of waveform into a 600 obm load(Hat ts ) . . . .

Average AC power oE odd harmónica into a 1 obm load (watts)Avorcige AC powor of even barmonice into a 1 obm load(watto)RMS valué of waveform -

12.93391S8,924736

36,577003507,599365

729,26*3-13414.585249

1,21.5437

4,462368253,799683

27.056332

El análisis hecho por el Microcap se utiliza solo para compro-

bar el contenido armónico en forma porcentual puesto gue los valores de las

muestras fueron escalados de manera que los valores absolutos no correspon-

den a la realidad.

El medidor de factor de potencia fue colocado junto al equipo

didáctico y conectado. En la foto de la figura 4.3. se tiene un acerca-

miento al medidor del que se distingue claramente el LCD en la zona iz-

quierda, sobre el logotipo; el LED indicador de encendido y el selector de

pantalla en la zona central y en la zona derecha, el recuadro de terminales

donde se conectan los cables de voltaje (terminales de la izquierda) y los

FIGURA 4.3.- ACHICAMIENTO AL MEDIDOR DE FACTOR

Pagina 112

Page 113: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

PRUEBAS DE OPERACIÓN DEL EQUIPO

de corriente (terminales de la derecha). No debe olvidarse que los termi-

nales negros están conectados entre sí internamente.

En la foto de la figura 4.4. se puede apreciar la diferencia

de tamaño entre el equipo didáctico y el medidor, entre ellos está el

multlmetro Fluke 87; atrás, se puede divisar el transformador AC/AC de po-

larización del medidor. Las dimensiones del equipo diseñado son notable-

mente convenientes, similares a las de un multimetro de escritorio.

FIGURA 4.4. — FOTOGRAFÍA COMPARATIVA DELTAMAÑO DEL MEDIDOR DE FACTOR DE POTENCIA

Una vez encendidos los equipos y pasado el mensaje de espera se

comprobó que los primeros valores obtenidos no se ajustaban a los valores

reales por lo que se esperó a la actualización de datos (el LCD mostraba la

pantalla con los valores eficaz y de la fundamental de voltaje y corriente

Página 113

Page 114: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

PRUEBAS DE OPERACIÓN DEL EQUIPO

y las distorsiones armónicas, propios de la segunda posición del selector).

El segundo :set de datos presentó ya sus valores acordes con la realidad,

así que, variando el selector desde la posición 1 (del extremo izquierdo)

hasta la posición 6 (del extremo derecho), se procedió a tomar 5 muestras

de cada medida y promediándolas se obtuvo los siguientes resultados:

DIMENSIONES

Muestra 1

Muestra 2

Muestra 3

Muestra 4

Muestra 5

Promedio

P(kH)

0.22

0.22

0.33

0.22

0.22

0.22

S(kVA)

0.32

0.32

0.33

0.32

0.32

0.32

fp

67%

68%

69%

67%

683

68*

Id

488%

4-89%

+ 88%

+ 87*

+ 89%

+ 88%

V(V)

61

61

63

60

61

61

1(V)

61

61

62

60

61

61

D

4%

6%

5%

7%

4%

5%

I(A)

5.3

5.3

5.3

5.4

5.3

5-3

1(A)

4.2

4.1

4,2

4.3

4,2

4,2

D

78%

80%

77%

73%

78%

77%

Los encabezados de la tabla corresponden a los del LCD. Así,

P, S, fp y ird, que aparecen con el selector en la posición 1, corresponden

a potencia real, potencia aparente, factor de potencia y factor de potencia

de desplazamiento; V, 1 y D de la fila superior corresponden a valor efi-

caz, valor de la fundamental y distorsión armónica total de voltaje, mien-

tras que I, 1 y D de la fila inferior corresponden a los mismos valores de

corriente.

No debe olvidarse que el signo positivo en el factor de poten-

cia de desplazamiento indica predominancia inductiva en la fundamental.

Siguiendo con el selector en la posición 3 y 4, que correspon-

den a las armónicas de voltaje aparecieron algunos valores, los más fre-

cuentes fueron los de las armónicas 2, 4, 5 y 16 (representado por la letra

G), pero todos los -valores fueron inferiores al 5% y sus fases dispersas

por lo que se consideran pertenecientes a la franja del 0-5%.

Con el selector en la posición 5, se visualizó las 4 primeras

armónicas de corriente mayores al 1% y en la posición 6 (la posición de la

derecha), las 4 siguientes:

ORDHN

Muestra 1

Muestra 2

Muestro 3

Muestra 4

Muestra 5

Promedio

a76-140

69-145

71-143

71-142

69-144

71-143

3

03-072

05+125

02+126

01+026

04+077

0-5%

4

15-1161

16+160

13+161

13+159

15+1.56

10-15%

5

02+165

01+127

03+093

01-014

03f084

0 -53

6

02-134

01+119

01+125

01-008

01+104

0-5%

7

05+005

04+001

04-002

05+004

05+011

5-10%

8

01+000

02+025

01+018

02+003

02+034

0-58

9

01-038

01-014

03-143*

03+124*

01+000

0-5%

Página 114

Page 115: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

PRUEBAS DE OPERACIÓN DEL EQUIPO

Los valores de las armónicas se leen de la siguiente manera:

los primeros dígitos representan al módulo de la misma cano porcentaje de

la fundamental, el signo y los siguientes 3 dígitos representan a su ángulo

de fase en grados. El asterisco en las muestras 3 y 4 de la novena armóni-

ca indican que los' estos valores corresponden a la décirca armónica (que

apareció en el LCD con la letra A). Esto sucedió por que en esas muestras,

el valor medido de la novena armónica no superó el 1% y por lo tanto no

apareció en pantalla.

Las armónicas 3, 5, 6, 8 y 9 se consideran dentro de la franja

del O - 5% ya que sus valores de módulos eran menores al 5%. El valor pro-

medio de la armónica 7 es 5%, entonces se le considera perteneciente a la

franja del 5 - 10%. La cuarta armónica tiene un promedio de 14% que le

ubica en la franja del 10 al 15%. Solo la segunda armónica tiene un prome-

dio que sobrepasa al 15%, entonces se adopta su promedio como valor de su

módulo.

Si bien en esta prueba no se usó el computador (que sí se usó

en las pruebas de precisión), cabe destacar que al encender el medidor,

éste envía un pulso al computador que el programa "TERMINAL" lo suele in-

terpretar como un dato enviado con error, por ésto es conveniente primero

encender el medidor y luego poner en funcionamiento al programa de comuni-

caciones en el computador.

4.2.Pruebas de precisión.

Las pruebas de precisión tienen por objeto determinar los

errores que comete el equipo diseñado para indicar, naturalmente, los

márgenes de error del mismo y para recomendar futuras acciones a temarse

buscando siempre mejorar el diseño inicial.

El análisis de las pruebas fue una etapa bastante larga debido

a la gran cantidad de datos usados, es por ello que en este apartado se

describen las pruebas realizadas y los resultados obtenidos. En este

capítulo se incluyen el documento PRUEBAS DEL PROGRAMA y los 33 gráficos

obtenidos de los documentos PRDATOS.XLS y PRANALI.XLS. Estos dos últimos

se encuentran junto con los detalles de las Cormas de onda obtenidas en el

Página 115

Page 116: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

PRUEBAS DE PRECISIÓN

segundo documento anexo a la presente tesis. Las observaciones y recomen-

daciones están más adelante en el capítulo quinto.

Para determinar con más precisión el origen de los errores, es

preciso dividir a estas pruebas en dos partes: pruebas del programa y prue-

bas del equipo corrpleto.

Pruebas del programa

Estas pruebas se realizaron antes de diseñar la etapa de auto-

arranque, por lo que al encender el equipo, se pudo interactuar con el com-

putador programando y obteniendo datos. Adicionalmente, no se realizaban

aun las instrucciones que expresan las armónicas como porcentajes de la

fundamental sino que aparecen como valores eficaces. Aparte de ésto, el

programa es exactamente el mismo que reside en la EPRCM del equipo.

Se trabajó con el programa "Terminal" realizado en QBASIC para

la tesis del Sistema De Desarrollo Basado en el 8052AH-BASIC, y, dado que

se trabajó con Windows, los resultados obtenidos en la pantalla fueron ex-

portados a un procesador de textos. Cabe indicar que el trabajo con QBASIC

facilita el trabajo del equipo ya que las líneas de control del pórtico de

comunicación serial no son manipuladas y se puede usar el circuito de in-

terfaz con optoacopladores. "Terminal" de. Windows, que trabaja a 19200 bps

en lugar de los 9600 máximo de QBASIC 4.5, forza las líneas de control a 1

lógico, lo que impide usar el interfaz con optoacopladores. De todas ma-

neras, se mantuvo el espacio original correspondiente a la comunicación

serial de la tarjeta del 8052AH-BASIC, así que si se desea hacer pruebas

sin el circuito de optoacopladores basta poner en su sitio el CI 232 y unir

con cables al conector correspondiente con el cable serial.

Una vez que están encendidos el equipo y el computador con el

programa "Terminal" listo, se presiona la barra espaciadora a lo que el

microcontrolador responde con un mensaje de inicialización. Lo primero que

se hizo al recibir ese mensaje es poner el valor exacto del cristal de os-

cilación (12 MHz), preguntar por los valores correspondientes a XTAL, TMOD,

TCON y T2CON (que deben ser 12*000.000, 16, 244 y 52 respectivamente) y

chequear si se disponía de la memoria esperada (LEN=1 indica que no hay

programa en RAM y FREE-3583 indica los 3.5K de memoria libres). En el mo-

nitor del computador apareció lo siguiente:

Página 116

Page 117: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

PRUEBAS DE PRECISIÓN

*MCS-51{tm) BASIC VI. 1*READY> XTAL =12000000

>PRINT XTAL,TMOD,TCON,T2CON12ÜOOOÜO 16 244 52

>PRINT LEN, FREE1 3583

lo que indicó que la rutina de inicialización fue exitosa.

Luego de inicializar el display (en la dirección 221Dh) se pro

gramó lo siguiente:

>5 V=120*SQR(2) :C-15*SQR(2)>10 CLOCK 1>20 CALL 22EEH>30 FOR 1=1 TO 32

>50 PUSH A>eo ere>70 A=C*SItl(I/5-0929)>80 PUSH A

>10Q NEXT I>210 TIME^C^CALIj 28DCH:PRINT TIME>220 LD9 07FFIH-6:POP A: PRINT " P= ' . A , " ",>23G LD6 0805H4-6:POP A:PRltIT ' S= " . A , " ",>240 LD9 080BH-(-6:POP A:PRIMT "FP= ' , A>250 LD8 OS17H46:POP A i P R I M T 'VRHS= " , A , ->350 LD0 001DH-(-6:POP A:PRINT " IRHS= " , A>310 TÍMELO :CALÍ. 299DH:PRINT TIME>320 PRJHT "VOLTAJE">330 FOR 1*1 TO 16>340 L.D9 OÜ8FH+I*6:POP A : JF A<1 THEH GOTO 360>350 PRINT I, A, :LDeOE4FHí.r' t6:POP A:PRINT A>3GO MEXT I>370 PRINT "CORRIEMTK">380 FOR 1=1 TO 16>390 bD§ ODEFH+I'-6:POP A:IF A<1 THEN GOTO 410>400 PRINT I, A, ;U56 OEAFH+I*6:POP A:PR.INT A>410 HEXT I>420 LDe 0833H4-I?:POP A.-PRIIíT "lliDi- " , A ( ">430 LD@ 829H4-6rPOP A í P R I N T "TtiDv= " . A , " ',> 4 4 0 LD9 811H+6:POP A.-PRIMT "FPÜ= ' , A>510 TIME=0:CALL 2375H.-PRJ.NT TIME '>520 CLOCK O

Este programa inicializa la porción de RAM que va a ser usada,

pone los valores correspondientes a voltaje y corriente en sus respectivas

localidades de memoria, llama a las rutinas que calculan el factor de po-

tencia y realiza análisis de armónicas. Finalmente, de cuando en cuando se

llamaba a la rutina que actualiza datos en el LCD para comparar lo que pro-

cesa con lo que aparece en éste.

En las páginas 1, 2 y 3 de PRUEBAS DEL PROGRAMA, documento in-

cluido en las próximas hojas, se trabaja con datos de varias formas de

onda, con diferentes desfasajes y componentes armónicas. De los resultados

obtenidos, se puede apreciar lo siguiente:

> Los módulos de voltaje, corriente y componentes armónicas sonexactamente iguales a los de J.as ondas indicadas. No debe olvi-darse que el programa redondea al segundo decimal.

Página 117

Page 118: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

PRUEBAS DE PRECISIÓN

>• Las fases de las armónicas tienen una desviación máxima de 0.2 yei valor de ia fase es más preciso si se trata de las primerasarmónicas.

>- Los valores de potencia activa y aparente tienen errores ocasio-nales de menos de la unidad.

>• Los valores de factor de potencia y distorsión armónica total devoltaje y corriente son exactos.

*- Los valores de factor de potencia de desplazamiento son exactoscuando son positivos y se desvían en 0.1 cuando son negativos.

En el programa, se incluye además los comandos CL'OCK y TIME que

se utilizaron para tornar el tiempo tomado en las rutinas de- cálculos y gue

se resumen en el siguiente cuadro que indica los de ejecución de las ruti-

nas de cálculo de factor de potencia (fp), análisis de armónicas (ARM. ) y

actualización de datos en Display RAM y LCD (LCD):

TÍP (S)

*«. ( - )

TOTXJ. ' '

PROEBA 1

1.06

15.17

0.21

16.44

PROEBA 2

1.27

15.82

0.85

17.94

PRUEBA 3

1.38

15.62

0 .68

17.68

PRUEBA 4

1.22

15.54

0.61

17.37

PRUEBA 5 PRUEBA 6

1 1.04

15.09 16.23

0.18 0.31

17.07 17.58

PRUEBA 7

0.67

15.89

0.77

17,33

PROEBA 8

1.02

15.63

0.91

17.56

Las pruebas efectuadas fueron: 1> voltaje sinusoidal de de 120V

con corriente sinusoidal de 15A en fase, 2> estos valores cambiaron a 80V

y 5A, 3> los valores son de 120V y 10A pero la corriente atrasada en 90°,

4> el desfase es ahora por adelanto de la corriente en 60", 5> aparece vol-

taje distorsionado con la corriente sinusoidal en fase con la fundamental

de voltaje, 6> la corriente es también distorsionada, 7> las corrponentes

armónicas de voltaje y corriente están en fase, y 8> se regresa a voltaje

distorsionado y corriente sinusoidal. Dados los tiempos de cada prueba,

esta tabla no permite deducir explicación alguna respecto a la diferencia

de tiempos, así que lo que permite es conocer el porcentaje aproximado de

tiempo promedio empleado por las rutinas (fp 6.2%, AKM. 90.5%, LCD 3.3%)

En las páginas 4 y 5 del documento mencionado, se evalúan los

errores cometidos por los convertidores. Por 4 veces se invocó a las ruti-

nas que leen los ADC cuando éstos se hallaban supuestamente encerados (al

valor 128). Los resultados demuestran que alrededor del 55% de las medi-

Página 119

Page 119: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

PRUEBAS DE PRECISIÓN

cienes serán correctas, entre el 35 y 45% variarán ± 1 LSB (1.96 V ó 196

mfl. según el caso) del 2 al 3% en - 2 LSB (3.92 V ó 392 mñ.) y muy ocasional-

mente (menores al 1%, sobre todo en corriente) en - 3 LSB (5.88 V ó 588

mA) . Estos errores son muy importantes ya que marcan un limite en la pre-

cisión del equipo debido a la precisión de los convertidores analógico di-

gitales.

'En las páginas siguientes se presenta lo que fueron las pruebas

del programa:

Página 119

Page 120: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

PRUEBAS DEL PROGRAMA

MCS-51(tm) BASIC VI. 1*READY

XTAL =12000000

PR I NT XTAL , TMOD , TCOW , T2CON120000ÜO 16 244 52

>PRIMT LEN, FREE1 3583

>CAl,L 221DH

>10 CLOCK 1>20 CALL 22EEH>30 FOR J>1 TO 32>4ü A=v'¡3iM(i/>50 PUSH A

0 GTQ 084FIH-116>70 A=C*SIM(1/>00 PUSH A

90 GTS 0 9 0 F I I t - I * 6>10Ü MEXT I>21Ü TIME=0:CALL 28DCII :PRINT TIME>220 LOS 0 7 F F H l 6 : P O P A : P R I M T " P = " , A , " ",

30 LD9 0805l lH6" :POP A:PR1NT "f5= " , A , ">240 1.00 080BUi6:POP A : P R I N T "FP= " , A>250 l,D9 081Vm6:POP A : P R I M T "VRMS= " , A , " " ,>26Ü LDO Ü81D1N6:POP A : P R I M T " 1RMS= " ( A>310 T1ME=0:CALL 2 9 9 D I I : P R I M T TIME>320 PRIMT "VOLTAJE">330 FOR 1=1 'ro 16>340 LD9 OD8FH(- I l -6 ;POP A: IF A<1 TUEH GOTO 3 SO>350 PRINT 1,A, : L D 8 0 E 4 F H h I * 6 : P O P A s P R I N T A>J60 MEXT 1>37Q PRIHT "CORRIENTE">380 FOR 1=1 1X5 16>390 LD@ ODEFH-hI*6 :POP A : IF A<1 THEH COTO 410>-100 PRIMT I, A, :LD9 OKAFMf I A 6 : POP A í P U I N T A>410 MEXT I>420 LD9 0823IH6:POP A : P R I N T "TI!OÍ= " , A , " ",>430 LD@ 829H' i -6 íPOP A: PRIMT "THDv= " , A ( " ",> 4 4 0 LDQ 811!M6:POP A : P R I M T "FPD= " , A>510 TTME=0:CALL 23VÍ31I : PRIMT TIME>520 CLOCK O>PRIMT LEN, KREE593 2991

•RUN

1.06= 1799.98 Sr 1800 FP= 1

VRMS= 120 IRMí3= 1515.17

VOLTAJ E1 120 O

CORRIENTE1 15 OHDi = O TIIDvsi O FPD= 1.21

READYCALL 2375H

CALL 2375H

11.27

P= 400 S= 400 FP=/RMS= 80 IRMG= 515.815'OLTAJE

I 00 OZURRIENTE

Í "í O• M D Í -= O TUDvr O FIH)--

RADYCALL 23V5I I

CALL 237511

PAGINA 1

Page 121: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

PRUEBAS DEL, PROGRAMA

5 V=:120*SQR(2)-70 A = 1 0 ' S Q R ( 2 ) * S I N ( t 7 5 . 0 9 2 9 - P I / 2 )•RUN

1 .375p= O St= 1200

P= OVRHS= 120 IRHS= 10

15.615VOLTAJE

1 12 O OCORRIENTE1 10 270

11IDÍ = O THDv= O FPD= O.68

READY>CALL 2375H

>70 A a l O * S Q R ( 2 ) * G I N ( I 7 5 . 0 9 2 9 - | . P I / 3 )RUN

1.215P= 600 S= 1200 FP= .5

í 120 IIIMS= 1015.535

VOLTAJE.20 O

JOUR1EMTE1 10 60

l'IIDi = O THÜVs O 1-'PD= - .49.605

READY

A=120*SQtt(2) 1CO£J( 1/5.0929 ) i - Ü O ' C O Ü ( .A = A i t í * S Q t t ( 2 ) tCOG(13lI /5 .0929 -PI73)

>70 A = Ü 1 G Q R ( 2 ) * C O Ü ( I 7 5 . 0 9 2 9 )>RUM

t/5 .09291 Pl/4

1'= 960.02 Ss 1002.88 ¥VRMS= 125.36 IRMS= 815.885

VOLTAJE1 120 O4 35.36 4513 O -59.99

CORRIENTE1 0 0

FHDi= O TUDvsj .3 rPD =.18

READV

= .96

•RUM

1.04P= 2130.7

tVRMS= 130.2516.23

VOLTAJE1 120 O4 50 4.513 8 -59.99

CORRIENTE1 2 0 0

10 307 1005 -134.992 -89.993 -119.991.5 -44.902 -1802 09.991.85 O

= .71 THDv=.305

3192.43 FP=1HMS= 24 .51

.67

2457810111315

,'12 TPD= -.99

READY40 Ar200'SQ»(2) *COS( 1/5 .0929) f 10U *SQR(2) *COí3(2 * 1/5 . 0'Í39 I PI/6)41 A=-A-70fGQR(2) 'COü(4'175.0929)í50 *GQR(2)*COG(ü* 1/5.0929-3 *PI74]-42 A^A+20'GQR(2) 'ÜTN { 7 ' 1/5 . 0929 } -30 ' SQR ( 2 ) COS ( O ti/5 . 00?.9í P r /3 )

PAGINA 2

Page 122: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

PRUEBAB DEL PROGRAMA

43 Ar=AH5*-RQR(?.) '-COS( 10 *1/5 . 092 9--PI /4 ) -20 *SQR ( 2) 1CO£J( 11 ' 1 /5 . 0929 )44 Ar-.A -?.0*SQR(2) -*SIN( 13 * 1/5 . 0920 )+18 .5*SQR (2 ) *COG(15'i/5.Ü929)

>RUH

.665P= 6166.75 S= 6160.19 FP= 1VRMS= 251.66 IRMS= 24.5115.89VOLTAOE1 208 O2 100 304 70 1805 50 134.997 20 -89.998 30 -11.9.9910 15 -44.9811 20 -18013 20 89.9915 18.5 O

CORRIENTE1 20

13 20 89.9915 18.5 OCORRIENTE

20 O10 307 1005 -13-1.992 -89.993 -1L9.991.5 -44.902 -1802 89.99

7810111315 1.85 O

fHDi= .71 T¡!Dv=.765

.68 FPD= -.99

READY>40 A=120iEQR{2)'*COe(I/5.0929) f 10 *SQR(2 ) *COS( lü * 1/5 .0929) P.t/3)

1 A=-A>4243

>70 A=15ÍGQR(2)4COS(I/5.0929 -1 A=-A

>72>73>74>RÜM

!. .015= 1550.06 Ss JOOG.3 FP= .0(5RUS- 12Ü.42 IUMS= 1515.61

VOLTAJE1 120 O10 10 -119.99JORRIEMTE1 15 -29.99,'HÜÍ= O THDvt: 0.0 E--2 FPD= .(37.91

READYCALL 2375H

CALL 2375H

CALL 2375H

CALI, 2375H

CALL 237511

PAGINA 3

Page 123: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

PRUEBAS DJ2I, PROGRAMA.

10 CAblí 230ElliCAI,Ij 22EEII110 CALL aSOBMsCAliL 28DCH130 FÜB 1=1 TO 32135 LÜ9 84FH!-1*G140 POP A : PRIHT A, "150 MEXT I

READV>RUM

• 1.5686275

1.5686275

1 .5686275

-1.5686275

1.5606275

1 .5686275

1 .5686275READY

>RUM

1 .5686275

4.7058826

1 .5686275

-1.5686275

1.5686275

1.5686275

1.5686275READV

>RUH

1.5686275

4.7050826

1.5686275

-1.5686275

-1.5686275

L. 5686275

1.5686275REAÜYRUW

-1.5(586275

1.5686275

1.5686275

-1.5686275

1.5686275

1 .5686275

1.5686275READY>135 LD9 90FHfI>RUH

9.8039215 E-29.8039215 E-2

9.8039215 E-29.8039215 E-2

-9.8039215 E-29.8039215 E-2

9.8039215 E-2

1.5686275

1.5606275

4 . 7058826

4.7058826

4.7058026

-1 .5686275

4.7058826

-1.5686275

4.7050826

-1.5686275

1.5686275

-1.5686275

1.5686275

4.7058826

1.5686275

-1.5606275

-1.5606275

4.7058826

-1.5606275

1.5G86275

1.5686275

-1.5686275

4.7058826

4 .7050026

-1.5606275

4.7058026

1 .5606275

-1.5686275

*6

-9.00.19215-9.0039215

9.80392159.8039215

.29<ni765-9.0039215

9.8039215

1.5686275

1.5606275

1.5686275

4.7058026

-1.5606275

4 .7058826

-1 .5686275

1.5686275

1.5686275

1.5686275

-1.5686275

4.7058026

-1.5686275

4.7058826

1.5ÓOG275

1.5686275

1.5C86275

-1.5686275

4.70D0026

1.5686275

1.5686275

1.5686275

-1.5686275

1 .5606275

E-2 9 .E-2 -9.

4 .7050026

-1.5686275

1.5606275

1.5606275

-1 .5606275

1.5606275

1-5606275

1.5606270

4.7050026

1.5606275

1.5606275

4.7050826

-1.5686275

1.5606275

-1.5606275

1. 5606275

1.5686275

4.7058026

4 .7050826

1.5606275

1 .5686275

1.5606275

4 .7058826

4.7050026

0039215 E-28039215 E-2

E-2 .29411765 9.E-2 -9.8039215 E-2

-9.003912-2 9.

E-2 9.

215 13-2 -9.8039215 E-2

8039215 E-2

-1.5686275

4.7050826

4.7058826

1.5686275

-1.5686275

1.5686275

1 .5606275

1.5606275

4.705002G

1.5686275

1.5606275

1 .5686275

1.5686275

-4 .7050026

1 .5606275

-1.5606275

1.5606275

1.568G275

1.5606275

-1 .5686275

1.5606275

-4 .7058826

1.5606275

1.5606275

.294117659.0039215 E-2

0039215 E-29.8039215 E-2

0039215 E-2-9.0039215 E-2

9.8039215 E-2

PAGINA d

Page 124: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

PRUEBAS DEL PROGRAMA

9.8039215 E-2READr>RUN

9.8039215 E-215 E-29,8039215 E-2

9.8039215 E-2

9.8039215 E-2-9.8039215 E-215 E-29.8039215 E-215 E--2-9.8039215 E-29.8039215 E-2READY>RUN

9.8039215 E-2

9.8039215 E-2

9.8039215 E-29 .8039215 E~2--9.8039215 E-?,

9.8039215 E-2

-9.8039215 E-2

9-8039215 E-2

READf>RUU

.29411765-.294117659,8039215 E-29.8039215 E-29.8039215 E--2

9.8039215 E-2

-9.8039215 E-29.8039215 E-2

-294117G5

9.0039215 E-2

-9.0039215 E-2

9.8039215 E-2

9.8039215 E-2-9.0039215 E-2

9.8039215 E-2

9.0039215 E-2

9.0039215 E-2

9.8039215 E-2

9.8039215 E-2-.49019607-9.8039215 E-2

9.0039215 E-2

9.0039215 E-2

-9.8039215 E-2

9.8039215 E-29.8039215 E-2

.29411765-.294117659.8039215 E-2

-9.8039215 E-2

9.0039215 E-2-9.8039215 E-2

9.8039215 E-2

.29411765

9.8039215 E-2

9.8039215 E-2

.29411765-.29411765

.29411765

.29411765

9. £5039215 E-2

9.6039215 E-2

.29-1117659.003921ÍÍ E-2

-9.8039215 E-2

9.0039215 E-2

9.0039215 E-2

-9.8039215 E-2

-9.8039215 E~29.0039215 E--29.0039215 E-29.8039235 E-2

-9.8039215 E-2

9.8039215 E-2

9.8039215 E-2-9.8039215 E-2

9.0039215 E-2

-.29411765

-9.8039215

9.0039215

9.8039215 E-2-.29411765

.29411765

9.8039215 E-2

-9,8039215

9.0039215

9.0039215 E-2-9.0039215 E-2

9.8039215

-9.0039215

-9.8039215

-9.8039215

9.8039215 E-29.8039215 E-29.8039215 E-29.8039215 E-2

-9.8039215

-9.8039215

.294117659.8039215

9.80392

E--2

E-2

9.P0392

9.80392

E-2

E-2

E-2

E-2

E-2

E-2

E-2

E-2

E- 2

PAGINA 5

Page 125: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

PRUEBAS DE PRECISIÓN

Pjruebas del equipo completo

Se realizaron 4 pruebas: con voltaje y corriente sinusoidales,

voltaje sinusoidal y corriente distorsionada, voltaje distorsionado en re-

des R y RC y voltaje distorsionado con corriente distorsionada. Cada una

de estas pruebas tenia tres partes: La primera con un voltaje variable (4

voltajes: alrededor de 90 V, alrededor de 110 V, alrededor de 120 V y alre-

dedor de 140 V), corriente fija y un determinado ángulo de fase; la segunda

con voltaje variable, corriente fija distinta de la anterior y el mismo

ángulo de fase; la tercera con voltaje variable, una de las dos corrientes

anteriores y un ángulo de fase distinto.

Para obtener esos voltajes se aplicó 139.5 V a una red de re-

sistencias de manera que en diferentes partes existan los valores indica-

dos, el voltaje distorsionado se obtuvo de un inversor NIPPON para

automóviles que de 12 VDC entrega una señal cuadrada con zona muerta de

120VAC.

La corriente se obtuvo aplicando estos voltajes a una red R y

una red RC cuyo desfase medido en el osciloscopio era 26.5°, la corriente

se tomó midiendo el voltaje a una resistencia de valor despreciable. Para

las corrientes distorsionadas independientemente del voltaje, se introdujo

a estas redes un par de diodos opuestos en paralelo entre sí y se midió el

voltaje en los diodos. Las formas de onda y los valores considerados como

reales de las pruebas se encuentran en los archivos CORRIENT.FNO,

PRUEBA3.XLS y PRUEB7V4.XLS en el segundo documento anexo a la tesis.

Del conjunto de pruebas mencionado, se define una codifica-

ción de las pruebas de 3 cifras: la primera indica que número de prueba es

(y por lo tanto especifica una de las cuatro posibles formas de onda de

voltaje y corriente), la segunda indica cada una de las tres partes de la

prueba que se relacionan con la corriente medida y el factor de desplaza-

miento y la tercera indica con cual es el voltaje de trabajo (cuatro posi-

bilidades que abarcan el rango de 90V a 140V.

Página 125

Page 126: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

PRUEBAS DE PRECISIÓN

Esta codificación es importante ya que es la utilizada en las

tablas de pruebas y en los gráficos gue se incluyen en las páginas si-

guientes :

CÓDIGO

111

112

113

114

i?, a122

123

124

131

132

133

134

211

212

213

214

221

222

223

22-i

231

232

233

234

311

312

313

314

321

322

323

324

331

332

333

334

411

412

413

414

421

4.22

4.23

424

431

432

433

434

VOLTAJE(V)

87.5

107.8

117-3

139.5

87-5

107-8

117.3

139.5

87.5

107.8

117-3

139.5

87.5

107-8

117.3

139.5

87.5

107-8

117.3

139.5

87.5

107.8

117.3

139.5

84.5

103 .9

113 .1

134.5

84,5

103 .9

113 .1

134.5

84.5

103 .9

113 . 1

134.5

84,5

103.9

113 .1

134 .5

84.5

103.9

113 .1

134,5

84.5

103,9

113 .1

134.5

CORRIENTE(A)

15.6

15.6

15.6

15.6

7.9

7.9

7.9

7.9

15.5

15.5

15.5

15.5

6.28

6.28

6.28

6.28

12.2

12 .2

12.2

12 .2

6.28

6.28

6.28

6.28

6.2

6.2

6.2

6.2

12.2

12 .2

12.2

12.2

6.1

6.1

6.1

6.1

10.79

10.79

10.79

10.79

5.47

5.47

5.47

5.47

12.31

12.31

12.31

12.31

FACTOR DEDESPLAZAMIENTO

1

1

1

1

1

1

1

1

0.9

0.9

0.9

0.9

1

1

1

1

1

1

1

1

0.9

0.9

0.9

0.9

1

1

1

1

0.9

0.9

0-9

0.9

0.9

0.9

0.9

0.9

1

1

1

1

1

1

1

1

0.9

0.9

0.9

0.9

CONDICIONES

V, I SINUSOIDALESV VARIABLE11 CONSTANTE

FASE 1 CONSTANTE

V, I SINUSOIDALESV VARIABLE12 CONSTANTE

FASE 1 CONSTANTE

V, I SINUSOIDALESV VARIABLE11 CONSTANTE

FASE 2 CONSTANTE

V SINUSOIDALI DISTORSIONADA

V VARIABLE11 CONSTANTE

FASE 1 CONSTANTE

V SINUSOIDALI DISTORSIONADA

V VARIABLE12 CONSTANTE

FASE 1 CONSTANTE

V SINUSOIDALI DISTORSIONADA

V VARIABLE11 CONSTANTE

FASE 2 CONSTANTE

RED RV DISTORSIONADA

V VARIABLE11 CONSTANTE

FASE 1 CONSTANTE

RED RCV DISTORSIONADA

V VARIABLE12 CONSTANTE

FASE 2 CONSTANTE

RED RCV DISTORSIONADA

V VARIABLE11 CONSTANTE

FASE 2 CONSTANTE

I DISTORSIONADAV DISTORSIONADA

V VARIABLE11 CONSTANTE

FASE 1 CONSTANTE

I DISTORSIONADAV DISTORSIONADA

V VARIABLE12 CONSTANTE

FASE 1 CONSTANTE

I DISTORSIONADAV DISTORSIONADA

V VARIABLE11 CONSTANTE

FASE 2 CONSTANTE

Página 126

Page 127: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

PRUEBAS DE PRECISIÓN

Los valores de voltaje y corriente eficaz tomados como reales

se obtuvieron con el multímetro FLUKE 87 existente en Laboratorio de

Electrónica de Potencia. Las formas de onda fueron captadas con la tarjeta

de adquisición de datos existente en el mismo laboratorio y las muestras

usadas en MicroCap III y EXCEL 4.0 para calcular los parámetros de distor-

sión y factor de potencia.

Los datos del equipo fueron enviados al computador donde fueron

almacenados tal como se los recibió (excepto por la eliminación del carác-

ter de fin de bloque) en un archivo. Este archivo fue ordenado en EXCEL

4.0 y de éste se obtuvieron los gráficos mostrados en las próximas páginas.

El modelo de tabla de datos ordenada que se muestra a conti-

nuación consta de 6 mediciones (5 para las pruebas 2, 3 y 4) y el análisis

de éstos como promedio , máximo , mínimo , real y desviación es tándar . Por

motivo de espacio las tablas no pueden ser incluidas totalmente aquí.

PARTE l . li VOLTAJE VARIABLE, CORRIENTE 15.5 A, FACTOR DE POTENCIA

1

1>4

f

t

p.~IU

nr.tn.

Ennon

xcnnon

MAKIMO

tiiMtrio

Dcsr

p

1311.73

1377.47

HOM*

1J71.1*

1JU.-U

H1M7

IJ4WT

1íi*

IMT

I.»*

HtMT

1JU.4*

zo.tr

s

1400.0*

I377.S*

H10.1

1371.4

13K.C1

MI»

13 «.11

OÍS

17.13

i.m

«tt

1H*.t1

"•«

f.

1 -0.11

1 -0.11

1 -0.11

t -0,11

t -0,11

1 -0.11

1 -0.11

1 -1

* 0.01

O.OOX -I.OOx

i -0.11

1 -0.11

0 0

Tr«

*t.*1

**.2S

*1.3i

ÍI.31

*7.»1

*1.»1

«Í.73

.7.,

1.15

i.«X

*•>,»!

«.«

0.73

lr*r

Í5.75

15.tt

15.7*

1S.*Í

H.5F

15.»

15.C1

».i

O.*1

O.f4x

15.»

I5.5F

6.1

TUDI

».03

0.04

0.03

•J.03

0.05

«.Oí

•.«

0

0.0,

M1t.11

0.09

0.03

0.01

THD»

0.03

0,03

0,03

o.«

Mf

O.OJ

..04

0

0.04

1.11C.11

0.05

0.03

M1

ITtl

• ».*

M.1I

íí.zt

M.Z3

»7.77

• 1.75

»M7

.7.,

1.17

1.14X

*1.75

*7.77

•.75

rf tSCTt 1IH

0 15.74

t» 15.4

6 t$.T7

0 15.* 1

0 15,53

0 15.71

* 1S.Í7

0

O.oax ,.4Tx

« 15.71

• 15.53

0 0.11

TASE 11

0.07

0.14

6.15

• .«1

O.J»

«.33

O.Z5

O.íf

M».^1

O.S4

0.01

0.11

Para el análisis de armónicas no se hace la diferenciación

entre valores de voltaje puesto que la composición armónica no se ve alte-

rada cuando el voltaje tana distintos valores. En la tabla que se presenta

a continuación se aprecian los 6 valores de las muestras de cada parte pro-

mediadas en medial, media2, media3 y medial, de todos los valores de la

prueba se saca una media general, así como valores máximos y mínimos. Para

ondas distorsionadas, se incluye el valor de error. Esta tabla de armóni-

P. agina 127

Page 128: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

PRUEBAS DE PRECISIÓN

cas se repite para las armónicas 10 a 16 de voltaje (norteadas con las le-

tras A, B, . .., F y G por el equipo) y para las armónicas de corriente.

ANÁLISIS DE ARMÓNICAS

VOLTAJE

1~«J.

1.11.111.47

2.23

2.4*

1.S*

1.M

2.2»

2.1*

2.17

2.41,5*

1.22

Z.1

2.31.15

2.71

1.15

1.21

2.>7

1.»*

1.1*122,31

1.53

2.27

2.U1,97

1.14

2.»*

1.t¥

f«r.

-175,2113*. t»1Í1.0*145.7111.21-0,12

127,37-171.13

HUÍ-43. t\3

•1.43

-135.1Í-4Í.11-1ÍO.*5-3.017.17

ll.tl

-1*5.15•17E.3*«.51

-172.117?.120.45

-7.12171.0»

-17S.5Í

i«.1.010.70,11

0.71

3.0*0.1»

1.»

1.1c.'lOÍ* 71.31.12

1.01

1.«

2.11

O.S5

Z.7*

O.í1,¿»

Z.F1

1.T1

0,75

12.Í»

*.*12.Í*

2.<r*1.*7

1.413.01

0.53

,„.

-1U2

l.íl

-tS.3329,35-30.12-112.1»

*.1i-*4.3Z37.54H, 73•tO.SÍ-7J.2»

-«.Oí40.1107.51-103.01-11.11-23.13

-111.4*-Í2.45

01.11-77.02-41.14-27.*

-45.2*40.21

-112,1»

4

0.54

0.70.3»

1.2*.7>0,51

*.TÍ

*.t)

M»1.07

1Z30.71

0.57

t.*5

1.170.71

1.11O.*10.21O.t?

•.7*

0.**0.57

O.*1

9.13

*,73

I.H*.71

0.77

1.3*

«.13

f«r*

-I32.M2717.0715.7*-»4.17O*.H

31.7.Í-4*.121.*»-137.7*110.51

*.*

-1.J3-1lt.17Í3.127.41

-12.Í3-17.*3

17*.f1131. *1-122.71115.27-15t.0t-11t,77

-1.5T17*.S1

-1S7.7Í

5w.44.

2.91

1.31

2.0*

1.51

2.?1

1.1*

1.«

1.11

1.*1.01

1.J1.1F

1.*11.47

I.?*1.33

2.41

2.13

1.11

2.1*

*.»7

1.141.12

2.* 5I.H2.M2.52

1.2:51.13

2.* 51.04

f-r»

1*1.32H1.0*137.13155.21*1.9111*. *1

-171.91-170,11Ht.IJ1**.11H3.32

I5*,1*

1ÍÍ.7143. *>1-1*. < 2H1.*1H3.31l't.5^7

1*1.1145.51111.**1*4.1213*. 12ISt.34

127.2H1.03

-171.0*

*

9.41

1.13

9.33

0,t2

0.74

9,14

• -*

0.»4

0.25

0.*2

1.11

0.*O.J1

*.«

0.*2

0.1O.H0.229,03

0.11

*.47

0.17

0.23

9,71

4.5»

1.2»

O.f!9. «59.511.2*

0,0 1

f«»

-»*.*7-54.97147.14-t7.|2«l.íl

3*,47

-13*.*71*0.37

-74.1**1-11Í.72124.34

I2Í.5Z113.J-144. *5-41.77-140.J77t.52

•)1.7J•127.13-11.t4-147.41-21.1374.1

-!2.1t1*0.37

-14T.41

T

0.471.13

0.4*

í.O*

9.11

*.4•-7»

1.W9,(1

o.*10.»2

0.**9,($

*.71

0.12

9.71

9.55

0.410.41

o.ts9.H

0.71

9.119.T19.21.01$.42».*9.71.43

0.2

fu*

-11Í.3-11». 21-145.51•t».0t•*>.9t-142.43

-1*T.l*-1Í.21-19*. 2Í-15J.4•117.7*-17.1*

-t57.54-13,23-*5.17-I1*.*7•F1.JI-39.5*

-H.01-110.55-»1.71-»1.*»-121.15-19. ti

-104.71-1».21

-t',7.2l

9«44.

0.2J

9.11

0.21

9.19.2»

9.43

9.Z7

9.1?

9.71

9.11

9.5»

9.47

9.9*

*.41

9.*0.14

0.37

9.1*

0.23

0.37

*.31

«-J19.13

9.) 79.?.

o.nC.22

9.31

0.3*

8.71

9.0*

f«.

-1.Í*U7.Í271.02-51.23-1.07-1.4

13t.41-11.7»-1IM»-73.4-44.74-t**.7»

-1H.21-2». 039.75

12?.»2.0»

-74.1*

1*.4Jtt.*1-tT7.»>29.»

121,12-125,7*

-tt.1I3t.1l

-1t*.7t

*

9,75

9.2*

9,4»

*.*71.11

0.37

• .(1

9.JT

9.JV

O.H9.319.J2

0.21

».«

9.H0.31

0.91

9.31

0.11

9.5• .4

O.Í1

9.43

0.9*

9.31

0.5»

9.7(

*.4Z

9.4*

l.tl

0.9*

f«.

-*7.9*U3.54-119.11117-170.Z7

-**.*

40.U

-131.31-T3*.S1S.H

-t2*.7»U.»

-7M1

-f?1,f 1151.11-Í3.047 4.» 3-»2.»3

-17.0)-112.ZF-1**.11-«2.3-*.53157.7*

-41.11t57.7t

-170.Í7

De los datos obtenidos, se tiene la siguiente descripción de

las mediciones de los parámetros de la red:

> La potencia activa en la gráfica 1 varío su error relativo en ±5%mientras que los promedios de Jas muestras solo lo hacen entre-3.5% y 2%. En los grupos de muestras, la diferencia entre máximoy mínimo varía entre el 1.8% y 6.2%.

^ La potencia aparente en la gráfica 2 varía su error relativo en±4% mientras que los promedios de las muestiras solo lo hacen entre-3% y 2%. En los grupos de muestras, la diferencia entre máximo ymínimo varía entre el 1.2% y 5.6%. Existe un pico que sobresale en321.

>- El voltaje RMS en la gráfica 3 varía su error relativo entre -2.2%y 2-6% mientras que los promedios de las muestras solo lo hacenentre -2% y 1.5%. En los grupos de muestras, la diferencia entremáximo y mínimo varía entre el 0.5% y 3.9%.

> La corriente RMS en la gráfica 4 varía su error relativo en ±3.3%mJenl:i:as que los promedios de las mue.stras solo lo hacen entre-2.1% y 1%. En los grupos de muestras, la diferencia entre máximoy mínimo varía entre el 1% y 5.3%.

Página 128

Page 129: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

PR

AN

ALI

.XLS

Cha

rt 1

P c

om

o e

rro

r re

lativo

6.00

%

4.00

%

co \

,;/\

o

;l

co /, ;

-4.0

0

-6.0

0%

Max

.

Mín

.

Med

.

Pru

eb

a Pa

ge

l

Page 130: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

I»r*.

PR

AN

ALI

.XLS

Cha

rt 2

4.00

%

3.00

%

2.00

%

1.00

%

0.00

%

UJ

-1.0

0%

-2.0

0%

-3.0

0%

-4.0

0%

-5.0

0%

S c

omo

erro

r re

lativ

o

.i i

I •.

I l

-.' '

a ' i

1 ' v

; >,

co\

:¡ i

co

\7

\\

Max

.

Mín

.

Med

.

Pru

eba Pa

ge

l

Page 131: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

PR

AN

ALL

XLS

Cha

rtS

c. I V

1.00

%

ÜJ0. o.c -0.£

-1.0

0%

-1.5

0%

-2.0

0%

-2.:

Vrm

s co

mo

erro

r re

lativ

o

o c

rn°/

J

9 n

n°y

í.

1 c

;no¿

i \ h

A

\r\

A^

M A

A

/U

¡ S>

/

\ \í

^ /

\. I

/

i ».

i '

i. <

i •

¡ -.t

S

f • i

- , j , V

, ,

\ >-

\:¿

- "

v 'o

j cp

-.

y: r

-V t-

rr

•-

' C

\

\ 1 1

^-J

'—J

I \

•'• \

^ •

• /

/ •

\

• í

.' .

/ \

\ ^

\ /

\ v

i A

'•

• >

' "

i 1

' :*.

-

í '

• '

i •

'•'•

i :

1

;i -

't M

'• i

; •

• i

,-í

' .'

.:•

! t

• i

y

¡V

!

1 ; i

>

\ i

: i '-

'-

i • ' i

i ¡ •

. i; ( •

1 ;i

; r

it i

1

• >

i-' i i

i

-.1; i

: ;

1

'

V-

V /~

^

i

A.-V

'V

: Í-

, U

/\4

Í

\M

/ C

O '

', r

-

' !

ICJ '

M :

.:CO

.'

r¿

;

V 04

/^

CO

CM

/ (M

/ 1

co

• '

>CQ

, t

- ;ro

í

1

.- r

^ \r

v \

/ \

üí

' i

\ /

\\

\

/ \

V

/!

••

•/

;' \\

>• ;

V../

/ i

v ;

, i \

/ i

i i

/ \

\ ;

li

i /

i \

Max

.

—•

Mín

.

• M

ed.

Pru

eba Pag

e 1

Page 132: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

PR

AN

ALI

.XLS

Cha

rt A

Irm

s co

mo

erro

r re

lati

vo

4.00

%

Max

.

Mín

.

Mea

.

-2.0

0%

-3.0

0%

-4.0

0%

Pru

eba Pa

ge

l

Page 133: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

PRUEBAS DE PRECISIÓN

> En la gráfica 5 se comparan los promedios de los errores relativosde las magnitudes anteriores. En casi toda la gráfica los erroresde P y S siguen a los de VRMS e IRMS, principalmente a estos últi-mos que son algo mayores. Solo en el grupo 43x P se aleja deVRMS, IRMS y S siguiendo, tal como se ve en la gráfica 6, al fac-tor de potencia.

>- En la gráfica 6, el error absoluto del factor de potencia varíaentre -2.4% y 2.3%. Los promedios de las muestras entre -1% y1.6%. Los picos más pronunciados suceden cuando el desplazamientoes distinto de cero y el voltaje y corriente están distorsionados.Las variaciones entre máximo y mínimo son del orden de -0% a 4%.En 43x el promedio se aleja de J.a tendencia de la gráfica, sincontar con esta parte, las variaciones mencionados se reducen a-1.7% a 0.6%, -1% a 0.6% y O a 2%.

>• En la gráfica 7, el error absoluto del factor de potencia de des-plazamiento varía entre -3.5% y 1.2% (sin la parte "43xn entre-3.5% y 0%); los promedios entre -2.3% y 0.7% (sin "43x" entre-2.3% y —0.2%) y las variaciones entre máximo y mínimo entre O y3%. En general, los mejores valores se dan con señales sinusoi-dales sin desfase, y los peores con distorsión y desfase distintode cero. Si bien, como se ve en la gráfica siguiente, la fase dela corriente fundamental mantiene sus errores constantes a lo lar-go de toda la experiencia, pequeñas variaciones cuando el desfasees distinto de cero causan mayores errores en el coseno de la faseque cuando no hay desfase.

>~ En la gráfica 8, el error absoluto de la fase de la fundamental decorriente varía entre -3.4" y 2.7" (sin la parte "43x" entre -2.7°y 2.7"), los promedios entre -2" y 2.2" (sin "43x" entre -1" y-2-2 ) y las variaciones entre máximo y mínimo entre 0.2" y 4.2".En general, los mejores valores se dan con señales sinusoidalessin desfase. En "ASx" existe un cambio brusco en la tendencia dela gráfica, ese desplazamiento brusco se podría estimar de 1 a 2" .

> En la gráfica 9 se compara los promedios del factor de potencia ydel cociente P/S. No existe una diferencia digna de mencionarentre ambas curvas.

>- En la gráfica 10 se compara los promedios del factor de potenciade desplazamiento y el coseno de la fase de la fundamental de co-rriente. Existe una diferencia constante de -J.% entre el fpd y elcoseno de la fase.

>- En las gráficas 11 y 12 aparacen los errores absolutos del valoreficaz de voltaje y del valor eficaz de su fundamental. Estosvarían de -2.5V a 3V y de -1.9V a 3.7V respectivamente. Sus pro-medios de -1.1V a 1.6V y de -1.2V a 2.3V. Sus diferencias máximo- mínimo son de 0. 6V a 3.5V y de 0.6V a 3.3V .

Página 133

Page 134: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

PR

AN

ALI.X

LS

Chart

5

Err

ore

s m

ed

ios d

e P

, S

, Vrm

s e

Irm

s

3.00

%

2.00

%

1.00

%

0.00

%

UJ 2?

-1.0

0%

-2.0

0%

-3.0

0%

-¿1.

00%

i ¡

i i

'. !

í y r

\ T

i.7~ir

n

;!

i j

;

~\i

• \/

u '

;

i\S V

rms

Irms

j

Pru

eb

a Pa

ge

l

Page 135: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

PR

AN

ALI

.XLS

Cha

rt6

2.50

%

2.00

%

1.50

%

1.00

%

0.50

%

0.00

%

-0.5

0%

-1.0

0%

-1.5

0%

-2.0

0%

-2.5

0%

fp c

omo

erro

r ab

solu

to

ru

i !

/ »

\

1

i i

y i

, jr—

i r

csi

'•«1

/ '

'//v-

.V '

' V

'/ 'í

' /' /

V\--'

'/ r\

"~"J

/ V

; \^

' ':

/ /^

' /

\"

/ ra

- —

n o? ,

\ / ^

/

,^

~

i t

í 1

'/ 5

T

\I

\

\

v i

Max

.

Mm

.

Med

.

Pru

eba Pa

ge

l

Page 136: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

PR

AN

ALI

.XLS

Cha

rt 7

2.00

%

1.00

%

0.00

%

-!

-1.0

0%

-2.0

0%

-3.0

0%

-4.0

0%

Max

.

Mín

.

Med

.

Pru

eba Pag

el

Page 137: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

PR

AN

ALI

.XLS

Cha

n 8

Fas

e de

111

I c

omo

erro

r abs

olut

o

o •o

3.00

2.00

1.00

0.00

UJ

-1.0

0

-2.0

0

-3.0

0

-4.0

0

i i

/i

TT

t i

¡ \

i \;

i .-i

u u I

Max

.

—•-

Mín

.

Med

.

Pru

eba Pagel

Page 138: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

PR

AN

ALL

XLS

Cha

rtS

Err

ores

abs

olut

os d

e pr

omed

ios

de íp

y P

/S

a UJ

2.00

%

1.50

%

1.00

%

0.50

%

0.00

%

-0,5

0%

-1.0

0%

5T7W

iví

1

I I

!

/ 2

-1.5

0%

Pru

eba

Pa

ge

l

Page 139: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

re'

PR

AN

AU

.XLS

Cha

rtlO

Err

ores

abs

olut

os d

e fp

d y

Cos

[Fas

e(Í1

)]

2.00

%

1. i .0

0%

0.

rt LU

-1.0

0%

-2.0

0%

A

A

X'

i co i

:cvj

,1

\ i

i

\3 '

\o

,

/í\c

o/

\o A

1 /

\\

1 [

¡.

i I

[_

. I

1

i _

J ' !

. i

! !

~i

i ¡

¡ i

i í~

i

1 ~

T" i ¡

i

¡ i

i

A

fpd

Cos

(FA

SE

11)

!

Prue

ba

Pa

ae

l

Page 140: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

PR

AN

ALL

XLS

Cha

rt 1

1

rt UJ

3.00

2.00

1.0

0

0.00

Vrm

s co

mo

erro

r abso

luto

V

A\v

I \0

-2.0

0

-3.0

0

i \

v v \\

'-•

/ \

\ \

/ /H

i -I

i ,

i V i

| *

i U

/-'

i i

i A

. \

M

1,

1 ¡

i 1 i

V :

i

' '• t

; 1

' f

' '/

<\

i i

i 1

\ \ i

-.1 i i

r í : l

\,

\ ii

t

i-

. i

; ¡ i . l

X

• .;

J i

¡i

1 /

i ,

\

^

\ \r

-^—

U

' \^

'•

: /\' '': :

/ '

\—

t—

U.'i~

V

- i

r- /

v

i—

i

/ i

t—

•; / i '.

i—

'

:T,

,'oJ

ro

'. \iir~

sv

j ;

co

/ \V

:

/ \C

M

M '

03

/ U

\ r-

^-

x •

V: M

. cu

_/

cy

\o •

/ \c

o /

i • /n

'

p

\/

\ /

\ ii/

!\¡

\ / \

u/

/ i

\'¡

\ i'

./

'

^

V

!/ N

i

t l

i !

. *

' ''

.'•

' i

l *'

1j

i i

l t

í [

! y;

i ¡

'. 1

» ;\

v'

\ .'

X./

OJ

*A

CO

*

;

V <

T /

i

^T•

• r"

r

' \

/ \

\

A V

Max

.

Mín

.

Med

ia

Pru

eba P

ag

el

Page 141: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

í*

LU

4.00

3.00

2.00

1.00

0.00

-1.0

0

-2.0

0

PR

AN

AllX

LSC

hart

ia

[VI |

co

mo

erro

r ab

solu

to

\

Max

Mín

.

Med

ía

Pru

eba P

aq

el

Page 142: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

PRUEBAS DE PRECISIÓN

>• De manera similor en las gráficas 13 y 14 aparecen los erroresabsolutos de los valores eficaces de la corriente y su fundamen-tal . Estos varían de -.46A a .45A y de -0.41A a 0.56A. Ambospromedios van de -0.3A a 0.09A, Sus diferencias máximo - mínimoson de de 0.07.A a 0.7A y de 0.02A a 0.76A. Las grandes diferen-cias se deben a picos ocasionales (los dos más pronunciados sedieron con voltaje y corriente distorsionados sin desfase y elmenos pronunciado a voltaje y corriente sinusoidales con desfase).

En cuanto a distorsión armónica se refiere, se tuvieron los

siguientes resultados:

>• El error absoluto de distorsión armónica total de corriente estáen la gráfica 15. Hay 3 etapas definidas: cuando no hay distor-sión de corriente (prueba 1) en la cual el error de THD varíaentre 3% y 5% y el promedio entre 3.33% y 4.67%, con distorsión decorriente de la prueba 2 (en este caso la distorsión marcada por16 valores, 37.37%, es muy similar a la de 256: 38%) cuyos valoresvarían entre -1.9% y 4.1% y sus promedios entre 0.3% y 3.1%, ycuando la corriente junto con el voltaje están distorsionados (eneste caso se presentan dos distorsiones con valores de 26.3% y42.57% para 16 muestras, que son muy diferentes a 29% y 46% para256 muestras) con valores que varían entre -6.7% y 0% y promediosentre -2% y -4.6%.

>- En la gráfico 16 se encuentra lo contraparte de voltaje en las quesolo hay dos etapas definidas: cuando no hay distorsión con va-lores entre 3% y 6% y con promedios de 3% a 4.4% y cuando el vol-taje es distorsionado con valores entre -5.2% y -1.2% y promediosenl:re -3 . 8% y -3.2%.

> En los gráficos 17 y 18 aparecen los espectros de voltaje sinusoi-dal (cuyas armónicas deben ser cero) y la comparación de los pro-medios de voltaje de la prueba 1, de la prueba 2 y corrientesinusoidal. En la comparación se puede ver que los promedios sonmuy similares. En lo que al espectro se refiere se puede destacarque desde la 8a. armónica los máximos son menores al 1.4% y lospromedios al 0.5%. Los valores máximos de la 2a., la 3a. y la 5a.armónicas son de prácticamente el 3% y los promedios de alrededorde 1.8%. Los valores máximos de la 4a., 6a. y 7a. armónica son dealrededor de 1.4% y sus promedios de 0.7%.

Página 142

Page 143: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

í»

PR

AN

AL

LX

LS

Ch

art

lS

Irm

s co

mo

erro

r abs

olut

o

0.40

-1

0.2

0.20

0.10

o.oo

f ;

•.[rt

i '

.'Ü

J _L "

-0.1

0

-0.2

0

, \ /í

\ I

i I

I i

' i

r/

,'t

"M-" t

'•, i

i t

! '/

r\

/.'.*

,

;fi—

*.

;/C

\ V

\

7

i \'

/; i

-,'

i i

i i

i j i

i \

/1 j

I t...

i*"

'' \

^"^

^ í

i ;i

\ /

V

Max

.

Med

ia

-0.3

0

-0.4

0

-0.5

0

\

Pru

eba P

agel

Page 144: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

PR

AN

AL1

XLS

Cha

rt 1

4

0.60

0.50

0.40 o.-ao

0.20

^

0.1

0

(U UJ0.

00

-0.1

0

-0.2

0

-0.3

0

-0.4

0

-0.5

0

11 | c

omo

erro

r ab

solu

to

Max

.

Mín

.

Med

ia

Pru

eba P

o

Page 145: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

*'

PR

AN

ALl

XLS

Cha

rUS

TH

com

o e

rro

r abso

luto

6.00

%

4.00

%

2.00

%

-i

0.00

%

Q

-2.0

0%

-4.0

0%

-6.0

0%

-3.0

0%

i i

I /

¡f:T

\ :

i i

! i

i i

i i

i i

i

1 •

; \r^

x"/\-^

i ir\

/ \i

v\\

i i !

V

Max

.

Mín

.

Med

.

Pru

eba Pagel

Page 146: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

PR

AN

AU

>C

LS

Chart

16

TH

Dv

com

o er

ror

abso

luto

6.00

%

-r

4.00

% --

2.00

%

--

0.00

%

-2.0

0% +

-4.0

0%

--

-6.0

0%

-1-

Max

.

Mín

.

Med

.

Pru

eba

Page 147: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

pUl

coUl

O» CD

¡'

:rnco

Oa.CD

3:»

1'C/)

a.fD

<o

CDa.CD

fDcr

"D

X

O)O

í»

Q.

33ft)fu

Page 148: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

% Fundamentalpen

roln

O« 103

í uVií./i

\

3T3

P

Q.3Q.(O

o"CO

•ao3(D :a.5'coQ.CD

TJ(Da3tn

£» :cu :

ocwoa!EL(D(O

1

1

p í *S-* ho -

: 3n-»

3

Page 149: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

PRUEBAS DE PRECISIÓN

Los espectros correspondientes a vo.lt a je distorsionado aparecen enlas gráficas 19 y 20. Los promedios de voltaje de la prueba 3, dela prueba 4 y de la corriente distorsionada como el voltaje sonmuy parecidos. Existen 4 grupos de armónicas:

Las armónicas cuyos valores reales son menores a 1%: El máximomedido llega al 10%, mientras que los promedios no pasan del 4%y los mínimos son menores al 1%. La brecha entre máximo y míni-mo va de 4.6% a 9.8%.

• Las armónicas cuyos valores reales están entre 1% y 5%: Laarmónica 11 (3%) está en este caso. Se confunde con el grupoanterior excepto por la brecha que es del 4%.

Las armónicas entre 5% y 10%: Están en este caso la 3a .(7.63%), la 9a. (7.1%), la 13a. (8.1%) y la 15a. (6.38%) armóni-cas. Las armónicas 3 y 5 tienen máximos superiores al 10% (13%y 11.2% respectivamente), promedios mayores al 5% (7.7% y 7%) ymínimos cercanos al 5% (5.3% y 4.2%). En cambio, la 13 y la 15tienen máximos menores al 10% (9.23% y 8.7%), promedios del 5% ymínimos cercanos al 2% (2.91% y 1.2%). Las brechas de las cua-tro armónicas van del 6.3% al 7.7%.

Armónicas mayores al 10%: Como la 5a, (14.5%) y la 7a. (16%)armónicas. Sus valores máximos y promedios son mayores al 10%(16% y 12.3% para la quinta y 15.8% y 14.4% para la séptima),mientras que su valores mínimos son de alrededor del 10% (9-4% y12.2%). Las brechas disminuyen a 6.6% y 3.6%.

Para entender el comportamiento global de las armónicas, se en-cuentran en los gráficos del 21 al 26 los fasores (solo señaladospor los puntos finales) de 20 muestras de armónicas y el valorreal para la 2a., .3a., 6a., 7a., 10a. y lio. armónicas. Lasarmónicas que pertenecen a los dos primeros grupos (2, 6, 10 y 11)tjenen muestras muy dispersas en módulo y especialmente en fase.La 3a. armónica muestra fasores con dispersión en módulo pero noen fase mientras que la 7a. muestra fasores concentrados en móduloy fase. Cabe notar que el error de fase del fasor 7 es mayor aldel 3 y que éstos se dan por que los valores reales están atrasa-dos respecto a las muestras.

Página 149

Page 150: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

% Fundamental

Poo oo o

o oo

CDo

rooo

-tkbo

enoo oo

3O» CD

Page 151: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

PR

AN

ALL

XLS

Cha

rt 2

0

Com

para

ción

de

prom

edio

s de

esp

ectr

os d

e se

ñale

s di

stor

sion

adas

18 16 12

§

10

e 3 LL 5?

¿Ai

/ \

í <

i\ U./

/m

i/

Rea

l

Vpr

.3

V pr

.4

Ipr.

3/4

3 9

10

Arm

ónic

a

1112

13

14

15

16

Paq

e 1

Page 152: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

Parte Imaginaria

ó>

~0tu

Oo

oo

oo

rooo

o

~0PJ¡n O)

oo

oo

oo

oo

oo 8

oo

oo

oo

oo

rooo o

T|PwoCu<J)Q.fDroD.

nPo.

ÍDo.

PQ.O

"O

221>CkO)orr

Page 153: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

PR

AN

ALI

.XLS

Cha

rí22

Fas

ores

de

3a. A

rmón

ica

de v

olta

je d

isto

rsio

nado

i.OO

-1 4

.00

-1 2

.00

-1 0

.00

-8.0

0-¿

00

-4.0

0-2

.00

T

6.00

-

4 4.0

0 -

ri (C 'en rt ot r £

A

2.00

-

- "

." ••

" •

I !

, 1

a !

L !

nn

n

• M

uest

ra

*

Rea

l

O.J3

0

Par

te r

eal

-2.0

0

Pag

e 1

Page 154: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

FRA

NA

U.X

LS

Cha

rt 2

3

Pes

ores

de

6a. A

rmón

ica

de v

olta

je

dist

orsi

onad

o

4.00

-r

3.00

2.00

1.00

1 1

1 1

00

-4.Ü

O

-3.0

0

i Ir

1 n

nn :

a •

ti

l!

1 «

a

' J

! '

' •

'

-2.0

0

-1_O

Q

0.00

1.

00

2.00

3

£0

4.

00

5.00

• M

uest

ra

A R

ea!

-1.0

0 -r

-2.0

0

-3.0

0

--

-4.0

0

Pa

ge

l

Page 155: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

Parte imaginaria

oo

oo

Oooo

oo

oo

oo

poo

rooo

-g-

oo

oo

oo

TIpí/>o"03O)

CLCD

T)(U

oo

P»P

3 T)

52

T)P[Q(D

oo

o.CD

ÍDO.írt'^•vo-^c/>o'

D-O

O

'34.

oo

Page 156: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

PR

AN

AU

.XLS

Cha

rt 2

5

Fa

sore

s de

1 O

a. a

rmón

ica

de v

olta

je d

isto

rsio

nado

¡e CL

8.00

-

6.00

-

"

V

9

4.00

-

2.00

-

••

1 '

i n

OP

i i

i a

U-J

U

.00

-6

.00

-4.0

0

-2.0

Í '

0.

-2.0

0 -

-¿nn

-

-

a i

a

Muest

ra

. ,

A

Rea

!

^

1 !

l !

li

li

)0

2.00

4.

00

6.00

'

8.00

Par

te r

eal

Pagel

Page 157: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

Parte imaginaria

enbo

oo

oo

PO

oo

TJ(aa.(D

oO

rooO

oO

o

oo

oo

oo

$O

TIP

ÍÜI/)EXCD

P

P"

O»13

Q_CD

*£?.CD'o.

oraPD.O

c0>i/»

Page 158: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

PRUEBAS DE PRECISIÓN

> En la gráfica 27 está el espectro de la corriente distorsionada dela parte "43x". Se puede diferenciar 4 grupos:

• Las armónicas algo mayores al 1%: Este grupo está formado porlas armónicas pares. Los máximos medidos no pasan de 6.5%, lospromedios son menores al 4% y los mínimos están entre el 1% y el2%, La brecha está entre 4.1% y 4.9%.

• Las armónicas entre el 5% y el 10%: Como son la lia. (8.27%),la 13a. (7.6%) y la 15a. (6.6%). Sus máximos están cercanos al10% (9.24%, 8.36% y 8,36%), los medianos (6.95%, 5.78% y 5.08%)mayores al 5% y mínimos mayores al 1% (4.76%, 2.75% y 1.32%).Sus brechas son del orden del 4.6%, 5.6% y 7.1%.

• Las armónicas del 10 al 15%: En este caso están las armónicas 7(14.7%) y 9 (10.7%). Sus máximos son mayores al 10% (14.5% y11.3%), sus medios de alrededor del 10% (13.4% y 9.6%) y mínimosno despreciables (12.1% y 4.8%). Sus brechas son del 2.4% y6.5%.

• Armónicas mayores al 15%: En este caso están la 3a. (30.6%) yla 5a. (19%). Se^caracterizan por tener brechas pequeñas (1.4%y 1.9%) de manera que los valores reales están muy cercanos almáximo o al promedio (31.2% y 30.5% para la 3a. y 19.2% y 18.2%para la 5a.).

>*• Finalmente, en las gráficas 28 a 33, se muestran los fasores delas armónicas 2, 3, 6, 7, 10 y 11 de la corriente distorsionada.Se puede notar que los fasores de 2, 6 y 10 son dispersos en módu-lo mientras que sus fases se aproximan a la fase del fasor real.La armónica 11 la fase es poco dispersa y el módulo relativamentedisperso. La armónica 7, sus fasores son de fase y módulo másconcentrados que en el caso anterior. La 3 se tiene la fase con-centrada y el módulo muy concentrado. Al igual que en el casoanterior, los errores de fase son mayores a medida que la armónicaes mayor y todos éstos son de retraso respecto a los valores medi-dos .

Se realizó una quinta prueba con el objeto de determinar las

medidas cuando el voltaje y la corriente son nulas. Los resultados indica-

ron que el voltaje rms promedio es IV y la corriente promedio 0.1A, sus

fundamentales fueron 0.26V y 0.01A respectivamente.

Los tiempos de proceso para las diferentes pruebas fueron:

PRUEBA

TIEMPO (B)

1.1 1.2

17.55 17.53

1-3

17.6

2.1

17.69

2.2

17.56

2.3

17.56

3.1

17.63

3.2

17.75

3.3

17.63

4.1

17.63

4.2

17.75

4.3

17.44

Los tiempos no dependen de la forma de onda ni del factor de

potencia de desplazamiento. El tiempo promedio es 17.61 s.

Página 158

Page 159: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

% Fundamental

oo

oo

oo

enoo

rop"oo

oo o

oo

3O* (O

2: 2: s:tth O) 51x o. P

i31

Page 160: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

Parte imaginaria

oo

OO

o-^ÍDW

Q.(Dr\PP"i

TJ(U3(O^(D -^

ro'oo

Q.CD

83O)'Z3í-*-(D

Q.w'-*-O^to5"3PlD_

OO

Oo

Page 161: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

Parte imaginaria

¿oUloo

¿oo

roUl

oo

tJ(U3.ÍD

01oo

Oíoo

oo

C/lbo bo

p-ÍD-o

Page 162: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

PR

AN

ALJ

.XLS

Cha

rt 3

0

Faso

res

de 6

a. a

rmónic

a d

e c

orrie

nte d

isto

rsio

na

da

(pr

.4.3

.)

«J _c 'oí rt r rt Q.

4.00

T

-

3.00

--

2.00

1.00

--

-5.0

0 -4

,00

-3.0

0 -2

.00

-1.0

0 0.

-1.0

0 --

A

-2.0

0 --

-3.0

0 J-

Par

te r

eal

X)

1.00

2.

00

¿3.0<

a 4.

00

5.00

6.

00

Pag

e 1

Page 163: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

Parte imaginaria

o

o.oo

coo

"O

£(D

T)fu

oo

CLCD•M

P

O*

8O.CD

8cof-*-CD

Q.

co'O—ico_o'3OQ.P

ÜlO

Ico

Page 164: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

Parte imaginaria

¿o

oo

L8

yO)oo oo

o

ro

8 i"

OO

oo

oo

Page 165: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

Parte imaginaria

oo

oo

oo

•co pbo

"nPO)o

O.(D

robo

P

P

"U(u

(Q(D

OO

Q-(D

83.ro13,-*•CD

O.

w'í-4-

o

OZ3PQ.

P

9(u

COco

oo

8

-U

U)

Page 166: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

CAPITULO 5.

CONCLUSIONES YRECOMENDACIONES

5.1. Análisis del sistema

5.1.1.Análisis técnico.

Una vez diseñado, armado y probado al equipo se analizó las

siguientes características:

> Con los datos obtenidos se puede apreciar que el error no se debeal algoritmo aplicado. Los errores aparecen en cuanto los datosmuestreados llegan con un error determinado ya antes de ser calcu-lados . Con las muestras tomadas en las pruebas del programa, sepodría esperar solo por los convertidores analógico digitales te-ner un error promedio de ±1.4V (ó ±140mA) en los valores eficacesde voltaje y corriente. Este es aproximadamente el rango de errorobtenido en los promedios (de -i.IV a 1.6V son 2.7V entre máximo ymínimo y de ~0.3A a 0.09A son 210 mA entre máximo y mínimo) . Deestos valores se ve claramente una tendencia al error medio dis-tinta de cero. Esta tendencia (que %sin mayor cálculo se puedeubicar en 0.25V y ~105mA) puede ser debida a una incorrecta cali-bración del valor de cero en el caso del voltaje y la imposibili-dad de calibrar en el caso de corriente. Los máximos y mínimos delas medidas sucederían con la presencia de picos ocasionados porei convertidor y que son más frecuentes en el ADC de corriente queen el de voltaje; estos picos crean variaciones en otras magni-tudes además de la corriente. Otro factor de error es el númerode muestras, mientras más muestras se tome, menor será el error alcalcular los valores eficaces, de todas formas, este error no

* tiene tanta incidencia como los anteriores.

> Existe una gran correspondencia entre los errores de la potenciaactiva, de la potencia aparente (que se obtiene como producto devoltaje y corriente eficaz), del voltaje eficaz y la corrienteeficaz. Errores en las muestras de voltaje y/o corriente no solocrean errores en sus valores eficaces sino también en los valoresde potencia activa y aparente. La medición de factor de potenciaes más inmune a estas vav¿aciones ya que resulta de la división deP/S. No está de más indicar que los errores encontrados en losvalores eficaces de voltaje y corriente son menores que los de lasfundamentales de éstos.

Page 167: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

ANÁLISIS TÉCNICO DEL SISTEMA

" En el programa existe un error que debe ser corregido y que selocaliza en el redondeo a segundo decimal de los valores medidos.Para redondear se sumó 0.005 al valor medido y se sacó el enterode éste multiplicado por 100. Esta fórmula es correcta para elcaso de números positivos, pero si los números son negativos creaun error en el segundo decimal. Por ejemplo si el valor medido es-O.997, sumando O.005 y truncando para obtener 2 decimales se ob-tiene -0.99 en lugar del -1 deseado. El redondear los valores fueuna medida tomada para eliminar los errores de cálculo del algo-ritmo y este error se nota principalmente en el factor de potenciade desplazamiento, cuando existe predominancia capacitiva, y enlos ángulos negativos.

>• Los errores obtenidos en la potencia activa, el factor de poten-cia, el factor de desplazamiento y la fase de la fundamental decorriente en la prueba "4,3" se consideran debidos a fallas en elcálculo de los valores reales. No se contaba con un instrumentode precisión para determinar un desfase exacto entre fundamentalde voltaje y de corriente cuando ambos están distorsionados (lacorriente con distorsión extra a la causada por el voltaje) y unapequeña diferencia de 1 a 2" como se estima es suficiente paraalejar todos los errores de las tendencias mostradas en las gráfi-cas .

>- Una fuente menor de errores, como se expresó anteriormente, es lainadecuada calibración del equipo. Esta se debe a dos factores:La precisión de las medidas puntuales no fue lo suficientementebuenta como'para calibrar exactamente y dado que siempre es mejorcalibrar valores DC que AC, la condición de diseño de discriminarla componente continua obligó a que los acondicionadores dificul-ten por esta razón realizar una mejor calibración. No es sufi-ciente que el error del amplificador operacional se compense (lacompensación no fue completa) con el de la referencia de 2,5V. Sise requiere mejorar la precisión se debe incluir unos pocos ele-mentos más para eliminar los errores introducidos por estos doscomponentes. Si se desea mejorar más la precisión debería haberun potenciómetro que calibre'la entrada de corriente.

> Por lo visto en el programa de prueba, un programa típico ocupamenos de la mitad de la memoria disponible para él y utilizar unaspocas variables. Por esto el área destinada a programa de pruebases más que suficiente.

> Como este es un prototipo, podría ser conveniente disponer de unjumper que permita acceder a la línea de comando BASIC-52 para

' realizar pruebas en posteriores mejoras. En el caso de que elaparato sea ya destinado a cumplir las funciones para las que fuediseñado, se elimina el jumper de la tarjeta. Esta idea nace delinconveniente que constituye tener que sacar la EPROM para encend-er el equipo y volverla a colocar una vez que ya se obtenga lalínea de comando.

Página 167

Page 168: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

ANÁLISIS TÉCNICO DEL SISTEMA

" El tiempo de proceso no depende sino de los cálculos internos delBASIC-52 y no influye mayormente que las ondas sean distorsionadaso tengan un desfase entre si. El tiempo promedio de 17.61 segun-dos puede ser muy grande o muy pequeño dependiendo de la ópticaque se aplique: si el aparato se usa como un indicador puntualpara conocer ese momento las características de la red monofásica,es lento e incluso relativamente impreciso (los errores práctica-mente se duplican tomando medidas puntuales que considerando pro-medios); mientras que si se toma como un registro de largo tiempo(que podría ser una aplicación más real) el equipo es lo suficien-temente rápido para obtener hasta 4 muestras por minuto, prome-diarlas y obtener datos más precisos.

>- No se pudo hallar información sobre el tiempo que le toma al8052AH realizar una rutina BASIC invocada desde ensamblador, unestudio posterior podría ser realizado para medir los tiempos deéstas y conocer formas de optimizarlos .

>- Casi todo el tiempo requerido se va en el análisis de armónicasque requiere de muchos cálculos matemáticos . El micro controlador8052AH-BASIC no es quizás la mejor opción para realizarlos. Exis-ten otras alternativas que podrían ser consideradas : Por un ladose puede trabajar con .aln AVCASE PACKAGE de AVOCET SYSTEMS un com-pilador, ensamblador y simulador de lenguaje C para la serieMCS-5Í y que se dispone actualmente en la Facultad de IngenieríaEléctrica, por otro lado se puede los procesadores de señales di-gitales (DSP) cuyos principales representantes son los TMS320Cxxque tienen una arquitectura especial que facilitan las operacionesmatemáticas (incluidas las de punto flotante) , lastimosamente noexiste mucha información disponible al respecto.

>- La distorsión armónica total, ya sea de voltaje o de corriente,menor al 6% debe tomarse en cuenta como no confiable ya que puedeser causada por los errores ocasionados por los convertidoresanalógico digitales. Es necesario realizar pruebas variando losvalores de distorsión armónica total con el objeto de conocer elcomportamiento del equipo ante distintas distorsiones (sobre todosi son menores al 20%) .

>• Por la misma razón las armónicas cuyo valor medio sea menor al 5%de la fundamental deben .ser 'tomados en cuenta como pertenecientesal rango del O - 5% , las- armónicas cuyos valores medios esténentre el 5% y el 10% de la fundamental deben considerarse comopertenecientes a ese rango. De manera similar para el rango

de la fundamental.

>• Para módulos mayores al 15%, los valores son muy exactos (errorabsoluto de alrededor del 2%) y su precisión se puede conocer com-parando que tan pequeña es la diferencia entre valores máximo ymínimo y que tan próximos estén las fases medidas entre sí. Seríarecomendable tomar unas 5 medidas para tener un promedio acep-table .

>~ Aún así , mientras mayor es el orden de la armónica , mayor es elerror de la fase real respecto a las fases medidas.

Página 168

Page 169: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

ANÁLISIS TÉCNICO DEL SISTEMA

> La comunicación seric.l fue probada cuando se transmitieron losdatos al computador. De las 36 páginas de datos enviadas, loserrores cometidos se debieron al activar o desactivar el programaTERMINAL mientras se transmitían datos. Para evitar estoserrores, sería mejor chequear si los datos enviados fueron correc-tos. Al pasar los datos a la hoja electrónica, los números ennotación científica no fueron tomados como tales sino como texto.

Una vez realizado el análisis y basado en las pruebas de preci-

sión, se puede establecer las siguientes especificaciones del sistema di-

señado :

Especificaciones Técnicas

MEDIDOR DE K&CTOR DE POTENCIA PARA OMDflS DISTORSIONADAS:

VOLTAJE DE EXÍTRADA: ';

RANGO DE VOLTAJE: O - 250 Vp

RANGO DE FRECUENCIA: 60 - 960 Hz

- IMPEDANCIA DE ENTRADA: 1 MOhm

CORRIENTE DE ENTRADA:

RANGO DE CORRIENTE:

RANGO DE FRECUENCIA:

IMPEDANCIA DE ENTRADA:

O - 2.5 Vp (eguiv. a 25 A con Y8100)

60 - 960 Hz

200 kOhm

FRECUENCIA DE MUESTRBO:

íl ECUENCIA: 2kHz

RANGO DE MEDIDAS/PRECISIÓN MUESTELVPRECISIÓN PROMEDIO:

(Para un rango de voltaje de 120V ±20%)

POTENCIA REAL:

POTENCIA APARENTE:

VRMS:

IRMS:

FP:

FPD:

THDi:

THDv:

MODULO ARMÓNICA:

6.25kW

6.25kW

250Vp

25A

1

1

1

1

±5%

±4%

±2.5%

±3.3%

±1.8% (*}

±2.5% (*)

(**)(**)

±3.5%

±3%

±2%

±2%

±1% (*)

±1.5% (*)

(**)

(**)

100% (de 1) ±2%(***) ±1%(***)

Página 169

Page 170: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

ANÁLISIS TÉCNICO DEL SISTEMA

RESPUESTA EN EL TIEMPO:

TIEMPO ESTIMADO:

TEMPERATURA DE OPERACIÓN:

< 18s

O'C - 50*C

* Error respecto al fondo de escala

** Error respecto a la distorsión de 16 armónicas es ±4% y ±3%.

*** Para armónicas mayores al 15% de la fundamental

5.1.2.Análisis de costos.

tLa siguiente es la lista de elementos utilizados con su respec-

tivo costo. La lista de las tarjetas 2, 3 y 4 se obtuvo aplicando el co-

mando PARTLIST de OrCad. A todas las listas se les impuso un precio basado

en "el catálogo de JDR (en dólares) y aumentado un 30% por concepto de gas-

tos de transporte y desaduanización. Los precios, a menos que se indique

lo contrario son en sucres. La cotización del dólar para todos los cálcu-

los es de S/.2300.

ítem No.

12345678910111213141516171819202122232425262728

Canb. Referencia

CO0T00 DE TARJETA 1

Par be

11321112111111112131113211

Condensadores

Resisbencias 1/4W

Resigbencia inb&gradaMicroconbrolador • •EPROM 8K ISOnsRAM esbábica 2K 120ne8 RebenedoresCuabro AND 2 enbradasUno de 8 DEMÜXDOB de 4 DEMUXSupervisor FuenbeOscilador CrisbalZócalo para CI

zócalo ID6

jumpersregleba de pínes IDS

SubhobalCircuibo impreso

Total tarjeta 1

22pF 5V10uF 25VlOOnF 5V10UF 5V3 .3K3K9x3 -3K.-8052AH BASIC2764611674L637374LS0874LS13874L6139TL770512.0 MHz40 pines28 pines24 pinee20 pinee16 pines14 pines8 pinee2x202x8

2x401x40

Precio/unid.

$150$269¿299$269S150$150$807$89,551$14,801$6,728$1,944$1/047$1,166$1,166$5,831$3,259$688$658$538$449$359$269$269$2,960$1,465$598$7,445$2,960

Tobal

$299$1,076$299$269$449$299$807$89,551$14,801$13,455$1,944$1,047$1,166$1,166$5,831$3,259$688$658$1,076$449$1,076$269$269$2,960$4,395$1,196$7 ,445$2,960$159,158595,000

$254,156

Página 170

Page 171: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

ANÁLISIS DE COSTOS

COSTOS DB TARJETA

ítem No.

1234567891011 '1213141316171819202122232425

Cant. Referencia

Condensadores

DiodoTransistores NPN

Resistencias 1/4W

PulsadorConvertidor A/DCuatro OR 2 entradasCuatro NAND 2 entr.Seis InversoresOptoacopladoresZócalos para CI

Zócalos ID8

Regleta de pines IDS

SubtotalCircuito impceso

Total t«rj«tn 2

Parte

180pFluF1N41482N2222A2N390410K3.3K1.2K200470150560

ADC08047.4 S3 274SOO74HC146N13620 pines14 pines8 pines2x82x20 .2x52x40

Precio/unid.

$1,047$478$120$628$299$150$150$150$150$150$150$150$1,166$8,821$1,047$867$1,047$5,831$449$269$269$1,465$2,960$1,346$7,445

Total

$2,093$2,870$120$1,256$299$449$299$299$150$150$150$150$1,166$17,641$1,047$867$1,047$11,661$897$807$538$4,395$2,960$1,346$7,445

$60,099$50,000

$110,099

COSTOS DB TARJETA 3

ítem No .

1'23456789101112131415161718192021222324252627

Cant, Referencia

31211134243111111aiii211111

Condensadores

Diodos

Resistencias 1/4H

PotenciómetroDoble Amplif. Oper,Referencia 2.5VRegulador 5V 3ARegulador 8V SOOmATimerZócalo para CIZócalo IDSRegleta de pines IDS

Disipador de calor

SubtotalCircuito Impreso

Total tarjeta 3

Parte

lOu2200uÍU1500p22uO.Olu1N47331N54001N4001200K1.2K4.7K1M7.5K10K5KLF353LK336LH323TLM78M08CLM5558 pines2x82x401x40GrandePequeño

Precio/unid. Total

$1,346$2,661$478$239$1,346$269$508$658$179$150$150$150$150$150$150$2,362$2,063$3,259$8,223$1,346$1,166$269$1,465$7,445$2,960$1,166$568

$4,037$2,661$957$239$1,346$269$1,017$2,631$359$598$449$150$150$150$150$2,362$2,063$3,259$8,223$1,346$1,166$538$1,465$7,445$2,960$1,166$568

$47,720530,000

$77,720

Página 171

Page 172: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

ANÁLISIS DE COSTOS

COSTOS DK TARJETA 4

ítem No.

1234

Cant. Referencia Parte

1 LED ROJO1 Resistencia1 Zócalo IDS1 Interruptor (estimado)

GubtotalCircuito impreso

Total tarjeta 4

Precio/unid. Total

Jumbo3002x86 posiciones

$269£150$1,465$5,980

$269$150$1,465$5,980

$7,664$5,000

COSTOS TOTALES

ítem No.

123456789101113131415

Cant. Referencia

Tarjeta 1Tarjeta 2Tarjeta 3Tarjeta 4LCDCable serialPórtico serialConectoree V y ITransformadorConector a transí.Portafusible y fusiblePie de cable plano

Caja plástico ABS

TOTAL SOCHESTOTAL 08 DOLARB8

Parte

L2012DB25 2ft.DB25

120V/12VAC/2A

2A40 cables16 cables16 cables color10"x7.6"x3.1"

Precio/unid. Total

$254,158$110,099$77,720$12,864$119,451$9,149$1,764$1,000$23,771$2,362$867$1,794$718$1,435$25,385

$254,158$110,099$77,720$12,864$119,451$9,149$1,764$4,000$23,771$2,362$867$1,794$2 , 153$4,306$25,385

$649,642$283.00

El costo total del medidor de factor de potencia es $ÜS 283 y

su diseño tomó aproximadamente un tiempo de cuatro meses. Si se desea con

un LCD que disponga de capacidad de gráficos, como tiene un modelo que se

analiza más adelante, el equipo subiría a US$348. Si debido al ensamblaje

del equipo se produjera 5 aparatos mensuales y se le pague al ensamblador

un total de US$500, el costo total del aparato con capacidad gráfica ascen-

dería a US$448.

Cono contrapartida, analizadores de energía tienen costos más

elevados: El VIP SYSTEM 3 con módulo de armónicas, fabricado por ELCONTROL

tiene un valor de US$6000 y posee características muy similares a las del

medidor diseñado aquí, además, puede medir sistemas trifásicos, su pantalla

tiene 'capacidad gráfica, posee una impresora incluida en la caja como otra

alternativa de mostrar resultados, puede activar 2 relés ante la presencia

de máximos y mínimos y tiene la capacidad de ser expandido para medir otras

señales. El analizador trifásico BMI PCWERFILER 3060 tiene un costo de

US$12000, este costo se reduce a US$7000 si el analizador es monofásico.

Finalmente, el analizador de potencia y armónicas HA-2000 de AMPROBE posee,

además del análisis de armónicas y 'de potencia de una red monofásica, una

Página 172

Page 173: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

ANÁLISIS DE COSTOS

pantalla con capacidad gráfica, memoria y opciones similares a las ofreci-

das por el equipo diseñado por solo US$989.

Si con fines de comparación se le aumenta el 30% como gastos de

importación al último equipo. El valor de éste es el 286% del valor del'

medidor de factor de potencia diseñado. Solo con estos valores se podría

afirmar que no es conveniente fabricar equipos como el diseñado para su

distribución en el mercado ya que el equipo de ñMPROBE tiene el respaldo de

una marca ya existente en el mercado que garantiza un buen funcionamiento.

5.2.Conclusiones y recomendaciones.

y El control del factor de potencia y el mantener voltaje en niveles apro-

piados es importante en la seguridad de los modernos sistemas de poten-

cia. Es imperativo entregar un nivel de voltaje constante al consumidor

e indispensable que éste se mantenga en un determinado ancho de banda

para mantener la estabilidad del sistema. Adicionalmente, la distorsión

causa por sí; misma muchos efectos indeseables en equipos de carga, pro-

tección y control. Todo esto hace que sea necesario contar con aparatos

que midan los parámetros de una red con la suficiente precisión.

y Las fórmulas de sumatorio usadas para hallar los valores eficaces de

voltaje, corriente, potencia activa, aparente y factor de potencia tra-

bajaron como se esperaba. A pesar de que se puede hallar los mismos

parámetros con la transformada rápida de Fourier (FFT), el cálculo es

más sencillo de la manera empleada en esta tesis (sobre todo respecto al

cálculo de la potencia actiVcKh Con ambos procedimientos se obtienen

resultados muy precisos.

y Sin embargo, ambos procedimientos de cálculo tendrán sus limitaciones si

las armónicas superiores al orden 16 son irrportantes. Respecto a esto,

la limitación de usar el probador de corriente (que hace portátil al

equipo) evita mejoras al equipo ya que el ancho de banda de éste es 1

kHz.

y El algoritmo FFT fue de fácil implementación ya que existe una buena

documentación del tema, y en este caso, el algoritmo programado en For-

tran se pasó a QBASIC 4.5 y a ensamblador MCS-51.

Página 173

Page 174: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

; CONCLUSIONES Y RECOMENDACIONES

El tiempo de proceso de este algoritmo es grande en comparación con los

demás procesos (la rutina de análisis de armónicas requirió un promedio

del 90% del tiempo total de proceso). El espacio de memoria ocupado por

la rutina (390 bytes frente -att 1199 byt'es de toda la rutina de análisis

de armónicas y 3461 bytes del programa total) y por las tablas necesa-

rias-para su ejecución (224 bytes frente a casi 3.5K) es pequeño.

El número de muestras recomendables depende más bien de otros paráme-

tros, si la distorsión existente tiene armónicas de orden mayor al

número de muestras/2 (como sucedió en las pruebas de precisión), es ob-

vio que se requieren más muestras para reducir el error, pero esto im-

plica el uso de procesadores más veloces. En cambio, el ancho de banda

permitido por los sensores limitan el número de muestras (en el caso del

probador de corriente IkHz); el área de programa prueba en RAM y de Dis-

play RAM se verían comprometidas al aumentar el número de muestras pues-

to que se requiere de espacio para mayores tablas y para más resultados.

De todas formas, las pruebas? realizadas aquí muestran que los errores

más se debieron a configuración del hardware más que del algoritmo. En

formas de onda muy distorsionadas, en las que se requiera error mínimo,

se requiere aplicar técnicas especiales de denominadas de "Windowing"

antes que aunrentar el número de muestras (ver referencia [ ]).

El programa en ensamblador queda plenamente justificado ya que existe

una gran cantidad de transferencia de datos entre el microcontrolador y

los dispositivos de memoria, los de entrada y los de salida. El manejo

del BASIC hubiera sido demasiado lento. De todas formas se aprovechó el

uso de las rutinas BASIC para realizar operaciones en punto flotante.

Si el Sistema de Desarrollo Basado en el 8052AH-BASIC posee excelentes

características para muchas aplicaciones, en el caso del medidor de fac-

tor de potencia deja mucho que desear. El BASIC es muy 1 ento y la

transferencia de control entre rutinas ensamblador y rutinas BASIC así

como el manejo de interrupciones puso muchas limitaciones en el diseño,

aparte de eso, el Sistema de Desarrollo queda completamente subutilizado

en esta aplicación: Hay muchas características que no se utilizan y se

tuvo que descartar el uso de bastantes elementos de la tarjeta 1 origi-

nal .

Página 174

Page 175: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

CONCLUSIONES Y RECOMENDACIONES

»

•/ Existen otras alternativas que podrían ser consideradas al BASIC-52:

Por un lado se puede trabajar con el AVCASE PACKAGE de AVOCET SYSTEMS un

compilador, ensamblador y simulador de lenguaje C para la serie MCS-51 y

que se dispone actualmente en la Facultad de Ingeniería Eléctrica, por

otro lado se puede los procesadores de señales digitales (DSP) cuyos

principales representantes son los TMS320Cxx que tienen una arquitectura

especial que facilitan las operaciones matemáticas (incluidas las de

* punto flotante), lastimosamente no existe mucha información disponible

al respecto en la facultad.

%/ El uso de un área de memoria donde se tienen los datos que se van a co-

piar directamente al LCD (área de display RAM) acelera el proceso ya que

evita el calcular los valores a enviarse al LCD cada vez que se mueve el

selector.

•*- J Si bien puede parecer que la actualización de datos del equipo diseñado

es lenta, los casi 18 segundos son aceptables ya que para registrar da-

tos para hacer un histograma es conveniente hacerlo en períodos de algu-

nos minutos y el tomar los datos a mano para conocer los valores ese

momento puede terciar casi los 18 segundos para copiar las mediciones en

una pantalla. De todas formas, el análisis de armónicas del analizador

de energía VIP SYSTEM 3 fabricado por la firma italiana ELCONTROL demora

10 segundos en actualizar datos lo que demuestra que el equipo desarro-

llado no es en realidad tan lento.

J En las pruebas, realizadas no se logró encontrar alguna dependencia entre

el tiempo de proceso y otros factores como el factor de desplazamiento y

la forma de onda.

Página 175

Page 176: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

CONCLUSIONES Y RECOMENDACIONES

Sin tornar en cuenta 1 os promedios, sc .0 1 as muestras individual es, el

equipo diseñado córrete errores relativos máximos del ±5% en las medi-

ciones correspondientes a potencia re^al, potencia aparente, factor de

potencia y valores eficaces de voltaje, y corriente. Esto contrasta con

el estudio canadiense mencionado en la referencia [ ] que señala que un

20% de contenido de la 5a. armónica puede producir un error del 10 al

15% en Vatímetros de 2 elementos, tres fases. Basados en la referencia

[5], solo con la presencia del 1% de la 3a. armónica (sin distorsión de

voltaje) los errores de medición con aparatos analógicos aumenta de me-

nos del 1% al 3%. Las armónicas con las que se probó este medidor de

factor de potencia superan a las del estudio y se mantuvo un error nota-

blemente más bajo. Esto es muy importante ya que es el primer instru-

mento para medir estas magnitudes bajo distorsión que se posee en

laboratorio y sus resultados son bastantes satisfactorios.

Para reducir 1 os errores cometidos por el equipo es conveniente tomar

unas 5 medidas de cada magnitud para luego promediarlas. En el caso de

módulos de armónicas, se debe recordar que solo los módulos promedios

mayores al 15% de la fundamental pueden ser considerados como válidos.

Si los promedios son menores al 5%, debe considerarse que esa armónica

está en el rango del O - 5%," si están entre el 5 - 10% pues pertenecen a

ese rango, lo mismo para el rango del 10-15%. De todas formas una pe-

queña diferencia máximo-mínimo en módulos pequeña constituye un criterio

para conocer que tan precisa es la medida. Los errores cometidos al

calcular las fases no hacen confiables los valores medidos.

De las pruebas realizadas se pueden ubicar las siguientes fuentes de

error en orden de importancia: Los errores introducidos por los conver-

tidores analógico digitales (que son ± 1LSB), el número de muestras

cuando las componentes armónicas de orden mayor a 16 son importantes, el

probador de corriente que introduce un error del 3% en componentes de

frecuencia mayor a 200 Hz y, en menor grado, el algoritmo de la trans-

formada rápida de Fourier que para ondas muy distorsionadas requiere de

procesos auxiliares que le peüutan disminuir errores cometidos en dis-

continuidades .,

Página 176

Page 177: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

: CONCLUSIONES Y RECOMENDACIONES

y El maestreo se realizó en un solo ciclo sin sincronismo, es decir, se

temó muestras sin esperar a un valor especifico (usualmente cruce por

cero). Esto no es causa de error, pero sí de variaciones de resultados

cuando las señales son muy distorsionadas con armónicas de alto orden ya

que la fuente de error no es el sincronismo sino el número de muestras

tomadas. El tomar las muestras aleatoriamente permite obtener un prome-

dio si existe error debido a esta causa. Además, cuando exista distor-

sión, podrían haber arranques erróneos cuando se busque sincronismo.

y El uso de postes de identificación en los equipos diseñados facilitan el

chequeo y la calibración de los equipos. De todas formas, para facili-

tar la calibración del equipo se recomienda: 1> acondicionadores que

sirvan también para continua, 2> un potenciómetro de calibración para

corriente y 3> compensación de las desviaciones en el LF353 y en el

LM336. Esto último es necesario sobre todo si se usa convertidores

analógico - digitales de mayor resolución.

y Con el objeto de mejorar los errores se recomienda hacer las siguientes

modificaciones: 1> utilizar convertidores analógico - digitales de mayor

resolución (12 bits), 2> si se dispusiera de un instrumento de aisla-!

miento de corriente de mayor ancho de banda sería conveniente aumentar

el número de muestras, pero para ello se debe ampliar la velocidad de

procesamiento y la memoria RBM, finalmente, 3> mejorar los sistemas de'

calibración como se sugirió en el punto anterior. Con el objeto de me-

jorar el algoritmo, se debe corregir el error de redondeo para canti-

dades negativas (en la rutina REDON2 del programa)tal como se sugirió en

el análisis técnico.

y Se debería hacer más pruebas con distorsión, especialmente con valores

de distorsión armónicas menores al 20%. Se conoce el comportamiento del

equipo cuando indica distorsión armónica mayor al 20% y menor al 6% pero

no hay datos (que pueden ser muy importantes) en este rango de valores.

y Finalmente, a menos que se disminuyan los errores cometidos y se reduz-

can los costos del equipo variando la configuración y utilizando algunos

elementos más baratos, este nfedidór de factor de potencia no puede com-

petir con equipos similares como el analizador HA-2000 de ñMPROBE.

Página 177

Page 178: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

£ Descripción física del medidor de factor de potencia

A. Descripción completa de elementos de cubierta exterior

B. Diagrama circuital

C. Diagrama del circuito impreso

D. Diagrama de soldadura

E. Conectores y postes de identificación

F. Características adicionales del dispositivo de cristal líquidoL201200JOOO de Seiko

U, Características adicionales del Sistema De Desarrollo BasadoEnEI8052AH-BASIC

A. Uso de la memoria interna por el BASIC-52

B. Almacenamiento en RAM externa

C. Uso de la RAM extema por el BASIC-52

D. Rutinas BASIC-52 invocadas desde ensamblador

III. Programa en QBASIC que realiza la Transformada RápidadeFourier y halla Jos espectros de potencia y fase de una señal

Page 179: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

APÉNDICE I. Descripción física del medidor de factor de potencia

A. Descripción completa de elementos de cubierta exterior

SELECTOR LEDDEENCENDIDO

JfcPANALIZADORLCD

VISTA FRONTAL EKTCA-DA ETTOABAVOLTAJE CORRIENTE

CABLE DE P OLARIZACIONRESET PÓRTICO SERIAL

VISTA POSTERIOR

flGURA M.-CUBEERTA EXTERIOR

Page 180: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

B. Diagrama circuitaí

HGURA 1-2 .-DIAGRAMA CIRCUTTAL DE LA TARJETA 2

Page 181: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

FIGURA 1-3 .-DIAGRAMA CTRCUITAL DE LA TARJETA 3

Page 182: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

"

-..,.

n

nGTJRAI-4.-TJMGIOVMACIRCtJn:AIJDELATARJETA4

Page 183: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

C. Diagrama del circuito impreso

•s *

JPft

1

OtN-»0

O--

o

sün

¡o

OOoo

oooooooo00

N —

¡1 •]

f

oooooo

Cov±

0 0o • oO " O0 Oo • oo • o

•\Ja OL/--H1í • • CQ~-y VJ¿-/.o •

(o1

oooooo

>Jn

enB"}03

M

o)x

:H

ooooo oooooooooooooooooooooooooooooooooonn •-

FIGURA 1-5.- DIAGRAMA DE COMPONENTES DE TARJETA ^

Page 184: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

1 I O O O O O C O O I l io O

RlI l o

n L ] o o o o o o f 1 o n I 71 o o o o o

D8 c7

odio (a o

ÍIGURA I-fi.- DIAGRAMAS CIRCUrrAX.K.S DE LAS TARJETAS 3 (ABAJO) Y4 (ARRIBA)

Page 185: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

*

FIGURA 1-8.- PAUTE INFERIOR DEL CIRCUITO IMPRESO DE LA TARJETA 2

Page 186: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

JIGURA I-*.- VISTAS INFERIORES DE LOS IMPRESOS DELAS TARJETAS 3 (ABAJO) Y 4 (ARRIBA)

Page 187: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

E. Conectores y postes de identificación

1. Ubicación en la tarjeta

A TAKJ.2- H4

VA TARJ.4 - H2

FIGURA 1-10.- CONECTORES TARJETA 1

FIGURA I- U.- CONKtrrORKS TAR.DCTA 2

Page 188: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

A TARJETA 2-JO. DE TRANSFORMADOR

CAPACITOR USAD OCOMO REFERENCIA "V

DE VOLTAJE Y CORRIENTE

ATARJ.1-H5 ATARJ.2-H3-

FIGURA 1-13.- CONECTORESTAR.IETA 4

Page 189: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

2. Esquema

En los siguientes esquemas solo se mencionan a los conectores y

pines que se utilizan.

DE TARJETA 1: H4 y H6 A TñRJETñ 2: H4

Los pines 1, 3, 5, ..., 13 y 15 del conector de la tarjeta 2 cor-

responden a los 8 pines (1, 2, 3, ..., 7 y 8) del conector H6 de la tarjeta 1.

Los otros pines (2, 4, 6, . .., 14 y 16) corresponden al conector H4 de la tar-

jeta 1. El esquema corresponde al conector de la tarjeta 2.

2 4 6

O O O

0 0 0

1 3 5

DE TARJETA 1

o o o1 2 3

T2 T2 EX PWMTRIG T/C OUT

DE TñRJETA 1

VCC /RD DB1 DB3 DBS DB7

2 4 6 8 10 12 14 16 18

O O O O O O O O O

O O O O O O O O O

1 3 5 7 9 11 13 15 17

VCC EXT /WR DBO DB2 DB4 DB6RST

DE TñRJETA 2

8 10

O O

0 O

7 9

CS1B CS2B CS3B

12 14 16

O 0 0

O O 0

11 13 15

R10UT T1IN

H5 A TARJETA 4: H2

0 O

4 5

/PROGPUL

O O 0

6 7 8

/PROG /DMAENA ACK

H8 A TARJETA 2: H2

20 22 24 26 28 30 32

0 0

O 0

0 O 0 0 0

3 O O 0 O

19 21 23 25 27 29 31

GND

34 36 38 40

0 0 0 0

O O O O

33 35 37 39

AO GND

Hl A TñRJETA 3: H2

GND GND GND ADCi ADCv

2 4 6

0 O 0

O O O

1 3 5

e 100 0

0 O

7 9GND VCC GND GND V+

Vre£ GND GND13 14 16O 0 O -

O 0 0

11 13 15

VCC VCC GND

Page 190: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

DE TARJETA 2: H3 A TARJETA 4: Hl

vcc2

GND

DE TARJETA 2: H5 A PÓRTICO SERIAL

RD DTR

2 4 6 8 10

O

0

0

O

0

O

0

O

O

0

1 3 5 7 9

TD SG RTS

DE TARJETA 2: H6 A LCD

GND VLC /WR DBO DB2 DB4 DB6

2 4 6 8 10 12 14 16

0

0

0

0

oo

o0

oo

0

0

0

ooo

1 3 5 1 9 11 13 15

VCC AO J3 DB1 DB3 DBS DB7

Page 191: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

F. Características adicionales del dispositivo de cristal líquido L201200JOOO deSeiko

1. Características eléctricas

Valores cardctetÍBtícos absolutos ; ^ ; !\;.: V - . 5 >

Carácter IB tica

Volbaje de polarización

Voltajes de entrada

Temperatura de operación

Temperatura de almacenamiento

Símbolo

Vto-Vss

Vu:

TOPR

T•L9TO

Mío

0

Vro~7

v«0

-20

Max

7

vro

vro

50

60

unidad

V

V

V

°c°c

Voltaje de operación recofoendado (Vop=VM,-V^;) r .1Temperatura (°G)

Voltaje Vop (V)

0

5

10

4.9

25

4.75

40

4. U

50

4.5

Características eléctricas •"•"-' ?: . '- V(|1!=5V, V,,,=OV( T=20" Q 70" • . v .;-.;•-:-;;/.- '•:. ; .::-•;-.,-/ '.."? -.:;:

Característica

Voltaje deentrada

Voltaje desalida

AltoBajo

Alto

Bajo

Voltaje depolarización

Símbolo

vmv^VCB!

OLl

Va>

V»-V«:

Condición

-I^-O.aOSmA

1 =1. 2mA

Mín

2.20

2.4

-

4.753

Típ

--

--5

-

Max

v»0.6_

0.4

5,256.3

unidad

VV

V

V

V

V

2. Diagramas de tiempo

El análisis de los diagramas de tiempo es muy importante para evi-

tar incompatibilidades entre diferentes componentes del equipo. Si bien la

gran mayoría de componentes no presentan problemas a estas velocidades de pro-

ceso, es factible que se presente un problema en la escritura de datos al con-

ectar directamente el microcontrolador y el LCD.

Page 192: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

RS

R/W

A DB

IDIAGRAMAS DE TDJMPO DE ESCRITURA DEL LCD

¡DIAGRAMAS DE TIEMPO DE ESCRITURA DEL 8052AH-BASTC

Page 193: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

Comparando el diagrama de tiempo de escritura del LCD con el del

microcontrolador se puede ver que en. el primero se requiere activar la señal

de escritura antes que se active la línea de selección, en el microcontrola-

dor, primero se activa la línea de selección y luego se activa la señal de

escritura. Si se conecta solo la línea de escritura del microcontrolador a la

línea de lectura/escritura del LCD (como está conectado ,en el equipo), no se

da este problema ya que por defecto, está línea siempre está en la posición de

lectura.

La solución a este inconveniente fue generar la señal de habilita-

ción del LCD con la línea de selección del microcontrolador, la línea de lec-

tura y la línea de escritura unidas con compuertas NñND y OR. Se eligieron

compuertas tipo S de alta velocidad con la menor cantidad de compuertas po-

sibles para que no existan retrasos perjudiciales.

3. Sef de funciones

El controlador HD44780 posee dos registros directamente manejados

por un microprocesador externo: 1) El registro de instrucciones (IR) y el reg-

istro de datos (DR). La información de control es almacenada temporalmente en

estos registros previo al comienzo de una. operación interna. Esto permite

conectarse a varios tipos de microprocesadores de diferentes velocidades. Las

operaciones internas del 44780 son determinadas por las señales enviadas del

microprocesador. Estas señales incluyen al selector de registros RS, a la

línea de lectura/escritua R/W y al bus de datos DBO-DB7.

Cuando RS=0 y R/w=0, se ordena escribir una instrucción en regis-

tro de instrucciones. Estas instrucciones pueden, ser:

a. Clear Display:

Borra toda la memoria de pantalla y regresa el cursor a la posi-

ción "HCME". Su código es Olh. Toma entre 82 us y 1.64 ms ejecu-

tarla -'*,, '<•-

Page 194: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

b. Return Harte:

Regresa al cursor a la posición "HOME". Además regresa al LCD

desplazado a su posición original. Los contenidos del DDRñM se

mantienen. Su código es 02h. Su ejecución toma entre 40 us y

1.64 ms.

c. Entry Mode Set:

Indica la dirección de movimiento del cursor y si la pantalla se

desplaza o no. Estas operaciones se realizan durante escritura y

lectura de datos. Su código es 0 0 0 0 0 1 i/d s en binario,,

donde i/d indica si la dirección del movimiento del cursor es con

el incremento o decremento de direcciones y s indica si la pantal-

la debe desplazarse. Le toma entre 40 us y 1.64 ms ejecutar esta

instrucción.

d. Display ON/OFF Control:

Su código e s O O O O l d c b e n binario, donde d indica si la pan-

talla debe estar encendida (la pantalla apagada no altera los con-

tenidos de memoria), c indica si el cursor debe estar prendido y b

si éste debe parpadear. Toma 40 us ejecutar esta instrucción.

e. Cursor or Display Shift:

Elige desplazar pantalla o mover el cursor con s/c hacia la dere-

cha o la izquierda (r/1) sin alterar los contenidos de la memoria

con el código O O O 1 s/c r/1 x x. Toma 40 us efectuar esta oper-

ación.

f. Función Set:

Define la longitud de datos, el número de líneas del LCD y la ca-

racterística de la fuente de caracteres. Se define en la secuen-

cia de RESET. Para el L2012 con MPU de 8 bits corresponde el

código 38h.

g. Set CG RñM Address:

Con DB7=0 y DB6=1, los 6 bits menos significativos apuntan a una

dirección de CG RñM (de caracteres programables) para luego leer o

escribir. ,•

Page 195: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

h. Set DD RAM Address:

Con 067=1, los demás bits definen una dirección en DD RAM (de los

caracteres que aparecen en el LCD) que será leída o escrita. Hay

40 localidades de DD RAM disponibles.

Cuando RS=0 y R/W=1, el MPU recibe en DB6 . . DBO del bus de datos

el contador de direcciones que especifica la dirección en la que los datos de

DD RAM o CG RAM serán escritos o leídos. El bit más significativo (DB7) se

denomina la bandera de ocupado (BF) que tienen el valor de 1 cuando una opera-

ción interna está en progreso y el valor de O cuando una nueva instrucción

puede ser aceptada.

Con RS=1 y R/W=0 se escribe un dato en DD RAM o CG RAM según se

haya especificado con las instrucciones. Los datos en DD RAM son caracteres

ASCII, excepto por los más altos que corresponden caracteres KATA KAHA japo-

neses.

Finalmente, con RS=1 y R/W=1 se lee un dato de DD RAM o de CG RAM.

Page 196: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

APÉNDICE II. Características importantes del Sistema De DesarrolloBasado En El 8052AH-BASIC.

A. Uso de la memoria interna por el BASIC-52

En el manual del usuario del BASIC-52 aparecen las localidades de

memoria interna usadas por este lenguaje, por ésto, aquí simplemente se dará

una referencia rápida recalcando en aquellas localidades que son de especial

interés por ser usadas en el medidor de factor de potencia.

OOh a 07h Banco O de registros: Es usado por BASIC como banco de trabajo.Cada vez que se invoque a rutinas BASIC desde ensamblador, debetransferirse el control al banco O.

08h a 17h Bancos 1 y 2: Es usado por BASIC para almacenar punteros,direcciones y otros datos temporales. Son destacables lasdirecciones 09h que es el puntero de la pila de argumento y OAhque es el puntero de la pila de control.

18h a iFh Banco 3 de registros: Está reservado para el usuario. Todas lasoperaciones en ensamblador deben realizarse en este banco.

20h a 21h Localidades disponibles para el usuario. La localidad 20h seutiliza como copia del pórtico 1 para detectar cambios que sucedenal mover el selector.

22h a 26h Zona direccionable bit a bit de uso para el BASIC. Destaca elbit 26.4h que indica que un texto que se imprime está en ROM.

27h a 4Ch Punteros, contadores y otros valores usados por el BASIC-52.Destaca 3Eh que es el puntero de registro de la pila interna.

4Dh a OFFh Espacio de pila interna del 8052AH y espacio de trabajo delusuario.

Page 197: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

B. Almacenamiento en RAM externa

1. Formato de punto notante

El MCS BASIC-52 almacena todos sus números en punto flotante en un

formato de paquete BCD normalizado que maneja un exponente binario. El si-

guiente ejemplo corresponde al valor de pi (3.1415926) que se encuentra alma-

cenado en la localidad de memoria X

í> LOCALIDAD. VALOR DESCRIPCIÓN

X 81H EXPONENTO: 81H=a0^1, 82H=10A2, 7FH=10A-1

X-l OOH BIT DEL SIGNO: OOH=POSITIVO, 01H=NEGATIVO

X-2 26H DOS DÍGITOS MENOS SIGNIFICATIVOS

X-3 59H SIGUIENTES DOS DÍGITOS

X-4 41H SIGUIENTES DOS DÍGITOS

X-S 31H DOS DÍGITOS MAS SIGNIFICATIVOS

Hay que agregar que cuando el valor del exponente es OOh, se está

representando al número cero. De manera similar, dado que el BASIC normaliza;*.

todos los números, el dígito más significativo no puede ser nunca cero a menos

-que el número representado sea cero. Los 7 bits más significativos del signo

son usados como temporales durante los cálculos.

2. Forma de almacenamiento de variables

¿Cómo almacena el MCS BASIC-52 sus variables y strings?. Existen

dos punteros de 16 bits que controlan la localización de strings y variables y

otros dos punteros que controlan la localización de las variables escalares y

f, dimensionales. El puntero MTOP indica el tope de RAM que es asignado a BASIC,

en el caso de esta tarjeta MTQP=OFFFh. El puntero VARTOP indica cual .es el

tope de memoria para uso de variables BASIC, si no se usan strings, como en

este caso, VARTOP=MTOP. El puntero VARUSE indica en que localidad de memoria

se puede ubicar una nueva variable BASIC, su valor inicial es VARTOP y cada

vez que el usuario asigna una nueva variable, el valor de VARUSE se decrementa

en 8.

Page 198: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

C. Uso de la RAM externa por el BASIC-52

1. Memoria usada por el BASIC-52

El BASIC-52 se reserva para su uso las primeras 511 localidades de

memoria para almacenar datos de utilidad en manejo de programas y las pilas de

argumento y control. Las siguientes son las localidades más destacadas:

6Gh-OFEh Pila de controlOFFh SobreElujo de la pila de control104h-105h Valor de VARTOP106h-107h Valor de VARUSE108h-109h Valor de DIMUSElOAh-lOBh Valor de MTOP10Eh-113h Valor del Cristal (XTAL)12Dh-lFEh Pila de argumento

2. Pila de control

Esta pila, ubicada entre las localidades 60h y OFEh es usada para

almacenar toda la información relacionada con lazos de control como lazos DO-

WHILE, DO-UNTIL y FOR-NEXT y subrutinas básicas como GOSUB. Esta pila, a dif-

erencia de la pila interna, es inicializada en OFEh y va decreciendo.

3. Pila de argumentos

La pila de argumentos ocupa las localidades 12Dh a IFEh de la me-

moria externa. Esta pila almacena todas las constantes que el BASIC está

usando. Las operaciones matemáticas del RñSIC-52 se realizan sobre el último

(o los dos úlbimos) números de la pila de argumento. Esta pila está iniciali-

zada en IFEh y decrece en 6 bytes por cada número en punto flotante gue se

almacene.

Page 199: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

D. Rutinas BASIC-52 invocadas desde ensamblador

El MCS BASIC-52 contiene una librería de rutinas completa que

puede ser fácilmente accedida con instrucciones CALL de lenguaje ensamblador.

1. Precauciones

a. El BASIC-52 usa los bancos de registros O, 1 y 2 dejando el banco3 para el usuario (excepto en el caso de programación de memoriasEPRGM). El usuario puede realizar cualquier cosa que desee eneste banco que el BASIC nunca alterará su contenido, excepto en elcaso mencionado. Las direcciones correspondientes a este bancopueden ser direccionadas con la expresión DBY. Adicionalmente, laslocalidades 20h y 21h nunca son usadas por el BASIC. Estaslocalidades son direccionadas bit a bit.

b. El banco de registros O es usado por BASIQ como el ARCHIVOREGISTRO DE TRABAJO por lo que cada vez que se invoque a rutinasBASIC, el usuario debe asegurarse de seleccionar el banco deregistros 0. Esto se hace encerando los bits 3 y 4 de PSW. Siesto no se realiza, no se realizará operación alguna.

c. A menos que se diga lo contrario en la documentación sobre rutinasBASIC, siempre se debe asumir que el ARCHIVO REGISTRO DE TRABAJO yel registro DPTR serán alterados.

d. Ciertas rutinas requieren de la inicialización de ciertosregistros antes de ser llamadas. Estos registros son siempre delARCHIVO REGISTRO DE TRABAJO. Esto es válido también cuando lasrutinas devuelven un valor a un registro o registros.

e. El BASIC-52 inicia la pila interna desde la localidad 77h. ElBASIC no utiliza memoria más allá de esa localidad excepto comoespacio de la pila interna. El usuario puede utilizar parte deesta memoria para sus aplicaciones si asigna al PUNTERO DE PILAINTERNA un valor mayor a 77h de manera que el usuario puedadisponer de una franja de memoria entre lo ocupado por el BASIC-52y la pila interna-. Es, suficiente dejar un mínimo de 48 bytes deespacio para la pila. Lo malo es que reducir este espacio reduceel número de paréntesis que el BASIC puede evaluar en unaexpresión. Esto causará un error I-STACK o causará un conflictofatal en el CPU.

f. Respecto a interrupciones debe tomarse en cuenta que como éstasson desviadas por el BASIC, la PALABRA DE STATUS DEL PROCESADOR esenviada a la pila de donde debe ser recuperada por el usuarioantes de regresar de la interrupción. Por lo tanto, el usuario nodebe haber transferencias entre BASIC y ensamblador ya que elBASIC siempre necesita estar en un estado conocido y unainterrupción aleatoria no garantiza que el intérprete esté en unestado conocido. El usuario debería manejar el banco de registros3 para manejar interrupciones en ensamblador.

2. Forma de acceso

Page 200: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

El acceder a las rutinas MCS RASIC-52 desde lenguaje ensamblador

es sencillo, simplemente se debe cargar al acumulador con un valor especifico

y llamar a la localidad 30h. El valor cargado en el acumulador determina que

operación será realizada. Por ejemplo, para obtener el coseno de un número

que está al tope de la pila de argumento se debe aplicar las siguientes

instrucciones:

ANL PSW,ttOE7h

MOV A,

CALL 3 Oh

7 UTILIZA EL BANCO CERO DE REGISTROS

;CARGA EN EL ACÜMLADOR EL VALOR;CORRESPONDIENTE A LA FUNCIÓN COSENO;EJECUTA LA INSTRUCCIÓN

Dado que el programa principal es en ensamblador,, es conveniente

terminar estas instrucciones con un

ORL PSW,K18H

que transfiere el control al banco 3 de registros nuevamente.

3. Rutinas BASIC-52 utilizadas en el medidor de factor de potencia

La tabla siguiente muestra las rutinas BASIC utilizadas en el

equipo diseñado. En la primera columna se indica la etiqueta con la que se- le

llama dentro del programa, en la segunda el nombre asignado por BASIC, en la

tercera el valor con que se debe cargar el acumulador y en la última se expli-

ca la función de la rutina (por efectos de espacio se emplea TOS en lugar de

número en punto flotante al tope de la pila de argumento):

ETIQUETA NOMBRE DE LA RUTINA ACDMDLADOR EXPLICACIÓN

ABSOL

ATAN

CARSER

COCIENTE

COSENO

CRIiF

ENTERO

FROMSTACK

PRODUC

RESTA

SIGNO'SQR

SUMA

TOSER

TOSTACK

ABSOLUTE VALUÉ

ATN OPERATOR

OUTPUT CHARACTER IN R5

DIVIDE

COSIME OPERATOR

OUTPUT CR-LF

INTEGER

POP A-STACK TO (R3:R1)MULTIPLY

SUBSTRACT

SIGN

SQUARE ROOT

ADD

OUTPUT TOP OF A-STACK

PUSH ( R 2 : R O ) TO A-STACK

18H

22H

80H

8AH

1CH

07H

19H

03H

88H

?MH

1AH

1FH

82H

90H

02H

Reemplaza TOS por su valor absolubo

Reemplaza TOS por el arco bangente del mismo

Toma el carácter en R5 y lo dirige a la consola

2 TOS por pemílbimo/ültimo, usuario maneja error

Reemplaza TOS por su coseno (ITOSI < 2000)

Envía una secuencia CR-LF a la consola

Reemplaza TOS por su valor enbero

Envía "TOS a dirección apuntada por R3:R1

2 TOS por BU producbo, usuario maneja error

2 TOS por penúlbimo-úlbimo, usuario maneja error

TOS por 1 si TOS>0, -1 si TOS<0 ó O si TOS=0

Reemplaza TOS por su raíz cuadrada

2 TOS por suma de ambos, usuario maneja error

Envía TOS a consola

Nuevo TOS es número apunbado por R2:RO

Page 201: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

r

Los errores que puede manejar el usuario cuando se suma, resta,

multiplica o divide se basan en un código de status que el BASIC provee al

usuario a través del acumulador. Esta información se almacena como banderas

con cada bit de este registro de manera que: ACC.O=underflow, ACC.l=overflow,

ACC.2=cero y ACC.3=división para cero. Los otros 4 bits no se usan y tienen

un valor de cero. Con estos valores el usuario puede tomar las medidas perti-

nentes que ameriten el caso o simplemente ignorar el error.

Page 202: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

APÉNDICE lll. Programa en QBASIC que realiza la TransformadaRápida de Fourier y halla los espectros de potencia yfase de una señal

REMREMREMREMREMREM

REMREMREM

PROGRAMA QUE APLICA LATRANSFORMADA RÁPIDA DE FOURIER

OBTENCIÓN DE CONSTANTES

CLSnmr = 32 'NÚMERO DE MUESTRASLPRtNT "NUMERO DE MUESTRAS = " ; nmrn = LOG(nmr) / LOG(2)pi = 4 * ATN(l)DIM a (n) , ndec (nmr / 2) , ndecor(nmr) , nx(nmr) , rr(nrnr / 2), ir(nmr / 2)DIM rx(nmr), ix(nmr) , p(nmr), f{nmr), pot(nmr), fas(nmr)

ff*".

REM OBTENCIÓN DE MUESTRASinicio:INPUT "frecuencia fundamental"; frt = TIMER: tO =: t'LPRINT "Frecuencia de la fundamental-",- f r;LPRINT "tiempo de muestreo"; 1 / 60 / nmr;FOR i = 1 TO nmr

tiempo = (i + 1) / 60 / nmral = 100 * SQR(2) * COS(2 * pi * fra2 = 50! * SQR(2) * COS(2 * pi * 2 *a3 = 20 * SQR(2) * COS(2 * pí * 3 *a20 = 7 * COS(2 * pi * 20 * fr«30 = 3' * COS{2 * pi * 30 * frrx(i) = al + a2 + a3ix(i) =; O

1 print rx(i),NEXT i1 print

PRINT "obtención de muestras:t = TIMER

REM

fijo"

tiempo)* fr * tiempo)* fr * tiempo)

tiempo + pi / 3)tiempo + pi / 4)

JGi"; TIMER - t; tiempo total=B; TIMER - tO

^

nm = nmr./ 2 - 1ind = n: ictl =10: Nd = O: 1 = 0FOR fc = 1 TO nm;

nmc = niii + 1 - k: idiv = nmcDO ;

idiv = INT(idiv / 2): a(ind) = nmc - idiv * 2,nmc = idiv: ind ~ ind - 1: Nd - Nd + 1

LOOP UNTIL idiv < 2a(ind) = idivIF ictl'O 1 THEN ictl = 1: ninf = n - Nd: iexpa = Ndiexp = iexpa: 1 = 1 + 1 : ndec(1) = OFOR jj = ninf TO n

j = n + ninf - jjndec(l) = ndec(l) •+• a(j) * 2 A iexpiexp = iexp - 1

NEXT jjFOR i = ninf TO n: a (i) = O: NEXT iind = n

NEXT knm = nm + 1: ndec(l + 1) = oFOR kc = 1 TO nm

kd = nm ;- kc + 1: ndecor(kc) ~ ndec(kd)1 print ndecor(kc),

** 1M iJ «

Page 203: Medidor De Factor De Potencia Para Ondas Distorsionada s ...el mismo set de instruccione s de manera que, creand laos subrutinas de punto flotante que s tome deó BASIC-52l s puede,

NEXT kc1 prinb

PRINT "obtención de <k>: tiempo=H; TIMER - t; " biempo bobal="? TIMER - tOt = TIMER

REK OBTENCIÓN DE WA<K>

rbase = COS(2 * pi / nmr) : ibase = ••SjTÍ(2 * pi / nmr)FOR i = 1 TO nm

fx = ndecor(i); rr - 1: ir - OIF fx <> O THEN

FOR j = 1 TO fxrt = re * rbase - ir * ibaseir = rr * ibase + ir * rbaserr = rt

NEXT jEND IFrr(l) = rr: ir(i) s ir

' print H(:"; rr; ", " / ir; ")",NEXT i'prinb

PRINT "obbencion de W<k>: biempo="; TIMER - b; " biempo botal=",- TIMER - bOb = TIMER

REM OBTENCIÓN DE <K> ORDENADOS PARA ESPECTROS

FOR i = 1 TO nm: ndecor(i) = ndecor(i) * 2; nx(i) = ndecor(i): NEXT iFOR i = 1 TO nm: ndecor(i) = ndecor(i) + 1; nx(i + nm) = ndecor(i): NEXT iFOR i = 1 TO nmr

IF nx(Í) > nm THEN nx(i) ~ nx(i) - nm ELSE nx(i) = nx(i) + nm' prinb nx(i),HEXT i'prinb

PRINT "obbencion de <k> ordenados: tioii po='V; TIMER - b; " biempo tobal="; TIMER - bOb'= TIMER .

REM **** + * + »r*****-*»**-***-*' + *' + **A*********-lr**

REM CALCULO DE ESPECTROS DE POTENCIA Y FASE

k = nmr / 2: ngrupo = 1FOR kiber = 1 TO n

j = OFOR kngrup = 1 TO ngrupo

i = jFOR knsy = 1 TO k

i = l + l : J = l + ksum = rr(kngrup) * ix(j) + ir(kngrup) * rx(^)dif = rr(kngrup) * rx(j) - irr(kngrup) * ix(j)rx(j) = rx(i) - dif: ix(j) = ix(í) - sumix(ij = ixíi) H- sum: rx(i) = rx{i) + dif

NEXT knsyNEXT kngrupngrupo = 2 * ngrupo: k = k / 2

NEXT kiberpmax = OFOR i = 1 TO nmr

. rx (i) = rx ( i) / nm: ix { i) = ix ( i) / nmP(i) = SQR(rx(i) ^ 2 + ix(i) rt 2)IF rx(i) = O THEN

f(i) = o ; ... ,ELSEIF rx(i) > O THEN

•f(i) = TVTN(ixti) / rx(ii) * 180 / piELSEf(l) = ATN(ix(Í) / rx(i)) * 180 / pi + 180

END IFIF p(i) > pmax THEN pmax = p(i)

NEXT i

PRINT "calculo de especbros: biempo=FI; TIMER - b; " biempo bobal=B; TIMER - bOb = TIMER

REM ORDENAMIENTO DE LOS ESPECTROS