czwartek, 14 kwietnia 2011

Szczypta teorii - Pomiar temperatury


Autor: Dondu

Na dole widok od nóżek
Temperatura - jak ją mierzyć?
Wystarczy, że kupisz popularny tani czujnik temperatury DS18B20.

Cena w dniu 14.04.2011 około 5.00 zł

Pomiar temperatury to jeden z ciekawych i niezbyt skomplikowanych projektów dających wiele satysfakcji.

Częstym problemem jest konwersja odczytanej temperatury na postać możliwą do wyświetlenia. Rozwiązanie tego problemu znajdziesz tutaj: Temperatura - konwersja na wyświetlacz



Tutaj znajdziesz więcej teorii:

Ciekawe projekty: 




Inne możliwości

Jeżeli masz w swoim mikrokontrolerze dostępny przetwornik ADC i wolny jakiś kanał pomiarowy, to możesz skorzystać z termistorów, które są znacznie tańsze (koszt około 1 zł - cena 2011r.).

Przykładem takiego układu jest rodzina MCP9700, MCP9701. To termistory, które za niską cenę oferują wystarczające parametry dla wielu zastosowań.

Dokumentacja: MSP970x datasheet

Ciekawe projekty:

12 komentarzy:

  1. Trzeci link nie działa

    OdpowiedzUsuń
  2. Link poprawiony, dzięki za info!

    OdpowiedzUsuń
  3. UWAGA! Brakuje BARDZO WAŻNEJ INFORMACJI:
    mały rysunek termometru u dołu to WIDOK OD DOŁU! - już parę osób przez niedoczytanie tego w dokumentacji posłało ds18b20 do "elektronicznego nieba", a tu WOGÓLE brak tej informacji.
    Chyba kolega nie chce mieć tych biednych ds18b20 na sumieniu :D

    OdpowiedzUsuń
    Odpowiedzi
    1. Opisy zawsze są od strony wyprowadzeń. W tym przypadku od dołu. Nóżki są wyraźnie zaznaczone, więc jeśli Kolega patrząc z góry widzi nóżki, to nic tylko pogratulować wzroku :)

      Usuń
    2. Napisać nigdy nie zaszkodzi. Zawsze znajdzie się jakiś początkujący co jeszcze nie przewertował tysięcy datasheet'ów i nie wie o tej, zdawać by się mogło trywialnej zasadzie.:)

      Usuń
  4. Wydaje mi się, że przy powiększeniu rysunek jest jednoznaczny, ale faktem jest że jako początkujący nie takie, rzeczy wyprawiałem, więc dodałem napis. :-)

    Dzięki za zwrócenie uwagi!

    OdpowiedzUsuń
  5. Ja polecam znakomity temometr analogowy LM35 - łączymy do dowolnej nóżki ADC, puszczamy pomiary w free running mode i bez problemu idzie uzyskać 20000 odczytów na sekundę :) to wszystko uśredniamy i można tym sposobem uzyskać stabilny odczyt do 2 miejsc po przecinku (więcej nie ma sensu).

    OdpowiedzUsuń
  6. Czy zna ktoś sposób jak na podstawie zmierzonej rezystancji termistora NTC obliczyć jego temperaturę?

    OdpowiedzUsuń
  7. Nie polecajcie opisu Cezarego Klimasza. Przykładowe kody są beznadziejnie napisane, a w niektórych miejscach wręcz błędne.

    OdpowiedzUsuń
    Odpowiedzi
    1. Czy możesz wskazać jakieś przykłady błędów? Ułatwisz mi ewentualne ich poszukiwanie.

      Usuń
    2. To prawda, jestem właściwie początkujący, a mimo to widzę, że kod w kilku miejscach jest bez sensu.

      Usuń
  8. W dokumentacji jest wyraźnie napisane, że Master ma czytać odpowiedź DS18b20 do 15us od chwili wystawienia "0" (co zresztą sam autor w swoim opisie potwierdza). Tymczasem w kodzie mamy:
    CLEAR_1WIRE;
    _delay_us(2);
    SET_1WIRE;
    _delay_us(15);
    if(bit_is_set(PORT_1WIRE,WE)) PRESENCE=1;else PRESENCE=0;
    czyli ponad 17us nie licząc czasów wykonania pozostałych rozkazów (które przy niskich wartościach F_CPU maja spore znaczenie). Nie zachowanie minimalnego czasu slotu odczytu bitu (60us). itd.

    OdpowiedzUsuń