{"id":81,"date":"2010-04-28T23:24:04","date_gmt":"2010-04-28T23:24:04","guid":{"rendered":"http:\/\/www.zigbe.net\/?p=81"},"modified":"2010-04-28T23:24:04","modified_gmt":"2010-04-28T23:24:04","slug":"midiendo-la-energia-tercera-parte-las-matematicas","status":"publish","type":"post","link":"https:\/\/blog.whatsbee.net\/?p=81","title":{"rendered":"Midiendo la energ\u00eda (tercera parte: Las matem\u00e1ticas)"},"content":{"rendered":"<p style=\"text-align: justify;\">Si no recuerdo mal ya ten\u00edamos la medida de la tensi\u00f3n, la medida de la corriente y una cierta incertidumbre sobre los errores que hemos a\u00f1adido en la fase de ambos, por utilizar\u00a0componentes que no son puramente resistivos\u00a0para recoger la informaci\u00f3n.<\/p>\n<p style=\"text-align: justify;\">Nuestro objetivo es conocer el voltaje, la corriente consumida, la potencia aparente, la potencia real, la frecuencia y el coseno de fi (la letra del alfabeto griego)<\/p>\n<p style=\"text-align: justify;\">Soy poco amigo de reinventar lo que ya ha inventado gente mucho m\u00e1s lista que yo. Tampoco tiene demasiado sentido copiarlo y transcribirlo literalmente. La base te\u00f3rica del c\u00e1lculo est\u00e1 bastante bien descrita en la nota de aplicaci\u00f3n <a href=\"http:\/\/www.atmel.com\/dyn\/resources\/prod_documents\/doc2566.pdf\" target=\"_blank\">AVR465: Energy Meter using tinyAVR and megaAVR devices<\/a> de Atmel. En la p\u00e1gina\u00a0 <a href=\"http:\/\/www.atmel.com\/dyn\/products\/app_notes.asp?family_id=607\" target=\"_blank\">AVR Solutions &#8211; <script type=\"text\/javascript\">\/\/ < ![CDATA[\n\/\/ < ![CDATA[\n\/\/ < ![CDATA[\n\/\/ < ![CDATA[\n\/\/ < ![CDATA[\n\/\/ < ![CDATA[\nwriteText(varAppNote)\n\/\/ ]]><\/script>Application Notes<\/a> se puede descargar el c\u00f3digo en C que nos permite ver la brillante forma de aplicar la teor\u00eda\u00a0de los ingenieros de Atmel.<\/p>\n<p style=\"text-align: justify;\">A partir de la p\u00e1gina 11 se explica como eliminar la tensi\u00f3n de ofset que hemos introducido en las medidas con un filtro de paso alto por SW, como calcular tensiones y corrientes rms, como aplicar los factores de correcci\u00f3n, etc.<\/p>\n<p style=\"text-align: justify;\">Este c\u00f3digo se puede cargar en cualquier micro de 8 bits de Atmel, nosotros utilizaremos una versi\u00f3n bastante simplificada para Arduino, el ejemplo de c\u00f3digo de la Application Note nos servir\u00e1 como \u00abinspiraci\u00f3n\u00bb para buscar nuestra soluci\u00f3n (que para eso est\u00e1n las Application notes)<\/p>\n<p style=\"text-align: justify;\">Tengo poco m\u00e1s que decir sobre esta parte, integrales, derivadas&#8230;.. simplemente dejo los medios para que cada uno se lo calcule.<\/p>\n<p style=\"text-align: justify;\">\n<div class=\"mceTemp mceIEcenter\" style=\"text-align: justify;\">\n<dl id=\"attachment_85\" class=\"wp-caption aligncenter\" style=\"width: 510px;\">\n<dt class=\"wp-caption-dt\"><a href=\"http:\/\/blog.whatsbee.net\/wp-content\/uploads\/2010\/04\/Einstein.jpg\"><img loading=\"lazy\" class=\"size-full wp-image-85\" title=\"Einstein\" src=\"http:\/\/blog.whatsbee.net\/wp-content\/uploads\/2010\/04\/Einstein.jpg\" alt=\"\" width=\"500\" height=\"364\" srcset=\"https:\/\/blog.whatsbee.net\/wp-content\/uploads\/2010\/04\/Einstein.jpg 500w, https:\/\/blog.whatsbee.net\/wp-content\/uploads\/2010\/04\/Einstein-300x218.jpg 300w\" sizes=\"(max-width: 500px) 100vw, 500px\" \/><\/a><\/dt>\n<dd class=\"wp-caption-dd\">Einstein calculando la potencia aparente<\/dd>\n<\/dl>\n<\/div>\n<p style=\"text-align: justify;\">\n<p style=\"text-align: justify;\">Nos queda otra parte que tambi\u00e9n pasaremos un poco por encima porque tiene que ver con el c\u00f3digo, la calibraci\u00f3n..<\/p>\n<p style=\"text-align: justify;\">La idea tambi\u00e9n es sencilla: Hemos estado trabajando con componentes que tienen una cierta tolerancia (supongamos como hip\u00f3tesis en un divisor resistivo que los componentes tienen un 5% de tolerancia). En electr\u00f3nica anal\u00f3gica posiblemente introducir\u00edamos una resistencia ajustable de un valor menor, medir\u00edamos la resistencia real y la compensar\u00edamos\u00a0modificando la resistencia ajustable hasta obtener el valor buscado, utilizando un tester. En este caso estamos haciendo un tratamiento num\u00e9rico de los datos recogidos, por lo que simplemente podemos a\u00f1adir un coeficiente que multipliquemos por el valor recogido. Iremos variando el valor del coeficiente hasta que el valor entregado por nuestro dispositivo coincida con el valor mostrado por un dispositivo calibrado. Esto lo podemos aplicar en la medida de la tensi\u00f3n y de la corriente.<\/p>\n<p style=\"text-align: justify;\">Para compensar el desfase utilizaremos un m\u00e9todo parecido, un coeficiente en el firmware que ajustaremos para que con una carga puramente resistiva en coseno de Fi sea 1 y con una carga puramente inductiva sea 0.<\/p>\n<p style=\"text-align: justify;\"><strong>\u00bfAhora cual es el siguiente paso?<\/strong><\/p>\n<ul style=\"text-align: justify;\">\n<li>Subir la info a Pachube<\/li>\n<li style=\"text-align: justify;\">Hacer que esto funcione por Zigbee<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Ya monitorizamos tensiones y corrientes con un microprocesador, pero los datos que buscamos son de consumos, potencias, etc. Tenemos informaci\u00f3n suficiente para transformarla con los c\u00e1lculos matem\u00e1ticos adecuados. En este art\u00edculo se pretende dar una visi\u00f3n de la parte matem\u00e1tica del asunto.<\/p>\n","protected":false},"author":1,"featured_media":0,"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":[16,17,20],"tags":[102,109],"_links":{"self":[{"href":"https:\/\/blog.whatsbee.net\/index.php?rest_route=\/wp\/v2\/posts\/81"}],"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=81"}],"version-history":[{"count":0,"href":"https:\/\/blog.whatsbee.net\/index.php?rest_route=\/wp\/v2\/posts\/81\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.whatsbee.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=81"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.whatsbee.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=81"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.whatsbee.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=81"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}