Aklıma gelince devam edip çıkardığım denklemden exelde bir tablo oluşturdum ve grafik çıkardım. Simulasyon için basit bir devre kurup denklem ve simulasyonu çeşitli değerlerde karşılaştırdım.
Denklem:
Vo = (RL*VH*D+RH*VL-RH*VL*D) / (RH-RH*D+RL*D) olarak çözüldü.
RH: kondansatörü şarj eden direnç
RL: kondansatörü deşarj eden direnç
VH: PWM yüksek voltajı
VL: PWM düşük voltajı
duty: malum (ondalık olarak).
Vo: denge voltajı.
Duty'ye göre çıkış geriliminin grafiğini farklı direnç çiftleriyle denedim. simetrik olmayan empedans lineerliği çok bozuyor. Tablo odt uzantılı olarak ekte.
Formul 0,01Voltun altında bir hatayla simulasyonla tutuyor. Yalnız diyotların Vf voltaj düşümleri duty'ye göre değişiyor çünkü diyot akımı da duty'ye göre değişiyor. Bunu simulasyondaki osiloskoptan tespit ederek tabloya koymak gerekiyor. Bir PWM üretecinin çıkışı bu kadar oynak olmaz herhalde.
PWM sinyalin yükselme alçalma süreleri de sonucu etkiliyor. 10KHz frekansta 1us yükselme alçalma süresinde hesap tutmuyor ve 0,06V kadar hatalar oluyor. PWM yükselme ve alçalma süresini 1ns yapınca hata çok azalıp 0,01V altına düşüyor.
Bence düzeltmeyi ADC geri besleme kullanarak yapmak daha isabetli olur. Ama dc değil de dalga formu üretmek için PWM kullanılıyorsa ADC geri besleme yavaş kalabilir diye düşünüyorum. O zaman da kurulan sistemin davranışını deneyle gözlemleyip hataları buna göre telafi etmek daha isabetli olacak gibi.
@Mikro Step sizin formullerinizi düzgün hesaplatamadım yoksa iki farklı yaklaşımı karşılaştırmak istiyordum.