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

Miernik temperatury/wilgotności z użyciem taniego czujnika

Kubald 12 Sie 2012 14:29 8490 2
  • Miernik temperatury/wilgotności z użyciem taniego czujnika

    Wiele różnych badań pokazało, że temperatura i wilgotność wewnątrz pomieszczeń ma znaczący wpływ na komfort pracy i produktywność. Pierwszym krokiem mającym na celu zoptymalizowanie tych parametrów jest ich wiarygodny pomiar. Niniejszy projekt omawia pomiar temperatury i wilgotności z użyciem niedrogiego czujnika DHT11. Sercem układu jest procesor PIC16F628A, dane wyświetlane są na alfanumerycznym LCD 16x2.

    Miernik temperatury/wilgotności z użyciem taniego czujnika

    Czujnik DHT11 jest najtańszym tego typu układem dostępnym na rynku, który cechuje się w pełni skalibrowanym, cyfrowym pomiarem parametrów. Dostępny jest w „stojącej” obudowie z 4-ma wyprowadzeniami i może być zasilany napięciem 3,5-5,5V. Może on mierzyć temperaturę z zakresu 0-50°C z dokł. ±2°C i wilgotność względną z zakresu 20-95%RH z dokł. ±5%, co czyni go dobrym rozwiązaniem do pomiaru tych parametrów wewnątrz pomieszczeń. Czujnik komunikuje się z mikroprocesorem poprzez własny protokół 1-wire.

    Miernik temperatury/wilgotności z użyciem taniego czujnika

    Powyższy diagram pokazuje sposób komunikacji DHT11 z procesorem.
    Transmisję rozpoczyna mikroprocesor poprzez wysłanie sygnału „start” – najpierw podanie 0V na linię danych przez min. 18 ms, a następnie podciągnięcie jej do napięcia zasilania na 20-40 µs. Czujnik odpowiada na sygnał startu, poprzez podanie 0V, a następnie napięcia zasilania na linię przez każdorazowo 80 µs. Następnie następuje transmisja danych (5 bajtów):

    Dane = część całkowita RH% (bajt) + część dziesiętna RH% (bajt) + część całkowita T (bajt) + część dziesiętna T (bajt) + bajt sumy kontrolnej.

    W przypadku sensora DHT11 drugi i czwarty bajt danych jest zawsze zerowy. Bajt pierwszy i trzeci zawiera dane dotyczące zmierzonej wilgotności względnej (w %RH) i temperatury (w oC). Suma kontrolna musi być równa 8 bitom sumy pierwszych czterech transmitowanych bajtów danych.

    Sensor DHT11 przekazuje dane poprzez podanie 0V na 50 µs i następnie podciągnięcie linii danych do plusa zasilania na 26-28 µs, co odpowiada logicznemu „0” – lub na 70 µS, co odpowiada logicznej „1” – więc szerokość dodatniego impulsu stanowi rozróżnienie pomiędzy „0” a „1”. Na koniec transmisji sensor przyłącza linię danych do 0V na 50 µs i następnie zwalnia ją, w oczekiwaniu na kolejny sygnał startu.

    Układ składa się z czujnika DHT11, wyświetlacza zgodnego z HD44780 i procesora PIC16F628A, taktowanego kwarcem 4 MHz. Użycie takiego rezonatora sprawia, że jeden cykl procesora zajmuje 1 µs, co sprawia, że obliczanie długości odbieranego impulsu jest bardzo proste.

    Miernik temperatury/wilgotności z użyciem taniego czujnika

    Program procesora został napisany w C i skompilowany w mikroC for PIC f-my mikroElektronika. Timer2 odpowiada za mierzenie czasu trwania odbieranego impulsu. Ponieważ jeden cykl procesora trwa 1 µs, wartość rejestru Timer2 zawiera wprost długość trwania impulsu w µs. Kiedy wykrywane jest zbocze rosnące, rejestr timera jest czyszczony. Przed wyświetleniem danych na LCD sprawdzana jest każdorazowo suma kontrolna.

    Źródło

    Fajne! Ranking DIY
    Potrafisz napisać podobny artykuł? Wyślij do mnie a otrzymasz kartę SD 64GB.
    O autorze
    Kubald
    Poziom 15  
    Offline 
    Specjalizuje się w: spektroskopia exafs/xanes, uc, it
    Kubald napisał 192 postów o ocenie 62, pomógł 0 razy. Mieszka w mieście Kraków. Jest z nami od 2004 roku.
  • PCBway
  • #2
    wilk125
    Poziom 23  
    Witam
    Czy ten protokuł komunikacji jest kompatybilny z znanym 1-wire Dallasa? Chodzi o wykrywanie kilku urządzeń na jednej magistrali?
  • PCBway
  • #3
    LightOfWinter
    Poziom 29  
    Witam

    0) Płytka (uruchomieniowa?) estetycznie wykonana.
    Projekt dobrze opisany. Gratuluję :D

    1) Czy projekt będzie zrealizowany w przyszłości na dedykowanej płytce PCB?
    i w stosownej obudowie ?

    2) Czy nie lepiej dołożyc 5 PLN i użyc do pomiaru temperatury czujnika Dallas-a np.DS18B20 ?
    Wtedy dokładność pomiaru temperatury jest +/- 0.5 C deg.

    3) Zastnawiałes się żeby na bazie tego projektu zrobić domową stację metrologiczną przewidującą pogodę na najbliższe 6 godzin ?
    Sądzę że należało by dołozyć jeszcze czujnik ciśnienia i dało by sie to zrealizować.

    4) Temat mnie interesuje bo zirytowałem się małą dokładnością (ciągle skaczącymi pomiarami temperatury) na termometrze cyfrowym za ok 20PLN z Castoramy. Kończę teraz prace nad prostym precyzyjnym termometrem opratym o 2 czujniki DS18B20. jeden do pomiaru temperatury wewnętrznej a drugi zewnętrznej.
    Całość ma być zasilana z jedenej lub dwóch baterii AA.
    W tym kontekście zastanawiałem się nad rozbudowaniem go do małej stacji metrologicznej.