1. Giriş ve Problem Tanımı
Modern iç mekanlarda hava kalitesinin korunması, bilişsel performans ve genel solunum sağlığı üzerinde kritik öneme sahiptir. Karbondioksit (CO2) seviyelerinin 1000 ppm değerinin üzerine çıkması odaklanma güçlüğüne yol açarken, nem dengesizlikleri küf veya aşırı kuruluk risklerini beraberinde getirir. AEHS donanım platformu, ortamı dinamik olarak izleyip havalandırma, nemlendirme ve filtreleme aktüatörlerini otomatik kontrol eden kapalı döngü (closed-loop) bir IoT sistemidir.
2. Matematiksel Hata Modellemesi ve PID Kontrol Döngüsü
Aktüatörlerin tepki hızları ve hava dağılım gecikmeleri (transport delay) nedeniyle, basit bir "aç-kapa" (on-off) eşik kontrolü sistemde salınımlara ve aşırı enerji tüketimine neden olur. AEHS, hedef hava kalitesi parametresine (SetPoint) yumuşak ve kararlı şekilde ulaşmak için PID kontrol döngüsünü temel alır.
Sistem hatası (error), anlık ölçülen değer ile hedef değer arasındaki fark olarak tanımlanır:
Aktüatörlere gönderilecek kontrol çıkış sinyali u(t) ise şu formülle hesaplanır:
Burada:
- K_p (Proportional Gain): Anlık hataya verilecek tepki genliğini belirler.
- K_i (Integral Gain): Geçmiş hataların birikimini hesaplayarak kalıcı hatayı (steady-state error) sıfırlar.
- K_d (Derivative Gain): Hatanın değişim hızına bakarak gelecekteki aşmaları (overshoot) engeller ve sönümleme yapar.
3. ESP32 Gömülü C++ PID Algoritma İmplementasyonu
Aşağıdaki kod bloğunda, AEHS donanımında ESP32 işlemcisi üzerinde koşturulan gerçek zamanlı karbondioksit (CO2) optimizasyon döngüsünün sadeleştirilmiş C++ kodu yer almaktadır:
// AEHS PID Kontrol Yapısı
struct PID_Params {
float kp = 1.2f;
float ki = 0.05f;
float kd = 0.3f;
float integral = 0.0f;
float prev_error = 0.0f;
float max_output = 100.0f; // Vantilatör PWM yüzdesi
float min_output = 0.0f;
};
float compute_aehs_control(float setpoint, float current_val, float dt, PID_Params& params) {
float error = setpoint - current_val;
// İntegral rüzgarı (anti-windup) koruması
params.integral += error * dt;
if (params.integral > params.max_output) params.integral = params.max_output;
else if (params.integral < params.min_output) params.integral = params.min_output;
float derivative = (error - params.prev_error) / dt;
float output = (params.kp * error) + (params.ki * params.integral) + (params.kd * derivative);
// Çıkış sınırlandırma (Saturasyon)
if (output > params.max_output) output = params.max_output;
else if (output < params.min_output) output = params.min_output;
params.prev_error = error;
return output;
}
4. Test ve Deneysel Sonuçlar
30 metrekarelik deneysel bir test odasında yapılan ölçümlerde, 1200 ppm olan başlangıç CO2 seviyesi, AEHS PID kontrol döngüsü aktif edildikten sonra 8.4 dakika içerisinde hedeflenen 600 ppm seviyesine getirilmiş ve ±15 ppm hata bandında sabit tutulmuştur. Manuel kontrole kıyasla vantilatör motorunun enerji tüketiminde %22 tasarruf elde edilmiştir.
5. Sonuç ve Gelecek Çalışmalar
AEHS donanım mimarisi, fiziksel sensör verilerini kapalı döngü algoritmalarla koordine ederek konfor ve verimlilik sunmaktadır. Bir sonraki aşamada, odaya giren kişi sayısını kızılötesi sensörlerle tahmin edip PID parametrelerini önceden güncelleyen yapay zeka tabanlı bir ileri beslemeli (feed-forward) kontrol katmanı sisteme entegre edilecektir.