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.


TESS: Sensor de Nubes y Calidad de Cielo.

El destino inicial del TESS (Telescope Encoder & Sky Sensor) fué el telescopio de un observatorio remoto sin encoder absoluto ya que nos dá la dirección de apuntado. Por eso, la comunicación nativa es RS232 , la más fiable y que permite cables de hasta 25m. 
TESS-RS232 sobre telescopio SC. 

 TESS modular USB / Bluetooth.
Esta nueva placa, más pequeña, complementa a la anterior en el uso portatil. Reduce su tamaño sacando fuera el adaptador de comunicaciónes y alimentándose a 5v.

Aunque escalable a la versión completa, está más enfocado a:
- Medidas de calidad de cielo.
- Sensor de nubes para astrofotografía (alarma acústica de nubes, o cuando se despeja).

La comunicación es una opción externa a elegir entre los diferentes módulos adaptadores disponibles comercialmente. Si solo  interesa el brillo del cielo por USB, el coste es casi la mitad respecto al modelo completo. 
1- El prototipo de TESS modular junto a la versión RS232.
La salida de la placa es serie de nivel TTL a 3.3v, para conectar el adaptador USB, Bluetooth, o llegado el caso RS232.  La alimentación es a 5v, a diferencia de la placa grande que admite 12v.

Placa final del módulo.
La placa final mide 30x40mm, se pueden montar cualquier combinación de sensores con los tres disponibles según la aplicación. Para una instalación fija no hace falta el acelerómetro, si solo interesa el brillo del cielo,  con el sensor luminoso es suficiente. 
2 - TESS modular con los tres sensores instalados.

TESS-USB.
Una forma sencilla y barata de alojar la placa es usando un manguito de PVC de 40mm y dos tapones. Un trozo de tubo de 40 sirve de soporte para sujetar la pcb.
Si se quiere un acabado perfecto se pueden tornear las piezas. El PVC mecanizado queda en un prudente gris aviación que no requiere pintado.

  

3 - Montaje sobre dos tapónes y un manguito de PVC de 40mm mecanizados.
 La conexión es con adaptador TTL-USB, donde el convertidor a USB va en el mismo conector.

El adaptador TTL-USB puede ir en una plaquita o en el mismo cable. Según el chip que incorporen, pueden costar 3€ sin son clónicos  o 6€ si son originales marca FDI.
 Este último es preferible por varias razones, una de ellas que no importa en que boca se conecta, una vez identificado por windows, siempre le asigna el mismo numero de puerto.

Además del USB, podemos añadir un módulo bluetooth para recibir la información en el móvil Android.
4 - Un modulo bluetooth HC-06 puede conectarse directamente sobre la placa. Es necesario que el adaptador bluetooth tenga los pines en el orden Vcc,Gnd,Tx y Rx, ya que hay varios modelos.
5 -También podemos colocar el adaptador TTL-USB en el interior.  


Instalación con batería portátil.
La forma de uso más independiente para uso portátil es comunicando por bluetooth, por ejemplo alojando el módulo dentro de un cargador portátil para móviles. 
Esta caja con dos baterías de litio puede salir por unos 10€ en Ebay.
6 - Instalación en alimentador de reserva. A la derecha con una protección de goma eva.


7 - Colocando solo dos pilas de litio queda espacio para la placa y el módulo bluetooth.
Con esta adaptación, ademas de los sensores, seguiremos disponiendo de la función batería de emergencia USB y pequeña linterna.


Software
El programa es idéntico para cualquier version en Windows y Android. 
Su funcionamiento se explica con detalle en el manual:  TESS. 
Unos pantallazos ilustrativos:

 Ventana principal.

Gráfica de brillo del cielo.

 Gráfica de nivel de nubes.

Ventana del programa Android.

Adaptador LCD

Para medir manualmente solo el brillo del cielo, sin necesidad de pc o móvil,  en lugar del modulo bluetooth podemos colocar  un adaptador con display LCD, aunque esto supone la perdida de prestaciones.


8 - Prototipo de adaptador LCD para medidas de brillo.


Coste.
 Aunque comprar componentes sueltos no es barato, el coste del material electrónico de la placa, con sensor de brillo, acelerómetro-magnetómetro y filtro IR dicróico, sale por unos 22€, con termopila  sobre 36€ y hay que añadir la comunicación, otros 6€ y la caja.
En total con todos los sensores, caja y doble comunicación (USB y Bluetooth) el material puede salir por unos 52€.