Detección de corriente, voltaje y potencia para circuitos de 115 V CA

Estoy tratando de detectar voltaje, corriente y potencia con un Arduino (Due) para aplicaciones de monitoreo y diagnóstico. Para obtener una entrada razonablemente buena (mejor que Kill-A-Watt), diseñé un front-end de detección de CA para Arduino. Como este es mi primer diseño, le pido a la comunidad que eche un vistazo y me diga si todo tiene sentido y si funcionaría. Si todo tiene sentido y funciona, lo pondré en mi blog para que otras personas puedan usar la idea.

ingrese la descripción de la imagen aquí

Así es como funciona el esquema adjunto:

  1. para voltaje TR1 aísla el dispositivo de la CA y reduce el voltaje a 6,3 V RMS. Esto se divide por R7 y R8 y la señal se almacena en búfer por IC2A, se desplaza por R2 y R1 y se envía al amplificador de muestreo y retención SMP04, y luego al ADC.

  2. Para la corriente utilizo el transductor de efecto Hall LEM LTSR15-NP. La señal se divide nuevamente (tal vez no sea necesario), se almacena en búfer, se desplaza y se envía al S&H IC.

  3. Para la alimentación utilizo el multiplicador analógico AD835 cuya salida va al S&H IC.

Arduino generará la señal S&H.

Versión 2: Gracias por solucionar mis errores. Aquí está mi segundo intento:

ingrese la descripción de la imagen aquí

Versión 3: En la versión 2 arreglé el manejo de corriente como se enseñó y luego hice algo estúpido con el circuito de procesamiento de señal de voltaje. Esta es ahora la versión 3 donde he seguido los consejos de Techdude:

ingrese la descripción de la imagen aquí

Respuestas (1)

Montón de problemas aquí.

No puede operar el LTSR15-NP de esa manera: su pin de suministro de 0 V debe tener un potencial de tierra @ para alimentar sus componentes internos correctamente. Su salida Vout ya está en su Vref para corriente 0, 2,5 V +/-0,025 V, por lo que no es necesario realizar ningún cambio aquí. Por lo tanto, IC1A y su C2/R5/R6 no son necesarios*.

LTSR15-NP también proporciona su Vref como salida, y le recomendamos que lo use como su Vref en todo el sistema, hasta el pin de entrada Vref de Arduino. Deje que ese sea su voltaje de referencia, porque esto es mejor que usar el riel de suministro predeterminado de 5V 'Vcc' como su referencia para mediciones analógicas (debido a que cambia, obtendrá una precisión deficiente e incluso peor repetibilidad a largo plazo).

Por lo tanto, la Vsalida del LTSR15-NP debe tener una división de voltaje de 2:1 (p. ej., R3=R4=10k) de modo que 0 amperios = 1,25 V y escala completa +ve = 2,5 V y escala completa -ve = 0V.

IC2A no actúa como un búfer, simplemente como un cambiador de nivel para que su "punto de cruce de 0 voltios" esté a la mitad de Vcc. Nuevamente, en su lugar, usaría la salida Vref de LTSR15-NP en este cambiador de nivel [editar:] a través de un divisor de V de 2: 1, otro par de 10k, de modo que el punto de cruce de CA de 0 voltios esté en 1.25V. Luego, reutilizaría el IC1A como un búfer real en el arreglo de seguidor de voltaje.

Luego rehaga sus cálculos R7/R8 para que 150 V CA (suponiendo que esté en un sistema de red de 110/120 V CA) en el primario TR1 resulte en no más de [editar:] 2,5 Vpp, preferiblemente un poco menos. Luego, coloque algunos diodos Schottky en el nodo divisor R7/R8 (antes de la entrada del amplificador operacional Vfollower) hasta Vcc y hacia abajo hasta Tierra (es decir, ambos normalmente con polarización inversa) para sujetar los picos.

Además, solo está interesado en 50/60 Hz, por lo que querrá filtrar las frecuencias más altas tanto como sea posible (teoría de muestreo, Nyquist, etc.), de lo contrario, el ruido (inherente a la distribución de energía de CA) no solo afectará sus medidas directamente, pero el ruido por encima de su frecuencia de muestreo. también volverá a su rango de frecuencia de muestreo de interés. Agregue límites en esos dos nodos divisores de voltaje con constantes de tiempo RC calculadas apropiadamente para comenzar a rodar a, digamos, 100-200Hz. ¡Haga sus cálculos de potencia de resistencia aquí!

Coloque tapas de cerámica de 100 nF (0,1 uF) ('tapas de desacoplamiento') en los pines de la fuente de alimentación de todos sus chips [editar: y en la salida Vref del LTSR15-NP].

Supongo (espero) que el símbolo del conector de red IEC sea solo un marcador de posición para su cableado externo que pone la carga en serie con esto, de lo contrario, solo estará midiendo la corriente/potencia de su propio TR1 :).

Además, "como ejercicio para el estudiante", podría ser interesante hacer la multiplicación V & I usted mismo en el código Arduino y compararla con la salida del AD835 :)

Y se aplican todas las advertencias aplicables para trabajar con voltajes de red: esto es algo realmente peligroso. Si no lo ha hecho antes, busque ayuda de alguien que lo haga. Recomiendo encarecidamente trabajar en esto durante la fase de desarrollo con un disyuntor de fuga a tierra entre usted y la toma de corriente. Agrega un fusible. Siempre aísle todo el cableado principal para que el contacto humano sea imposible o al menos improbable.

Por seguridad durante el desarrollo inicial y la eliminación de errores, puede usar un transformador reductor para decir 18 V CA... solo recuerde los cambios de escala cuando se conecta a la red eléctrica real. :-)
Y para hacer que Arduino use este voltaje de referencia externo (conectado desde el LTSR15-NP) en lugar de su referencia interna, agregue: analogReference(EXTERNAL); a su configuración();.
@Techydude, ¿entendí correctamente sus correcciones? Esta es mi segunda revisión (las frecuencias de wrt retroceden, tengo que pensar/leer/depende de la carga). Ok, no puedo poner imágenes aquí, así que editaré mi pregunta original.
Su manejo del transformador de corriente es mejor, pero el lado de la medición de voltaje aún no está del todo allí. En primer lugar, el TR1 secundario está actualmente flotando, por lo que no medirá nada (significativo) en el nodo R7/R8. Volvería a poner IC2A en el arreglo que tenía (y lo que digo de ahora en adelante es el esquema original) con la salida del amplificador operacional en la parte inferior del secundario TR1; pero tenga el pin3 (entrada no inversora) conectado a la mitad de Vref (es decir, Vref a través de R1/R2=10k/10k a tierra, medio conectado a IC2A-pin3). Entonces...
Luego, volviendo a su segundo esquema, haga que el nodo R7/R8 entre en IC1A-pin3 (y saque R9/R10), con los 2 diodos de protección. Pero ambos diodos deben apuntar hacia arriba (tierra con polarización hacia adelante para señal y señal con polarización directa hacia el riel +5). Solo estoy haciendo esto en mi cabeza, así que veamos cómo se ve, luego podemos arreglar lo que queda :)
@Techydude: Hola, gracias de nuevo. Entiendo lo que hice mal y la forma en que estás haciendo que esto funcione. Todavía tengo una pregunta: en un comentario anterior dijiste que IC2A está configurado para cambio de voltaje pero no es un búfer analógico. Luego me hiciste usar IC1A como seguidor de voltaje. ¿Pero no es que ahora tenemos dos seguidores de voltaje: IC2A es seguidor de voltaje/cambiador de voltaje e IC1A es seguidor de voltaje solo porque tenemos un amplificador operacional de repuesto en el paquete? No es que importe, pero quiero imaginar cómo fluyen los electrones :)
Oye, creo que me confundí entre los 2 esquemas, ¡creo que dos líneas de pensamiento diferentes colisionaron! No tengo tiempo ahora, pero lo miraré más de cerca en las próximas 24 horas.
Perdona por la demora en responderte. Bien, me confundí entre el diagrama original y el segundo: pedo cerebral. Con respecto al diagnóstico n. ° 3: ¡básicamente no se requiere toda la sección del amplificador operacional IC2A (incluidos R1, R2 y C7)! Simplemente ate la parte inferior del transformador a tierra y dirija el nodo R7/R8 al búfer IC1A (seguidor de voltaje). Los diodos D1/D2 también deben estar en este nodo R7/R8 para sujetar cualquier cosa fuera del rango de 0 a Vcc +/- la caída del diodo.
@Techydude: OK, pero si elimino IC2A + R1, R2 y C7, ¿no será que el ADC obtendrá un seno con una amplitud de -1.25 a +1.25? Pensé que necesito R1 y R2 para agregar la constante ADCREF / 2 a la salida del transformador, ¿entonces puedo tener 0 a 2.5 en la entrada del ADC?
no, cuando conecta la 'parte inferior' del transformador a tierra, esa es su referencia de cero voltios, entonces la 'parte superior' del transformador oscilará entre 0 y aproximadamente 11 voltios, y las escalas divisorias R7 / R8 que hasta 0 a 2,5 V (para una entrada de CA en el primario de un poco más de 150 V). Si hubiera conectado a tierra el "toque central" del medio del transformador, entonces sí, la parte superior o la inferior estarían yendo +ve y -ve. Debido a que el secundario del transformador está completamente aislado de cualquier otra referencia (p. ej., tierra de la red), puede conectar el transformador de la forma que desee.
@Techydude: Lo que dice tiene sentido, pero entonces, ¿por qué este artículo openenergymonitor.org/emon/buildingblocks/… usa dos resistencias de 470K para agregar sesgo?
Lo siento, realmente te conduje por el camino del jardín en el lado del voltaje de las cosas. No debería responder preguntas aquí a altas horas de la noche :), creo que estaba imaginando un puente rectificador (invisible) en algún lugar guardando todo 'por encima de cero'. Sí, la disposición del OEM es correcta, usando un amplificador operacional como 'compensación', y luego mi sugerencia de almacenar en búfer el nodo medido con otro amplificador operacional, aunque mi segundo búfer de amplificador operacional probablemente sea opcional, pero aún así usaría como parte de su etapa de filtrado de ruido (mencionado originalmente).
Así que aquí: openenergymonitor.org/emon/buildingblocks/… , el único cambio que haría sería usar la referencia de 2.5V (del tx actual) en lugar de donde están usando los 5V de Arduino como referencia; en su lugar, use los 2,5 V Vref de su transmisión actual a través de un divisor para obtener 0,5 Vref en la entrada del amplificador operacional +ve. Luego, donde tienen 100k/10k (usted 100k/27k) tienen esos 2 diodos de polarización inversa para sujetar los picos. Luego, el seguidor de voltaje del segundo amplificador operacional opcional (que podría ser útil para el filtrado de ruido).
@Techydude: ¡Muchas gracias! Aprendí muchas cosas. Ojalá pudiera enviarte una botella de algo. Ahora estoy preparando el PCB y cuando lo reciba en 2-3 semanas les haré saber cómo funciona. También puede publicar toda la experiencia en un blog; apuntará a su página de intercambio de pila para que obtenga su crédito por enseñar.
jajaja, no te preocupes, lo siento, te desvié un poco. Todavía agregaría un límite en el nodo 100k/27k para que pueda hacer un filtrado de ruido de mayor frecuencia; tener la huella allí en la PCB es ideal, incluso si no termina queriéndolo/usándolo/necesitándolo. Lo mismo en el nodo R3/R4, también hay un límite a tierra. ambos para que pueda eliminar cosas que están por encima de su frecuencia de interés de 50/60Hz. aunque no desea configurarlo demasiado bajo, los primeros armónicos pueden transmitir información útil con algunos tipos de carga, pero cualquier cosa por encima, digamos, 500 Hz no será útil y, de hecho, se interpondrá en el camino.