Programowanie mikrokontrolerów
mikrokontrolery24.pl
Czujnik temperatury DS1820
Tematy powiązane: Jak zaprogramować i uruchomić czujnik temperatury DS1820
Przykład wariantów czujnika temperatury DS1820 w wykoaniu w różnych obudowach: z trzema wyprowadzeniami ( obudowa PR35 ) oraz 16 wyprowadzeniowej ( obudowa SSOP ) przedstawiono na rysunku poniżej..
Główne parametry czujnika temperatury DS1820
- Interfejs 1-Wire wykorzystujący tylko jeden pin do komunikacji
- Każdy moduł posiada unikatowy 64-bitowy kod przechowywany we wewnętrznej nieulotnej pamięci ROM (łatwa możliwość identyfikcji czujników podpiętych pod jeden pin komunikacyjny)
- Nie wymaga zewnętrznych komponentów
- Może być zasilany z lini danych. Zakres napiecia zasilania wynosi od 3.0V do 5.5V
- Zakres mierzonej temperatury wynosi od -55°C do +125°C (od -67°F do +257°F)
- ±0.5°C dokładności w zakresie od -10°C do +85°C
- 9-Bitowa rozdzielczość termometra
- Maksymalny czas konwersji temperatury do 750ms (max)
- Definiowalne progi alarmowe
Zasada działania i uruchomienie czujnika
Diagram blokowy budowy czujnika temperatury DS1820 przedstawiono na rysunku poniżej.
Czujnik temperatury (termometr) DS1820 zbudowany jest z jednostki zasilającej go na którą składa się kondensator pasożytniczy który ładuje się pasożytując na energii sygnału linii danych w wariancie zasilania jednym przewodem (one wire) dwóch diod wejściowych zabezpieczających wejście układu czujnika temperatury (termometru) DS1820 i jednostki kontrolującej pojawienie się zasilania na linii danych. Kolejnym elementem jest 64 bitowa pamięć ROM w której przechowywany jest unikatowy numer seryjny danego czujnika oraz interfejs kontrolujące racę magistrali danych One wire. Kolejnymi elementami czujnika temperatury (termometru) DS1820 są jednostka pamięci i zarządzania magistralą akwizycji danych łączącą elementy pomiarowe z interfejsem One wire wysyłającym dane na zewnątrz układu. Czujnik temperatury (termometr) DS1820 wyposażony jest w sprzętowy termostat z możliwością nastawienia dwóch progów zadziałania. Czujnik temperatury (termometr) DS1820 wyposażony został również w sprzętową 8bitową kontrolę CRC.
Poniżej przedstawiono sposób podłączenia jednodrutowego układu czujnika temperatury (termometru) DS1820
Na powyższym rysunku przedstawiono podłączenie jednodrutowe termometra cyfrowego DS1820. Takie podłączenie jednym przewodem wymaga odpowiedniego czasu podtrzymania stanu wysokiego na przewodzie w celu zasilenia układu w czasie konwersji temperatury do czego wykorzystuje sie tranzystor podciągający linie do napięcia zasilania na czas konwersji przez układ.
Poniżej przedstawiono sposób połączenia wielu czujników pod jedną szynę danych przy zasilaniu czujników z zewnętrzengo źródła zasilania dzięki czemu uniknięto konieczności zastosowania tranzystora podciągającego.
Poniżej przedstawiono schemat blokowy sposobu działania cyfrowego czujnika temperatury DS1820.
Czujnik ten posiada dwa oscylatory o częstotliwościach charakterystycznych dla dwóch różnych temperatur. Każdy z nich posiada charakterystyczną częstotliwość drgań dla swojej temperatrury. JEden z nich dla temperatry wysokiej drugi dla niskiej. Oba oscylatory odchodząc od swoich znamionowych teperatur pracy zmieniają swoją częstotliwosć drgań dzięki czemu w określonej teperaturze kazdy z nich znajduje sie w pewnej odległości od swojej znamionowej temperatruy i generuje odstrojoną częstotliwość drgań. Porównując te dwie częstotliwości otrzymujemy czestotliwość wypadkową proporcjonalną do tepmeratury otoczenia która wypracowywana jest przez układ porónujący i wypracowywujący prawidłową wartosć temperatury otoczenia.
Układ czujnika emperatury wyposarzony jest w kontrole prawidłowości ramki CRC 16 bitowe oraz unikatowy adres (numer seryjny) który umożliwia rozpoznawanie czujników podpiętych do jednej lini danych.
Poniżej przedstawiony został kompletny algorytm działania czujnika temperatury
Sposób wypracowania sumy kontrolenj CRC przedstawiony został na schemacie blokowym poniżej.
Poniżej przedstawiono mapę pamęci układu termometra cyfrowego DS1820
Poniżej przedstawiono schematycznie zobrazowany port transmisyjny pomiędzy masterem a czujnikiem temperatury.
Aby nawiązać komunikację z termometrem musimy przestrzegac rygoru czasowego w wymuszanych stanach które nazywamy slotami. Kazdy slot czasowy reprezentuje odczyt lub zapis jednego bitu. Sloty czasowe składają sie na bajty danych które pozwalają nam sie na komunikowanie z termometrem przy pomocy tylko jednego przewodu danych.
Przed rozpoczęciem komunikacji musimy zasygnalizować układowi chęc jej nawiązania. Aby to zrobić na lini danych musimy wymusić stan niski przez minimum 480us a maksymalnie przez 960us co przedstawiono na rysunku poniżej. Po takim impulsie resetującym wymuszamy stan wysoki na magistrali i odczekujemy od 15 do 60us po czym układ termometru powinien nam dopowiedzieć impulsem obecności wymuszając zero na lini danch przez przynajmniej 60us do 240 us.
W dalszej częsci komunikacja z układem przebiega przy pomocy slotó czasowych które trwają od 60 do 120 us w zależności od nas. Poniżej przedstawione zostały zależności czasowe jakie należy spełnić aby zapewnić prawidłową transmisję danych z układem.
Czasy przedstawione powyżej zależą od pojemności lini danych i mogą zostać dobrane w drodze prób jednak przy dobraniu czasów mieszczących się w podanych granicach komunikacja powinna przebiegać bezbłędnie.
W zależności od pojemności lini danych oraz od doboru rezystorów podciągających możemy otrzymać różny charakter ładowania się lini danych tak więc próbkowanie stanu lini przy odpowiedzi od układu termometra należy odpowiednio odsunąć w czasie tak aby linia danych zdążyła sie naładować do stanu logicznej jedynki i aby próbkowany stan lini był faktycznym wymuszeniem ewentualnego stanu niskiego przez układ termometra.
s
s
s
s
s
09-lip-2024 19:45:51 CEST
© mikroprocesory.info.pl@gmail.com 2013.