sheen.bot-logo

← Insigte

Waarom jou ESP32-analoogsensor wispelturig raak sodra Wi-Fi koppel

15 Okt. 2026·Sheen Robotics
Waarom jou ESP32-analoogsensor wispelturig raak sodra Wi-Fi koppel

As jou analoogsensor nonsens lewer sodra Wi-Fi aanskakel, het jy dit aan 'n ADC2-pen bedraad. Die ESP32 se Wi-Fi-radio monopoliseer ADC2; om jou sensor na ADC1 te skuif, los die probleem dadelik op.

Jou analoogsensor lewer skoon, geloofwaardige syfers terwyl jy oor USB-serieel toets. Die oomblik wanneer jou kode WiFi.begin() uitvoer en 'n verbinding bewerkstellig, spring die lesings wisselvallig rond, bly dit op 4095 vassteek, of val dit reguit na nul. Die sensor is nie beskadig nie, jou optrekweerstand (pull-up resistor) ontbreek nie, en jou bordjie is nie foutief nie. Jy het jou sensor by 'n ADC2-pen ingeprop.

Die silikon-knelpunt: ADC1 teenoor ADC2

Die standaard ESP32-silikon bevat twee afsonderlike 12-bis analoog-na-digitaal-omskakelaarrandapparate: ADC1 en ADC2. Tussen die twee bedien hulle tot 18 analoog-insetpenne op kaal mikroskyfies, hoewel ontwikkelingsborde slegs 'n subversameling hiervan beskikbaar stel.

ADC1 funksioneer onafhanklik. ADC2 deel egter interne hardewarehulpbronne met die ESP32 se Wi-Fi- en Bluetooth-radiosubstelsel. Wanneer die Wi-Fi-drywer aktiveer—of dit nou soek na 'n SSID, DHCP-handskudtransaksies hanteer, of 'n MQTT-telemetriepakket versend—eis die netwerkstapel eksklusiewe toegang tot ADC2 op vir radiofrekwensiekalibrasie en interne kragmetings.

As jou kode analogRead() op 'n ADC2-pen oproep terwyl die Wi-Fi-drywer loop, onderbreek of versper die drywer die lesing. In Arduino Core- en MicroPython-omgewings manifesteer dit op een van twee maniere: die leesfunksie misluk en lewer 'n nul-/gemorswaarde, of die radio se RF-uitbarsting spuit hewige elektriese geraas direk in die randtoestel in, wat veroorsaak dat die omsetting tussen versadiging (4095) en grond (0) swaai.

Die pen-hertoewysing: Veilige teenoor onveilige penne

Die oplossing vereis geen koderingsompaaie nie: skuif jou sensor se seindraad weg van ADC2 na 'n ADC1-pen toe. ADC1-kanale is elektries onafhanklik van die Wi-Fi-basisband en gaan voort om betroubaar om te skakel, ongeag netwerkaktiwiteit.

ADC-eenheidGPIO-nommersWi-Fi-veilig?Klaskamernotas
ADC1GPIO 32, 33, 34, 35, 36 (VP), 39 (VN)JaVeilig vir enige analoogsensor terwyl Wi-Fi versend. Let daarop dat GPIO 34, 35, 36 en 39 slegs-insetpenne is (geen interne optrek-/aftrekweerstande nie).
ADC2GPIO 0, 2, 4, 12, 13, 14, 15, 25, 26, 27NeeOnbruikbaar vir analoogsteekproewe sodra WiFi.begin() opgeroep word. Baie dien ook as selflaaipenne (bootstrapping pins).

GPIO 36 en 39 word dikwels as VP en VN gemerk op algemene 30-pen- en 38-pen-ESP32 NodeMCU/DevKit-borde. Hulle, tesame met GPIO 32, 33, 34 en 35, is jou primêre analooglogpenne.

'n Werkende pen-uitlegvoorbeeld

Beskou 'n standaard skool-IoT-projek: 'n outomatiese plantmonitor wat grondvog aanteken of 'n omgewingsligsensor. 'n Leerder bedraad 'n analoog-grondvogpeiler aan GPIO 4 (ADC2-kanaal 0) omdat dit gerieflik langs die aardpen sit. Tydens aflyn-toetsing druk die seriemonitor egalige waardes tussen 1500 en 2800 uit. Sodra die bord aan die skool se toegangspunt koppel om data na 'n dashboard te stoot, skiet die lesings vas teen 4095.

Om die probleem op te los:

  • Skuif die sein-oorbruggingsdraad vanaf GPIO 4 na GPIO 34 (of 32, 33, 35).
  • Dateer die pendefinisie in die kode op: const int sensorPin = 34;.
  • Hou GPIO 4 vry vir digitale uitsette, soos die sneller van 'n relêmodule of 'n transistor wat 'n 5V-dompelpomp beheer.

As jy multi-sensorstasies vir omgewingsmonitering ontwerp, kan jy gestruktureerde kurrikulumhardeware en penkaarte op Sheen IoT verken.

Sekondêre faktor: Spanningsval op die kragspoor

As jy jou sensor na ADC1 verskuif het (bv. GPIO 32) en jy sien steeds klein wisselvallige pieke tydens versending, het jy te make met 'n kragintegriteitsprobleem eerder as 'n ADC-versperring. Wanneer die ESP32 sy radiosender aanskakel, styg die stroomverbruik skielik van ~50mA tot meer as 300–400mA vir 'n paar millisekondes.

As die bord aangedryf word deur 'n USB-poort vol steuring op 'n ou klaskamer-skootrekenaartrollie, of deur dun stroombaanbord-oorbruggingsdrade, sak die 3.3V-kragspoor oombliklik in. Omdat analoogomsettings spanning relatief tot die toevoerspoor (die verwysingspanning) meet, laat 'n daling op die spoor dit lyk asof eksterne analoogspannings opwaarts spring. Deur 'n 100µF-elektrolitiese kapasitor oor die 3V3- en GND-spore op jou stroombaanbord (breadboard) te plaas, word hierdie kortstondige radiospieke heeltemal uitgestryk.

#esp32#iot#elektronika#probleemoplossing#sensors

Meer Insigte