Мазмуну:

Көп каналдуу Wifi Voltage & Current Meter: 11 Steps (Сүрөттөр менен)
Көп каналдуу Wifi Voltage & Current Meter: 11 Steps (Сүрөттөр менен)

Video: Көп каналдуу Wifi Voltage & Current Meter: 11 Steps (Сүрөттөр менен)

Video: Көп каналдуу Wifi Voltage & Current Meter: 11 Steps (Сүрөттөр менен)
Video: 2B1 КАМЕРА МЫКТЫ КӨЗ АЛУУ ЖАНА АДАМДЫ АНЫКТОО 2024, Июль
Anonim
Көп каналдуу Wifi Voltage & Current Meter
Көп каналдуу Wifi Voltage & Current Meter

Банборддо жүргөндө, көп учурда бир эле учурда райондун ар кайсы бөлүктөрүн көзөмөлдөө керек.

Мультиметр зонддорун бир жерден экинчи жерге жабыштырып оорутпаш үчүн, мен көп каналдуу чыңалуу менен ток өлчөгүчтү ойлоп тапкым келди.

Adafruitтин Ina260 тактасы бул үчүн абдан эффективдүү жана эффективдүү жолду камсыз кылат. Ал интегралдык I2C көпүрөсү менен абдан так чыңалуу жана ток өлчөгүчтү камтыйт (алардын 3үн бириктиргенде көп казыктарды үнөмдөйт!).

Бир гана нерсе - дисплей жетишпей калды. Тактайларды ESP32 иштеп чыгуу тактасына илип коюу чечими, ал ченелген нерселерди ЖК/мобилдик экранда көрсөтүү үчүн веб -серверди оңой көтөрө алат.

Жабдуулар

3 x Ina260 адафрут тактасы

Узун казыктары бар 3 х төөнөгүч казык

Мин 6 секирүүчү зымдар

1 x ESP32 Wrover-B (же I2C колдоосу менен башка Wifi башка такта)

2 х 19 пин пин баш (эгер болсо)

1 PCB же Perfboard

1 x 3.3 V электр менен камсыздоо

1 -кадам: Үч ИНА тактасын ээрчиңиз

Үч ИНА тактасын ширетүү
Үч ИНА тактасын ширетүү

Биринчи кадам - үч INA260 тактасын чогултуу.

Adafruit веб -сайтынан абдан жакшы көрсөтмөнү таба аласыз. Adafruit чогултуу көрсөтмөлөрүн аткарыңыз.

Аларды бири -биринин үстүнө коюу үчүн, жеткирилген пин тилкелеринин ордуна, узун төөнөгүчтөрдү колдонуңуз!

2 -кадам: Үч башка I2C дарегин конфигурациялоо

Үч түрдүү I2C дарегин конфигурациялоо
Үч түрдүү I2C дарегин конфигурациялоо
Үч түрдүү I2C дарегин конфигурациялоо
Үч түрдүү I2C дарегин конфигурациялоо
Үч түрдүү I2C дарегин конфигурациялоо
Үч түрдүү I2C дарегин конфигурациялоо
Үч түрдүү I2C дарегин конфигурациялоо
Үч түрдүү I2C дарегин конфигурациялоо

I2C-кыска ылдамдыкта түзмөктөрдү туташтыруу үчүн эки зымдуу интерфейстин сериялык протоколу. Бир 127 кулга чейин туташа алат. Бир автобуста ар бир түзмөк уникалдуу I2C дареги менен аныкталышы керек. Түзмөктүн I2C дареги көбүнчө түзмөктүн чипине катуу туташтырылат. Ошол эле түзмөктөрдү бир автобуста туташтыруу үчүн, өндүрүүчү көбүнчө казыктардын конфигурациясын ширетүү аркылуу I2C дарегин өзгөртүү мүмкүнчүлүгүн калтырат.

Бул ошондой эле үч INA260 тактасына тиешелүү. Түзмөктө каалаган даректи коюу үчүн GND, VS, SCL же SDAга туташтырыла турган A0 жана A1 деген эки дарек казыгы бар. INA260 микросхемасынын техникалык баракчаларынан, 16 мүмкүн болгон даректердин баарынын пин туташууларынын тизмесин таба аласыз.

Adafruit тактасы A0 жана/же A1ди VSге тартуу үчүн колдонула турган эки төшөктү ачыкка чыгаруу менен муну 4 такта менен чектейт. INA260 тактасынын демейки дареги 0x40.

Сиз бул кадамды башка эки тактага ар кандай даректерди берүү менен аткарасыз:

Экинчи тактанын A0 төшөгүн ширетүү менен, сиз анын дарегин: 0x41 (же 1000001 БИН) коюңуз

Үчүнчү тактанын A1 блокнотун ширетүү менен сиз даректи төмөнкүгө дайындайсыз: 0x44 (же 1000100 БИН)

3 -кадам: Ina такталарын ESP32ге туташтырыңыз

Ина такталарын ESP32ге туташтырыңыз
Ина такталарын ESP32ге туташтырыңыз

Эми биз INA такталарынын ар бирине ар кандай I2C даректерин дайындагандыктан, аларды ESP32 тактасына туташтырууга убакыт келди!

Жогорудагы сүрөттө айтылгандай, туташыңыз

1) VCC пин 3.3V пинге

2) GND пинге GND пинге

3) SDA пини GPIO пин 21ге

4) SCL пин GPIO пин 22ге

Мен ПКБ дизайнын колдондум, анткени ал чоңураак долбоордун бир бөлүгү болуп саналат (жөнгө салынуучу токту чектөөчү WiFi жөнгө салынуучу чыңалуусу - бул үчүн да нускалуу болот деп үмүттөнөм).

Сиз туташуу үчүн башка жолду колдонсоңуз болот, бул сиз кошкон перформат же нан тактасын колдонушу мүмкүн. Бул экөө тең жакшы иштейт.

4 -кадам: Arduino IDEге ESP32 тактасын орнотуңуз

ESP32 тактасын Arduino IDEге орнотуңуз
ESP32 тактасын Arduino IDEге орнотуңуз

Эми биз тактайларды бири -бирине туташтырдык, байланышты текшерүү мезгили келди.

Биз муну Ina такталарынын I2C даректерин чогултуу менен жасайбыз.

ESP32 тактасы Arduino IDE менен мыкты иштейт.

Ошентип, ESP32 тактасын Arduinoго Board менеджеринин жардамы менен орнотолу.

5 -кадам: I2C сканерин колдонуп, ESP32 туташуусун текшериңиз

I2C сканерин колдонуу менен ESP32 туташуусун текшериңиз
I2C сканерин колдонуу менен ESP32 туташуусун текшериңиз

Биз ESP32 менен Ina260 такталарынын ортосундагы байланышты камсыз кылуу үчүн жөнөкөй I2C дареги сканерин колдонобуз.

I2C дарек сканеринин кодун бош Arduino долбооруна көчүрүү мүмкүн.

Код Arduino cc веб -сайтынан алынды:

// -------------------------------------- // i2c_scanner // // 1-версия/ / Бул программа (же окшош болгон код) // көп жерден тапса болот. // Мисалы Arduino.cc форумунда. // Түп автору белгисиз. // 2 -версия, 2012 -жылдын июнь айы, Arduino 1.0.1ди колдонуу // Arduino.cc колдонуучусу Krodal тарабынан мүмкүн болушунча ыңгайлаштырылган // Версия 3, Февраль 26 2013 // V3 by louarnold // Версия 4, Март 3, 2013, Arduino 1.0.3 колдонуу // Arduino.cc колдонуучу Krodal тарабынан. // Лоарнолд тарабынан киргизилген өзгөртүүлөр өчүрүлдү. // Скандоо даректери 0… 127ден 1… 119га чейин өзгөрдү, // i2c сканерине ылайык Ник Гаммон // https://www.gammon.com.au/forum/?id=10896 // 5 -версия, март 28, 2013 // 4 -версия катары, бирок дарек азыр 127ге чейин сканерленет. // А сенсор 120 дарегин колдонот окшойт. // 6 -версия, 27 -ноябрь, 2015 -жыл. // // // Бул эскиз стандарт 7-бит даректерин сынайт // Бит дареги жогору болгон түзмөктөр туура көрүнбөй калышы мүмкүн. // #include void setup () {Wire.begin (); Serial.begin (9600); while (! Сериялык); // Леонардо: Serial.println ("\ nI2C Сканери") сериялык мониторун күтө туруңуз; } void loop () {байт катасы, дареги; int nDevices; Serial.println ("Изделүүдө…"); nDevices = 0; үчүн (дарек = 1; дарек <127; дарек ++) {// i2c_scanner // түзмөк даректи тааныган -албаганын билүү үчүн // Write.endTransmisstionдун // кайтаруу маанисин колдонот. Wire.beginTrmission (дарек); ката = Wire.endTransmission (); if (error == 0) {Serial.print ("0x дарегинде I2C түзмөгү табылган"); эгер (дарек <16) Serial.print ("0"); Serial.print (дарек, HEX); Serial.println ("!"); nDevices ++; } else if (ката == 4) {Serial.print ("0x дареги боюнча белгисиз ката"); if (address <16) Serial.print ("0"); Serial.println (дарек, HEX); }} if (nDevices == 0) Serial.println ("I2C түзмөктөрү табылган жок / n"); else Serial.println ("аткарылды / n"); кечигүү (5000); // кийинки текшерүү үчүн 5 секунд күтө туруңуз}

6 -кадам: HTML Webserver Папкасын түзүү

HTML Webserver Папкасын түзүү
HTML Webserver Папкасын түзүү

ESP32 веб -серверди иштетүү мүмкүнчүлүгүн камсыз кылат. Ал ошондой эле кээ бир веб -баракчаларды кармоо үчүн абдан чоң RAM эс тутумун камсыздайт. (Бул веб -баракчанын файлдарын автоматтык түрдө кысат).

Arduino IDE түзүлгөн веб -баракчаларды ESP32дин оперативдүү RAMине жүктөө мүмкүнчүлүгүн камсыз кылат.

Бул үчүн, Arduino долбоорунун папкасынын астында папканы 'маалымат' түзүү керек. Менин учурда бул / Arduino / esp32_Power_supply_v1_implemented / data.

Папканы так "маалымат" деп атоо маанилүү, анткени бул Arduino веб -баракчанын файлдарын ESPке жүктөөдө издейт.

7 -кадам: Power Monitor веб -баракчасын түзүңүз

HMTL - бул веб -браузерге текстти киргизүүгө мүмкүндүк берген тил. HTML файлы htm (l) кеңейтүүсү астында сакталат. Веб -баракчаны форматтоо көбүнчө өзүнчө файлга жайгаштырылат (мис. Css файлы). Веб -баракча сунуштаган программалардын функционалдуулугу, адатта, башка файлга жайгаштырылат (мисалы. Js файлы, javascript үчүн).

HTML документимде текстти, форматтоону жана Javascriptти бир файлга киргиздим. Бул веб -баракчаны кантип жасоонун жакшы мисалы эмес, бирок ал максаттарга кызмат кылат. Мен HTML документине 'Index.htm' деп ат койгом.

Экинчи файл менин маалымат папкамда камтылган, б.а. PicoGraph.js. PicoGraph китепканасы RainingComputersтен Вишну Шанкар Б тарабынан камсыздалган жана веб -баракчага графиктерди көрсөтүү үчүн абдан жөнөкөй, бирок эффективдүү жана ийкемдүү жол берет. Мен кодду бир аз оңдоп, максатыма жетүү үчүн.

Сиз HTML веб -баракчасында менин ПХБ тактасындагы чыңалуу берүүлөрдү көзөмөлдөө коду камтылганын байкайсыз. Чыңалуу менен камсыздоо коду 5 I/O казыгынын чыңалуу деңгээлин көзөмөлдөйт. Муну жокко чыгаруу үчүн кодду өзгөртө аласыз же эч кандай таасири болбосо, аны калтырып коюңуз.

Html коду бул кадамга txt файлы катары тиркелет (инструкциялар htm кодун жүктөөгө жол бербейт).

HTML кодун колдонуу үчүн сиз аны текст редакторуна көчүрүп, чаптаңыз (Мен Notepad ++ колдоном) жана 'Data' папкасынын астындагы 'Index.htm' катары сактаңыз. Сиз picograph.txt файлы үчүн ушундай кыласыз, бирок анын атын picograph.js деп өзгөртөсүз

HTML файлына карата:

SndUpdate функциясы ESPтен веб -баракчага билдирүүлөрдү жөнөтүү үчүн колдонулат.

ESPтен келген билдирүүлөр электр менен камсыздоо функциясын аткарат жана бул көрсөтмө үчүн мүмкүн эмес. ESPке келген билдирүүлөр Ina260 тактасынын өлчөөлөрүнө кызмат кылат.

var Msg = JSON.parse (xh.responseText); PG1_yrand0 = Msg. PG1_yrand0; PG2_yrand0 = Msg. PG2_yrand0; PG3_yrand0 = Msg. PG3_yrand0; PG4_yrand0 = Msg. PG4_yrand0; PG5_yrand0 = Msg. PG5_yrand0; PG6_yrand0 = Msg. PG6_yrand0;

Жогорудагы код ESP32 тактасынан 6 санын окуйт, б.а. чыңалуу өлчөө, биринчи тактадан учурдагы өлчөө, экинчисинен эки өлчөө жана башкалар.

Графиктер ийкемдүү контейнерлер деп аталат, бул веб-баракчанын ийкемдүү өлчөмүн өзгөртүүгө мүмкүндүк берет.

.flex-container {дисплей: flex; өң-түс: кадет көк; flex-wrap: ороо; }.flex-container> div {background-color: #f1f1f1; маржа: 10px; толтуруу: 20px; шрифт өлчөмү: 20px; font-family: "Жети сегмент"; шрифт салмагы: коюу; }

Ийкемдүү контейнерлердин ар биринин мазмуну киргизилген графиктерди кошкондо төмөнкүдөй түзүлөт.

(кайда алынып салынганын эске алыңыз)

div label for = "PG1_scale" Scale:/label input name = "PG1_scale" value = "10" brbr!-Thraf graph үчүн Canvas-canvas style = "height: 100px; border: 2px solid #000000; background-color: #fafafa; " /кенеп

!-легендалар/этикеттер үчүн div-

div /div div /div /div

HTML файлындагы маанилүүлүктүн акыркы бөлүмү сандарды көрсөтүү үчүн PicoGraph китепканасы менен иштейт:

var PG1_demograph = createGraph ("PG1_graphDemo", ["Ch1"], "V", "PG1_graphLabels", 20, 11, false, false, 11, "#e52b50"); var PG2_demograph = createGraph ("PG2_graphDemo", ["Ch1"], "mA", "PG2_graphLabels", 20, 11, false, false, 11, "#e52b50"); var PG3_demograph = createGraph ("PG3_graphDemo", ["Ch2"], "V", "PG3_graphLabels", 20, 11, false, false, 11, "#008000"); var PG4_demograph = createGraph ("PG4_graphDemo", ["Ch2"], "mA", "PG4_graphLabels", 20, 11, false, false, 11, "#008000"); // var PG5_demograph = createGraph ("PG5_graphDemo", ["Ch3"], "V", "PG5_graphLabels", 20, 11, false, false, 11, "#0000ff"); var PG6_demograph = createGraph ("PG6_graphDemo", ["Ch3"], "mA", "PG6_graphLabels", 20, 11, false, false, 11, "#0000ff"); / * Ар бир секунд сайын баалуулуктарды жаңыртуу */ setInterval (updateEverySecond, 1000); updateEverySecond () { / * Жаңы баалуулуктарды алуу * / SndUpdate ();

/ * Жаңыртуу графиги */PG1_demograph.update ([PG1_yrand0], parseInt (byID ("PG1_scale"). Мааниси)+ parseInt (byID ("PG1_scale"). Мааниси)/10, "#e52b50"); PG2_demograph.update ([PG2_yrand0], parseInt (byID ("PG2_scale"). Маани)+ parseInt (byID ("PG2_scale"). Мааниси)/10, "#e52b50"); PG3_demograph.update ([PG3_yrand0], parseInt (byID ("PG3_scale"). Мааниси)+ parseInt (byID ("PG3_scale"). Мааниси)/10, "#008000"); PG4_demograph.update ([PG4_yrand0], parseInt (byID ("PG4_scale"). Мааниси)+ parseInt (byID ("PG4_scale"). Мааниси)/10, "#008000"); // PG5_demograph.update ([PG5_yrand0], parseInt (byID ("PG5_scale"). Маани)+ // parseInt (byID ("PG5_scale"). Мааниси)/10, "#0000ff"); PG6_demograph.update ([PG6_yrand0], parseInt (byID ("PG6_scale"). Мааниси)+ parseInt (byID ("PG6_scale"). Мааниси)/10, "#0000ff"); var Watts = Math.round (PG1_yrand0 * PG2_yrand0 * 100)/100; byID ("PG1_wattLabel"). innerHTML = `WATT: $ {Ватт} мВт`; var Watts = Math.round (PG3_yrand0 * PG4_yrand0 * 100)/100; byID ("PG3_wattLabel"). innerHTML = `WATT: $ {Ватт} мВт`; // var Watts = Math.round (PG5_yrand0 * PG6_yrand0 * 100)/100; // byID ("PG5_wattLabel"). innerHTML = `WATT: $ {Ватт} мВт`; byID ("PG1_scale"). маани = Math.floor (parseInt (byID ("PG1_scale"). мааниси)/2+PG1_yrand0); byID ("PG2_scale"). маани = Math.floor (parseInt (byID ("PG2_scale"). мааниси)/2+PG2_yrand0); byID ("PG3_scale"). маани = Math.floor (parseInt (byID ("PG3_scale"). мааниси)/2+PG3_yrand0); byID ("PG4_scale"). маани = Math.floor (parseInt (byID ("PG4_scale"). мааниси)/2+PG4_yrand0); // byID ("PG5_scale"). маани = Math.floor (parseInt (byID ("PG5_scale"). мааниси)/2+PG5_yrand0); byID ("PG6_scale"). маани = Math.floor (parseInt (byID ("PG6_scale"). мааниси)/2+PG6_yrand0);

Кодду изилдеп жатып, мен 6 максатында 5 графикти колдонуп жатканымды байкайсыз. Туура саптарга комментарий бербөө 6-графаны иштетет.

Html менен тажрыйбасы жоктор үчүн бул кадам өтө кыйын болуп калышы мүмкүн. Бирок бул HTML дүйнөсүнө жакшы киришүү катары кызмат кыла алат. Билем, анткени бул мен жараткан биринчи барак болчу. Андыктан коркпоңуз. Биздин колубузда тажрыйбалуу адамдар үчүн кечиримдүү болуңуз.

Веб -баракчаңыздагы иштин жыйынтыгын html ачуу менен карасаңыз болот, ал браузериңизге жүктөлөт жана анын көрүнүшүн көрсөтөт. Сиз браузериңиздеги F12 баскычын басуу менен мүмкүн болгон каталарды текшере аласыз, мүчүлүштүктөрдү оңдоо терезеси көрүнөт. Мүчүлүштүктөрдү оңдоонун толук түшүндүрмөсү бул көрсөтмө бере албайт, бирок веб -баракча / javascript мүчүлүштүктөрдү оңдоонун биринчи кадамы катары пайдалуу болушу мүмкүн.

Кийинки кадам - түзүлгөн веб -баракчаларды ESP32ге жүктөө.

8 -кадам: ESP32ге веб баракты жүктөө

Веб баракты ESP32ге жүктөө
Веб баракты ESP32ге жүктөө

Канааттандырарлык натыйжага жеткенден кийин, веб -баракчаны ESP32ге жүктөө убактысы келди.

Сиз муну 'Index.htm' (веб -баракчаңыз) жана 'PicoGraph.js' файлдарын Arduino долбооруңуздун астындагы 'маалымат' папкасына сактоо менен жасайсыз.

Кийинки кадам - ESP32 тактасын компьютерге туташтыруу. Туура тактаны жана COM портун тандап алгандан кийин, Arduino IDEдеги Tools менюсунан ESP32 Sketch Маалымат Жүктөөнү тандаңыз.

Сиз IDE жүктөө процессин баштай турганын көрөсүз, бул ийгиликтүү жүктөөгө алып келет.

Бул кадамдын жанында ESP32 микроконтроллерин веб -сервер катары конфигурациялоо турат.

9 -кадам: ESP32ти Webserver катары конфигурациялоо

Сиз ESP32ти веб -сервер катары конфигурациялай турган Arduino Ino эскизин таба аласыз.

Сиз роутердин сырсөзү менен SSIDди жана ага тиешелүү Сырсөздү алмаштырышыңыз керек.

Жогоруда айтылгандай, бул эскизде веб -баракчаны ПКБнын энергия менен камсыздоочу тарабы үчүн контролер катары конфигурациялоо коду камтылган (чындыгында, 5 IO казыгын PWM казыктары катары конфигурациялоо жана аларды веб -баракчадан билдирүү агымы аркылуу көзөмөлдөө).

Эскиз Христо Гочков тарабынан иштелип чыккан вебсервердин стандарттык эскизине негизделген.

Код боюнча кээ бир түшүндүрмөлөр.

Төмөнкү функциялар веб -серверди орнотууга байланыштуу.

String formatBytes (size_t байт) String getContentType (String файл аталышы) bool бар (String path) bool handleFileRead (String path) void handleFileUpload () void handleFileDelete () void handleFileCreate () void handleFileList ()

Ошондой эле setup () функциясындагы биринчи код PWM жана Webserver орнотуулары менен байланыштуу.

Төмөнкү код веб -баракчадан билдирүү агымын тейлеген Үзгүлтүк функциясын орнотот:

(веб -баракчанын идентификаторлорун таануу керек)

server.on ("/SndUpdate", HTTP_GET, () {

String Msg = "{"; Msg+ = "\" PG1_yrand0 / ":"+ (String) Вина [1]; Msg+ = ", \" PG2_yrand0 / ":"+ (String) Iina [1]; Msg+ = ", \" PG3_yrand0 / ":"+ (String) Vina [0]; Msg+ = ", \" PG4_yrand0 / ":"+ (String) Iina [0]; Msg+ = ", \" PG5_yrand0 / ":"+ (String) Вина [2]; Msg+ = ", \" PG6_yrand0 / ":"+ (String) Iina [2]; Msg+= "}";

server.send (200, "text/json", Msg);

Бул серверди баштайт:

server.begin ();

Кийинки код блогу INA260 такталарын баштайт:

// INA260 инициализациясы if (! Ina260_0x40.begin (0x40)) {Serial.println (F ("INA260 0x40 чипи табылган жок")); // while (1); } Serial.println (F ("INA260 чипи 0x40 табылды")); if (! ina260_0x41.begin (0x41)) {Serial.println (F ("0x41 INA260 чипи табылган жок")); // while (1); } Serial.println (F ("INA260 0x41 чипи табылды")); if (! ina260_0x44.begin (0x44)) {Serial.println (F ("INA260 0x44 чипи табылган жок"))); // while (1); } Serial.println (F ("INA260 чипи 0x44 табылды"));

ina260_0x40.setAveragingCount (INA260_COUNT_256);

ina260_0x40.setVoltageConversionTime (INA260_TIME_1_1_ms); ina260_0x40.setCurrentConversionTime (INA260_TIME_1_1_ms); ina260_0x40.setMode (INA260_MODE_CONTINUOUS); ina260_0x41.setAveragingCount (INA260_COUNT_256); ina260_0x41.setVoltageConversionTime (INA260_TIME_1_1_ms); ina260_0x41.setCurrentConversionTime (INA260_TIME_1_1_ms); ina260_0x41.setMode (INA260_MODE_CONTINUOUS); ina260_0x44.setAveragingCount (INA260_COUNT_256); ina260_0x44.setVoltageConversionTime (INA260_TIME_1_1_ms); ina260_0x44.setCurrentConversionTime (INA260_TIME_1_1_ms); ina260_0x44.setMode (INA260_MODE_CONTINUOUS);

Loop кодунда, төмөнкү билдирүү үзгүлтүккө учуроо кодун иштетүүнү камсыз кылат:

server.handleClient ();

Цикл билдирүүсүндөгү төмөнкү код Электр энергиясы менен камсыздоо функциясына байланыштуу.

Циклдагы () төмөнкү код дагы кызыктуу:

Vina [0] = ina260_0x40.readBusVoltage ()/1000.0f; Iina [0] = ina260_0x40.readCurrent (); Vina [1] = ina260_0x41.readBusVoltage ()/1000.0f; Iina [1] = ina260_0x41.readCurrent (); Vina [2] = ina260_0x44.readBusVoltage ()/1000.0f; Iina [2] = ina260_0x44.readCurrent ();

Бул билдирүүлөр чогултат жана Server.on үзгүлтүккө чалуулар аркылуу веб -баракчага өтүү үчүн өлчөөлөрдү даярдайт (веб -баракчанын html java скриптинде орнотулган ар бир 1000 мс).

10 -кадам: Сиз бүттүңүз

Сиз Бүттүңүз!
Сиз Бүттүңүз!

Эскизди ESP32 тактасына жүктөө, орнотууну аягына чыгаруу керек жана сиздин Power мониторуңуз акыркы болушу керек!

Сиз ESP32ди иштетүү USB порту аркылуу ишке ашканын байкагандырсыз, бул сиздин чыңалууңузга / ток өлчөгүчтөрүңүзгө WiFi негизделген байланыштын артыкчылыктарынын чоң бөлүгүн жогорулатат. Демек, мен ESP32 үчүн жөнөкөй LM317 негизделген чыңалуу менен камсыздалган электр менен камсыз кылдым. Мен муну бул көрсөтмө берүүнүн чегинен чыгардым, бирок кызыкчылык болсо, кийинки инструктивдүү болуп калышы мүмкүн.

Кийинки кадамда мен илхам катары кызмат кыла турган электр менен камсыздоонун электрондук схемасын бердим.

11 -кадам: ESP32 иштетүү

ESP32 иштетүү
ESP32 иштетүү

Бул жерде сиздин ESP32 үчүн жеке күч булагын түзүү үчүн илхам бар, эгерде сизде жок болсо.

Күч схемасы 19В ноутбуктун электр менен камсыздоосунун иштейт. Бул LM317лердин кубаттуулугун көзөмөлдөп туруу үчүн эки этаптуу чыңалуу кадамын сурайт. (Ал тургай, ысыкка чөгүп кетет!). Ошондой эле, VCC_ESP линиясынын алдына 100uF конденсаторун кошууну унутпаңыз, анткени ал микроконтроллерлерде WiFi туташуусун баштаганда чоң өзгөрүүлөр болот.

Эскертүү, ESP32ди бир эле учурда бирден ашык кубат булагы менен иштетпеңиз!

Дагы кадимки жоопкерчиликтен баш тартуу, бирок баарынан да

Көңүл ачуу!

Бардык файлдарды менин GitHub-дан тапса болот:

Сунушталууда: