ESP32 ve USB-C PD ile Programlanabilir Ayarlı Güç Kaynağı Yapımı

Elektronik projeleri ve prototipleme çalışmalarında ayarlanabilir bir laboratuvar güç kaynağı en temel ihtiyaçlardan biridir. Ancak geleneksel ayarlı güç kaynakları masada çok yer kaplar ve taşınabilirlikten uzaktır. Günümüzün yüksek güçlü USB-C Power Delivery (PD 3.0 ve PPS) adaptörleri ise bu ihtiyacı avuç içi boyutunda karşılayabilecek potansiyele sahiptir.

Bu rehberimizde, tek bir USB-C PD şarj aletini ESP32, AP33772S PD Sink Kontrolcüsü ve INA226 akım/gerilim sensörü ile birleştirerek 3.3V ile 20V arasında hassas ayarlanabilir, OLED ekranlı ve döner enkoderli taşınabilir bir atölye güç kaynağına nasıl dönüştüreceğimizi inceliyoruz. (Yazılımı yüklemek için önceki ESP32 Arduino Kurulumu yazımızdan faydalanabilirsiniz.)

Neden USB-C PD ve PPS Teknolojisi?

Standart USB-C PD protokolü sabit 5V, 9V, 12V, 15V ve 20V profilleri sunar. Ancak PPS (Programmable Power Supply) destekli adaptörler, voltajı 20mV gibi son derece küçük adımlarla dinamik olarak ayarlamaya imkan tanır. Bu sayede harici bir ağır transformatöre gerek kalmadan hassas voltaj regülasyonu doğrudan şarj aletinin içinde gerçekleşir.

Gerekli Donanım ve Modüller

BileşenModel / EntegreGörevi
MikrodenetleyiciESP32-WROOM-32 / DevKitKullanıcı arayüzü, enkoder ve I2C kontrolü
PD Sink KontrolcüAP33772S (I2C)Adaptörle PD/PPS voltaj anlaşması (negotiation)
Güç MonitörüINA226 (I2C)Çıkış voltajı, akım ve güç ölçümü
Ekran0.96″ I2C OLED (SSD1306)Gerçek zamanlı V/A/W göstergesi
Giriş ElemanıEC11 Döner EnkoderVoltaj ve menü seçimi

Donanım Mimarisi ve Devre Bağlantı Şeması

Tüm çevre birimleri ESP32’ye ortak I2C veri yolu üzerinden bağlanır:

[USB-C PD Adaptör] ──> [AP33772S (VBUS)] ──> [INA226 Şönt Direnci] ──> [DC Çıkış Klemensleri]
                             │                            │
                      (I2C: SDA/SCL)               (I2C: SDA/SCL)
                             ▼                            ▼
                 ┌──────────────────────────────────────────────┐
                 │                 ESP32 KART                   │
                 └──────────────────────┬───────────────────────┘
                                        │ (I2C & GPIO)
                         ┌──────────────┴──────────────┐
                         ▼                             ▼
                 [0.96" OLED Ekran]            [EC11 Döner Enkoder]

ESP32 Arduino Yazılım Mantığı

Enkoder her döndürüldüğünde ESP32, AP33772S entegresine I2C komutu göndererek hedef voltaj profilini talep eder. INA226 ise anlık çekilen akımı ve gerçek voltajı okuyarak OLED ekrana yansıtır:

#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>

#define AP33772S_ADDR 0x51
#define INA226_ADDR   0x40

void setOutputVoltage(int millivolts) {
    Wire.beginTransmission(AP33772S_ADDR);
    Wire.write(0x30); // Hedef voltaj register adresi
    Wire.write((millivolts / 20) & 0xFF); // 20mV adımlarla PPS ayarı
    Wire.endTransmission();
}

void setup() {
    Wire.begin(21, 22); // SDA: GPIO21, SCL: GPIO22
    setOutputVoltage(5000); // Başlangıçta güvenli 5V
}

void loop() {
    // INA226'dan anlık gerilim ve akım okunup OLED ekrana yazdırılır
    delay(100);
}

Atölye Kullanımı İçin İpuçları

  • PPS Destekli Adaptör Seçimi: Tam ayar aralığı için en az 65W veya 100W PPS destekli bir GaN şarj aleti tercih edin.
  • Akım Limiti Koruması: INA226 üzerinden okunan akım belirlenen sınırı (örn. 3A) aştığında ESP32’nin voltajı derhal 0V seviyesine düşürmesini sağlayan bir yazılımsal sigorta ekleyin.
  • 3D Baskı Kutu: Devreyi atölyede güvenle kullanmak için muz jak (banana plug) çıkışlı kompakt bir kasa tasarlayıp 3D yazıcınızda basabilirsiniz.

Sonuç

ESP32 ve USB-C PD entegrasyonu sayesinde cebinizde taşıyabileceğiniz, son derece hassas ve modern bir ayarlı güç kaynağına sahip olabilirsiniz. Proje hakkındaki sorularınızı yorumlarda belirtebilirsiniz.

Yukarı Çık