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.

Czujnik temperatury LM35 i czujnik z efektem Halla.

TechEkspert 04 Apr 2015 11:47 6264 0
  • Czujnik temperatury LM35 i czujnik z efektem Halla.
    Dzisiaj fragment książki "Czujniki dla początkujących. Poznaj otaczający Cię świat za pomocą elektroniki, Arduino i Raspberry Pi" Autorstwa: Kimmo Karvinen, Tero Karvinen, materiał został bezpłatnie udostępniony dla użytkowników elektroda.pl przez grupę Helion S.A.

    W udostępnionych fragmentach można zapoznać się ze sposobem połączenia czujnika LM35 z Arduino oraz sposobem podłączenia czujników wykorzystujących efekt Halla.
    Czujnik LM35 wytwarza napięcie zależne od temperatury, sposób odczytu sygnału z czujnika w Arduino można wykorzystać do innych celów np. pomiaru napięcia podanego na wejście ADC.

    Poniżej udostępniony dla Was przez Helion fragment książki:

    ----------------------------------------------------------------------------------------

    Projekt 11. Pomiar temperatury - czujnik LM35

    Jest ciepło czy zimno? Czujnik LM35 jest niedrogim i łatwym w użyciu termometrem (rysunek 3.17). Jedyne, co trzeba zrobić, to zmierzyć napięcie za pomocą funkcji analogRead() oraz obliczyć temperaturę za pomocą wzoru: napięcie * 100 C/V.

    Czujnik temperatury LM35 i czujnik z efektem Halla.
    Rysunek 3.17. Czujnik temperatury LM35

    Nasi uczniowie wykorzystują czujnik LM35 np. do mierzenia temperatury w domkach letniskowych i szklarniach.

    Elementy
    Do tego projektu będziesz potrzebował następujących elementów:
    - czujnika temperatury LM35;
    - Arduino Uno;
    - kabelków połączeniowych;
    - płytki stykowej.

    Czujnik LM35 różni się nieco od analogowych czujników rezystancyjnych, z których korzystałeś wcześniej. Ma trzy wyprowadzenia: 5 V, masę oraz sygnał. Dzięki temu łatwiej jest go podłączyć, gdyż nie wymaga użycia dodatkowego rezystora podciągającego.

    Budowa
    Rysunek 3.18 przedstawia diagram układu. Zbuduj układ zgodnie z diagramem, a następnie uruchom kod z listingu 3.6. Aby zobaczyć aktualny odczyt temperatury, otwórz okno monitora portu szeregowego. Będziesz musiał wykonać następujące czynności:
    1. Podłącz czujnik LM35 do Arduino za pomocą płytki stykowej. Jeśli masz najbardziej popularną wersję LM35 (w obudowie typu TO-92 - typowej dla wielu półprzewodników), ustaw czujnik tak, aby był zwrócony płaską stroną w Twoim kierunku i z wyprowadzeniami skierowanymi ku dołowi. Lewa nóżka to +5 V, środkowa to sygnał wyjściowy (VOUT), a prawa to wyprowadzenie masy (GND).

    Czujnik temperatury LM35 i czujnik z efektem Halla.
    Rysunek 3.18. Czujnik temperatury podłączony za pomocą płytki stykowej

    2. Podłącz wyprowadzenie +5 V do +5 V na płytce Arduino, a GND do GND na płytce Arduino. Ale czym jest sygnał VOUT? Otóż ten sygnał to napięcie wyjściowe informujące o temperaturze, którą rejestruje czujnik. Należy więc podłączyć je do wejścia analogowego na płytce Arduino (w listingu 3.6 jest to wejście A0).

    Gdy już dokonasz pomiaru temperatury w swoim pokoju, możesz pokusić się o dalsze testowanie czujnika LM35. Gdybyś włożył czujnik do lodówki, musiałbyś odczekać dłuższą chwilę - powietrze jest całkiem dobrym izolatorem i nie przewodzi zbyt dobrze ciepła. W celu szybkiego schłodzenia czujnika posłuż się więc kostką lodu (rysunek 3.19). Wilgotne kostki lodu szybko odprowadzą ciepło z czujnika LM35 i otrzymasz natychmiastowy odczyt temperatury.

    Czujnik temperatury LM35 i czujnik z efektem Halla.
    Rysunek 3.19. Testowanie czujnika LM35 za pomocą kostek lodu

    Uruchom kod
    Listing 3.6. Szkic Arduino korzystający z czujnika LM35
    Code: cpp
    Log in, to see the code


    q Do odczytu sygnału wyjściowego czujnika wykorzystasz wejście analogowe 0 (A0).

    w Podczas rozruchu Arduino wykonuje inicjalizację, jednokrotnie wywołując funkcję setup().

    e Otwarcie portu szeregowego. Korzystając z monitora portu szeregowego (Narzędzia/Monitor portu szeregowego), możesz zobaczyć, co dzieje się na wyjściu portu szeregowego. Pamiętaj, aby ustawić taką samą prędkość transmisji zarówno w kodzie, jak i w monitorze portu szeregowego.

    r Definicja nowej funkcji o nazwie tempC(). Będziesz ją wywoływał w programie, aby odczytać temperaturę z czujnika.

    t Funkcja analogRead() zwraca liczbę całkowitą z przedziału 0 - 1023. Wartość 0 jest równoznaczna z napięciem 0 V, a wartość 1023 oznacza +5 V.

    y Dzieląc wynik odczytu przez wartość maksymalną, otrzymasz wartość odczytu wyrażoną procentowo. W ten sposób wartość 0.0 oznacza 0%, a wartość 1.0 oznacza 100%. Aby w wyniku dzielenia otrzymać wartość zmiennoprzecinkową (dziesiętną), należy jako dzielnika użyć także liczby zmiennoprzecinkowej 1023.0 zamiast liczby całkowitej 1023. W językach programowania C i C++ wyrażenie 1/2 zwróci wartość 0, natomiast wyrażenie 1/2.0 zwróci wartość 0.5.

    u Zmienna percent przedstawia wynik wyrażony procentowo w stosunku do wartości maksymalnej 5 V. Aby otrzymać napięcie wyjściowe w woltach, należy pomnożyć wynik procentowy razy 5.0.

    i W danych katalogowych czujnika LM35 (wyszukaj w sieci frazy LM35 datasheet) można znaleźć informację, że współczynnik skalujący wynosi 10 mV/C, a napięcie 0 V oznacza temperaturę 0° C. Teraz trochę matematyki: 10 mV/C = 0.01 V/C. Odwrotność to 1/0.01 C/V = 100 C/V. Aby więc otrzymać temperaturę wyrażoną w stopniach Celsjusza, należy napięcie wyjściowe pomnożyć razy 100.

    o Funkcja setup() kończy działanie i aż do odłączenia zasilania od Arduino uruchamiana jest w pętli funkcja loop().

    a Wywołanie funkcji tempC(), która zwraca liczbę (np. 20.0). Ten wynik jest przesyłany do portu szeregowego i dodatkowo wstawia się znak końca linii. Funkcję tempC() można bardzo łatwo wykorzystać w innych projektach. Gdy masz już pewność, że działa ona poprawnie, możesz zapomnieć o szczegółach implementacyjnych. Gdy chcesz zmierzyć temperaturę, podłącz po prostu do swojego układu czujnik LM35 i wywołaj funkcję tempC().

    1! Odczekanie chwili. Zapewni Ci to wystarczającą ilość czasu, aby odczytać wynik, zabezpieczy bufor portu szeregowego przez przepełnieniem i zapobiegnie pożarciu przez Twój program 100% zasobów Arduino.

    Projekt 4. Efekt Halla
    Przełącznik wykorzystujący efekt Halla służy do pomiaru zmian w natężeniu pola magnetycznego i wykrywa znajdujący się w pobliżu magnes. Bardzo popularnym zastosowaniem tego typu czujnika jest rowerowy licznik prędkości - który dokonuje pomiaru tego, jak często magnes mija czujnik. Kolejnym zastosowaniem jest alarm włamaniowy - którego uproszczoną wersję zaraz zbudujesz.

    Rysunek 2.4 przedstawia przełącznik Halla NJK-5002A, który można nabyć na eBay ( http://ebay.com ) lub AliExpress ( http://aliexpress.com ) za niecałe 10 dolarów. Jeśli kupisz wersję NJK-5002C, będziesz musiał go nieco inaczej podłączyć do układu (opis znajdziesz poniżej).

    Czujnik temperatury LM35 i czujnik z efektem Halla.
    Rysunek 2.4. Przełącznik Halla i magnes

    Elementy
    W tym projekcie będziesz potrzebował następujących elementów:
    - przetwornika piezoelektrycznego (brzęczyka);
    - baterii 9 V;
    - złącza baterii 9 V;
    - płytki stykowej;
    - przełącznika Halla NJK-5002A.

    Budowa

    Czujnik NJK-5002A działa podobnie jak przełącznik i ma wyprowadzenia dla plusa zasilania (brązowy kabelek), minusa zasilania (niebieski kabelek - mimo faktu, że w przypadku większości elementów elektronicznych minus jest oznaczany kolorem czarnym) oraz wyprowadzenie sterujące, na którym w momencie gdy czujnik znajdzie się w polu magnetycznym, pojawi się plus zasilania (czarny kabelek - mimo faktu, że zazwyczaj kolor czarny oznacza minus zasilania).

    Jeśli masz czujnik w wersji NJK-5002C, na wyprowadzeniu czarnym będzie się pojawiał minus zasilania (a nie plus, jak w przypadku wersji NJK-5002A).

    Aby zbudować układ, postępuj według następujących kroków:
    1. Ustaw poziomo płytkę stykową - tak jak to przedstawiono na rysunku 2.5.

    Czujnik temperatury LM35 i czujnik z efektem Halla.
    Rysunek 2.5. Alarm włamaniowy z przełącznikiem Halla

    2. Włóż czarny kabelek (wyjście) czujnika do którejkolwiek kolumny na płytce stykowej, a następnie w tej samej kolumnie umieść plusowe (czerwone) wyprowadzenie brzęczyka.
    Jeśli korzystasz z czujnika NJK-5002C, zamiast plusowego wyprowadzenia brzęczyka podłącz minusowe (czarne).

    3. Podłącz czerwony kabelek złącza baterii 9 V do dowolnej wolnej kolumny na płytce stykowej, a następnie w tej samej kolumnie umieść brązowy (plusowy) kabelek przełącznika Halla.

    Jeśli korzystasz z czujnika NJK-5002C, podłącz także do tej kolumny plusowe (czerwone) wyprowadzenie brzęczyka.

    4. Podłącz niebieski kabelek (minusowy) przełącznika Halla do dowolnej wolnej kolumny na płytce stykowej, a następnie w tej samej kolumnie umieść czarny kabelek złącza baterii 9 V.
    Do tej samej kolumny podłącz także minusowe wyprowadzenie brzęczyka. Jeśli korzystasz z czujnika NJK-5002C, nie musisz tego robić.

    5. Podłącz baterię 9 V i zbliż do czujnika magnes - brzęczyk powinien zacząć wydawać sygnał.

    Gdy już poznałeś, w jaki sposób posługiwać się czujnikiem Halla, możesz z niego skorzystać w wielu innych projektach. Możesz go użyć, aby wykryć sytuację, gdy dwa obiekty się z sobą stykają lub gdy są od siebie oddzielone. Na przykład umieszczając w ościeżnicy czujnik, a w drzwiach magnes, będziesz mógł sprawdzać, czy drzwi są zamknięte, czy otwarte. Możesz go także wykorzystać do pomiaru prędkości obrotowej. Jeśli przymocujesz magnes do pedału w Twoim rowerze stacjonarnym, za pomocą czujnika Halla będziesz mógł obliczyć prędkość pedałowania. Następnie obliczona prędkość może posłużyć jako wejście w grze wideo - w ten sposób trening stanie się znacznie bardziej ciekawy.

    Rozwiązywanie problemów
    Gdy układ zaprezentowany w tym projekcie nie działa, sprawdź następujące rzeczy:

    - Spróbuj odwrócić magnes - przełącznik zadziała tylko wtedy, gdy skierujesz na niego odpowiedni biegun magnesu.
    - Czy świeci się wbudowana w czujnik dioda LED? Jeśli nie, prawdopodobnie czujnik jest niewłaściwie podłączony.
    - Czy używasz odpowiedniej wersji czujnika? Instrukcja przedstawia podłączenie dwóch najbardziej popularnych wersji (NJK-5002A i NJK-5002C). Jeśli masz inny model czujnika, zajrzyj do jego karty katalogowej - dowiesz się z niej, w jaki sposób podłączyć go do układu.
    - Upewnij się, że brzęczyk działa prawidłowo, podłączając go bezpośrednio do baterii. Czy wydaje sygnał?

    ----------------------------------------------------------------------------------------

    Na tym kończymy fragment książki, który możemy zaprezentować dzięki współpracy z Helion S.A.

    Wolicie czujniki temperatury z wyjściem analogowym LM35 lub TMP36 czy cyfrowym np. DS18b20 lub STCN75 ?

    Książkę zawierającą powyższy materiał "Czujniki dla początkujących. Poznaj otaczający Cię świat za pomocą elektroniki, Arduino i Raspberry Pi" Autorstwa: Kimmo Karvinen, Tero Karvinen, oraz inne pozycje książkowe wydawnictwa Helion możecie nabyć tutaj: Link.
    Książka dostępna także jako eBook.

    źródło: materiały udostępnione przez Helion S.A. dla użytkowników wortalu elektroda.pl

    Cool! Ranking DIY
    Can you write similar article? Send message to me and you will get SD card 64GB.
    About Author
    TechEkspert
    Editor
    Offline 
    W moich materiałach znajdziecie testy i prezentacje sprzętu elektronicznego, modułów, sprzętu pomiarowego, eksperymenty. Interesuje mnie elektronika cyfrowa, cyfrowe przetwarzanie sygnałów, transmisje cyfrowe przewodowe i bezprzewodowe, kryptografia, IT a szczególnie LAN/WAN i systemy przechowywania i przetwarzania danych.
    Has specialization in: elektronika, mikrokontrolery, rozwiązania it
    TechEkspert wrote 3264 posts with rating 2532, helped 11 times. Been with us since 2014 year.