Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Obwód z mostkiem zmiennoprądowymi wykorzystany do pomiaru nieznanej pojemności

ghost666 25 Lis 2019 23:16 1452 10
  • Obwód z mostkiem zmiennoprądowymi może być wykorzystany do pomiaru nieznanej pojemności czujnika, takiego jak na przykład czujnik wilgotności względnej (RH). Niektóre czujniki wilgotności względnej zmieniają swoją pojemność w funkcji zmian wilgotności. Zwykle wartość zmiany pojemności (∆C) od 0% do 100% wilgotności jest dość mała. Zastosowanie cyfrowo programowalnej macierzy kondensatorów, takiej jak scalony układ NCD2400, który charakteryzuje się wysoką rozdzielczością i niewielkim krokiem pojemności, pozwala na użycie standardowego mostka zmiennoprądowego do pomiaru nieznanej pojemności sensora wilgotności.

    NCD2400 jest układem sterowanym cyfrowo poprzez interfejs I²C. Dostępny jest w niewielkiej obudowie DFN. Układ ten oferuje szeroki zakres pojemności i nieulotną pamięć, zapamiętującą stan cyfrowego kondensatora. Dostępne jest 512 poziomów pojemności, konfigurowanych poprzez szeregowy interfejs I²C. Rysunek 1 przedstawia przykładowy obwód wykorzystujący ten układ w mostku do pomiaru pojemności sensora wilgotności.

    Obwód z mostkiem zmiennoprądowymi wykorzystany do pomiaru nieznanej pojemności
    Rys.1. Wykorzystanie cyfrowo programowalnej macierzy kondensatorów NCD2400 o wysokiej rozdzielczości może pomóc w określeniu wartości nieznanej pojemności i wilgotności względnej przy użyciu standardowego mostka zmiennoprądowego.


    Układ pokazany na rysunku 1 działa jako prosty obwód mostka zmiennoprądowego z dopasowanymi wartościami rezystora i stabilnym źródłem wzbudzenia o stałej częstotliwości. Pojemność Cbulk można ustawić na 0% RH pojemności określonego czujnika wilgotności względnej, który zostanie użyty. Na przykład, jak pokazano na rysunku 2, pojemność dla wilgotności 0% wynosi około 270 pF. Ustawienie stałego kondensatora w mostku o tej przybliżonej wartości pozwala na przemieszczenie zakresu zmienności kondensatora cyfrowego z 12,5 pF do 60 pF w krokach po 355 fF (w tym przykładzie 133 wartości dyskretnych dla całego zakresu). Ta pojemność skokowa koreluje się z rozpiętością od 282,5 pF do 330 pF dla zakresu od 0% do 100% wilgotności względnej, jak pokazano na rysunku 2.

    Obwód z mostkiem zmiennoprądowymi wykorzystany do pomiaru nieznanej pojemności
    Rys.2. Pojemność dla wilgotności 0% wynosi około 270 pF.


    Ponieważ pojemność w mostku jest zmieniana przez zapisywanie do NDC2400 kolejnych wartości od niskiej do wysokiej pojemności, wzmacniacz różnicowy wyprowadza napięcie różnicowe na mostku. Gdy ADC lub µC wykryje minimalne napięcie, wartość pojemności ustawionej w cyfrowym kondensatorze odpowiada pojemności czujnika wilgotności. W tym momencie wartość kondensatora może zostać użyta do określenia względnej wilgotności.

    Kalibracja

    Kalibracja systemu jest krytyczna, a system jest zwykle kalibrowany w komorze wilgotnościowej, aby określić krzywą kalibracji czujnika. Ponieważ zależność między wilgotnością względną a pojemnością niekoniecznie jest liniowa, kalibracja zazwyczaj wykorzystuje funkcję kwadratową, która łączy pojemność Cp z pojemnością sensora. Zależność tą określają trzy parametry.

    $$RH = A \times C_p^2 + B \times C_p + C$$

    gdzie Cp to pojemność czujnika, a A, B, C to uzyskane podczas kalibracji współczynniki.

    Zastąpienie w funkcji przejścia Cp wartością pojemności uzyskaną za pomocą NCD i zerowanie obwodu da wynik RH. Wynik wilgotności, wraz ze zmierzoną wartością temperatury z czujnika temperatury jak na rysunku 1, jest następnie wykorzystywany do obliczenia wartości wilgotności z kompensacją uwzględniającą temperaturę, ponieważ zapewni to największą dokładność pomiaru.

    Pomiar wilgotności względnej jest dosyć złożonym zadaniem i należy wziąć pod uwagę wszystkie niepewności pomiaru. Na szczęście, jeśli kalibracja jest przeprowadzana na poziomie gotowego systemu, wiele pojemności wprowadzających normalnie błędy, jest usuwana i nie trzeba ich uwzględniać.

    Źródło: https://www.edn.com/design/test-and-measurement/4462064/Measure-humidity-with-an-RH-bridge-and-digitally-programmable-capacitor

    Fajne! Ranking DIY
    Potrafisz napisać podobny artykuł? Wyślij do mnie a otrzymasz kartę SD 64GB.
    O autorze
    ghost666
    Tłumacz Redaktor
    Offline 
    Fizyk z wykształcenia. Po zrobieniu doktoratu i dwóch latach pracy na uczelni, przeszedł do sektora prywatnego, gdzie zajmuje się projektowaniem urządzeń elektronicznych i programowaniem. Od 2003 roku na forum Elektroda.pl, od 2008 roku członek zespołu redakcyjnego.
    ghost666 napisał 9436 postów o ocenie 7364, pomógł 157 razy. Mieszka w mieście Warszawa. Jest z nami od 2003 roku.
  • #2
    osctest1
    Poziom 21  
    a po co tak skomplikowanie
    Obwód z mostkiem zmiennoprądowymi wykorzystany do pomiaru nieznanej pojemności

    Wiele uC ma wbudowane komparatory (nie dotyczy AVR). Wystarczy zmierzyć częstotliwość.
  • #3
    abant
    Poziom 5  
    Po co tak skomplikowanie ?
    Ano metody mostkowe są jednymi z najprecyzyjniejszych metod pomiarowych.
    Praktycznie dokładność jest porównywalna z dokładnością wzorca.
    Przy Twoim układzie (nie) dokładność zależy od bardzo wielu czynników.
    Mierzysz w nim właściwie stałą czasową - dla danych z artykułu i Twojego układu 2,85 - 3.3uS
    Z tym, że Twój pomiar obarczony jest błędami.
    Pierwszy - taki parametr komparatora jak "propagation delay".
    Przykładowo w DS do STM32L1152 masz wartość typowo 3uS do max 10us (dla komparatora 1, dla 2 niewiele lepiej)
    Nie masz żadnych danych czy ten czas zależy od egzemplarza MCU, temperatury, napięcia zasilania czy czegokolwiek innego.
    Już samo porównanie tych czasów dyskwalifikuje Twój pomysł jako metodę pomiarową, co najwyżej jako orientacyjny wskaźnik.
    A trzeba jeszcze pamiętać, że swój udział w niedokładnościach dołożą: rezystory 1,5k, napięcie zasilania, offset komparatora itd.

    Co do AVR to najprostsze attiny402 go posiada, a zachwalany przez Ciebie jako AVRkiller STM32G030 nie bardzo.
  • #4
    maciej_333
    Poziom 34  
    W uzupełnieniu do wypowiedzi kolegi Abant należy dodać, że znaczenie ma też niewielka zmiana pojemności takiego czujnika (parametrycznego przetwornika pierwotnego). Zatem tu pojawi się problem z czułością. W odpowiednio wykonanym mostku łatwo uzyskuje się wysoką czułość.
  • #5
    osctest1
    Poziom 21  
    abant napisał:
    Nie masz żadnych danych czy ten czas zależy od egzemplarza MCU, temperatury, napięcia zasilania czy czegokolwiek innego.
    A jakie ma to znaczenie? (To przykład myślenia analogowego kiedy mówimy o uC)
    Obwód z mostkiem zmiennoprądowymi wykorzystany do pomiaru nieznanej pojemności

    Nie podłączamy układu mierzonego i mierzymy tylko ten znany wzorcowy. Potem podłączamy mierzony i mamy praktycznie zależność liniową pomiędzy tą częstotliwością kalibracyjną a aktualnie mierzoną w zależności od pojemności mierzonej.

    Wszystkie niedokładności rezystorów i krzemu zostają uwzględnione. Po to masz uC

    Chcemy to robić automatycznie - dodajemy mosfet.

    Dokładność pomiarów jest bardzo wysoka. Sprawdzone praktycznie.
  • #6
    maciej_333
    Poziom 34  
    Widać, że nie wiesz o czym piszesz. Jakąś kalibrację (obecnie adiustację) można przeprowadzić, ale czas propagacji tego komparatora z pewnością może od czegoś zależeć (temperatura, napięcie zasilania). Jak to uwzględnisz? O ile zasilanie może być stabilizowane, to gorzej z temperaturą. Nie ma liniowej zależności pomiędzy pojemnością a częstotliwością. Jest natomiast pomiędzy okresem a pojemnością.

    Stała czasowa to tutaj w przybliżeniu Rt*Ct. Rt nie może mieć dużej wartości, bo rezystancja wejściowa komparatorów w mikrokontrolerach jest niewielka. Jeśli Rt ma 10 kΩ i Ct zmieni się np. z 300 pF do 320 pF, to ΔCt wynosi 20 pF. Delta dla stałej czasowej to 0,2 µs. Właśnie o tyle zmieni Ci się okres sygnału. Odpowiada to i tak dużej zmianie wilgotności. Żeby to wykryć (na poziomie 1 LSB) musiałbyś mieć zegar timera co najmniej 5 MHz. Jednak wtedy będzie jakieś 20 % RH na 1 LSB. Zatem trzeba zastosować częstotliwość zegara choćby 50 MHz, by uzyskać raptem 2 % RH na 1 LSB. Oczywiście w ARM coś takiego jeszcze dałoby się zrealizować, ale ma to już swoje wady. Dalej widzisz sens w tej drodze?

    Zwróć uwagę, że nigdzie nie stosuje się w układach kondycjonowania sygnałów z czujników takiego układu. Wykorzystuje się natomiast mostki i dzielniki napięciowe (szeregowo z czujnikiem dodaje się rezystor i bada sygnał zasilający wraz z występującym na czujniku).
  • #7
    osctest1
    Poziom 21  
    maciej_333 napisał:
    Widać, że nie wiesz o czym piszesz. J
    OK, cieszę się, że Ty wiesz. Ale chyba nie do końca drogi Kolego. Pomiar IC jest tylko jedną z metod pomiaru częstotliwości (w tym przypadku akurat mocno średnio dobrą). Dużo lepiej jest podać taki sygnał na wejście zegarowe timera. W takim układzie pracuje jedno z moich urządzeń (na STM32F3) gdzie pracuje na raz 6 kompatarotów, każdy z nich mierzą pojemność 4 układów (multipleksowane poprzez mosfety).

    Jak już pisałem jest to ukłąd sprawdzony praktycznie.

    maciej_333 napisał:
    Nie ma liniowej zależności pomiędzy pojemnością a częstotliwością
    W układzie z wzorcowym kondensatorem jest prawie liniowa zależność pomiędzy Cx/Cp a zmianą częstotliwości. Tak że matematyka jest raczej prosta. Oczywiście dotyczy to mających sens wartości pojemności mierzonej. Przy innych trzeba dobrać sobie inny kondensator wzorcowy.

    Dodano po 11 [minuty]:

    maciej_333 napisał:
    to gorzej z temperaturą
    Nie wiem dlaczego gorzej. Czy temperatura może się znacząco zmienić w czasie mierzenia (powiedzmy 10 - 100ms)?
  • #8
    abant
    Poziom 5  
    osctest1 napisał:
    W układzie z wzorcowym kondensatorem jest prawie liniowa zależność pomiędzy Cx/Cp a zmianą częstotliwości. Tak że matematyka jest raczej prosta. Oczywiście dotyczy to mających sens wartości pojemności mierzonej. Przy innych trzeba dobrać sobie inny kondensator wzorcowy.

    Zapomniałeś tylko dodać, że piszesz o przypadku z zerowym czasem reakcji komparatora, a nie tego samego rzędu co stała czasowa układu.
    Prosimy więc o  tą prostą matematykę z jego uwzględnieniem
    Poza tym Twój "prosty" układ już się rozbudował o wzorzec, układ przełączania i procesor.
    Stopniem skomplikowania zaczyna już przypominać krytykowany układ, dokładnością niestety jeszcze nie.
  • #9
    maciej_333
    Poziom 34  
    Kolego Osctest1 widać, że jesteś jeszcze bardzo młody. Twoje rozwiązanie z przełączaniem czujników jest bardzo skomplikowane. Teraz zrozumiałem Twoją intencję z pomiarem dwu etapowym. Jednak może to działać tylko dla pojemności i ich zmian rzędu minimum nF. Częstotliwość zegara musi wynosić przynajmniej kilkadziesiąt MHz. Nadal czułość tego układu i błąd są nieporównywalne w odniesieniu do metody mostkowej. Najpierw coś poczytaj: PRACTICAL DESIGN TECHNIQUES FOR SENSOR SIGNAL CONDITIONING, potem zacznij dyskutować. Zwyczajnie nie masz jeszcze odpowiedniej wiedzy i doświadczenia, by właściwie ocenić swoje rozwiązanie. Obliczyłem Ci gdzie jest problem.
  • #10
    osctest1
    Poziom 21  
    abant napisał:
    Poza tym Twój "prosty" układ już się rozbudował o wzorzec, układ przełączania i procesor.


    No to już pojechałeś. Rzeczywiście jeden kondensator to jest skomplikowanie układu.
    Procesor już mamy w obu przypadkach.
    Układ przełączania jak chcesz mieć wszystko "zautomatyzowane".

    abant napisał:
    Stopniem skomplikowania zaczyna już przypominać krytykowany układ, dokładnością niestety jeszcze nie.
    Wszystkowied

    Dodano po 4 [minuty]:

    maciej_333 napisał:
    Kolego Osctest1 widać, że jesteś jeszcze bardzo młody.
    Bardziej to widać po Tobie. Zrobiłeś choćby jeden taki układ w życiu, że dyskutujesz?
    maciej_333 napisał:
    Częstotliwość zegara musi wynosić przynajmniej kilkadziesiąt MHz.
    Nie musi - ciągle Ci się wydaje że input capture timera to jedyne rozwiązanie. Zresztą to i tak nie problem bo ARM-y MHz-ów się nie boją.
  • #11
    djfarad02
    Poziom 18  
    Na przykładzie tego wątku doskonale widać, jak wielki jest wysyp "geniuszy programowania" z brakami w wiedzy z zakresu elektroniki analogowej (która jest podstawą każdej gałęzi elektroniki). Szkoda, że osoby, które takową wiedzę posiadają są zakrzykiwane przez mniej doświadczonych dyskutantów. Ot, cały urok publicznego forum.