{"id":922,"date":"2020-05-08T03:16:23","date_gmt":"2020-05-08T10:16:23","guid":{"rendered":"https:\/\/www.casler.org\/wordpress\/?p=922"},"modified":"2020-05-20T00:02:13","modified_gmt":"2020-05-20T07:02:13","slug":"jm-power-meter-jmpm","status":"publish","type":"post","link":"https:\/\/www.casler.org\/wordpress\/jm-power-meter-jmpm\/","title":{"rendered":"JM Power Meter (JMPM)"},"content":{"rendered":"<p>The JM Power Meter (JMPM) is a high resolution non-invasive energy monitoring device with support for sensing the current on up to 5 circuits and voltage. Based on the designs by <a href=\"https:\/\/openenergymonitor.org\">OpenEnergyMonitor<\/a>, this offers 12 bit analog to digital converters as well as a user selectable measurement range of either 120A or 35A per channel with better than 1 watt resolution at the 35A range. The hardware and software are all Open Source.<\/p>\n<p><!--more--><\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_82_2 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<label for=\"ez-toc-cssicon-toggle-item-69f3b33c2f4f8\" class=\"ez-toc-cssicon-toggle-label\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/label><input type=\"checkbox\"  id=\"ez-toc-cssicon-toggle-item-69f3b33c2f4f8\"  aria-label=\"Toggle\" \/><nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.casler.org\/wordpress\/jm-power-meter-jmpm\/#Why\" >Why?<\/a><ul class='ez-toc-list-level-2' ><li class='ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.casler.org\/wordpress\/jm-power-meter-jmpm\/#Home\" >Home<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.casler.org\/wordpress\/jm-power-meter-jmpm\/#Hot_Tub\" >Hot Tub<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.casler.org\/wordpress\/jm-power-meter-jmpm\/#Hardware\" >Hardware<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.casler.org\/wordpress\/jm-power-meter-jmpm\/#Firmware\" >Firmware<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.casler.org\/wordpress\/jm-power-meter-jmpm\/#Embedded_API\" >Embedded API<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/www.casler.org\/wordpress\/jm-power-meter-jmpm\/#Application_Server\" >Application Server<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/www.casler.org\/wordpress\/jm-power-meter-jmpm\/#Updates\" >Updates<\/a><\/li><\/ul><\/nav><\/div>\n<h1><span class=\"ez-toc-section\" id=\"Why\"><\/span>Why?<span class=\"ez-toc-section-end\"><\/span><\/h1>\n<p>I have two general use cases for this in my home.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Home\"><\/span>Home<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<ol>\n<li>Monitor energy production from both solar panel arrays<\/li>\n<li>Report costs based on current energy rates for various loads.<\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Hot_Tub\"><\/span>Hot Tub<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<ol>\n<li>Monitor energy usage and costs<\/li>\n<li>Monitor heath of internal components\n<ul>\n<li>Heating element<\/li>\n<li>3 water Pumps<\/li>\n<\/ul>\n<\/li>\n<li>Monitor Hot Tub temperature<\/li>\n<li>Control the Hot Tub on\/off state<\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<h1><span class=\"ez-toc-section\" id=\"Hardware\"><\/span>Hardware<span class=\"ez-toc-section-end\"><\/span><\/h1>\n<p>Based on the ESP32 controller by Espressif, this features:<\/p>\n<ul>\n<li>5 channels for Clamp On Current sensors\n<ul>\n<li>SCT-013-000 (<a href=\"https:\/\/amzn.to\/35HM1Gx\">Amazon<\/a>)<\/li>\n<\/ul>\n<\/li>\n<li>Jumper configurable measurement range. No soldering required, just insert a jumper cap!\n<ul>\n<li>35 Amp Default<\/li>\n<li>120 Amp Extended Range<\/li>\n<\/ul>\n<\/li>\n<li>Support for a near unlimited number of DS18B20 temperature sensors.\n<ul>\n<li>You&#8217;re only limited by the quality of the cable you use.<\/li>\n<\/ul>\n<\/li>\n<li>Onboard high accuracy temperature monitor.<\/li>\n<li>ESP32 Microcontroller<\/li>\n<li>(Optional) Relay output\n<ul>\n<li>Can switch loads of up to 2A DC<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>Eagle Board and Schematic for JMPM:<\/p>\n<ul>\n<li><a href=\"https:\/\/github.com\/mc-hamster\/JMPM\/tree\/master\/hardware\">JMPM v001 Eagle Files<\/a><\/li>\n<\/ul>\n<p><a href=\"https:\/\/www.casler.org\/wordpress\/jmpm-hardware-rev001\/\">Build instructions for JMPM v001<\/a><\/p>\n<h1><span class=\"ez-toc-section\" id=\"Firmware\"><\/span>Firmware<span class=\"ez-toc-section-end\"><\/span><\/h1>\n<p>The firmware is developed with the Arduino toolchain and is available in GitHub.<\/p>\n<p><a href=\"https:\/\/github.com\/mc-hamster\/JMPM\/tree\/master\/firmware\/JMPM%20v1.0\">JMPM v1.0 Firmware<\/a><\/p>\n<h1><span class=\"ez-toc-section\" id=\"Embedded_API\"><\/span>Embedded API<span class=\"ez-toc-section-end\"><\/span><\/h1>\n<p><a href=\"https:\/\/www.casler.org\/wordpress\/wp-content\/uploads\/2020\/05\/jmpm-root.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-970 size-thumbnail\" src=\"https:\/\/www.casler.org\/wordpress\/wp-content\/uploads\/2020\/05\/jmpm-root-500x280.png\" alt=\"\" width=\"500\" height=\"280\" srcset=\"https:\/\/www.casler.org\/wordpress\/wp-content\/uploads\/2020\/05\/jmpm-root-500x280.png 500w, https:\/\/www.casler.org\/wordpress\/wp-content\/uploads\/2020\/05\/jmpm-root-480x270.png 480w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><\/a><\/p>\n<p>All functions are exposed as a JSON REST API. A minimal web interface simplifies device utility.<\/p>\n<h1><span class=\"ez-toc-section\" id=\"Application_Server\"><\/span>Application Server<span class=\"ez-toc-section-end\"><\/span><\/h1>\n<p>Work in progress<\/p>\n<h1><span class=\"ez-toc-section\" id=\"Updates\"><\/span>Updates<span class=\"ez-toc-section-end\"><\/span><\/h1>\n<ul>\n<li>2020 05 17 &#8211; First revision of firmware is complete.<\/li>\n<li>2020 05 08 &#8211; The first 15 prototype devices has been sent to be manufactured by JLC PCB<\/li>\n<li>2020 05 07 &#8211; Design completed.<\/li>\n<li>2020 05 06 &#8211; Design process started.<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>The JM Power Meter (JMPM) is a high resolution non-invasive energy monitoring device with support for sensing the current on up to 5 circuits and voltage. Based on the designs by OpenEnergyMonitor, this offers 12 bit analog to digital converters as well as a user selectable measurement range of either 120A or 35A per channel with better than 1 watt&hellip;<\/p>\n","protected":false},"author":1,"featured_media":923,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"wprm-recipe-roundup-name":"","wprm-recipe-roundup-description":"","footnotes":""},"categories":[15],"tags":[],"class_list":["post-922","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-iot"],"gutentor_comment":0,"jetpack_featured_media_url":"https:\/\/www.casler.org\/wordpress\/wp-content\/uploads\/2020\/05\/jmpm-v001-render.png","_links":{"self":[{"href":"https:\/\/www.casler.org\/wordpress\/wp-json\/wp\/v2\/posts\/922","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.casler.org\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.casler.org\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.casler.org\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.casler.org\/wordpress\/wp-json\/wp\/v2\/comments?post=922"}],"version-history":[{"count":0,"href":"https:\/\/www.casler.org\/wordpress\/wp-json\/wp\/v2\/posts\/922\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.casler.org\/wordpress\/wp-json\/wp\/v2\/media\/923"}],"wp:attachment":[{"href":"https:\/\/www.casler.org\/wordpress\/wp-json\/wp\/v2\/media?parent=922"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.casler.org\/wordpress\/wp-json\/wp\/v2\/categories?post=922"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.casler.org\/wordpress\/wp-json\/wp\/v2\/tags?post=922"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}