Medición de voltaje de red (UE) de 230 VCA 50 Hz con Arduino

Me preguntaba si podría medir el voltaje de la red de CA con Arduino. El diseño utiliza un transformador para transformar de 230 VAC a 12 VAC. Luego, el voltaje es reducido por las resistencias. Arduino mide el voltaje sobre la resistencia de 10k.circuito transformador

Vi un par de publicaciones que usaban diodos + condensadores para rectificar la CA después de transformarla, pero vi otra publicación que hizo que Arduino tomara una muestra durante un período de tiempo y tomara el valor más alto.

¿Qué camino es mejor?

Cuando miro el gráfico del pin Arduino en el programa, todavía veo un voltaje negativo (-350 mV), ¿sobrevivirá el pin analógico?

Estoy probando un dispositivo que tiene paso de 230 V. Para probar la conexión, quería medir el voltaje del conector de salida del dispositivo.

Diseñé el circuito a continuación con la ayuda de la respuesta a continuación y este sitio: https://learn.openenergymonitor.org/electricity-monitoring/voltage-sensing/measuring-voltage-with-an-acac-power-adapter?redirected= verdadero

Con los valores de resistencia elegidos, el voltaje siempre estará entre 0 y 5 V, por lo que puedo tomar muestras del pin analógico y obtener el valor más alto en el software.

transformador con compensación

Como comentó acertadamente Ferrybig, los voltajes siguen siendo demasiado altos/bajos para el pin Arduino, ingresé mal la amplitud en el suministro de voltaje. Ajusté las resistencias a 22k/22k/3k/6.8k desde 22k/22k/12k/12k (no se muestra en la imagen)

Explique lo que está tratando de lograr: ¿quiere determinar si el voltaje de CA está presente o no? ¿O desea medir el valor real de la tensión de red (240 V, 241 V, etc.)? ¿O quieres usar los 50/60 Hz de la tensión de red?
Estoy probando otro dispositivo que tiene paso de 230 V, estoy midiendo 230 V de las conexiones para ver si la conexión está ahí.
Estoy midiendo 230V de las conexiones. Lo llamo una simple detección presente/no presente. Para eso, no hay necesidad de medir . Medir significa: el suministro es de 239 V o 241,4 V o 247,9 V. No lo necesita. Necesitas: hay tensión de red o no hay tensión de red. Qué valor tiene: ¿a quién le importa? Usaría un transformador o suministro o un circuito cuentagotas capacitivo para hacer que el LED en un optoacoplador se encienda (o no). Luego, el optoacoplador puede hacer fácilmente un 1/0 para Arduino.
Eche un vistazo aquí: learn.edwinrobotics.com/… Lo que necesita está en "Esquemas de circuito"
Tenga en cuenta que su circuito en "Editar 2" no es seguro para su Arduino. Red de la UE en 230Vrms+/-10%, por lo que 253Vrms en el peor de los casos. Esto tiene sus picos hasta 357V. Después del transformador 230:12, se trata de picos de 19 V (13 Vrms). Después de sus resistencias, hay picos de -3.8V a +3.8V. 2,5 V + 3,8 V es mayor que 5 V, que está fuera del rango de voltaje máximo de Arduino, 2,5 V - 3,8 V es menor que 0 V, que también está fuera del rango de voltaje mínimo de Arduino. El uso de un dispositivo fuera de su especificación máxima produce un comportamiento indefinido, puede fallar antes de lo esperado o los diodos ES pueden fallar en corto/abiertos
Guau, buena captura Ferrybig. Mi simulación estaba usando amplitud de CA. Ajusté las resistencias para que fueran 22k/22k/3k/6.8k en lugar de 22k/22k/12k/12k.

Respuestas (5)

En lugar de "tierra", conecte este punto a 2,5 V (la mitad de la fuente de alimentación Arduino de 5 V) y mida el otro punto alrededor de este valor central (sin necesidad de diodo, sin valores negativos). Tenga en cuenta que la "forma de onda" puede ser... "no sinusoidal"...

¡No sobrecargue la escala completa de ADC (0 -> 5V), se requiere atenuación "correcta"!

Tome un margen... Hasta 300 Vrms.

ingrese la descripción de la imagen aquí

Tome muestras, por ejemplo, cada 1 ms (en la UE), y luego calcule el valor RMS, alrededor de la "media" de las muestras (alrededor de ~ 2.5V, mídalo).

Ten cuidado... no me gusta la "red eléctrica"... y no me gusta...

Tenga en cuenta que si bien esto medirá el voltaje de la red, significa bastante trabajo y código para Arduino, lo que reduce el tiempo de flash y procesamiento disponible para otras tareas. Por el contrario, si dedica demasiado tiempo a otra tarea, la medición se verá afectada, por lo que es necesario tener cuidado en el código para garantizar que esto no suceda (uso cuidadoso de los temporizadores) o que no cause un problema (un tiempo de espera razonable antes de asumir que la red eléctrica ha fallado). abandonó).
@ChrisH He usado esta forma de medida (a través de una interrupción de 1 ms) para tomar 20 muestras con un Arduino estándar y luego calcular los valores medios, de fase, RMS y de potencia (en 2 canales U, I) ...
Puede hacerlo, pero si tiene que lidiar con un usuario que presiona un botón tan rápido como puede responder un controlador de interrupciones, o ejecuta una subrutina para reproducir un sonido, tendrá problemas. Las interrupciones del temporizador son buenas, pero no son la única forma de obtener tiempos. Algunos de mis proyectos necesitan que ciertas partes sean lo más deterministas posible y eso es mejor deshabilitar todas las interrupciones. En este caso tienes que hacer los cálculos. Cuadraría los valores a medida que se leen, y los almacenaría en un CircularBuffer (lo hago en un proyecto, para algo más rápido cuando no sucede nada más), luego promediar eso
Ok, para el búfer circular y las matrices, y algunos otros consejos para ganar tiempo :-)... Mi proyecto solo consistía en tomar muestras, calcular algunos datos... luego transmitir/almacenar en archivos... para su uso posterior con un más poderoso software ... para estadísticas ...

Parece como si solo estuviera tratando de verificar que haya 230 V y que el dispositivo de paso solo cambiará el voltaje de la red, no lo alterará de ninguna manera.

Para ello podrías hacer algo más sencillo y sin transformador: Utilizar un optoacoplador de 230V. Si no puede encontrar un producto adecuado, use una lámpara de 230 V y detecte con un fotoresistor o fototransistor en la entrada de Arduino.

Eche un vistazo a esta pregunta anterior: Optoacoplador de CA para detección de línea de 230 V

Si el "paso" tiene el potencial de alterar la red eléctrica (por ejemplo, si se trata de un UPS de doble conversión), entonces probablemente debería medir el voltaje para asegurarse de que no solo esté presente sino que esté dentro de las especificaciones.

Estaría bastante tentado a usar una combinación de lámpara y fototransistor en un prototipo único debido a la retroalimentación visible para la depuración. Puede comprar indicadores LED empaquetados para 230 Vac, lo que lo haría muy fácil

No, este circuito no parece estar diseñado para medir el voltaje de CA sino para generar un pulso de alto nivel para cada ciclo de energía. El voltaje pico de 12 V ca se trata 17.7 V dc y su divisor de voltaje solo lo divide por un factor de 2. El diodo zener es necesario para sujetar este voltaje y evitar que destruya el microcontrolador, pero significa que no puede usar ese voltaje con una entrada analógica y obtener algo proporcional a la tensión de red de CA.

La forma correcta de hacer esto depende en gran medida de por qué intenta realizar la medición y qué pretende hacer con ese valor. No nos has dicho eso.

Lo siento, estoy probando un dispositivo que tiene paso de 230V. Para probar las conexiones, quiero medir el voltaje en el conector.

Una forma fácil y segura de detectar la presencia o ausencia de 230 VCA es usar un adaptador de CA con salida de 5 V, como un cargador de teléfono celular antiguo. Eso proporciona aislamiento de una manera aprobada por la agencia de seguridad sin esfuerzo de diseño. Es posible que desee una pequeña carga en la salida, pero incluso con eso puede haber un pequeño retraso en las condiciones de encendido y apagado.

¿Qué pasa con un buen relé antiguo para 230 V CA y el pin Arduino de 5 V en el otro lado? Esa es la forma más segura y no necesita un transformador rectificador, etc.