Ana içeriğe geç

MAX78630 Kütüphanesi

MAX78630, üç fazlı enerji izleme uygulamaları için tasarlanmış, yüksek hassasiyetli bir ölçüm işlemcisidir. Bu kütüphane ise MAX78630 tabanlı enerji kartlarından tüm enerji parametrelerini kolay ve okunabilir bir API ile okumayı amaçlayan bir Arduino/C++ kütüphanesidir.

Amaç, üç fazlı şebekelerde:

  • Gerilim ve akım büyüklüklerini,
  • Aktif / reaktif / görünür güçleri,
  • Enerji sayaçlarını,
  • Güç faktörünü ve frekansı,

gibi kritik parametreleri gömülü tarafta minimum kod karmaşasıyla alıp, üst katmanda (IoT platformu, SCADA, dashboard vs.) anlamlı hale getirmektir.

Ne İşe Yarar?

MAX78630, tipik endüstriyel üç faz konfigürasyonları için tasarlanmış bir enerji ölçüm işlemcisidir.

Senin kart tasarımlarınla birlikte kullanıldığında:

  • Üç fazlı (R–S–T) sistemlerde,
  • Akım transformatörü, Rogowski bobini veya şönt direnç ile akım ölçümü,
  • Yüksek çözünürlüklü delta-sigma ADC üzerinden hassas ölçüm,
  • UART üzerinden host mikrokontrolcü ile haberleşme,

senaryosunu tek bir kütüphane ile tamamlamış oluyorsun.

Bu kütüphane, MAX78630’ın tüm karmaşık register / frame yapısını senin yerine yöneterek, sana “hazır işlenmiş” enerji parametreleri sunuyor.

Öne Çıkan Özellikler

  • Üç Faz (Polifaze) Destek
    R, S, T fazlarının her biri için ayrı ayrı ölçüm ve toplam değerlerin hesaplanması.

  • Geniş Ölçüm Parametresi Yelpazesi
    Gerilim, akım, güç, enerji, güç faktörü, frekans gibi temel parametreler yanında, temel (fundamental) ve harmonik bileşenleri de okuyabilme.

  • Hazır Ölçüm İşlemcisi Üzerinden Doğrudan Okuma
    MAX78630’ın gömülü işlemcisi, hesaplamaları içeride yapıyor; kütüphane ile sen sadece “sonuç” verilerini çekiyorsun.

  • Arduino Dostu API
    Arduino core ile uyumlu, basit ve anlaşılır fonksiyon seti:
    begin(), readVoltage(), readCurrent(), readPower() vb. tarzında bir kullanım mantığı.

  • Enerji Kartların (EnergyBoard / 3-Phase Analyzer) ile Uyumlu
    Mevcut enerji ölçüm kartlarınla bire bir kullanılabilecek şekilde tasarlandığı için, hem laboratuvar ortamında hem sahada rahat kullanılabiliyor.

  • Uzun Süreli İzleme ve Analiz İçin Uygun
    IoT gateway, veri kaydedici (datalogger), saha izleme cihazları ve bulut tabanlı enerji yönetim sistemleriyle entegrasyona hazır.

Ölçülen Temel Parametreler

Kütüphane üzerinden, her faz için aşağıdaki parametreleri okuyabilirsin (R / S / T):

  • Anlık gerilim, RMS gerilim, Temel bileşen gerilimi, Harmonik gerilim, Şebeke frekansı
  • Anlık akım, RMS akım, Tepe (peak) akım, Temel bileşen akımı, Harmonik akım
  • Aktif güç, Reaktif güç, Görünür güç, Temel bileşen gücü, Harmonik güç
  • Güç faktörü (PF), Temel/harmonik reaktif ve VA bileşenleri, Entegre enerji sayaçları (kWh, kVArh vb.), Entegre sıcaklık sensörü (IC sıcaklığı)

Ayrıca, belirlediğin eşik değerlerine göre alarm limitleri ayarlayabilir, faz dengesizliği, aşırı yük, aşırı gerilim vb. durumları sahada hızlı tespit edebilirsin.

Tipik Kullanım Senaryoları

Bu kütüphaneyi özellikle şu projelerde kullanmak için tasarlamış olabilirsin:

  • Endüstriyel üç fazlı enerji izleme panoları
  • Tarımsal sulama pompaları ve motor koruma panoları
  • Fabrika, atölye ve tesisler için enerji yönetim sistemleri
  • IoT tabanlı enerji analizi, tüketim optimizasyonu ve karbon ayak izi takibi
  • Test düzeneklerinde yük profili ve güç kalitesi analizi

Kurulum

git clone https://github.com/akkoyun/MAX78630

Arduino projene libraries klasörü altına kopyalayarak da kullanabilirsin.

Basit Örnek

Aşağıdaki örnek, tipik bir üç faz enerji kartında faz R için temel parametrelerin okunması mantığını gösteren temsili bir örnektir:

#include <MAX78630.h>

MAX78630 Energy;

void setup() {
Serial.begin(115200);

// UART / donanım ayarlarını yaptıktan sonra
if (!Energy.begin()) {
Serial.println("MAX78630 bulunamadı veya başlatılamadı!");
while (1);
}

Serial.println("MAX78630 baslatildi.");
}

void loop() {
float vR = Energy.getVoltageR(); // Faz R gerilimi (V)
float iR = Energy.getCurrentR(); // Faz R akımı (A)
float pR = Energy.getActivePowerR(); // Faz R aktif güç (W)
float pfR = Energy.getPowerFactorR();// Faz R güç faktörü

Serial.print("VR = "); Serial.print(vR);
Serial.print(" V, IR = "); Serial.print(iR);
Serial.print(" A, PR = "); Serial.print(pR);
Serial.print(" W, PF = "); Serial.println(pfR);

delay(500);
}

Not: Fonksiyon isimleri projendeki gerçek API ile bire bir uyuşmayabilir; bu bölüm, kütüphanenin “kullanım niyetini” anlatan temsili bir örnektir. Gerçek imzalar için GitHub’daki examples/ klasörünü ve README’yi referans al.

Bu kütüphane, gerçek sahada kullanılan projelerden gelen ihtiyaçlara göre sürekli gelişen bir açık kaynak projedir. Kullanıcı geri bildirimleri, yeni fonksiyonların eklenmesi ve mevcut yapının iyileştirilmesi açısından kritik öneme sahiptir.

Bu kütüphaneyi hem kişisel hem de ticari projelerinde özgürce kullanabilirsin. Herhangi bir lisans kısıtı uygulanmamaktadır; amacım, bu kütüphanenin mümkün olduğunca fazla gerçek dünya projesinde yer almasıdır. Özel bir entegrasyon ihtiyacın, ticari bir planın veya teknik bir sorunun varsa bana e‑posta üzerinden her zaman ulaşabilirsin: akkoyun@me.com Geri bildirimlerini veya kullanım senaryolarını paylaşman, projeyi geliştirmem açısından büyük katkı sağlar.