Szukam najlepszej stałej czasowej RC i jej przyczyny w PWM do konwersji sygnału cyfrowego na analogowy na podstawie cyklu pracy i częstotliwości oraz innych parametrów. Częstotliwość PWM wynosi 10 kHz.
Szukam najlepszej stałej czasowej RC i jej przyczyny w PWM do konwersji sygnału cyfrowego na analogowy na podstawie cyklu pracy i częstotliwości oraz innych parametrów. Częstotliwość PWM wynosi 10 kHz.
Odpowiedzi:
Najlepszy RC jest nieskończony, wtedy masz idealnie pozbawioną tętnień moc wyjściową DC. Problem polega na tym, że reakcja na zmiany w cyklu pracy trwa zawsze. Więc zawsze jest to kompromis.
Filtr RC pierwszego rzędu ma częstotliwość odcięcia wynoszącą
i roll-off 6 dB / oktawę = 20 dB / dekadę. Wykres pokazuje charakterystykę częstotliwości dla częstotliwości odcięcia 0,1 Hz (niebieski), 1 Hz (fioletowy) i 10 Hz (inny kolor).
Widzimy więc, że dla filtra 0,1 Hz podstawa 10 kHz sygnału PWM jest tłumiona o 100 dB, co nie jest złe; da to bardzo niskie tętnienie. Ale!
Ten wykres pokazuje odpowiedź krokową dla trzech częstotliwości odcięcia. Zmiana cyklu pracy jest krokiem w poziomie prądu stałego i pewną zmianą harmonicznych sygnału 10 kHz. Krzywa z najlepszym tłumieniem 10 kHz jest najwolniejsza w odpowiedzi, oś x to sekundy.
Ten wykres pokazuje czas reakcji 30 µs RC (częstotliwość graniczna 5 kHz) dla 50% cyklu roboczego sygnału 10 kHz. Występuje ogromne tętnienie, ale reaguje na zmianę z 0% cyklu pracy w 2 okresach lub 200 µs.
Jest to czas RC 300 µs (częstotliwość graniczna 500 Hz). Nadal niektóre tętnienia, ale przejście od 0% do 50% cyklu pracy zajmuje około 10 okresów lub 1 ms.
Dalsze zwiększanie RC do milisekund spowoduje dalsze zmniejszenie tętnienia i wydłuży czas reakcji. Wszystko zależy od tego, na ile tętnienia możesz sobie pozwolić i jak szybko chcesz reagować filtr na zmiany cyklu pracy.
Ta strona oblicza, że dla R = 16 kΩ i C = 1 µF mamy częstotliwość odcięcia 10 Hz, czas ustalania do 90% z 37 ms dla tętnienia szczytowego 8 mV przy maks. 5 V.
edytuj
Możesz poprawić swój filtr, przechodząc do wyższych zamówień:
Niebieska krzywa była zwykłym filtrem RC z 20 dB / dekadą. Filtr drugiego rzędu (fioletowy) ma tłumienie 40 dB / dekadę, więc dla tej samej częstotliwości odcięcia będzie miał tłumienie 120 dB przy 10 kHz zamiast 60 dB. Te wykresy są dość idealne i można je najlepiej uzyskać za pomocą aktywnych filtrów, takich jak klucz Sallen.
Równania
Napięcie tętnienia szczytowego dla filtra RC pierwszego rzędu w zależności od częstotliwości PWM i stałej czasowej RC:
E&OE. „d” oznacza cykl pracy, 0..1. Fala jest największa dla d = 0,5.
Odpowiedź krokowa na 99% wartości końcowej wynosi 5 x RC.
Częstotliwość odcięcia dla filtra Sallen-Key:
W przypadku filtra Butterwortha (maksymalne płaskie): R1 = R2, C1 = C2
Jak powiedział Steven, jest to kompromis między tłumieniem częstotliwości PWM a czasem odpowiedzi. Dlatego każda taka decyzja musi zaczynać się od specyfikacji tego, czego chcesz od powstałego sygnału analogowego. Jaki musi być stosunek sygnału do szumu, a przynajmniej ile szumów na częstotliwości PWM można tolerować? Jak szybko musi osiąść na poziomie hałasu? Lub na odwrót, na jakiej częstotliwości jesteś zainteresowany?
Należy pamiętać, że spełnienie określonego zestawu kryteriów przy określonym wyjściu PWM może nie być możliwe. Powiedzmy, że chcesz dobrej jakości dźwięku. Powiemy, że to do 8 kHz i 60 dB sygnału do szumu. Tak się nie stanie z żadnym rozsądnie wykonalnym filtrem analogowym z PWM 20 kHz, a na pewno nie z czymś tak prostym jak pojedynczy R i C.
Jako przykład, spójrzmy wstecz i zobaczmy, jakie cechy charakterystyczne PWM musiałyby być, aby obsługiwać powyższy przykład głosu za pomocą pojedynczego filtra R, C. Powiedzieliśmy już, że częstotliwość wycofywania -3 dB wynosi 8 kHz, więc na tym ustawiliśmy R i C. Częstotliwość wycofywania pojedynczego filtra R, C wynosi:
F = 1 / (2 π RC)
Kiedy R jest w omach, C w faradach, wtedy F jest w hercach. Powinno być oczywiste, że to równanie można zmienić, aby rozwiązać dla dowolnego z R, C lub F, biorąc pod uwagę dwa pozostałe. Trzymam 1 / (2 π) = .15915 zawsze w rejestrze w moim kalkulatorze, ponieważ obliczenia te pojawiają się regularnie w elektronice. Następnie po prostu dzielę to przez dwa z R, C lub F, aby uzyskać trzeci.
Mamy dwa stopnie swobody, a powyższe równanie ogranicza tylko jeden z nich. Drugi może być uważany za impedancję, jaką ma mieć uzyskany sygnał. Strzelajmy dla około 10 kΩ, co zrobimy R, aby zobaczyć, do czego dochodzi C:
1 / (2 π 8kHz 10kΩ) = 1,99 nF
To w zasadzie standardowa wartość kondensatora 2 nF, więc po prostu pójdziemy z tym. Gdyby nie osiągnęła wspólnej wartości, wybralibyśmy wartość bliską, a następnie wróciliśmy i odpowiednio dostosowaliśmy R. Rezystory są dostępne w znacznie drobniejszych wariantach i przy wyższych tolerancjach niż zwykłe kondensatory, więc zwykle znajdujesz bliską wartość kondensatora, a następnie pozwól, aby sterowała dokładną wartością rezystora.
Więc ustaliliśmy R = 10 kΩ i C = 2 nF. Należy pamiętać, że wynika to z wymogu górnej częstotliwości 8 kHz. Nie mamy już wyboru, więc czas ustalania i stosunek sygnału do szumu będą takie, jakie będą. Wszystko, co możemy teraz zrobić, to ustalić, czy będzie wystarczająco dobre, czy też odwrotnie, jakie charakterystyki PWM byłyby konieczne do obsługi specyfikacji sygnału wyjściowego.
Ponieważ specyfikacja była stosunkiem sygnału do szumu wynoszącym 60 dB, oznacza to, że hałas musi być mniejszy niż 1 część na 1000 napięcia, co oznacza, że częstotliwość PWM musi zostać znacznie osłabiona. Pojedynczy filtr R, C tłumi odwrotnie proporcjonalnie do częstotliwości po częstotliwości wycofania. Jest to przybliżenie, które załamuje się w pobliżu częstotliwości wycofywania i poniżej, ale jest wystarczające w większości przypadków po oktawie lub dwóch powyżej częstotliwości wycofywania. Innymi słowy, 16 kHz będzie tłumione przez 2 z pewnym błędem, 32 kHz przez 4 z mniejszym błędem, a następnie możesz właściwie podzielić interesującą częstotliwość przez częstotliwość wycofywania, aby uzyskać tłumienie. Chcemy, aby częstotliwość PWM była tłumiona o 1000, co oznacza, że musi ona wynosić 8 MHz lub więcej. To wysokie, ale wykonalne w przypadku niektórych procesorów. Na przykład,
Teraz spójrzmy na rozdzielczość PWM. Ponownie, jest to napędzane przez specyfikację 60 dB sygnału do szumu, co wiemy już oznacza 1: 1000. Wymagałoby to rozdzielczości PWM wynoszącej co najmniej 999 (zawsze otrzymujesz jeden poziom wyjściowy wyższy niż rozdzielczość PWM). Oznacza to, że wewnętrzny zegar wycinania PWM musi działać 999 razy częściej niż częstotliwość wyjściowa PWM 8 MHz, czyli w zasadzie 8 GHz. Nie stanie się tak z rozsądnie dostępnymi częściami z półki.
Istnieje jednak sposób na obejście tych ograniczeń, polegający na użyciu więcej niż jednego filtra R, C. Kiedy chcę ładny sygnał analogowy, zwykle używam dwóch lub trzech z nich kolejno. Zobaczmy, jak zastosowanie trzech kolejnych filtrów R, C zmienia rzeczy.
Początkowo mówiliśmy, że nasza górna interesująca częstotliwość wynosi 8 kHz, co oznacza, że możemy tolerować obniżenie o 3 dB, chyba że powiemy inaczej. Pojedynczy filtr R, C tłumi się o 3 dB przy częstotliwości wycofywania, więc ustawiliśmy go na poziomie 8 kHz. Nie możemy mieć trzech filtrów przy 8 kHz, ponieważ osłabiłyby one łącznie o 9 dB. Więc usuwamy filtry według liczby biegunów (w tym przypadku osobne filtry R, C).
Trzy filtry R, C (trzy bieguny) mają zatem częstotliwość 24 kHz. Wydaje się, że robiąc to, straciliśmy grunt, ale dużą zaletą jest to, że częstotliwości powyżej, które są teraz tłumione przez stosunek kostki zamiast tylko stosunku jak w przypadku pojedynczego bieguna. Ponownie chcemy, aby częstotliwość PWM była tłumiona o 1000, czyli 10 ^ 3, więc musimy tylko 10 razy przekraczać częstotliwości filtrowania, co oznacza, że 240 kHz jest wystarczająco wysokie. To duża różnica od 8 MHz. Teraz wewnętrzny zegar PWM lub częstotliwość wycinania PWM musi wynosić tylko 240 MHz. To wciąż wysoki, ale osiągalny.
Mam nadzieję, że dzięki temu uzyskałeś wgląd w problemy. Jeśli podasz konkretne specyfikacje, możemy przepracować określone wartości dla twojego przypadku.
Możliwe jest poprawienie wydajności w stosunku do pojedynczego RC za pomocą kaskadowych stopni RC. Nie można uzyskać tak dobrej wydajności w czystym wielostopniowym filtrze pasywnym RC, jak można uzyskać z filtrów aktywnych, ale wydajność może być jednak lepsza niż w przypadku pojedynczego stopnia. Niestety nie znam żadnych konkretnych dobrych metod obliczania optymalnych wartości RC.
Należy również zauważyć, że chociaż modulacja szerokości impulsu jest najczęstszą formą modulacji cyklu pracy, nie jest jedyna. Jednym prostym podejściem, które może być bardzo przydatne w przypadkach, w których docelowe napięcie wyjściowe nie zmienia się zbyt często, a prawdopodobieństwo, że wyjście znajduje się bliżej środka zakresu niż na krawędziach, jest generowanie zestawu sygnałów przez obliczanie (bieżąca wartość licznika ”, a nie„ poprzednia wartość licznika) oraz ORAZ ten sygnał z bitami żądanej wartości danych, w odwrotnej kolejności (tak, że MSB wartości danych zostaje AND'owany xor bieżącego licznika LSB i poprzedni). Zastosowanie takiego podejścia z np. Sześciobitową modulacją cyklu roboczego oznaczałoby, że fala cyklu roboczego 32/64 będzie reprezentowana przez częstotliwość równą połowie zegara PWM, zamiast fali prostokątnej o częstotliwości 1/64 zegara PWM. Cykl pracy 33/64 byłby reprezentowany głównie przez częstotliwość równą połowie zegara PWM, ale z dodatkowymi wysokimi impulsami.
Oto demo tego, o czym mówię.
Wszystkie udzielone do tej pory wspaniałe odpowiedzi, dobrze napisane i odpowiednie, ale często najlepsza odpowiedź wymaga lepszego pytania.
Kiedy rozważasz „najlepszą ilość RC?”, Jakie założenia należy wziąć pod uwagę przy każdym projekcie;
Czym jest impedancja filtra w stosunku do impedancji źródła i obciążenia?
Jeśli nie jest to krytyczne, wybierz R pomiędzy źródłem a ładowaniem. Powiedzmy jednak, że jeśli sterownik CMOS ma wartość 10 ~ 100 Ω i że obciążenie wynosi 100 kΩ, ale chcesz dokładności 0,3% w przypadku utraty prądu stałego, wybierz R << 0,3% obciążenia R lub, jak to nazywam, „metoda impedancji” dla rozważań dotyczących ładowania, więc tutaj R <0,003 * 1e5 = 300Ω. Ten wybór R nie jest krytyczny, ale musisz uważać, aby nie załadować filtra, więc możesz wybrać współczynniki impedancji do szybkiego obliczenia strat prądu stałego i odrzucenia prądu przemiennego.
Zakładając, że znasz impedancję kryteriów współczynnika impedancji kondensatora, jest prostym rozwiązaniem. W przeciwnym razie, aby znaleźć impedancję pośrodku źródła i obciążenia, rozważ jedną metodę Rf = √ (Rs * Rl), gdzie Rf jest wartością RC filtru dla źródła, Rs i obciążenia Rl jako jedną metodą dla środkowego zakresu.
Zaletą projektowania jest to, że zależy od twoich kryteriów, często istnieje wiele „najlepszych” odpowiedzi na wartość RC. :)
Czy określić najlepszą stałą czasową RC w filtrze dolnoprzepustowym cyfrowo-analogowym PWM?
Najlepsza odpowiedź zależy od różnych pytań;
? Jakie jest spektrum oryginalnych danych? BW =? ? Jak duże odrzucenie nośnika PWM jest dopuszczalne? Atten = 40dB? 60? 10 ??
Projektowanie filtra opartego tylko na stałej czasowej pomija większe znaczenie zrozumienia zachowania danych. Najlepiej jest zdefiniować oryginalny sygnał, aby można było zaprojektować prosty „optymalnie dopasowany filtr”. Musimy dbać o zachowanie oryginalnego sygnału i odrzucenie sygnału nośnego (PWM f).
Możesz wybrać dowolny LPF n-tego rzędu, aby dopasować filtr do oryginalnego sygnału. Proste 1-czipowe przełączane filtry kondensatorów lub filtry aktywne dają najlepsze wyniki. Rodzaj LPF zależy od kryteriów dopasowania oryginalnego sygnału.
Wybierz Best = maksymalnie płaski freq. odpowiedź, opóźnienie grupy MF lub najbardziej strome spódnice lub filtr Nyquista do 1/2 PWM f.
Następnie następna najlepsza metoda:
określ ilość drgań w napięciu z niedoskonałych filtrów RC.
Jeśli projektowałeś PLL VCXO dla RF i używałeś PWM do sterowania pętlą, możesz zainteresować się fałszywymi pasmami bocznymi z PWM, więc powinieneś rozważyć LPF z wycięciem na PWM. To jest łatwe, gdy znajdziesz odpowiedź;
Jak duże jest odrzucenie nośnika PWM