Dzisiaj przeanalizujemy prosty anemometr, skonstruowany w oparciu o samoogrzewającą się parę tranzystorów Darlingtona, którą wykorzystuje się do pomiaru prędkości powietrza. Schemat takiego układu pokazano na rysunku 1.
Rys.1. Układ z samorozgrzewającym się czujnikiem przepływu powietrza bazującym na tranzystorze Darlingtona.
W przedstawionym powyżej obwodzie, Q1 pełni funkcję samorozgrzewającego się czujnika. Jego współczynnik termiczny Vbe przekształca temperaturę na napięcie, które jest następnie przesunięte i przeskalowane przez A2 do zakresu 5 V. Jednocześnie A1 reguluje napięcie referencyjne 200 mV, aby doprowadzić prąd ogrzewający Q1 równy 0,2 V/R3 = 67 mA, co daje stałą moc rozpraszania 67 mA * 4,8 V = 320 mW. Różnica termiki otoczenia i złącza dostarcza odczytu prędkości powietrza, gdy jest chłodzona z różnicą temperatury powyżej otoczenia wynoszącą 64°C przy 0 m³/h, aż do 22°C przy ok. 57 m³/h.
Otrzymany czujnik jest prosty, czuły i w pełni oparty na półprzewodnikach. Jednak cierpi z powodu mocno nieliniowej odpowiedzi na prędkość powietrza, jak pokazano na rysunku 2.
Rys.2. Napięcie wyjściowe Vout w funkcji prędkości przepływu powietrza. Widoczna jest wysoka nieliniowość tego sensora.
Jednym z wartościowych pomysłów jest dodanie linearyzacji z wykorzystaniem logarytmu odwrotnego, jak zaprezentowano na rysunku 3. W tym celu wykorzystano prosty układ konwertera napięcia do częstotliwości (VFC).
Na rysunku 4 przedstawiono, jaki wpływ mają zmiany ze schematu z rysunku 3, jeśli chodzi o liniowość niebieskiej krzywej. Jednakże nadal w środku zakresu obserwowany jest błąd na poziomie 12% pełnej skali. Układ ten jest zdecydowanie daleki od ideału i pozostawia sporo miejsca na dalszą optymalizację.
Rys.4. Liniowość odpowiedzi na prędkość powietrza w układzie z rysunku 3, poprawiona dzięki antylogarytmicznej funkcji sterowania napięciem. Nadal jednak rezultat nie jest doskonały.
Problem ten posiada jeszcze bardziej eleganckie rozwiązanie numeryczne, które praktycznie likwiduje ten mankament i sprawia, że odpowiedź netto jest praktycznie liniowa. Wymaga to jednak digitalizacji sygnału i jego programowej linearyzacji. Zapewnia to błąd na poziomie poniżej 0,2%.
Jednakże konsekwencją przeprowadzenia linearyzacji w dziedzinie cyfrowej po przekształceniu analogowo-cyfrowym, a nie w analogowej przed przekształceniem, jest znaczny wzrost wymaganej rozdzielczości przetwornika ADC, tj. z 11 bitów na 15. Przyjrzyjmy się, dlaczego tak jest.
Uzyskanie liniowego sygnału prędkości powietrza w zakresie od 0 do 2000 stóp na minutę z rozdzielczością 1 stopy na minutę wymagałoby rozdzielczości przetwornika ADC 1 na 2000 = 11 bitów. Jednak analiza krzywej na rysunku 2 ujawnia, że mimo iż pełny zakres sygnału prędkości powietrza wynosi 5 V, zmiana sygnału związana z przyrostem prędkości powietrza o 1999 stóp na minutę do 2000 stóp na minutę stanowi tylko 0,2 mV. Aby więc utrzymać pierwszy sygnał na skali, jednocześnie rozdzielając drugi, wymagana byłaby minimalna rozdzielczość przetwornika ADC 1 na 5 / 0,0002 = 1 na 25 000 = 14,6 bitów.
Przetworniki ADC o rozdzielczości 15 bitów (i wyższej) nie są ani rzadkie, ani szczególnie drogie. Jednakże zazwyczaj nie są one zintegrowanymi podzespołami w mikrokontrolerach. Trzeba je dodawać jako dodatkowe układy scalone na PCB. Wydaje się zatem prawdopodobne, że takie rozwiązanie, o ile w pełni wykonalne, to wiąże się z nadprogramowymi kosztami.
Z uwagi na to, warto zastanowić się, czy istnieje lepszy sposób na linearyzację układu w domenie analogowej. Jeśli tak i jeżeli nie jest zbyt skomplikowany ani kosztowny w implementacji, to mógłby stanowić alternatywę dla rozwiązania cyfrowego o podobnych osiągach, ale bez konieczności korzystania z przetwornika ADC o dużej rozdzielczości. Okazało się, że tak jest. Rysunek 5 prezentuje takie rozwiązanie.
Rys.5. Uwzględnienie rezystora (R6) i zmiana innego (R1) eliminuje nierówności w analogowej linearyzacji z rysunku 3.
Kluczowym elementem poprawy liniowości jest dodany rezystor R6. Działa on poprzez zmniejszenie amplitudy piłokształtnego sygnału czasowego na pinie 2 układu 555, skracając okres działania układu VFC i podnosząc częstotliwość VFC o czynnik korygujący nieliniowość. Daje to wynik przedstawiony na rysunku 6.
Otrzymana funkcja prędkości powietrza odbiega od idealnej liniowości tylko o -0,4% do +0,2%, co przekłada się na odchyłkę -8 do +4 stóp na minutę, jak pokazano na rysunku 6 i 7 (rozszerzona skala).
Rys.6. Poprawiona układem analogowym liniowość, dzięki zmianom w VFC, pokazane jako niebieska i czarna linia.
Trzeba przyznać, że to z pewnością nie jest tak dobre, jak imponujący wynik numeryczny po konwersji, ale być może nadal jest to akceptowalne dla prostej analogowej metody sterowania... Realnie rzecz biorąc, to rozwiązanie rozsądne, które spełnia każde typowe oczekiwanie co do dokładności takiego czujnika.
Źródło: https://www.edn.com/adding-one-resistor-improves-anemometer-analog-linearity-to-better-than-0-5/
Rys.1. Układ z samorozgrzewającym się czujnikiem przepływu powietrza bazującym na tranzystorze Darlingtona.
W przedstawionym powyżej obwodzie, Q1 pełni funkcję samorozgrzewającego się czujnika. Jego współczynnik termiczny Vbe przekształca temperaturę na napięcie, które jest następnie przesunięte i przeskalowane przez A2 do zakresu 5 V. Jednocześnie A1 reguluje napięcie referencyjne 200 mV, aby doprowadzić prąd ogrzewający Q1 równy 0,2 V/R3 = 67 mA, co daje stałą moc rozpraszania 67 mA * 4,8 V = 320 mW. Różnica termiki otoczenia i złącza dostarcza odczytu prędkości powietrza, gdy jest chłodzona z różnicą temperatury powyżej otoczenia wynoszącą 64°C przy 0 m³/h, aż do 22°C przy ok. 57 m³/h.
Otrzymany czujnik jest prosty, czuły i w pełni oparty na półprzewodnikach. Jednak cierpi z powodu mocno nieliniowej odpowiedzi na prędkość powietrza, jak pokazano na rysunku 2.
Rys.2. Napięcie wyjściowe Vout w funkcji prędkości przepływu powietrza. Widoczna jest wysoka nieliniowość tego sensora.
Jednym z wartościowych pomysłów jest dodanie linearyzacji z wykorzystaniem logarytmu odwrotnego, jak zaprezentowano na rysunku 3. W tym celu wykorzystano prosty układ konwertera napięcia do częstotliwości (VFC).
Na rysunku 4 przedstawiono, jaki wpływ mają zmiany ze schematu z rysunku 3, jeśli chodzi o liniowość niebieskiej krzywej. Jednakże nadal w środku zakresu obserwowany jest błąd na poziomie 12% pełnej skali. Układ ten jest zdecydowanie daleki od ideału i pozostawia sporo miejsca na dalszą optymalizację.
Rys.4. Liniowość odpowiedzi na prędkość powietrza w układzie z rysunku 3, poprawiona dzięki antylogarytmicznej funkcji sterowania napięciem. Nadal jednak rezultat nie jest doskonały.
Problem ten posiada jeszcze bardziej eleganckie rozwiązanie numeryczne, które praktycznie likwiduje ten mankament i sprawia, że odpowiedź netto jest praktycznie liniowa. Wymaga to jednak digitalizacji sygnału i jego programowej linearyzacji. Zapewnia to błąd na poziomie poniżej 0,2%.
Jednakże konsekwencją przeprowadzenia linearyzacji w dziedzinie cyfrowej po przekształceniu analogowo-cyfrowym, a nie w analogowej przed przekształceniem, jest znaczny wzrost wymaganej rozdzielczości przetwornika ADC, tj. z 11 bitów na 15. Przyjrzyjmy się, dlaczego tak jest.
Uzyskanie liniowego sygnału prędkości powietrza w zakresie od 0 do 2000 stóp na minutę z rozdzielczością 1 stopy na minutę wymagałoby rozdzielczości przetwornika ADC 1 na 2000 = 11 bitów. Jednak analiza krzywej na rysunku 2 ujawnia, że mimo iż pełny zakres sygnału prędkości powietrza wynosi 5 V, zmiana sygnału związana z przyrostem prędkości powietrza o 1999 stóp na minutę do 2000 stóp na minutę stanowi tylko 0,2 mV. Aby więc utrzymać pierwszy sygnał na skali, jednocześnie rozdzielając drugi, wymagana byłaby minimalna rozdzielczość przetwornika ADC 1 na 5 / 0,0002 = 1 na 25 000 = 14,6 bitów.
Przetworniki ADC o rozdzielczości 15 bitów (i wyższej) nie są ani rzadkie, ani szczególnie drogie. Jednakże zazwyczaj nie są one zintegrowanymi podzespołami w mikrokontrolerach. Trzeba je dodawać jako dodatkowe układy scalone na PCB. Wydaje się zatem prawdopodobne, że takie rozwiązanie, o ile w pełni wykonalne, to wiąże się z nadprogramowymi kosztami.
Z uwagi na to, warto zastanowić się, czy istnieje lepszy sposób na linearyzację układu w domenie analogowej. Jeśli tak i jeżeli nie jest zbyt skomplikowany ani kosztowny w implementacji, to mógłby stanowić alternatywę dla rozwiązania cyfrowego o podobnych osiągach, ale bez konieczności korzystania z przetwornika ADC o dużej rozdzielczości. Okazało się, że tak jest. Rysunek 5 prezentuje takie rozwiązanie.
Rys.5. Uwzględnienie rezystora (R6) i zmiana innego (R1) eliminuje nierówności w analogowej linearyzacji z rysunku 3.
Kluczowym elementem poprawy liniowości jest dodany rezystor R6. Działa on poprzez zmniejszenie amplitudy piłokształtnego sygnału czasowego na pinie 2 układu 555, skracając okres działania układu VFC i podnosząc częstotliwość VFC o czynnik korygujący nieliniowość. Daje to wynik przedstawiony na rysunku 6.
Otrzymana funkcja prędkości powietrza odbiega od idealnej liniowości tylko o -0,4% do +0,2%, co przekłada się na odchyłkę -8 do +4 stóp na minutę, jak pokazano na rysunku 6 i 7 (rozszerzona skala).
Rys.6. Poprawiona układem analogowym liniowość, dzięki zmianom w VFC, pokazane jako niebieska i czarna linia.
Trzeba przyznać, że to z pewnością nie jest tak dobre, jak imponujący wynik numeryczny po konwersji, ale być może nadal jest to akceptowalne dla prostej analogowej metody sterowania... Realnie rzecz biorąc, to rozwiązanie rozsądne, które spełnia każde typowe oczekiwanie co do dokładności takiego czujnika.
Źródło: https://www.edn.com/adding-one-resistor-improves-anemometer-analog-linearity-to-better-than-0-5/
Fajne? Ranking DIY
