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.

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

Kubald 12 Aug 2012 14:29 8721 2
NextPCB
  • 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

    Cool? Ranking DIY
    Can you write similar article? Send message to me and you will get SD card 64GB.
    About Author
    Kubald
    Level 15  
    Offline 
    Has specialization in: spektroskopia exafs/xanes, uc, it
    Kubald wrote 188 posts with rating 90, helped 0 times. Live in city Kraków. Been with us since 2004 year.
  • NextPCB
  • #2
    wilk125
    Level 23  
    Witam
    Czy ten protokuł komunikacji jest kompatybilny z znanym 1-wire Dallasa? Chodzi o wykrywanie kilku urządzeń na jednej magistrali?
  • #3
    LightOfWinter
    Level 32  
    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.