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

Czujnik temperatury LM35 i czujnik z efektem Halla.

TechEkspert 04 Kwi 2015 11:47 4896 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

    Kod: cpp
    Zaloguj się, aby zobaczyć kod


    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


    Fajne! Ranking DIY
  Szukaj w 5mln produktów