sábado, 21 de diciembre de 2013

Observatorio Abierto.


Pues no, no me refiero a la puerta del observatorio, ni al software libre ;-) 
Me refiero a la forma de conectar entre sí los diferentes equipos del observatorio.

Muchos elementos del observatorio se comunican por puerto serie: telescopio, estación meteorológica, rueda de filtros, enfocador, .... Si en vez de adaptar esos puertos a usb, como es habitual, los adaptamos a ethernet estaremos haciendo una instalación abierta.
Dispositivos del observatorio conectados en red. 

Ciertamente hay un elemento más difícil de poner en red: la cámara principal. Son pocas y caras las que tienen conexión ethernet. Por eso un día me animé a diseñar el COR, para tener también las cámaras en red. No obstante, en un control remoto, no menos importante que la adquisición, es la seguridad del observatorio, estar seguro de su estado, y para eso es bueno tener alternativas de acceso al resto del sistema.

Las instalaciones abiertas, en red, ofrecen la mayor flexibilidad y fiabilidad.
- El observatorio no depende de un único ordenador , es posible tener una cpu de backup. 
- Los dispositivos en red son accesibles desde diferentes ordenadores sin tener que cambiar un cable. Por ejemplo, podemos añadir una cpu para pruebas. 
- No hay problema de distancia con los cables, o se puede acceder vía wifi.

Una ventaja adicional es poder disponer de los mismos datos en más de una aplicación. Esto también es útil de cara a solucionar problemas o desarrollar programas nuevos,  podemos ver que está saliendo por cada dispositivo sin desconectarlo de su aplicación. Basta hacer un simple telnet para monitorizar que se mueve por ese puerto.
 Mensajes de la estación meteorológica EMA a su aplicación.
Una vez en red, la flexibilidad es total, por ejemplo si estamos probando un programa, o modificandolo, la estación puede estar en el observatorio y el programa que desarrollamos en casa.

Adaptadores RS232 a Ethernet baratos.

Este tipo de adaptadores, también llamados servidores serie, no existen en electrónica de consumo, solo se encuentra en entornos industriales, razón por la cual nunca han sido baratos.
Pero como no podía ser menos, gracias (o por desgracia, según se mire) a China, y al avance de la tecnología, los precios están bajando.  
Ciertamente, aún muy lejos de marcas clásicas como Perle o Digi, hay un fabricante chino que va tomando fuerza en módulos de uno o dos canales: USR TechnologyUn puerto sale por unos 20$ comprando la placa suelta, con caja 40$.
  Adaptador USR-TCP232 de un canal, la placa y en caja. Derecha, adaptador de 2 canales a TTL.

Tengo en pruebas desde hace cuatro meses el modelo USR-TCP232, de un canal,  con una estación EMA. Después de unas dudas iniciales finalmente no achacables al dispositivo, en un funcionamiento ininterrumpido de meses, puedo decir que va sin problemas. 
El módulo de dos canales está pensado para ser montado sobre circuito impreso y no lo he probado.

La comunicación en la red es TCP/IP.  Si los datos van a ser recibidos por una aplicación propia, lo eficaz es comunicarse por sockets, ( ej. los programas TESS y EMA).
Si los datos se quieren en una aplicación que solo acepte puertos series, por ejemplo un planetario, hay que recurrir a un programa que cree puertos serie virtuales, como por ejemplo el VSPM que USR entrega con sus adaptadores, es bueno y fácil de usar. 

VSPM, programa usado por los adaptadores USR para crear puertos series virtuales.


Un adaptador  de cinco puertos: ET232.

Para uno o dos canales los adaptadores anteriores están bien, pero para cuatro o cinco canales es deseable un dispositivo multipuerto para simplificar el cableado. Pero aqui los chinos aún no han entrado y siguen muy caros.
Total, que como ya conocemos los módulos de Rabbit Semiconductor, nos hemos animado a fabricar un adaptador de cinco puertos con el módulo más moderno, el minicore RCM6710.
Primer montaje del adaptador ET232 en caja de aluminio de 125x105x35. 
Los conectores DB9 van directamente en la placa para evitar el cableado.
Casi todo lo hace el RCM6710, solo debemos añadir en la placa algunas cosas: 
- Drivers RS232 para los cinco puertos.
- Regulador de tensión conmutado para optimizar el consumo y aceptar tensiones de entre 7 y   14v con un consumo inferior a 2W.
- Tensión en el pin 9 para alimentar a dispositivos como al TESS.
- Opción de 6 E/S auxiliares y un puerto I2C.

En cuanto al programa del modulo se carga fácilmente por uno de los puertos serie desde el  mismo compilador.
Es posible ver la configuración de los puertos en una pagina web alojada en el dispositivo.

PCB por el lado de los componentes.

Parte inferior de la placa donde va el core RCM6710.

La versión actual del programa esta operativa desde hace dos meses. Funcionan los cinco puertos, por ahora solo con una conexión TCP por puerto.
 La posibilidad de controlar las E/S y el I2C queda para más adelante.

El modulo RCM6710 cuesta 37€ en la tienda online de Digi, el resto del material unos 25€ adicionales. 

Si alguien se anima  a programar este módulo, el entorno de Dinamic C, es relativamente asequible. El compilador es gratis y tiene ejemplos para todo lo imaginable, incluido uno para manejar multiples puertos serie.


No hay comentarios: