RisalDash RisalDash

Qo'llanma · Apparat · Sathlar

3.3V ↔ 5V: ESP32 ni qanday kuydirmaslik kerak

Arduino dunyosidagi sensor va modullarning yarmi 5 V da ishlaydi. ESP32, ESP8266 va ko'pchilik zamonaviy chiplar 3.3 V da ishlaydi. 5 voltli chiqishni to'g'ridan-to'g'ri 3.3 voltli pinga bersangiz — uni o'sha zahoti shikastlashingiz mumkin. Ular nega chiqishmasligini, o'zgartirgichni qachon qo'ymasa ham bo'lishini va ularni bog'lashning uchta toza usulini ko'rib chiqamiz.

Sath moslash3.3V / 5VBSS138ESP32ArduinoApparat

Bu shina asoslaridan olingan «sath qanday o'qiladi?» degan savolning amaliyotga aylantirilgan ko'rinishi — va bu boshlovchilar ESP32 pinini o'ldiradigan eng keng tarqalgan usul.

Nega 3.3 V va 5 V shunchaki birga ishlamaydi

Ikkita alohida muammo, har bir yo'nalishga bittadan:

Avvalo — sizga o'zgartirgich umuman kerakmi?

Detallar qo'shishdan oldin tekshiring:

1-usul — Rezistorli bo'luvchi (bir yo'nalishda)

Bitta 5 voltli chiqish 3.3 voltli kirishga ketayotganda — sensorning TX i ESP32 ning RX iga — ikkita rezistorning o'zi yetarli:

5V TX ──[ R1 = 1kΩ ]──┬──> 3V3 RX (xavfsiz)
                      │
                   [ R2 = 2kΩ ]
                      │
                     GND

Vout = 5V × R2 / (R1 + R2) = 5 × 2 / 33.3 V
// Faqat bir yo'nalishda (5V -> 3V3). I²C SDA liniyasida ISHLATMANG.
HC-SR04 ESP32 ga 5 V Echo liniyasida 1 kΩ / 2 kΩ boʻluvchi bilan ulangan — 3.3 V kirishni himoya qilish uchun
Boʻluvchi amalda: HC-SR04ning 5 V Echo signali xavfsiz 3.3 V gacha tushirilgan — 1 kΩ ketma-ket, 2 kΩ yerga. BoardLabda yigʻilgan.

Arzon va ishonchli, lekin faqat bir tomonlama va biroz sekin (qarshilik va simning sig'imi tez frontlarni yumshatadi). Uni hech qachon I²C SDA kabi ikki yo'nalishli liniyaga qo'ymang.

2-usul — BSS138 MOSFET (ikki yo'nalishli, asosiy tanlov)

Klassik 4 kanalli «logic level converter» platasi — bu bir nechta BSS138 MOSFET. Har bir kanal ikkala yo'nalishda avtomatik siljitadi, bu esa aynan I²C ga kerak (SDA ham, SCL ham ikki yo'nalishli). Yuqori tomonni 5 V ga, past tomonni 3.3 V ga ulang, umumiy yerni bo'lishing va signallaringizni undan o'tkazing. Bir-ikki dollar — va holatlarning 90% i hal bo'ladi.

3-usul — Maxsus mikrosxemalar (ko'p/tez liniyalar)

8 bitli parallel shina yoki tez SPI uchun maxsus mikrosxema ishlating: TXS0108E (avto-yo'nalish, ochiq stok bilan chiqishadi) yoki TXB0104 (push-pull, tezroq, I²C uchun emas). Ular bo'luvchi yoki yakka MOSFET ga qaraganda yuqori tezlik va ko'proq kanallarni tozaroq eplaydi.

Tuzoqlar

Umumiy qoida: bitta 5 voltli signal ichkariga → bo'luvchi. Ikki yo'nalishli shina (I²C) → BSS138 platasi. Ko'p yoki tez liniyalar → to'g'ri o'zgartirgich mikrosxema. Bir marta to'g'ri qiling — va ESP32 pinlaringiz uzoq umr ko'radi.

Jimjit I²C bilan kurashayapsizmi? Sath mos kelmasligi — odatiy aybdorlardan biri.