Paaiškintas ESP32 kontaktų išdėstymas: saugūs kaiščiai, laidų taisyklės ir pavyzdys

Nov 25 2025
Šaltinis: DiGi-Electronics
Naršyti: 2452

ESP32 kontaktas yra viena didžiausių jo stiprybių ir vienas iš dažniausiai pasitaikančių painiavos šaltinių. Esant dideliam multipleksavimui, griežtoms įkrovos režimo priklausomybėms ir jautriam analoginiam elgesiui, teisingas kaiščių pasirinkimas yra svarbus stabiliam veikimui. Šiame straipsnyje aiškiai suskirstytos visos pagrindinės kaiščių grupės, kad galėtumėte išvengti konfliktų, išvengti įkrovos gedimų ir sukurti patikimą ESP32 pagrįstą aparatinę įrangą.

Figure 1. ESP32 Pinout

ESP32 kontaktų išdėstymo supratimas

ESP32 yra galingas ir lankstus mikrovaldiklis, plačiai naudojamas daiktų internete, automatikoje ir išmaniuosiuose įrenginiuose. Jo pažangios galimybės kyla iš labai multipleksuotos kontaktų sistemos, kurioje daugelis funkcijų turi tuos pačius fizinius kaiščius. Tai apima skaitmeninius įvesties / išvesties, ADC kanalus, talpinius jutiklinius jutiklius, ryšio magistrales, RTC domeno kaiščius ir vidines jungtis SPI flash ir įkrovos konfigūracijai. Kadangi daugelis funkcijų turi bendrus kaiščius, netinkamas laidų sujungimas gali sukelti nepavykusį įkrovimą, triukšmingus ADC rodmenis arba išjungti periferinius įrenginius.

ESP32 DevKit kaiščių išdėstymas

Figure 2. ESP32 DevKit Pin Layout

ESP32 kūrimo plokštės paprastai būna 30 ir 38 kontaktų versijos, abi atskleidžia tas pačias pagrindines funkcijas, tačiau su nedideliais galimų GPIO skirtumais.

Smeigtukų grupės ESP32 kūrėjų plokštėse

GrupėAprašymas
Maitinimo kaiščiaiVIN (5 V), 3,3 V išvestis, GND
Valdymo kaiščiaiEN (atstatymas), IO0 (įkrovos režimas)
GPIO kaiščiaiSkaitmeninis įėjimas / išvestis su multipleksavimu
Analoginiai kaiščiaiADC1 ir ADC2 kanalai
Ryšio smeigtukaiSPI, I2C, UART, I2S
Tik įvesties kaiščiaiGPIO34–GPIO39
"Flash" rezervuoti kaiščiaiGPIO6–GPIO11

Bendras antraštės išdėstymas

Kairė antraštė

• EN, GPIO36–39, GPIO34–35

• GPIO32–33, 25–27

• VIN, GND, 3.3V

Dešinioji antraštė

• GPIO0–23

• Batų surišimo kaiščiai (0, 2, 5, 12, 15)

Suprasdami fizinį išdėstymą, lengviau išvengti klaidų ir efektyviai planuoti laidus.

ESP32 GPIO apžvalga

Figure 3. ESP32 GPIO

ESP32 GPIO yra lankstūs dėl vidinės įvesties / išvesties matricos, kuri leidžia periferinius įrenginius, tokius kaip UART, SPI, I2C ir PWM, susieti beveik bet kur. GPIO palaiko skaitmeninę įvestį / išvestį su įmontuotais traukiamaisiais / žemyn rezistoriais, krašto suaktyvintais pertraukimais ir patikimu perjungimu dideliu greičiu. Įprasta nuolatinė pavaros srovė yra 12–16 mA (pikai iki ~20–40 mA), todėl varikliams ar relėms reikalingos išorinės tvarkyklės.

Tik įvesties kaiščiai

Šie kaiščiai negali valdyti išvesties ir idealiai tinka jutikliams ir analoginiams įėjimams:

SmeigtukasTipasRekomenduojamas naudojimas
GPIO34Tik įvestisADC1 / jutikliai
GPIO35Tik įvestisADC1
GPIO36 (VP)Tik įvestisADC1 / Hall jutiklis
GPIO39 (VN)Tik įvestisADC1

Saugūs ESP32 kaiščiai, kuriuos reikia naudoti, ir kaiščiai, kurių reikia vengti

Figure 4. Safe ESP32 Pins to Use and Pins to Avoid

Ne visi ESP32 kaiščiai elgiasi vienodai. Kai kurie yra saugūs, o kiti turi įtakos įkrovos režimui arba yra susieti su vidine "flash" atmintimi.

Saugūs smeigtukai (rekomenduojami visiems vartotojams)

GPIOPastabos
4, 13–19, 21–27, 32, 33Nėra įkrovos smūgio, idealiai tinka daugumai periferinių įrenginių

Atsargumo kaiščiai (įtakos įkrovos režimui)

GPIOĮkrovos funkcijaVenkite įkrovos metu
GPIO0"Flash" / įkrovos režimasIšlaikyti HIGH (įvestis) įprasto įkrovimo metu
GPIO2Bagažinės įtampaTuri būti AUKŠTAS
GPIO5Pasirenkamas įkrovos režimasVenkite traukti žemai
GPIO12Blykstės įtampos režimasTuri likti žemas
GPIO15SPI režimasTuri likti žemas

Šiuos kaiščius saugu naudoti įprastai veikiant, tačiau išoriniai komponentai neturi jų traukti į netinkamus loginius lygius iš naujo. Jų išsamūs batų vaidmenys paaiškinti 9 skyriuje.

Apriboti smeigtukai (nenaudokite)

GPIOPriežastis
GPIO6–11Prijungta prie SPI "flash" atminties

Naudojant juos ESP32 gali užšalti arba sugesti.

ESP32 ADC kaiščiai

Figure 5. ESP32 ADC Pins

ESP32 integruoja du SAR ADC įrenginius, pasižyminčius skirtingu veikimo elgesiu:

• ADC1 – visada pasiekiamas ir rekomenduojamas visiems jutiklių įėjimams

• ADC2 – bendrinamas su "Wi-Fi" posistemiu ir tampa nepasiekiamas, kai "Wi-Fi" yra aktyvus

Tai yra vienas iš pagrindinių ESP32 apribojimų, todėl ADC1 yra patikimas pasirinkimas matavimams belaidėse programose.

ADC įrenginysKanalaiGPIOPastabos
ADC1CH0–CH7GPIO32–39Geriausias pasirinkimas jutikliams
ADC2CH0–CH90, 2, 4, 12–15, 25–27Nenaudojamas naudojant "Wi-Fi"

Ttage diapazonas ir tikslumas

ADC palaiko numatytąjį 0–1.1 V įvesties diapazoną, kurį galima išplėsti iki maždaug 3.3 V su slopinimu. Abu ADC įrenginiai yra netiesiniai ir jiems naudingas kalibravimas. Analoginiam veikimui įtakos gali turėti vidinis RF aktyvumas, todėl jutiklių linijų nukreipimas nuo antenos ir paprastų RC filtrų pridėjimas gali labai pagerinti stabilumą. Projektuose, kuriuose veikia "Wi-Fi", visada uždėkite analoginius jutiklius ant ADC1, kad užtikrintumėte nepertraukiamą ir be triukšmo veikimą.

ESP32 DAC, PWM ir jutikliniai kaiščiai

ESP32 turi integruotus analoginio stiliaus išėjimus ir jutiklinius jutiklius, kurie supaprastina bangos formos generavimą, pritemdymą, variklio valdymą ir vartotojo sąsajas.

DAC apžvalga

Figure 6. ESP32 DAC

Du 8 bitų DAC kanalai išveda tikrąją analoginę įtampą:

DACGPIO
DAB1GPIO25
DAB2GPIO26

Įprastas naudojimas yra paprastas garsas, analoginės bangos formos, LED išblukimas ir poslinkio įtampa. Išėjimo diapazonas paprastai yra 0–3,3 V.

PWM (LEDC)

Figure 7. ESP32 PWM

LEDC modulis užtikrina didelės raiškos, lanksčią PWM:

• 16 kanalų

• Iki 40 MHz laikmačio bazė

• Iki 20 bitų raiška

• Visiškai keičiami GPIO

Naudojamas LED pritemdymui, variklio valdymui, servo signalams, garso tonams ir bendrai moduliacijai. Bet kuris GPIO gali talpinti PWM išvestį per GPIO matricą.

Jutiklinio jutiklio kaiščiai

Figure 8. ESP32 Touch Sensor Pins

ESP32 10 talpinių jutiklinių kilimėlių aptinka pirštų artumą ir yra naudingi jutikliniams mygtukams, slankikliams ir pažadinimo paleidikliams.

Jutiklinis kilimėlisGPIO
T0–T9GPIO4, 0, 2, 15, 13, 12, 14, 27, 33, 32

Šie jutikliai apima triukšmo filtravimą ir puikiai tinka mažos galios pažadinimo įvykiams.

ESP32 ryšio kaiščiai

ESP32 turi gausų ryšio periferinių įrenginių rinkinį, kurių kiekvienas gali būti nukreiptas į kelis kontaktus per lanksčią GPIO matricą. Tai leidžia beveik bet kur priskirti tokias sąsajas kaip I2C, SPI ir UART, todėl galima lengvai pritaikyti plokščių išdėstymus ir periferinius derinius.

I2C (numatytieji ir pasirinktiniai kaiščiai)

Figure 9. ESP32 I2C Pins

ESP32 turi du I2C valdiklius, su visišku lankstumu renkantis kaiščius. Nors dauguma kūrimo plokščių naudoja numatytuosius kaiščius, tiek SDA, tiek SCL gali būti priskirti beveik bet kuriam GPIO.

SignalasNumatytasis GPIOPastabos
SDAGPIO21Visiškai perkraunamas
SCLGPIO22Visiškai perkraunamas

Bet kokie du skaitmeniniai GPIO gali veikti kaip SDA ir SCL. Palaiko tiek standartinį režimą (100 kHz), tiek greitąjį (400 kHz) ir greitąjį režimą plius (1 MHz, priklausomai nuo plokštės). Palaiko kai kurių plokščių vidinius prisitraukimus, tačiau stabiliam ryšiui rekomenduojami išoriniai 4,7 kΩ rezistoriai. Dėl šio lankstumo ESP32 idealiai tinka sistemoms, kurioms reikalingi keli jutikliai arba netradicinis kaiščių nukreipimas.

ESP32 apima kelias SPI magistrales, su HSPI ir VSPI vartotojų įrenginiams. Abu palaiko pertvarkymą per GPIO matricą, tačiau dauguma plokščių ir bibliotekų naudoja šią numatytąją VSPI konfigūraciją, kuri leidžia išvengti konfliktų su vidiniais "flash" ryšiais:

Numatytasis VSPI susiejimas

• SCK → GPIO18

• MISO → GPIO19

• MOSI → GPIO23

• CS → GPIO5

VSPI paprastai teikiama pirmenybė ekranams, SD kortelėms ir didelės spartos periferiniams įrenginiams. Nors smeigtukai yra keičiami, naudojant numatytuosius nustatymus užtikrinamas maksimalus suderinamumas ir sumažinamos laiko problemos, nekartojant ankstesniuose skyriuose jau aptartų apribojimų.

UART (serijinis)

Figure 10. ESP32 UART Pins

ESP32 apima tris UART valdiklius su lanksčiu maršrutizavimu, leidžiančiu bet kokius UART kaiščius perkelti į beveik bet kokį GPIO.

UARTTX kaištisRX kaištisPagrindinis tikslas
UART0GPIO1GPIO3Mirksi, įkrovos pranešimai, serijinis registravimas
UART1GPIO10GPIO9Galima naudoti naudotojams
UART2GPIO17GPIO16Galima naudoti naudotojams

ESP32 gilaus miego ir RTC kaiščiai

ESP32 apima itin mažos galios (ULP) posistemį ir specialų realaus laiko laikrodžio (RTC) domeną, kurie išlieka maitinami net išjungus pagrindinį procesorių ir periferinius įrenginius. Ši architektūra leidžia sunaudoti itin mažai energijos, dažnai mikroamperų diapazone, todėl ESP32 tinka ilgalaikiam naudojimui su baterijomis.

Gilus miegas leidžia lustui išjungti pagrindinius branduolius, daugumą vidinių laikrodžių ir "Wi-Fi" / "Bluetooth" radijo imtuvus, tuo pačiu stebint pasirinktus kaiščius ir jutiklius per RTC periferinius įrenginius.

Figure 11. ESP32 RTC Pins

ESP32 gali pabusti iš gilaus miego per kelis nepriklausomus trigerius. Kiekvienas pažadinimo šaltinis veikia RTC domene, kuris sukurtas taip, kad išliktų aktyvus su minimaliomis energijos sąnaudomis.

Pažadinimo tipasGPIO / Pastabos
Išorinis RTC GPIOGPIO32, GPIO33, GPIO25, GPIO26, GPIO27 – palaiko krašto arba lygio pažadinimą
Talpiniai jutikliniai kilimėliaiT0–T9 – aptinka pirštų artumą arba prisilietimą gilaus miego metu
Laikmatis pažadinimasRTC laikmatis gali pažadinti įrenginį po užprogramuoto intervalo
ULP koprocesorius(Pasirinktinai) Pasirinktinis mažos galios kodas gali būti paleistas, kad patikrintų jutiklius prieš pažadinant pagrindinį procesorių

Šie kaiščiai priklauso RTC domenui ir išlieka aktyvūs net tada, kai CPU ir įprasti GPIO yra išjungti. Jie palaiko pabudimą kylant / krentant kraštams arba paprastam lygio aptikimui. Dažniausiai naudojamas pažadinimui, magnetiniams jungikliams ir mažos galios paleidikliams.

ESP32 įkrovos, dirželio ir EN kaiščio funkcijos

Figure 12.ESP32 Strapping Pins

ESP32 naudoja kelis surišimo kaiščius, kurie nustato pagrindines sistemos konfigūracijas atstatymo arba įjungimo metu. Šie kaiščiai imami tik įkrovos metu ir grįžta į įprastą GPIO funkciją. Norint nuosekliai paleisti, naudinga užtikrinti, kad jie nebūtų perkelti į netinkamus lygius nustatymo metu.

Surišimo kaiščių lentelė

SmeigtukasĮkrovos vaidmuoReikalinga būsena įkrovos metu
GPIO0Parenka įkrovos įkroviklį / "flash" režimąLOW = įjungti blykstės režimą; HIGH = normalus paleidimas
GPIO2Apibrėžia vidinį įkrovos įtampos lygįTuri išlikti aukštas
GPIO5SPI įkrovos konfigūracijaTuri išlikti aukštas
GPIO12Parenka blykstės įtampą (3,3 V / 1,8 V)3,3 V blykstė turi išlikti LOW
GPIO15Nustato SPI ryšio režimą įkrovos metuTuri išlikti žemas

Šiame skyriuje pateikiama autoritetinga nuoroda į diržų elgesį. Ankstesniuose skyriuose apibendrinamas tik praktinis poveikis; naudokite šią lentelę priskirdami kaiščius pasirinktinėms PCB arba integruodami mygtukus ir jutiklius.

EN kaištis (įjungti / nustatyti iš naujo)

EN (Enable) kaištis veikia kaip pagrindinis ESP32 atstatymo įvestis.

LT kaiščio elgsena:

• Traukiant EN LOW, lustas iš karto nustatomas iš naujo.

• Atleidus jį atgal į HIGH, įjungiamos vidinės grandinės ir iš naujo paleidžiama įkrovos seka.

• Kūrimo plokštėse (pvz., ESP32-DevKitC, NodeMCU-ESP32) EN yra susietas su USB nuosekliąja sąsaja, kad mirksėjimo metu būtų galima automatiškai nustatyti iš naujo.

ESP32 maitinimo kaiščiai

Figure 13. ESP32 Power Pins

ESP32 yra jautrus energijos kokybei, nes jo "Wi-Fi" ir "Bluetooth" radijo imtuvai ima trumpus, didelės amplitudės srovės impulsus. Stabilus energijos tiekimas užtikrina patikimą paleidimą, sumažintą "brownout" atstatymą ir pastovų belaidžio ryšio veikimą.

Maitinimo smeigtuko suvestinė

SmeigtukasĮtampaNaudojimas
VIN5 V įvestisMaitina borto reguliatorių (paprastai AMS1117 arba ME6211), kad generuotų 3,3 V
3V33,3 V išėjimasReguliuojama išvestis iš borto LDO; Naudojamas išorinei silpnos srovės logikai ir jutikliams maitinti
GNDVisų posistemių elektrinis atskaitos ir grįžtamasis kelias

Rekomenduojami ESP32 kaiščiai ir laidai Pavyzdžiai

Norint stabiliai veikti, švariai nukreipti signalą ir išvengti konfliktų su įkrovos diržais ar vidinėmis blykstės jungtimis, reikia pasirinkti tinkamus ESP32 kaiščius. Šios rekomendacijos pabrėžia patikimiausius, be konfliktų kaiščius įprastoms funkcijoms.

Smeigtuko pasirinkimas

FunkcijaGeriausi smeigtukaiPastabos
I2C21 (SDA), 22 (SCL)Numatytoji aparatūros patikrinta pora; veikia daugumoje lentų.
SPI18 (SCK), 19 (MISO), 23 (MOSI), 5 (CS)Šie kaiščiai švariai susiejami su VSPI ir išvengiama prie blykstės prijungtų kaiščių.
UART16 (RX), 17 (TX)Specialūs UART2 kaiščiai, saugūs įkrovimui ir derinimui.
PWM (LEDC)4, 16–19, 21–27, 32–33Didelio lankstumo diapazonas; PWM gali būti nukreiptas į beveik bet kokį GPIO.
ADC32–39 (ADC1)ADC1 kanalai išlieka naudojami net tada, kai "Wi-Fi" yra aktyvus.

Išvada

ESP32 kontaktų išdėstymo įvaldymas pašalina spėliones ir apsaugo nuo daugelio problemų, atsirandančių tikrose versijose, nuo triukšmingų ADC rodmenų iki nesibaigiančių įkrovos kilpų. Suprasdami saugius kaiščius, diržų elgseną, maitinimo vientisumą ir gilaus miego maršruto parinkimą, galite sukurti stabilias, nuspėjamas ir belaidžiu ryšiu paruoštas grandines. Naudokite aukščiau pateiktus smeigtukų žemėlapius ir gaires kaip pagrindą be rūpesčių ESP32 projektams.

Dažnai užduodami klausimai [DUK]

Kaip sukonfigūruoti "PlatformIO" "Freenove ESP32-S3 Breakout Board"?

Naudokite standartinius ESP32-S3 dev modulio nustatymus. Savo platformio.ini pridėkite:

[env:ESP32S3]

platforma = espressif32

lenta = esp32-s3-devkitc-1

karkasas = arduino

Tai atitinka "Freenove" kontaktą, leidžiantį normaliai kompiliuoti ir įkelti per USB.

Kiek periferinių įrenginių gali veikti ESP32 vienu metu?

Dėl GPIO matricos ESP32 vienu metu gali paleisti kelias I²C, SPI, UART, PWM ir ADC funkcijas, jei išvengsite apribotų kaiščių ir neviršysite procesoriaus bei laiko apribojimų. Pagrindinės kliūtys yra ADC2 "Wi-Fi" ir maitinimo kokybė, o ne kaiščių skaičius.

Kodėl mano ESP32 paleidžiamas iš naujo jungiant jutiklius ar modulius?

Netikėti atstatymai dažniausiai atsiranda dėl įtampos kritimo, kurį sukelia "Wi-Fi" pliūpsniai, varikliai ar blogai reguliuojamas tiekimas. Naudojant 1 A ar didesnį 5 V šaltinį, pridedant 10–100 μF tūrinius kondensatorius ir izoliuojant triukšmingas apkrovas, išvengiama nutrūkimo.

Ar galiu naudoti ESP32 3.3 V kaištį išoriniams moduliams maitinti?

Taip, bet tik silpnos srovės įrenginiams (paprastai iki 300–500 mA, priklausomai nuo borto LDO). Didelės traukos periferiniai įrenginiai, tokie kaip varikliai, servos ir didelės LED juostos, turi naudoti atskirą maitinimo šaltinį, kad būtų išvengta atstatymo ir perkaitimo.

Kaip išsirinkti geriausius ESP32 kaiščius, kai naudoju kelis periferinius įrenginius?

Pirmenybę teikite nesurištiems kaiščiams, venkite GPIO6–11, įdėkite analoginius jutiklius į ADC1 ir, jei įmanoma, naudokite numatytuosius VSPI/I²C/UART kaiščius. Tai sumažina konfliktus ir užtikrina, kad visi išoriniai įrenginiai galėtų veikti kartu be pertvarkymo problemų.