BugBuster: ESP32-S3 Tabanlı Açık Kaynaklı Hepsi Bir Arada Hata Ayıklama ve Programlama Aracı
Platformumuzdaki en çok okunan ve popüler makaleleri görmek için Trendler bölümüne geçebilirsiniz.
BugBuster, tek bir USB-C bağlantısı üzerinden çok sayıda laboratuvar ekipmanını değiştirmeyi hedefleyen açık kaynaklı ve açık donanımlı bir hata ayıklama ve programlama cihazıdır. Bu cihaz, programlama, hata ayıklama, güç yönetimi ve çevre birim kontrolü gibi işlevleri uzaktan gerçekleştirebilme yeteneğiyle, birden fazla kullanıcının fiziksel donanıma ağ üzerinden erişimini mümkün kılar.
Donanım Mimarisi ve Özellikleri
BugBuster'ın temelinde, Analog Devices AD74416H entegresi ve ESP32-S3 mikrodenetleyicisi bulunur. 12 adet akıllı I/O pini, yazılım aracılığıyla çalışma zamanında dinamik olarak programlanabilir. Bu pinler, 1.8 V ile 5 V arasında lojik giriş/çıkış sinyallerini desteklerken, analog girişler -12 V ile +12 V arasında 24-bit ADC çözünürlüğü sunar. Analog çıkışlar ise 0-12 V gerilim veya 0-25 mA akım (kaynak ve yükleme) sağlayabilir.
Çoklu Kanal ve Ölçüm Modları: Dört kanal aynı anda yüksek voltaj ADC/DAC ile bağlantılı olabilir. Her kanal için voltaj ve akım giriş/çıkışı, RTD (2/3/4 telli), dijital I/O, dalga formu üretimi (sinüs, kare, üçgen, testere dişi, 100 Hz'e kadar) ve gerçek zamanlı osiloskop akışı desteklenir.
Sinyal Yönlendirme: 32 anahtarlı MUX matrisi (4 adet ADGS2414D) sayesinde sinyaller kanallar arasında esnek şekilde yönlendirilebilir.
Ayrıca Bakınız
Güç Yönetimi ve Programlanabilir Kaynaklar
BugBuster, tüm yerleşik güç kaynakları tamamen programlanabilir yapıdadır:
USB-C PD protokolü HUSB238 entegresi ile desteklenir (5-20 V giriş, maksimum 60 W güç).
İki adet ayarlanabilir voltaj alanı (3-15 V arası) DS4424 IDAC ve LTM8063 geribildirim kontrolü ile.
Bir adet programlanabilir lojik voltaj alanı.
Her çıkış portu, TPS1641x e-fuse koruması ile yazılım üzerinden akım sınırları ve etkinleştirme kontrolüne sahiptir.
Tüm güç eğrileri NVS'de kalibre edilerek kalıcı hale getirilmiştir.
Bu özellikler, test edilen cihazın (DUT) güç beslemesini, lojik seviyesini ve besleme voltajlarını tamamen programlanabilir ve uzaktan kontrol edilebilir kılar.
Yazılım ve Protokol
BugBuster'ın firmware'i ESP-IDF ve PlatformIO kullanılarak geliştirilmiş, FreeRTOS çift çekirdekli yapıda ADC anketleme, DAC, hata izleme, dalga formu üretimi ve WiFi işlevlerini eş zamanlı yürütür. Masaüstü uygulaması Tauri v2 (Rust backend) ve Leptos 0.7 (WASM frontend) ile oluşturulmuş olup, donanımın tüm fonksiyonlarını kapsayan 17 sekme içerir.
İletişim için özel binary BBP protokolü USB CDC üzerinden COBS çerçeveleme ve CRC-16 hata kontrolü ile sağlanır. Gecikme süresi 1 ms'nin altındadır. Ayrıca otomasyon için komut satırı arayüzü mevcuttur, ancak SCPI protokolü desteklenmemektedir.
Gelecek Genişletmeler: OpenOCD HAT
Yakında piyasaya sürülecek olan genişletme kartı (HAT), RP2040 ve Renesas HVPAK tabanlıdır ve şu özellikleri ekleyecektir:
OpenOCD desteği ile JTAG/SWD programlama ve hata ayıklama.
HVPAK sayesinde ek yüksek voltaj fonksiyonları.
Daha fazla I/O genişletme imkanı.
Tasarım Tercihleri ve Maliyet Unsurları
AD74416H ADC seçimi, Analog Devices ile yakın ilişki ve kolay entegrasyon imkanı nedeniyle tercih edilmiştir. 24-bit delta-sigma ADC, genel amaçlı kullanım için yüksek hassasiyet ve entegrasyon kolaylığı sağlar, ancak maliyeti yaklaşık 30 € civarındadır. MUX bileşenleri ise projede maliyet açısından önemli bir kalemdir.
ESP32-S3 mikrodenetleyicisi, 12 I/O pini ve yeterli işlem gücü nedeniyle tercih edilmiştir. Daha hızlı işlemciler ve daha fazla GPIO sunan mikrodenetleyiciler alternatif olsa da, tasarımın el ile lehimlenebilirliği ve kullanım amaçları göz önünde bulundurulmuştur.
Sonuç
BugBuster, açık kaynaklı ve açık donanımlı yapısıyla, kapsamlı programlama, hata ayıklama ve güç yönetimi özelliklerini tek bir cihazda birleştirir. Yazılım ve donanım bileşenlerinin tamamı GitHub üzerinden erişilebilir. Geliştiriciler ve elektronik mühendisleri için esnek, programlanabilir ve ağ üzerinden erişilebilir bir test ve geliştirme platformu sunar.
"Bazen sadece bir PCB tasarlamaya karar veriyorum..." - Proje geliştiricisi
Kaynaklar:


























