scriptduallang

jueves, 19 de septiembre de 2013

miércoles, 18 de septiembre de 2013

GPS - Sensores

Usaremos el sensor de temperatura MAX6631
Datasheet: http://www.mouser.com/ds/2/256/MAX6629-MAX6632-89478.pdf

  • Rango -55ºC ->  +125ºC
  • Precisión +/- 0.2ºC
  • Tiempo de muestreo = 8seg
  • Consumo idle 6uA @ 3.3V
Esquemático Sensor Temperatura

El barómetro sera el MS5611-01BA03
Datasheet: http://www.meas-spec.com/downloads/MS5611-01BA03.pdf
  • Resolución 10cm
  • Tiempo de conversión 1ms
  • Consumo 1uA
  • Interfaz SPI o I2C
  • Rango 10 a 1200mbar
  • Termómetro integrado (+/- 2ºC)
Esquemático Barómetro

Usaremos el acelerómetro con magnetómetro y giroscopo integrado LSM9DS0
Datasheet: http://www.st.com/st-web-ui/static/active/en/resource/technical/document/datasheet/DM00087365.pdf

Esquemático Acelerómetro

Usaremos el sensor de luz ambiental APDS-9004
Datasheet: http://www.mouser.com/ds/2/38/V01-0184EN-107079.pdf

Esquemático Sensor de luz




GPS - Unidad GNSS

Usaremos el módulo de la empresa suiza u-blox MAX 7Q que tiene las siguientes características:

  • GPS / GLONASS / QZSS
  • Conexión UART o I2C
  • Reloj de tiempo real RTC con cristal integrado
  • Emisión de timepulse
  • 56 canales
  • Precisión horizontal 2m
  • Compatibilidad con A-GPS
  • Compatibilidad con antenas pasivas o activas
  • Operación a 3.3V
  • Consumo en modo tracking @ 1Hz -> 5mA
  • Dimensiones 10 x 9.6 x 2.2 mm
  • Peso 0.6g
  • Precio 59€ @1pc (€12.63 @100pcs)
http://www.u-blox.com/images/downloads/Product_Docs/MAX-7_DataSheet_(GPS.G7-HW-12012).pdf

Usaremos un Amplificador LNA apto para GNSS (MAX2659) y una antena chip (

AF816M157502-T)


datasheet LNA: http://www.mouser.com/ds/2/256/MAX2659-74449.pdf
datasheet antena: AF 816M157502 Spec

Esquemático GPS

martes, 17 de septiembre de 2013

GPS - Altavoz

Usaremos un altavoz de 12mm de diámetro, 0,7g de peso (254-PS600-RO)
http://www.mouser.com/ds/2/209/KT-400402-194153.pdf

Precio: $2.58 @ 1pc ($1.78 @ 100pcs)

Como no necesitamos calidad de audio más que para hacer sonar algunos tonos de alerta, usaremos un simple transistor NPN como amplificador de una señal generada por el MCU

Esquemáticos Altavoz

GPS - Botones

Usaremos los botones montados al borde del pcb principal.
http://www.alps.com/products/WebObjects/catalog.woa/E/HTML/Tact/SurfaceMount/SKSL/SKSLLAE010.html
http://es.mouser.com/ProductDetail/ALPS/SKSLLAE010/?qs=sGAEpiMZZMsgGjVA3toVBNCaPNgfU%252bJCTYCpZkB%252bZDs%3d

Precio: $0.286 @ 1pc ($0.23 @ 100pc)

Esquemáticos botones


GPS - Esquemáticos LCD

Esquemáticos LCD

Esquemáticos luz de fondo

Para la luz de fondo, se usarán 4 leds blancos tamaño 1206 con intensidad regulada por una salida PWM del MCU.
Los leds se montarán directamente en el pcb en la parte trasera del panel lcd.

lunes, 16 de septiembre de 2013

GPS - Selección de pantalla LCD

He estado mirando varias pantallas e-paper y creo que la mejor opción por precio, disponibilidad y calidad es una de la gama Memory LCD de Sharp (http://www.sharpmemorylcd.com)

Memory LCD de 2.7" (LS027B7DH01)
Precio: $37.16 @ 1pc ($26.80 @ 100pcs)
Product Specification: http://www.sharpmemorylcd.com/resources/LS027B7DH01_Spec.pdf
Mouser link: http://es.mouser.com/ProductDetail/Sharp-Microelectronics/LS027B7DH01/?qs=sGAEpiMZZMvEZpvz4iUm3h4lv3%252bqmbbZ




Conector:
FP12
0.5mm pitch
10 pines
Precio $1.13 @ 1pc ( $0.843 @ 100pcs)
Usaremos el http://www.mouser.com/ds/2/307/XF2M_1110-32350.pdf


Requermientos de energía:
Necesitamos suministrar 5VDC al panel.
Utilizaremos un único bus VDDA=VDD.
El consumo eléctrico del panel es de 50uW aprox (5V @ 10uA aprox) con imagen fija y 175uW (5V @35uA) refrescando la imagen a 1Hz
El peor caso son 350uW refrescando a 1Hz. Como queremos refrescar a 2Hz asumimos 700uW.
Diseñamos entonces considerando un consumo de (5V @ 140uA). 
El panel requerirá para operar 24h -> 3.36mAh (de 5V). Posiblemente unos 10mAh de la batería (3.7V) si tomamos en cuenta las perdidas en la conversión del voltaje.


Requerimientos del controlador:
El panel soporta datos a 3.3V
Se necesitará un puerto SPI + 2 GPIO del mcu para manejar el LCD:
MCU SPI SDO -> LCD SI
MCU SPI SCK( 1 MHz )  -> LCD SCLK
MCU SPI CS -> LCD SCS
MCU GPIO1 (con pulldown debil) -> LCD DISP 
MCU GPIO2 (con pulldown debil) -> LCD EXTCOMIN
LCD EXTMODE -> VDD

domingo, 15 de septiembre de 2013

Diseñando y fabricando un GPS para sustituir al Edge 810..Será un largo camino

Las funciones principales del aparato serán:

  • Mostrar información en marcha en tiempo real (bike computer) como velocidad, cadencia, temperatura, pendiente, ascenso/descenso acumulado, altitud, frecuencia cardíaca, potencia
  • Grabar toda la información en memoria interna cada X segundos
  • Permitir la subida de la información a sitios web como strava, endomondo, ridewithgps, garmin connect etc



Requerimientos de hardware:

  • Pantalla LCD e-paper (blanco y negro) para poder verlo bien bajo el sol (sin touchscreen)
  • Luz de fondo regulable en intensidad
  • 4 botones (3 de lado y 1 del otro)
  • Altavoz


  • Receptor GPS + GLONASS + Galileo
  • Sensor de temperatura de precision +/-0.5 Centigrados o mejor
  • Barómetro
  • Acelerómetro
  • Giróscopo
  • Sensor de luz ambiente
  • Fuel gauge para medir con precision la bateria
  • Tranceiver ANT+ 8 canales
  • Tranceiver BT

  • Conector microusb
  • Carga via usb con limitador a 500mA 
  • Integrado de gestión de batería LION 
  • Bateria con duración de al menos 24 horas

  • MCU ARM
  • Reloj de tiempo real RTC actualizado via GPS y/o NTP
  • Watchdog en hardware
  • Comunicación con pc usb 2.0
  • Memoria flash interna con capacidad para almacenar 48h ininterrumpidas de grabado cada 1/2 segundo
  • Memoria ram (principalmente para el manejo de navegación TBT)
  • Lector microSD para gestion tracks importados/navegación TBT
  • Serial único en hardware
  • Resistencia al agua IPX7 (inmersión a 1m durante 30 minutos)
  • Montaje a la bici compatible con Garmin Edge
  • Más pequeño que el Garmin Edge 810 (5.2 x 9.3 x 2.5 mm)
  • Más ligero que el Garmin Edge 810 (98g)



Requermientos de software del GPS:

  • Funcionamiento con sensores ANT+
  • Funcionamiento con sensores BTLE
  • HUB traductor ANT+ <-> BTLE (en modo transparente) para enviar las señales ANT al móvil y poder guardar los datos tanto en el gps como en el móvil para luego comparar
  • Guardado de sesiones de entrenamiento en formato comprimido propietario en memoria interna
  • Envio de datos de entrenamiento al pc usando conversor a xml en tiempo real
  • Guardado de fecha, hora, temperatura, latitud, longitud, altitud, HR, potencia, cadencia, velocidad, fuerza-g en cada eje
  • Frecuencia de guardado definida por el usuario (0.5seg -> 1 minuto)
  • Modo de frecuencia de guardado "smart" que solo guarda si hay cambios significativos en algún parámetro
  • Luz de fondo manual, con tiempo de encendido definido por usuario y modo automático con sensor de luz
  • Cambio de display día/noche manual o automático por sensor de luz
  • Selección de usuario (el sistema permite 3 usuarios distintos). Cada usuario tiene su propia partición y se sincroniza con su propia cuenta en las webs
  • Selección de bicicleta (el sistema permite 10 bicicletas)
  • Detector de bicicleta automático (si se detecta actividad en un sensor que corresponde específicamente a una bici se cambia el perfil automáticamente)
  • Cálculo automático del diámetro de la rueda
  • Cambio dinámico de medición de distancia de rueda a gps si se detecta error en el sensor de velocidad y cambio a rueda si se detecta pérdida de señal gps
  • Cálculo de pendiente usando promedios de distancia y altitud y mejora de precisión usando la inclinación del giroscopo
  • auto pause, auto start, auto stop, power off automático
  • Alerta de hidratación (el gps pita cada x minutos para recordar la ingesta de liquido/comida)
  • Alertas de rangos (velocidad, cadencia, hr,potencia)
  • Alerta de detección de movimiento sin estar en actividad
  • Alerta de baja bateria del telefono
  • Si hay baja batería en el gps, se desconectan todas las funciones excepto ANT/BT (sensores) y se sigue guardando datos mientras se agota la batería
  • Mostrado de identificador de llamada en caso llamada entrante, botón para rechazar la llamada y botón para rechazar la llamada y enviar SMS avisando de que se esta en la bici y se responderá en breve
  • Navegación TBT sin mostrar mapa... solo flechas en los cruces y alerta sonora
  • Livetrack con frecuencia de 30 segundos
  • Capacidad de iniciar, pausar, detener livetrack desde el gps


Requerimientos de software PC:

  • Versión para windows/osx/linux 
  • Crear/editar/borrar pantallas del gps y los datos que se muestran en ellas
  • Crear/editar/borrar usuarios del gps (Edad/peso/talla/sexo)
  • Editar ajustes generales del gps como frecuencia de grabado, backlight, tipo de letras, alertas, formato de hora/fecha, unidades, etc
  • Configuración de emparejamiento BT con el movil
  • Configuración de cuentas de subida de datos (strava, ridewithgps, garmin connect si se pudiera lograr, endomondo etc)
  • Creación/edición borrado de bicicletas y sus sensores
  • Guardado de actividades en formato GPX/FIT/TCX
  •  Sincronización automática a sites como strava/endomondo/ridewithgs/garmin connect (todos los que estén configurados)
  • Copia de seguridad de datos del GPS
  • Copia de seguridad de datos de las webs

Requerimientos de aplicación del movil:

  • IOS y Android
  • livetrack
  • medición de costes estimados segun plan de datos configurado por el usuario
  • Sincronización de las sesiones automáticamente al finalizar
  • Activación/desactivación de sincronización estando en 3G
  • Vista de resumen de las actividades (distancia/tiempo/etc)... nada de mapas ni graficas que para eso tenemos el pc

viernes, 13 de septiembre de 2013

Garmin-problemas

He usado durante meses el Edge 610, el Edge 800 y más recientemente el Edge 810. Es éste último el que me ha hecho perder un poco el aprecio que le tenia a la marca Garmin.
Quisiera tener un gps que me ayude a entrenar, que me motive a subirme a la bici... Actualmente tengo un gps en el que no confio plenamente, que cada vez que quiero salir tengo que esperar unos minutos a que actualice las actividades desde la web, que en el medio de una ruta se apaga sin razón etc etc....

Edge 810 - problemas de hardware:
  • La pantalla es ilegible bajo el sol y aunque no le dé el sol directamente, es dificil ver datos de un "vistazo"... Normalmente requiere hacer un esfuerzo de visión, enfocar cuidadosamente en el gps y es peligroso (sobre todo cuando el gps pita y pone un mensaje en la parte baja de la pantalla con letras muy pequeñas en fondo negro)
  • No tiene GLONASS 
  • El sensor de temperatura es impreciso (+/- 2 grados C).
  • Aunque la pila que trae es buena (1100mAh), hay espacio dentro del dispositivo para poner una pila de mayor duración.. Una de 1600mAh subiría 1mm de ancho y largo, 2g de peso, unos céntimos de coste y 6 horas de autonomía. No he intentado cambiar la pila por una de mayor capacidad, aunque sería muy fácil no estoy seguro que el integrado de fuel gauge que trae el dispositivo daría la información de batería restante correctamente... lo probaré
  • No tiene sensor magnético y sobre todo en BTT por rutas desconocidas se echa en falta que al girar el dispositivo nos mostrara el mapa correctamente orientado
  • No me gustan las tapas de goma para el conector USB y la ranura microSD..Me gustaría mas que estuvieran donde va el soporte de tal forma que una vez montado el gps en la bici sería imposible que se abrieran en la marcha
  • Unicamente funciona con sensores ANT+ y no con BT aunque posiblemente en el caso del 810 solo sea una falta de software porque el integrado  CC2567 soporta BTLE
  • No tiene un sensor de luz ambiente. Tenerlo ahorraría pila al mantener la luz de fondo apagada durante el día y sería cómodo que se encendiera sola al caer la luz ambiente (por ejemplo en un túnel o en una zona boscosa donde apenas hay luz)
  • No tiene acelerómetro ni giróscopo que sin duda podrían utilizarse para calcular la pendiente de las cuestas de manera más precisa y podrían mostrarse/registrarse datos como fuerzas G, aceleraciones, frenadas 
Edge 810 - problemas de software (versión 2.7)
  • No tiene un watchdog que reinicie la actividad si hay un cuelgue. El gps no debería colgarse nunca, pero ya que lo hace debería hacerlo de la manera en que haga el menor daño posible. Actualmente, al colgarse se apaga y se queda apagado y es el usuario el que debe encenderlo y una vez finalizada la secuencia de inicio, darle play para reanudar la actividad en la que se estaba... perdiendo de esta forma mucha información
  • el livetrack no puede iniciarse/reiniciarse desde el gps. 
  • la navegación cruce a cruce (TBT) cuelga el gps y se apaga aleatoriamente
  • la navegación cruce a cruce no calcula bien y te manda al final de la ruta en lugar de seguirla (en el caso de rutas circulares)
  • la navegación cruce a cruce deja de funcionar sin motivos en cualquier punto del trayecto y ya no aparecen flechas ni alertas
  • el virtual partner no sigue el trayecto original sino que usa atajos y termina en segundos en una ruta circular
  • Si no se carga un trayecto, el perfil de altitud no se muestra correctamente (en el edge 800 funciona bien)
  • El porcentaje de batería en la barra de estatus no se corresponde con el porcentaje de batería en el campo de dato (éste último suele ser 4% menos)
  • No se pueden cambiar los colores del mapa
  • En caso de tener más de una bici, cada una con un sensor especifico (el de cadencia por ejemplo), el gps debería cambiar la bici seleccionada automáticamente al detectar actividad en el sensor (o por lo menos preguntar)...
  • Si se utiliza un sensor de cadencia/velocidad, el gps utiliza la información del giro de rueda exclusivamente para el calculo de la distancia recorrida. Si el sensor deja de enviar la señal, o el imán del radio se mueve y no se registra giro de rueda en cada vuelta, el gps debería detectarlo (el gps registra movimiento pero la rueda esta quieta? ) y desechar la información del sensor... Actualmente el gps simplemente no registra distancia si el sensor no funciona bien
  • El cálculo de la pendiente es deficiente. Al empezar una pendiente se muestra un valor muy pequeño y al terminarla un valor muy alto.... en casos donde hay subidas y bajadas cortas la información es totalmente inútil... Entiendo que la pendiente la calcula con promedios de distancia y altura pero no debería mostrar un número si este es incorrecto.
  • No tengo/uso un sensor de potencia pero varios usuarios han manifestado en los foros de garmin que el gps deja de registrar la información del medidor de potencia aleatoriamente
  • el gps no tiene una función de verificación de hardware. Me gustaría ejecutar una secuencia de pruebas de estrés al gps para verificar que la memoria, cpu etc funcionan correctamente (seguramente garmin no ofrece esta opción porque le devolverían muchas unidades)
  • el gps no hace verificación de sus sensores. Hay usuarios que el altímetro o el termómetro del gps le registran datos absurdos y el gps no informa el mal funcionamiento.
  • el gps debería mostrar en pantalla quien te llama en caso de que el celular suene (nada más eso.... muchas veces en la ruta el móvil suena y no sabemos si puede ser algo importante para pararnos a coger la llamada)

Iphone App
  • El livetrack deja de funcionar sin avisar al gps para que éste emita una alarma al usuario. En mi caso particular, salgo a entrenar solo y mi esposa utiliza el livetrack para ver mi trayecto y estar tranquila al ver que todo va bien... El livetrack se detiene sin avisarme -> mi esposa ve que algo esta mal -> mi esposa se asusta y me llama -> el movil suena pero lo ignoro porque voy en la bici y no se quien llama -> mi esposa se asusta más y vuelve a llamar -> vuelvo a ignorar la llamada -> vuelve a llamar -> me detengo atiendo la llamada y al enterarme del problema pienso en que el livetrack deficiente causa más problemas que los que resuelve
  • El livetrack usualmente necesita más de 1/2 hora (con mucha suerte) para arrancar: La aplicación le da prioridad a la descarga de actividades antiguas antes de poder iniciar el livetrack. Además de estar muy mal pensado tiene el problema que diariamente se borran todas las actividades del teléfono por lo que cada vez que se quiere iniciar el livetrack hay que esperar a que se descarguen todas las actividades del año en curso.. en mi caso unas 80 actividades de enero a septiembre y en wifi 10mbps tarda unos 30 minutos aprox. en 3G será un par de dias ;(
  • Al terminar una actividad, el gps envia los datos al teléfono correctamente pero el teléfono no sube la actividad a Garmin Connect inmediatamente... A veces tarda hasta 1 semana sin subirla por lo que la función es inútil

Garmin Connect
  • En la actualización de la web hecha en junio, agregaron un botón "Feedback" que tiene 2 problemas: por una parte, desde un ipad (que no navega tan rápido como un pc) el botón se queda en mitad de la pantalla continuamente al hacer scroll.. Es bastante molesto. Y el otro problema es que he escrito por esa via tanto feedback como petición de ayuda técnica y desde junio hasta septiembre no he recibido ni siquiera un mail de confirmación y mucho menos una respuesta a mis inquietudes/problemas
  • Crear trayectos/importar trayectos usualmente da error "This course could not be created" y al reintentar una docena de veces finalmente funciona..... Parece que los servidores estan colapsados.
  • Si el gps se cuelga (y a veces sin colgarse) el fichero FIT de la actividad esta corrupto y la web no lo importa, sin embargo utilizando webs alternativas para reparar el FIT se logra luego importarlo manualmente.... Si una web de terceros puede arreglar un problema causado por el gps por que Garmin Connect no lo intenta arreglar ?

Dado que las únicas 2 funciones que hacen al Edge 810 mejor que el Edge 800 son: Livetrack y subir automáticamente las actividades al terminarlas no funcionan, es mejor quedarse con el 800 y ahorrarse el dinero. 

Lo peor de todo esto, es que Garmin parece no reaccionar. El livetrack funcionaba mucho mejor antes de la actualizacion 1.2 de la aplicacion del iphone, hay numerosos usuarios enfurecidos en forums.garmin.com y sin embargo, han pasado ya 2 meses completos y Garmin nisiquiera ofrece la opción de hacer un rollback a la versión antigua para poder usando la función Livetrack que fue el único motivo de muchos usuarios para pasarse del 800 al 810. He generado un ticket en la web de soporte de Garmin en agosto, me han enviado el email de confirmación de recepción (que decía que en un plazo de 48h se pondrían en contacto) y aun, más de un mes después no he recibido ninguna información de mi caso..... una pena

UPDATE 05/11/2013: la version 1.2.1 de la app de iphone no arregla ninguno de los problemas mencionados. Garmin dice que arregla "bugs" pero no se cuales serán porque los bugs gordos siguen ahi.

jueves, 12 de septiembre de 2013

Comparación Hardware Garmin Edge 800 vs Edge 810

La curiosidad me mataba...He desarmado mis Garmin Edge 800 y Edge 810 para ver en que se diferenciaban.  Igual a alguien le parece útil.








Empecemos

Por fuera son mecánicamente idénticos y solo cambian los colores:
Por detrás tienen 6 tornillos TORX. Al soltarlos se puede remover la pantalla touchscreen (hay que tener cuidado con el cable plano). Es idéntico en ambos modelos.


Luego se sacan 2 tornillos TORX que sujetan el LCD y se puede remover. Es idéntico en ambos modelos.

Al soltar el conector de la pantalla ya se puede remover la placa base que esta sujeta únicamente por el conector a presión. Es idéntico en ambos modelos

Aqui se pueden observar los sensores touchscreen de ambos modelos... son IDENTICOS tanto mecánicanente como eléctricamente (son intercambiables)
los LCD también son idénticos (mismo número de parte)
Las baterías son idénticas. Las baterías estan pegadas con un adhesivo suave y al sacarlas se puede ver el altavoz..
las placas bases son distintas... a la izquierda el edge 800 y a la derecha el 810
la parte trasera de las placas bases. he removido el escudo rf metálico en ambas placas para poder ver el interior (el escudo va a presión y sale fácilmente)

El barómetro es el mismo (MS5607-02BA01)


El frontend del gps es el mismo (Infineon BGM781N11)


El Frontend del GPS es el mismo aunque el 810 parece tener una revisión del silicon mas reciente (ST STA5620C)


El 800 trae una memoria Samsung K5 que integra en el mismo chip una memoria RAM MobileDDR a 166MHz de 256Megabits en bus de 16 y NAND Flash de 1Gigabit en bus de 8 (K521F57ACA-B060)

El 810 trae una memoria Memocom que integra en el mismo chip una memoria RAM MobileDDR de 256Megabits en bus de 16 y NAND Flash de 1Gigabit (KTR0A56FS-HHe1)


Ambas unidades llevan un procesador ARM aunque por la numeración es posible que sean internamente distintos


El regulador de voltajes parece ser idéntico en ambas unidades


Ambas unidades llevan un convertidor de voltajes para la tarjeta SD/MMC (WM406L)
Ambas unidades llevan un medidor de carga de batería (Maxim 17040)
No he podido identificar los otros integrados. Si alguien reconoce alguno le agradecería la información.


El 800 utiliza un NordicSemi nRF24AP2 para el ANT+ (8 canales)

El 810 utiliza el Texas Intruments CC2567 que integra ANT y BT en el mismo integrado. Las 2 siguientes fotos muestran los detalles:


Como se puede apreciar, los cambios son únicamente el sistema ANT del 800 que se convierte en ANT+BT en el 810, el procesador ARM que posiblemente sea más rápido y el software. 

Ambos equipos son de uso personal. El 800 me gusta mucho, sin embargo el 810 creo que esta lleno de bugs (software) por lo que no recomiendo a nadie que tenga el 800 que haga el cambio... Quizás más adelante, si Garmin se decide a realizar las actualizaciones de software necesarias puede que sea una buena idea cambiarlos... Actualmente el 810 tiene problemas con el livetrack (realmente el problema creo que esta en la aplicación del IOS y Android) y serios problemas para funcionar mientras navega un trayecto (turn by turn).. Más detalles de los fallos del 810 en mi próximo post... Saludos