{"id":5074,"date":"2024-04-26T13:22:44","date_gmt":"2024-04-26T18:22:44","guid":{"rendered":"https:\/\/espacerm.com\/webgen\/?page_id=5074"},"modified":"2024-04-26T13:36:16","modified_gmt":"2024-04-26T18:36:16","slug":"lecteur-de-courant-eleve-avec-le-esp32","status":"publish","type":"page","link":"https:\/\/espacerm.com\/webgen\/lecteur-de-courant-eleve-avec-le-esp32\/","title":{"rendered":"Lecteur de courant \u00e9lev\u00e9 avec le ESP32"},"content":{"rendered":"\n<p>Lecture de courant par effet Hall utilisant deux circuits D-1085 bas\u00e9 sur le ACS758 &#8211; 50 amp\u00e8res<\/p>\n\n\n\n<p>Affichage du r\u00e9sultat sur tout mobile ou ordinateur compatible Bluetooth \u00e0 partir d&rsquo;un \u00e9mulateur de terminal <\/p>\n\n\n\n<p><a href=\"https:\/\/www.czh-labs.com\/tmp\/madeimg\/datasheet\/d-1085.pdf\">Datasheet du D-1085<\/a><\/p>\n\n\n\n<div style=\"height:58px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"515\" src=\"https:\/\/espacerm.com\/webgen\/wp-content\/uploads\/2024\/04\/20240426_135738-1024x515.jpg\" alt=\"\" class=\"wp-image-5075\" srcset=\"https:\/\/espacerm.com\/webgen\/wp-content\/uploads\/2024\/04\/20240426_135738-1024x515.jpg 1024w, https:\/\/espacerm.com\/webgen\/wp-content\/uploads\/2024\/04\/20240426_135738-300x151.jpg 300w, https:\/\/espacerm.com\/webgen\/wp-content\/uploads\/2024\/04\/20240426_135738-768x386.jpg 768w, https:\/\/espacerm.com\/webgen\/wp-content\/uploads\/2024\/04\/20240426_135738-1536x773.jpg 1536w, https:\/\/espacerm.com\/webgen\/wp-content\/uploads\/2024\/04\/20240426_135738-2048x1030.jpg 2048w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<div style=\"height:64px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p><strong>Affichage des lectures captur\u00e9es avec l&rsquo;application \u00ab Serial Bluetooth Terminal \u00bb sur Android<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"640\" src=\"https:\/\/espacerm.com\/webgen\/wp-content\/uploads\/2024\/04\/Screenshot_20240426_141310_Serial-Bluetooth-Terminal-1024x640.jpg\" alt=\"\" class=\"wp-image-5076\" srcset=\"https:\/\/espacerm.com\/webgen\/wp-content\/uploads\/2024\/04\/Screenshot_20240426_141310_Serial-Bluetooth-Terminal-1024x640.jpg 1024w, https:\/\/espacerm.com\/webgen\/wp-content\/uploads\/2024\/04\/Screenshot_20240426_141310_Serial-Bluetooth-Terminal-300x188.jpg 300w, https:\/\/espacerm.com\/webgen\/wp-content\/uploads\/2024\/04\/Screenshot_20240426_141310_Serial-Bluetooth-Terminal-768x480.jpg 768w, https:\/\/espacerm.com\/webgen\/wp-content\/uploads\/2024\/04\/Screenshot_20240426_141310_Serial-Bluetooth-Terminal-1536x960.jpg 1536w, https:\/\/espacerm.com\/webgen\/wp-content\/uploads\/2024\/04\/Screenshot_20240426_141310_Serial-Bluetooth-Terminal-2048x1280.jpg 2048w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<div style=\"height:62px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Programme \u00ab lecture_courant_D-1085_50_amp_plus_ADS1115_00.ino \u00bb<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/*\n*   lecture_courant_D-1085_50_amp_plus_ADS1115_00\n*   \n*  Cr\u00e9ation : 2021-11-13\n*  Auteur : Richard Morel \n*  \n*  Lecture de courant par effet Hall\n*  deux circuits D-1085 bas\u00e9 sur le ACS758 - 50 amp\u00e8res\n*  \n*  Affichage du r\u00e9sultat sur tout mobile ou ordinateur compatible Bluetooth,\n*  \u00e0 partir d'un \u00e9mulateur de terminal\n*  \n*  #18 ADS1115 Analog-to-Digital Converter Tutorial\n*  https:\/\/www.youtube.com\/watch?v=tnfBslyfLRQ&amp;list=PLrfG_Hi1Epg5ChswqLZT6xrwM1xCCeVi8&amp;index=7&amp;t=347s\n*  \n*  Remarque :\n*  L'ACS758 donne un \u00e9cart de voltage de sortie diff\u00e9rent selon le sens du courant \n*  pour un courant de m\u00eame valeur.\n*  \n*  La source d'alimentation 5 volts doit \u00eatre tr\u00e8s stable\n*  \n*  \n*\/\n\n\n#include&lt;ADS1115_lite.h>\nADS1115_lite ads(ADS1115_DEFAULT_ADDRESS);  \/\/ 0x48 addr pin connected to GND\n\nfloat   VoltageLeft;\nfloat   VoltageRight;\nint16_t adc0;\nint16_t adc1;\nfloat   AmpLeft;\nfloat   AmpRight;\nfloat   voltInullLeft   = 2.512;\nfloat   voltInullRight  = 2.509;\nfloat   sensitivityACS758_50A_Left  = 0.040; \/\/ Volt\/A\nfloat   sensitivityACS758_50A_Right = 0.040; \/\/ Volt\/A\n\n\/\/******  Bluetooth pour le transfert de donn\u00e9es *********************\n#include \"BluetoothSerial.h\"\n#if !defined(CONFIG_BT_ENABLED) || !defined(CONFIG_BLUEDROID_ENABLED)\n#error Bluetooth is not enabled! Please run `make menuconfig` to and enable it\n#endif\nBluetoothSerial SerialBT;\n\n#define MAX_PACKETSIZE 32   \/\/Serial receive buffer\nchar buffUART[MAX_PACKETSIZE];\nunsigned int buffUARTIndex = 0;\nunsigned long preUARTTick  = 0;\n\n\/\/ *******  Traite les \u00e9changes sur BLUETOOTH ******** \n #include \"echange_Bluetooth_et_traitement.h\"\n\n\/\/************************************************************************\n\/\/\n\/\/ FONCTION FONCTION FONCTION FONCTION FONCTION FONCTION FONCTION FONCTION\n\/\/\n\/\/************************************************************************\n\n\nvoid ads_config(){\n  ads.setGain(ADS1115_REG_CONFIG_PGA_6_144V); \/\/ +\/-6.144V range = Gain 2\/3 - 1 bit =0.1875mV\n  ads.setSampleRate(ADS1115_REG_CONFIG_DR_8SPS); \/\/ Set to the fastest MODE 8Samples per sec\n  \/\/ads.setSampleRate(ADS1115_REG_CONFIG_DR_860SPS); \/\/ Set to the fastest MODE 860Samples per sec\n}\n\nint16_t ads_read_0(){ \n  ads.setMux(ADS1115_REG_CONFIG_MUX_SINGLE_0);  \/\/ Single mode input on AIN0 (AIN0 - GND)\n  ads.triggerConversion();  \/\/ Triggered mannually \n  return ads.getConversion();  \/\/ returns int16_t value\n}\n\nint16_t ads_read_1(){ \n  ads.setMux(ADS1115_REG_CONFIG_MUX_SINGLE_1);  \/\/ Single mode input on AIN1 (AIN1 - GND)\n  ads.triggerConversion();  \/\/ Triggered mannually \n  return ads.getConversion();  \/\/ returns int16_t value\n}\n\n\/\/************************************************************************\n\/\/\n\/\/ SETUP   SETUP   SETUP   SETUP   SETUP   SETUP   SETUP  SETUP  SETUP\n\/\/\n\/\/************************************************************************\n\nvoid setup(){\n  Serial.begin(115200);\n  delay(10); \n  Serial.println(\"Programme : lecture_courant_D-1085_50_amp_plus_ADS1115_00\");\n\n  ads_config(); \/\/ call to ads_config function\n  \n  \/\/ *********** BLUETOOTH ****************************\n  \/\/ Ce Bluetooth n'est pas pris en charge pas IOS\n  if(!SerialBT.begin(\"ESP32_Telemetrie_00\")){ \/\/Bluetooth device name , NIP non disponible\n    Serial.println(\"Erreur lors de l'initialisation du Bluetooth\");\n  }else{\n    Serial.println(\"Bluetooth initialis\u00e9\");\n  } \n\n  Serial.println(\"PR\u00caT\");\n}\n\n\/\/************************************************************************\n\/\/\n\/\/ LOOP   LOOP   LOOP   LOOP   LOOP   LOOP   LOOP  LOOP  LOOP\n\/\/\n\/\/************************************************************************\n\n\nvoid loop(){\n\n  adc0 = (ads_read_0());\n  VoltageLeft = (adc0 * 0.1875)\/1000;\n  AmpLeft= (VoltageLeft-voltInullLeft)\/sensitivityACS758_50A_Left;\n\n  \/\/Serial.println(adc0);\n  \/*Serial.print(\" VoltageLeft : \");\n  Serial.print(VoltageLeft, 3);\n  Serial.print(\" AmpLeft :\");\n  Serial.print(AmpLeft);*\/\n  \n  adc1 = (ads_read_1());\n  VoltageRight = (adc1 * 0.1875)\/1000;\n  AmpRight= (VoltageRight-voltInullRight)\/sensitivityACS758_50A_Right;\n\n  \/\/Serial.println(adc1);\n  \/*Serial.print(\" *** VoltageRight : \");\n  Serial.print(VoltageRight, 3);\n  Serial.print(\" AmpRight :\");\n  Serial.println(AmpRight);*\/\n  \n\n\n\n  envoieDataVersClient();\n\n   delay(300);\n}\n<\/pre>\n\n\n\n<div style=\"height:60px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>\u00ab echange_Bluetooth_et_traitement.h \u00bb<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ ------------------------------------------------------------------------------- \n\/\/            \u00c9CHANGE ET TRAITEMENT BLUETOOTH\n\/\/ ------------------------------------------------------------------------------- \n\/\/\n\/\/***** Renvoi des donn\u00e9es du ESP32 vers le Client ****\n\/\/ ****Trame de r\u00e9ponse : [ |DATA|#|#|#|#|#| ]  # est un nombre.\nvoid envoieDataVersClient(){\n      \/\/delay(0);\n      int inPauseDeTransmission = 0;  \/\/ > 50 Temporisation pour \u00e9viter les engorgements si requis \n      SerialBT.print(\"[ |\");                     delay(inPauseDeTransmission);\n      SerialBT.print(\"VoltageLeft|\");            delay(inPauseDeTransmission);\n      SerialBT.print(VoltageLeft, 3);            delay(inPauseDeTransmission);\n      SerialBT.print(\"|\");                       delay(inPauseDeTransmission);\n      SerialBT.print(\"Courant Moteur Gauche|\");  delay(inPauseDeTransmission);\n      SerialBT.print(AmpLeft);                   delay(inPauseDeTransmission);\n      SerialBT.print(\"|\");                       delay(inPauseDeTransmission);\n      SerialBT.print(\"VoltageRight|\");           delay(inPauseDeTransmission);\n      SerialBT.print(VoltageRight, 3);           delay(inPauseDeTransmission);\n      SerialBT.print(\"|\");                       delay(inPauseDeTransmission);\n      SerialBT.print(\"Courant Moteur Droit\");    delay(inPauseDeTransmission);\n      SerialBT.print(\"|\");                       delay(inPauseDeTransmission);\n      SerialBT.print(AmpRight);                  delay(inPauseDeTransmission);\n      SerialBT.print(\"| ]\");                     delay(inPauseDeTransmission);\n      SerialBT.print(\"\\n\");\n}<\/pre>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Lecture de courant par effet Hall utilisant deux circuits D-1085 bas\u00e9 sur le ACS758 &#8211; 50 amp\u00e8res Affichage du r\u00e9sultat sur tout mobile ou ordinateur compatible Bluetooth \u00e0 partir d&rsquo;un \u00e9mulateur de terminal Datasheet du D-1085 Affichage des lectures captur\u00e9es avec l&rsquo;application \u00ab Serial Bluetooth Terminal \u00bb sur Android Programme \u00ab lecture_courant_D-1085_50_amp_plus_ADS1115_00.ino \u00bb \u00ab echange_Bluetooth_et_traitement.h [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"_links":{"self":[{"href":"https:\/\/espacerm.com\/webgen\/wp-json\/wp\/v2\/pages\/5074"}],"collection":[{"href":"https:\/\/espacerm.com\/webgen\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/espacerm.com\/webgen\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/espacerm.com\/webgen\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/espacerm.com\/webgen\/wp-json\/wp\/v2\/comments?post=5074"}],"version-history":[{"count":3,"href":"https:\/\/espacerm.com\/webgen\/wp-json\/wp\/v2\/pages\/5074\/revisions"}],"predecessor-version":[{"id":5084,"href":"https:\/\/espacerm.com\/webgen\/wp-json\/wp\/v2\/pages\/5074\/revisions\/5084"}],"wp:attachment":[{"href":"https:\/\/espacerm.com\/webgen\/wp-json\/wp\/v2\/media?parent=5074"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}