Pracownia Elektroniki i Elektroakustyki
Instytut Fizyki Akademii im. Jana Długosza w Częstochowie
Cyfrowy czujnik temperatury Maxim-Dallas DS18B20 MK3
http://www.ajd.czest.pl http://if.ajd.czest.pl
Strona 1 C
ELĆ
WICZENIABadanie układu DS18B20 – cyfrowego termometru sterowanego poprzez magistralę 1-Wire.
Z
AGADNIENIAT
EORETYCZNE1. Przetwarzanie analogowo cyfrowe.
2. Dziesiętny, szesnastkowy i binarny system liczb.
3. Sterowanie DS18B20 za pomocą magistrali 1-Wire.
4. Precyzja zapisu temperatury przy użyciu 9, 10, 11 i 12 bitów w układzie DS18B20.
5. Znajomość obsługi płytki ewaluacyjnej EvB 4.3.
P
RZEBIEGĆ
WICZENIA1. Podłączyć przewody na płytce ewaluacyjnej według schematu:
a. PD2 – RS (wyświetlacz) b. PD3 – E (wyświetlacz) c. PD4 – D4 (wyświetlacz) d. PD5 – D5 (wyświetlacz) e. PD6 – D6 (wyświetlacz) f. PD7 – D7 (wyświetlacz)
g. PB0 – DS18B20 PIN2 - Środkowy (1Wire) h. PB1 – S1 (Przycisk S1)
i. PB1 - S2 (Przycisk S2) j. PB1 - S3 (Przycisk S3) k. PB1 – S4 (Przycisk S4)
W przypadku wątpliwości sprawdzić w instrukcji do EvB 4.3.
2. Przed zasileniem układu wyregulować na zasilaczu napięcie 9V, wyłączyć zasilacz, podłączyć przewody zasilające do płytki ewaluacyjnej, włączyć zasilacz.
3. Po zasileniu płyty ewaluacyjnej EvB 4.3 układ jest gotowy do pracy i pomiarów.
4. Przyciski S1, S2, S3 i S4 rozpoczynają komunikację z czujnikiem DS18B20 z precyzją odpowiadającą 9, 10, 11 i 12 bitów(Wysyłane są m.in. rozkazy 44h i BEh). Po zakończeniu transmisji mikrokontroler odczytuje dwa bajty danych (HIGH i LOW) w których zakodowana jest temperatura. Wyniki wyświetlane są w systemie dziesiętnym.
5. Odczytać po pięć różnych wartości temperatury dla każdej z precyzji pomiarowej naciskając odpowiednio przyciski S1 – S4 (czujnik można ogrzać palcem). Wyniki zapisać w tabeli.
6. Uzupełnić tabelę – zamienić wartości dziesiętne bajtów HiGH i LOW na postać binarną.
Wartość binarną zapisać w postaci XXXX XXXX (na przykład bajt o wartości dziesiętnej 116 będzie miał postać binarną 0111 0100)
7. Odczytać znak temperatury (temperatura dodatnia, ujemna) 8. Odkodować wartość temperatury odczytanej przez czujnik.
9. Wyciągnąć wnioski.
Jeżeli układ EvB 4.3 nie jest zaprogramowany, zaprogramować go programem mk3.hex.
Po zaprogramowaniu upewnić się że układ nie jest podłączony do komputera za
pomocą kabla USB. Rozłączyć zworkę USB-Vcc na płytce ewaluacyjnej.
Pracownia Elektroniki i Elektroakustyki
Instytut Fizyki Akademii im. Jana Długosza w Częstochowie
Cyfrowy czujnik temperatury Maxim-Dallas DS18B20 MK3
http://www.ajd.czest.pl http://if.ajd.czest.pl
Strona 2 T
ABELAP
OMIAROWAP
RECYZJAL
P. LOW {DEC}
HIGH {DEC}
LOW {BIN}
HIGH {BIN}
C
ZASK
ONWERSJI[ms]
Z
NAK+/-
T
EMP. [˚C]
9 BITÓW PRZYCISK S1
1 2 3 4 5
10 BITÓW PRZYCISK S2
6 7 8 9 10
11 BITÓW PRZYCISK S3
11 12 13 14 15
12 BITÓW PRZYCISK S4
16 17 18 19 20
K
RÓTKI OPIS UKŁADUDS18B20
Czujnik DS18B20 komunikuje się z mikroprocesorem za pomocą magistrali 1Wire. Instrukcja 44h wysłana do czujnika rozpoczyna konwersję temperatury. Kod
polecenia BEh to żądanie odczytu temperatury. Po konwersji danych i żądaniu przesłania wyniku, układ przesyła dwa bajty w których zakodowana jest informacja o temperaturze. Przesyłane dane mają postać jak na rysunku 1. Bity Z oznaczają znak temperatury. Jeśli wszystkie bity mają wartość 0, temperatura jest dodatnia. Bity C to część całkowita pomiaru temperatury wyrażona w [˚C]. Bity U to część ułamkowa pomiaru temperatury. W przypadku pracy układu z precyzją 12 bitową wykorzystywane są 4 bity U, w przypadku precyzji 11 – 3 bity U, 10 bitowej – 2 bity U i 9 bitowej 1 bit U. Jeśli układ pracuje z precyzją mniejszą niż 12 bitów istotne są najstarsze bity U.
L
ITERATURA1. Sztuka Elektroniki, Część 2, P. Horowitz, W. Hill, WKiŁ 1996
2. Nota katalogowa układu Maxim-Dallas DS1820, dostępna w pracowni oraz Bibliotece WMP 3. Mikrokontrolery AVR w praktyce, J. Doliński, BTC 2004
4. Instrukcja Obsługi, Zestaw Uruchomieniowy EvB 4.3 v4, www.and-tech.pl
Rysunek 1 Ramka danych przesyłana przez czujnik.