Go Down

Topic: Midiendo tensión alterna, circuitos. (Read 453 times) previous topic - next topic

victorjam

Apr 10, 2019, 03:52 pm Last Edit: Apr 10, 2019, 03:57 pm by victorjam
Midiendo TENSION ALTERNA con Arduino


Me he encontrado que necesito medir una tensión alterna y he estado mirando un poco las alternativas que hay hacerlo con Arduino. Me asaltan dudas y quiero compartirlas con vosotros.

¡¡ATENCIÓN!! DIGO MEDIR TENSIÓN NO MEDIR CORRIENTE, TAMPOCO DETECTAR.


¡¡ATENCION!! MEDIR TENSIÓN ALTERNA CON ARDUINO CONLLEVA RIESGO ELECTRICO Y ES PELIGROSO. MANEJAR CON CUIDADO


1. USANDO RECTIFICADORES.

Este método consiste en coger la señal alterna y rectificarla con lo que a la salida tenemos una tensión continua proporcional a la entrada.

Al rectificar tenemos dos opciones: media onda o onda completa. La diferencia radica que el de media onda solo rectifica el semiciclo positivo y el de completa la señal entera. Si usamos un medio u otro lo que conseguimos es variar la tensión de rizado de la tensión de salida.

En ambos métodos se usa un divisor de tensión para reducir la tensión que va a entrar en el arduino. En el caso de media onda solo utilizamos un diodo, mientras que en el de onda completa usamos un puente de diodos completo. En ambos casos conviente utilizar un condensador para filtrar y reducir el rizado de la señal de salida.




Ventajas de rectificar:

  • La tensión de salida es proporcional a la entrada, con lo que podemos leer directamente la señal con una entrada analógica de un arduino.


Desventajas:

  • La tensión de salida es "proporcional" a la entrada, de aquella manera, hay
    que tener en cuenta la caida de tensión que se produce en los diodos y está denpende
    del diodo, de la tensión, de la corriente que circula, etc...
  • No hay aislamiento, es decir tenemos el Arduino físicamente unido a la tensión alterna que se ha de medir, lo cual es peligroso


2. CON DESPLAZAMIENTO DE LA SEÑAL

En este sentido lo que hacemos es reducir la señal de entrada usando un divisor resistivo para reducir la tensión a medir (recordemos que Arduino solo acepta 5V de tensión positiva), y una vez reducida le añadimos una componente continua, generalmente de 2.5V, que se convierte en nuestro "0".

Si hacemos una busqueda en la red nos encontraremos con los dos circuitos mayormente usados: el de OpenEnergyMonitor y el del monitor de energia que usa la hoja de aplicación Atmel AVR465: Single-Phase Power/Energy Meter with Tamper Detection

El circuito de OpenEnergy es el siguiente:



Mediante un transformador se reduce la corriente alterna, luego se dividie con un divisor resistivo, y con otro divisor resistivo se le añade el desplazamiento OFFSET. Cuando hacemos el primer divisor reducimos la tensión a muy poco, generalmente 1 voltio, así que si usamos un offset de 2.5 voltios tenemos una señal alterna que oscila entre los 1.5 (semiciclo negativo) y 3.5 voltios (semiciclo positivo).

Atmel (ahora Microchip) sugiere en su nota de aplicación el siguiente circuito:




Prácticamente es muy similar al anterior, hace exactamente lo mismo, pero la configuración es diferente. El desplazamiento aquí no se añade directamente, si no que se utiliza un condensador para desacoplo de la continua de la alterna.

Aquí el cálculo de la tensión es más complejo: la señal sigue siendo alterna, con lo que hay que hacer un muestreo de la señal, quitando la componente continua.

Lo bueno de este método es que al hacer el muestro no solo tenemos el valor de la tensión, si no que si lo hacemos bien obtendremos más datos de la señal: frecuencia, valor pico, valor rms, etc. Por contra, tenemos que el Arduino ha de perder tiempo realizando esos cálculos.

3.- EL USO DEL TRANSFORMADOR.

En casi todos los circuitos se hace una conexión directa a la tensión a medir (excepto en el de openEnergy) con el riesgo que ello implica. Para reducir este riesgo y minimizar los posibles daños a nuestro arduino podemos usar un transformador.

Con ello estaremos haciendo dos cosas: reducir la tensión a medir y añadir una nueva variable en el cálculo: hay que calibrar. Generalmente los transformadores que se usan son los de fuentes de alimentación, no hay dos iguales, la relación de transformación no es exactamente igual y eso implica que tengamos un error en la medición.

Esto es una "pequeña" introducción, aun me queda explicar otra alternativa como el uso de un modulo ZMTP101B o un PZEM004, pero me voy a trabajar. Luego continuaré, y expondré mis dudas.

victorjam

#1
Apr 12, 2019, 03:01 pm Last Edit: Apr 12, 2019, 03:04 pm by victorjam
Hola a todos, voy a continuar:

4. MÓDULO ZMPT101B.

Este me sorprendió, simplemente porque aunque es usado para medir voltaje en realidad el transformador usado es un transformador de corriente.

¿Qué diferencia hay entre un transformador de corriente y uno de tensión?

Cómo su nombre indica cada uno transforma o bien tensión o bien corriente. El principio es el mismo: una bobina llamada primario por la que pasa la tensión (o corriente) y otra llamada secundario en la cual se induce una tensión (o corriente) "proporcional" a la del primario.



El uso general de un transformador de tensión ya lo conocemos todos: metemos 220v (110v) de alterna por un lado y por el otro sale una tensión según el transformador (6v, 12v, etc.). Estos transformadores se colocan en paralelo y los usamos de forma habitual para alimentar nuestros circuitos convirtiendo esa alterna en continua.

No confundir un transformador con una fuente conmutada, son dos cosas distintas aunque las usemos para lo mismo.



En un transformador de corriente lo que se transforma es la corriente. Si por el primario pasa una corriente, en el secundario habrá una tensión proporcional a esa corriente. Esa corriente se convierte en tensión para dar una medida de la intensidad.

El transformador de corriente lo hemos visto muchas veces como una especie de "rosquilla" por la que pasamos el cable. Este tipo de transformador se llama no invasivo. Aunque también lo hay instrusivos, que se colocan en serie con la carga para medir la corriente que circulará por ella.

Bien, el ZMPT es un trafo de corriente, ¿por qué lo usamos para medir tensión?

Truco del almendruco: Primero definimos un rango de tensión a medir, por ejemplo hasta un máximo de 250 voltios. Segundo, colocamos una resistencia en serie con el transformador de corriente, sabiendo la máxima corriente que va a medir el transformador. Aplicamos la ley de ohm: medimos la corriente que circula y sabiendo la resistencia V=RxI tenemos la tensión que circula.

¿cómo se mide la corriente en el secundario?

Lo lógica dicta: una resistencia. Cuando esa corriente pase por la resistencia, entonces tendremos una caida de tensión que es la que podremos medir con nuestro Arduino.

Ahora haré una traducción adaptada del pseudo-datasheet del ZMPT:



Lo primero es determinar la tensión máxima de salida del secundario. Para ello tendremos en cuenta la máxima tensión que aguanta el conversor analogico digital que usemos, en el caso de Arduino (sin usar un voltaje externo como referencia) será de 5v. Asi que ese será el valor pico de la señal alterna. Ahora cálculamos el valor eficaz de esa señal (RMS) dividiendo por 1.41 (la raiz cuadrada de dos), con lo que tendremos que la tensión de salida será de 3.53v.

Lo siguiente es determinar la corriente de trabajo del transformador. El ZMPT tiene una relación de 1:1, es decir, la misma corriente que haya en el primario habrá en el secundario, además la corriente máxima permitda son 2mA. En el datasheet recomiendan que elijamos una corriente cercana a los 2mA si la tensión es menor de 100v y de 1mA si la tensión es de 220V o mas.

Una vez fijada la corriente, calculamos el valor de R' (la resistencia que vamos a poner en serie con dicho transformador). Para ello tenemos en cuenta el máximo de la tensión a medir (por ejemplo 250v) y lo dividimos por la corriente, con lo que tenemos la resistencia. Solo hemos aplicado la ley de ohm.

Hemos de calcular la potencia que va a consumir la resistencia, tened en cuenta que al circular una corriente se calentará. Aplicamos P=RxI2 y tendremos la potencia que disipará, en el datasheet recomiendan poner una resistencia que aguante hasta 4 veces mas potencia.

Por último calculamos la resistencia que vamos a poner en el secundario. No lo comenté antes pero esta resistencia se llama burdem. Conocemos la tensión del eficaz del ADC (3.53v que calculamos en el primer paso) y la corriente que hemos fijado, aplicamos la ley de ohm y obtenemos el valor de la resistencia.

El esquema de un módulo de medicion es el siguiente:



En el podemos observar una resistencia limitadora de 820k y un burden de 100 ohmios. La tensión obtenida, según mis calculos a 220v será de 0.03v. Esa tensión es amplificada con un amplificador diferencia y luego se le añade un offset de 2.5v.

El método me gusta, tiene la ventaja de que el transformador de corriente tiene aislamiento galvanico de 3000v con lo que el Arduino está físicamente separado de la tensióna a medir. No me gusta tanto porque hay que muestrear, y muestrear como dije antes, implica tiempo y cálculo.

Ahora lanzo alguna pregunta.

- ¿Creéis que funcionará coger el transformador y en vez de muestrear aplicamos el método de la rectificación de la señal?
- Alguien sabría decirme como se comporta un transformador cuando la tensión a medir ademas de ser variable tiene una frecuencia indeterminada (inferior a la red). Es una bobina, cuyo comportamiento en alterna depende de la frecuencia.

Por cierto, si me equivoco en algo, pido por favor que se me corrija.



tauro0221

Hi,
Una forma de hacerlo tambien es de usar un divisor de resistencia  y el voltaje  de salida  va a un op amp que tiene el zero 2.5 voltios .En otra palabras el zero del op amp a 2.5 voltios. Para leerlo vaz a leer el valor mas alto y el mas bajo y hay tiene la lectura del voltaje ACde entrada. Mas o menos el principio del ACS712. Que zero esta VCC/2.

victorjam

#3
Apr 12, 2019, 07:47 pm Last Edit: Apr 12, 2019, 07:55 pm by victorjam
Creo que te refieres a esto:



La salida del primer OP es la tensión amplificada, la del segundo (marcado en rojo), simplemente añade el offset de VCC/2 (2.5v).

tauro0221

#4
Apr 12, 2019, 08:41 pm Last Edit: Apr 12, 2019, 10:53 pm by tauro0221
Hi,
Eso es correcto. Para leerlo lees el punto max y el punto minumo, Esto te dara  el voltaje. Recuerda que tienes que leerlo por un  tiempo determinado de la fecuencia AC. Si es de 60hz  tienes que leer el input  por lo menos un tiempo de 1/F=16ms y calcula el voltaje.

Adjunto un sensor que puedes usar para leer AC. El modulo se llama ZMPT101B y tambien adjunto un link de como programarlo. Creo que es lo que estas buscando.
 https://surtrtech.com/2019/01/21/easy-measure-of-ac-voltage-using-arduino-and-zmpt101b/

arduin01

El método del transformador de corriente no es correcto, ya que lo único que haces es añadir un resistor que convierte la salida de corriente en voltaje para poder medirla con un ADC, pero eso no implica que estés midiendo el voltaje en el primario (que es el cable por el que pasa la corriente), ya que el campo magnético generado por el cable (y por tanto la corriente inducida en la bobina del transformador) es proporcional a la corriente, no al voltaje, algo que no es posible cambiar de ningún modo, por lo que mides corriente, no voltaje.

Si quieres medir voltaje de manera no invasiva, es posible usar una sonda capacitativa, en la que es como un condensador en el cual el cable es una placa del condensador y la sonda es la otra placa. Claro, que este método no es tan exacto al haber mayor cantidad de ruido.
"Hay 10 tipos de personas en el mundo: las que saben binario y las que no." -- Anónimo
"There are 10 types of people in the world: those who know binary and those who don't." -- Anonymous

victorjam

#6
Apr 19, 2019, 03:07 pm Last Edit: Apr 19, 2019, 03:07 pm by victorjam
Ya sé que no es la forma más lógica de medir tensión, es más, cuando lo ví dude.

Pero piensa en el esquema:



La resistencia del primario del transformador es despreciable con respecto la resistencia R'. Si consideramos una resistencia ideal, obviando que se calentará y cambiará de valor, la corriente i en el primario dependerá de la tensión de entrada, aplicando la ley de Ohm i=Vin/R'. Es decir si la tensión disminuye, la corriente también disminuye, lo mismo ocurre al aumentar. No estamos midiendo tensión, estamos midiendo la corriente que pasará por la resistencia R'.

La relación del transformador es de 1:1, es decir en el secundario habrá la misma corriente i. Por lo que para poder provocar una
caida de tensión tendremos que usar nuevamente una resistencia R y aplicaremos la ley de Ohm de nuevo.

No es una transformación directa de voltaje a voltaje. De voltaje a corriente y de corriente a tensión.

Tampoco he dicho que cojamos cualquier transformador de corriente servirá para hacer esto. En este caso se trata del ZMPT101B que es un transformador "de potencial" para medidas, que en realidad es un transformador de corriente. Si pincharamos el ZMPT101B directamente sin resistencia R', lo más normal, es que provoquemos un cortocircuito.




Tengo encargados unos para probar, pero no me llegan hasta el mes que viene...

arduin01

#7
Apr 19, 2019, 03:32 pm Last Edit: Apr 19, 2019, 03:32 pm by arduin01
Ah, vale, yo pensaba que te referías a los típicos transformadores de corriente no invasivos, ya que la imagen que pusiste es la de uno de esos. Entonces no es más que un método indirecto para medir el voltaje, aunque sigue siendo invasivo porque tienes que conectarlo eléctricamente a los cables con el voltaje que quieres medir. No entiendo muy bien por qué lo habrán hecho así, me parece complicarse demasiado la vida cuando puedes usar un circuito más sencillo como el de OpenEnergyMonitor.
"Hay 10 tipos de personas en el mundo: las que saben binario y las que no." -- Anónimo
"There are 10 types of people in the world: those who know binary and those who don't." -- Anonymous

victorjam

#8
Apr 19, 2019, 04:02 pm Last Edit: Apr 19, 2019, 04:04 pm by victorjam
El problema que veo en el método de OpenEnergy lo comenté anteriormente: hace uso de un transformador corriente (normal, por no confindir) de tensión. No digo que el método no sea válido, solo cuestiono al transformador usado.

En un transformador normal, de los de "casa", veo lo siguiente:

  • No existe una relación de transformación precisa.
  • La tensión de salida variará con el circuito de medida ya que aplicará una carga
  • No hay dos iguales, así que si hacemos varios circuitos tenemos que calibrarlos todos.
  • Precio. El tamaño del bobinado encarece el producto. No he encontrado transformadores por menos de 6€ y con suerte (El circuito del ZMPT cuesta 2€).


En mi busqueda por la red, intenté encontrar un transformador de tensión para medida (que si son mas precisos) y mi busqueda fue infructuosa... al menos lo que encontraba no era precisamente barato. Si alguién sabe de alguno que lo comente.

En teoría, el ZMPT tiene precisión.


surbyte

Bueno, he leído este tópico por encima y como te conozco no quise responder a la ligera. Asi que hoy que estoy tranquilo y tengo tiempo iré respondiendo paso por paso.

Desde ya muy buena introducción, detallada y simple para quien este interesado en el tema. No sabía que el sensor ZMPT101B era un trafo de corriente, lo que resultó en una revelación de las que siempre me alegro cuando leo el foro, porque siempre se aprenden cosas.

post#1

Quote
¿Creéis que funcionará coger el transformador y en vez de muestrear aplicamos el método de la rectificación de la señal?
Funcionar funciona, pero a mi no me gusta. Muestrear no cuesta nada si usas EMONLIB.h Library que lo hace por ti.

Quote
Alguien sabría decirme como se comporta un transformador cuando la tensión a medir ademas de ser variable tiene una frecuencia indeterminada (inferior a la red). Es una bobina, cuyo comportamiento en alterna depende de la frecuencia.
El transformador tiene una respuesa en frecuencia, recuerda los transformador viejos de audio.
Entonces... es lógico pensar que estará centrada en 50Hz? Si.

Yo creo que se comportan bien. Haré una busqueda a ver que puedo aportar.

RESPUESTA EN FRECUENCIA DE LA GANANCIA EN TENSIÓN


https://scielo.conicyt.cl/fbpe/img/infotec/v23n1/art09-f6.jpg

Se comporta muy bien!!

Ahora respecto al método, tengo alguna duda en esta situación:

Si la carga es Resistiva desde ya que es válido porque corriente y tensión están en fase. El desfasaje entre tensión y corriente es lo que estamos olvidando en AC.
 
Cuando tenemos una carga inductiva o capacitiva,  tensión y corriente no están en fase.
Supongamos que tenemos un motor como carga. llamo UL a la caida de tensión en ese motor.
Llamo Us = UR' + Ul' a las caidas presentes en el sensor y como UR' >> Ul' olvido Ul' y digo que Us = UR'
Asi que la tensión aplicada al motor y sensor será : U = UL + UR'

La corriente siempre esta en fase con la carga de modo que la tensión que leerás estará afectada por el desfasaje... y acá mi duda.. esto es relevante si o no? jajaja no se.. se me quemaron los libros.

De nuevo suponemos que UR' sera despreciable frente a UL? Cuando medimos deben afectar lo menos posible la medición a realizar.
Creo que 1mA es nada comparado con lo que Víctor pretende medir como corriente de carga. Tal vez relación 1:1000 o mas, Asi que seguimos bien.

Bien... di toda la vuelta y se me escapó por ahí el desfasaje... tendré que pensar que mides lo mismo y claro que estoy seguro que asi es pero, han pasado algunos años de este capítulo de ingeniería y es bueno recordar las cosas.

Mi conclusión es que luce bien pero aún me molesta el tema del desfasaje así que tal vez me quites la duda que me he generado gratuitamente.

Estoy seguro que se me escapa algo en esto que he expuesto.

victorjam

No sé si me queda claro lo que quieres decir con el desfasaje.

Si la carga es resistiva, efectivamente, no pasa nada.

Pero si la carga es inductiva, se producirá efectivamente un desfase entre tensión y corriente, cuyo resultado es la generación de potencia reactiva. Pero estamos midiendo tensión solamente, con lo que nuestro sensor-voltímetro estará en paralelo con la carga. Si se produce una caida de tensión con la carga, supongamos que nuestro sensor se comporta como un voltímetro ideal (no absorverá corriente) la caida de tensión será medida por él, no importa que la corriente se quede atrás (o venga por delante), es tensión.

Si lo que queremos medir es la potencia, entonces si que tenemos que tener en cuenta el desfase entre tensión y corriente, con lo que hemos de medir tensión por un lado, corriente por otro, obtener ese desfase y asi calculamos las potencias: real, aparente y reactiva.

Bien es verdad que si usamos un transformador para medir hay que considerar que si hay un desfase entre primario y secundario. Y creo que eso es aplicable tanto al ZMPT como a cualquier otro transformador. En el datasheet pone que tiene un desfase <=20' para una resistencia burden de 100 Ohms, 20 minutos... dadme un osciloscopio bueno para ver eso.

No sé si estoy equivocado o no.

surbyte

Quote
Pero estamos midiendo tensión solamente, con lo que nuestro sensor-voltímetro estará en paralelo con la carga.
Ahhhhhhhhhhhhh ahora comprendo.... me equivoqué...

Olvidá todo lo que dije.. pense que al ser un trafo de corriente estaba en serie con la carga... y de ahi surgió toda mi confusión con el defasaje.

No estas en Serie, estas en paralelo y usas ese recurso para medir tensión con un trafo de corriente.

Listo.. para mi esta bien y es mas voy a pedir uno para ver como se comporta porque me gusta el enfoque.
Solo que malentendí como era la conexión con la carga.


victorjam

#12
Apr 20, 2019, 10:44 am Last Edit: Apr 20, 2019, 10:45 am by victorjam
No hay problema.

De hecho es normal confundirse. Un trafo de corriente midiendo tensión... Pero claro ves el módulo:



Y lees 2ma/2ma... Espera, aquí hay tongo...  Si no coges el módulo, le echas un vistazo al esquema, al datasheet y entiendes su funcionamiento, lo lógico es estar más que confundido.

surbyte

Pero no me confundió eso. Me confundió el creer no se porque que estaba en serie con la carga.. algo que no tiene sentido si justamente vas a medir tensión sea como sea.
De todos modos mide bien? Si.

Lo has constrastado?

victorjam

Aún no he contrastado nada porque aún no me llega. Tengo unos pocos para probar (siempre se quemará alguno), pero según el "vendedor" entre el 3 y 13 de Mayo.

Go Up