domingo, 30 de noviembre de 2014

Ordenador de buceo IV


Hay que ver como pasa el tiempo. Ya hace casi un año que no hago ninguna entrada en el blog. Demasiados temas a los que atender y poco tiempo para sentarse tranquilo a escribir. Sin embargo, esto no significa que haya estado ocioso. Poco ha poco he ido encontrado algún hueco y atrás quedan un buen número de pruebas, ensayos y diseños alternativos. Veamos algunos de ellos.
Aquí podemos ver una prueba de la pantalla LCD. En este caso está controlada por un Aruino Mini. Esta pantalla presenta una buena visibilidad incluso con luz solar. Como inconveniente es monocromática y viene en una placa bastante grande que añade un espacio muerto al circuito. Teniendo en cuenta que está pensado para llevarlo en la muñeca resulta un poco grande. 
En este caso estoy probando el sensor de profundidad (arriba a la izquierda) montado en una pequeña placa que hice para pode conectar con más facilidad las conexiones. En la placa se puede observas el reloj de tiempo real encargado de generar la señal de 32kHz que necesita el sensor de profundidad para funcionar.


 En la siguiente imágen se puede ver la combinación de todo lo anterior: pantalla; sensor de profundidad; RTC; lector de tarjeta SD; e incluso un par de relés reed pensados como pulsadores magnéticos. 
La primer conclusión de todas estas pruebas se hizo patente enseguida: el microcontralor ATmega 328 con 32Kb de memoria es insuficiente para tantos controladores de dispositivos. En especial los de la pantalla y el lector de SD. Solución? Pasar al hermano mayor de la familia: el Arduino DUE. Con 512Kb de memoria Flash y 96Kb de SRAM se acerca a un pequeño ordenador. Esto debería ir más que sobrado para implementar un ordenador de buceo. En la siguiente imagen se pueden ver todos los periféricos conectados a un Arduino DUE.

La principal diferencia (aparte de la capacidad de cálculo y almacenamiento) entre este modelo y el resto de la familia es el voltaje al que trabaja. El Arduino Due trabaja con 3.3V mientras que el resto trabaja a 5V. Sin embargo, más que un inconveniente es una ventaja ya que tanto el lector de tarjeta SD como el sensor de presión funcionan a 3.3V lo que nos ahorra utilizar adaptadores de voltaje en las señales.

Claro que la placa de Arduino DUE no es precisamente pequeña. Lo cual es un inconveniente para un dispositivo portátil para llevar en la muñeca. Y aún está el tema de la fuente de energía. Aquí, por supuesto, no se puede contar con un pequeño transformador que, conectado a la red eléctrica, nos proporcione toda la potencia eléctrica necesaria. Se hace necesario recurrir a baterías.


 En la foto anterior se puede ver todo el conjunto de Arduino DUE y periféricos alimentado por una batería de litio de 3.7V. También se puede observar el pequeño conversor DC-DC (a la derecha de la batería conectado con dos pinzas) que permite elevar los 3.7V de la batería a los 5V que requiere el Arduino DUE.

Desgraciadamente este sistema no es nada eficiente. En primer lugar, aunque le microcontrolador del arduino DUE trabaja a 3.3V, la placa trabaja a 5V. Eso significa una perdida de energía en la reducción del voltaje. Además, como la  batería proporciona 3.7V es necesario elevarlos previamente a 5V. Y el conversor DC-DC no es precisamente eficiente. Y no olvidemos el consumo de la placa Arduino. Esta placa lleva varios controladores auxiliares para conectar el microcontrolador a un puerto USB y hay muy poco control sobre el consumo de estos dispositivos. Incluso aunque el microcontrolador SAM3x del Arduino DUE tiene un modo de bajo consumo muy eficiente, tal y como va montado en esta placa no proporciona ningún beneficio. Incluso en el modo más agresivo de ahorro de energía el consumo apenas baja de 170mA a 120mA. El resultado es que la batería de litio proporciona una autonomía de aproximadamente una hora. Totalmente insuficiente para los propósitos de este dispositivo. Evidentemente se requiera un replanteamiento del diseño. La solución en la próxima entrega.


No hay comentarios:

Publicar un comentario