Академический Документы
Профессиональный Документы
Культура Документы
DIVERTEKA
El sitio de los Tecno-Freaks Cookies Descargas Fichas WTK for Kids Sobre nosotros
Esperamos que, adems de entretenernos con su montaje, nos ayude a ahorrar unos
eurillos Entradas recientes
Viaje al corazn de la robtica (I)
Comentarios recientes
Image courtesy of Nutdanai
Apikhomboonwaroot / FreeDigitalPhotos.net Txus en Control de consumo elctrico con
Arduino (1)
http://www.diverteka.com/?p=1966 1/17
21/6/2017 Control de consumo elctrico con Arduino (1)
Archivos
febrero 2015 diciembre 2014
Al hacer pasar por el primario de este sensor un cable de nuestra instalacin este capta
el flujo magntico generado que ser proporcional a la intensidad que circula en ese
instante por el cable. Por efecto de la induccin electromagntica obtendremos en el
secundario (salida del sensor) una intensidad que ser proporcional a la del primario. El
efecto transformador de intensidad de primario con espira nica puede verse en esta
ilustracin. Aunque en la figura anterior no la hemos representado por simplicidad, existe
una resistencia de carga en la salida del transformador, de cuyos bornes tomaremos la
http://www.diverteka.com/?p=1966 2/17
21/6/2017 Control de consumo elctrico con Arduino (1)
seal a utilizar. Debemos fijarnos que tan solo hemos de pasar por el sensor un hilo de
los dos que conforman la red a monitorizar en nuestra casa, tal y como se muestra aqu
Sea cual sea la instalacin que deseemos controlar, y aunque el sensor no es invasivo y se
instala sin tener que cortar un solo cable, si que hemos de tener alguna precaucin si, por
ejemplo, queremos verificar el consumo total de nuestra casa. En este caso no tendremos
ms remedio que localizar la entrada general (tpicamente antes del magnetotrmico o
diferencial general) e insertar con sumo cuidado el sensor. Esta operativa conviene que sea
hecha por alguien curtido en estas artes, para evitar as desconectar algn cable al
manipular esta zona. Una vez instalado el sensor tan solo tendremos que conectar su
salida (va jack tipo audio de 3.5 mm) al circuito interfaz que comentaremos a
continuacin. Conviene mencionar que los terminales de salida del sensor se
corresponden con los extremos del jack, tal y como vemos en la ilustracin adjunta.
La seal obtenida en funcin del consumo (intensidad) que circula por el cable
monitorizado nos proporcionara una tensin proporcional a la salida del sensor en
bornes de la resistencia interna mencionada y que es de muy pequeo valor (milivoltios),
razn entre otras por la que necesitaremos un circuito interfaz-amplificador
La respuesta del sensor ante diversas cargas de consumo comprobadas nos ha devuelto
una respuesta suficientemente lineal
Aunque las pruebas efectuadas han sido con consumos de tipo bajo/medio, basta para
hacernos una idea.
http://www.diverteka.com/?p=1966 3/17
21/6/2017 Control de consumo elctrico con Arduino (1)
Interfaz electrnica con Arduino
El circuito interfaz propuesto tiene dos funciones, a saber: rectificar y amplificar la seal
proviniente del sensor (esta es de tipo senoidal, lgicamente). Al ser una seal de tensin
tan reducida nos hemos visto obligados a evitar el uso del tpico rectificador, esto es, el
diodo o puente de diodos, ya que la caida de tensin en los mismos se comera
literalmente los milivoltios AC de que disponemos. La solucin pasa por un rectificador de
precisin mediante el uso de un amplificador operacional (A.O.). No vamos a comentar
aqu la operativa de los A.O., pero baste decir que la seal as tratada se rectifica
convenientemente y nos da pie (tambin usando un AO) a realizar una pequea
amplificacin ajustable por el usuario y que puede servirnos de ajuste fino del montaje
una vez terminado.
Como hemos dicho, la misin de la primera parte del circuito interfaz es rectificar sin
prdida de tensin la seal del sensor, para obtener as una seal continua aunque
pulsante capaz de ser luego amplificada y obtener niveles de tensin adecuados en la
entrada analgica de nuestro Arduino. La seal a tratar se hace llegar a la entrada
analgica (A0) del mismo.
Hemos utilizado como tanto para la etapa rectificadora como para la amplificadora el
amplificador operacional LM358. Dado que cada uno de estos chips incorpora una pareja
de A.O. tendremos que utilizar tan solo un chip. El circuito -al margen del chip precisa de
pocos componentes externos adicionales. Un condensador de desacoplo de 100 nF, un
diodo y unas cuantas resistencias. Podemos montar en principio el circuito en una proto-
board para evaluacin de prototipos. En esta ilustracin lo vemos funcionando de esta
manera. Observamos que hemos aadido un conector hembra tipo jack audio para
conectar el sensor a la placa. Una vez que tengamos en marcha el circuito ya podremos
decidir si lo implementamos en una placa de circuito impreso, lo soldamos en una placa
de prototipos pre-perforada, etc.
http://www.diverteka.com/?p=1966 4/17
21/6/2017 Control de consumo elctrico con Arduino (1)
A modo de ayuda vemos aqu el esquema internos del A.O. LM358. Como casi siempre, las
patillas de alimentacin son: 4(GND) y 8 (+Vcc)
La seal obtenida al circular corriente por el sensor tiene un aspecto tal que as :
http://www.diverteka.com/?p=1966 5/17
21/6/2017 Control de consumo elctrico con Arduino (1)
Comentamos las particularidades del mismo, cuyo contenido mostramos aqu, y que
podremos descargar desde el link al final de esta entrada.
1 // ===================================================
2 //** PowerCheck - DIVERTEKA (J.C.G.P.) **v. 1.0
3 // ===================================================
4 //
5 // -- variables and pins definition ------------------
6 const int analogInPin = A0;// analog input pin
7 int retardo = 2 ;// (tiempo (s.) entre visionados)
8 float lectura,ff,pKW,iA,vV,vS,S_Ratio;
9
10 // -- initialize serial comm & parameters ------------
11 void setup() {
12 Serial.begin(9600);
13 S_Ratio = 36.5;// Sensor/ratio (mV/mA ) : 36.5
14 vV = 230;// valor de tension a computar
15 ff = 5; // freq. factor / (50Hz -> 5 / 60Hz -> 4.15)
16 }
17
18 // -- smooth read routine ----------------------------
19 float smoothread(float fc){ // fc (factor corrector)
20 int ni = 35;// n. de iteraciones => smooth
21 //(ni) => rango 10 a 50 mejor promedio [smoothing]
22 float retorno = 0.0;
23 for (int x = 0; x< ni; x++){
24 do { // espero paso por cero
25 delayMicroseconds(100);
26 } while (analogRead(0) != 0) ;
27 delay (ff);// espera centro de ciclo
28 delay (10);// estabilizacion CAD
29 retorno = retorno +(analogRead(0)*fc);
30 }
31 return retorno / ni;
32 }
33
34 // -- main loop --------------------------------------
35 void loop() {
36 lectura = smoothread (1) / 1.41;// lectura (rms)
37 vS = (lectura * 0.0048);// valor de C.A.D.
38 iA = (lectura * S_Ratio)/1000; // Intensidad (A)
39 pKW = (vV * iA)/1000; // Potencia (kW)
40
41 Serial.print("\n" );
42 Serial.print("\n================================" );
43 Serial.print("\n *** PowerCheck - DIVERTEKA *** " );
44 Serial.print("\n================================\n" );
45 Serial.print("\n- Tension predefinida[V] --> " );
46 Serial.print(vV,0);
47 Serial.print("\n- Lectura del sensor [V] --> " );
48 Serial.print(vS,3);
49 Serial.print("\n- Intensidad calculada [A] --> " );
50 Serial.print(iA,3);
51 Serial.print("\n- Potencia calculada[kW] --> " );
52 Serial.print(pKW,3);
53 Serial.print("\n-------------------------------\n" );
54 delay(retardo * 1000);
55 }
http://www.diverteka.com/?p=1966 6/17
21/6/2017 Control de consumo elctrico con Arduino (1)
El valor as obtenido se maneja en la variable vS, pero la lectura del valor se hace en la
funcin smoothread, que adems de lanzar la conversin, lo hace de una forma
repetitiva y especfica para obtener un resultado ms fiable. Podemos ajustar mediante la
variable ni (nmero de iteraciones de lectura a promediar) obteniendo as al final de esta
un valor ms estable (puede compensar pequeas variaciones en la CAD del Arduino).
La rutina de lectura localiza el punto de paso por cero de la seal y, a partir del mismo
introduce un retardo de 5 ms. lo que equivale a 1/4 del periodo ( t/4 ) cuando medimos
una CA de 50 Hz)- . Este valor (variable ff) puede y debe ser modificado si queremos
operar con una tensin de 60 Hz. (ff=4.15) . El punto de lectura(s) efectuada(s) puede
verse ms claramente en este grfico
Como quiera que el valor devuelto por la rutina smoothread ser una media de n lecturas
(ni), pero aprovechando el valor mximo de la tensin, tendremos que efectuar un clculo
del valor RMS para dicha lectura ( lectura = smoothread (1) / 1.41; ), y una vez tengamos
este, lo multiplicaremos por 0.0048 ( 1/1024 ) para tener la tensin medida en mV. por el
sensor. Para obtener el valor de intensidad que circula por el sensor tendremos que utilizar
la variable S_Ratio (experimentalmente calculada) y que nos da como su nombre indica
la relacin mV/mA proporcionada por el sensor, dvidiendo la misma por 1000 para que
el valor de iA sea en Amperios.
Una vez tengamos el valor de intensidad lo dems es sencillo. Por simple aplicacin de
frmulas obtendremos la potencia (en kW) que se alojar en la variable pKW.
A modo de resumen, vamos a enumerar los pasos (includos los opcionales) a seguir para
poner en marcha el montaje
Para el Hardware:
Para el Software:
Ajustes:
Como ajuste final aconsejamos una vez arranquemos el programa hacer circular cierta
intensidad de valor medio ( unos 1000 W puede ser correcto ) por el cable a medir.
Conviene que sepamos siquiera de forma aproximada el consumo en vatios de dicha
carga, y tambin que esta sea de tipo resistivo preferentemente (p.ej. un calefactor ).Una
vez que el programa nos de los valores en pantalla (abriendo el terminal serie del IDE
Arduino) deberemos realizar un ajuste fino del montaje mediante el potencimetro R6
hasta que obtengamos la lectura de potencia correcta.
http://www.diverteka.com/?p=1966 7/17
21/6/2017 Control de consumo elctrico con Arduino (1)
Cabe mencionar que el montaje no es muy sensible a pequeas cargas ( < 40 vatios)
cuando se conectan solas, pero suma adecuadamente su consumo al computar un
conjunto de estas, por lo que el consumo total debera ser muy aproximado al real.
Factores que pueden afectar a discrepancias en la lectura del dispositivo pueden ser:
A DIVERTIRSE
Referencias de diseo
Descarga de cdigo
saludos
http://www.diverteka.com/?p=1966 8/17
21/6/2017 Control de consumo elctrico con Arduino (1)
Un saludo
Txus
Un saludo
Un saludo
http://www.diverteka.com/?p=1966 9/17
21/6/2017 Control de consumo elctrico con Arduino (1)
ratio ms cercano a 30 yo he preferido efectuar un
clculo ms experimental y, como ya puse en la
entrada, este es un montaje para divertirnos, no
pretende ser un equipo de laboratorio.
Un saludo
Txus
no, no tenemos nada que ver, aunque veo que usan un sensor
similar. Entiendo que su aporte es ms acadmico; el nuestro es
mas, digamos, hobbysta.
Eepero en breve tener lista la parte (2) de esta interesante
entrada donde se pordr gestionar un log de consumo.
Un saludo
Txus
Reply Hola,
Podra ser que mi conector hembra tipo Jack, solo tiene la posibilidad
de conectar dos cables?
Muchas gracias.
Un saludo.
Gran aporte.
http://www.diverteka.com/?p=1966 11/17
21/6/2017 Control de consumo elctrico con Arduino (1)
Perdn por la parrafada. Saludos.
Un saludo
Txus
gracias
Muchas Gracias
Un saludo
http://www.diverteka.com/?p=1966 12/17
21/6/2017 Control de consumo elctrico con Arduino (1)
indusctiva como lavadoras y tubos fluorescentes, puedo esperar una
factura ms leve que la que yo calcule con las pinzas?
Un saludo
Reply Hola,
este circuito es muy interesante ms, no es correcto, no hay retification
de onda completa com um AMPOP, isso apenas se hace media onda
no onda completa, mas esta muy interessante.
Reply Hola,
Gracias
Reply Que gran publicacin, me gusto mucho, solo me queda la duda de que
significa en el cdigo lo siguiente:
http://www.diverteka.com/?p=1966 13/17
21/6/2017 Control de consumo elctrico con Arduino (1)
Jun 4, 2015 7:25 pm
ARES
Reply Tengo una duda cual es la capacidad mxima de medida en Watts que
puede soportar el dispositivo entiendo que debemos probar con
cargas que no sean (< 40 w) pero cual es el limite en (V) (I)?
Reply Buenas, ante todo felicitarte por el gran proyecto y con la claridad que
lo explicas todo. Estoy realizando mi proyecto de fin de carrera y me
estoy basando en este circuito, porque me parece muy interesante.
Sobretodo en el rectificador de onda completa, me lo he tenido que
mirar un par de veces hasta darme cuenta de como funciona.
Mi pregunta es la siguiente:
Para tener la corriente eficaz multiplicas la tensin eficaz por 36.5. Tal
como dices ese ratio ya te lo da el sensor que es de 1V/30A, pero le
aades la ganancia del primer ampli 0.83. Pero porque no le aades la
ganancia del segundo?
Por mucho que le doy vueltas no lo entiendo deberias multiplicar la
tension eficaz por 30/5, ya que 5 s la ganancia entre los dos
amplificadores.
Quedo pendiente de tu respuesta y muchas gracias de antemano
http://www.diverteka.com/?p=1966 14/17
21/6/2017 Control de consumo elctrico con Arduino (1)
Antes de nada felicitaros por vuestro gran trabajo!!
Un saludo
Tu pgina, http://jasonhd.wix.com/jason#!proyecto-joas-1/b6qk8
parece muy muy interesante.
Gracias por el aporte
Txus
Reply Buenas,
Un saludo
http://www.diverteka.com/?p=1966 15/17
21/6/2017 Control de consumo elctrico con Arduino (1)
Hola, en el fichero descargable tienes informacin terica sobre
la parte del operacional que gestiona el diseo(AN del circuito
CA3140), as como del sensor y dems componentes.
Un saludo
Txus
Txus
Gracias!
Reply Bunas a todas y todos. En este artculo falt una imagen del proyecto
terminado y armado con demostracin real de la aplicabilidad del
medidor casero.
Reply Hola muy buenas, estupendo foro para aficionados y tcnicos. Solo una
consulta, por qu no se ve el link para descargar los sketches y
libreras?
http://www.diverteka.com/?p=1966 16/17
21/6/2017 Control de consumo elctrico con Arduino (1)
Gracias de antemano y estar al tanto de colaborar con esta
comunidad.
Leave a Reply
b i link b-quote code cerrar etiquetas
Author (required)
Website
Post Comment
http://www.diverteka.com/?p=1966 17/17