Está en la página 1de 9

Medidor de Potencia AC sin Amplificador Operacional

Esta es una versión simplificada del medidor de Potencia AC ya que no posee la


etapa de amplificadores operacionales para realizar el rectificado de onda completa
de precisión, lo cual reduce al máximo la calibración y complejidad del mismo,
también eleva un poco el nivel de error ya que posee menos instancias de
acondicionado de señal.

FUNCIONAMIENTO:

El método que utilizaremos para nuestro medidor será basado en montar la señal
alterna a medir en una continua a 2.5V (el punto medio de representación del ADC
del MCU con 5V).

Para ello agregaremos el offset mediante un divisor resistivo y un atenuador de


tensión para ingresar la alterna con offset al ADC con una amplitud reducida, ya que
no podemos ingresar con los 220Vac.

Esto será para el caso de la medición de tensión, ya que en corriente utilizaremos


un circuito integrado dedicado ACS712 (en mi caso de 5A, pero los hay en 20 y
30A).

En esta nota vamos a encontrar diversas maneras de sensar corriente, una de ellas
será la del ACS712 que podremos leer.

NOTA: se ha implementado una mejora al nivel de ruido del sensor ACS712


mediante un filtro RC de 1k y 1uF. Podemos ver la diferencia notable en el
osciloscopio, aunque el algoritmo de medición realiza una integración mediante la
discretizacion de la señal, podemos mejorar aún más la relación señal ruido del
amperímetro, este reduce el ruido para niveles bajos de corriente.
CÓDIGO PARA ARDUINO:

1. #include <math.h>
2. #include <LiquidCrystal.h>
3. LiquidCrystal lcd(7, 8, 9, 10, 11, 12); //( RS, EN, d4, d5, d6,
d7)
4. #define CONST_CORRIENTE 2
5. #define CONST_TENSION 530
6. int i, adcZ=0;
7. float adc1=0, valorMax1=0, adc2=0, valorMax2=0;
8. float tension, corriente, potencia;
9. void setup(){
10. lcd.begin(16, 2);
11. lcd.clear();
12. }
13. void loop(){
14. do{
15. adcZ=analogRead(A0)-512;
16. delayMicroseconds(20);
17. }while(adcZ<10);
18. for(i=0;i<500;i++){
19. adc1=(analogRead(A0)*5.0/1023.0)-2.5;
20. delayMicroseconds(33);
21. valorMax1=adc1*adc1+valorMax1;
22. adc2=(analogRead(A1)*5.0/1023.0)-2.5;
23. delayMicroseconds(33);
24. valorMax2=adc2*adc2+valorMax2;
25. }
26. tension=sqrt(valorMax1/500)*CONST_TENSION;
27. corriente=sqrt(valorMax2/500)*CONST_CORRIENTE;
28. potencia=tension*corriente;
29. delay(2000);
30. if(tension<50.0||corriente<0.03){
31. lcd.setCursor(0,0);
32. lcd.print(" W:000.0 ");
33. lcd.setCursor(0,1);
34. lcd.print("V:000.0 A:0.00");
35. }else{
36. lcd.setCursor(5,0);
37. lcd.print("W:");
38. lcd.setCursor(7,0);
39. lcd.print(potencia);
40. lcd.setCursor(0,1);
41. lcd.print("V:");
42. lcd.setCursor(2,1);
43. lcd.print(tension);
44. lcd.setCursor(10,1);
45. lcd.print("A:");
46. lcd.setCursor(12,1);
47. lcd.print(corriente);
48. }
49. valorMax1=0;
50. valorMax2=0;
51. }

Reemplazar los potenciómetros por la etapa de censado que se ve en el primer circuito,


El resto corre igual se utilizan dos canales ADC al igual que en el primer circuito. Se ha
utilizado potenciómetros para la simulación.

ACTUALIZACIÓN (ARDUINO):
DETECTAR RADIACIÓN CALÓRICA HUMANA CON UN SENSOR
PIROELÉCTRICO

OBJETIVO:

Construir un sistema de seguridad que indique una alerta cuando se detecte


movimiento de personas a través de un sensor piroeléctrico empleando el arduino
uno.

MATERIALES:

 Arduino uno
 Sensor PIR
 Amplificador operacional LM358
 1 potenciometro de 10k ohm
 1 resistencia de 1M ohm,1 de 470 ohm y 1 de 150 ohm
 Optoacoplador MOC3011
 Triac 2N6073AG
 Lampara incandescente de 100W
 Alambre macho-macho calibre 24AWG
 Alambre calibre 24 AWG
 Protoboard

DESARROLLO

Descripción del sensor PIR

El sensor piroeléctrico(PIR) mide la radiación infrarroja. Una de sus ventajas es que


puede configurarse al sensor para detectar únicamente en un rango especifico de
radiación infrarroja; en general, para un sistema de seguridad este rango comprende
la IR del cuerpo humano.

La descripción de los pines del sensor es la siguiente:

 VCC. Voltaje de alimentación de 5 V


 GND. Voltaje de referencia(tierra)
 OUT. Señal de salida. En estado de reposo el voltaje de salida es de 2V.
Cuando se detecta movimiento humano, el voltaje de salida es de 3V y el
pulso tiene una duración de 4 a 8 segundos.
CONSTRUCCIÓN DEL CIRCUITO

SENSOR PIR

La salida del sensor PIR se conecta a un seguidor de línea para acoplar las
impedancias y evitar alteraciones en la lectura del sensor. Después, la señal se
conecta a un comparador, donde el voltaje de referencias es definido por el
divisor. De esta forma, se pasa de los niveles lógicos del sensor PIR de 2V para
estado bajo y 3V para estado de alto a 0V y 5V, respectivamente para arduino.

A la salida del comparador se conecta una resistencia en pull-down, para definir


bien los estados. Esta señal se conecta al pin digital 2 del arduino.

SWITCH DE LA LAMPARA INCANDESCENTE

Para controlar el encendido/apagado de la lámpara de AC, a través del arduino,


se envía una señal digital (“0” o “1”) al optoacoplador MOC3011. Si la señal
corresponde a un “1” lógico, el DIAC interno del circuito cierra el circuito,
habilitando la compuerta del TRIAC 2N6073, con lo que puede fluir la corriente
a lo largo del circuito y encender la lámpara. Pero, si la señal es un “0” lógico, el
DIAC del octoacoplador abre el circuito, cerrando la compuerta del TRIAC, con
lo que se apaga la lámpara. El pin digital 6 provee esta señal.

CODIGO EN ARDUINO UNO

Si es alto, enciende por 10 segundos y activa la señal que enciende la lámpara


incandescente. Si es estado bajo, entonces se mantiene apagada.

#define lámpara 6

#define input 2

voidsetup()

{
PinMode (input,input);

Pinmode (lampara, output)

Voidloop ()

Digitalwrite (lampara, low);

If (digitalread (input) == high)

Movement ();

voidmevement ()

Digitalwrite (lampara, high);

Delay(10000);

FUNCIONAMIENTO

Si el sensor detecta movimiento humano, enciende una lámpara para


incandescente durante 10 segundos. El sensor está configurado para medir la
IR del cuerpo humano y no detecta el movimiento de otros cuerpos (a menos
que su radiación IR sea similar).

PRESUPUESTO:
MATERIAL PRECIO CANTIDAD TOTAL
UNITARIO
LM234N S/. 7.00 1 S/. 7.00
RESISTENCIA 10K S/. 0.30 2 S/. 0.60
RESISTENCIA 1K S/.0.30 2 S/. 0.60
MICROCONTROLADOR S/.50.00 1 S/.50.00
PROGRAMABLE
(ARDUINO UNO)
CONDENSADORES S/.0.50 2 S/. 1.00
DISPLAY 16X2 S/.15.00 1 S/. 15.00
SWITCH S/. 0.80 2 S/. 1.60
ACS712 30a S/.15.00 1 S/. 15.00
PROTOBOARD S/.18.00 2 S/. 36.00
POTENCIOMETRO 10K S/.2.00 1 S/. 4.00
TOTAL S/. 130.80

También podría gustarte