W artykule skupimy się na uzyskiwaniu sygnału analogowego (napięcie) z sygnału PWM, a konkretnie na właściwościach tego rozwiązania dla kilku filtrów RC.
PWM - jak sama nazwa wskazuje - jest to współczynnik wypełnienia impulsów. Określają go takie cechy jak okres, z jakim impulsy występują oraz długość tych impulsów. Ponieważ jest to PWM realny i generowany przez np. mikrokontroler, impulsy mają też napięcie.
Aby uzyskać napięcie, sygnał PWM podajemy na filtr. Będą nas interesować poniższe wartości:
1. Czas ustalenia wartości średniej napięcia na wyjściu;
2. Tętnienia przy ustalonej wartości.
Podstawą do rozeznania się w tym temacie będzie prosty filtr RC o stałej czasowej równej okresowi PWM oraz o napięciu 1V. Stała czasowa to iloczyn RC. Przykładowo - gdybyśmy mieli PWM o okresie 1ms (jedna milisekunda), to można dobrać wartości: r = 100kom, c=10nF.
Aby zrobić jakąś analizę wyniku, będziemy liczyć wartość średnią z napięcia za okres PWM oraz wartość tętnień w tym czasie. Interesuje nas więc, ile okresów potrzeba, by napięcie od wartości 0 było dla nas satysfakcjonujące. Ja przyjąłem obliczenia dla wartości dziesiętnej, tzn. kiedy błąd będzie mniejszy niż kolejna cyfra. Dla 50% tak to określiłem:
1 cyfra, gdy wynik >0.4
2 cyfra gdy wynik >0.49
3 cyfra, gdy wynik >0.499
...
(przyjąłem 50% z powodu, że dla 50% są największe tętnienia)
W ten sposób, wraz z każdym przybliżeniem wyniku, otrzymamy czas w okresach, jaki jest potrzebny do osiągnięcia rezultatu oraz wartość tętnień w tym czasie. W celu zwizualizowania sobie osiągniętych rezultatów, i porównania filtrów wprowadzimy i policzymy współczynnik jakości filtracji, określony jako pierwiastek z iloczynu czasu oraz tętnień w relacji do filtra zwykłego RC dla zwykłego PWM. Dla filtra RC wynosi on oczywiście 1. Nie jest to wartość techniczna. Nie mówi, czy coś się nadaje do zastosowania, ale daje możliwość porównania jakości osiągniętego rezultatu.
Oto, co się dzieje na wyjściu, kiedy mając zero, ustawimy wypełnienie na 50%:
jak widać - wartość średnia z każdym okresem zbliża się do zadanej wartości.
Przebieg:
Uc1 = wartość bieżąca na kondensatorze C1
Usr = wartość średnia napięcia na wyjściu za okres T
Upwm = wartość napięcia na wyjściu PWM
Otrzymujemy wyniki: kolejne przybliżenie - czas w okresach - wartość tętnień.
Otrzymamy trzy wykresy z kolejnymi przybliżeniami wartości dziesiętnej, względem:
czasu stabilizacji, tętnień międzyszczytowych oraz ustaloną jakością filtracji.
Opis legendy na wykresach:
- typ filtru
- kolejny numer symulacji
- stała czasowa
- współczynnik impedancji dla kolejnych gałęzi filtra pasywnego
- współczynnik impedancji dla kolejnych gałęzi filtra aktwnego
- zwielokrotnienie PWM
Przy stałej czasowej 1T tętnienia są raczej duże. W niektórych przypadkach może nawet nam coś takiego wystarczyć. A gdyby chcieć osiągnąć lepsze rezultaty? Prosty sposób to zwiększenie stałej czasowej filtra, jednak kosztem czasu, jaki potrzebujemy na stabilizację. Drugi sposób to dołożenie kolejnych stopni RC - czyli filtrów wyższego rzędu. Sprawdźmy więc, co nastąpi w kolejnym etapie.
Filtr 2xRC oraz 3xRC są to filtry drugiego i trzeciego rzędu (po angielsku skróty 2th i 3th).
Zaletami względem filtra RC, w naszym przypadku, jest redukcja tętnień kosztem jednak dłuższego czasu ustalania napięcia. Zalety to również prostota, a ewentualny wzmacniacz operacyjny robiący za bufor wyjściowy nie musi mieć nadzwyczajnych właściwości. Od razu porównamy na wykresie wszystkie 3 filtry RC z opcją zmiany stałej czasowej.
Słabszy czas ustalenia napięcia w tych filtrach można poprawić przez zwiększenie impedancji kolejnego członu RC (większy R, mniejsze C). Zawsze jednakże pozostaje dylemat zbyt dużych rezystancji, których nie można sobie zwiększać dowolnie. Dlatego wariacją może być filtr 3xRC z buforami, czyli zastosowanie wzmacniaczy operacyjnych w rolach bufora separującego kolejne stopnie. Trochę mało praktyczne rozwiązanie, z uwagi na ilość wzmacniaczy, ale zapewni lepsze rezultaty w zakresie ustalenia czasu.
Filtr Sallena-Key'a drugiego rzędu:
Porównanie tego filtra dla 3 różnych współczynników zmiany C2 (1,1 1,2 1,3), z filtrem 2xRC:
Jak widać - lepszy czas ustalania wyniku w porównaniu do 2xRC. Wzmacniacz operacyjny w tym filtrze musi być lepszej jakości ze względu na bezpośrednie sprzężenie z sygnałem wejściowym przez rezystancję R1. Filtr Sallena-Key'a w zależności od doboru impedancji elementów RC oraz wzmocnienia, ma różne własności odpowiedzi impulsowej. Niewielkie (10-20%) zmniejszenie pojemności C2 prowadzi do oscylacji. W zależności od zastosowania plusem może być szybszy czas ustalenia wyniku.
Dla: R1=1.000 R2=1.200 C1=1.000 C2=0.833
overshoot
Filtr trzeciego rzędu, Sallena-Key'a z filtrem RC na wejściu:
Filtr lepszy od poprzednika, zarówno w zakresie tętnień, jak i w fakcie, że sprzężenie z sygnałem wejściowym jest odseparowane przez filtr RC na wejściu, co zmniejsza wymagania odnośnie wzmacniacza. Występuje tu jednak sytuacja podobna co w filtrze 2xRC, że pierwszy człon R1C1 jest obciążony przez kolejny. Mniejsza rezystancja R1 w stosunku do R2 daje lepsze rezultaty w zakresie ustalania wyniku (pamiętając jednak o zmniejszeniu C1, jeśli chcemy zachować stałą czasową).
Porównanie efektów z trzema stałymi czasowymi 1, 3, 9 plus ostatni z mniejszą impedancją pierwszego stopnia RC:
Filtr 4th_1xOPAMP, czwartego rzędu na jednym wzmacniaczu operacyjnym:
Zdecydowałem się na sprawdzenie filtra czwartego rzędu na pojedynczym wzmacniaczu operacyjnym.
Wada: długi czas stabilizacji wyniku.
Zaleta: mniejsze tętnienia oraz fakt użycia jednego wzmacniacza. Także i tutaj zmniejszanie pojemności wraz z kolejnym stopniem RC skutkuje na pewnym etapie oscylacjami, wraz ze zmniejszeniem czasu.
Porównanie efektów z trzema stałymi czasowymi 1, 3, 9:
Filtr podwójny Sallen-Key:
Całkiem krótki czas ustalania plus małe tętnienia. Porównanie efektów z trzema stałymi czasowymi 1, 3, 9:
Wszystkie filtry ze stałą czasową 3:
Pamiętajcie zawsze o błędach:
1. Napięcie z którego powstaje PWM;
2. Obciążenia filtrów innych obwodów, źródła PWM;
3. Tolerancja wartości elementów;
4. Wszelakie błędy wzmacniaczy operacyjnych;
5. Dryfty termiczne elementów;
6. W szczególnych przypadkach dokładność samego zegara PWM.
PWM - jak sama nazwa wskazuje - jest to współczynnik wypełnienia impulsów. Określają go takie cechy jak okres, z jakim impulsy występują oraz długość tych impulsów. Ponieważ jest to PWM realny i generowany przez np. mikrokontroler, impulsy mają też napięcie.
Aby uzyskać napięcie, sygnał PWM podajemy na filtr. Będą nas interesować poniższe wartości:
1. Czas ustalenia wartości średniej napięcia na wyjściu;
2. Tętnienia przy ustalonej wartości.

Podstawą do rozeznania się w tym temacie będzie prosty filtr RC o stałej czasowej równej okresowi PWM oraz o napięciu 1V. Stała czasowa to iloczyn RC. Przykładowo - gdybyśmy mieli PWM o okresie 1ms (jedna milisekunda), to można dobrać wartości: r = 100kom, c=10nF.
Aby zrobić jakąś analizę wyniku, będziemy liczyć wartość średnią z napięcia za okres PWM oraz wartość tętnień w tym czasie. Interesuje nas więc, ile okresów potrzeba, by napięcie od wartości 0 było dla nas satysfakcjonujące. Ja przyjąłem obliczenia dla wartości dziesiętnej, tzn. kiedy błąd będzie mniejszy niż kolejna cyfra. Dla 50% tak to określiłem:
1 cyfra, gdy wynik >0.4
2 cyfra gdy wynik >0.49
3 cyfra, gdy wynik >0.499
...
(przyjąłem 50% z powodu, że dla 50% są największe tętnienia)
W ten sposób, wraz z każdym przybliżeniem wyniku, otrzymamy czas w okresach, jaki jest potrzebny do osiągnięcia rezultatu oraz wartość tętnień w tym czasie. W celu zwizualizowania sobie osiągniętych rezultatów, i porównania filtrów wprowadzimy i policzymy współczynnik jakości filtracji, określony jako pierwiastek z iloczynu czasu oraz tętnień w relacji do filtra zwykłego RC dla zwykłego PWM. Dla filtra RC wynosi on oczywiście 1. Nie jest to wartość techniczna. Nie mówi, czy coś się nadaje do zastosowania, ale daje możliwość porównania jakości osiągniętego rezultatu.
Oto, co się dzieje na wyjściu, kiedy mając zero, ustawimy wypełnienie na 50%:
jak widać - wartość średnia z każdym okresem zbliża się do zadanej wartości.
Przebieg:

Uc1 = wartość bieżąca na kondensatorze C1
Usr = wartość średnia napięcia na wyjściu za okres T
Upwm = wartość napięcia na wyjściu PWM
Otrzymujemy wyniki: kolejne przybliżenie - czas w okresach - wartość tętnień.
1 2 0.2989
2 5 0.2470
3 7 0.2447
4 9 0.2449
5 12 0.2449
6 14 0.2449
7 16 0.2449
8 18 0.2449
9 21 0.2449
Otrzymamy trzy wykresy z kolejnymi przybliżeniami wartości dziesiętnej, względem:
czasu stabilizacji, tętnień międzyszczytowych oraz ustaloną jakością filtracji.



Opis legendy na wykresach:
- typ filtru
- kolejny numer symulacji
- stała czasowa
- współczynnik impedancji dla kolejnych gałęzi filtra pasywnego
- współczynnik impedancji dla kolejnych gałęzi filtra aktwnego
- zwielokrotnienie PWM
Przy stałej czasowej 1T tętnienia są raczej duże. W niektórych przypadkach może nawet nam coś takiego wystarczyć. A gdyby chcieć osiągnąć lepsze rezultaty? Prosty sposób to zwiększenie stałej czasowej filtra, jednak kosztem czasu, jaki potrzebujemy na stabilizację. Drugi sposób to dołożenie kolejnych stopni RC - czyli filtrów wyższego rzędu. Sprawdźmy więc, co nastąpi w kolejnym etapie.
Filtr 2xRC oraz 3xRC są to filtry drugiego i trzeciego rzędu (po angielsku skróty 2th i 3th).


Zaletami względem filtra RC, w naszym przypadku, jest redukcja tętnień kosztem jednak dłuższego czasu ustalania napięcia. Zalety to również prostota, a ewentualny wzmacniacz operacyjny robiący za bufor wyjściowy nie musi mieć nadzwyczajnych właściwości. Od razu porównamy na wykresie wszystkie 3 filtry RC z opcją zmiany stałej czasowej.



Słabszy czas ustalenia napięcia w tych filtrach można poprawić przez zwiększenie impedancji kolejnego członu RC (większy R, mniejsze C). Zawsze jednakże pozostaje dylemat zbyt dużych rezystancji, których nie można sobie zwiększać dowolnie. Dlatego wariacją może być filtr 3xRC z buforami, czyli zastosowanie wzmacniaczy operacyjnych w rolach bufora separującego kolejne stopnie. Trochę mało praktyczne rozwiązanie, z uwagi na ilość wzmacniaczy, ale zapewni lepsze rezultaty w zakresie ustalenia czasu.




Filtr Sallena-Key'a drugiego rzędu:

Porównanie tego filtra dla 3 różnych współczynników zmiany C2 (1,1 1,2 1,3), z filtrem 2xRC:



Jak widać - lepszy czas ustalania wyniku w porównaniu do 2xRC. Wzmacniacz operacyjny w tym filtrze musi być lepszej jakości ze względu na bezpośrednie sprzężenie z sygnałem wejściowym przez rezystancję R1. Filtr Sallena-Key'a w zależności od doboru impedancji elementów RC oraz wzmocnienia, ma różne własności odpowiedzi impulsowej. Niewielkie (10-20%) zmniejszenie pojemności C2 prowadzi do oscylacji. W zależności od zastosowania plusem może być szybszy czas ustalenia wyniku.
Dla: R1=1.000 R2=1.200 C1=1.000 C2=0.833
overshoot
tim value pk-pk
9 0.50028674 0.03136226
17 0.49999980 0.03144019
25 0.50000000 0.03144012
Filtr trzeciego rzędu, Sallena-Key'a z filtrem RC na wejściu:

Filtr lepszy od poprzednika, zarówno w zakresie tętnień, jak i w fakcie, że sprzężenie z sygnałem wejściowym jest odseparowane przez filtr RC na wejściu, co zmniejsza wymagania odnośnie wzmacniacza. Występuje tu jednak sytuacja podobna co w filtrze 2xRC, że pierwszy człon R1C1 jest obciążony przez kolejny. Mniejsza rezystancja R1 w stosunku do R2 daje lepsze rezultaty w zakresie ustalania wyniku (pamiętając jednak o zmniejszeniu C1, jeśli chcemy zachować stałą czasową).
Porównanie efektów z trzema stałymi czasowymi 1, 3, 9 plus ostatni z mniejszą impedancją pierwszego stopnia RC:



Filtr 4th_1xOPAMP, czwartego rzędu na jednym wzmacniaczu operacyjnym:

Zdecydowałem się na sprawdzenie filtra czwartego rzędu na pojedynczym wzmacniaczu operacyjnym.
Wada: długi czas stabilizacji wyniku.
Zaleta: mniejsze tętnienia oraz fakt użycia jednego wzmacniacza. Także i tutaj zmniejszanie pojemności wraz z kolejnym stopniem RC skutkuje na pewnym etapie oscylacjami, wraz ze zmniejszeniem czasu.
Porównanie efektów z trzema stałymi czasowymi 1, 3, 9:



Filtr podwójny Sallen-Key:

Całkiem krótki czas ustalania plus małe tętnienia. Porównanie efektów z trzema stałymi czasowymi 1, 3, 9:



Wszystkie filtry ze stałą czasową 3:



Pamiętajcie zawsze o błędach:
1. Napięcie z którego powstaje PWM;
2. Obciążenia filtrów innych obwodów, źródła PWM;
3. Tolerancja wartości elementów;
4. Wszelakie błędy wzmacniaczy operacyjnych;
5. Dryfty termiczne elementów;
6. W szczególnych przypadkach dokładność samego zegara PWM.
Cool? Ranking DIY