Laboratorium wirtualne 2/Moduł 1 - ćwiczenie 1: Różnice pomiędzy wersjami
Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Nie podano opisu zmian |
Nie podano opisu zmian |
||
Linia 70: | Linia 70: | ||
|} | |} | ||
{| border="0" cellpadding="5" width="100%" | {| border="0" cellpadding="5" width="100%" | ||
|valign="top" width="500px"|[[Grafika:LW2_M1_Slajd08.png]] | |valign="top" width="500px"|[[Grafika:LW2_M1_Slajd08.png]] | ||
Linia 79: | Linia 78: | ||
{| border="0" cellpadding="5" width="100%" | {| border="0" cellpadding="5" width="100%" | ||
|valign="top" width="500px"|[[Grafika:LW2_M1_Slajd09.png]] | |valign="top" width="500px"|[[Grafika:LW2_M1_Slajd09.png]] | ||
|valign="top"| | |valign="top"|Konieczność wykonywania pomiarów wielopunktowych i wieloparametrycznych spowodowała, iż firmy zaczęły produkować tzw. czujniki inteligentne. Czujnik inteligentny jest przetwornikiem wielkości mierzonej na cyfrowy sygnał wyjściowy. Zawiera on w swojej strukturze następujące bloki funkcjonalne: | ||
*Właściwy czujnik wielkości mierzonej – w przypadku pomiarów temperatury może to być para tranzystorów, w której jest wykorzystana zależność między napięciem baza-emiter (prądem kolektora), a wartością temperatury. | |||
*Układ pomiarowy - przetwarzający zmiany parametrów właściwego czujnika na napięcie. | |||
*Przetwornik analogowo-cyfrowy. | |||
*Pamięć RAM – służy do przechowywania: trybów i zakresów pomiarowych, wyników pomiarów, progów alarmowych. | |||
*Układ interfejsu szeregowego. | |||
*Układ sterowania. | |||
Wśród czujników inteligentnych (oprócz czujników temperatury) znajdują się czujniki następujących wielkości: ciśnienia, naprężeń, składu chemicznego. Czujniki takie nie wymagają już zewnętrznego układu pomiarowego (kondycjonera), lecz dzięki wbudowanemu układowi interfejsu możliwe jest podłączenie ich (wielu) do komputera lub dedykowanego systemu mikroprocesorowego. Przykładowymi typami interfejsów stosowanych w czujnikach inteligentnych są: CAN, MicroLAN, RS-485. Przykładowo system interfejsu MicroLAN opracowany przez firmę Dallas Semiconductor umożliwia współpracę układu nadrzędnego (komputer PC lub mikrokontroler) aż z czujnikami wykorzystując jednoprzewodowa linię pomiarową. | |||
|} | |} | ||
Linia 86: | Linia 94: | ||
{| border="0" cellpadding="5" width="100%" | {| border="0" cellpadding="5" width="100%" | ||
|valign="top" width="500px"|[[Grafika:LW2_M1_Slajd10.png]] | |valign="top" width="500px"|[[Grafika:LW2_M1_Slajd10.png]] | ||
|valign="top"| | |valign="top"|Do realizacji tego systemu wykorzystano cyfrowe (inteligentne) czujniki temperatury o oznaczeniu DS18B20 firmy Dallas Semiconductor. Ich zakres pomiarowy wynosi –55°C ÷ +125°C. Błąd pomiaru wynosi ±0,5°C. Są one połączone z lokalnym dedykowanym systemem mikroprocesorowym za pośrednictwem interfejsu MicroLAN. System mikroprocesorowy jest wyposażony w interfejs RS-232C, przeznaczony do komunikacji z lokalnym serwerem. Opisany do tej pory system działa na zasadzie pytanie-odpowiedź. Użytkownik ustawia parametry pomiaru (numer czujnika/czujników, okres repetycji), a następnie uruchamia pomiar. Komputer (lokalny serwer) periodycznie wysyła do systemu mikroprocesorowego łańcuch znaków stanowiących polecenie pomiaru temperatury w wybranym punkcie. System mikroprocesorowy dokonuje interpretacji polecenia, wysyła do wybranego czujnika żądanie pomiaru temperatury, odczytuje i odpowiednio formatuje wynik pomiaru, a następnie wysyła go do lokalnego serwera. Lokalny serwer konwertuje dodatkowo otrzymane wyniki i zapisuje je w plikach dyskowych. | ||
Zgromadzone dane pomiarowe są udostępniane w sieci LAN wykorzystując technologię DataSocket. W sieci LAN pracuje serwer danych, którego oprogramowanie umożliwia udostępnienie tych danych zdalnemu użytkownikowi. | |||
Alternatywnym do poprzedniego rozwiązaniem jest wyposażenie systemu mikroprocesorowego (współpracującego z czujnikami) w minimoduł ethernetowy z zaimplementowanym stosem TCP/IP oraz protokołami: HTTP, UDP, FTP. Takie rozwiązanie umożliwia udostępnianie danych pomiarowych zdalnemu użytkownikowi z pominięciem komputera PC. | |||
|} | |} | ||
Linia 92: | Linia 103: | ||
{| border="0" cellpadding="5" width="100%" | {| border="0" cellpadding="5" width="100%" | ||
|valign="top" width="500px"|[[Grafika:LW2_M1_Slajd11.png]] | |valign="top" width="500px"|[[Grafika:LW2_M1_Slajd11.png]] | ||
|valign="top"| | |valign="top"|Jedna z wersji systemu przeznaczonego do wielopunktowego pomiaru temperatury z wykorzystaniem opisanych czujników oraz komputera PC wymaga tylko zastosowania konwertera (konwertera interfejsów) RS-232C/1-Wire np. DS2480 firmy Dallas Semiconductors. Układ ten umożliwia podłączenie czujników (posiadających interfejs 1-Wire) do interfejsu RS-232C komputera PC. | ||
W ćwiczeniu przyjęto inną wersję - do realizacji układu (systemu mikroprocesorowego) pośredniczącego pomiędzy cyfrowymi czujnikami temperatury, a komputerem PC wykorzystano 8-bitowy mikrokontroler ATmega16 firmy Atmel. Istotną cechą , która przemawiała za tym rozwiązaniem jest zdolność do pracy autonomicznej. | |||
Wybrane cechy zastosowanego mikrokontrolera: | |||
*Rdzeń o architekturze typu RISC. | |||
*Prędkość przetwarzania 16 MIPS. | |||
*Wbudowany sprzętowy układ mnożący. | |||
*Wewnętrzna pamięć programu typu flash o pojemności 16kB programowana w systemie (ISP – ang. In System Programming) za pośrednictwem szeregowego interfejsu SPI, uruchomieniowego interfejsu JTAG lub za pomocą wbudowanego programu zdalnego ładowania – boot loader. | |||
*Wbudowana pamięć EEPROM o pojemności 512B służąca np. do przechowywania nastaw przyrządu, stałych kalibracyjnych. | |||
*Wbudowana statyczna pamięć SRAM o pojemności 1kB. | |||
*Jeden 16 bitowy i dwa 8 bitowe układy czasowo-licznikowe. | |||
*Cztery kanały PWM. | |||
*Wbudowane następujące układy transmisji szeregowej: USART, TWI, SPI, JTAG (interfejs uruchomieniowy). | |||
*Zaimplementowany 8 wejściowy 10 bitowy przetwornik analogowo-cyfrowy. | |||
Oprócz wymienionych cech należałoby wspomnieć rozbudowanych układach zerowania oraz o zaawansowanych trybach oszczędności energii. | |||
Podczas pracy autonomicznej nastawy systemu są dokonywane a pomocą mini klawiatury (pracującej w trybie przerwań), a wyniki oraz komunikaty są eksponowane na lokalnym wyświetlaczu. Natomiast podczas pracy pod kontrolą komputera PC mikrokontroler ignoruje polecenia wydawane za pomocą wspomnianej mini klawiatury. | |||
Do mikrokontrolera jest dołączony układ HIN232CP, którego zadaniem jest konwersja napięć ze standardu TTL/CMOS do standardu interfejsu RS-232C. Właściwa jednostka informacyjna jest formowana przez moduł USART zaimplementowany w strukturze mikrokontrolera. | |||
Czujniki temperatury zostały dołączone do linii PB0 mikrokontrolera. Elementarne funkcje interfejsowe (zerowanie interfejsu, zapis bajtu, odczyt bajtu) zostały zrealizowane w sposób programowy. Korzystają z nich funkcje wysokiego poziomu - funkcje komunikacyjne. | |||
|} | |} | ||
Linia 99: | Linia 128: | ||
{| border="0" cellpadding="5" width="100%" | {| border="0" cellpadding="5" width="100%" | ||
|valign="top" width="500px"|[[Grafika:LW2_M1_Slajd12.png]] | |valign="top" width="500px"|[[Grafika:LW2_M1_Slajd12.png]] | ||
|valign="top"| | |valign="top"|Przedstawiony na rysunku algorytm opisuje działanie systemu mikroprocesorowego pośredniczącego pomiędzy opisanymi wyżej cyfrowymi czujnikami temperatury, a komputerem PC (lokalnym serwerem). Po włączeniu zasilania (stan START) następuje inicjalizacja modułu transmisji szeregowej USART, inicjalizacja wyświetlacza, konfiguracja linii mikrokontrolera PB0 do której są dołączone czujniki temperatury. Następnie mikrokontroler przechodzi do programu głównego, którego działanie polega na cyklicznym odczytywaniu wartości temperatury zarejestrowanej przez kolejne czujniki oraz zapisywaniu wyników pomiarów w buforze. Po każdym odczycie n-tego czujnika, testując odpowiednie flagi jest sprawdzane, czy nadeszło pytanie/polecenie od komputera nadrzędnego (lokalnego serwera), które jest przechowywane w buforze komunikacyjnym. Jeżeli pytanie/polecenie nie nadeszło lub jest uaktywniona praca autonomiczna, mikrokontroler wysyła do kolejnego (n+1) czujnika odpowiednie komendy inicjalizuje pomiar, a następnie odczytuje wartość temperatury zarejestrowaną przez ten czujnik. W przypadki, gdy bufor komunikacyjny zawiera pytanie/polecenie, wówczas jest dokonywana jego interpretacja i podejmowana odpowiednia akcja, a następnie zostaje zainicjalizowany pomiar z następnego (n+1) czujnika. W przypadku tego systemu pytania dotyczą wartości temperatury zarejestrowanej przez k-ty czujnik. W odpowiedzi mikrokontroler dokonuje odczytu jej wartości zapisanej w buforze wyników oraz przesyła ją kanałem szeregowym do lokalnego serwera. W obu przypadkach po dojściu do ostatniego czujnika (n_max), kolejny pomiar jest wykonywany przez czujnik pierwszy. | ||
|} | |} |
Wersja z 17:41, 3 paź 2006
wersja beta
LABORATORIUM WIRTUALNE 2
Ćwiczenie 1 - Zdalne pomiary temperatury
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |