{"id":7834,"date":"2018-07-26T17:34:51","date_gmt":"2018-07-26T16:34:51","guid":{"rendered":"http:\/\/blog.whatsbee.net\/?p=7834"},"modified":"2018-07-26T17:34:51","modified_gmt":"2018-07-26T16:34:51","slug":"al-fin","status":"publish","type":"post","link":"https:\/\/blog.whatsbee.net\/?p=7834","title":{"rendered":"Al fin!!!!!!!!!!!"},"content":{"rendered":"<p>De toda esta experiencia que deber\u00eda de haber durado dos semanas y ya ha llegado a los tres meses la parte en la que he pasado mayor impotencia ha sido la de las medidas de la energ\u00eda.\u00a0 Medir microAmperios es un gran problema, generalmente las medidas de corriente se hacen midiendo diferencias de tensi\u00f3n en los extremos de un resistor que se pone en serie con la alimentaci\u00f3n (burden). Para que haya una ca\u00edda medible la resistencia tiene que ser alta, pero en el momento en el que el nodo sale del bajo consumo una resistencia tan alta provoca una ca\u00edda de tensi\u00f3n que hace que no llegue a arrancar. A lo m\u00e1ximo que se puede\u00a0aspirar es a hacer una medida puntual de la corriente en Deep Sleep.<\/p>\n<p>Buscando buscando (y os aseguro que hay mucho que buscar), Encontr\u00e9 una placa que se llama power profiler de Nordic. Esta placa est\u00e1 pensada para hacer las medidas de sus kits de desarrollo, pero permite tambi\u00e9n medir proyectos\u00a0fuera de su placa, como se comunica por Segger, una especie de puerto de depuraci\u00f3n del entorno de Nordic (y os pido perdon por mi ignorancia si lo he entendido mal) hay que comprar la placa de desarrollo y cargar un FW que lo emula por USB. Al final, por unos 100\u20ac tienes un sistema que es capaz de medir el bajo consumo, sacar promedios, consumos y energ\u00edas.<\/p>\n<h3>El fallo en la segunda serie de PCB<\/h3>\n<p>Tambi\u00e9n he estado bastante enganchado con otro tema, En un art\u00edculo anterior teorizaba sobre la tensi\u00f3n en vac\u00edo de la bater\u00eda (al tener tan bajo consumo) que llegaba a los 4V. Por otro lado descubrimos que la lectura de la tensi\u00f3n de la bater\u00eda en el ESP no es v\u00e1lida si no se enciende la Wifi, por eso a\u00f1adimos un divisor de tensi\u00f3n. Pues no ligu\u00e9 un tema con el otro y para resolver el primero problema (inexistente porque lo que estaba mal era la lectura) pusimos un regulador LDO para la alimentaci\u00f3n en la PCB y otro para los sensores. Una vez probado en la placa de prototipos parece que todo funcion\u00f3.<\/p>\n<p>Pero al montar las primeras placas nada funcion\u00f3. Esper\u00e9 durante d\u00edas que me llegaran los ESP-12E que me faltaron, al final me llegaron con retraso, pero ninguno parec\u00eda funcionar. Mirando vi que eran ESP-12F, prob\u00e9 con unos ESP-12E y parece que lo hac\u00eda algo mejor, aunque el comportamiento con la wifi era err\u00e1tico. pens\u00e9 que no tuviera que ver con la soldadura de los modems Sifgox, con Lora parec\u00eda ir mejor, pero incluso con Wifi solo fallaba.\u00a0 \u00bfcual era el problema?<\/p>\n<p>Como el regulador es de 3,0V y cuando se enciende la Wifi tiene picos de consumo de 90mA necesita un condensador electrol\u00edtico para almacenar esa energ\u00eda que necesita, a 3,6V o a 3,3V la bajada de tensi\u00f3n que produce el incremento puntual de consumo\u00a0no llega a un nivel tan bajo que de problemas, pero a 3V si, la soluci\u00f3n ser\u00eda poner un condensador m\u00e1s grande (y m\u00e1s caro y voluminoso), pero tomando la medida de nuevo con algo que no sea el ESP he decidido prescindir del primer regulador. Afortunadamente solo implica sacarlo y poner un puente en la placa, por lo que se pueden aprovechar, una vez quitado todo funciona a las mil maravillas adem\u00e1s de reducir 60 \u00f3 70 c\u00e9ntimos el coste por placa.<\/p>\n<h3>\u00bfy ahora que?<\/h3>\n<p>Pues con el tema de las mediciones resuelto y las PCB funcionando vamos a ir liquidando los flecos:<\/p>\n<ul>\n<li>He implementado un algoritmo para que no env\u00ede de forma regular, si hay cambios enviar\u00e1 m\u00e1s si no hay cambios enviar\u00e1 menos.<\/li>\n<li>Para resolver posibles errores de lectura he implementado un filtro median y la realizaci\u00f3n de una segunda medida si la que tomo no coincide con la \u00faltima.<\/li>\n<li>Me he sacado de en medio muchas l\u00edneas de Debug, para poder tomar medidas de tiempo real.&nbsp;\n<p>He empezado con el Lora, lo primero que he visto es que el consumo en deep-sleep despu\u00e9s de enviar un paquete era correcto,\u00a0 \u00a0pero despu\u00e9s de una lectura de sensor sub\u00eda a 1,5 mA hasta la siguiente lectura.<\/p>\n<p>Por alg\u00fan motivo el RFM95W se pone en modo idle cuando se alimenta que consume aprox 1,5mA, tal como coment\u00e9 la funci\u00f3n de shutdown en la librer\u00eda no\u00a0est\u00e1 implementada. Despu\u00e9s de muchas horas he visto que con el LMIC_Shutdown() lo pone en el modo que me interesa, despu\u00e9s de unas m\u00e1s he visto que solo funciona si previamente lo has iniciado. La soluci\u00f3n final es poner un flag para ver si se ha iniciado y si no se ha iniciado hacerlo antes de ponerlo en shutdown. Consume mucho menos tiempo del que intuitivamente hubiera supuesto.<\/li>\n<\/ul>\n<p>Os dejo una foto del nodo de pruebas, las medidas de energ\u00eda en el proximo post..<\/p>\n","protected":false},"excerpt":{"rendered":"<p>De toda esta experiencia que deber\u00eda de haber durado dos semanas y ya ha llegado a los tres meses la parte en la que he pasado mayor impotencia ha sido la de las medidas de la energ\u00eda.\u00a0 Medir microAmperios es&hellip; <br \/><a class=\"read-more-button\" href=\"https:\/\/blog.whatsbee.net\/?p=7834\">Leer m\u00e1s<\/a><\/p>\n","protected":false},"author":1,"featured_media":7835,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_topic_count_hidden":0,"_bbp_reply_count_hidden":0,"_bbp_forum_subforum_count":0},"categories":[208,2],"tags":[],"_links":{"self":[{"href":"https:\/\/blog.whatsbee.net\/index.php?rest_route=\/wp\/v2\/posts\/7834"}],"collection":[{"href":"https:\/\/blog.whatsbee.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.whatsbee.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.whatsbee.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.whatsbee.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=7834"}],"version-history":[{"count":1,"href":"https:\/\/blog.whatsbee.net\/index.php?rest_route=\/wp\/v2\/posts\/7834\/revisions"}],"predecessor-version":[{"id":7836,"href":"https:\/\/blog.whatsbee.net\/index.php?rest_route=\/wp\/v2\/posts\/7834\/revisions\/7836"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.whatsbee.net\/index.php?rest_route=\/wp\/v2\/media\/7835"}],"wp:attachment":[{"href":"https:\/\/blog.whatsbee.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=7834"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.whatsbee.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=7834"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.whatsbee.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=7834"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}