Zestaw czujników białej linii do robota klasy follow the line. Raport końcowy.

Podobne dokumenty
Politechnika Wrocławska

WIZUALIZACJA DANYCH SENSORYCZNYCH Sprawozdanie z wykonanego projektu. Jakub Stanisz

Obługa czujników do robota śledzącego linie. Michał Wendland czerwca 2011

ZL4PIC. Uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC

STM32Butterfly2. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107

PROJECT OF FM TUNER WITH GESTURE CONTROL PROJEKT TUNERA FM STEROWANEGO GESTAMI

TERMINAL DO PROGRAMOWANIA PRZETWORNIKÓW SERII LMPT I LSPT MTH-21 INSTRUKCJA OBSŁUGI I EKSPLOATACJI. Wrocław, lipiec 1999 r.

Płytka laboratoryjna do współpracy z mikrokontrolerem MC68332

DOKUMENTACJA PROJEKTU

Zestaw Startowy EvB. Więcej informacji na stronie:

WIZUALIZACJA DANYCH SENSORYCZNYCH MINISTACJA METEOROLOGICZNA

ZL9AVR. Płyta bazowa dla modułów ZL7AVR (ATmega128) i ZL1ETH (RTL8019)

Dalmierz optyczny raport

ZL4PIC uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC (v.1.0) Uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC

ZL29ARM. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107

E-TRONIX Sterownik Uniwersalny SU 1.2

Wizualizacja stanu czujników robota mobilnego. Sprawozdanie z wykonania projektu.

ZL8AVR. Płyta bazowa dla modułów dipavr

ZL2AVR. Zestaw uruchomieniowy z mikrokontrolerem ATmega8

1. Wprowadzenie Programowanie mikrokontrolerów Sprzęt i oprogramowanie... 33

ZL4PIC. Uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC

4 Adres procesora Zworkami A0, A1 i A2 umieszczonymi pod złączem Z7 ustalamy adres (numer) procesora. Na rysunku powyżej przedstawiono układ zworek dl

ZL16AVR. Zestaw uruchomieniowy dla mikrokontrolerów ATmega8/48/88/168

ZL15AVR. Zestaw uruchomieniowy dla mikrokontrolerów ATmega32

Parametryzacja przetworników analogowocyfrowych

ZL25ARM. Płyta bazowa dla modułów diparm z mikrokontrolerami STR912. [rdzeń ARM966E-S]

Wykrywacz kłamstw. Grzegorz Puzio, Łukasz Ulanicki 15 czerwca 2008

Szkolenia specjalistyczne

Sprawozdanie z projektu MARM. Część druga Specyfikacja końcowa. Prowadzący: dr. Mariusz Suchenek. Autor: Dawid Kołcz. Data: r.

Uczeń/Uczennica po zestawieniu połączeń zgłasza nauczycielowi gotowość do sprawdzenia układu i wszystkich połączeń.

MCAR Robot mobilny z procesorem AVR Atmega32

Wyniki (prawie)końcowe - Elektroniczne warcaby

ZL15AVR. Zestaw uruchomieniowy dla mikrokontrolerów ATmega32

Technika Mikroprocesorowa

Raport z budowy robota typu Linefollower Mały. Marcin Węgrzyn

STM32 Butterfly. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107

Zastosowanie procesorów AVR firmy ATMEL w cyfrowych pomiarach częstotliwości

- WALKER Czteronożny robot kroczący

Projektowanie Systemów Wbudowanych

ZL27ARM. Zestaw uruchomieniowy dla mikrokontrolerów STM32F103

Zestaw uruchomieniowy z mikrokontrolerem LPC1114 i wbudowanym programatorem ISP

Kod produktu: MP01105T

LITEcompLPC1114. Zestaw ewaluacyjny z mikrokontrolerem LPC1114 (Cortex-M0) Sponsorzy:

Nowy MULTIMETR z czujnikiem Halla

PRUS. projekt dokumentacja końcowa

ZL5PIC. Zestaw uruchomieniowy dla mikrokontrolerów PIC16F887

AVR DRAGON. INSTRUKCJA OBSŁUGI (wersja 1.0)

PROGRAMOWALNE STEROWNIKI LOGICZNE

Touch button module. Moduł przycisku dotykowy z podświetleniem LED

ZL9ARM płytka bazowa dla modułów diparm z mikrokontrolerami LPC213x/214x

Płytka ewaluacyjna z ATmega16/ATmega32 ARE0021/ARE0024

Płytka uruchomieniowa AVR oparta o układ ATMega16/ATMega32. Instrukcja Obsługi. SKN Chip Kacper Cyrocki Page 1

Projekt MARM. Dokumentacja projektu. Łukasz Wolniak. Stacja pogodowa

Programowanie Układów Logicznych kod kursu: ETD6203. Szczegóły realizacji projektu indywidualnego W dr inż.

Pracownia Transmisji Danych, Instytut Fizyki UMK, Toruń. Instrukcja do ćwiczenia nr 10. Transmisja szeregowa sieciami energetycznymi

Sprawdzian test egzaminacyjny GRUPA I

Instrukcja obsługi programatora AVR Prog USB v2

AVREVB1. Zestaw uruchomieniowy dla mikrokontrolerów AVR. Zestawy uruchomieniowe

Wstęp Architektura... 13

Sterownik momentu obrotowego silnika prądu stałego

ZL28ARM. Zestaw uruchomieniowy dla mikrokontrolerów AT91SAM7XC

SML3 październik

Pracownia pomiarów i sterowania Ćwiczenie 1 Pomiar wielkości elektrycznych z wykorzystaniem instrumentów NI ELVIS II

Instrukcja obsługi programatora AVR Prog USB v2

Wyświetlacze graficzne : 162x64 z kontrolerem S1D x60 z kontrolerem S1D15710

Rys. 1. Schemat ideowy karty przekaźników. AVT 5250 Karta przekaźników z interfejsem Ethernet

Politechnika Białostocka

Projektowanie i produkcja urządzeń elektronicznych

LITEcomp. Zestaw uruchomieniowy z mikrokontrolerem ST7FLITE19

mh-s4 Czterokanałowy moduł czujników temperatury systemu F&Home.

SWITCH & Fmeter. Fmax 210MHz. opr. Piotrek SP2DMB. Aktualizacja

dokument DOK wersja 1.0

Programator procesorów rodziny AVR AVR-T910

IIPW_SML3_680 (Z80) przewodnik do ćwiczeń laboratoryjnych

Płytka uruchomieniowa XM32

STEROWNIK LAMP LED MS-1 Konwerter sygnału 0-10V. Agropian System

płytka montażowa z tranzystorami i rezystorami, pokazana na rysunku 1. płytka montażowa do badania przerzutnika astabilnego U CC T 2 masa

Biomonitoring system kontroli jakości wody

ZL10PLD. Moduł dippld z układem XC3S200

Instrukcja obsługi. PROGRAMATOR dualavr. redflu Tarnów

Kurs Elektroniki. Zastosowanie elektroniki w robotyce cz

Sterownik Spid Pant 8 i Ant 8. Podręcznik użytkowania

2. Architektura mikrokontrolerów PIC16F8x... 13

Edukacyjny sterownik silnika krokowego z mikrokontrolerem AT90S1200 na płycie E100. Zestaw do samodzielnego montażu.

LABORATORIUM - ELEKTRONIKA Układy mikroprocesorowe cz.2

d&d Labo Dekoder Ledv.4 Przeznaczenie, działanie: Montaż:

INSTRUKCJA OBSŁUGI. Przekaźnik czasowy ETM ELEKTROTECH Dzierżoniów. 1. Zastosowanie

mh-s8 Ośmiokanałowy moduł czujników temperatury systemu F&Home.

INSTRUKCJA OBSŁUGI. Tablicowy wskaźnik pętli prądowej. Typ: NEF30 MC LPI

Płytka uruchomieniowa XM64

usbcat OPTOIZOLOWANY INTERFEJS USB<->CAT OPTOIZOLOWANE STEROWANIE PTT, CW, FSK GALWANICZNA IZOLACJA AUDIO IN, AUDIO OUT Podręcznik użytkownika

Zmierzyć się z żywiołami, czyli jak zbudować własną stację badawczą! Zaczynamy! Pole komunikatów programu. Nawigacja w programie Arduino

PL B1 PRZEDSIĘBIORSTWO BADAWCZO- -PRODUKCYJNE I USŁUGOWO-HANDLOWE MICON SPÓŁKA Z OGRANICZONĄ ODPOWIEDZIALNOŚCIĄ, KATOWICE, PL

Notatka lekcja_#3_1; na podstawie W.Kapica 2017 Strona 1

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

1.2. Architektura rdzenia ARM Cortex-M3...16

Dokumentacja Licznika PLI-2

T 1000 PLUS Tester zabezpieczeń obwodów wtórnych

Interface sieci RS485

WARIATOR WYPRZEDZENIA ZAPŁONU WARIATOR USTAWIENIA

Transkrypt:

Zestaw czujników białej linii do robota klasy follow the line. Raport końcowy. Rafał Cichoń 18 czerwca 2009 nr indeksu 1

Spis treści 1 Charakterystyka projektu 3 2 Część mechaniczna 3 2.1 Płyta główna........................................ 3 2.1.1 Układy zasilające.................................. 3 2.1.2 Układy dopasowujące............................... 4 2.1.3 Moduł mikrokontrolera.............................. 4 2.1.4 Klawiatura..................................... 5 2.1.5 Wyświetlacz LCD................................. 5 2.2 Płytka czujników...................................... 6 3 Cześć programistyczna 7 3.1 Obsługa przycisków.................................... 7 3.2 Obsługa przetwornika ADT................................ 8 3.3 Menu............................................ 9 3.4 Wizualizacja........................................ 9 4 Podsumowanie 9 2

1 Charakterystyka projektu W założeniach projektu miał powstać zestaw czujników odbiciowych działających w podczerwieni. Ze względu na stosunkowo prosty problem samej obsługi czujników dopełnieniem miała być wizualizacja odczytów na kolorowym wyświetlaczu LCD firmy Sharp. Całość miała być sterowana z czteroprzyciskowej klawiatury. Na rysunku 1 przedstawiony jest schemat blokowy urządzenia. Rysunek 1: Schemat blokowy urządzenia. 2 Część mechaniczna Na urządzenie składają się dwie płytki drukowane. Pierwsza, zwana dalej główną, zawiera wyświetlacz, moduł z mikrokontrolerem [3] oraz klawiaturę. Druga płytka zawiera zestaw czujników, dalej nazywana płytką czujników. Obie połączone są ze sobą przewodem wstążkowym, przy czym złącze jest na płytce głównej. Na rysunku 2 przedstawiono zdjęcie gotowego urządzenia. 2.1 Płyta główna Na płycie głównej znajdują się układy stabilizacji napięcia zasilającego, układy dopasowania napięcia, układ przetwarzania napięcia oraz wymienione wcześniej: wyświetlacz, moduł kontrolera i klawiatura. Dodatkowo zamontowano złącze DB9, złącze IDC10 oraz dwa rodzaje złącz zasilających. Rysunek 3 przedstawia schemat elektryczny płyty głównej. Zdjęcie gotowego urządzenia pokazane jest na rysunku 4. 2.1.1 Układy zasilające Zaprojektowano trzy różne układy zasilające: dwa obniżające napięcie i jeden podnoszący. Obniżające oparte są o stabilizatory typu 780x, które potrzebują minimum 1,5V większe napięcie niż na ich wyjściu. Dzięki nim uzyskujemy napięcie 5V i 3,3V. Pierwsze wykorzystywane jest do zasilania 3

Rysunek 2: Wygląd działającego urządzenia. modułu mikrokontrolera, MAX232, płytki czujników oraz klawiatury. Napięcie 3,3V jest wykorzystane do zasilania układów logicznych wyświetlacza, LVC245A oraz przetwornicy napięcia. Ostatnim elementem jest układ MC34063. Jest to przetwornica, która na wyjściu generuje napięcie 14,5V służące do zasilania diod podświetlających wyświetlacz. 2.1.2 Układy dopasowujące W urządzeniu wykorzystane są dwa układy dopasowujące napięcie: MAX232 oraz LVC245A. Pierwszy służy do uzyskania napięcia poprawnego przy transmisji danych w standardzie RS232. Drugi dopasowuje napięcie linii sterujących wyświetlacza, obniżając napięcie z 5V na 3,3V. Układ dopasowuje tylko w jedną stronę, chodź może działać w obie. 2.1.3 Moduł mikrokontrolera Do sterowania całością został wykorzystany mikrokontroler MC9S12A64 firmy Freescalem umieszczony na module stworzonym przez dr Marka Wnuka i dr Marka Kabałę.W urządzeniu użyte zostały następujące peryferia mikroprocesora: SCI, SPI, ADC oraz 12 pinów GPIO. 4

Rysunek 3: Schemat płyty głównej urządzenia. 2.1.4 Klawiatura Urządzenie jest wyposażone w bardzo prostą klawiaturę. Do dyspozycji użytkownika są cztery przyciski: ESC, strzałka w górę, strzałka w dół i ENTER. Podłączone one są do czterech przerwań zewnętrznych kontrolera. 2.1.5 Wyświetlacz LCD W projekcie użyto wyświetlacza LCD TFT LS020xxx firmy Sharp, który występuje w telefonach komórkowych firmy Siemens model S65. Wyświetlacz ten charakteryzuje się matrycą o wymiarach 132x176 piksela, szesnastobitową definicją barwy oraz łatwością obsługi ze względu na wbudowany interfejs SPI. Dokumentacja techniczna producenta nie jest dla niego dostępna. Jedyna informacją o sposobie programowania, która znaleziono w zasobach internetu było opracowanie Christiana Kranza. Większość informacji dotyczących możliwości wyświetlacza jest dostępna w znalezionym dokumencie. Brakuje natomiast podstawowej informacji o ustawieniach transmisji. Konieczne było 5

Rysunek 4: Złożona płyta główna. skorzystanie z przykładów napisanych w asemblerze na mikroprocesor ATmega128. Dopiero po przeanalizowaniu kodu można było poprawnie dobrać transmisję. Wyświetlacz ma możliwość obracania obrazu o +/ 90, 180 oraz odbicia lustrzanego. Cały obszar roboczy LCD można sterować piksel po pikselu. Przy wyświetlaniu grafiki jest to bardzo dobre rozwiązanie. Brak jakiegokolwiek generatora znaków alfanumerycznych w tym wyświetlaczu jest uciążliwe i zmusza do programowego opracowania takiego generatora. 2.2 Płytka czujników W urządzeniu użyto czujniki QRD1114. Płytka została tak zaprojektowana, aby można było ją podłączyć tylko pod zasilanie. W związku z tym wszystkie elementy pomocnicze umieszczone są na płytce. Z głównej płytki do płytki czujników doprowadzone jest zasilanie, a w drugą stronę doprowadzone są sygnały z kolektorów tranzystorów z czujników. Płytka czujników połączona jest przewodem wstążkowym z płytą główną. W celu uniknięcia błędnego podłączenia czujników do płytki głównej podłączono plus zasilania do drugiego pinu w złączu, a dziewiąty pin pozostawiono wolny. W takiej sytuacji gdy złącze zostanie odwrotnie podłączone plus zasilania wypadnie na dziewiątym pinie. Każda dioda nadawcza transoptora zasilana jest przez potencjometr. Potrzebny jest on do dobrania optymalnego prądu płynącego przez diodę. Jako zabezpieczenie diody przed nadmiernym prądem wynikającym z ustawienia minimalnej rezystancji na potencjometrze zastosowano rezystor 330Ω włączony w szereg z diodą i potencjometrem. W każdym czujniku fototranzystor został podłączony do procesora w układzie wspólnego emitera. Podłączenie takie determinuje interpretację pomiarów, otóż im mniejsze napięcie odczytane z czujnika, tym bliżej znajduje się przeszkoda. Schemat płytki czujników przedstawiono na rysunku 5. Gotowy, zlutowany moduł przedstawia rysunek 6 i 7. 6

3 Cześć programistyczna Rysunek 5: Schemat płytki czujników. Całość oprogramowania została napisana w środowisku CodeWarrior firmy Freescale w języku C. W funkcji głównej programu umieszczono inicjalizację poszczególnych peryferiów, inicjalizację wyświetlacza oraz pierwsze wywołanie funkcji wyrysowującej menu. Większą część obsługi zdarzeń zrealizowano w przerwaniach. 3.1 Obsługa przycisków Przyciski podłączone zostały do pinów dysponujących generatorem przerwań zewnętrznych. Przerwania zewnętrzne mają jeden wektor obsługi, dlatego rozpoznawanie, który przycisk został naci- 7

Rysunek 6: Płytka czujników - widok z góry. Rysunek 7: Płytka czujników - widok z dołu. śnięty musiało zostać dopisane Przy przejściu do przerwania i reakcji na odpowiedni przycisk wywoływana jest funkcja interpretująca zdarzenie. W ten sposób można było jedną funkcją obsłużyć wszystkie przyciski oraz wszystkie 3.2 Obsługa przetwornika ADT Przetwornik jest skonfigurowany do przetwarzania w jednym cyklu siedmiu wejść. Cykl rozpoczyna się od wskazania pinu z którego mają zostać pobrane dane. Przetwornik po wykonaniu cyklu pomiarów oczekuje na ponowne wyzwolenie. Nie skorzystano z automatycznego wykonywania kolejnego cyklu, ponieważ odczytu byłby za często i przerwanie paraliżowało pracę mikrokontrolera. 8

3.3 Menu Menu ma trzy poziomy głębokości oraz cztery pozycje równoległe na poziomach zero i jeden. Kształt menu został przedstawiony na rysunku 8. Do zapamiętania wszystkich kolejnych kroków użytkownika posłużyła jednowymiarowa tablica. W pierwszym elemencie tablicy umieszczony jest aktualny poziom zagłębienia w menu. W kolejnych polach zapisane są numery kolejno odwiedzonych podmenu. Jest to tak pomyślane, że pierwsze pole tablicy może być indeksem przy zapisywaniu bieżącej pozycji menu. Rysunek 8: Diagram układu menu. 3.4 Wizualizacja Dostępne są dwa sposoby wizualizacji odczytów: binarny lub w postaci napięcia. Na rysunku 9 przedstawiono wizualizację w postaci binarnej. Odbierają dwa czujniki o numerach 5 i 6. Rysunek 9: Wizualizacja odczytów. 4 Podsumowanie Na początku założono, że wynikiem pracy ma być stanowisko do testowania ułożenia czujników. Sądzono, że jest to ważna sprawa w robocie typu follow the line. W trakcie projektu okazało się, że 9

bardziej niż testowanie ułożenia czujników potrzebne jest przetestowanie ich od strony użyteczności, odporności na zakłócenia itp. Zgodnie z założeniami projektowymi urządzenie dysponuje zestawem czujników. Każdy czujnik, jak opisano w raporcie, ma sterowanie prądem diody - zgodnie z założeniami. Urządzenie ma również klawiaturę i proste menu z wyborem niektórych opcji. Próbowano dodatkowo zaimplementować obsługę komunikacji szeregowej ale nie dokończone tego. W założeniach o takiej komunikacji nie było mowy, dlatego na schemacie blokowym (rysunek 1) strzałka do komputera jest zaznaczona linią przerywaną. Bardzo żmudne okazało się pisanie całego menu. Konieczność wyliczania ręcznego umiejscowień poszczególnych napisów czy bloczków, spowodowała że poświęcone temu zostało znaczniej więcej czasu niż przewidziano. Mnogość zmiennych i korzystanie z obliczeń zmiennoprzecinkowych spowodowały, że w pewnym momencie stos zaczął zmieniać zawartość zmiennych. W ten sposób przy wyświetlaniu wartości odczytanego napięcia w postaci zrozumiałej dla człowieka, pojawiają się liczby spoza zakresu. Moim zdaniem jest to wina błędnego zapisywania pamięci. Literatura [1] Christian Kranz, http://www.superkranz.de/christian/s65 Display/DisplayIndex.html, 2005. [2] Dokumentacja techniczna dla mikrokontrolera MC9S12A64, http://www.freescale.com, 2009. [3] Marek Kabała, Marek Wnuk Moduł z mikrokontrolerem MC9S12A64, Wrocław, 2005. 10