domingo, 15 de diciembre de 2013

Proyecto: Evitar inyección con Arduino (II)

Hola Amigos, en la práctica de hoy, le daremos otra vuelta de tuerca más a nuestro proyecto.

En la entrada anterior vimos como medir la intensidad, y a partir de ahí calcular los Watios (suponiendo un voltaje de red de 230VA). Correcto?

Bueno, pues nuestro objetivo es no solo poder medir el voltaje de la red, sino también poder medir LA DIRECCION DE LA POTENCIA, es decir, si es de entrada o salida, y a partir de ahí, poner los mecanismos en marcha que eviten la inyección a red.

Nos ponemos manos a la obra, básicamente, vamos a duplicar el circuito que vimos anteriormente, pero midiendo esta vez el voltaje Alterno. Muchos os preguntareis, ¿esto es peligroso? Bueno, pues si lo medimos directamente, sí, pero vamos a reutilizar un cargador de movil, que genera energía alterna y continua. Este se encargará de pasar el voltaje de 220VA a 9VA. Luego dividimos dicho voltaje con varias resistencias para dejarlo en 5 VA.

Esto nos aislará del peligro de chispazo, y también nos permite adaptar la señal a algo medible por el arduino

 

2013-12-15 12.02.54 2013-12-08 11.28.50

 

 

Como resultado, tenemos

Sin carga: Podemos ver la señal de intensidad (la azul) estable.

image

Carga 110W: Vemos como fluctúa la intensidad.

image

Y ya si desplazamos los valores al eje de cero, tenemos algo muy bonito

 

image

 

Ahora viene lo interesante, chicos. Me surgen estas preguntas:

1.- ¿Como sé si estoy inyectando o no?

Si estoy inyectando, la intensidad apuntaría al lado contrario que el voltaje

2.- Porque los picos de corriente están “apuntando” a la misma curva del voltaje?

La potencia es positiva porque al multiplicar ambos valores da positivo. Si la intensidad fuera negativa, y el voltaje positivo en cada ciclo, detectamos inyección

3.- ¿porque son tan pequeños los valores de la intensidad?

La carga que tengo es de pocos watios, pero necesito mucha precisión, por lo que si amplio la señal más, cuando la carga sea grande se me irá de los valores soportados

 

Bueno, pues por simplificar mucho el tema, el voltaje y la intensidad se desplazan según la carga que tengamos en casa. Esto es, si son cargas “resistivas” o sea resistencias, las líneas serán similares, es decir, no habría desplazamiento en ellas.  Digamos que los picos de las ondas coincidirían.

En caso de que existan cargas no resistivas (motores de lavadoras, tubos fluorescentes…) se desplazarían ambas señales

Esto está muy bien explicado aquí: http://openenergymonitor.org/emon/buildingblocks/ac-power-introduction

Ejemplo de desplazamiento, con lavadora puesta:

image

Veis que se ven los picos más a la izquierda que antes.

El resultado, midiendo voltaje:

 

2013-12-15 12.03.11

 

El código fuente, lo voy a poner también. He seguido las recomendaciones de un seguidor que indicaba que para publicar un código debía escribirse muy bien que hace para que sea comprensible. Cierto es, así que lo he “maquetado” un poco. Aún no he terminado el proyecto, por lo que seguirá habiendo muchas cosas que cambiar y aclarar.

En todo caso, son bienvenidas todas las críticas constructivas, así que gracias Tex

 

#include <LiquidCrystal.h>
#include <LCDKeypad.h>
LiquidCrystal lcd(8, 13, 9, 4, 5, 6, 7);

const int currentPin = A1;
const int voltPin = A2;
const unsigned long sampleTime = 100000UL;                           // sample over 100ms, it is an exact number of cycles for both 50Hz and 60Hz mains
const unsigned long numSamples = 2500UL;                               // choose the number of samples to divide sampleTime exactly, but low enough for the ADC to keep up
const unsigned long sampleInterval = sampleTime/numSamples;  // the sampling interval, must be longer than then ADC conversion time

//Esta variable necesita ser ajustada en función al voltaje que te genere la placa. 2.5 voltios serían 514, pero siempre se pierde algo de voltaje en las resistencias
// TODO: Auto-Ajustarlo usando la media de una lista de tomas.
const int adc_zero = 507;                                                     // relative digital zero of the arudino input from ACS712 (could make this a variable and auto-adjust it)

void setup()
{
  Serial.begin(9600);
  //Inicializamos la pantalla LCD.
  lcd.begin(16, 2);
  lcd.clear();
}

void loop()
{
  unsigned long currentAcc = 0;
   int voltajemax= 0;
  unsigned int voltajemin=1025;
  unsigned int count = 0;
  unsigned long prevMicros = micros() - sampleInterval ;
  while (count < numSamples)
  {
    if (micros() - prevMicros >= sampleInterval)
    {
      // Leemos voltaje TODO: Comprobar si el voltaje <200 ERROR en conexión
      int voltaje=analogRead(voltPin);
      //Nos quedamos con el voltaje máximo y mínimo. Solo usaremos el máximo,
      //pero no cuesta nada dejar el mínimo para futuros usos incrementando precisión
      if(voltaje<voltajemin) voltajemin=voltaje;
      if(voltaje>voltajemax) voltajemax=voltaje;
      //Valor puntual de la corriente
      int adc_raw = analogRead(currentPin) - adc_zero;
      currentAcc += (unsigned long)(adc_raw * adc_raw);
      //Incrementamos contadores
      count++;
      prevMicros += sampleInterval;
    }
  }
  int voltaje=calcularVoltaje(voltajemax,voltajemin);

  float rms=calcularRMS(currentAcc,numSamples); 
  //Pasamos la intensidad en amperios, a Watios multiplicando por el voltaje
  int watios=rms*voltaje;

  writeLCDValues(watios,voltaje);
}

// Esta función calcula la intensidad medida en un rango de muestras.
// Es ajustada en función de las tomas y el voltaje del arduino.
// Para mas informacion consultar manual de arduino
float calcularRMS(unsigned long currentAcc,unsigned long numSamples){
  // The 75.7576 for the conversion comes from solving for X, 5 V / X = .066 V / 1 A from the
  // arduino max analog input voltage and the ACS712 sensitivity on the spec sheet respectively
  float rms = (sqrt((float)currentAcc/(float)numSamples) * (75.7576 / 1024.0));
  return rms;
}

//Calculamos el voltaje en funcion a los valores tomados por el voltímetro
// En diferentes tomas. Se extrapola el valor máximo del voltaje
int calcularVoltaje(int vmax,int vmin){
  return map(vmax,35, 981,0,227);
}

void writeLCDValues(int watios,int voltios){
  String textoWatios="Wats: ";
  String textoVoltios="Volt: ";
  // Limpiamos LCD
  lcd.clear();

  //Escribimos los watios en la primera fila 
  textoWatios= textoWatios + watios ;
  lcd.print(textoWatios);

  //Escribimos los voltios en la segunda fila
  lcd.setCursor(0,1);
  textoVoltios = textoVoltios +  voltios;
  lcd.print(textoVoltios);

}

Hasta la próxima semana!!

sábado, 23 de noviembre de 2013

La Unión Europea defiende el Autoconsumo

Hola de nuevo.
Recientemente está habiendo cada vez más noticias sobre la polémica reforma que al contrario que Robin Hood,  “roba” al pueblo para regalárselo a los ricos.
Es de esperar, que el sentido común y los toques que Europa, la CNE y todos los organismos relacionados con la energía
(Excepto UNESDSC02528A, claro), haga recapacitar a nuestro gobierno “popular”, y rectifiquen, no solo facilitando la implantación de estas tecnologías, sino incentivándolas. Que conste que con incentivar no quiero decir que den ayudas ni dinero, solamente que dejen de poner absurdos obstáculos.
La última noticia que nos llega es que el Vicepresidente del parlamento Europeo Alejo Vidal-Cuadras apunta a que la nueva reforma contradice varias directivas de la Unión Europea.
Según la carta, se incumplen tres directivas comunitarias, y no solo relacionadas con el autoconsumo, sino con las ayudas a las centrales de co-generación de gas, que en Europa le ponen impuestos, y aquí se los quitan….
La noticia:
http://www.europapress.es/economia/energia-00341/noticia-vidal-quadras-dice-reforma-puede-vulnerar-directivas-cogeneracion-eficiencia-autoconsumo-20131122155039.html
Mientras tanto, incluso proveedores de electricidad proveniente de renovables, llaman directamente a la insumisión inventandose un término muy interesante llamada deSOLbediencia.ScreenHunter_01 Nov. 23 13.19
Básicamente, la cooperativa Som Energia está proponiendo seguir instalando sistemas de generación, ya son casi 11.000 socios y sigue creciendo. El malestar de la gente en este tema está muy latente.
En definitiva, espero que dejemos de hacer el ridículo en España, Europa y el resto del mundo y no demos pasos hacia atrás.
Hasta la próxima.

domingo, 17 de noviembre de 2013

Peaje al Autoconsumo = Ridiculo en el extranjero


Hay veces que para informarse sobre algunos temas, hay que acudir a periodicos extranjeros, como la BBC o el Times. Estos medios no están "Comprados" de alguna manera ya que no les retiran la publicidad, como pasa aquí en España.

Por resumirlo un poco, hay bastante perplejidad en las noticias que he visto, en dos puntos concretos:

1.- Que se ponga un impuesto al sol el país que más horas de sol tiene.
2.- Que un inspector pueda entrar en tu casa sin autorización judicial.

En esta entrada, os dejaré los links simplemente para que opineis por vosotros mismos:

Murcia local government takes Spain’s solar shutdown laws to constitutional court

Spain's Green Dreams Blow Up

Spaniards Gird for Fee on Solar Power

Europe saves economy by means of absurd taxes

Spain is pretty serious about taxing the sun

Spaniards Producing Illegal Solar Power Face Police Raids and €60 million Fines

Tax casts cloud over Spanish natural asset

Spanish solar reforms could break EU laws

European Commission calls for phasing out of feed-in tariffs, promotes renewable energy auctions

Os recomiendo precisamente la cuarta, de un periódico Ruso.


Esta imagen viene de una noticia de www.suelosolar.es.

A disfrutar!!

domingo, 10 de noviembre de 2013

Proyecto: Evitar inyección con Arduino

Hola a todos.

Llevo trabajando en mis poco tiempo libre…..un tiempo, en un proyecto que me permitirá controlar el excedente de la instalación para evitar la inyección a red.

Si recordáis, el immersun que tengo instalado tiene un margen de 120w que no es modificable, por lo que necesito algo más preciso.

Para desarrollarlo, me he basado en esta web http://openenergymonitor.org/emon/, que contiene todo el conocimiento necesario para entender como medir la energía, como controlarla, etc.

 

El concepto

El concepto es sencillo, solo queremos poder controlar la energía que consumimos, cuando, y hacia donde queremos enviarla. el sistema actual que tengo es el siguiente:

image

Es sencillo, la parte del cuadro azul es lo que se quiere alcanzar con este proyecto. Lo demás está ya instalado.

Por cierto, el medidor de voltaje y amperios casero, es semi-casero, lo hice con una carcasa de disco duro reciclado.

 

El Material

La premisa es sencilla, tiene que ser de bajo coste, por lo que reaprovecharemos todo lo que podamos y básicamente, consta de:

1.- Sensor de corriente (reciclado de un OWL que me sobraba)

 DSC05103

2.- Un arduino + pantalla comprado por internet

DSC05110

3.- Relays para poder encender o apagar cosas

DSC05111 

4.- Resistencias y componentes reciclados de TV o trastos varios

DSC05112

 

 

La estrategia

La estrategia a seguir es fácil:

1.- Medir la energía que pasa por el cable

2.- Medir si es excedentaria o no

3.- Si es excedentaria, aprovecharla para una estufa o frigorífico

En este primer tutorial, os contaré como se ha hecho el punto 1

 

Medir Watios de una instalación

Para medir la energía que pasa por un cable necesitamos un sensor CT, y algo que sea capaz de interpretar el resultado de la sonda.

La energía que pasa por el sensor, es muy pequeña, por lo que el arduino apenas es capaz de leerla, hay que amplificar el voltaje entre 0 y 5 voltios. Para ello se usan las resistencias. Yo he puesto 120 ohmios. Son la fila de resistencias grises

image

La onda en corriente alterna, es algo como esto: Medido con Arduino, ahora os cuento como:

image

Necesitamos que el centro del voltaje en las medidas sea 2,5 V, ya que así mediremos la onda completa. Si partiéramos de cero, solo mediríamos la mitad de la onda.

Eso quiere decir, que dividiremos los 5v que nos proporciona el arduino con dos resistencias:

image

Y con esto, ya conseguimos medir valores.

Arduino leerá voltajes de 0 a 1024, por lo que la media, es decir si no hay corriente, será de 512 aproximadamente. Esta será nuestra referencia, o punto de corte.

Este gráfico aclara un poco lo que hemos hecho: Podéis ver más información en http://openenergymonitor.org/emon/buildingblocks/ct-sensors-interface

image

Y por último, el resultado. Es una prueba, como podéis ver por el lío de cables

image DSC05104 DSC05105

El programa que he hecho para el arduino es este:

 

#include <LiquidCrystal.h>
#include <LCDKeypad.h>
LiquidCrystal lcd(8, 13, 9, 4, 5, 6, 7);
char msgs[5][16] = {"Right Key OK ",
                    "Up Key OK    ",              
                    "Down Key OK  ",
                    "Left Key OK  ",
                    "Select Key OK" };
int adc_key_val[5] ={50, 200, 400, 600, 800 };
int NUM_KEYS = 5;
int adc_key_in;
int key=-1;
int oldkey=-1;

const int currentPin = A1;
const unsigned long sampleTime = 100000UL;                           // sample over 100ms, it is an exact number of cycles for both 50Hz and 60Hz mains
const unsigned long numSamples = 2500UL;                               // choose the number of samples to divide sampleTime exactly, but low enough for the ADC to keep up
const unsigned long sampleInterval = sampleTime/numSamples;  // the sampling interval, must be longer than then ADC conversion time
const int adc_zero = 514;                                                     // relative digital zero of the arudino input from ACS712 (could make this a variable and auto-adjust it)

void setup()
{
  Serial.begin(9600);
  lcd.begin(16, 2);
  lcd.clear();
}

void loop()
{
  unsigned long currentAcc = 0;
  unsigned int count = 0;
  unsigned long prevMicros = micros() - sampleInterval ;
  while (count < numSamples)
  {
    if (micros() - prevMicros >= sampleInterval)
    {
      int adc_raw = analogRead(currentPin) - adc_zero;
      currentAcc += (unsigned long)(adc_raw * adc_raw);
      ++count;
      prevMicros += sampleInterval;
    }
  }
  //float rms = (sqrt((float)currentAcc/(float)numSamples) * (75.7576 / 1024.0));
  float rms = (sqrt((float)currentAcc/(float)numSamples) * (75.7576 / 1024.0));
  Serial.println(rms);
  lcd.clear();
  String watios="Wats: ";
  int apparent_power=rms*231;

  if(apparent_power<10)apparent_power=0;
  if(apparent_power>4000){
    watios= watios + " ERROR";
  } 
  else{
    watios= watios + apparent_power;
  }

  lcd.print(watios);
}

 

 

En fín, esto es todo por hoy, me queda bastante por trabajar, pero de momento, un pequeño avance motiva para seguir.

 

Saludos!!

sábado, 12 de octubre de 2013

Manifiesto de las eléctricas??

Hola amigos.
Hoy leyendo las noticias me ha sorprendido esta, y quería comentarla con vosotros: Las eléctricas europeas culpan a los errores políticos del 50% de la tarifa

Básicamente vienen a decir, que los errores políticos incrementan la factura de la electricidad. Esta vez, sí estoy de acuerdo con ellos, aunque como siempre, dicen medias verdades, y me explico.
Las eléctricas tienen razón en una cosa, la política energética es un desastre.

1.- Quemamos carbón y gas para generar energía

Esto es de bombero retirado. ¿Recordáis cuando los trenes se movían con carbón? Bueno, pues esto es como cuando vino la revolución industrial. ¿pero porque? El carbón es subvencionado por el estado, una y otra vez, antes y después de quemarlo, y parte de esas subvenciones, van a la factura.

2.- Construimos centrales nucleares y los políticos amplían la vida útil más allá de para lo que fueron diseñadas

Todos sabemos que el riesgo tiene un coste…

3.- Costes de energía nuclear no son reales

Hay que sumar el coste de la construcción de la nuclear, quien paga reformas, quien paga desmantelamiento o custodia de los desechos. Esta va a ser buena, cuando termine la explotación de Garoña a ver quien lo paga….. ¿irá también a deuda tarifaria? ¿o quien está guardando el dinero para ello?

4.- Subvenciones

NO deberían darse a nadie, ni nuclear(que de esas no hablan), ni eólica, ni al carbón. Deben pagarse por sí mismas. Las eléctricas deberían devolver las subvenciones a los molinos de viento, y así estamos en igualdad de condiciones.

5.- Coste de transporte

Debe publicarse detalladamente donde se gastan ese dinero, es un porcentaje alto de la factura.

6.- Autoconsumo energético e "impuesto al sol"

Otro DESASTRE político del que no hablan en ese manifiesto.

7.- Competencia real en energia

No la hay, tienen que entrar 3-4 empresas más en este pais, y observar que no hagan "pactos" en los precios.

8.- En la Factura, solo Electricidad

La factura de la luz debe ser solo gasto de luz mas iva. No subvencionar cogeneracion de gas paradas.

9.- Castor

Esto no tiene nombre…. una empresa privada, la caga generando terremotos, y el gobierno dice que nos costará 1700 millones de Euros…..Que lo pague quien lo ha montado, por favor. ¿De donde saldrán esos 1700 millones?

Por último, decir que cuando nos dicen que la energía renovable es más cara, es MENTIRA Y GORDA. Al coste de la energía, hay que sumarle:

- Subvenciones al carbón, cogeneración de gas o cualquier otras que reciben directa, o indirectamente. El Carbón recibe indirectamente 681 Millones de euros anuales y prácticamente toda la producción la venden para generar electricidad. Las de cogeneración nos cuestan 750 millones de euros en 2013.
- Coste de construcción de la nuclear (4000 millones de euros) y coste estimado de desmantelación 40.000 millones de Euros.
- Riesgos frente a las renovables. Que se caiga un molino es peligroso, pero que explote un reactor deja rastro durante miles de años.
- Incentivos fiscales: Todas las centrales tienen un marco regulatorio especial.

Os dejo una comparativa en la que podéis ver, que los molinos de viento son más rentables que la nueclar, y la fotovoltaica “casi” igual. eso sí, este artículo tiene un error importante, solo cuenta la construcción, no cuenta mantenimiento ni desmantelamiento.

LAS RENOVABLES Y EL AUTOCONSUMO SON RENTABLES, SINO NO SE LAS CARGARIAN DESCARADAMENTE

sábado, 5 de octubre de 2013

Inventos para el ahorro de energía ¿generar o ahorrar?

Hola a todos.

Lanzo una pregunta al aire ¿Es mejor producir energía o ahorrarla?

Con la nueva y vergonzosa ley de autoconsumo, parece que van a "matar" toda posibilidad de generación de tu propia energia, y solo nos va a quedar la opción de ahorrar todo lo posible. Con las subidas de los términos fijos de la factura también se aseguran que gastes o no gastes, vas a pagar más. Aquí no se escapa nadie.

En la entrada de hoy, quería mostrar unos cuantos inventos muy novedosos, que ahorran energía, para coches, barcos, etc

- Hidro Hibrid: Todo el mundo ha soñado con echarle agua al coche en vez de gasolina, pues este invento español, consigue un ahorro del 25%, incrementando la potencia de tu coche.

- Drevas:  Ahorro energético en ACS. Imaginate, te duchas, y toda el agua caliente la pierdes, con su energía en forma de calor. Si ahora se ducha otra persona, vuelves a calentar el agua, pero ¿y si haces pasar la tubería de agua limpia por un depósito donde hemos almacenado la de la primera ducha?

- Sistema HRS recuperador de vahos: Este es el mismo sistema que el anterior, recupera el calor del lavavajillas o lavadora. Es para uso industrial, porque se supone que ahí se usa más, y el ahorro compensa el coste.

- Fagor R2B2: La tracción manual vuelve a casa, este ahorra energía porque se basa en darle a un pedal que genera la energia para batidora o cualquier otro pequeño electrodomestico. Genera 350 w

The R2B2 uses a pedal-powered flywheel to generate off-grid electricty

- AquaReturn: Este invento permite no derrochar agua mientras esperas a que salga caliente. Después de todo, el agua es también energía.....

Contribuye al cuidado medioambiental, evitando un consumo considerable de energía y agua potable

- ES Pipe: Ryan Jongwoo Choi ha inventado un "grifo" que genera energía con la presión del agua.

- Cemento transparente: ¿Quien no ha pensado alguna vez en tener una pared entera translúcida?

Bueno, tengo más, pero por hoy tenemos suficiente para entretenernos.

Saludos!!