Electricity">
Diseño e Implementación de Un Sistema de Adquisición de Parametros de Un Motor de Inducción
Diseño e Implementación de Un Sistema de Adquisición de Parametros de Un Motor de Inducción
Diseño e Implementación de Un Sistema de Adquisición de Parametros de Un Motor de Inducción
TESIS
Presenta:
Rey David Reyes Sosa
G08071310
Director de Tesis:
M.C. Rafael Castillo Gutiérrez
Capítulo 1: Introducción 1
ii
Página
2.2. MOTOR DE CORRIENTE ALTERNA .......................................................... 14
2.2.1. Motores de rotor de jaula de ardilla .................................................. 18
2.2.2. Conexión de los bobinados de un motor eléctrico trifásico .............. 19
2.2.3. Sistema de arranque directo de los motores trifásicos ...................... 20
2.3. POTENCIA EN SISTEMAS TRIFÁSICOS .................................................... 22
2.3.1. Conexión en estrella .......................................................................... 23
2.4. ANÁLISIS DE UN MOTOR TRIFÁSICO POR MEDIO DE SU PLACA
DE CARACTÉRISTICAS ............................................................................... 24
2.5. EFECTO HALL ............................................................................................... 27
2.5.1. Sensores de efecto Hall con salida lineal .......................................... 28
2.5.2. Sensor Hall de salida digital ............................................................. 30
2.5.3 Sensor Hall ACS712 ......................................................................... 31
2.6. SENSOR DE VOLTAJE ZMPT101B .............................................................. 35
2.7. SENSOR INFRARROJO DE TEMPERATURA ............................................ 36
2.7.1. Funcionamiento ................................................................................ 38
2.7.2. El bus i2C .......................................................................................... 40
2.7.2.1. Funcionamiento ................................................................................ 42
2.7.2.2. Ventajas y desventajas del protocolo i2C ......................................... 43
2.8. SERIE DE FOURIER EN FORMA COMPLEJA ........................................... 44
2.8.1. Desarrollo en serie de Fourier de f(t) en forma compleja ................. 46
2.8.2. Transformada Discreta de Fourier .................................................... 48
2.8.3. Uso de los coeficientes de Fourier para calcular el valor RMS de
una señal periódica ............................................................................ 49
2.8.3.1. Cálculo de valores RMS ................................................................... 50
2.8.3.2. Cálculo de los valores RMS de una señal periódica construida por
series de Fourier ................................................................................ 50
iii
Página
Capítulo 3: DISEÑO E IMPLEMENTACIÓN
Referencias 91
Apéndice A: Programa del prototipo 93
Apéndice B: Código de MATLAB 108
iv
Lista de Figuras
Página
Figura 2.1 Estructura de la Placa Arduino Mega 2560 ........................................ 9
Figura 2.2 Estructura de un motor asíncrono de inducción .................................. 15
Figura 2.3 Tipos de motores asíncronos basados en el devanado del estator ....... 17
Figura 2.4 Rotor de jaula de ardilla ...................................................................... 18
Figura 2.5 Estructura de un Motor con Rotor de Jaula de ardilla ......................... 18
Figura 2.6 Conexión estrella y delta respectivamente .......................................... 19
Figura 2.7 Conexión para el cambio de giro de un motor .................................... 20
Figura 2.8 a) Circuito de fuerza arranque directo. b) Curva Corriente/Velocidad
arranque directo. c) Curva Par/Velocidad arranque directo................. 22
Figura 2.9 Conexión en estrella de un sistema trifásico ....................................... 23
Figura 2.10 Ejemplo de placa de características de un Motor ................................ 24
Figura 2.11 Triangulo de potencias ........................................................................ 26
Figura 2.12 Diagrama del funcionamiento del efecto Hall .................................... 27
Figura 2.13 Estructura simplificada de un sensor Hall de salida lineal ................. 28
Figura 2.14 Características de transferencia de un sensor Hall lineal .................... 29
Figura 2.15 Estructura de un sensor de efecto Hall de salida digital ..................... 30
Figura 2.16 Placa con sensor ACS712 para Arduino ............................................. 32
Figura 2.17 Equivalencia del voltaje de salida del sensor ACS712........................ 34
Figura 2.18 Diagrama de conexión del sensor ACS712 a una carga ..................... 34
Figura 2.19 Sensor de Voltaje ZMPT101B ............................................................ 35
Figura 2.20 Diagrama de conexión del sensor de voltaje ....................................... 36
Figura 2.21 Sensor infrarrojo de temperatura MLX90614 ..................................... 37
Figura 2.22 Espectro de objetos negros .................................................................. 38
Figura 2.23 Composición del MLX90614 .............................................................. 39
v
Página
Figura 2.24 Gráfica de error de medición del MLX90614 ..................................... 40
Figura 2.25 Diagrama de conexión del protocolo I2C ........................................... 41
Figura 2.26 Funcionamiento del protocolo I2C ..................................................... 43
Figura 3.1 Diagrama de conexión del prototipo .................................................. 56
Figura 3.2 Diagrama de flujo de funcionamiento del prototipo ........................... 59
Figura 3.3 Modelo en Simulink para la comunicación entre Arduino y
MATLAB ............................................................................................
60
Figura 3.4 Bloque submódulo del programa en Simulink .................................... 61
Figura 4.1 Conexión del prototipo y el analizador de redes FLUKE para
pruebas con el motor............................................................................ 63
Figura 4.2 Resultados de las mediciones de voltaje y corriente tomados por el
analizador de redes FLUKE (en vacío) .............................................. 64
Figura 4.3 Resultados de las mediciones de voltaje y corriente tomados por el
Prototipo (en vacío) ............................................................................ 64
Figura 4.4 Resultados de las mediciones de potencias y factor de potencia
tomados por el analizador de redes FLUKE (en vacío) ...................... 65
Figura 4.5 Resultados de las mediciones de potencia activa tomados por el
prototipo (en vacío) ............................................................................ 65
Figura 4.6 Resultados de las mediciones de potencia reactiva tomados por el
prototipo (en vacío) ............................................................................ 66
Figura 4.7 Resultados de las mediciones de potencia aparente tomados por el
prototipo (en vacío) ............................................................................ 66
Figura 4.8 Resultados de las mediciones de Factor de Potencia tomados por el
prototipo (en vacío) ............................................................................ 66
Figura 4.9 Resultados de las mediciones de ángulo de fase tomados por el
analizador de redes FLUKE (en vacío) ............................................... 67
vi
Página
Figura 4.10 Resultados de las mediciones de ángulo de fase tomados por el
prototipo (en vacío) ............................................................................ 67
Figura 4.11 Resultados de las mediciones de voltaje y corriente tomados por el
analizador de redes FLUKE (con carga).............................................. 68
Figura 4.12 Resultados de las mediciones de voltaje y corriente tomados por el
prototipo (con carga) .......................................................................... 68
Figura 4.13 Resultados de las mediciones de potencias y factor de potencia
tomados por el analizador de redes FLUKE (con carga) .................... 69
Figura 4.14 Resultados de las mediciones de potencia activa tomados por el
prototipo (con carga) ........................................................................... 69
Figura 4.15 Resultados de las mediciones de potencia reactiva tomados por el
prototipo (con carga) ........................................................................... 70
Figura 4.16 Resultados de las mediciones de potencia activa tomados por el
prototipo (con carga) ........................................................................... 70
Figura 4.17 Resultados de las mediciones del factor de potencia tomados por el
prototipo (con carga) ........................................................................... 70
Figura 4.18 Resultados de las mediciones de ángulo de fase tomados por el
analizador de redes FLUKE (con carga) ............................................. 71
Figura 4.19 Resultados de las mediciones de ángulo de fase tomados por el
prototipo (con carga) ........................................................................... 71
Figura 4.20 Resultados de las mediciones de voltaje y corriente tomados por el
analizador de redes FLUKE (conexión errónea) ................................. 75
Figura 4.21 Resultados de las mediciones de voltajes y corriente tomados por el
prototipo (conexión errónea) ............................................................. 75
Figura 4.22 Resultados de las mediciones de potencias y factor de potencia
tomados por el analizador de redes FLUKE (conexión errónea) ........ 76
vii
Página
Figura 4.23 Resultados de las mediciones de potencia activa tomados por el
prototipo (conexión errónea) ............................................................... 76
Figura 4.24 Resultados de las mediciones de potencia reactiva tomados por el
prototipo (conexión errónea) ............................................................... 77
Figura 4.25 Resultados de las mediciones de potencia aparente tomados por el
prototipo (conexión errónea) ............................................................... 77
Figura 4.26 Resultados de las mediciones del factor de potencia tomados por el
prototipo (conexión errónea) ............................................................... 77
Figura 4.27 Resultados de las mediciones de ángulo de fase tomados por el
analizador de redes FLUKE (conexión errónea) ................................. 78
Figura 4.28 Resultados de las mediciones de ángulo de fase tomados por el
prototipo (conexión errónea) ............................................................... 78
Figura 4.29 Gráficas de voltaje por fase prueba 1 .................................................. 79
Figura 4.30 Gráficas de corriente por fase prueba 1 .............................................. 80
Figura 4.31 Gráficas de potencia activa por fase prueba 1 ..................................... 80
Figura 4.32 Gráficas de potencia reactiva por fase prueba 1 ................................. 81
Figura 4.33 Gráficas de potencia aparente por fase prueba 1 ................................. 81
Figura 4.34 Gráficas de Factor de potencia por fase prueba 1 ............................... 82
Figura 4.35 Gráfica de temperatura del rotor prueba 1 .......................................... 82
Figura 4.36 Gráficas de voltaje por fase prueba 2 .................................................. 83
Figura 4.37 Gráficas de corriente por fase prueba 2 .............................................. 84
Figura 4.38 Gráficas de potencia activa por fase prueba 2 ..................................... 84
Figura 4.39 Gráficas de potencia reactiva por fase prueba 2 ................................. 85
Figura 4.40 Gráficas de potencia aparente por fase prueba 2 ................................. 85
Figura 4.41 Gráficas de factor de potencia por fase prueba 2 ................................ 86
Figura 4.42 Gráfica de temperatura del rotor prueba 2 .......................................... 86
viii
Lista de Tablas
Página
ix
AGRADECIMIENTOS
x
DEDICATORIA
A mi madre Rosa María Sosa Del Ángel que siempre me ha apoyado
incondicionalmente durante toda mi vida escolar y personal.
A mi padre Jorge Serapio Reyes González q.e.p.d. que siempre estuvo orgulloso de mí.
A mis hermanos Jorge Alberto Reyes Sosa y Sandy Lizeth Reyes Sosa por su compañía y
sus consejos en momentos difíciles.
A mis maestros: M.C. Aarón González R., el Dr. Rubén Salas C., la M. L. Gladis M.
Galiana B., al M.C Rafael Castillo G., el M.C. Hermenegildo Cisneros V., el M.C.
Eduardo Nacú Salas C., El Dr. Gasatón Hernández M., al M.C. José de Jesús Durón M.,
así como al Dr. Pedro M. García Vite, por sus enseñanzas y tutela que me brindaron
durante mi estancia en la maestría.
A mis amigos: Joel Rodríguez, Arturo Álvarez, Lizbeth Laurens, José Inés, Anselmo
Martínez, Edson Mares, Antonio Murillo, Eduardo Delgado, Cristian Abel, Eliel Wong,
Rosario Rivera, Alfredo Alejandre, Ricardo Turrbiates, Luis Ong y muchos más por su
amistad, consejos y buenos momentos que pasamos juntos.
xi
Diseño e Implementación de un Sistema de Adquisición de Parámetros de
un Motor De Inducción
Resumen
xii
Design and Implementation of a Parameter Acquisition System for an
Induction Motor
Abstract
The following paper proposes the design and construction of a system to acquire the
parameters of the phases of an induction motor (current, voltage, active power, reactive
power, power factor and phase angle). By means of Hall effect current sensors and voltage
sensors, currents and voltages for each phase are obtained for a LabVolt four-pole squirrel
cage induction motor, which has 1.5 A RMS nominal current and 120 V RMS nominal
voltage per phase. Using an algorithm based on the Discrete Fourier transform programmed
into an Arduino Mega 2560, which is a free development hardware platform, the RMS values
of Voltage, Current, Apparent Power, Active Power and Reactive Power per phase are
obtained as well as the Power Factor. An infrared temperature sensor is used to measure the
rotor temperature. All this data is displayed on an LCD screen for the correct monitoring of
the motor operating status as well as creating graphs of the behavior of these variables
through serial communication with MATLAB®.
xiii
Capítulo 1
INTRODUCCIÓN
1
Introducción
El motor de inducción fue diseñado por Nikola Tesla, en 1882 con base en el
descubrimiento del campo magnético rotatorio, un principio fundamental en la física y uno
de los mayores descubrimientos en la historia. Este motor es utilizado en plantas de
generación de energía eléctrica, la cual se busca que satisfaga ciertos estándares de calidad.
Para esto se ha de mantener y asegurar la correcta operación del motor de inducción, lo cual
se puede alcanzar por medio del monitoreo de las condiciones operativas del motor, lo cual
involucra la medición de ciertos parámetros. [1]
Durante los últimos años el motor de inducción ha sido la máquina rotativa que más
se ha empleado a nivel industrial, debido principalmente a su versatilidad. El desarrollo en la
electrónica de potencia y la disminución en los costos de los componentes han hecho que
dichos motores sean los más utilizados para cualquier condición de operación. Su sencillez,
confiabilidad y eficiencia los han hecho de estos los preferidos para cualquier trabajo.
2
Introducción
1.3. JUSTIFICACIÓN.
Dado la importancia del motor de inducción en las redes industriales por las pérdidas
que conlleva tener parada una planta, es de vital importancia tenerlo monitoreado para evitar
su daño total previniéndolo con mantenimientos preventivos.
3
Introducción
1.4. OBJETIVOS.
1.5. HIPÓTESIS.
El monitoreo de variables puede realizarse de tal forma que se obtengan los datos de
cada una de las fases y la temperatura interna de un motor de inducción.
4
Introducción
1.6. ALCANCES.
El dispositivo portátil puede modificarse para ser una herramienta útil y eficaz para
la industria.
1.7. LIMITACIONES.
Este proyecto solo se encargará de arrancar, parar y obtener las mediciones de las
fases y temperatura del devanado del motor de inducción de Lab-Volt 8221 con un voltaje
de línea de 120 V y una Corriente de línea de 1.5 A máximos.
5
Introducción
6
Capítulo 2
MATERIALES UTILIZADOS
En este capítulo se describen los materiales utilizados en la creación del prototipo
así como la teoría en la que se basa el programa que se utiliza.
7
Materiales Utilizados
Debido a su gran poder es utilizada para grandes proyectos, entre los más importantes
se encuentran los de DOMOTICA e IMPRESORAS 3D. El Arduino MEGA2560 es
compatible con la mayoría de los shield o tarjetas de aplicación/ampliación disponibles para
las tarjetas Arduino UNO original. Las características principales son:
Microprocesador ATmega2560
Voltaje de alimentación (recomendado) 7-12V
Integra regulación y estabilización de +5Vcc
54 líneas de Entradas/Salidas Digitales (14 de ellas se pueden utilizar como salidas
PWM)
16 Entradas Analógicas
Máxima corriente continua para las entradas: 40 mA
Salida de alimentación a 3.3V con 50 mA
Memoria de programa de 256Kb (el bootloader ocupa 8Kb)
Memoria SRAM de 8Kb para datos y variables del programa
Memoria EEPROM para datos y variables no volátiles
Velocidad del reloj de trabajo de 16MHz
Reducidas dimensiones de 100 x 50 mm
8
Materiales Utilizados
2.1.1. Alimentación.
El Arduino Mega se puede alimentar vía conexión USB o con una fuente de
alimentación externa. El origen de la alimentación se selecciona automáticamente. Las
fuentes de alimentación externas pueden ser tanto un transformador o una batería. El
transformador se puede conectar usando un conector macho de 2.1mm con centro positivo
en el conector hembra de la placa. Los cables de la batería pueden conectarse a los pines Gnd
y Vin en los conectores de alimentación (POWER) La placa puede trabajar con una
alimentación externa de entre 6 a 20 voltios. Si el voltaje suministrado es inferior a 7V, el
pin de 5V puede proporcionar menos de 5 voltios y la placa puede volverse inestable; si se
usan más de 12V los reguladores de voltaje se pueden sobrecalentar y dañar la placa. El rango
recomendado es de 7 a 12 voltios. Los pines de alimentación son los siguientes:
9
Materiales Utilizados
VIN. La entrada de voltaje a la placa Arduino cuando se está usando una fuente
externa de alimentación (en opuesto a los 5 voltios de la conexión USB). Se puede
proporcionar voltaje a través de este pin, o, si se está alimentando a través de la
conexión de 2.1mm, acceder a ella a través de este pin.
5V. La fuente de voltaje estabilizado usado para alimentar el microcontrolador y otros
componentes de la placa. Esta puede provenir de VIN a través de un regulador
integrado a la placa, o proporcionada directamente por el USB u otra fuente
estabilizada de 5V.
3V3. Una fuente de voltaje de 3.3 voltios generada por un regulador integrado a la
placa. Su corriente máxima soportada es de 50mA.
GND. Pines de toma de tierra.
2.1.2. Memoria.
El ATmega2560 cuenta con 256KB de memoria flash para almacenar código, 8KB
son usados para el arranque del sistema o bootloader. El ATmega2560 tiene 8 KB de
memoria SRAM y 4KB de EEPROM, se puede acceder a esta para leer o escribir con
la librería EEPROM.
Cada uno de los 54 pines digitales en el Mega pueden ser utilizados como entradas o
como salidas usando las funciones pinMode(), digitalWrite(), y digitalRead(). Las E/S
operan a 5 voltios. Cada pin puede proporcionar o recibir una corriente máxima de 40mA y
tiene una resistencia interna de pull-up (desconectada por default) de 20-50kOhms. Además,
algunos de estos pines tienen funciones especializadas:
10
Materiales Utilizados
|El Mega tiene 16 entradas analógicas, y cada una de ellas proporciona una resolución
de 10bits (1024 valores). Tiene preestablecido un rango de medición de 0V a 5V, aunque es
posible cambiar el límite superior de este rango usando el pin AREF y la
función analogReference().
11
Materiales Utilizados
2.1.4. Comunicaciones.
EL Arduino Mega facilita en varios aspectos la comunicación con la PC, otro Arduino
u otros microcontroladores. El ATmega2560 provee cuatro puertos de comunicación vía
serie UART TTL (5V). Un ATmega16U2 integrado en la placa canaliza esta comunicación
serie a través del puerto USB y los drivers (incluidos en el software de Arduino), estos
proporcionan un puerto serie virtual en el ordenador. El software incluye un monitor de
puerto serie que permite enviar y recibir información textual de la placa Arduino. Los LEDS
RX y TX de la placa parpadearán cuando se detecte comunicación transmitida a través de la
conexión USB (no parpadearán si se usa la comunicación serie a través de los pines 0 y 1).
La librería SoftwareSerial permite comunicación serie por cualquier par de pines digitales
del Mega. El ATmega2560 también soporta la comunicación I2C (TWI) y SPI. El software
de Arduino incluye una librería Wire para simplificar el uso el bus I2C.
2.1.5. Programación.
12
Materiales Utilizados
El Mega contiene una pista que puede ser cortada para deshabilitar el auto-reset. Las
terminaciones a cada lado pueden ser soldadas entre ellas para rehabilitarlo. Están etiquetadas
con “RESET-EN”. También se puede deshabilitar el auto-reset conectando una resistencia
de 110 ohms desde el pin 5V al pin de reset.
13
Materiales Utilizados
EL motor asíncrono consta de dos partes indispensables. El estator que es la parte fija
del motor constituido por una carcasa en la que se fija una corona de chapas de acero al silicio
provistas de unas ranuras. Los bobinados de sección apropiada están dispuestos en dichas
ranuras formando las bobinas que se dispondrán en tantos circuitos como fases tenga la red
a la que se conectará la máquina.
El rotor es la parte móvil del motor. Está situado en el interior del estator y consiste
en un núcleo de chapas de acero al silicio apiladas que forman un cilindro, en el interior del
cual se dispone un bobinado eléctrico. Los más utilizados son el rotor de jaula de ardilla y el
rotor bobinado.
14
Materiales Utilizados
=− (2.1)
Donde:
t= Tiempo en segundos
15
Materiales Utilizados
Puesto que el voltaje inducido se opone al cambio que lo causa, se incluye el signo
menos en la ecuación. Si se distribuye espacialmente alrededor del estator de un motor los
bobinados de un sistema de tensiones trifásicas desfasadas 120° se genera un campo
magnético giratorio. La velocidad de giro de este campo magnético, denominada velocidad
de sincronismo, se da por la ecuación (2.2):
∗
= (2.2)
Donde:
= Velocidad de giro del campo magnético en r.p.m.
= Frecuencia de la corriente eléctrica de alimentación de la máquina.
= Número de pares de polos magnéticos establecidos en el bobinado del estator.
Bifásicos: tienen dos devanados en el estator los cuales están desfasados /(2 ),
siendo el número de pares de polos de la máquina, en el espacio. Suelen ser
utilizados en aplicaciones de control de posición. [8]
16
Materiales Utilizados
a) Devanado Monofásico
b) Devanado Bifásico
c) Devanado Trifásico
17
Materiales Utilizados
18
Materiales Utilizados
Las ranuras del rotor suelen construirse oblicuas respecto al eje para evitar puntos
muertos en la inducción electromagnética. Uno de los inconvenientes de este tipo de motor
es que en el arranque absorbe una corriente muy intensa (de 4 a 7 veces la nominal asignada),
y lo hace con un bajo factor de potencia y su par suele ser bajo. Otro inconveniente de estos
motores era que su velocidad no era regulable, pero actualmente con los variadores de
velocidad electrónicos se puede conseguir un control perfecto de la práctica totalidad de
parámetros del motor, entre los que destacan el par, la corriente absorbida y la velocidad de
giro y la baja resistencia del rotor hace que tengan excelentes características para marchas a
velocidades constantes.
El estator de un motor trifásico suele bobinarse con tres devanados distintos que
corresponden a cada una de las fases con las que se les habrá de conectar en la red eléctrica.
Según la forma de conectar las bobinas se pueden obtener dos conexiones: Delta y Estrella.
19
Materiales Utilizados
20
Materiales Utilizados
A pesar de las ventajas que proporciona este tipo de arranque, sólo se puede utilizar
en los casos siguientes:
La potencia del motor es débil respecto a la de la red, para poder limitar las perturbaciones
que provoca la corriente solicitada.
El motor no requiere un aumento progresivo de velocidad y dispone de un dispositivo
mecánico que impide el arranque brusco.
El par de arranque tiene que ser elevado.
Por otro lado, será indispensable recurrir a algún procedimiento que disminuya la
corriente solicitada o el par de arranque, siempre que:
En estos casos, el método más utilizado consiste en arrancar el motor bajo un voltaje
reducido. La variación del voltaje de alimentación posee las siguientes consecuencias:
21
Materiales Utilizados
= = + + = 3∗
Donde: (2.3)
= Voltaje eficaz de las fases del motor.
= Corriente eficaz de las fases del motor.
= Ángulo de desfase ( − ).
= Factor de potencia de la carga.
22
Materiales Utilizados
= = + + =3∗
(2.4)
= + + + + + = + +
(2.5)
Una vez obtenidos la potencia activa (P) y la potencia aparente (S), se puede obtener
el factor de potencia el cual se calcula de la siguiente manera:
. .=
(2.6)
El voltaje y la corriente de
fase en función de las líneas se
obtienen de la siguiente manera:
= √3 → =
√3
(2.7)
=
(2.8)
23
Materiales Utilizados
Entonces la potencia Activa, Reactiva y Aparente en función de las líneas resulta ser:
= 3∗ =3 = √3
√3
(2.9)
=3∗ =3 = √3
√3
(2.10)
= 3∗ =3 = √3
√3
(2.11)
24
Materiales Utilizados
4. En conexión delta el voltaje compuesto entre las fases de alimentación podrá ser un
máximo de 220 V, circulando por cada una de las líneas de alimentación una corriente
de 50 A.
Por otro lado, “ = 0,9” se refiere al factor de potencia, lo que permite hacer
algunos cálculos básicos:
Se obtendrán los mismos datos operando con los datos de conexión estrella o delta.
25
Materiales Utilizados
= + = = =
17178
. .= = = 0.9
19087
15000
= ∗ 100 = ∗ 100 = 0.87 ∗ 100 = 87%
17178
26
Materiales Utilizados
27
Materiales Utilizados
28
Materiales Utilizados
positiva. Esta tensión es la que se conoce como null offset o quiescent output voltaje. En la
figura (2.15) se muestra la característica de transferencia de un sensor Hall lineal.
Se puede ver en dicha gráfica el null offset, la sensibilidad (en mV/G) y el alcance
(span). Estos dispositivos generalmente poseen una salida en emisor abierto, permitiendo
conectarlos fácilmente con casi cualquier circuito.
29
Materiales Utilizados
La estructura de este tipo de sensor es la misma que la del lineal pero se debe agregar
un comparador Smitt trigger como se muestra en la figura (2.15).
30
Materiales Utilizados
Consta de un circuito de efecto Hall lineal preciso, bajo offset, con una pista de cobre
conductor ubicado cerca de la superficie del chip. La corriente que atraviesa esta pista de
conducción genera un campo magnético que es detectado por el IC integrado Hall y
convertida en una tensión proporcional. La exactitud de los dispositivos se optimiza a través
de la proximidad de la señal magnética al transductor Hall. Una tensión precisa, proporcional
es proporcionada por el bajo offset, chopper-estabilizado IC BiCMOS Hall, que está
programado para la exactitud después del encapsulado.
31
Materiales Utilizados
Esta versión acepta una entrada de corriente continua de hasta 20 A y una salida de
tensión analógica proporcional (66 mV/A) que mide 500 mV. Cuando la corriente de entrada
es cero. El error de salida típico es de ± 1,5%. Opera desde 4,5 V a 5,5 V y está pensado para
su uso en sistemas de 5 V.
Este dispositivo es muy sencillo, como se aprecia en la figura 2.19, dispone de tres
pines, Vcc, GND y Salida en un extremo y en el otro, dispone de un conector con dos
contactos para conectar la carga a la cual se le va a medir la corriente.
Tensión de salida en reposo (Viout (Q)). La salida del sensor cuando la corriente
primaria es cero. Para una tensión de alimentación unipolar, sigue siendo nominalmente VCC
/ 2. Por lo tanto, cuando no hay corriente la tensión de salida es VCC / 2 = 5 V / 2 = 2.5V.
32
Materiales Utilizados
Para comprener mejor el funcionamiento del sensor, supongamos que este sensor
mide corrientes entre -20 A y +20 A. Ya que la salida del sensor según la hoja de datos
siempre entrega entre 0 y 5 voltios, cuyo valor de 0A se corresponde con los 2.5V en la salida,
y por cada amperio la tensión varía 100 mA.
Este sensor puede medir tanto CD como CA, si vemos una sinusoide, el valor mínimo
corresponde con los -20 A, de modo que los 2.5V de salida corresponden justo a 0 A y los
+20 A con los 5 V, como se ve en la figura (2.17).
33
Materiales Utilizados
+20 A <=> 5 V
0 A <=> 2.5 V
-20 A <=> -5 V
120 V
34
Materiales Utilizados
Puedes usar cualquier microcontrolador con entrada analógica para leer el voltaje
instantáneo y así hacer cálculos de energía, necesitas calibrar la salida con un voltímetro para
un resultado más preciso.
35
Materiales Utilizados
36
Materiales Utilizados
Según la ley de Stefan-Boltzmann, todo objeto por encima del cero absoluto (ºK)
emite radiación cuyo espectro es proporcional a su temperatura. El MLX90614 recoge esta
radiación y su salida es una señal eléctrica proporcional a la temperatura de todos los objetos
en su campo de visión.
38
Materiales Utilizados
Internamente el MLX90614 está constituido con un chip de silicio con una fina
membrana micromecanizada sensible a la radiación infrarroja, junto con la electrónica
necesaria para amplificar y digitalizar la señal y calcular la temperatura. El conjunto incluye
un amplificador de bajo ruido, un conversor ADC de 17 bits, un DSP (procesador digital de
señal) y compensación de la temperatura ambiente.
81101
OPA ADC DSP PWM
t°
STATE MACHINE
Voltage
Regulator
90302
39
Materiales Utilizados
El estándar I2C (Inter-Integrated Circuit) fue desarrollado por Philips en 1982 para la
comunicación interna de dispositivos electrónicos en sus artículos. Posteriormente fue
adoptado progresivamente por otros fabricantes hasta convertirse en un estándar del
mercado.
40
Materiales Utilizados
En el bus Cada dispositivo dispone de una dirección, que se emplea para acceder a
los dispositivos de forma individual. Esta dirección puede ser fijada por hardware (en cuyo
caso, frecuentemente, se pueden modificar los últimos 3 bits mediante jumpers o
interruptores) o totalmente por software. Cada dispositivo conectado al bus debe tener una
dirección única. Si se tiene varios dispositivos similares tendremos que cambiar la dirección
o, en caso de no ser posible, implementar un bus secundario.
41
Materiales Utilizados
El bus I2C es síncrono. El maestro proporciona una señal de reloj que mantiene
sincronizados a todos los dispositivos del bus. De esta forma, se elimina la necesidad de que
cada dispositivo tenga su propio reloj, de tener que acordar una velocidad de transmisión y
mecanismos para mantener la transmisión sincronizada (como en UART). El protocolo I2C
prevé resistencias de Pull-UP de las líneas a Vcc. En Arduino frecuentemente no se instalan
estas resistencias, ya que la librería Wire activa las resistencias internas de Pull-UP. Sin
embargo las resistencias internas tienen un valor de entre 20-30kOhmnios, por lo que son
unas resistencias de Pull-UP muy blandas.
Usar resistencias blandas implica que los flancos de subida de la señal serán menos
rápidas, lo que implica que se podrán usar velocidades menores y distancias de comunicación
inferiores. Si se quieren emplear velocidades o distancias de transmisión superiores, se
deberá colocar físicamente resistencias de Pull-UP de entre 1K a 4.7K.
2.7.2.1. Funcionamiento.
Para poder realizar la comunicación con solo un cable de datos, el bus I2C emplea
una trama (el formato de los datos enviados) amplia. La comunicación consta de:
42
Materiales Utilizados
VENTAJAS
Requiere pocos cables
Dispone de mecanismos para verificar que la señal hay llegado
43
Materiales Utilizados
DESVENTAJAS
Su velocidad es media-baja
No es full duplex
No hay verificación de que el contenido del mensaje es correcto
Arduino dispone de soporte I2C por hardware vinculado físicamente a ciertos pines.
También es posible emplear cualquier otro grupo de pines como bus I2C a través de sofware,
pero en ese caso la velocidad será mucho menor Los pines a los que está asociado varían de
un modelo a otro. La siguiente tabla 2.3 muestra la disposición en alguno de los principales
modelos.
Sea una función periódica con periodo , la cual puede desarrollarse en serie de
Fourier en la forma
( )= + ( cos + sen )
2
(2.12)
Con
2
= ( )
2
= ( ) cos
44
Materiales Utilizados
2
= ( ) sen
Donde =
Se sabe que,
= cos + sen
= cos − sen
1
cos = +
2
1 1
se = − =− −
2 2
Caso particular:
=
1
cos = +
2
(2.13)
Y
1
se =− −
2
(2.14)
1 1
( )= + + − −
2 2 2
1 1
( )= + ( − ) + ( + )
2 2 2
45
Materiales Utilizados
Se hace = ; = ( + ); = ( − )=
( )= + +
( )=
(2.15)
1 1 2 2
= ( − )= = ( ) cos − ( ) sen
2 2
1 1
= ( )(cos − sen ) = ( )
= ( )
(2.16)
( )=
( )=
∈ℤ
46
Materiales Utilizados
= ( )
( )= + +
∠ ∠ ∠ ∠
=| | =| | ; = =| | =| |
( )= | | ∠ ∠
+ +| |
( ) ( )
= + | | +
= + | |2 cos( + )
Donde =∠
( )= +2 | | cos( + )
Con =∠
( )= + | | ( + )
1
= ( )
Con | | = | − |; =∠
47
Materiales Utilizados
1
= ( ) = | | cos
, , , …, , …,
= + .
Suponga, que la serie fuera del rango [0, − 1] es periódica extendida con periodo
, es decir que = para todo . La transformada Discreta de Fourier de esta serie
denotada por ( ), también tendrá muestras. La transformada (directa) de Fourier se
define como:
2
( )= ( ) , para = 0, 1, 2, … , −1
(2.17)
Aplicando la fórmula de Euler:
2 2 2
( )= ( )(cos − sen ) , para = 0, 1, 2, … , −1
(2.18)
48
Materiales Utilizados
Aunque la función es una serie compleja, las señales muestreadas reales pueden ser
representadas mediante hacer la parte imaginaria igual a 0. En general, la transformada en el
dominio de la frecuencia será una función compleja, es decir, con magnitud y fase.
= | ( )| = +
(2.19)
Para obtener la fase se usa la siguiente ecuación:
= tan *
(2.20)
2.8.3. Uso de los coeficientes de Fourier para calcular el valor RMS de una señal
periódica. [18]
Para calcular los valores RMS de una señal periódica, siempre se seleccionan varios
métodos como la integración, la regla de Simpson y la regla trapezoidal. Existe evidencia
académica que demuestra que los valores RMS de una señal periódica también pueden ser
obtenidos mediante el uso de los Coeficientes de Fourier.
49
Materiales Utilizados
Aunque hay varios métodos para calcular los valores RMS, como ya se había
mencionado antes, el método estándar utilizado es la técnica de Cálculo de integración la
cual establece que:
1
= ( )
(2.21)
Donde:
es el valor RMS de ( ) entre el intervalo de dominio de a +
es el periodo de ( ).
2.8.3.2. Cálculos de los valores RMS de una señal periódica construida por series de
Fourier.
( )= + ( cos + sen )
(2.22)
50
Materiales Utilizados
∫ ( ) =2 ( ) + ( ) + ( ) + ⋯+ ( ) + ⋯+ ( ) + ( ) + ⋯+ ( )
(2.24)
( ) ( ) ⋯ ( ) ⋯ ( ) ( ) ⋯ ( )
= ∫ ( ) = ( ) +
(2.25)
51
Materiales Utilizados
Esto indica que el valor RMS de una señal periódica no depende de las frecuencias
armónicas. A continuación se muestra un ejemplo de cómo obtener el valor RMS de una
señal de voltaje ( ) con contenido armónico cuya ecuación es la siguiente:
Como se pudo observar calcular el valor RMS de una señal periódica usando los
coeficientes de Fourier es más conveniente que usar el método de Cálculo de integración si es
que los coeficientes de Fourier se conocen. Además las diferentes frecuencias de los
componentes armónicos de la señal no afectan el valor RMS. Esto quiere decir que los valores
RMS de las señales periódicas no dependen de las frecuencias de las señales armónicas sino
que dependen de su amplitud a las cuales se le llaman componentes de Fourier.
52
Capítulo 3
DISEÑO E
IMPLEMENTACIÓN
En este capítulo se muestra como se construye el prototipo y como utilizando un
algoritmo basado en Transformada Discreta de Fourier se obtienen los parámetros de un
motor de inducción de jaula de ardilla de la marca LabVolt en conexión estrella en arranque
sencillo.
53
Diseño e Implementación
Como este sistema se encarga de sensar las tres fases del motor de inducción, cuenta
con un sensor de Voltaje y de Corriente por fase, ésta conexión es necesaria para poder
obtener correctamente los parámetros de cada fase, ya que cada una de éstas tiene sus propias
características. Cada sensor está conectado a una entrada analógica de la placa Arduino la
cual se encarga convertir la información de la señal de salida que los sensores transmiten a
este, por medio de una conversión de resolución para que se puedan interpretar. Por otra
parte el sensor de temperatura se conecta a las entradas SCL y SDA que se encargan de la
comunicación I2C la cual se vio en el capítulo anterior.
Se utiliza una pantalla LCD con una dimensión de 4x20 para mostrar los resultados
de las mediciones de los parámetros en 6 diferentes pantallas, en la primera pantalla se
muestra el Voltaje y la Corriente RMS de cada fase, en la segunda pantalla se muestra el
Factor de potencia por fase, en la tercera se visualiza el ángulo de desfasamiento entre la
onda de voltaje y la de corriente por fase, la cuarta muestra la Potencia Aparente RMS, la
quinta y la sexta pantalla muestran la Potencia Activa y Reactiva RMS respectivamente. Del
mismo modo es desplegada la medición de la temperatura del rotor en cada pantalla para
tener un monitoreo constante de este parámetro.
Para poder navegar entre pantallas se utilizan dos PB conectados en los pines digitales
18 y 19, los cuales corresponden a interrupciones por hardware que tiene la placa arduino,
cada uno con un circuito anti rebote para evitar saltos innecesarios entre pantallas y tener una
navegación más eficiente.
54
Diseño e Implementación
55
Diseño e Implementación
Los pasos que se siguieron para la realización del sketch fueron los siguientes:
1. Se incluyen las librerías necesarias para utilizar los dispositivos con los que se
comunicará la placa de Arduino y declaran las variables globales que se utilizarán en
el programa.
2. En la sección de void setup() se inicializa la comunicación serial, la comunicación
con el sensor de temperatura MLX90614, se especifica las dimensiones de la LCD y
se definen las interrupciones que se utilizarán.
3. En el bucle del programa se procede a llamar a una función para obtener los valores
RMS de la corriente y voltaje a neutro por fase del motor e imprimirlos en una LCD.
También se obtiene el dato de temperatura del sensor MLX90614.
4. Se crea una función basada en la transformada discreta de Fourier para obtener las
componentes de frecuencia de Voltajes y Corrientes por fase, además de utilizar
cálculos basados en estas dos variables para obtener la potencia activa, la potencia
reactiva, la potencia aparente, el factor de potencia y el ángulo de fase.
5. Por último se crean dos interrupciones para la trancisión de una pantalla a otra.
56
Diseño e Implementación
Debido a que este dispositivo arroja los resultados en grados Kelvin, es necesario
hacer una conversión digital (Grados Celsius = ‘°K – 273.15’).
Para asegurar que las muestras se tomen de manera uniforme se utiliza una estructura
condicional ‘if()’ la cual permite que se tomen muestras solo si ha transcurrido el tiempo
como se muestra en la siguiente sección del código.
if (micros() - microsAnt >= Ts)
57
Diseño e Implementación
{…}
Donde ‘micros()’ es una función que devuelve el tiempo que ha transcurrido desde
que se inició el sistema, ‘microsAnt’ es una variable que almacena el tiempo en que se tomó
la última muestra y Ts es el periodo de muestreo en unidades de .
Una vez que se haya completado el muestreo de las señales, se procede a calcular las
componentes de frecuencia en magnitud y fase utilizando la ecuación (2.19), pero solo la
fundamental, la 3ª, 5ª y 7ª armónica ya que éstas son las que se encuentras más habitualmente
en la red eléctrica industrial y también debido a que la velocidad de procesamiento del
Arduino se ve comprometida con más cálculos matemáticos.[19]
58
Diseño e Implementación
Debido a que es necesario tener un historial para una mejor apreciación del
comportamiento de los parámetros de las fases del motor de inducción, se utilizó la
herramienta Simulink de la plataforma MATLAB® 2015a y la habilidad de la placa Arduino
Mega 2560 para comunicarse de forma serial con el ordenador al que está conectado, para
crear graficas sobre el comportamiento de estos. Para lograr esto se creó un programa en
Simulink como se muestra en la fig (3.3) con el bloque Query Instrument el cual permite
crear una comunicación serial entre MATLAB® 2015a y la placa Arduino. Este bloque se
puede configurar con el puerto que se usará, la velocidad de transmisión, la cantidad de datos
que se mandarán y su tipo (flotante o entero) y el formato de los datos.
60
Diseño e Implementación
61
Capítulo 4
PRUEBAS Y RESULTADOS
En éste capítulo se muestran las pruebas y los resultados que se le hicieron al prototipo
utilizando el motor de inducción y un dinamómetro como carga y se analizan los resultados.
62
Pruebas y resultados
Al hacer pruebas con el prototipo se hizo una conexión en estrella de arranque sencillo
al motor de inducción, los sensores de efecto hall se conectaron en serie con la línea del
motor, los sensores de voltaje se conectaron en paralelo a la fuente de CA.
Al encender el motor se pudo observar que se registraban los picos de corriente que
el motor tiene al encenderse de forma sencilla a voltaje pleno. Se utilizó un analizador de
redes FLUKE para medir las corrientes de fase, se procedió a comparar con los valores que
el prototipo arrojaba y se comprobó que los valores obtenidos por el prototipo y el analizador
de redes eran parecidos como se muestra a continuación.
Figura 4.1 Conexión del prototipo y el analizador de redes FLUKE para pruebas con el motor.
63
Pruebas y resultados
Figura 4.2 Resultados de las mediciones de voltaje y corriente tomados por el analizador de redes
FLUKE (en vacío).
Figura 4.3 Resultados de las mediciones de voltaje y corriente tomados por el Prototipo (en vacío).
64
Pruebas y resultados
Figura 4.4 Resultados de las mediciones de potencias y factor de potencia tomados por el
analizador de redes FLUKE (en vacío).
Figura 4.5 Resultados de las mediciones de potencia activa tomados por el prototipo (en vacío).
65
Pruebas y resultados
Figura 4.6 Resultados de las mediciones de potencia reactiva tomados por el prototipo (en vacío).
Figura 4.7 Resultados de las mediciones de potencia aparente tomados por el prototipo (en vacío).
Figura 4.8 Resultados de las mediciones de Factor de Potencia tomados por el prototipo (en
vacío).
66
Pruebas y resultados
Figura 4.9 Resultados de las mediciones de ángulo de fase tomados por el analizador de redes
FLUKE (en vacío).
Figura 4.10 Resultados de las mediciones de ángulo de fase tomados por el prototipo (en vacío).
67
Pruebas y resultados
Figura 4.11 Resultados de las mediciones de voltaje y corriente tomados por el analizador de redes
FLUKE (con carga).
Figura 4.12 Resultados de las mediciones de voltaje y corriente tomados por el prototipo (con
carga).
68
Pruebas y resultados
Figura 4.13 Resultados de las mediciones de potencias y factor de potencia tomados por el
analizador de redes FLUKE (con carga).
Figura 4.14 Resultados de las mediciones de potencia activa tomados por el prototipo (con carga).
69
Pruebas y resultados
Figura 4.15 Resultados de las mediciones de potencia reactiva tomados por el prototipo (con
carga).
Figura 4.16 Resultados de las mediciones de potencia activa tomados por el prototipo (con carga).
Figura 4.17 Resultados de las mediciones del factor de potencia tomados por el prototipo (con
carga).
70
Pruebas y resultados
Figura 4.18 Resultados de las mediciones de ángulo de fase tomados por el analizador de redes
FLUKE (con carga).
Figura 4.19 Resultados de las mediciones de ángulo de fase tomados por el prototipo (con carga).
71
Pruebas y resultados
prototipo y el analizador de redes lo cual está dentro de los estándares de la norma IEC 600-
44-1 lo cual se puede apreciar en las tablas 4.1 y 4.2. [21] Otro aspecto que se puede saber
de estas pruebas es que en efecto la potencia reactiva del motor es negativa y su factor de
potencia está en atraso ya que su ángulo de fase es negativo.
Tabla 4.1 Error entre mediciones del analizador de redes y el prototipo (en vacío).
Variable Fluke Prototipo Error
120.5 V 124.66 V 3.45%
Voltaje 122.2 V 126.25 V 3.31%
122.1 V 125.89 V 3.10%
0.7 A 0.7 A 0%
Corriente 0.8 A 0.8 A 0%
0.7 A 0.7 A 0%
0.04 kW 37.00 W N/A
Potencia Activa 0.04 kW 42.84 W N/A
0.04 kW 44.17 W N/A
-0.07 kVAr -75.10 VAr N/A
Potencia Reactiva -0.09 kVAr -85.33 VAr N/A
-0.08 kVAr -74.77 VAr N/A
0.08 kVA 85.27 VA N/A
Potencia Aparente 0.10 kVA 96.10 VA N/A
0.09 kVA 87.86 VA N/A
0.44 LAG 0.45 LAG 2.37%
Factor de potencia 0.42 LAG 0.46 LAG 9.52%
0.48 LAG 0.50 LAG 4.17%
-64° -63.10° -1.40%
Ángulo de fase -65° -63.77° -1.89%
-61° -58.86° -3.50%
72
Pruebas y resultados
Tabla 4.2 Error entre mediciones del analizador de redes y el prototipo (con carga).
Variable Fluke Prototipo Error (%)
121.7 V 126.43 V 3.74%
Voltaje 123.4 V 127.05 V 2.95%
123.6 V 128.33 V 3.82%
1.4 A 1.4 A 0%
Corriente 1.5 A 1.5 A 0%
1.5 A 1.4 A 6.66%
0.14 kW 146.26 W N/A
Potencia Activa 0.16 kW 158.62 W N/A
0.15 kW 155.01 W N/A
-0.09 kVAr -89.02 VAr N/A
Potencia Reactiva -0.10 kVAr -95.93 VAr N/A
-0.10 kVAr -86.18 VAr N/A
0.17 kVA 171.86 VA N/A
Potencia Aparente 0.19 kVA 185.35 VA N/A
0.15 kVA 177.60 VA N/A
0.85 LAG 0.86 LAG 1.17%
Factor de potencia 0.84 LAG 0.86 LAG 2.38%
0.86 LAG 0.87 LAG 1.16%
-32° -31.92° -0.25%
Ángulo de fase -33° -31.49° -4.57%
-31° -28.12° -9.29%
En las tablas se puede apreciar como algunas mediciones tienen errores de más del
5% esto se debe en parte a que los sensores de Voltaje no están calibrados de un modo
correcto y a que el prototipo, como ya se mencionó antes solo obtiene los datos de la onda
fundamental, la 3ª, 5ª y 7ª armónica por lo cual los resultados no son tan cercanos a los del
analizador de redes. [
73
Pruebas y resultados
Otro factor que influye en el error de medición es que el analizador de redes estaba
en una escala de kilos en cuanto a las potencias y el prototipo está en unidades por lo que el
error de medición no se especifica en éstos parámetros, además también influyen los tiempos
de procesamiento del Arduino y el número de muestras que se toman por ventana de tiempo
debido a esto entre más muestras se obtenían más lento se volvía el prototipo lo que significa
que sería más difícil poder obtener los datos de cambios rápidos en la red del motor..
Ya que se comprobó que las mediciones son eficientes se procedió a hacer una prueba
“de error de conexión” para corroborar que las fases son analizadas por separado. Lo que se
hizo fue conectar el sensor de voltaje de la fase A en la fase B y viceversa, lo mismo con el
analizador de redes, y los sensores de efecto Hall no fueron reubicados.
Debido a que las fases cambiaron de posición los ángulos de fase también cambiaron
de valor y orientación mostrando medidas erráticas en cuanto a la potencia activa, reactiva y
aparente, así como su factor de potencia.
74
Pruebas y resultados
Figura 4.20 Resultados de las mediciones de voltaje y corriente tomados por el analizador de redes
FLUKE (conexión errónea).
Figura 4.21 Resultados de las mediciones de voltajes y corriente tomados por el prototipo
(conexión errónea).
75
Pruebas y resultados
Figura 4.22 Resultados de las mediciones de potencias y factor de potencia tomados por el
analizador de redes FLUKE (conexión errónea).
Figura 4.23 Resultados de las mediciones de potencia activa tomados por el prototipo (conexión
errónea).
76
Pruebas y resultados
Figura 4.24 Resultados de las mediciones de potencia reactiva tomados por el prototipo (conexión
errónea).
Figura 4.25 Resultados de las mediciones de potencia aparente tomados por el prototipo (conexión
errónea).
Figura 4.26 Resultados de las mediciones del factor de potencia tomados por el prototipo
(conexión errónea).
77
Pruebas y resultados
Figura 4.27 Resultados de las mediciones de ángulo de fase tomados por el analizador de redes
FLUKE (conexión errónea).
Figura 4.28 Resultados de las mediciones de ángulo de fase tomados por el prototipo (conexión
errónea).
78
Pruebas y resultados
Como el Arduino se alimenta y comunica al ordenador vía USB es posible crear una
comunicación con MATLAB® y como se mencionó en el capítulo anterior es recomendable
crear historiales para registrar el comportamiento de la máquina y así tener un buen
monitoreo de ésta.
En ésta primera prueba se enciende el motor a voltaje pleno repetidas veces para
observar el comportamiento de la corriente y por lo tanto de las potencias por línea del motor.
Del mismo modo se varió la carga del motor hasta llevarlo a sus valores nominales por línea
y regresándolo a un estado sin carga. A continuación se muestran los resultados de las
pruebas que s ele hicieron al prototipo y las gráficas resultantes.
79
Pruebas y resultados
80
Pruebas y resultados
81
Pruebas y resultados
82
Pruebas y resultados
Cómo se pudo observar el prototipo es capaz de registrar los picos de corriente que
ocurren en el motor al encenderlo directamente a voltaje pleno. En la figura (4.28) se pude
observar que el voltaje en las líneas se mantiene igual hasta que el motor es desenergizado.
La figura (4.29) muestra el comportamiento de la corriente de línea conforme se enciende y
apaga el motor, así como también con la conexión y desconexión de carga, en las figuras
(4.30), (4.31), (4.32), se puede apreciar el cómo las potencias actúan directamente a los
cambios en la operación del motor tal como se esperaría en un motor de inducción. Nótese
que en la figura (4.33) el factor de potencia también cambia de acuerdo a los cambios en el
motor, también se puede ver que el factor de potencia se comporta de forma errática cuando
el motor es apagado, esto es debido a que cuando el motor está apagado los sensores leen
solo la señal de ruido que existe en la señal de salida y por eso se crea esa distorsión. Y por
último en la figura (4.34) manifiesta el cambio de temperatura que existe en el rotor.
83
Pruebas y resultados
84
Pruebas y resultados
85
Pruebas y resultados
86
Pruebas y resultados
Gracias a estos resultados se puede decir que el prototipo puede registrar cambios
relativamente rápidos y erráticos en el comportamiento de las líneas del motor y crearse un
historial de estos eventos para tener un registro donde se puedan observar fallas cambios
bruscos en la carga e incluso desconexiones o un desbalance en las cargas del motor y hasta
cortos circuitos.
87
Capítulo 5
CONCLUSIÓN Y TRABAJOS
FUTUROS
En éste apartado se realiza la conclusión sobre el proyecto planteado en la presente
tesis, así como recomendaciones para mejorar el prototipo para un mejor desempeño en
trabajos futuros.
88
Conclusión y trabajos futuros
5.1. CONCLUSIONES.
La adquisición de los parámetros del motor mediante el uso de una placa Arduino y
sensores de Voltaje y Corriente fue posible gracias al uso de la Transformada Discreta de
Fourier que permite, sin el uso de hardware extra, obtener los fasores de ondas sinusoidales,
los valores RMS de Voltaje, Corriente, Potencia Activa, Potencia Reactiva y Potencia
Aparente y el valor del Factor de Potencia que hay en cada una de las líneas del motor. La
temperatura interna del motor fue posible obtenerse gracias al sensor no invasivo infrarrojo
de temperatura y a la librería ‘i2cmaster.h’ creada por Peter Fleury, 2005. El monitoreo de
las variables fue posible por el proceso digital del Arduino Mega 2560 y el uso de una pantalla
LCD donde se despliegan los resultados de los cálculos de la T.D.F.
Debido al tamaño reducido de los sensores utilizados para este proyecto fue posible
hacer de este un prototipo portátil que puede llevarse al área donde se le necesite. Aunque se
obtuvieron los parámetros deseados para el monitoreo del motor de inducción estos presentan
un porcentaje de error superando a veces el 5% lo cual ya es considerable lo cual es debido
al despliegue de las variables en la LCD que en ocasiones suele variar considerablemente o
por pequeñas fallas de conexión y a que el sensor de voltaje no está del todo bien calibrado
y solo se obtienen los valores RMS de la onda fundamental, la 3ª, 5ª y 7ª armónica como se
mencionó en el capítulo anterior. A pesar de estos percances el prototipo tiene una velocidad
de transmisión y procesamiento considerablemente rápido.
La comunicación con MATLAB® por medio del puerto serial permitió una mejor
apreciación grafica del comportamiento del motor ante los cambios en sus variables, más
específicamente, cuando se le agrega una carga o se enciende a voltaje pleno y gracias a ésta
cualidad del prototipo se pudieron crear historiales gráficos y una tabla de valores de cada
variable de las pruebas que se le realicen o las posibles fallas que pueda tener un motor de
inducción.
89
Conclusión y trabajos futuros
5.2. RECOMENDACIONES.
Investigar cómo crear un gestor gráfico que utilice los parámetros medidos para
visualizar de forma más analítica el comportamiento de las fases del motor de inducción
creando un diagrama fasorial y graficas donde se visualicen los parámetros.
Puede ser agregado un módulo Bluetooth hc-06 o de Wifi ESP8266 para crear
servidores que proporcionen la información sobre los parámetros del motor vía inalámbrica
a celulares o incluso otros equipos de cómputo según se necesite. [23] [24]
90
Referencias
[1] “Tesla Memorial Society of New York Website” http://bit.ly/25NvqdL
[5] Daniel Alberto Saucedo Martínez, et. al, “Factores que afectan la calidad de la
energía y su solución”
[6] https://www.arduino.cc/en/Main/ArduinoBoardMega2560.
[9] http://www.trifasica.net/pdf/TEMA_9._POTENCIA_EN_SISTEMAS_TRIFASIC
OS.pdf
91
Referencias
[13] https://www.plexishop.it/pdf/ZMPT101B%20-%20Datasheet.jpg
[14] www.sparkfun.com/datasheets/Sensors/Temperature/MLX90614_rev001.pdf
[15] https://www.luisllamas.es/arduino-i2c/
[18] Proof of Using Fourier Coefficients for Root Mean Square Calculations on Periodic
Signals, Sompop Poomjan, et al, Department of Physics, Faculty of Science King
Mongkut’s Institute of Technology Ladkrabang, Chalongkrung Rd. Ladkrabang,
Bangkok Thailand 10520
[23] https://www.olimex.com/Products/Components/RF/BLUETOOTH-SERIAL-HC-
06/resources/hc06.pdf
92
Apéndice A
Programa del prototipo
#include <i2cmaster.h>
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 10, 9, 8, 7);
float pi = 3.141592654;
float Vrms[3]; //Vector donde se guardarán los valores de voltaje RMS
float V1=0;
float V2=0;
float V3=0;
float Irms[3]; //Vector donde se guardarán los valores de corriente RMS
93
Apéndice A
float I1=0;
float I2=0;
float I3=0;
float Spower[3]; //Vector donde se guardarán los valores de potencia aparente RMS
float SP_1=0;
float SP_2=0;
float SP_3=0;
float Apower[3]; //Vector donde se guardarán los valores de potencia activa RMS
float AP_1=0;
float AP_2=0;
float AP_3=0;
float Rpower[3]; //Vector donde se guardarán los valores de potencia reactiva RMS
float RP_1=0;
float RP_2=0;
float RP_3=0;
float Theta[3]; //Vector donde se guardarán los fasores
float fase1=0;
float fase2=0;
float fase3=0;
float PowerF[3]; //Vector donde se guardarán los valores de factor de potencia
float PF_1=0;
float PF_2=0;
float PF_3=0;
int Cfp[3];
int red_1=0;
int red_2=0;
int red_3=0;
void setup() {
// put your setup code here, to run once:
94
Apéndice A
PORTC = (1 << PORTC4) | (1 << PORTC5); //activa la resistencia Pullup del arduino
Serial.begin(250000); //inicia la comunicación serial
lcd.begin(20,4); //establece el tamaño de la pantalla LCD
attachInterrupt(digitalPinToInterrupt(18),Pmas,FALLING); //interrupción para el cambio de
pantallas
attachInterrupt(digitalPinToInterrupt(19),Pmin,FALLING); //interrupción para el cambio de
pantallas
}
void loop() {
// put your main code here, to run repeatedly:
///////////////////////////////////////////////////////////////////////////////
//// Sensado de Temperatura ////
///////////////////////////////////////////////////////////////////////////////
i2c_start_wait(dev+I2C_WRITE); //lee la dirección del sensor
i2c_write(0x07);
//lectura
i2c_rep_start(dev+I2C_READ);
data_low = i2c_readAck(); //Lee 1 byte y lo manda a ack
data_high = i2c_readAck(); //Lee 1 byte y lo manda a ack
pec = i2c_readNak();
i2c_stop();
//Esto convierte los byte altos y bajos juntos y procesa la temperatura, MSB es un bit de error y
es ignorado para la temp.
double tempFactor = 0.02; // 0.02 grados por LSB (resolución de medición del MLX90614)
double tempData = 0x0000; // Datos en Cero
int frac; // datos pasado el punto decimal
//Esto enmascara el bit de error del byte alto, luego lo mueve 8 bits a la izquierda y añade el byte
bajo
95
Apéndice A
V1=Vrms[0];
I1=Irms[0];
fase1=Theta[0];
PF_1=PowerF[0];
SP_1=Spower[0];
AP_1=Apower[0];
RP_1=Rpower[0];
red_1=Cfp[0];
V2=Vrms[1];
I2=Irms[1];
fase2=Theta[1];
PF_2=PowerF[1];
SP_2=Spower[1];
AP_2=Apower[1];
RP_2=Rpower[1];
red_2=Cfp[1];
V3=Vrms[2];
I3=Irms[2];
fase3=Theta[2];
PF_3=PowerF[2];
SP_3=Spower[2];
96
Apéndice A
AP_3=Apower[2];
RP_3=Rpower[2];
red_3=Cfp[2];
Serial.print(V1);
Serial.print(",");
Serial.print(V2);
Serial.print(",");
Serial.print(V3);
Serial.print(",");
Serial.print(I1);
Serial.print(",");
Serial.print(I2);
Serial.print(",");
Serial.print(I3);
Serial.print(",");
Serial.print(PF_1);
Serial.print(",");
Serial.print(PF_2);
Serial.print(",");
Serial.print(PF_3);
Serial.print(",");
Serial.print(SP_1);
Serial.print(",");
Serial.print(SP_2);
Serial.print(",");
Serial.print(SP_3);
Serial.print(",");
97
Apéndice A
Serial.print(AP_1);
Serial.print(",");
Serial.print(AP_2);
Serial.print(",");
Serial.print(AP_3);
Serial.print(",");
Serial.print(RP_1);
Serial.print(",");
Serial.print(RP_2);
Serial.print(",");
Serial.print(RP_3);
Serial.print(",");
Serial.println(celcius);
///////////////////////////////////////////////////////////////////////////////
//// Impresion de pantallas ////
///////////////////////////////////////////////////////////////////////////////
switch (pantalla) {
case 1:
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Temperatura:");
lcd.print(celcius);
lcd.print("C");
lcd.setCursor(0, 1);
lcd.print("V1:");
lcd.print(V1);
lcd.print("V");
lcd.setCursor(12, 1);
98
Apéndice A
lcd.print("I1:");
lcd.print(I1,1);
lcd.print("A");
lcd.setCursor(0, 2);
lcd.print("V2:");
lcd.print(V2);
lcd.print("V");
lcd.setCursor(12, 2);
lcd.print("I2:");
lcd.print(I2,1);
lcd.print("A");
lcd.setCursor(0, 3);
lcd.print("V3:");
lcd.print(V3);
lcd.print("V");
lcd.setCursor(12, 3);
lcd.print("I3:");
lcd.print(I3,1);
lcd.print("A");
break;
case 2:
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Temperatura:");
lcd.print(celcius);
lcd.print("C");
lcd.setCursor(0, 1);
lcd.print("FP1:");
lcd.setCursor(4, 1);
99
Apéndice A
lcd.print(PF_1);
switch(red_1){
case 1:
lcd.setCursor(9, 1);
lcd.print("LAG");
break;
case 2:
lcd.setCursor(9, 1);
lcd.print("LEAD");
break;
}
lcd.setCursor(0, 2);
lcd.print("FP2:");
lcd.setCursor(4, 2);
lcd.print(PF_2);
switch(red_2){
case 1:
lcd.setCursor(9, 2);
lcd.print("LAG");
break;
case 2:
lcd.setCursor(9, 2);
lcd.print("LEAD");
}
lcd.setCursor(0, 3);
lcd.print("FP3:");
lcd.setCursor(4, 3);
lcd.print(PF_3);
switch(red_3){
case 1:
100
Apéndice A
lcd.setCursor(9, 3);
lcd.print("LAG");
break;
case 2:
lcd.setCursor(9, 3);
lcd.print("LEAD");
break;
}
break;
case 3:
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Temperatura:");
lcd.print(celcius);
lcd.print("C");
lcd.setCursor(0, 1);
lcd.print("Ang:");
lcd.print(fase1);
lcd.setCursor(12, 1);
lcd.print("deg");
lcd.setCursor(0, 2);
lcd.print("Ang:");
lcd.print(fase2);
lcd.setCursor(12, 2);
lcd.print("deg");
lcd.setCursor(0, 3);
lcd.print("Ang:");
lcd.print(fase3);
lcd.setCursor(12, 3);
lcd.print("deg");
101
Apéndice A
break;
case 4:
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Temperatura:");
lcd.print(celcius);
lcd.print("C");
lcd.setCursor(0, 1);
lcd.print("S1:");
lcd.print(SP_1);
lcd.setCursor(11, 1);
lcd.print("VA");
lcd.setCursor(0, 2);
lcd.print("S2:");
lcd.print(SP_2);
lcd.setCursor(11, 2);
lcd.print("VA");
lcd.setCursor(0, 3);
lcd.print("S3:");
lcd.print(SP_3);
lcd.setCursor(11, 3);
lcd.print("VA");
break;
case 5:
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Temperatura:");
lcd.print(celcius);
lcd.print("C");
lcd.setCursor(0, 1);
102
Apéndice A
lcd.print("PA1:");
lcd.print(AP_1);
lcd.setCursor(11, 1);
lcd.print("W");
lcd.setCursor(0, 2);
lcd.print("PA2:");
lcd.print(AP_2);
lcd.setCursor(11, 2);
lcd.print("W");
lcd.setCursor(0, 3);
lcd.print("PA3:");
lcd.print(AP_3);
lcd.setCursor(11, 3);
lcd.print("W");
break;
case 6:
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Temperatura:");
lcd.print(celcius);
lcd.print("C");
lcd.setCursor(0, 1);
lcd.print("Q1:");
lcd.print(RP_1);
lcd.setCursor(11, 1);
lcd.print("VAr");
lcd.setCursor(0, 2);
lcd.print("Q2:");
lcd.print(RP_2);
103
Apéndice A
lcd.setCursor(11, 2);
lcd.print("VAr");
lcd.setCursor(0, 3);
lcd.print("Q3:");
lcd.print(RP_3);
lcd.setCursor(11, 3);
lcd.print("VAr");
break;
///////////////////////////////////////////////////////////////////////////////
//// Toma de muestras ////
///////////////////////////////////////////////////////////////////////////////
float VrmsFundamental(int PIN) // funcion que obtiene los parametros del motor por medio de
coeficientes de fourier
{
for(int c=0;c<3;++c)
{
unsigned int contador = 0;
unsigned long microsAnt = micros() - intervalosMuestra ;
//int j=0;
int k = 4;
float XREAL[k];
float XIMAG[k];
float YREAL[k];
float YIMAG[k];
double ARGX[k];
104
Apéndice A
double ARGY[k];
double f[k];
float CX[k];
float CY[k];
float xi[numMuestras]; // Vector donde se guardarán las muestras tomadas por el sensor
de voltaje
float yi[numMuestras]; // Vector donde se guardarán las muestras tomadas por el sensor
de corriente
}
for (int j=0;j<k;++j){
XREAL[j]=0;
XIMAG[j]=0;
YREAL[j]=0;
YIMAG[j]=0;
for(int i=0;i<numMuestras;++i)
{
XREAL[j] += ((float)xi[i])*cos((2*pi*(float)(2*j+1)*i)/numMuestras);
XIMAG[j] += ((float)xi[i])*sin((2*pi*(float)(2*j+1)*i)/numMuestras);
YREAL[j] += ((float)yi[i])*cos((2*pi*(float)(2*j+1)*i)/numMuestras);
YIMAG[j] += ((float)yi[i])*sin((2*pi*(float)(2*j+1)*i)/numMuestras);
105
Apéndice A
}
}
for(int j=0;j<k;++j){
XREAL[j] = 2*(XREAL[j]/(float)numMuestras);
XIMAG[j] = 2*(XIMAG[j]/(float)numMuestras);
YREAL[j] = 2*(YREAL[j]/(float)numMuestras);
YIMAG[j] = 2*(YIMAG[j]/(float)numMuestras);
CX[j] = sqrt((float)(XREAL[j]*XREAL[j])+(XIMAG[j]*XIMAG[j]))* ((5*201.0869565)/
1023.0); //201.0869565
CY[j] = sqrt((float)(YREAL[j]*YREAL[j])+(YIMAG[j]*YIMAG[j]))* ((5/0.100)/ 1023.0);
//Vrms[j] = CX[j]/(float)sqrt(2) ;
//Irms[j] = CY[j]/(float)sqrt(2) ;
if (-XIMAG[j]>0){
ARGX[j] = (atan2(-XIMAG[j],XREAL[j])*(180/pi))-20; //-26.02
}
else{
ARGX[j] = (atan2(-XIMAG[j],XREAL[j])*(180/pi))+360-20;
}
if (-YIMAG[j]>0){
ARGY[j] = (atan2(-YIMAG[j],YREAL[j])*(180/pi)); //16.2
}
else{
ARGY[j] = (atan2(-YIMAG[j],YREAL[j])*(180/pi))+360;
}
f[j] = ARGY[j]-ARGX[j];
}
Vrms[c]=sqrt(((float)(CX[0]*CX[0])+(CX[1]*CX[1])+(CX[2]*CX[2])+(CX[3]*CX[3]))/2);
Irms[c]=sqrt(((float)(CY[0]*CY[0])+(CY[1]*CY[1])+(CY[2]*CY[2])+(CY[3]*CY[3]))/2);
Apower[c]=((float)(CX[0]*CY[0])*cos(f[0]*pi/180)/2)+((float)(CX[1]*CY[1])*cos(f[1]*pi/180)
/2)+((float)(CX[2]*CY[2])*cos(f[2]*pi/180)/2)+((float)(CX[3]*CY[3])*cos(f[3]*pi/180)/2);
106
Apéndice A
Rpower[c]=((float)(CX[0]*CY[0])*sin(f[0]*pi/180)/2)+((float)(CX[1]*CY[1])*sin(f[1]*pi/180)/
2)+((float)(CX[2]*CY[2])*sin(f[2]*pi/180)/2)+((float)(CX[3]*CY[3])*sin(f[3]*pi/180)/2);
Spower[c]=sqrt((float)(Apower[c]*Apower[c])+(Rpower[c]*Rpower[c]));
PowerF[c]=(Apower[c]/Spower[c]);
Theta[c]=acos((float)PowerF[c])*180/pi;
if(Rpower[c]>0){
Cfp[c]=2;
}
else{
Cfp[c]=1;
}
Theta[c]=Theta[c]*pow(-1,Cfp[c]);
}
return 0;
}
void Pmas(){
pantalla++;
if (pantalla>6){
pantalla=1;
}
}
void Pmin(){
pantalla--;
if (pantalla<1){
pantalla=6;
}
}
107
Apéndice B
Código de MATLAB
clc
clear all
close all
load V1.mat
load V2.mat
load V3.mat
load I1.mat
load I2.mat
load I3.mat
load PF1.mat
load PF2.mat
load PF3.mat
load S1.mat
load S2.mat
load S3.mat
load P1.mat
load P2.mat
load P3.mat
load Q1.mat
load Q2.mat
load Q3.mat
load temperatura.mat
figure(1)
title ('Voltajes RMS por línea')
subplot (3,1,1)
plot (V1(1,:),V1(2,:))
108
Apéndice B
xlabel('tiempo discreto')
ylabel('Voltaje 1')
axis ([0,V1(1,length(V1(1,:))),0,150])
grid on
subplot (3,1,2)
plot (V2(1,:),V2(2,:))
xlabel('tiempo discreto')
ylabel('Voltaje 2')
axis ([0,V2(1,length(V2(1,:))),0,150])
grid on
subplot (3,1,3)
plot (V3(1,:),V3(2,:))
xlabel('tiempo discreto')
ylabel('Voltaje 3')
axis ([0,V3(1,length(V3(1,:))),0,150])
grid on
figure(2)
title ('Corientes RMS por línea')
subplot (3,1,1)
plot (I1(1,:),I1(2,:))
xlabel('tiempo discreto')
ylabel('Corriente 1')
axis ([0,I1(1,length(I1(1,:))),0,6])
grid on
subplot (3,1,2)
plot (I2(1,:),I2(2,:))
xlabel('tiempo discreto')
ylabel('Corriente 2')
axis ([0,I2(1,length(I2(1,:))),0,6])
grid on
subplot (3,1,3)
plot (I3(1,:),I3(2,:))
109
Apéndice B
xlabel('tiempo discreto')
ylabel('Corriente 3')
axis ([0,I3(1,length(I3(1,:))),0,6])
grid on
figure(3)
title ('Factor de potencia por línea')
subplot (3,1,1)
plot (PF1(1,:),PF1(2,:))
xlabel('tiempo discreto')
ylabel('F.P. 1')
axis ([0,PF1(1,length(PF1(1,:))),0,1])
grid on
subplot (3,1,2)
plot (PF2(1,:),PF2(2,:))
xlabel('tiempo discreto')
ylabel('F.P. 2')
axis ([0,PF2(1,length(PF2(1,:))),0,1])
grid on
subplot (3,1,3)
plot (PF3(1,:),PF3(2,:))
xlabel('tiempo discreto')
ylabel('F.P. 3')
axis ([0,PF3(1,length(PF3(1,:))),0,1])
grid on
figure(4)
title ('Potencia Aparente RMS por línea')
subplot (3,1,1)
plot (S1(1,:),S1(2,:))
xlabel('tiempo discreto')
ylabel('Potencia Aparente 1')
axis ([0,S1(1,length(S1(1,:))),0,200])
grid on
subplot (3,1,2)
110
Apéndice B
plot (S2(1,:),S2(2,:))
xlabel('tiempo discreto')
ylabel('Potencia Aparente 2')
axis ([0,S2(1,length(S2(1,:))),0,200])
grid on
subplot (3,1,3)
plot (S3(1,:),S3(2,:))
xlabel('tiempo discreto')
ylabel('Potencia Aparente 3')
axis ([0,S3(1,length(S3(1,:))),0,200])
grid on
figure(5)
title ('Potencia Activa RMS')
subplot (3,1,1)
plot (P1(1,:),P1(2,:))
xlabel('tiempo discreto')
ylabel('Potencia Activa 1')
axis ([0,P1(1,length(P1(1,:))),0,200])
grid on
subplot (3,1,2)
plot (P2(1,:),P2(2,:))
xlabel('tiempo discreto')
ylabel('Potencia Activa 2')
axis ([0,P2(1,length(P2(1,:))),0,200])
grid on
subplot (3,1,3)
plot (P3(1,:),P3(2,:))
xlabel('tiempo discreto')
ylabel('Potencia Activa 3')
axis ([0,P3(1,length(P3(1,:))),0,200])
grid on
111
Apéndice B
figure(6)
title ('Potencia Reactiva RMS')
subplot (3,1,1)
plot (Q1(1,:),Q1(2,:))
xlabel('tiempo discreto')
ylabel('Potencia Reactiva 1')
axis ([0,Q1(1,length(Q1(1,:))),-200,0])
grid on
subplot (3,1,2)
plot (Q2(1,:),Q2(2,:))
xlabel('tiempo discreto')
ylabel('Potencia Reactiva 2')
axis ([0,Q2(1,length(Q2(1,:))),-200,0])
grid on
subplot (3,1,3)
plot (Q3(1,:),Q3(2,:))
xlabel('tiempo discreto')
ylabel('Potencia Reactiva 3')
axis ([0,Q3(1,length(Q3(1,:))),-200,0])
grid on
figure (7)
plot (temperatura(1,:),temperatura(2,:))
xlabel('tiempo discreto')
ylabel('Temp. °C')
axis ([0,temperatura(1,length(temperatura(1,:))),0,100])
grid on
112