Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Elektroda.pl
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Termometr mikroprocesorowy uP 51 na termistorze

prymasuz 01 Jun 2010 20:51 2591 4
  • #1
    prymasuz
    Level 2  
    Witam!!!

    Mam za zadanie wykonać miernik temperatury na 51. Jako czujnik termistor i przetwornik a/c adc0808.

    Moje pytanie brzmi jak uzyskać rozdzielczość temp 0,1stC

    Zakres mierzonej temp 0 do 25stC


    Proszę o pomoc i rady.
  • #2
    Krauser
    Level 26  
    Wybrany przetwornik jest 8-bitowy. Dla temperatury 25,5 na wejściu przetwornika powinien być maksymalny sygnał. 8 bitów to max 255. Jeśli termistor w tym zakresie jest w miarę liniowy to należy wykorzystać źródło prądowe (lustro prądowe) do zasilenia termistora dalej dać wzmacniacz 2x i to na wejście przetwornika. Prąd należy tak dobrać, aby dla 25,5 stopni na wejściu przetwornika było napięcie maksymalne.
  • #3
    flapo213
    Level 21  
    Witaj,

    Wszystko co napisał mój poprzednik jest super ale zmieniłbym jedną rzecz nie stosowałbym lustra prądowego no chyba że znajdziesz gdzie taki stary scalak który ma na jednej strukturze 2 tranzystory to ok bo inacej rozjeżdż się okrutnie.

    W dokumentacji do termistora jest wzór wg. którego należy przeliczać temperaturę.

    Wybierz sobie jakiś model termistora poszukaj dokumentację.

    Teraz jak to podłączyć.

    Dajesz w szereg z termistorem rezystor (rezystancja zależy od zakresu temperatury i rodzaju termistora - rezystancja w 25C). Drugą końcówkę rezystora podpinasz do plusa zasilania a druga końcówkę termistora podłącz do masy. Tam gdzie łączy się termistor z rezystorem podepnij na wejście do ADC.

    Obliczenia:

    Przetwornikiem odczytaj napięcie na termistorze Ut. Uzas to napięcie zasilania podłączone do drugiego końca rezystora.

    przelicz prąd zgodnie ze wzorem

    I = (Uzas - Ut)/R.

    I to by było na tyle.

    Pozdrawiam
  • #4
    Jacek Rutkowski
    Level 27  
    Witam,
    pozostaje problem liniowości termistora. Prawdopodobnie nie uda Ci się go zlinearyzować w całym zakresie. Sprawdź charakterystykę, jest nieliniowa nawet w tak małym zakresie. Chcąc uzyskać rozdzielczość 0,1°C bez linearyzacji termistora w torze analogowym musisz zastosować co najmniej 10bit ADC i stablicować otrzymywane wyniki :cry:
  • #5
    tmf
    Moderator of Microcontroller designs
    Krauser - widziałeś termistor o liniowej charakterystyce? Takie cuda to tylko w Erze :) Można go lekko zlinearyzować równoległym rezystorem, ale to raczej w wąskim zakresie temperatur, a liniowość i tak pozostawia wiele do życzenia. Natomiast charakterystyki termistorów NTC (chyba najpopularniejsze, bo stosowane w ciepłownictwie) czy PTC są doskonale opisane wzorami, więc albo miktoprocesor sobie liczy ze wzoru (uciążliwe bo wymaga floatów i operacji zmiennopozycyjnych) albo tablicujesz wartości w poszczególnych zakresach, a pomiędzy elementami tablicy stosujesz aproksymację liniową. Dla tak wąskiego zakresu temperatur tablica będzie miała tlyko 250 pozycji dla rozdzielczości 0,1 stopnia, lub mniej jeśli dodatkowo będzie aproksymował wartości pomiędzy. Tak naprawdę prawdziwym wyzwaniem będzie uzyskanie rozdzielczości 0,1 stopnia na 8-bitowym ADC. Z zasady będziesz mierzył napięcie na dzielniku rezystor-termistor, wstrzelenie się dokładnie w zakres ADC będzie raczej niemożliwe. Więc albo mozolnie dłubać z układów analogowych (op-ampów) stopień, który ci dostosuje napięcie z dzielnika do zakresu ADC, albo prościej spróbować wykorzysatać oversampling dla uzyskania dodatkowych bitów na ADC. Temperatura z natury jest wolnozmienna więc zbieranie nawet po kilkaset próbek nie powinno byc problemem, czyli śmiało możesz uzyskać co najmniej 2-3 bity rozdzielczości.