domingo, mayo 24, 2015

NSd (VI): Aplicaciones: Medida de datos atmosféricos

He visto la siguiente noticia, donde unos científicos quieren hacer una medida del viento a 100m para realizar pronósticos más precisos para predecir el comportamiento de los generadores eólicos. La sonda es una buena manera de hacerlo, ya hemos visto que se puede anclar muy fácilmente la sonda al suelo y además esta ya enviará parte de los datos que nos (presión atmosférica, humedad y temperatura), así que sólo nos queda saber la dirección y velocidad del viento.

En tierra y parados, medir la dirección y velocidad del viento sería relativamente fácil de hacer, sin embargo en una sonda colgada de un globo que se mueve y gira en varios ejes hay alguna complicación más… El hecho de utilizar giroscopios y acelerómetros, repartir correctamente los sensores por la superficie, utilizar formas aerodinámicas que impidan el giro libre y repartir el peso correctamente nos ayudará a recoger los datos de una forma ordenada y que luego sea fácilmente procesable.

Por ejemplo si la carcasa es en forma de gota de agua (o el perfil de un ala de avión) la brújula digital nos podría servir como veleta, ya que la forma de la carcasa haría que la sonda girará en dirección del viento. Para medir la velocidad del mismo podemos mirar la inclinación de la sonda o realizar la medida por resistencias o hilos calientes o directamente con un anemómetro de aspas.

domingo, abril 26, 2015

NSd (V): Definición del proyecto

Nos hemos dado cuenta que habíamos empezado a trabajar ya en el desarrollo de la sonda y todavía no habíamos publicado una defición del proyecto en condiciones.

El proyecto NSd trata de construir una sonda meteorológica (sub-espacial) que mida parámetros de la atmósfera y pueda realizar fotografías de gran altitud. Constará de dos partes bien diferenciadas, la sonda propiamente dicha (encargada de la recogida y transmisión de los datos) y la estación de tierra (encargado de la recepción de datos y el procesado y presentación de los mismos).

Sonda
A su vez la sonda constará de 3 partes diferenciadas:
  • La IMU (Unidad Inercial)
  • Los sensores
  • La parte de radiofrecuencia
IMU
La unidad inercial es el cuerpo de la sonda, se encarga de recoger los datos de posición y orientación de la sonda para contextualizar el resto de datos proporcionados por los sensores. Constará de:
  • Un procesador.
  • Un giroscopio (3 ejes).
  • Un acelerómetro (3 ejes).
  • Un magnetómetro (3 ejes).
  • Un altímetro barométrico.
  • Un GPS.
  • Un sistema de almacenamiento.
De esta forma tendremos una medida muy completa y exacta de la posición y orientación de la sonda en todo momento. Además dado que queremos un sistema compacto el mismo procesador que tenga la IMU nos podrá servir para recoger los datos del resto de sensores y para transmitir la información a la estación de tierra.

Sensores
Los sensores irán repartidos en una o varias PCBs dependiendo de la necesidad de espacio que ocupen o de la posición en la que hayan de ir. Nosotros hemos escogido unos sensores para medida atmosférica, sin embargo el diseño podría tener otros sensores dependiendo del uso que se vaya a dar (ver la sección de aplicaciones):
  • Una cámara (QVGA-VGA) a color
  • Sensores de luz para los siguientes canales: rojo, verde, azul, ultravioleta (UV a 400-410nm), Infrarrojo cercano (IR a 850nm), Infrarrojo térmico (IR a )
  • Humedad relativa
  • Temperatura interna y externa.
  • Gases: CO, CO2, O3
Radiofrecuencia
Como ya explicamos antes queremos enviar imágenes/vídeo y los datos de las medidas a la estación de tierra, para ello queremos emplear dos frecuencias:
El empleo de estas frecuencias es debido a que son en la banda de uso libre: 868MHz es para uso de dispositivos de “corto alcance” y 144,8MHz es de servicio de radioaficionado (1), si transmitimos en protocolo APRS podríamos conseguir que los aficionados de la zona de vuelo pudieran seguir la evolución de la sonda.

Módulo de recuperación
Suele ser interesante tener un canal de comunicaciones auxiliar para localizar la sonda en caso de perder el canal principal. Habíamos pensado en utilizar un módem GSM para enviar la posición una vez en tierra para recuperar la sonda. Para que fuera totalmente auxiliar debería funcionar de forma autónoma por lo que sería implementar una PCB independiente con:
  • Un microcontrolador.
  • GPS.
  • Módem GSM.
  • Alimentación independiente.
Sin embargo este módulo no es totalmente imprescindible, ya que tenemos el canal ARPS, por lo que podríamos no usarlo en caso que no tuvieramos tiempo de implementarlo todo.

Estación de tierra
La estación de tierra se encarga de recoger, procesar y presentar los datos. Dado que la sonda lleva un sistema de almacenamiento no es imprescindible hacerlo todo en tiempo real y podríamos espaciar las recepciones para reducir el ancho de banda y, por lo tanto, reducir las interferencias y el ruido (para aumentar la distancia de envío). La estación estará compuesta por:
  • Sistema de posicionamiento.
  • Sensorización en tierra.
  • Recepción de la señal.
  • Sistema de procesado y presentación.
Sistema de posicionamiento
El sistema de posicionamiento será un GPS, con ello podremos saber el recorrido del equipo de seguimiento de la sonda, en caso que esta vuele libre; o afinar la posición de la sonda a un error pequeño, en caso que esté fijada.

Sensorización en tierra
Es muy interesante conocer la presión barométrica en tierra, de esta forma se puede conocer la altura real de la sonda (y no sólo la altura barométrica) y así corregir el error del GPS. Sin embargo los sensores no se tienen porque limitar a eso; se podría tener, por ejemplo, una estación meteorológica completa.

Receptores de la señal
Es lo más importante de la estación de tierra, los receptores de los datos de la sonda nos permitirán saber la posición en cada momento y por lo tanto podremos recuperarla.

Sistema de procesado y presentación
Básicamente es un PC en el que se representarán los datos recibidos (tablas, hojas de cálculo, gráficos, mapas, etc.) y se procesarán (altura real en función de la barométrica, iluminación dependiendo del apuntamiento, etc.).

Si cuidamos un poco el diseño podemos reutilizar algunas PCBs (IMU como sistema de posicionamiento del equipo de tierra, etc.) por lo que bajaremos el precio.

(1) Fuente: Cuadro Nacional de Atribucción de Frecuencias.

EDITADO: Los servicios de radioaficionado no son de transmisión libre, sino que están sujetos a una licencia.

domingo, abril 19, 2015

NSd(IV): Aplicaciones: Fotografía aerea

Una de las posibles aplicaciones que tendrá la sonda es la de poder realizar fotografías aéreas geoposicionadas.

Con la estación base fijada en una posición durante bastante tiempo (>30min) se puede fijar la posición GPS de la sonda con bastante exactitud (<10cm), además el acelerómetro y los giroscópios el ángulo de apunte de la cámara y los movimientos que esta tenga. A partir de aquí se podrían hacer fotos de alta resolución a un bajo coste, incluso juntar varias fotos para realizar una de larga exposición (con los datos de los giroscópios y los acelerómetros se podría corregir las desviaciones por software).

Para elevar el conjunto (la cámara y la IMU) sólo nos hace falta un globo de helio y para anclarla y dirigirla nada más sencillo como una caña de pescar:“Skyfishing” with a GoPro HERO and 30 Helium Balloons from Tom Guilmette on Vimeo.

S2

Ranganok Schahzaman

domingo, abril 12, 2015

NSd(III): Android in Space

Una forma más o menos sencilla de tener una sonda es usar un móvil de última generación, estos disponen de GPS, GSM/GPRS/3G, Acelerómetros y/o giroscopios, cámaras con posibilidad de grabar vídeo (a veces incluso HD), etc.

Lo único que les haría falta es una transmisión radio con mayor alcance que la red móvil y ya trendríamos practicamente toda la sonda (exceptuando los sensores, claro). Y esto es lo que han hecho algunos ingenieros de Google, han cogido varios telefonos Nexus Galaxy S y los han puesto en 7 sondas. El resultado se puede ver en las imágenes y vídeos que ha grabado al efecto:
Nos enteramos de la noticia gracias a este post de Abadía Digital.

S2

Ranganok Schahzaman

domingo, abril 05, 2015

NSd (II): Vídeo

Una de las posibilidades que tiene la sonda es grabar vídeo desde las alturas.

Tener un vídeo del vuelo a la vez que los datos que va recogiendo la sonda nos puede dar una perspectiva mejor de lo que está pasando en cada momento. Sin embargo se nos plantea un problema, transmitir vídeo implica una gran cantidad de datos a transmitir por lo que o tenemos un ancho de banda importante (incompatible con la legislación de las frecuencias ISM).

Para distancias cortas (<1km) no tenemos tanto problema, podemos usar alguna de las frecuencias de ISM que se reservan para datos en banda ancha (en 868MHz serían desde 869.7MHz a 870MHz), estas frecuencias tienen el inconveniente de que tienen muy limitada la potencia a la que se puede transmitir (5mW de potencia radiada aparente (1)), pero tenemos una disponibilidad del 100% del canal (300kHz), aunque tendremos más posibilidades de sufrir interferencias.

Para largas distancias, al necesitar mayor potencia de transmisión, nos tendríamos que situar en la banda de 869.4MHz a 869.65MHz que nos permite una transmisión de hasta 500mW (de PRA) pero solo un 10% de tiempo de ocupación del canal, por lo que tendremos que:
  1. Reducir el tamaño del vídeo,
  2. 2.- reducir la velocidad de reproducción (fps)
  3. 3.- y/o comprimir el vídeo.

Reducir el tamaño del vídeo es relativamente fácil, lo único que necesitamos es que un sensor que capte distintos tamaños o descartar parte de la imágen para quedarnos con un tamaño menor (siempre que el sensor nos envíe los datos en RAW).

Reducir la velocidad de reproducción tambien es fácil (relativamente), sólo necesitamos descartar los frames intermedios. Aquí tenemos un problema ¿cuántas imágenes por segundo necesitaremos?, si utilizamos el vídeo para controlar un aparato (por ejemplo un cóptero) nos interesará tener tiempo real (25-30fps), sin embargo si sólo queremos tener una panorámica del entorno podremos transmitir con mucha menos frecuencia (1-2fps o incluso menor).

Comprimir el vídeo resulta más complicado que las anteriores, para esto necesitaremos un hardware independiente que nos haga el trabajo (existen drivers para sensores de cámara que ya lo hacen automáticamente) o un hardware bastante más potente que el que usamos (un PLD o FPGA, o un procesador ARM9 por ejemplo), sin embargo esto suele chocar con las necesidades de bajo consumo que tenemos. Si la frecuencia de envío es pequeña (1-2fps) podemos comprimir las imágenes como independientes (.jpg) que reduce los requerimientos de hardware para hacerlo, sin embargo no es la mejor opción.

Otra solución es no transmitir el vídeo, sino registrarlo para realizar el post-procesado, de esta forma podríamos tener un vídeo en alta calidad que sincronizaríamos a posteriori con los datos recibidos. Para ello únicamente tenemos que poder interactuar con la cámara que utilicemos, una opción que hace sistemasorp en este post.

De todas formas transmitir vídeo no excluye una segunda cámara registrando todo el viaje.

S2

Ranganok Schahzaman

(1) La potencia radiada aparente es aquella potencia con la que habría que alimentar una antena dipolo λ/2 para que, en un punto determinado del espacio, crease la misma intensidad de campo que un transmisor determinado, con ambas antenas dirigidas en la dirección de máxima radiación. (PRA (dBm) = Pt(dBm) + Gd (dBi) – 2.15dB)

domingo, marzo 29, 2015

NSd Probe (I): Presentación del Proyecto

El espacio, la última frontera…

Muchos conocerán esta frase, la dicen al principio de todos los capítulos de Star Trek… series a parte, encierra una gran verdad: el espacio es un lugar mortífero para los humanos, una frontera casi insalvable para la especie, y sin embargo nos atrae tanto como la luz a una polilla, saber de dónde venimos y qué somos pasa por conocer los secretos más intimos del espacio… Evidentemente nuestro equipo no pretende eso, ni siquiera llegar al espacio exterior sino quedarnos algo más cerca de la Tierra: a tan “sólo” 30-40km sobre el nivel del mar, esto es la estratosfera superando las capas más bajas de la atmósfera (troposfera y tropopausa).

El proyecto tratará de construir la electrónica de una sonda subespacial (hasta 40km de altura) . A parte de esto nos interesa recoger datos útiles para futuros lanzamientos y servir como plataforma otros experimentos.

Aunque no llegemos a superar la atmósfera sigue siendo un medio muy difícil de tratar, la sonda habrá de pasar por temperaturas bajo cero (-20ºC) y humedades relativas de casi el 100%, pero sobretodo tendrá que luchar contra la altura y la falta de presión del aire. Todas estas características implican tener que pensar un diseño específico para este medio y que no será el mismo que podríamos utilizar en tierra firme.

S2

Ranganok Schahzaman

jueves, marzo 26, 2015

Herramientas: Analizador lógico (IV) - DSLogic

Hace tiempo participé en una campaña de Kickstarter: el DSLogic. No soy muy dado a invertir dinero en un producto sin tener la confianza de recibirlo, de hecho, prefiero gastarme un poco más de dinero en una tienda de confianza que "ir a la aventura" en eBay o Aliexpress. Sin embargo este producto me llamó poderosamente la atención...


El DSLogic, es básicamente un analizador lógico de 16 canales y de bajo coste (69$ en kickstarter), lo que le diferencia de los analizadores lógicos chinos clones del USBee y el Saleae es su velocidad de muestreo, ya que puede llegar a 400MHz.

Para que os hagáis una idea os pongo las características más destacadas:
  • Basado en una FPGA Spartan 6 (xc6slx9) + una RAM externa de 256Mbits
  • Muestreo:
    • 4 canales: 400MHz 
    • 8 canales: 200MHz
    • 16 canales: 100MHz
  • CH15 ~ CH0:
    • Recommended input voltage range: -6V to +6V
    • Absolute input voltage range: -30V to +30V
    • Input impedance: 200Kohm
    • Maximum Input Bandwidth: 50MHz
    • Compatible voltage systems: 1.8V / 2.5V / 3.3V / 5V
    • Threshold for 1.8V to 3.6V: 0.7V (Low) / 1.4V (High)
    • Threshold for 5V: 1.4V(Low) / 3.6V(High)
  • CLK, TI, TO:
    • Compatible voltage systems: 3.3V
    • Maximum state clock: 50MHz

La ventaja es que puedes ver señales que normalmente no estarían a tu alcance, tales como un SPI de alta velocidad (25MHz por ejemplo), el bus de una cámara digital, un USB 1.1, etc. La principal desventaja es que no tienes un buffer casi infinito como en los otros, pero una RAM de 256Mbits tampoco es tan mala cosa.

Por otro lado funciona con el software SIGROK lo cual da acceso a una gran cantidad de protocolos ya implementados...

En definitiva, creo que fué una compra fantástica y a muy buen precio.

S2

Ranganok Schahzaman

domingo, marzo 01, 2015

Reparando: TV Philips 19PFL5522D/12

Hola,

hace unos días se me estropeó la TV: al principio tardaba mucho en coger imagen, y muchas veces ni siquiera encendía la pantalla (parecía que entraba en un ciclo de reset). Además cuando encendía se escuchaba un ruido bastante molesto en el audio (un tono fijo).

Lo primero que pensé fue: la fuente tiene ruido y el receptor (o el PLL) no consigue estabilizarse. Así que desconecté todo, la dejé descargarse un par de días (muy importante dejar que los condensadores se descarguen completamente si no queremos tener una sorpresa muy desagradable), me puse la correa de toma de tierra (para descargarme yo) y al abrir me encontré esto:

Revisando los condensadores electrolíticos de la fuente me encuentro que varios de ellos están inflados y algunos han supurado electrolito por lo que habrá que cambiarlos:

Lo mejor es cambiarlos todos, de esta forma evitamos que en poco tiempo tengamos que hacer la misma operación porque se hayan estropeado el resto.

Antes de desconectar cualquier cosas importante documentar cómo está conectado todo, yo he utilizado unas fotos para hacerlo:



Además he marcado los conectores con colores para evitar confusiones accidentales a la hora de conectar:

Por otro lado una vez desmontada la fuente es importante revisar las partes no visibles de la misma, y si puede ser del resto de placas, por si se ve algún elemento sospechoso. En este caso he encontrado un componente de tres patas (podría ser un transistor) marcado como W2X71 con pinta de haber tenido estrés térmico (no se puede observar muy bien en la foto)
Según esta página, este transistor es un NPN PMBT4401.Sin embargo, como en la tienda no lo tenían (y pedir por Internet por un transistor no merece la pena), decidí arriesgarme y no cambiarlo...

Lo único que me quedaba por hacer era una tabla con los condensadores de la fuente y cambiarlos todos:


Nombre uF V Cambiado
c100 100 450 -
c111 22 50 X
c132 1000 10 X
c133 1000 10 X
c134 1000 10 X
c141 1000 16 X
c142 1000 16 X
c144 470 16 X
c151 470 16 X
c152 470 16 X
c156 470 16 X
c159 470 16 X
c200 470 25 X

El único que no cambié fue c100, en primer lugar porque no lo tenían en la tienda, y porque no parecía dañado...

Así que volví a montarlo todo, crucé los dedos y... ¡Funcionó!

Vuelvo a tener la tele funcionando por unos años más (ya tenía 10 años) y sólo me he gastado unos 15€ en componentes y un paseo hasta la tienda de electrónica.

S2

Ranganok Schahzaman

jueves, octubre 16, 2014

Herramientas: Puesto de trabajo portátil (I)

Durante las vacaciones he aprovechado para avanzar algunos proyectos, sin embargo, al estar fuera me he tenido que hacer un puesto de trabajo portátil, pero bastante básico (porque tenía poco tiempo para hacerlo)...

En el trabajo utilizo un puesto bastante completo:
  • Osciloscopio (4Ch a 2GSa/s y 70MHz)
  • Generador de funciones
  • Analizador de espectros (con tracking) hasta 1GHz.
  • Celda GTEM hasta 6GHz, para inmunidad y para analizar espectros
  • Multímetros
  • Fuentes de alimentación CV/CC regulables 35V/2A y 35V/5A.
  • Analizador lógico.
  • Medidor de impedáncias.
  • Microscopio USB, Sonómetro, Termómetros (IR y sonda), Transformadores de aislamiento, etc.

Foto Laboratorio
Foto Laboratorio


En casa el equipo de mi despacho se reduce bastante:

Mi idea es meter todo lo que pueda en un maletín de herramientas. Lo ideal, para un puesto de trabajo sería:
  • Fuente regulable CV (x2): 0-15V / 1A. Idealmente debería ser una fuente lineal, pero es complicado hacerlo en un espacio tan pequeño (y tan poco ventilado), así que tiraré por una conmutada con la última etapa lineal (LM1117 o similar).
  • Fuente digital: 5V, 3.3V 1A. Con un cargador de batería USB de 2A y un DC-DC de 5V a 3.3V.
  • Wattímetro (Voltímetro + Amperímetro). Por ahora va a ser un multímetro las que hará las veces, pero debería integrarse un Wattímetro en la estructura, al menos para medir el funcionamiento de las fuentes.
  • Analizador lógico 8 canales (24MHz). 
  • Soldador y espacio para soldar. La propia madera hace las veces de espacio para soldar, simplemente debería añadir un soporte para el soldador y la esponja.
  • Espacio para guardar componentes SMD.
  • Espacio para guardar herramientas y sensores.

Lo voy a ir haciendo por fases: primero lo meteré todo "a saco" en el maletín a ver lo que coge y luego iré ordenándolo y haciéndolo bonito e integrado. La idea final sería tener todo un laboratorio electrónico dentro de la maleta.

La primera fase está casi completa...


Maletín original (cabe el multímetro)
Maletín original (cabe el multímetro)
Maletín con las maderas cortadas a medida
Maletín con las maderas cortadas a medida
Organización interna del maletín
Organización interna
Maletín: Aspecto final
Aspecto final

Por ahora sólo le voy a poner la madera inferior que me hará las veces de espacio para soldar (básicamente una mesa de trabajo). La madera superior no se si la instalaré cuando haya integrado los instrumentos, ya que quería poner el panel informativo y las bornas en él.

Hay que tener en cuenta que el maletín viaja con un portátil que es el que hace las veces de interfaz gráfica con (alguno de) los instrumentos de medida. Aunque lo ideal sería poder tenerlo todo integrado en el maletín mediante una raspberry pi o similar (cubieboard o bbb). Y visualizar las medidas con un móvil, tableta o PC externo comunicado mediante USB (aislado por supuesto) o bluetooth. Pero esto, ahora mismo, es lo último que me preocupa del proyecto.

S2

Ranganok Schahzaman

PD: he empezado a trabajar con el maletín y me he encontrado con que ahora mismo dependo del PC por lo que debería incluir un cargador para este por si se me olvida (tal y como me ha pasado), así que he comprado una en los chinos de 12 a 36V y 3W, quizás lo incluya directamente en el maletín (aunque no me fío mucho de este cargador).

lunes, septiembre 15, 2014

Herramientas: Analizador lógico (III)

Cuando se trabaja con señales digitales, una de las cosas que siempre son necesarias son comprobar las comunicaciones entre dispositivos. Hay varias formas de hacerlo: osciloscopio, sonda lógica, etc. pero nada tan útil como un analizador digital o lógico.

Hace tiempo, en este blog, empezamos a trabajar en uno. Sin embargo, paseándome por la web he visto este, que al precio que tiene prácticamente no merece la pena perder el tiempo en montarnos uno (al menos de momento).

Este tipo de dispositivos están basados en el chip Cypress CY7C68013A que es un microprocesador con núcleo 8051 con un USB. Tiene una velocidad de muestreo máxima de 24MHz más que suficiente para la mayoría de las comunicaciones: I2C, Serial, SPI (siempre que el reloj sea por debajo de 12MHz), 1-Wire, etc.

Hardware

Las especificaciones de hardware son:
  • Main chip: Cypress CY7C68013A-56PVXC (FX2LP)
  • Input buffer: NXP 74HC245 (markings: "NXP HC245 2A7K508 UnD2 18E")
  • 256-byte I2C EEPROM: Atmel AT24C02 (markings: "ATMEL218 24C02N SU27 D")
  • 3.3V low-dropout voltage regulator: Advanced Monolithic Systems AMS1117-3.3 (markings: "AMS1117 3.3 HT240E")
  • Crystal: 24.000MHz
Clon chino del USBee AX PRO
PCB top
PCB bottom
La ventaja de este dispositivo es el precio ya que nos permite tener un analizador lógico medio decente (las señales de hasta 12MHz incluyen muchos de los protocolos utilizados en los micros). Sin embargo, el precio no justifica que tiremos el dinero al quemar el chip cada vez que la cagamos conectándolo a una tensión que no toca, así que yo me he montado un pequeño circuito (muy sencillo) con 8 zeners (4V9) y 8 PTCs (fusibles rearmables de 100mA) que me evitarán quemar el dispositivo en la mayoría de las cagadas que pueda hacer (como meterle una tensión más alta de la que el dispositivo puede soportar).

Circuito de protección
Hay que decir que el circuito original lo monté para un Saleae (muy similar) y queda bastante compacto

Circuito de protección para Saleae
Circuito de protección para Saleae
La pareja fusible + zener protege al dispositivo de las sobre-tensiones, además el buffer de entrada aguanta hasta 200V de ESD.

Software

Lo primero es usar el propio programa que viene con el analizador, dado que es un clon del USBee AX Pro, lo único que han hecho es copiar el programa del anterior (y crackearlo): http://m5.img.dxcdn.com/CDDriver/CD/sku.148945.rar

Sin embargo es mucho mejor (sobretodo si usas linux) utilizar el firmware fx2lafw y los programas PulseView y Sigrok. En Windows son muy sencillos de instalar, sólo hay que ejecutar el instalador e usar el driver WinUSB para el dispositivo, que se instala con el programa Zadig incluido, y que nos permite tener los dos programas instalados y usar uno u otro según el puerto USB utilizado.

PD: Algunas lecturas interesantes (en inglés):