PWM ile analog voltaj uretimi

Mikro Step

Kıdemli Üye
Katılım
25 Eylül 2022
Mesajlar
3,750
DAC'a alternatif olarak PWM ve low pass filitre yoluyla precision voltaj degerleri uretebilirmiyiz acisindan bu soru cok onemlidir.
Eger precision bir voltaj uretmek istiyorsak PWM darbelerin genligi cok dogru olmali, PWM ureten CMOS'un N ve P kanal moslari
es dirence sahip olmalidir.

Bu iddiamin ne kadar dogru oldugu uzerine kafa yoracagiz.

Sorum:

PWM darbeleri RC filitreden gecirdigimizde duty ile orantili DC bir gerilim elde ederiz.

Peki 0..V araliginda PWM darbelerini ureten kaynagimizdan H seviyesinde sinyal cikarken cikis empedansi 2R, L seviyesinde sinyal cikarken cikis empedansi R ise ve %50 duty ile PWM sinyali cikiyorsak RC filitre cikisinda elde edecegimiz gerilimin degeri ne olur?
 
Son düzenleme:
sadece pwm genisligini ayarlamak yeterli olmuyor mu, direnci degistirmeye gerek varmi, ayni mantigi led lambani parlakligini kontrol etmek icin kullandim 10 yildir sorunsuz calisiyor.
 
PWM darbeleri RC filitreden gecirdigimizde duty ile orantili DC bir gerilim elde ederiz.

Peki 0..V araliginda PWM darbelerini ureten kaynagimizdan H seviyesinde sinyal cikarken cikis empedansi 2R, L seviyesinde sinyal cikarken cikis empedansi R ise ve %50 duty ile PWM sinyali cikiyorsak RC filitre cikisinda elde edecegimiz gerilimin degeri ne olur?
Yani pwm kaynağının sink ve source kabiliyeti aynı değil doğru mu? Bu durumda %50 duty ile çalışırken RC filtreyi 2R ile doldurup R ile boşaltacak değil mi?

O zaman %50 duty ile RC çıkış gerilimi H/2'den az ama H/3'den büyük olur. Tam olarak ne olur size sormak lazım :) .
 
1.jpg


Sw anahtari acilip kapanirken ilerleyen zamanda Sw anahtari tam sifirdan 1'e gecerken zamani durduralim ve cikis voltajinin denklemini yazalim.

Bu anda kondansator uclarindaki gerilim [math]V_{o}[/math] degerine ulasmis olsun.

[math]i=C\frac{dv_c}{dt} = \frac{V-v_c}{R_1}[/math]
S domenine gecelim.

[math]V(s)=\frac{V}{S}[/math]
[math]i=SCv_c(s)-CV_o=\frac{V}{SR_1}-\frac{v_c(s)}{R_1}[/math]
[math]SCR_1v_c(s) - V_oCR_1 = \frac{V}{S} - v_c(s)[/math]
[math]v_c(s) + SCR_1v_c(s)=\frac{V}{S} + V_oCR_1[/math]
[math]v_c(s)[1 + SCR_1]=\frac{V}{S} + V_oCR_1[/math]
[math]v_c(s)=\frac{1}{1+SCR_1}*[\frac{V}{S} + V_oCR_1][/math]
Duzenleyelim.

[math]v_c(s)=\frac{V}{S(1+SCR_1)} +\frac{V_oCR_1}{1+SCR_1}[/math]
[math]v_c(s)=V*[\frac{A}{S}+\frac{B}{1+SCR_1}] +\frac{V_oCR_1}{1+SCR_1}[/math]
[math]A + ASCR_1 + BS \equiv1[/math]
[math]A=1[/math]
[math]SCR_1 + BS=0[/math]
[math]B=-CR_1[/math]
[math]v_c(s)=V*[\frac{1}{S}-\frac{CR_1}{1+SCR_1}] +\frac{V_oCR_1}{1+SCR_1}[/math]
[math]v_c(t)=V*[1-e^\frac{-t}{CR_1}] + V_oe^\frac{-t}{CR_1}[/math]
[math]v_c(t)=V-(V-V_o)e^\frac{-t}{CR_1}[/math] buluruz.

Simdi de Sw nin 1 den 0'a gectigi andan itibaren gecerli olacak devre denklemimizi yazalim.

Olay baslangicinda kondansator uclarindaki gerilim Vo olsun.

Yukaridaki hesaplamalarda V=0 R1 yerine de R2 yazararak dogrudan sonuca ulasabiliriz.

Bu durumda

[math]v_c(t)=V_oe^\frac{-t}{CR_2}[/math] olur.

Anahtar 1 konumunda iken kondansator voltajimiz artmaya baslar. Bu artisi veren ifademiz
[math]v_1(t)=V-(V-V_o)e^\frac{-t}{CR_1}[/math]
Anahtar 0 konumunda iken kondansator voltajimiz azalmaya baslar. Bu artisi veren ifademiz
[math]v_2(t)=V_oe^\frac{-t}{CR_2}[/math]
2.jpg

Kondansatorun voltajinin cikacagi en yuksek deger

[math]V_{1[n]}=V-(V-V_{2[n-1]}) e^\frac{-D}{CR_1}[/math]
Kondansator voltajinin alacagi en kucuk deger ise [math]V_{2[n]}=V_{1[n]}e^\frac{-(T-D)}{CR_2}[/math]
[math]V_{2[n-1]}=V_{1[n-1]}e^\frac{-(T-D)}{CR_2}[/math]
Bu durumda

[math]V_{2[n-1]}=V_{1[n-1]}e^\frac{-(T-D)}{CR_2}[/math]
[math]A=e^\frac{-D}{CR_1}[/math][math]B=e^\frac{-(T-D)}{CR_2}[/math]
olsun.

[math]V_{1[n]}=V(1-A) + AV_{2[n-1]}[/math][math]V_{2[n-1]}=V_{1[n-1]}B[/math]
[math]V_{1[n]}=V(1-A) + V_{1[n-1]}AB[/math][math]V_{1[n]}=V_{1[n-1]}[/math] oldugunda artik sistem dengeye gelmis olacaktir.

[math]V_{1[n]}=V(1-A) + V_{1[n]}AB[/math]
[math]V_{1[n]}=\frac{V(1-A)}{1-AB}[/math]
Buluruz.

Simdi hata yapip yapmadigimizi anlamak icin

R1=R2 T=2D yaptigimizda ortalamanin V/2 olup olmadigina bir bakalim.

R1C>>T R2C>>T olsun.

R1=10K R2=10K C=100n T=10uS D=5uS V=1

A=e^-(5E-6/10E3 * 100E-9)=0.995
B=e^-(5E-6/10E3 * 100E-9)=0.995

[math]V_{1[n]}=\frac{V(1-0.995)}{1-0.995*0.995}[/math]
V1[n]=0.501
V2[n]=0.501*0.995=0.498

Vort= 0.498 + (0.501-0.498)/2=0.4995V

Bingo.

O halde verilen herhangi R1 R2 icin bu bagintiyi kullanabiliriz.

R1=10K, R2=20K, C1=100nF D=5uS T=1uS V=1

A=e^-(5E-6/10E3 * 100E-9)=0.995
B=e^-(5E-6/20E3 * 100E-9)=0.997

[math]V_{1[n]}=\frac{V(1-0.995)}{1-0.995*0.997}[/math]
V1[n]=0.626v
V2[n]=0.626*0.997=0.624v

Vort= 0.624 + (0.626-0.624)/2=0.625V

Bu durumda On ve Off konumlarinda mos direncleri arasinda 100 Ohm farkeden pwm pinine baglanacak 10K direnc ne kadar hataya neden olur?

R1=10K R2=10.1K icin ayni sekilde hesaplanabilir.

Yukaridaki hesaplamada V1[n]=V1[n-1] durumunu denge durumu kabul ederek cozumu kisalttik.
Fark denklemi ile cozseydik daha iyi olacakti.

Eger cozebilirsem cozumu de paylasirim. Yukaridaki 1. cozum yontemimiz.

Simdi de 2. yontemle cozelim.

[math]V_{1[n]}=V-(V-V_{2[n-1]}) e^\frac{-D}{CR_1}[/math][math]V_{2[n-1]}=V_{1[n-1]}e^\frac{-(T-D)}{CR_2}[/math]
Bulmustuk.

[math]A=e^\frac{-D}{CR_1}[/math][math]B=e^\frac{-(T-D)}{CR_2}[/math]
 
Son düzenleme:
cozum basit degil mi, a suresince R1 uzerinden sarj edip R2 uzerinden desarj ediyorsun, e^-t/T bunu hesaplamak icin yeterli, ama sen bunu zaten biliyorsundur???
 
23909 eklentisine bak

Su anki basligi bol bol silinip duzelterek cozume gidecegim.
Empedansın H için 2R olması ve L için R olması demek PWM'yi yukarıdaki şekilde temsil ettiğimizde R1'in 2R ve R2'nin R olması anlamına mı geliyor.
cozum basit degil mi, a suresince R1 uzerinden sarj edip R2 uzerinden desarj ediyorsun, e^-t/T bunu hesaplamak icin yeterli, ama sen bunu zaten biliyorsundur???
R1 ve R2 eşit değil, verdiğiniz formulde bunun yeri var mı?
 
Evet R1 ve R2 direnclerini farkli secerek sink source sartlarini degistirdim. Bu asamada R1=2R2 ya da R2=2R1 gibi kabuller yapmayip genel bir ifade bulacagim.
 
%50 duty için rc kondansatörünün şarj ve deşarj eğrisi lineere çok yakın olur. O halde devreyi simetrik source-sink ile temsil etmek için çıkış gerilimi Vo iken L'yi "L-(Vo-L)" ile temsil edebiliriz. Yani L daha yüksek empedanslı daha düşük gerilim gibi temsil edilebilir. O zaman çıkış gerilimi de bu iki voltajın tam ortasında oluşur.

H-Vo=Vo-(L-(Vo-L)
H-Vo=Vo-(L-Vo+L)
H-Vo=2Vo-2L
Vo=(H+2L)/3 olur.

Daha doğrusu buna çok yakın olur ama duty %50den uzaklaştıkça bu hesap işe yaramaz olur... mu?
 
cozum basit degil mi, a suresince R1 uzerinden sarj edip R2 uzerinden desarj ediyorsun, e^-t/T bunu hesaplamak icin yeterli, ama sen bunu zaten biliyorsundur???

Sorumuz anahtar T suresince R1 uzerinden uzerinden sarj olan kondansator R2 uzerinden T1 kadar sure bosalirsa kondansatordeki voltaj kac volt olurdu diye sorsaydik evet basit bir soruydu.

sorumuz bu basit soruya benziyor tek farki bu islemi periyodik olarak yaptigimizda kondansator voltaji hangi degere yakinsiyor bunu ariyoruz?
 
periyodikte olsa direnc degerleri sabit oldugu icin hesap ayni olacak ama anahtarin threshold seviyesini filan hesaba katmak istiyorsan orasi degisir, tam olarak kastetdigini anlayamadim isin asli, neyse sen zaten cevaplayacaksin.
 
R1 ve R2 sabit olsun. C=1uF R1=1K R2=1M olsun O zaman ne olacak? %50 duty verdin diye voltaj PWM genliginin yarisi mi olacak? Olmayacak tabiki.
 
bak ben su sekilde hsaplarim, t1 icin i1 i hesaplarim, t2 icinde i2 yi sonra sonra i1-i2 sana kovada kalan akimi verir, akimin yonu negatif cikarsa zaten senin devren kisadevre olmus oluyor, cunki verdiginden fazlasini cekmeye calisiyorsun demektir, 2R ile sar edip R ile desarj edersen zaten kisa bir sure sonra 0v a yaklasirsin, su an verdigi degerlerle hesap yapma imkanim yok.
 
Nasil kolayiniza gelirse oyle hesaplayin.

R1=1K R2=2K olsun. C=1uF Fpwm=10kHZ Pwm genligi 5V ve duty %50 olsun.

Onemli olan verdigim degerler degil. R1 ve R2 esit olmazsa ne olur ona kafa yoruyoruz.
 
bak ben su sekilde hsaplarim, t1 icin i1 i hesaplarim, t2 icinde i2 yi sonra sonra i1-i2 sana kovada kalan akimi verir, akimin yonu negatif cikarsa zaten senin devren kisadevre olmus oluyor, cunki verdiginden fazlasini cekmeye calisiyorsun demektir, 2R ile sar edip R ile desarj edersen zaten kisa bir sure sonra 0v a yaklasirsin, su an verdigi degerlerle hesap yapma imkanim yok.
Olmaz belli bir çıkış geriliminde farklı dirençlerle çekeceğin akım birbirine eşit oluyor
 
Merak edip de hesapla ugrasmak istemeyenler simulatorle baksin.

Direnc degerlerinin onemli olup olmadigini gorsunler.
 
Merak edip de hesapla ugrasmak istemeyenler simulatorle baksin.

Direnc degerlerinin onemli olup olmadigini gorsunler.
Hocam benim formülde direnç değerleri hesaba katılmış durumda, sadece temsil edilmiyorlar aşağı çeken direnç r yukarı çeken direnç 2r için. Konu benim ilgimi çekti, devreyi de kurup deney yapasım var ama 3 gün masamdan uzaktayım.
 

Çevrimiçi üyeler

Çevrimiçi üye yok.

Forum istatistikleri

Konular
5,844
Mesajlar
99,713
Üyeler
2,481
Son üye
rfdog12

Son kaynaklar

Son profil mesajları

gruptaki arkadaşlara selamlar. sıteyi bu gün fark ettim. Asansör için 2x7 segment LCD gösterge üretmek istiyorum. acaba bu sayfadaki arkadaşlardan destek alabilirmiyim. LCD nin mantık açılımı ektedir.
deneyci wrote on TA3UIS's profile.
Selam.
Amatör telsiz lisansı nasıl alınıyor?
Lisansı olmayanı forumlarına almıyorlar. :)
Bilgi alamıyoruz.
cemalettin keçeci wrote on HaydarBaris's profile.
barış kardeşim bende bu sene akıllı denizaltı projesine girdim ve sensörleri arastırıyorum tam olarak hangi sensör ve markaları kullandınız yardımcı olabilir misin?
m.white wrote on Altair's profile.
İyi akşamlar.Arabanız ne marka ve sorunu nedir.Ben araba tamircisi değilim ama tamirden anlarım.
* En mühim ve feyizli vazifelerimiz millî eğitim işleridir. Millî eğitim işlerinde mutlaka muzaffer olmak lâzımdır. Bir milletin hakikî kurtuluşu ancak bu suretle olur. (1922)
Back
Top