Autor Tema: Proyecto para medir el valor eficaz verdadero (True RMS)  (Leído 8183 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado DominusDRR

  • PIC24H
  • ******
  • Mensajes: 1937
    • Sicoy
Proyecto para medir el valor eficaz verdadero (True RMS)
« en: 01 de Mayo de 2023, 12:01:01 »
Hola.

Tengo en la mente un proyecto, que se puede decir que es más por pasatiempo que algo profesional.

Debo medir el voltaje RMS de la red eléctrica, cuyo valor debe ser de 127VAC, sin embargo, ese valor varía en algunas ocasiones, así que es necesario visualizarlo constantemente.

Una solución práctica y efectiva sería comprar un voltímetro (digital o analógico) y eso sería todo el reto.



Sin embargo como es algo que deseo hacer por divertirme y he decidido construir dicho voltímetro con elementos que poseo, como por ejemplo unas muestras de microcontroladores que alguna vez las adquirí, pero nunca les he dado un uso práctico.

La primera idea que se me vino a la mente, es usar un chip que ya es un voltímetro digital, en alguna ocasión, yo mismo lo sugerí, aquí en el foro a alguien que deseaba hacer, exactamente lo mismo.



Esta solución, también creo que no sería un reto grande. Obviamente el diseño del PCB y la colocación de los elementos sería algo divertido, pero prefiero también escribir algo de código.

Así que he decido darle un plus adicional al mismo. Aparte de simplemente medir y visualizar el voltaje RMS, voy a agregar dos funcionalidades más:

1. Mediante un pulsador, el hardware  dejará de mostrar el voltaje, a indicar la frecuencia de la red.
2. Si el voltaje es menor a un valor mínimo o mayor a un valor máximo, se activará una señal acústica para informar de dicho problema en la red.

A continuación muestro un diagrama de bloques bastante burdo e incompleto del hardware:



La primera condición, que elegido, es que el máximo valor pico de la señal de voltaje AC que podría medir el voltímetro sería 300V (212.13 Vrms), este valor es debido a que el ADC del microcontrolador trabaje con un valor DC máximo de 3.0V, y de esa manera los cálculos de los componentes podrían ser en valores cerrados (sin muchos decimales).

Entonces, cuando la señal de voltaje sea 300V, a la entrada del ADC debería ser 3.0V, mientras cuando sea -300V, el voltaje en la entrada ADC debería ser 0V.

Esto plantea un sistema de 2 ecuaciones con dos incógnitas:



Al resolver las ecuaciones, se tiene que la señal de voltaje AC, debe darse una ganancia (o mejor dicho, atenuarla) y sumarle un desplazamiento (offset)

La ganancia (menor que uno, es de 1/200) y el desplazamiento es de 1.5V.

Para atenuar la señal, así como la sumar del desplazamiento, decidí usar un amplificador operacional en modo restador con offset:



Donde R1 sería de un valor de 200k, Rf de 1k y Vref sería de 1.5V.

Como mencioné inicialmente, tengo varios elementos de muestras solicitada y sobrantes de otros proyectos, el amplificador operacional que dispongo es el MCP6L01, y procedí a realizar una simulación con MPLAB Mindi para determinar si funciona esta primera parte del circuito.



Algo que en este momento recuerdo, es que el microcontrolador funciona con 3.3V, pero el ADC deseo que funcione con un voltaje de referencia de 3.0V, la razón es que usar el mismo voltaje de alimentación, éste no es exacto, es decir se aproxima a 3,3V, pero suele variara ligeramente dependiendo de varias circunstancias.

Mientras que al tener una referencia fija de voltaje, creo que el error del ADC sería menor con respecto al voltaje del LDO.

Por último, el microcontrolador que poseo es el PIC32MX170F256B.



Espero recibir comentarios, sobre todo negativos para darme cuenta de algún posible error o problema que tenga mi proyecto antes de embarcarme en eso.

Estaré actualizando constantemente este hilo indicando el avance del proyecto.



 

 






 
« Última modificación: 01 de Mayo de 2023, 12:03:29 por DominusDRR »
Tengo una idea algo difusa sobre MPLAB Harmony, XC32 con PIC32

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re:Proyecto para medir el valor eficaz verdadero (True RMS)
« Respuesta #1 en: 01 de Mayo de 2023, 14:20:27 »
Muy interesante, me suscribo al hilo. De momento ya he aprendido algo: no conocía el MPLAB Mindi, así que muchas gracias

Desconectado DominusDRR

  • PIC24H
  • ******
  • Mensajes: 1937
    • Sicoy
Re:Proyecto para medir el valor eficaz verdadero (True RMS)
« Respuesta #2 en: 01 de Mayo de 2023, 15:25:56 »
Muy interesante, me suscribo al hilo. De momento ya he aprendido algo: no conocía el MPLAB Mindi, así que muchas gracias

Sí, es útil para simular componentes analógicos de MCHP, incluyendo operacionales y comparadores que están dentro de algunos microcontroladores.
« Última modificación: 01 de Mayo de 2023, 15:36:07 por DominusDRR »
Tengo una idea algo difusa sobre MPLAB Harmony, XC32 con PIC32

Desconectado DominusDRR

  • PIC24H
  • ******
  • Mensajes: 1937
    • Sicoy
Re:Proyecto para medir el valor eficaz verdadero (True RMS)
« Respuesta #3 en: 01 de Mayo de 2023, 15:35:38 »
Fuente de voltaje del sistema.

Para energizar al microcontrolador, amplificadores operacionales y display, quiero usar una fuente sin transformador, también denominada Transformerless Power Supply

Recordaba que tenía por ahí unos LNK3206GQ sobrantes de un proyecto, y por un momento pensé que los había perdido y los encontré.

Con este circuito integrado, puedo tener una fuente de voltaje DC de hasta 300mA, que creo que es suficiente para todos los elementos.



Para el display de 7 segmentos, pienso que podría trabajar con 5V, mientras que el MCU y los amplificadores OP, trabajarían a 3.3V.

La idea de esta fuente, es que el voltímetro siga trabajando correctamente midiendo el valor rms y la frecuencia a pesar que el voltaje de la empresa eléctrica varíe.





« Última modificación: 01 de Mayo de 2023, 15:38:30 por DominusDRR »
Tengo una idea algo difusa sobre MPLAB Harmony, XC32 con PIC32

Desconectado DominusDRR

  • PIC24H
  • ******
  • Mensajes: 1937
    • Sicoy
Re:Proyecto para medir el valor eficaz verdadero (True RMS)
« Respuesta #4 en: 01 de Mayo de 2023, 16:19:22 »
Circuito de acondicionamiento explicado con más detalle.

El circuito de acondicionamiento se puede aproximar al siguiente esquemático:



A continuación explico que debería hacer cada parte.

1. Amplificador OA1. Este conforma el diferencial con desplazamiento u offset que se explicó al inicio del post

2. Amplificador OA2. Este es la fuente de referencia de 1.5V. Nótese que para crear dicha referencia, parto del circuito referencia de voltaje de 3.0V LM4040D30ILPR, y mediante un simple divisor con resistencias, obtengo los 1.5V.



Ocupo este amplificador para un acople de impedancias, ya que una fuente o referencia de voltaje debe tener una impedancia baja respecto a la carga, pero el divisor de tensión con las resistencias R6 y R7, no cumplen dicha condición, así que con un seguidor de voltaje cumple la característica necesaria.

3. Amplificador OA3. Con este amplificador deseo crear un filtro activo para eliminar cualquier ruido de alta frecuencia, generalmente el ruido de alta frecuencia podría alterar al CPU del microcontrolador provocando un fallo o un reinicio. No es el diseño final y aún no he calculado los valores, está de referencia el filtro Butterworth  (¿O es Chebyshev? No recuerdo, lo he de determinar cuando sea necesario)

4. Amplificador OA4.

Necesito detectar el cruce por cero de la señal sinusoidal para empezar a adquirir datos y medir también su periodo (frecuencia).
Mediante el adicionamiento, la señal varia sobre un eje de 1.5V, así que usando la referencia de ese valor y la señal acondicionada para generar una onda cuadrada que llegará al microcontrolador y le permitirá detectar cuando empieza y finaliza un periodo de la señal.

Tengo una idea algo difusa sobre MPLAB Harmony, XC32 con PIC32

Desconectado DominusDRR

  • PIC24H
  • ******
  • Mensajes: 1937
    • Sicoy
Re:Proyecto para medir el valor eficaz verdadero (True RMS)
« Respuesta #5 en: 02 de Mayo de 2023, 11:56:27 »
Asignación de los terminales o pines del microcontrolador

La asignación de los pines del microcontrolador será de la siguiente manera:



A continuación lo explico con más detalle.

El terminal 1 es el reinicio, así que deberá conectarse a la red RC que recomienda el fabricante.

El terminal 2 será la referencia externa de 3.0V para el ADC.

El terminal 3 será la entrada al ADC.



Todo el puerto B será el bus de datos para el display de 7 segmentos.



Lo que no se aun es si utilizar el pin RB7 para controlar el punto decimal, es posible que decida que la lectura siempre sea con un decimal  y por lo tanto ese punto debería estar siempre activo sin necesidad de ser controlado por el MCU.

Al ser un display de 4 dígitos:



Necesito realizar un barrido de cada dígito, para lo cual los terminales RB8, RB9, RB12 y RB13 controlarán cada uno de los dígitos.

Los termines RA2 y RA3 serán para el cristal oscilador interno. Tenía la idea de usar el oscilador interno RC, pero al no ser preciso, no se que tan grande sea el error en las mediciones.

El terminal RA4 se conectará al terminal IC1 que corresponde al módulo de captura, que me servirá para medir el periodo de la señal e iniciar y detener la adquisición de datos del ADC.



Los terminales RB10 y RB11 me permitirán conectar el programador y depurador del microcontrolador.

El terminal RB14 servirá para el conmutador o pulsador que me permitirá pasar de leer el valor RMS a mostrar la frecuencia de la señal y viceversa. No se si usar una interrupción externa para ese evento o solamente mediante pulleo realizar ese proceso, sin embargo, escogí ese terminal porque se puede usar la interrupción externa 1 en caso que em anime a realizarlo de esa manera.



Y eso es todo por el momento, empezaré a diseñar el PCB cuando tenga un poco más de tiempo. Y cuando termine otra placa de mi trabajo, pienso enviaren conjunto para fabricar ambas a la vez.





Tengo una idea algo difusa sobre MPLAB Harmony, XC32 con PIC32

Desconectado DominusDRR

  • PIC24H
  • ******
  • Mensajes: 1937
    • Sicoy
Re:Proyecto para medir el valor eficaz verdadero (True RMS)
« Respuesta #6 en: 02 de Mayo de 2023, 12:04:07 »
Estoy olvidando la señal acústica, para lo cual debo general una onda cuadra, justamente con el terminal sobrante RB15, puede ser la salida del modulo de comparación 1 para generar una señal PWM.

Tengo una idea algo difusa sobre MPLAB Harmony, XC32 con PIC32

Desconectado DominusDRR

  • PIC24H
  • ******
  • Mensajes: 1937
    • Sicoy
Re:Proyecto para medir el valor eficaz verdadero (True RMS)
« Respuesta #7 en: 02 de Mayo de 2023, 13:47:51 »
Tenía unas dudas si el seguidor de voltaje para producir 1.5 funcionaría correctamente y con el comparador para crear la señal de onda cuadrada sincronizada con el cruce por cero.

Primero verifiqué, la referencia de 1.5 V y esto obtuve (Salida de X2)



Se puede apreciar que existe un ruido en la señal de 1.5V, reflejo de la señal AC de aproximadamente 70 uV pico a pico, tal vez debería usar un filtro RC para eliminarlo, con la consecuencia de aumentar la impedancia de la señal de referencia, o utilizar otro seguidor luego del filtro para evitar ese posible problema.

Luego verifiqué el X3 se comporta de manera apropiada como comparador y esto obtuve:



Así que parece que el ruido en la referencia de 1.5V no es problema.

Nótese que aun no he colocado el filtro alta frecuencia del amplificador diferencial con desplazamiento, cuya salida es la que debería usar para ser comparada con 1.5V.

Tengo una idea algo difusa sobre MPLAB Harmony, XC32 con PIC32

Desconectado DominusDRR

  • PIC24H
  • ******
  • Mensajes: 1937
    • Sicoy
Re:Proyecto para medir el valor eficaz verdadero (True RMS)
« Respuesta #8 en: 04 de Mayo de 2023, 12:37:32 »
Estoy en la parte más complicada del proyecto.....  :shock:

Encontrar un caja plástica para el dispositivo.

Estoy buscando algo similar a esto:



Lo ideal sería que la disposición fuese horizontal y mucho mejor si fuera transparente.

Si encuentro uno horizontal (de cualquier color) puedo cortar el panel frontal para colocar una lámina de acrílico trasparente y visualizar el display.

Tal vez también podría comprar sólo el enchufe y ponerlo en cualquier caja.

¿Alguna sugerencia?





Tengo una idea algo difusa sobre MPLAB Harmony, XC32 con PIC32



Desconectado DominusDRR

  • PIC24H
  • ******
  • Mensajes: 1937
    • Sicoy
Re:Proyecto para medir el valor eficaz verdadero (True RMS)
« Respuesta #11 en: 04 de Mayo de 2023, 13:16:12 »
https://www.altinkaya.eu/80-plug-in-enclosures

Gracias por la info.

Tal vez solo deba comprar un conector así:



Y colocarlo en cualquier caja.
Tengo una idea algo difusa sobre MPLAB Harmony, XC32 con PIC32

Desconectado DominusDRR

  • PIC24H
  • ******
  • Mensajes: 1937
    • Sicoy
Re:Proyecto para medir el valor eficaz verdadero (True RMS)
« Respuesta #12 en: 08 de Mayo de 2023, 11:39:26 »
Por el momento, empecé a realizar el esquemático de la fuente voltaje:



La bobina, por un instante no comprendía como usarla, ya presenta cuatro terminales, y el esquemático ejemplo, lo muestra como que fuese una bobina de dos terminales, sin embargo, en el mismo documento del LNK3206GQ, hay un ejemplo de diseño del PCB.

Tengo una idea algo difusa sobre MPLAB Harmony, XC32 con PIC32

Desconectado DominusDRR

  • PIC24H
  • ******
  • Mensajes: 1937
    • Sicoy
Re:Proyecto para medir el valor eficaz verdadero (True RMS)
« Respuesta #13 en: 11 de Mayo de 2023, 11:16:27 »
He diseñado el filtro de segundo orden con el software FilterLab de MCHP, para una frecuencia de 1000 Hz





Voy a utilizar resistencias de 9.3k y 13k respectivamente para R11 y R12, no creo que afecte mucho para la frecuencia diseñada.

La idea del filtro es eliminar cualquier ruido de alta frecuencia proveniente desde la red eléctrica.
Tengo una idea algo difusa sobre MPLAB Harmony, XC32 con PIC32

Desconectado scrwld

  • PIC12
  • **
  • Mensajes: 56
Re:Proyecto para medir el valor eficaz verdadero (True RMS)
« Respuesta #14 en: 12 de Mayo de 2023, 04:42:54 »
hola dominusDRR, en estos enlaces hay información que te puede servir para tu proyecto:


https://docs.openenergymonitor.org

https://docs.openenergymonitor.org/electricity-monitoring/index.html