Kompas Cyfrowy - Politechnika Wrocławska
Transkrypt
Kompas Cyfrowy - Politechnika Wrocławska
Wizualizacja Danych Sensorycznych Politechnika Wrocławska Instytut Cybernetyki Technicznej Wizualizacja Danych Sensorycznych Projekt Kompas Elektroniczny Prowadzący: dr inż. Bogdan Kreczmer Wykonali: Tomasz Salamon Paweł Chojnowski Wrocław, styczeń 2005 Wizualizacja Danych Sensorycznych 1. Cel projektu Projekt powstał w ramach kursu „Wizualizacja Danych Sensorycznych” i polegał na opracowaniu oraz praktycznym wykonaniu układu elektronicznego kompasu. 2. Założenia główne Projektowany układ miał: - - zapewnić obsługę, konfigurację i komunikację z modułem kompasu CMPS03 przetwarzać i wyświetlać dane na panelu LCD oraz pierścieniu diod LED komunikować się z komputerem PC wykorzystując protokół MODBUS stanowić w miarę małe urządzenie 3. Rozwiązanie projektowe „Sercem” całego układu przedstawionego na Rys.1 jest mikrokontroler ATmega8, który steruje wyświetlaczem LCD oraz poszczególnymi diodami LED. Układ komunikuje się z modułem CMPS03 poprzez sprzętową magistralę I2C. Układ U1 – stabilizator 5V- pracuje w swej typowej aplikacji, obniżając i stabilizując napięcie pochodzące z zewnętrznego zasilacza wtyczkowego. Układ U3 – MAX232 zapewnia dopasowanie poziomów napięć do standardu RS232. Przyciski S1 - (Menu) i S2 – (Ok) umożliwiają konfiguracje i obsługę urządzenia. Złącze Z4 służy do połączenia urządzenia z komputerem, za pomocą kabla typu null-modem (opis poniżej). Złącze Z2 (z sygnałami magistrali I2C) służy do dołączenia modułu CMPS03. Złącze to, rozszerzone o sygnały +5V i masy, zostało tak że umieszczone na zewnątrz obudowy, umożliwiając tym samym zewnętrzne dołączenie modułu CMPS03. Opis jego wyprowadzeń przedstawiono na Rys. 4. Kompas Elektroniczny 2 Wizualizacja Danych Sensorycznych Rys. 1 Schemat ideowy układu Kompas Elektroniczny 3 Wizualizacja Danych Sensorycznych Powyższy układ zmontowano na specjalnie do tego celu zaprojektowanych płytkach, których widoki przedstawiono na poniższych rysunkach. Rys.2 Widok ścieżek płytki mikroprocesora (odbicie lustrzane) i widok montażu elementów Rys.3 Widok ścieżek płytki diod (odbicia lustrzane) i widok montażu elementów Kompas Elektroniczny 4 Wizualizacja Danych Sensorycznych 4. Opis modułu CMPS03 Użyty w projekcie moduł kompasu jest układem specjalnie zaprojektowanym do zastosowań w robotyce do celów nawigacji. Zbudowany został w oparciu o magnetyczne sensory KMZ51 Philipsa i mikroprocesor PIC 16F872 o bardzo niskim poborze prądu. Układ zasilany jest napięciem 5V i nominalnie pobiera 15mA prądu. Rys.4 Widok i opis wyprowadzeń modułu CMPS03 Informacje o aktualnym kącie obrotu możemy uzyskać na dwa sposoby : · poprzez wyjście PWM (Pin 4) na którym dostępny jest sygnał o współczynniku wypełnienia proporcjonalnym do kąta obrotu : od 1ms dla 0° do 36,99ms dla 359.9° · poprzez odczyt odpowiednich rejestrów mikroprocesora PIC za pomocą magistrali J2C w których dostępne są już gotowe, wstępnie przetworzone informacje. Opis zawartości dostępnych z poziomu magistrali J2C rejestrów przedstawiono poniżej: Kompas Elektroniczny 5 Wizualizacja Danych Sensorycznych Rejestr Funkcja 0 Numer wersji oprogramowania Zgrubna, bajtowa informacja o odchyleniu od 0 do 255 dla kąta 1 pełnego Informacja dokładna w postaci słowa 2 bajtowego od 0 do 3599 2,3 dla kąta pełnego, reprezentująca odpowiednio 0° - 359.9 ° 4,5 Test Wewnętrzny - Sensor1 6,7 Test Wewnętrzny – Sensor2 8,9 Test Wewnętrzny - kalibracja wartości sensora 1 10,11 Test Wewnętrzny - kalibracja wartości sensora 2 15 Kalibracja Tab.1 Adresy i zawartości dostępne w rejestrach modułu CSMP03 Dokładny opis powyższego modułu znaleźć można na stronie producenta: http://www.robot-electronics.co.uk/htm/cmps3doc.shtml 5. Komunikacja z komputerem W urządzeniu zaimplementowano obsługę protokołu MODBUS (pracującego w trybie RTU) dzięki czemu możliwe jest odczytywanie danych przez komputer PC (lub inny sterownik zewnętrzny) pełniący rolę typu MASTER (parametry transmisji: 9600, 8, N,1 ) Opisywane urządzenie pełni rolę typu SLAVE o adresie 12, który w odpowiedzi na zapytanie funkcją o kodzie 3 (odczyt n rejestrów), wysyła zawartość 2 bajtowego rejestru o adresie 1, zawierającego najnowsze dane odczytane z rejestrów 2 i 3 modułu kompasu. Poniżej znajdują się przykładowe ramki komunikacji z urządzeniem: Master: [0C] [03] [00][01] [00][01] [D4][D7] ^ ^ \____/ \_____/ \_____/ - zapytanie adres Slave / kod funkcji | adres rejestru Kompas Elektroniczny | liczba rejestrów \ suma CRC 6 Wizualizacja Danych Sensorycznych Slave: [0C] [03] [02] [07][33] [D7][A0] ^ ^ ^ \____/ \_____/ - odpowiedź adres Slave / kod funkcji | liczba bajtów | zawartość rejestru \ suma CRC W przypadku wysłania zapytania o innym kodzie funkcji lub o rejestr o innym adresie, urządzenie wyśle informacje o błędzie (kod 83) zgodnie ze specyfikacją protokołu odpowiednio : 01 (niedozwolona funkcja) lub 02 (niedozwolony adres danych) np. Master: [ 0C] [04] [00][01] [00][01] [61][17] Slave: [0C] [83] [01] [11][33] - zapytanie - odpowiedź Master: [0C] [03] [00][03] [00][02] [35][16] Slave: [0C] [83] [02] [51][32] - zapytanie - odpowiedź 6. Obsługa urządzenia Urządzenie gotowe jest do pracy tuż po włączeniu zasilania. Na wyświetlaczu LCD prezentuje aktualny kąt odchylenia od kierunku Północy. Dodatkowo, gdy kąt odchylenia odpowiada 4 głównym kierunkom, wyświetla informację typu: Wschód, Zachód, Północ, Południe. W centralnej części urządzenia znajduje się pierścień 12 diod Led, z których każda odpowiada odchyleniu 30° ( 12 x 30° = 360°). Zaświecają się one pojedynczo, przeciwnie do wykonywanego obrotu, dzięki czemu święcąca się dioda wskazuje kierunek północny. Klawiszem „Menu” przechodzimy kolejno po dostępnych w menu opcjach, których wyboru dokonujemy klawiszem „Ok.”. Funkcja „Kalibracja” służy do skalibrowania modułu kompasu w przypadku znaczącej zmiany otoczenia modułu (np. po zamieszczeniu modułu wewnątrz obudowy urządzenia, ze względu na obecność w niej metalowych przedmiotów). Kalibracja, po jej aktywowaniu z poziomu menu, polega na ustawieniu modułu kolejno w kierunkach północnym, wschodnim, południowym i zachodnim, i naciśnięciu każdorazowo po ustawieniu klawisza „Ok”, zgodnie z komunikatami wyświetlanymi na LCD. Kompas Elektroniczny 7 Wizualizacja Danych Sensorycznych 7. Załączniki Wymiary modułu Przykład płyty czołowej ;) Kompas Elektroniczny 8