miércoles, 19 de diciembre de 2007

Interfaz serie RS232 a KNX FT1.2 con BIM113 (SCH/PCB)

A la hora de conectar nuestro ordenador o "cacharrillo" con el bus KNX tenemos varias posibilidades:
  • Comprar una interfaz serie, USB o IP. Lo cual suele salir bastante caro.
  • Hacernos la interfaz serie. Podemos usar una BCU1, BCU2, TPUART o usar lo que suelen llevar las BCUs 2, osea, una BIM (Bus Interface Module)

Las TPUART son muy sencillas y solo implementan parcialmente el protocolo KNX, por lo que tendremos que usar un driver que implemente la parte faltante. Actualmente hay drivers libres para Linux y propietarios para microcontroladores y otros SS.OO. Tiene ciertas limitaciones en cuanto a temporización y no funciona directamente con ETS y en Linux. El driver libre solo se puede compilar para PCs con puerto serie RS232.

La BCU1 tiene menos problemas que la TPUART. Se puede usar directamente con ETS por el puerto serie. El controlador para Linux requiere un PC con puerto serie. No podemos usar adaptadores USB a serie.

La BCU2 se puede usar en modo BCU1 o bien en modo FT1.2. Este modo no tiene las restricciones de tiempos de la BCU1 por lo que se puede usar via serie, USB o incluso con adaptadores USB a serie.

La BIM, como su propio nombre indica, es un módulo de interfaz al BUS, se suele utilizar para desarrollar dispositivos. Una BCU2 contiene en su interior una BIM.

Y después de tanto rollo, ¿como son las BIM?
Aqui teneis el aspecto de una BIM113
Imagen obtenida de http://www.opternus.de

¿Y como le ponemos a "eso" un puerto serie?
Gracias a la contribución de Manuel Jimenez de la Universidad Politécnica de Cartagena, tenemos un sencillo diseño de placa para poder construir nuestra propia interfaz.

Podemos encontrar el esquema y algunos diseños en http://www.dehof.de/eib/ o bien este otro.
También está disponible el PCB en PDF para hacer la placa facilmente.

Y este es el resultado final

Con esta sencilla interfaz dispondremos de una interfaz FT1.2 para usarla con ETS e incluso con ordenadores que no dispongan de puerto serie, con un adaptador USB a serie. Este diseño no funciona con las BIM M13x, aunque en las especificaciones dice que son compatibles pin a pin.

Pero la opción más interesante es usarla con sistemas embebidos Linux con puerto serie o USB y Linknx. Yo lo he probado con los Linksys WRT54GL y Asus WL500g (con OpenWRT), y con el NSLU2 (con unslug 6.8). También podriamos usar ETS via red WiFI para conectar al BUS y programar (usando KNXNet).

Y bien, supongamos que somos capaces de hacer la placa y soldar los componentes, ¿donde comprar la BIM?
Por ejemplo en http://www.opternus.de, supongo que habrá más sitios donde comprarlas pero solo conozco ese.

La BIM sale por unos 40€ mas IVA y portes.

Enlaces:
http://www.opternus.de
http://www.dehof.de/eib/DE/eibmax.htm
http://webs.ono.com/uidas/BIM113/KNX-BIMM113-RS232_Schematic.pdf
http://webs.ono.com/uidas/BIM113/KNX-BIMM113-RS232.pdf
http://www.auto.tuwien.ac.at/~mkoegler/index.php/tpuart
http://linknx.sourceforge.net/

17 comentarios:

Anónimo dijo...

Hola, sabeis si funcionaría igual con una BIM M130? Muchas gracias

uidas dijo...

Pues en teoría si, pero no te lo puedo asegurar porque no lo he probado. La BIM130 es una BCU2.5 y es compatible pin a pin con al BIM113.

Anónimo dijo...

Yo he intentado implementar este PCB con una BIM130 y no consigo hacerla funcionar. Mi manera de probar si funciona es con el ETS seleccionando la opción de comunicación FT1.2. Lo raro es que cuando esta sin conectar al bus me da "test OK" en el ETS pero al conectarla al Bus falla.

Felicidades por el blog, es de lo mejor que he encontrado.

Pelija dijo...

De acuerdo totalmente con mon, es de lo mejorcillo que hay en cuanto a desarrollo hardware de KNX, yo estoy empezando, a ver si sigues posteando fiera!

Emilio dijo...

Cuando utilizo el ETS3 muchas de las tramas (vista monitorización) salen con el flags R o CR, el ets muestra los datos de esta trama en amarillo, ¿de que puede ser debido que se produzcan tantos errores en el bus?

Pelija dijo...

Si tienes acoplador de linia y los telegramas deben traspasarlo, ojito no lo tengas flitrado. La cuestion es que los telegramas de ack no llegan, así que se reenvian hasta 3 veces los telgramas enviados.

A ver si te ayuda algo eso....

JL dijo...

Muy buenas. El blog me parece bastante interesante. Mi pregunta es la siguiente: ¿conectando este esquemático al puerto serie del pc podré diseñar un driver en Java para leer y escribir tramas en el bus? ¿Qué protocolo es el que leeré por el puerto serie de mi pc con un programita básico de monitorización del puerto serie si simplemente conecto el esquemático y ejecuto acciones en el bus Knx?.
Felicidades por el Blog.

uidas dijo...

Buenas, el protocolo que usa es FT1.2
En http://www.dehof.de/eib/pdfs/FT12-Message-Format.pdf tienes un ejemplo del formato de las tramas

No creo que haga falta que hagas un un driver en Java porque ya hay muchas cosas hechas.
Echale un ojo a https://www.auto.tuwien.ac.at/a-lab/knx-eib.html que hay mucha información interesante.

Emilio dijo...

Parece ser que algunas de las nuevas BIM13x son compatibles pin a pin con la BIM113 y soportan el protocolo FT1.2, por lo que supuestamente se podrian usar de la misma forma.

¿Son compatibles las BIM11 con las 13?, quisiera probar esta nueva BIM13 para construir un interfase RS232

JL dijo...

Me gustaría conseguir un Bimm para trastear un poco. ¿Sabéis cuál sería la mejor forma de conseguirlo?

JL dijo...

Otra pregunta. ¿El esquema realizado seria equivalente a una interfaz serie como las que venden los fabricantes de productos KNX? ¿En ambos casos leería lo mismo por el puerto serie?

Emilio dijo...

Sobre la pregunta ¿En ambos casos leería lo mismo por el puerto serie? decirte que si, siempre y cuando utilicen el mismo protocolo de comunicaciones.
Yo las BIM las he comprado en Opternus

JL dijo...

Hola Emilio, la verdad es que me gustaría chatear un poco contigo para preguntarte algo más relacionado con el tema y no llenar el blog de preguntas. Si te animas escríbeme a julioqmf@hotmail.com o agrégame en el messenger. Muchas gracias.

popipo dijo...

muy buenas queria preguntar que finalidad tiene este puerto en el router .

muchas gracias

Pedro Vivancos dijo...

Hola, he comprado un par TPUART a los creadores del EIBD pero no consigo hacerlas funcionar. ¿Alguien puede darme alguna pista sobre cómo hacerlas o funcionar o al menos comprobar que está todo en orden?

uidas dijo...

Hola. Para usar las TPUART con eibd lo mejor es que uses el driver en modo usuario. Creo que es el tpuarts, sería algo así como tpuarts:/dev/ttyS0 (el primer puerto serie)

El otro día compilé eibd con soporte tpuart (en modo usuario) e hice algunas pruebas de leer y escribir valores en el bus.
Tengo que probar a compilar el eibd para el router Linksys, con soporte tpuarts y KNXIP para ver se puede programar con ETS, y si funciona linknx con mucho tráfico de bus.

¿Donde has comprado las TPUART? ¿En la Universidad de Viena?¿En Opternus?

Pedro Vivancos dijo...

Las he comprado en la Universidad de Viena (http://www.auto.tuwien.ac.at/~mkoegler/index.php/tpuart) y no consigo que funcionen.

Compilé EIBD con la opción de usar el driver en modo usuario (tpuarts como bien dices) y no hay manera.

¿Se te ocurre alguna prueba o comprobación que pueda hacer para detectar dónde está el problema?

Gracias