Show Posts
Pages: [1] 2
1  International / Proyectos / Re: Proyecto control de calefacción inteligente on: February 27, 2013, 06:21:15 pm
Los avances de hoy han ido encaminados por la parte de la radiofrecuencia.

Con un kit de relé receptor de RF y un emisor de RF voy a arrancar y parar la caldera. Lo más sencillo es usar un kit de mando para puertas de garaje:

El relé receptor:



La fuente de alimentación para alimentar ese relé:



El montaje:



El emisor:



El emisor desmontado por una y otra cara:





Con un polimetro he identificado que los pulsadores tienen los contactos normalmente abiertos. Cuando se pulsa, cierran el circuito.

Pensando un poco en la cercana soldadura, con ayuda de un polimetro he identificado los puntos mas sencillos para soldar:






Esta semana me he propuesto realizar las soldaduras y encapsular el receptor en una cajita de plástico. Espero poneros avances muy pronto.
2  International / Proyectos / Re: Proyecto control de calefacción inteligente on: February 26, 2013, 05:27:15 pm
Ahora voy a programar el ciclo de histéresis para que la calefacción no arranque y para cada vez que hay una ligera variación sobre la temperatura. Supongo que lo voy a hacer por porcentajes de en torno al +/- 7%. Si veo que es mucho o poco, lo ajustaré mas adelante.

Si por ejemplo tenemos una temperatura ambiente de 15 grados y fijamos 20 grados como temperatura deseada, la calefacción arrancará:

*** 20 grados + 7% de 20 grados = 21,6 grados    ----> la calefacción se detiene.
*** 20 grados - 7% de 20 grados = 18,4 grados    ----> la calefacción arranca de nuevo hasta volver a alcanzar los 21,6 grados.

De ese modo, conseguimos evitar múltiples arranques y paradas y la oscilación de temperatura entre el punto mas alto y el mas bajo es de solo 3,2 grados.
El concepto está bien pero creo que 3,2 grados es una variación de temperatura muy alta. Los termostastos digitales sencillos lo hacen en un intervalo de +-0,5 grados. Yo no lo pondría mayor que eso.

Ok!!, le bajaré mis ajustes para evitar tanta variación.

De todos modos, voy a observar mi termostato actual a ver que rango tiene.

Edito:

Ya le he configurado el ciclo de histéresis con un +/- 5 %. Al Arduino le doy el % que deseo y él calcula para cada temperatura de referencia su máx. y su mín. He estado realizando pruebas con:

Temperatura de Referencia, 20 ºC
Temp. Mínima, 19 ºC     (20 - 20*0.05)
Temp. Máxima, 21 ºC    (20 + 20*0.05)

Aplicando calor con un secador de pelo poco a poco, obtengo la siguiente respuesta:



En general estoy satisfecho. El sistema funciona correctamente y las inercias térmicas no son muy grandes teniendo en cuenta que lo calentaba acercando un secador y lo enfriaba acercando un ventilador.

3  International / Proyectos / Re: Proyecto control de calefacción inteligente on: February 26, 2013, 02:16:56 pm
si claro! perdon se me habia pasado!

En el link, http://arduino.cc/forum/index.php?topic=39655.0

hablan de capturar las lecturas usando arrays y luego un poco más abajo dicen como convertir esa lectura de la matriz a grados

No te entiendo

El sensor que tienes en vez de facilitar una tensión en el pin de salida, te facilita un código binario. Si le echas un vistazo a su hoja de características, http://datasheets.maximintegrated.com/en/ds/DS18B20.pdf , verás por ejemplo que para indicar:

+125 grados centrigrados    ------ la salida del DS18B20, es decir, la entrada a tu pin de Arduino será,   ----->  0000 0111 1101 0000
0 grados centrigrados         ------ la salida del DS18B20, es decir, la entrada a tu pin de Arduino será,   ----->  0000 0000 0000 0000
-55 grados centigrados       ------ la salida del DS18B20, es decir, la entrada a tu pin de Arduino será,   ----->  1111 1100 1001 0000
... y todas las que quieras intermedias.

Lo que tienes que hacer es con esas lecturas, convertirlo a grados. Para ello usan la librería OneWire.h, que tendrás que descargar de algún sitio si aún no la tienes. En el ejemplo lo tienen conectado al pin 10.

Code:
#include <OneWire.h>

/* DS18S20 Temperature chip i/o
 
 */

OneWire  ds(10);  // on pin 10

void setup(void) {
  // initialize inputs/outputs
  // start serial port
  Serial.begin(9600);
}



void loop(void) {
  byte i;
  byte present = 0;
  byte data[12];
  byte addr[8];
  int Temp;
  if ( !ds.search(addr)) {
      //Serial.print("No more addresses.\n");
      ds.reset_search();
      return;
  }
  
  Serial.print("R=");  //R=28 Not sure what this is
  for( i = 0; i < 8; i++) {
    Serial.print(addr[i], HEX);
    Serial.print(" ");
  }

  if ( OneWire::crc8( addr, 7) != addr[7]) {
      Serial.print("CRC is not valid!\n");
      return;
  }
  
  if ( addr[0] != 0x28) {
      Serial.print("Device is not a DS18S20 family device.\n");
      return;
  }

  ds.reset();
  ds.select(addr);
  ds.write(0x44,1);         // start conversion, with parasite power on at the end
  
  delay(1000);     // maybe 750ms is enough, maybe not
  // we might do a ds.depower() here, but the reset will take care of it.
  
  present = ds.reset();
  ds.select(addr);    
  ds.write(0xBE);         // Read Scratchpad

  Serial.print("P=");  
  Serial.print(present,HEX);
  Serial.print(" ");
  for ( i = 0; i < 9; i++) {           // we need 9 bytes
    data[i] = ds.read();
    Serial.print(data[i], HEX);
    Serial.print("  ");
  }
  Temp=(data[1]<<8)+data[0];//take the two bytes from the response relating to temperature

  Temp=Temp>>4;//divide by 16 to get pure celcius readout

  //next line is Fahrenheit conversion
  Temp=Temp*1.8+32; // comment this line out to get celcius
  
  Serial.print("T=");//output the temperature to serial port
  Serial.print(Temp);
    Serial.print("  ");


  Serial.print(" CRC=");
  Serial.print( OneWire::crc8( data, 8), HEX);
  Serial.println();
}


4  International / Proyectos / Re: Proyecto control de calefacción inteligente on: February 26, 2013, 02:05:37 pm
si claro! perdon se me habia pasado!

En el link, http://arduino.cc/forum/index.php?topic=39655.0

hablan de capturar las lecturas usando arrays y luego un poco más abajo dicen como convertir esa lectura de la matriz a grados
5  International / Proyectos / Re: Proyecto control de calefacción inteligente on: February 26, 2013, 01:57:10 pm
con ese código me sale por serial:

Temperatura Sensor 0: 0.00
Temperatura Sensor 1: 0.00
Temperatura Sensor 2: 0.00
La temperatura media es: 0.00
La temperatura minima registrada es: 0.00
La temperatura maxima registrada es: 0.00

  y lo tengo conectado al pin 2

"Con ese código" entiendo a que te refieres al del link que te he pasado ¿no?
6  International / Proyectos / Re: Presentacion y dudas on: February 26, 2013, 01:44:58 pm
He encontrado esto pero no sé hasta que punto es factible:

http://tronixstuff.wordpress.com/2011/08/26/tutorial-maximising-your-arduinos-io-ports/

http://arduino.cc/forum/index.php/topic,32070.0.html

Bienvenido
7  International / Proyectos / Re: Proyecto control de calefacción inteligente on: February 26, 2013, 01:38:42 pm
me puedes poner tu codigo a ver si es el problema?

Mi código no te va a servir. El LM35 es analógico y por tanto tomo la tensión por el pin A0 del Arduino. Luego lo único que hago es convertirlo a grados.

Code:

int pintemp = A0;
int temp_sensor;

void loop(){

temp_sensor = analogRead(pinTemp);
temp_sensor = (5.0 * temp_sensor * 100) / 1024;

}


El tuyo al ser digital, deberás de proceder de manera diferente, conectándolo a un pin digital y usando una librería. Echale un vistazo a la página que te he puesto antes, que lo explican bastante bien y te facilitan el código,
8  International / Proyectos / Re: Proyecto control de calefacción inteligente on: February 26, 2013, 01:20:01 pm
utilizo el ds18b20 y no hay manera de hacerlo funcionar supongo que es problema del conexionado

Si es el DS18B20,


no le veo mayor problema a las conexiones. son las mismas que el LM35, una para GND, otra para alimentación y otra para los datos.

El LM35 va conectado a una analógica. ¿donde tienes conectado el DS18B20? ¿A un pin analógico o a uno digital?. Ten en cuenta que va a una digital.

Entiendo que también has incluido las librerías correctas,

#include <OneWire.h>
#include <DallasTemperature.h>

Quizás te sirva de algo: http://tallerarduino.wordpress.com/2012/05/04/arduino-y-sensores-de-temperatura-ds18b20/

9  International / Proyectos / Re: Proyecto control de calefacción inteligente on: February 26, 2013, 11:05:54 am
Un apunte, si arduino va a estar a mas de 2 metros del lm35 no vas a obtener buenos resultados, cambialo por uno digital aunque yo no he conseguido que funcione.

En mi caso el LM35 va a estar al lado del arduino. ¿Por qué no has conseguido hacer funcionar el digital?. ¿Que modelo usas?

Un video del proceso:

http://imageshack.us/clip/my-videos/28/mrdnoukiwralrytjfydrzi.mp4/]http://imageshack.us/clip/my-videos/28/mrdnoukiwralrytjfydrzi.mp4

Solucionado el enlace del vídeo. Estaba dando problemas:



Como se puede ver en el vídeo, la temperatura la tengo fijada en 19,5 grados. Si está por debajo, envía un pulso para activar la calefacción. Soplando un poco de aire caliente, con el aliento por ejemplo, en cuanto sube, envía otro pulso para pararla.

Ahora voy a programar el ciclo de histéresis para que la calefacción no arranque y para cada vez que hay una ligera variación sobre la temperatura. Supongo que lo voy a hacer por porcentajes de en torno al +/- 7%. Si veo que es mucho o poco, lo ajustaré mas adelante.

Si por ejemplo tenemos una temperatura ambiente de 15 grados y fijamos 20 grados como temperatura deseada, la calefacción arrancará:

*** 20 grados + 7% de 20 grados = 21,6 grados    ----> la calefacción se detiene.
*** 20 grados - 7% de 20 grados = 18,4 grados    ----> la calefacción arranca de nuevo hasta volver a alcanzar los 21,6 grados.

De ese modo, conseguimos evitar múltiples arranques y paradas y la oscilación de temperatura entre el punto mas alto y el mas bajo es de solo 3,2 grados.
10  International / Proyectos / Re: Proyecto control de calefacción inteligente on: February 25, 2013, 06:33:55 pm
Avances conseguidos hoy:

- He conectado el reloj configurado ayer para tomar la hora y fecha.
- He conectado un sensor de temperatura LM35.
- He conectado un relé que será el encargado de enviar los pulsos de arranque / parada a la calefacción.

El montaje:



Con una temperatura de referencia de 19.5 ºC, consigo la siguiente secuencia. Esa temperatura ahora la coloco vía programación, pero en el futuro tendré que tomarla del servidor web (router):



11  International / Proyectos / Re: Proyecto control de calefacción inteligente on: February 25, 2013, 02:46:34 pm
No entiendo bien lo de sustituir el rele por el emisor de radiofrecuencia, creo que necesitaras ambos no?

Yo lo tengo planteado de la siguiente manera:

Desde el uno pide por RF la temperatura del termometro de referencia y el mega se lo manda. Si esta dentrondel ramgo de activacion arduino Uno enciende la calefaccion y manda la confirmacion del encendido. Cada X tiempo Uno pide a Mega la temperatura y si es el valor de apagado se apaga

Puedes poner un esquema? no me queda claro lo que estas montando
12  International / Proyectos / Re: Proyecto control de calefacción inteligente on: February 24, 2013, 06:28:14 pm
Bueno, ya tengo los materiales. A grandes rasgos:
- Arduino UNO + Ethernet Shield Kit. Viene con varios trastos; resistencias, diodos, fotoresistencias, display LCD, etc. etc.
- Relé de RF y emisor de RF
- Reloj RTC
- Fuente Alimentación 220 VAC / 12 VDC

Estuve probando cosas sencillas, pero ya tengo dos pasos importantes para mi proyecto:

1. He conseguido obtener la hora, minutos y fecha del módulo RTC. Me va a hacer falta para programar la calefacción.



2. Mediante un pulsador he simulado la entrada que le va a enviar el router y he actuado sobre un relé estandar. La idea es sustituir ese relé por el emisor de Radiofrecuencia.

13  International / Proyectos / Re: Proyecto control de calefacción inteligente on: January 26, 2013, 07:39:28 am
Lo que te haga falta. Mandame un mp.

Aunque sea chico el piso la diferencia de temp existe.

Bueno, ya tengo encargado el pedido. En cuanto me llegue, voy poniendo el progreso
14  International / Proyectos / Re: Proyecto control de calefacción inteligente on: January 18, 2013, 05:00:50 am
Hola! Es parte de mi proyecto asi que si quieres echale un ojo a mi blog que esta en mi firma.

Te cuento por encima, tener un termometro en cada habitacion para tener la opcion de cambiar el de referencia, es decir, el salon al tener el brasero tiene mas temperatura que cualquier habitacion asi que cortaria la calefaccion antes y si cambiamos el termometro de referencia al dormitorio este seria el encargado de cortar la calefaccion. Y ademos podemos configurar para que la temp de corte sea la media de todas las habitaciones.


Le voy a echar un vistazo a tu web. De todas formas mi piso no es muy grande. Con tener la referencia en el salón, pienso que puede ser suficiente (actualmente tengo un solo termostato situado en el salón).

Si te interesa nos intercambiamos correos para ir avanzando en el proyecto.
15  International / Proyectos / Re: Proyecto control de calefacción inteligente on: January 17, 2013, 03:29:40 pm
ponchingote y que consideras por inteligente? que quieres que haga el arduino?  supongo que con el modulo wifi piensas encender y apagar desde internet, saber cual es la temperatura de la habitacion y cambiar la temperatura de encendido.
has pensado hacer algo mas?

La idea es poder gestionar mediante una aplicación SCADA en mi móvil la calefacción de mi casa. Si no puede ser con una aplicación SCADA, la idea sería mediante una aplicación web.

Se podrá fijar la temperatura vía móvil y poner el sistema en modo ON. La calefacción comprobará la temperatura ambiente y si es menor que la de referencia, arrancará. Si es superior, no arrancará.

Mediante móvil podremos indicar a la calefacción, de tal hora a tal hora, 21 grados y de tal hora a tal hora, 18 grados. Para ello el arduino va a tener la entrada de un reloj (se me ha olvidado ponerlo en el esquema).

En la aplicación móvil podremos ver la temperatura actual de la casa, la temperatura deseada, el estado de la calefacción (on/off) y el rango fijado de temperatura para cada hora.
Pages: [1] 2