Boya Iridium con Arduino y GPS | Análisis preliminar de concepto y costes

En esta entrada vamos a analizar la viabilidad del proyecto ‘Boya Iridium con Arduino‘ y a definir los siguientes pasos a seguir. La idea es construir y programar una boya que sea arrastrada por la corriente por el océano Atlántico, y que periódicamente envíe lecturas de los sensores y su posición GSP vía módulo Iridium 9603. Recordad que en mitad del océano no hay cobertura de ningún tipo, y en este campo los módulos Iridium, con su red de satélites propia, garantizan una comunicación desde cualquier punto de la tierra. Todo programado con Arduino.

Indice ‘Boya Iridium con Arduino:

  1. Introducción
  2. → Análisis preliminar de concepto y costes
  3. Cierre de diseño. Diseño final (próximamente)
  4. Montaje hardware (próximamente)
  5. Programación en Arduino (próximamente)
  6. Lanzamiento y seguimiento (próximamente)

Funcionamiento de ‘Boya Iridium con Arduino‘ 

El funcionamiento del sistema que tengo pensado es el siguiente (preliminar):

  • Cada 300ms: lectura de acelerómetro (tiempo estimado 20ms). Para analizar el estado de la mar en base a las aceleraciones y estimar la altitud de las olas.
  • Cada 1h: lectura de temperatura ambiente y temperatura del agua (tiempo estimado 10ms).
  • Cada 8h: obtener lecturas del GPS, conectar el módulo Iridium y transmitir datos (tiempo estimado 300 segundos)
  • El resto del tiempo el sistema permanece en modo bajo consumo.

A pesar de que pueda parecer demasiado hacer una lectura cada 300ms, esto da como resultado un 7% del tiempo activo, y un 93% del tiempo en modo bajo consumo.

Análisis preliminar de consumo energético

Para poder dimensionar la placa solar y las baterías, he realizado un análisis preliminar del consumo energético del sistema basándome en los datasheet de los componentes.

  • Arduino: 15mA en funcionamiento (5mA en deep sleep).
  • Módulo GPS: 20mA en funcionamiento (lo voy a activar/desactivar con un MOSFET, por lo que el consumo cuando no está en uso será de 0mA).
  • Sensores MPU6050 y temperatura: despreciable, unos 3mA en funcionamiento.
  • Iridium 9603: hasta 500mA al conectar (durante 25s), y unos 80mA mientras transmite (lo voy a activar/desactivar con un MOSFET, por lo que el consumo cuando no está en uso será de 0mA).
  • Watchdog: 1.75mA continuamente

El componente energéticamente más exigente es el módulo Iridium. Cuando conectamos el módulo a la tensión de alimentación (voy a utilizar un MOSFET para conectar/desconectar el módulo de la batería para garantizar que no hay consumo entre transmisiones, que se harán cada 8h) la corriente consumida llega hasta los 470mA durante 25ms. Durante la transmisión, unos 78mA de media.

Debido a que el módulo Iridium solo va a transmitir cada 8h y durante unos 5 minutos, es de vital importancia reducir el consumo lo máximo posible las restantes 7h y 55minutos. De hecho, los 5 minutos en los que el módulo Iridium va a transmitir apenas tiene influencia en la media de consumo en 8h. Lo más importante es reducir todo lo posible el consumo en esas 7h y 55mintos.

Con el funcionamiento y los tiempos establecidos en el apartado anterior, el sistema estará activo el 7% del tiempo aproximadamente, y un 93% en modo bajo consumo, lo que se traduce en un consumo de 50mAh aproximadamente.

Análisis de costes y lista de materiales 

La siguiente tabla muestra todo el material necesario para el proyecto ‘Boya Iridium con Arduino‘ con los precios de cada componente para comprar desde España. He evitado acudir a tiendas como ebay o aliexpress para este proyecto, ya que la calidad y la fiabilidad de los productos electrónicos que se ofertan (especialmente baterías y placas solares) deja mucho que desear.

Para un proyecto estacionario, donde es fácil reemplazar un componente que haya dejado de funcionar se puede recurrir a este tipo de páginas, pero en este caso, donde una vez dejado en el mar la reparación es imposible, he recurrido a paginas especializadas como RS o Farnell. No quiero que el proyecto se vaya al traste por que la batería que he comprado en ebay sea una falsificación (como me ha pasado recientemente en otro proyecto). Más adelante ya publicaré la lista definitiva con enlaces a cada componente:

Como veis, solo en material se van ya casi 440€, siendo el módulo Iridium 9603 el que se lleva gran parte del presupuesto. Además de esto, hay que pagar una cuota mensual de unos 15€ por utilizar el módulo Iridium, más un coste de 0.15€ por cada 50bytes transmitidos, y mi idea es hacer una transmisión cada 8h (3 al día), lo que equivale a 0.45€ diarios mientras dure el proyecto.

Sumando esto al coste total, y asumiendo que la boya sobreviva un año en alta mar, el precio se dispara hasta los 800€ el primer año (materiales + 1 año de transmisiones):

Es mucho dinero. Llegados a este punto toca valorar si merece la pena llevar proyecto a cabo el proyecto ‘Boya Iridium con Arduino‘ en solitario.

Idea de montaje

La complejidad de este proyecto está en la boya en sí, que tiene que cumplir las siguientes características mínimas:

  • Estanquidad: IP68 a ser posible.
  • Tapa transparente para que el sol cargue la batería. Hay que asegurar que la tapa no se empañe debido a la humedad y disminuya o bloquee los rayos solares, condenando el proyecto desde le prime instante. Para ello utilizaré bolsitas anti-humedad, las típicas que viene dentro de las bolsas de ropa. Esta es la caja que utilizaría (191×125 60mm):

  • Hay que garantizar que la boya nunca va a volcar, la placa solar siempre tiene que apuntar hacia arriba. Para ello, me he basado en un proyecto similar y voy a utilizar estos soportes a tornillos (PVC Table Cap) con un tubo de PVC. Esto evita que la boya de la vuelta, y en caso de que lo haga, el peso del PVC hace que vuelva a su posición correcta. Sencillo, barato y fácil de hacer. Como punto negativo, que haya que atornillas el soporte a la caja, y que está perderá la IP68 en esa zona. Habrá que aislar bien esos agujeros.

  • Robustez de montaje de todos los componentes. El montaje tiene que ser robusto y sin debilidades.

Desde el punto de vista de vista de los componentes electrónicos, he identificado los siguientes puntos destacables para el proyecto ‘Boya Iridium con Arduino‘ :

  • Diseño simple y fiable. El diseño tiene que contar con el menor número de componentes posible y evitar que haya componentes que ante un error la boya que inutilizable. Por ejemplo, debido a que el módulo Iridium solo puede transmitir con el cielo despejado, se nos podría ocurrir utilizar un sensor de luz y transmitir solo cuando se detectara un nivel de luminosidad elevado (lo que indicaría que no hay nubes). ¿Qué sucedería si el sensor de luz deja de funcionar, y la salida se queda bloqueada a un nivel que indica que hay poca luz? Que la boya nunca transmitiría, porque creería que siempre está nublado. Conclusión: Acabamos de dejar inutilizable una boya de 500€ por que un sensor de luz de 0.2€ ha dejado de funcionar. Hay que evitar que coas así sucedan. Hay que simplificar los componentes y el funcionamiento al nivel mas básico posible.
  • Identificar componentes críticos. Muy en consonancia a con el punto anterior, hay que identificar los componentes críticos (componentes que si fallan lo perdemos todo), e intentar establecer alternativas (no siempre será posible). Por ejemplo, si la placa de sol falla, el proyecto queda condenado. En vez de utilizar una placa solar de 1W, siempre es mejor utilizar 2 de 500mW por si una de ellas falla.
  • Análisis energético detallado para dimensionamiento de placa solar + batería (consumos).
  • Modo bajo consumo. Debido a que el módulo Iridium solo va a transmitir cada 8h, es de vital importancia reducir el consumo lo máximo posible las restantes 7h y 55minutos. De hecho, los 5 minutos en los que el módulo Iridium va a transmitir.
  • Watchog. Arduino no es una plataforma que esté diseñada para trabajar largos periodos de tiempo. Si dejáis una aplicación funcionando largas temporadas, la placa Arduino acabará quedándose atascado tarde o temprano. Si es una estación meteorológica que está en mi balcón, la puedo resetear fácilmente, pero si está en alta mar, nunca recuperaremos la boya. Para ello tenemos los watchdog, sistemas hardware o software que detectan cuando la placa Arduino se ha quedado frita y automáticamente la resetean. Para este proyecto voy a utilizar ambas soluciones. El watchdog hardware que voy a utilizar y que ya tengo en mis manos es una pequeña placa del fabricante Freetronics, que si no recibe un pulso cada 5 minutos, automáticamente hace un reset en Arduino a través del un pin. Así, si esta se queda bloqueada, no envía ningún impulso al watchdog, que tras 5 minutos hace un reset.

Aquí dejo una imagen del layout de los componentes electrónicos del proyecto ‘Boya Iridium con Arduino‘ , que representaría el nivel mas bajo dentro de la boya, el cual iría anclado al fondo. Encima de este irá otro nivel con los componentes que necesiten vista al exterior a través de la tapa transparente: GPS, Placa solar, y módulo Iridium 9603. Ambos niveles estarán comunicados por dos conectores (X1 y X2) y cables, por temas de espacio es imposible hacerlo en un mismo nivel:

El tema de la programación no me preocupa tanto, ya que en ese sentido no espero grandes dificultades (leer algunos sensores y GPS, y transmitir por Iridium).

Lugar de ‘lanzamiento’

Otro tema al que he estado dando vuelvas últimamente es donde dejar la boya. Evidentemente tiene que ser alguna zona que dé al Atlántico, y donde haya corriente hacia alta mar. Algunos lectores me han recomendado no dejarla en Galicia, ya que la corriente la arrastraría contra la península, y me recomendaban dejarlo en la costa norteamericana (imposible desplazarme hasta allí para eso).

Si algún usuario tiene conocimientos en este aspecto, que no dude en contactarme, lo agradeceré sinceramente (en comentarios o a dronedesdecero@gmail.com).

Finalmente, creo que me decantaré por la siguiente opción: en mi zona (País Vasco) hay mucho pescador que faenan por medio mundo. Había pensado contactar con alguna cofradía y pedirles que ellos mismo la dejaran en alta mar. A ver si hay suerte.

2 Comentarios

Añadir un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *