Go Down

Topic: Control rejillas motorizadas Aire acondicionado (Read 9269 times) previous topic - next topic

jgarridc

Hago un breve resumen de las pasarelas, sirven para controlar las maquinas 1º PARO/MARCHA 2º CAUDAL 3º TEMPERATURA.
Tambien existe la posibilidad de controlar la maquina, con un CONTACTOR quitando y poniendo corriente, es decir, cuando alguna rejilla esté abierta, me da igual frio o calor, Automaticamente cerramos el contactor y arrancamos la maquina. Si la maquina tiene autoarranque, que practicamente ya la tienen, todas, la maquina arrancara en el ultimo estado en el que la dejamos.... que será FRIO 18º
Muchas gracias, eso está claro.....el tema es saber cómo controlar un equipo Daikin de conductos, por ejemplo, a través de la pasarela modbus que tiene el fabricante Intesis. Porque le voy a atacar por ahí, pero no tengo ni papa de modbus. Así que toca investigar a fondo. Por supuesto todo ello controlado desde Arduino.

Miguelesoft

#31
Nov 26, 2018, 11:32 pm Last Edit: Nov 28, 2018, 09:31 am by Miguelesoft
Muy buenas, he estado maquinando hacer el misno proyecto que tu y casualmebte buscando como controlar rejillas motorizadas con arduino he dado con este foro.
Mi a/c tiene un mando cableado para controlarlo, en principio pense hacerle ingenieria inversa al bus de este mando de tan solo dos hilos, pero buscando informacion descubrí que mi a/c tambien usa modbus, asi que quiero empezar a trastear con el, y voy a empezar con algo sencillo usando las siguientes herramientas que tal vez sean de tu interes.
Un conversor usb a rs232
USB a RS232 TTL
Un conversor de rs232 o ttl a rs485(que en teoria es sobre el que funciona modbus)
TTL a RS485
Mini TTL a RS48
Y la aplicacion MODSCAN que es teroria es una interface para pc del protocolo modbus.
MODSCAN video
MODSCAN Video
Trasteare y veré si las direciones que cambian son las que has posteado unos mensajes atras.
Por cierto, tengo una lista mas completa de direcciones por si te interesa, pero no se a que a/c pertenece, creo que es algo generico

jgarridc

#32
Nov 27, 2018, 08:44 pm Last Edit: Nov 27, 2018, 09:04 pm by surbyte Reason: No repitas lo que se lee arriba
Hola y gracias, disculpa, ¿de qué zona de España eres?, si es que eres de España, claro..yo de Valencia ciudad.


Pues te comento, tras estar mirando y mirando páginas, foros y demás. La conclusión a la que he llegado es la siguiente:

- La comunicación modbus es posible con casi todos los equipos de A/A por conductos actuales.

- El problema es la comunicación con la máquina, o sea, su mapa de registros es imposible de averiguar, a no ser que trabajes para la NASA.

- Hay una empresa que se llama INTESIS (Española), ojo, yo ni trabajo ahí, ni les hago publicidad. Esta empresa tiene una serie de productos y pasarelas que valen para un montón de marcas que hay en el mercado, Daikin, Mitsubishi, etc etc. Estas pasarelas se conectad mediante el par de cables modbus a las másquinas de A/A y mediante su mapa de registros podemos controlar las máquinas. Para un equipo Daikin la pasarela está por unos 150 euros. Así que es un precio muy interesante, teniendo en cuenta que se puede gestionar la temperatura de forma externa, que es el kit de la cuestión.

- A día de hoy es la única forma de poder controlar los equipos de A/A por conductos, si queremos usar arduino. O saber los mapas de registros de los equipos, que vamos, ni de coña.

- Yo al final no lo voy a intentar, mas que nada porque el piso que me he comprado es antiguo y tiene varias vigas que me hacen imposible meter conductos. Pero si estás interesado, podemos investigar los dos sobre el tema, si tienes posibilidad de hacerlo en tu casa.

- Hay otras pasarelas de otros fabricantes, pero de INTESIS hay mucha info y son serios, al menos me han estado contestando a todas mis dudas sin problemas.

- Si eres de Valencia ciudad o cerca podemos quedar, si no, pues podemos seguir en privado con el asunto y si vemos que la cosa la podemos poner en marcha y funciona, podemos postearlo en el foro para que la gente sepa como está el asunto.

Un saludo.

Miguelesoft

Sería estupendo trabajar juntos pero soy de sevilla.

El protocolo modbus está muy bien documentado y es gratuito, ya hay incluso librerias para usarlo en arduino.
Los mapas de memoria para las funciones que nos interesan me da la impresion que tambien estan estandarizados.

El protocolo para comunicarse con el modulo de intesis que comentas muy probablemente será propietario y puestos a implementar un protocolo nuevo intentaría descifrar el que ya usa el mando de mi a/c.

Tambien si tuviese que desenbolsar 150€ por el modulo de intesis preferiría comprar un mando que se comunique a traves de modbus con mi a/c, que tambien existen y probablemente sea mas barato y desde ahí me sería sencillo extraer el mapa de registros.

De momento voy a intentar comunicarme directamente a traves de modbus sin modulos adicionales, la idea es mantener el proyecto lo mas barato y sencillo posible.

Te mantendré informado.

surbyte

Les recuerdo a ambos que el hilo no es de Uds y quien debe estar de acuerdo con la orientación que le estan dando es el autor del tópico.

Miguelesoft

#35
Dec 03, 2018, 02:00 pm Last Edit: Dec 03, 2018, 04:07 pm by Miguelesoft
Antes de nada quiero pedir disculpas si por mi manera de expresarme ha parecido que el hilo era mio.
Al ser un proyecto muy similar me ha parecido bien compartir mi manera de enfocarlo, y quizás a partir de ahi el dueño del topico u otros puedan extraer ideas para su proyecto personal.
Si el moderador o el dueño del topico considera que devería tratar el proyecto en un hilo nuevo así lo haré.

Cumpliendo mi promesa de mantener informados comento que he estado indagando un poco y viendo las entrañas de mi equipo de aire acondicionado, habiendo leído previamente los manuales de usuario y mantenimiento sabia que existian un par de puertos de comunicaciones en mi equipo nombrados como PQE y XYE, el primero conecta la unidad exterior con la interior, y el segundo sirve como puerto de comunicaciones, ya sea para un mando de control cableado, el modulo de intesis que comentaba el compañero, un modulo similar al de intesis que provee el fabricante de la maquina, o la pasarela del sistema Airzone.

He buscado estos puertos en la maquina para ver si habia algo que me ayudase a confirmar que las comunicaciones se efectuaban a traves del estandar RS485, y cual ha sido mi sorpresa, que junto a los conectores hay 3 integrados que según sus datasheets son los encargados de la comunicacion RS485, dos de ellos son el VP3082 y el restante el HVD888. Adjunto imagen.



Por el momento poco mas puedo avanzar, pero ya he hecho el pedido de la electrónica que voy a usar, entre ellos un conversor USB a RS485 y otro conversor TTL a RS485, en cuanto me llegen los conecto y sigo compartiendo novedades.

jgarridc

#36
Dec 03, 2018, 05:48 pm Last Edit: Dec 03, 2018, 06:53 pm by surbyte Reason: No repitas lo que se lee arriba
GENIAL¡¡¡¡¡

Miguelesoft

#37
Dec 04, 2018, 08:27 pm Last Edit: Dec 04, 2018, 09:25 pm by Miguelesoft
Pues bueno, como estoy muy ilusionado con el proyecto, he empezado a trastear con una librería para arduino que implementa el protocolo MODBUS, la librería se llama ModbusMaster.

Como ya comenté existe una herramienta llamada ModScan32 que hace las veces de dispositivo master en una red modbus, puedes escribir y leer registros. Pues bien, el mismo desarrollador de esta herramienta tiene una aplicación llamada ModSim32, que hace las veces de dispositivo esclavo en una red modbus.

Pues con todo esto, partiendo de un ejemplo de uso de la librería ModbusMaster, y usando ModSim32, tengo un pequeño sketch que copia datos de un registro y los escribe en otro. Os pego el sketch, en el también he incluido algunas definiciones de algunos registros que a priori podrían ser los de mi A/C.

Code: [Select]

#include <ModbusMaster.h>

//COILS OUTPUTS
#define FAN-MODE 0
#define DEHUMM-MODE 1
#define HEAT-MODE 2
#define COOL-MODE 3
#define AUTO-MODE 4
#define MODE-LOCK 5
#define ON/OFF 7
#define HIGH-FAN 8
#define MEDIUM-FAN 9
#define LOW-FAN 10
#define BREEZE-FAN 11
#define AUTO-FAN 15
//DISCRETE INPUTS
//HOLDING REGISTER
//INPUT REGISTERS
#define TS 3
#define T1 4
#define T2 5
#define T2B 6
#define T3 7
#define POWER 12

ModbusMaster node;


void setup() {

  Serial.begin(9600);
  node.begin(2, Serial);

}

void loop() {
  static uint32_t i;
  uint8_t j, result;
  uint16_t data[6];

  i++;

  // set word 0 of TX buffer to least-significant word of counter (bits 15..0)
  node.setTransmitBuffer(0, lowWord(i));

  // set word 1 of TX buffer to most-significant word of counter (bits 31..16)
  node.setTransmitBuffer(1, highWord(i));

  // slave: write TX buffer to (2) 16-bit registers starting at register 0
  result = node.writeMultipleRegisters(0, 2);

  // slave: read (6) 16-bit registers starting at register 2 to RX buffer
  result = node.readHoldingRegisters(2, 6);

  // do something with data if read is successful
  if (result == node.ku8MBSuccess)
  {
    for (j = 0; j < 6; j++)
    {
      data[j] = node.getResponseBuffer(j);
    }
  }
  node.setTransmitBuffer(0, data[0]);
  node.writeMultipleRegisters(9, 1);
  node.writeSingleRegister(10, data[1]);
}


Espero que a alguien le pueda servir de ayuda, estoy deseando que me llegue el conversor USB a RS485 para meterselo al A/C, y espero que mi A/C hable modbus :D

Había pensado grabar un pequeño vídeo, pero solo se vería como cambian los registros del programa ModSim32, algo poco impresionante  :D

Miguelesoft

Bueno, al final he subido el vídeo, en el se puede ver como sube un contador que hay implementado en el código, y como al resetear vuelve a 0, y como al modificar las direcciones 40003 y 40004 el arduino las lee y las escribe en la 40010 y 40011.

Prueba Modbus con arduino


Miguelesoft

#39
Dec 18, 2018, 02:50 pm Last Edit: Dec 18, 2018, 05:08 pm by Miguelesoft Reason: Imagen en el cuerpodel mensaje
Pues bien, ya me han llegado los componentes para continuar con el proyecto, tenia que venir al trabajo y no he podido vichear mucho, pero aquí esta lo que en prncipio será la placa base del dispositivo, con sus componentes principales, no se ve el conversor ttl a rs485 por que creo que lo voy a tener que montar por detras por falta de espacio.



El cerebro iba a ser un ESP32, pero creo que lo voy a cambiar por un ESP12E que tenía por casa, es con el que he estado trasteando y de momento me va bien, concretamente este.



A ver si tengo un rato y subo un esquemilla que he realizado con la idea de lo que tengo en mente.

Ahora es cuando empiezan los ptoblemas y todo empieza a diverger de como lo habias pensado  :D.

Miguelesoft

#40
Dec 26, 2018, 06:11 pm Last Edit: Dec 26, 2018, 06:26 pm by Miguelesoft
Sigo avanzando en el proyecto, os dejo el esquema que os comente con lo que tengo en mente, y avanzo un poco como voy.



Como comenté he cambiado el esp32 por un ESP12E.
Los arduino mini los compré de 5V y 16MHz, pero como se puede intuir en el esquema principio que adjunto, los termostatos van a ser inalambricos e irán a pilas, por lo que los voy a convertir en arduinos mini de 3.3V 8MHz así que toca cambiarle el cristal, que ya los he comprado, y eliminarle los reguladores.

La idea es que el sistema sea controlable a través de una interface web, tengo que desarrollarla, pero ya mas o menos tengo algo definido.

Lo que viene siendo la placa base ya la tengo montada, a falta de soldarle algunos pines mas para los servos de las rejillas.

El sistema es capaz de conectarse a través de MODBUS con el programa ModSim32 que esta emulando a mi aire acondicionado de conducto Kaysun, todo esta basado en documentación que he ido leyendo, quedan hacer pruebas en el equipo real.

El sistema modifica la temperatura de consigna del aire acondicionado (de su simulación mejor dicho) en función de las diferencias de temperaturas que haya entre la temperatura de consigna y temperatura ambiente de cada una de las habitaciones.

Las rutinas para abrir y cerrar la rejillas en función de la temperatura de la habitación ya la tengo creada, ahora os ajuntaré un vídeo con una pequeña prueba.

Ahora mismo la comunicación las estoy haciendo a través de RS232, pero en teoría haciéndolo con el modulo RS485 que tengo montado en la placa base debería funcionar también.

Os pongo el vídeo con una pequeña prueba de funcionamiento.

Test Zonificador

En el vídeo se ve un móvil, que tiene abierta una pagina web, que indica el estado del termostato de la habitación 1; en función de la temperatura ambiente se observa como se acciona el servo, que abriría o cerraría la rejilla.

Como el termostato físico aun no lo tengo montado, los valores de consigna y temperatura ambiente se están seteando desde el programa ModSim32, y el ESP12E los muestra a través de una pagina web.

El servo se ha programado para que abra las rejillas cuando la temperatura ambiente es medio grado mas baja que la temperatura de consigna, y se cierra cuando la temperatura ambiente es medio grado superior a la temperatura de consigna, aunque estoy pensando en bajar ambos casos a una diferencia de 0.25ºC.

Y poco mas, felices fiestas y seguiré informando.

Go Up