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

Projektowanie arduino wejscie analogowe (pomiar temperatury NTC)

vicmyc 11 Paź 2012 09:28 3105 5
  • #1 11 Paź 2012 09:28
    vicmyc
    Poziom 7  

    Od kilku dni (po bardzo długiej przerwie od elektroniki ponad 7 lat) rozpoczynam następną przygodę.

    Mam zamiar zbudować termometr wielokanałowy (zakładam 4 kanały) oparty o czujniki NTC 5K lub NTC 10K (powód mam ich sporo - nie interesuje mnie nic innego).
    Zakres temperatury -50 do 150 C z rozdzielczością 0,1

    Problem mój polega na rozdzielczości wejścia "analogowego" (wbudowanego przetwornika) od 0 do 1023.

    Moje pytanie jak odczytać spadek napięcia na czujniku NTC z większą rozdzielczością

    0 5
  • #2 11 Paź 2012 09:40
    Urgon
    Poziom 36  

    AVE...

    Potrzebujesz przynajmniej jedenastobitowego przetwornika A/D. Termistor podłączasz do dobrego źródła prądowego, napięcie na nim odkładające wzmacniasz op-ampem, najlepiej z wejściem FET, by nie wpływać negatywnie na źródło prądowe. Wzmocniony sygnał kierujesz na przetwornik A/D 12bitowy...

    0
  • #3 12 Paź 2012 18:33
    jarek_lnx
    Poziom 43  

    O czym wy w ogóle mówicie, przecież termistor NTC ma charakterystykę wykładniczą z wykładnikiem 1/T. Użycie źródła prądowego przy tak szerokim zakresie temperatur da absurdalne wymagania na dynamikę układu i rozdzielczość ADC >20bit, lepiej zamiast źródła prądowego dać rezystor.

    0
  • #4 15 Paź 2012 08:50
    vicmyc
    Poziom 7  

    Jaki przetwornik (prosty) AC/DC mógłbyś zaproponować /?/ ok 20 bitowy ???

    Nie wiem czy dobrze myślę -50,0...+150,0 to jest 2000 czyli musi być co najmniej 2^11

    Ps. 16 bitowy mi wystarczy ????
    Ps2. Do opisania charakterystyki użyć tabelki czy wykonać aproksymację ?? odcinkową - a może są jakieś wzory ??

    Odgrzewam starą wiedzę więc sory za trywialne czasem pytania ?

    0
  • #5 15 Paź 2012 19:25
    jarek_lnx
    Poziom 43  

    Przypadkowo wybrany termistor 10kΩ w twoim zakresie temperatur będzie miał od 150Ω do 670000Ω a ty musiał byś odróżnić zmianę o 0,1°C czyli przy 150°C ok 0,5Ω czyli 1/1300000 całego zakresu więc potrzeba >20bit do tego musisz rozróżniać napięcia rzędu µV, więc niezwykle łatwo narobić dużych błędów, nawet używając precyzyjnych rezystorów i dokładnych przetworników - to zły sposób.

    Są proste sposoby linearyzacji przed przetwarzaniem, przeczytaj notę Microchip'aAN-685 W tak szerokim zakresie temperatur musisz znać dokładną charakterystykę termistora, producenci podają takie dane dla precyzyjnych (droższych) termistorów pomiarowych, w sprzedaży są też tanie, byle jakie, wystarczające do sprawdzania czy np. silnik się nie przegrzał, takie do pomiarów się nie bardzo nadają chyba że pomierzysz charakterystykę każdego z osobna, w całym zakresie temperatur i będziesz przeliczał oddzielnie, przy takich tanich trzeba by czasem sprawdzić kalibrację czy się nie "rozjeżdżają" w wyniku starzenia.

    Zastosowanie tanich czujników może wcale nie być tanie.

    0
  • #6 15 Paź 2012 22:31
    blue_17
    Poziom 32  

    LM35 z arduino współpracuje rewelacyjnie jeśli chcesz mierzyć napięcie

    0
  Szukaj w 5mln produktów