PWM ile analog voltaj uretimi

Voltajın trü rms değeri ne ise o görülür bence.

(PwmH/ (PwmH+PwmL)) * (RL / (RH+RL)) * V bunu true rms ile hesaplarsak

C den bağımsızdır.
 
Son düzenleme:
Hem duty hem asimetriklik gözönüne alınarak denge durumunu inceleyip çözümleyebliriz. Benim çalışmam biraz kestirmeden ve belli bir hatayı kabullenerek çözüme gidiyor. Bunu yaparken de bazı varsayımlarda bulunuyorum.

Frekansın yeterince yüksek olduğu varsayımıyla PWM'nin her iki fazı için de akımın faz boyunca sabit kaldığını ve gerilimin lineer olarak değiştiğini varsayabiliriz. Bu hesapta ufak bir hataya sebep olacak ama gözardı edilebilecek kadar düşük olacağını düşünüyorum.

Ripple (H-L)/çözünürlük/4 'den düşük olmalı ki min veya max duty'de voltaj H ve L'ye fazla yaklaşmasın kondansatör şarj eğrisi lineerlikten uzaklaşıp sistem varsayımlarımızdan çıkmasın ve hesabın doğruluğunu düşürmesin.

Bu varsayımlar altında herhangi bir duty'de PWM fazları sırasında akan şarjın eşit olduğu bir gerilimi tespit etmeliyiz.

Denge şartını sağlayan voltaj kapasitedeki şarjın minimum ve maksimum değerlerinin orta noktası olacak.

Eşitliğin sol tarafı H fazı, sağ tarafı L fazında akan şarj.

RH: kondansatörü şarj eden direnç
RL: kondansatörü deşarj eden direnç
H,L ve duty malum.
Vo: denge voltajı.

(H-Vo)/RH*duty=(Vo-L)/RL*(1-duty)

Denklem 1. Dereceden ve tek bilinmeyenli.
Çözümünden sonra varsayımları sağlayan frekans ve kapasite seçilir.

Fırsatım olduğunda simülasyonunu yapıp sonuçları da ekleyip varsayımların ne kadar hataya sebep olduğunu da göstermeye çalışacağım.
 
PWM ile analog voltaj uretiyorsak;

R1= PWM H iken PWM pinine ait cikis direnci + RC filtredeki direncin toplami (Ohm)
R2= PWM L iken PWM pinine ait cikis direnci + RC filtredeki direncin toplami (Ohm)
C = RC filitredeki kapasitor degeri (Farad)
D= Pwm Ton suresi (Saniye)
T= PWM peryodu (Saniye)
V= PWM sinyalin genligi (Volt)

[math]A=e^\frac{-D}{CR_1}[/math][math]B=e^\frac{-(T-D)}{CR_2}[/math]
A ve B degerlerini hesapliyoruz.

[math]V1=\frac{V(1-A)}{1-AB}[/math][math]V2=V1*B[/math]
V1 ve V2 degerlerini hesapliyoruz.

Aradigimiz gerilim (filtre cikisindaki voltaj) [math]V=\frac{V1+V2}{2}[/math]
Analog voltajda olusan ripil degerimiz ise [math]Vr_{pp}=V1-V2[/math]
 
Son düzenleme:
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.

Tablo.jpg


pwm-20-2k-1k.png


pwm-65-1k-3k.png

pwm-65-2k-1k.png


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.
 

Ekler

Forum istatistikleri

Konular
7,285
Mesajlar
123,193
Üyeler
2,939
Son üye
Cano

Son kaynaklar

Son profil mesajları

Freemont2.0 herbokolog Freemont2.0 wrote on herbokolog's profile.
nick iniz yakıyor
:D
Freemont2.0 posta Freemont2.0 wrote on posta's profile.
Merhabalar :)
az bilgili çok meraklı
Prooffy semih_s Prooffy wrote on semih_s's profile.
Merhaba, sizden DSO2C10 hakkında bilgi rica ettim. Yanıtlarsanız sevinirim...
Unal taydin Unal wrote on taydin's profile.
Timur Bey, Arduino kontrollü bir akü şarj cihazı yapmaya çalışıyorum. Aklımdaki fikri basit bir çizim olarak konu açmıştım. Özellikle sizin fikirlerinizi çok önemsiyorum.
Back
Top