Pues sí, paso de los ordinales y a partir de ahora sigo con cardinales, cada vez son más difíciles.
Como comenté en un post anterior diseñé las placas con Eagle y las pedí a Seeedstudio. Tienen una oferta para prototipos que te hacen 10 placas por 9$, al final como hice 20 no valía la oferta, pedí el transporte rápido con DHL y además he tenido que pagar 39€ de aduanas. Si sumo 4€ por placa, habrá que buscar otras opciones.
No parece que nadie tenga intención de timar cuando algo que en teoría vale 9$ acaba multiplicandose por 10, es una práctica habitual. Las últimas placas las pedí a otra compañía china y más o menos me pasó lo mismo.
El aspecto es bueno, aunque no se leen muy bien las serigrafías y con las prisas me olvidé algunas cosas como la polaridad de los componentes, lo cual dificulta un poco el montaje.
Ahora queda montar la primera y a ver que tal. No parece que haya cometido grandes errores pero ayer me llevé un susto por el tema del consumo:
¿que pasa ahora con el consumo?
Lo que pasa es que llevo días dándole vueltas a como medir el consumo real en el modo de deep sleep. He implementado en el firmware un contador que va acumulando el tiempo que dedica a cada cosa por la energia que consume, con la intención de ser capaz de predecir cuando se va a acabar la batería. El consumo teórico en deep-sleep es de 20uA + 1uA por el driver + 1 ó 2 uA por la radio. El problema de ver el consumo real es que cuando mides corrientes de uA tienes que tener un buen equipamiento (caro) porque la influencia de la impedancia del equipo en la medida te engaña. hay un operacional específico para hacer etapas de entrada de picoamperímetros, pero me pareció un lío, así que fice dos intentos:
- Poner una resistencia en serie y mirar la caida de tensión, Alimento el micro a 3.3V pongo una resistencia en serie de 5K lo alimento a la entrada de la resistencia con 3.3V más la caida pongo en micro en deep sleep y mido la caida -> no funciona.
- Lo alimento con un condesador y mido con otro micro la velocidad de descarga-> parece que funciona mejor.
Al intentarlo con el segundo procedimiento veo que el consumo en Deep Sleep es de miliamperios (¿me habré equivocado en algo?), después de un rato de agobio, porque son muchas horas para que ahora haya cometido un fallo de cálculo. me doy cuenta que la función hal_sleep() en la librería no contiene nada, o mejor dicho: un comentario de implementación pendiente.
Pruebo con la función LMIC_shutdown() y mejora, pero no llego al resutado esperado. Al final me estoy agobiando con este tema y el sistema de medición del consumo está un poco cogido por los pelos. he pedido un amperimetro de 0 a 200 uA por Ebay, cuando me llegue haré la medida.
Pero de momento tengo la incertidumbre de si habré cometido algún error….