Ben en iyi RC zaman sabiti ve dijital sinyal analog görev döngüsü ve frekans ve diğer parametrelere dönüştürmek için bir PWM nedeni arıyorum. PWM frekansı 10 kHz'dir.
Ben en iyi RC zaman sabiti ve dijital sinyal analog görev döngüsü ve frekans ve diğer parametrelere dönüştürmek için bir PWM nedeni arıyorum. PWM frekansı 10 kHz'dir.
Yanıtlar:
En iyi RC sonsuzdur, o zaman mükemmel bir dalgalanma içermeyen DC çıkışına sahipsiniz. Sorun, görev döngüsündeki değişikliklere yanıt vermenin sonsuza dek sürmesi. Yani her zaman bir ödünleşmedir.
Birinci dereceden bir RC filtresinin kesme frekansı
ve 6 dB / oktav = 20 dB / on yuvarlanma. Grafik, 0,1 Hz (mavi), 1 Hz (mor) ve 10 Hz (diğer renk) kesme frekansı için frekans özelliğini gösterir.
Bu yüzden 0.1 Hz filtre için PWM sinyalinin 10 kHz temelinin 100 dB tarafından bastırıldığını görebiliriz, bu kötü değil; bu çok düşük dalgalanma verecektir. Fakat!
Bu grafik, üç kesme frekansı için adım yanıtını gösterir. Görev çevrimindeki bir değişiklik DC seviyesinde bir adımdır ve 10 kHz sinyalinin harmoniklerinde bazı değişimlerdir. En iyi 10 kHz supresyonu olan eğri yanıt vermek için en yavaştır, x ekseni saniyedir.
Bu grafik,% 50 görev döngüsü 10 kHz sinyali için 30 µs RC süresinin (kesme frekansı 5 kHz) yanıtını gösterir. Muazzam bir dalgalanma var, ancak 2 periyotta% 0 görev döngüsünde veya 200 µs'de değişime cevap veriyor.
Bu bir 300 µs RC süresidir (kesme frekansı 500 Hz). Yine de biraz dalgalanma, ancak% 0 ila% 50 görev döngüsüne gitmek yaklaşık 10 periyot veya 1 ms sürer.
RC'yi milisaniyeye arttırmak dalgalanmayı daha da azaltacak ve reaksiyon süresini artıracaktır. Her şey ne kadar dalgalanma sağlayabileceğinize ve filtrenin görev döngüsü değişikliklerine ne kadar hızlı tepki vermesini istediğinize bağlıdır.
Bu web sayfası , R = 16 kΩ ve C = 1 uF için, 10 Hz'lik bir kesme frekansına sahip olduğumuzu, maksimum 5 V'de 8 mV'lik bir tepeden tepeye dalgalanma için 37 msn% 90'ına varan bir yerleşim süresine sahip olduğumuzu hesaplar.
edit
Daha yüksek siparişlere giderek filtrenizi geliştirebilirsiniz:
Mavi eğri ya da 20 dB / on yuvarlanma ile basit RC filtresiydi. İkinci dereceden bir filtre (mor) 40 dB / on yıllık bir yuvarlanmaya sahiptir, bu nedenle aynı kesme frekansı için 10 dHz'de 60 dB yerine 120 dB bastırma olacaktır. Bu grafikler oldukça idealdir ve en iyi Sallen-Key gibi aktif filtrelerle elde edilebilir.
Denklemler
PWM frekansı ve RC zaman sabitinin bir fonksiyonu olarak birinci dereceden RC filtresi için tepe-tepe dalgalanma voltajı:
E & OE. "d" görev döngüsü, 0..1. Dalgalanma d = 0.5 için en büyüğüdür.
Son değerin% 99'una adım yanıtı 5 x RC'dir.
Sallen-Key filtresi için kesme frekansı:
Bir Butterworth filtresi için (maksimum düz): R1 = R2, C1 = C2
Steven'ın dediği gibi, bu, PWM frekansını azaltma ile tepki süresinin kısaltılması arasında bir takastır. Bu nedenle, bu tür herhangi bir kararın, sonuçta ortaya çıkan analog sinyalden ne istediğinize ilişkin bir spesifikasyonla başlaması gerekir. Hangi sinyal / parazit oranına ihtiyacınız var, yoksa en azından PWM frekansında ne kadar gürültüye tolerans gösterebilirsiniz? Gürültü taban seviyesine yerleşmek ne kadar hızlı? Ya da tam tersine, önem verdiğiniz üst frekans nedir?
Belirli bir PWM çıktısıyla belirli bir kriter kümesini karşılamanın mümkün olmayabileceğini unutmayın. Diyelim ki kaliteli ses çıkışı istiyorsunuz. Bunun gürültü için 8 kHz ve 60 dB sinyale kadar olduğunu söyleyeceğiz. Bu, 20 kHz PWM ile makul şekilde izlenebilir herhangi bir analog filtre ile olmayacak ve kesinlikle tek bir R ve C kadar basit bir şeyle olmayacak.
Örnek olarak, geriye doğru çalışalım ve yukarıdaki ses örneğini tek bir R, C filtresi ile desteklemek için PWM karakteristiklerinin ne olması gerektiğini görelim. -3 dB devreden çıkarma frekansının 8 kHz olduğunu zaten söylemiştik, bu yüzden R ve C'yi buna ayarladık. Tek bir R, C filtresinin devreden çıkarma frekansı:
F = 1 / (2 π RC)
R Ohmdayken, Farads'ta C, F Hertz'de. Bu denklemin, diğer ikisi verilen R, C veya F'nin herhangi birini çözmek için yeniden düzenlenebileceği açık olmalıdır. 1 / (2 π) = .15915'i her zaman hesap makinemde bir kayıtta tutuyorum çünkü bu hesaplama elektronikte düzenli olarak geliyor. Sonra üçüncüyü elde etmek için bunu R, C veya F'den ikiye bölerim.
İki serbestlik derecemiz var ve yukarıdaki denklem bunlardan sadece birini bozuyor. Diğeri, ortaya çıkan sinyalin sahip olmasını istediğiniz empedans olarak düşünülebilir. Yaklaşık 10 kΩ için çekim yapalım, R'nin sadece C'nin ne ortaya çıktığını görmek için yapacağız:
1 / (2 π 8kHz 10kΩ) = 1,99 nF
Bu temelde 2 nF'lik standart kapasitör değeri, bu yüzden bununla devam edeceğiz. Ortak bir değere ulaşmasaydı, yakın bir tane seçerdik, sonra geri giderdik ve R'yi buna göre ayarlardık. Dirençler, normal kapasitörlerden çok daha ince varyasyonlarda ve daha yüksek toleranslarda mevcuttur, bu nedenle genellikle yakın bir kapasitör değeri bulursunuz ve daha sonra tam direnç değerini sürmesine izin verirsiniz.
Bu yüzden R = 10 kΩ ve C = 2 nF'ye yerleştik. Bunun 8 kHz üst frekans gereksiniminden geldiğini unutmayın. Yapacak başka seçeneğimiz yok, bu yüzden yerleşme süresi ve sinyal / gürültü oranı ne olacağı olacak. Şimdi yapabileceğimiz tek şey, çıkış sinyali özelliklerini desteklemek için hangi PWM karakteristiklerinin gerekli olup olmayacağını belirlemek.
Spesifikasyon, 60 dB'lik bir sinyal / gürültü oranı olduğundan, gürültünün voltajın 1000'inde 1 kısımdan daha az olması gerektiği anlamına gelir, yani PWM frekansı bu kadar azaltılmalıdır. Tek bir R, C filtresi, rolloff frekansından sonraki frekansla ters orantılı olarak zayıflar. Bu, rolloff frekansının altına ve altına yaklaşan bir yaklaşımdır, ancak çoğu durumda rollof frekansından bir veya iki oktavdan sonra yeterince iyidir. Başka bir deyişle, 16 kHz bir hata ile 2, daha az hata ile 32 kHz ile 4 azaltılacak ve bundan sonra zayıflama elde etmek için ilgi frekansını azaltma frekansına bölebilirsiniz. PWM frekansının 1000 azaltılmasını istiyoruz, yani 8 MHz veya daha yüksek olması gerekiyor. Bu yüksek ama bazı işlemcilerle yapılabilir. Örneğin,
Şimdi PWM çözünürlüğüne bakalım. Yine, bu zaten 1: 1000 anlamına geldiğini bildiğimiz 60 dB sinyalden gürültüye spesifikasyon tarafından yönlendiriliyor. Bu, en az 999 PWM çözünürlüğü gerektirir (her zaman PWM çözünürlüğünden bir tane daha çıkış seviyesi elde edersiniz). Bu, dahili PWM dilim saatinin 8 MHz PWM çıkış frekansının 999 katını veya temel olarak 8 GHz'i çalıştırması gerektiği anlamına gelir. Raf parçalarında makul bir şekilde mevcutken olmayacak.
Bununla birlikte, bu sınırlamaları aşmanın bir yolu vardır ve bu, tek bir R, C filtresinden daha fazlasını kullanmaktır. Güzel bir analog sinyal istediğimde, genellikle art arda iki veya üç tane kullanırım. Birbirini izleyen üç R, C filtresi kullanmanın bazı şeyleri nasıl değiştirdiğini görelim.
Başlangıçta, üst ilgi sıklığımızın 8 kHz olduğunu söyledik, bu da aksi belirtilmedikçe 3 dB'lik düşüşe tahammül edebileceğimizi gösterir. Tek bir R, C filtresi, devreden çıkarma frekansında 3 dB azalır, bu yüzden 8 kHz'de sağa koyarız. 8 kHz'de üç filtremiz olamaz çünkü orada 9 dB azalırlar. Bu nedenle, filtreleri kutup sayısına göre hareket ettiriyoruz (bu durumda ayrı R, C filtreleri).
Üç R, C filtresi (üç kutup) bu nedenle 24 kHz'de. Bunu yaparken zemini kaybettik gibi görünüyor, ama en büyük avantajı, şimdi tek bir kutupta olduğu gibi, oranın yerine küp oranı ile zayıflatılan yukarıdaki frekansların olmasıdır. Yine, PWM frekansının 10 ^ 3 olan 1000 ile zayıflatılmasını istiyoruz, bu yüzden 240 kHz yeterince yüksek olan filtre devreleme frekanslarının sadece 10 kat ötesinde olmalıyız. Bu 8 MHz'den büyük bir fark. Şimdi dahili PWM saati veya PWM dilim frekansının sadece 240 MHz olması gerekir. Bu hala yüksek ama elde edilebilir.
Umarım bu size konular hakkında bazı bilgiler verir. Somut özellikler sağlarsanız, davanız için belirli değerlerle çalışabiliriz.
Basamaklı RC aşamalarını kullanarak tek bir RC üzerinde performansı artırmak mümkündür. Saf çok aşamalı RC pasif filtrede aktif filtrelerden elde edilebildiği kadar iyi bir performans elde edilemez, ancak yine de performans tek bir aşamadan daha iyi olabilir. Ne yazık ki, optimal RC değerlerini hesaplamak için iyi bir yöntem bilmiyorum.
Dikkat edilmesi gereken başka bir şey, darbe genişliği modülasyonunun görev döngüsü modülasyonunun en yaygın biçimi olmasına rağmen, tek değil. Hedef çıkış voltajının çok sık değişmeyeceği ve çıktının kenarlara göre aralığın merkezine yakın olma olasılığının yüksek olduğu durumlarda çok yararlı olabilecek basit bir yaklaşım, bir dizi sinyal üretmektir. hesaplayarak ("önceki sayaç değeri değil" geçerli sayaç değeri) ve VE sinyalini istenen veri değerinin bitleri ile ters sırada (ve veri değerinin MSB'si mevcut sayacın xoru ile AND 'alır) LSB ve öncekisi). Örneğin altı bitlik görev döngüsü modülasyonu ile böyle bir yaklaşım kullanılması, 32/64 görev döngüsü dalgasının PWM saatinin yarısının frekansı ile temsil edileceği anlamına gelir, PWM saatinin 1/64 frekansı ile kare dalga yerine. Bir 33/64 görev döngüsü çoğunlukla PWM saatinin yarısının bir frekansı ile temsil edilir, ancak bazı ekstra yüksek darbeler atılır.
İşte bahsettiğim şeyin bir demosu.
Şimdiye kadar verilen tüm büyük cevaplar, iyi yazılmış ve alakalı, ancak çoğu zaman en iyi cevabın daha iyi bir soruya ihtiyacı vardır.
"En iyi RC?" Yi düşündüğünüzde, herhangi bir tasarım için hangi varsayımların göz önünde bulundurulması gerekir;
Filtrenin empedansı, kaynak ve yük empedansına göre nedir?
Kritik değilse, kaynak ve yük arasında R seçin. Ancak CMOS sürücüsü 10 ~ 100 value ise ve yük 100K say ise, DC kaybında% 0,3 doğruluk istiyorsanız, R R yükünün R <<% 0,3'ü seçin veya "empedans oran yöntemi" olarak adlandırdığımı söyleyin yükleme hususları için burada R <0.003 * 1e5 = 300Ω. Bu R seçimi kritik değildir, ancak filtre yüklememeye dikkat etmelisiniz, bu nedenle DC kaybı ve AC reddi hakkında hızlı hesaplama için empedans oranlarını seçebilirsiniz .
Bir kapasitör empedans oranı ölçütünün empedansını bildiğinizi varsayarsak basit bir çözümdür. Aksi takdirde, kaynağın ve yükün ortasında bir empedans bulmak için, Rf'nin kaynak, Rs ve yük Rl'yi orta aralık için bir yöntem olarak filtre RC değeri olduğu bir yöntem Rf = √ (Rs * Rl) düşünün.
Tasarımla ilgili güzel bir şey, ölçütlerinize bağlı olarak, RC değeri için genellikle birden fazla "en iyi" cevap vardır. :)
PWM dijitalden analog alçak geçiren filtrede en iyi RC zaman sabitini mi belirleyeceksiniz?
En iyi cevap farklı sorulara bağlıdır;
? Orijinal verinin spektrumu nedir? BW =? ? PWM taşıyıcının ne kadar reddedilmesi kabul edilebilir? Atten = 40dB? 60? 10 ??
Tek başına zaman sabitine dayalı bir filtre tasarlamak, verilerin korunmasının anlaşılmasının önemini ihmal eder. Orijinal sinyali tanımlamak en iyisidir, böylece kişi basit bir "optimum eşleştirilmiş filtre" tasarlayabilir. Orijinal sinyalin korunmasına ve taşıyıcı sinyalinin (PWM f) reddedilmesine dikkat etmeliyiz.
Filtreyi orijinal sinyale eşleştirmek için herhangi bir N'inci sıra LPF'yi seçebilirsiniz. Basit 1 çip anahtarlamalı kapasitör filtreleri veya aktif filtreler en iyi sonuçları verir. LPF tipi orijinal sinyalin eşleşmesi kriterlerine bağlıdır.
En İyi Seç = maksimum düz frekans. tepki veya mf grubu gecikmesi veya en dik etekler veya bir Nyquist filtresi 1/2 PWM f.
Sonra bir sonraki en iyi yöntem:
Kusurlu RC filtrelerden gelen voltajdaki titreşim miktarını tanımlar.
Biri RF için bir PLL VCXO tasarlıyorsa ve döngüyü kontrol etmek için PWM kullandıysa, PWM'den sahte yan bantları önemseyebilirsiniz, bu yüzden cevabı aldıktan sonra PWM'de bir çentikli bir LPF düşünmeniz gerekir ;
PWM taşıyıcının ne kadar reddedilmesi kabul edilebilir