Sprawozdanie z projektu: Dalmierz optyczny

Podobne dokumenty
Aoi Ryuu. v2.0 moduł z mikroprocesorem Atmega169 dla makiety dydaktycznej Akai Kaba

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

MCAR Robot mobilny z procesorem AVR Atmega32

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

E-TRONIX Sterownik Uniwersalny SU 1.2

WIZUALIZACJA DANYCH SENSORYCZNYCH Sprawozdanie z wykonanego projektu. Jakub Stanisz

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

LABORATORIUM - ELEKTRONIKA Układy mikroprocesorowe cz.2

ZL2AVR. Zestaw uruchomieniowy z mikrokontrolerem ATmega8

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

Instrukcja użytkownika

WIZUALIZACJA DANYCH SENSORYCZNYCH MINISTACJA METEOROLOGICZNA

ZL15AVR. Zestaw uruchomieniowy dla mikrokontrolerów ATmega32

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

SML3 październik

ZL27ARM. Zestaw uruchomieniowy dla mikrokontrolerów STM32F103

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

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

Wstęp. Opis ATMEGA128 MINI MODUŁ VE-APS-1406

ZL28ARM. Zestaw uruchomieniowy dla mikrokontrolerów AT91SAM7XC

Podstawowe urządzenia peryferyjne mikrokontrolera ATmega8 Spis treści

ZL15AVR. Zestaw uruchomieniowy dla mikrokontrolerów ATmega32

Biomonitoring system kontroli jakości wody

Kod produktu: MP01105T

Terminal TR01. Terminal jest przeznaczony do montażu naściennego w czystych i suchych pomieszczeniach.

ARS3 RZC. z torem radiowym z układem CC1101, zegarem RTC, kartą Micro SD dostosowany do mikro kodu ARS3 Rxx. dokument DOK wersja 1.

ZL5PIC. Zestaw uruchomieniowy dla mikrokontrolerów PIC16F887

Politechnika Wrocławska

ZL30ARM. Zestaw uruchomieniowy dla mikrokontrolerów STM32F103

ZL29ARM. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107

Kod produktu: MP01105

Zestaw uruchomieniowy z mikrokontrolerem LPC1114 i wbudowanym programatorem ISP

Kod produktu: MP01611

ZL4PIC. Uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC

Zestaw Startowy EvB. Więcej informacji na stronie:

STM32Butterfly2. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107

dokument DOK wersja 1.0

Interfejsy komunikacyjne pomiary sygnałów losowych i pseudolosowych. Instrukcja do ćwiczenia laboratoryjnego

Dalmierz optyczny raport

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

Instrukcja użytkownika

ZL3ST7. Zestaw uruchomieniowy dla mikrokontrolerów

Instytut Teleinformatyki

Opis czytnika TRD-FLAT CLASSIC ver Naścienny czytnik transponderów UNIQUE w płaskiej obudowie

Laserowy skaner obiektów 3D.

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

Tab. 1. Zestawienie najważniejszych parametrów wybranych mikrokontrolerów z rodziny LPC2100, które można zastosować w zestawie ZL3ARM.

micro Programator ISP mikrokontrolerów AVR zgodny z STK500v2 Opis Obs³ugiwane mikrokontrolery Wspó³praca z programami Podstawowe w³aœciwoœci - 1 -

rh-t6 LR Sześciokanałowy moduł pomiaru temperatury systemu F&Home RADIO. Wersja LR powiększony zasięg.

Instytut Teleinformatyki

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

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

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

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

Ćwiczenie 5 Zegar czasu rzeczywistego na mikrokontrolerze AT90S8515

Instrukcja użytkownika

MOBOT-RCR v2 miniaturowe moduły radiowe Bezprzewodowa transmisja UART

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

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

Programowanie mikrokontrolerów. 8 listopada 2007

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

ZL2ARM easyarm zestaw uruchomieniowy dla mikrokontrolerów LPC2104/5/6 (rdzeń ARM7TDMI-S)

2.1 Porównanie procesorów

STHR-2810, 2811, 2812 Przetwornik temperatury i wilgotności z czujnikiem Sensirion

oznaczenie sprawy: CRZP/231/009/D/17, ZP/66/WETI/17 Załącznik nr 6 I-III do SIWZ Szczegółowy opis przedmiotu zamówienia dla części I-III

Wykład 2. Przegląd mikrokontrolerów 8-bit: -AVR -PIC

ZL2ARM easyarm zestaw uruchomieniowy dla mikrokontrolerów LPC2104/5/6 (rdzeń ARM7TDMI-S)

interfejs szeregowy wyświetlaczy do systemów PLC

Płyta uruchomieniowa EBX51

Moduł uruchomieniowy mikrokontrolera MC68HC912B32

PLD48 PIXEL DMX LED Driver

AVR DRAGON. INSTRUKCJA OBSŁUGI (wersja 1.0)

Instrukcja obsługi. PLD 24 - pixel LED driver DMX V MODUS S.J. Wadowicka Kraków, Polska.

Wstęp Architektura... 13

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

Instrukcja obsługi rejestratora SAV35 wersja 10

3.1 INFORMACJE OGÓLNE O UKŁADACH WEJŚĆ/WYJŚĆ ODDALONYCH SMARTMOD I/O

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

Uniwersalny zestaw uruchomieniowy dla mikrokontrolerów AVR

Funkcjonowanie i budowa modelu układu regulacji temperatury. Jakub Rotkiewicz AIR 2018

Moduł prototypowy X3-DIL64 z procesorem ATxmega128A3U-AU

Moduł RS232 E054. TAP - Systemy Alarmowe Sp. z o. o. os. Armii Krajowej Poznań tel ; fax:

Instrukcja użytkownika

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

F&F Filipowski Sp. J Pabianice, ul. Konstantynowska 79/81 tel KARTA KATALOGOWA

Opis Ogólny OPIS INTERFEJSU POMIAROWEGO AL154SAV5.

Politechnika Białostocka

PRZETWORNIK ADC w mikrokontrolerach Atmega16-32

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

Wyniki (prawie)końcowe - Elektroniczne warcaby

W semestrze letnim studenci kierunku Aplikacje Internetu Rzeczy podczas ćwiczeń z programowania CAD/CAM

AN ON OFF TEMPERATURE CONTROLLER WITH A MOBILE APPLICATION

F&F Filipowski Sp. J Pabianice, ul. Konstantynowska 79/81 tel KARTA KATALOGOWA

Opis czytnika TRD-80 CLASSIC ver Moduł czytnika transponderów UNIQUE z wbudowaną anteną

Spis treści. Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

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

ISP ADAPTER. Instrukcja obsługi rev.1.1. Copyright 2009 SIBIT

projekt przetwornika inteligentnego do pomiaru wysokości i prędkości pionowej BSP podczas fazy lądowania;

Instrukcja obsługi programatora AVR Prog USB v2

Instrukcja obsługi programatora AVR Prog USB v2

Transkrypt:

Sprawozdanie z projektu: Dalmierz optyczny Konrad Ćwiąkała czerwca 008 Wizualizacja danych sensorycznych - Projekt. Prowadzący - Dr inż. Bogdan Kreczmer

Wstęp Celem projektu było stworzenie dalmierza optycznego, w oparciu o czujnik typu PSD (GPY0A0) firmy Sharp. Dodatkowo zrealizowano funkcję skanowania otoczenia w zakresie ( 90 : +90 ). Wizualizację wyników pomiarów zrealizowano przy pomocy wyświetlacza graficznego opartego o sterownik SD5705. Zaimplementowano także prosty protokół komunikacji z komputerem poprzez złącze RS. Rysunek : Zdjęcie wykonanego urządzenia

Elementy składowe urządzenia Na poniższym schemacie blokowym, przedstawiono najważniejsze elementy składające się na zrealizowany projekt. W kolejnych podpunktach zostaną przedstawione poszczególne moduły urządzenia. Rysunek : schemat blokowy urządzenia Na następnej stronie przedstawiano schemat elektroniczny płyty głównej wykonanego urządzenia. Do płyty głównej poprzez oznaczone na schemacie złącza zostały podłączone odpowiednie moduły. W kolejnych podpunktach zostaną omówione poszczególne elementy płyty głównej oraz moduły peryferyjne dalmierza.

4 A +5 P Power P6 4 6 8 0 + 5 7 9 U IN OUT L7805 +5 P Switch C 000uF +5 +. U IN OUT 78L C4 0uF PB0 PB PB PB PB4 7 0 5 9 4 5 U4 IN IN IN IN4 EN EN L9D VCC VC OUT OUT OUT OUT4 6 8 6 4 + +5 P5 4 5 6 Motor R4 R5 R6 R7 R8 R9 +5 R, R,..., R9 = 00K PA PD4 PD5 PD6 PD7 P7 4 5 6 7 8 9 0 Keyboard PA A ISP R B B C5 00uF U +5 P C P9 RS C6 uf C7 uf C8 uf +5 R 6 4 7 8 6 U5 VDD C+ VCC C- C+ C- TOUT TIN TOUT TIN RIN ROUT RIN ROUT VEE MAX R 4 5 0 9 5 C9 uf C0 uf C pf C? Y 6MHz 4 5 6 7 8 4 5 6 7 8 9 0 9 PB0 (XCK/T0) PB (T) PB (AIN0/INT) PB (AIN/OC0) PB4 (SS) PB5 (MOSI) PB6 (MISO) PB7 (SCK) PD0 (RXD) PD (TXD) PD (INT0) PD (INT) PD4 (OCB) PD5 (OCA) PD6 (ICP) PD7 (OC) RESET XTAL XTAL ATmega-6PC PA0 (ADC0) PA (ADC) PA (ADC) PA (ADC) PA4 (ADC4) PA5 (ADC5) PA6 (ADC6) PA7 (ADC7) PC0 (SCL) PC (SDA) PC (TCK) PC (TMS) PC4 (TDO) PC5 (TDI) PC6 (TOSC) PC7 (TOSC) VCC AVCC AREF 40 9 8 7 6 5 4 4 5 6 7 8 9 0 0 +5 +. +5 PC6 PC4 PC PC0 PA6 PA4 P8 Sensor 4 5 6 7 8 9 0 4 5 6 LCD PC7 PC5 PC PC PA7 PA5 PA C D P4 Encoder pf Title Size Dalmierz optyczny - płyta główna Number Revision D A4 Date: 008-06-0 Sheet of File: D:\Work\..\Sheet.SchDoc Drawn By: Konrad Ćwiąkała 4

. Zasilanie Do zasilania urządzenia zastosowano zasilacz sieciowy, dający na wyjściu napięcie V przy prądzie rzędu 500mA. Nieustabilizowany prąd z zasilacza został wykorzystany do sterowania silnikiem krokowym. Stabilizacji napięcia podawanego na elementy cyfrowe dokonano na stabilizatorze liniowym L7805. Przy obniżaniu napięcia z V do 5V i stosunkowo dużym poborze prądu przez układ, występowały znaczne straty mocy wydzielanej w postaci ciepła. Dla zabezpieczenia stabilizatora przed przegrzaniem zastosowano radiator o powierzchni 0.5dm. Drugi stabilizator widoczny na schemacie (78L) był wykorzystywany tylko to do generowania napięcia odniesienia dla przetwornika ADC.. Mikrokontroler W urządzeniu zastosowano mikokontroler ATmega należący do rodziny AVR produkowanej przez firmę ATMEL. Jest to 8-bitowy procesor zbudowany w architekturze RISC. Poniżej przedstawiono niektóre własności wybranego mikrokontrolera: kb pamięci Flash kb pamięci SRAM kb pamięci EEPROM programowalne linie I/O timery 8-bitowe i timer 6-bitowy 8-kanałowy, 0-bitowy przetwornik ADC port transmisji szeregowej USART interfejs SPI Podobnie jak we wszystkich mikrokontrolerach z rodziny AVR, także w przypadku ATmega, możliwe jest programowanie pamięci Flash w systemie (In-System Programming). Mikrokontroler dostępny jest w kilku obudowach. Ze względu na spore rozmiary urządzenia, oraz jego prototypowy charakter postanowiono wybrać obudowę PDIP-40. 5

. Sterownik silnika krokowego L9D Do sterowania silnikiem krokowym wybrano układ L9D produkowany przez firmę STMicroelectronics. Układ jest dedykowany do sterowania silnikami szczotkowymi przy częstotliwościach sygnałów sterujących dochodzących do 5kHz. Ze względu na swoją architekturę może on zostać także wykorzystany do sterowania unipolarnym silnikiem krokowym. W omawianym urządzeniu każdy kanał sterownika obsługiwał jedno uzwojenie silnika. W czasie pracy oba sygnały enable były ustawione na stałe (Sterowanie sygnałami enable poprzez PWM mogło zapewnić pracę silnika w trybie mikrokrokowym). Rysunek : Architektura sterownika L9D Wykorzystany układ zapewnia możliwość sterowania prądami rzędu 600mA na kanał (.A w impulsie). Układ posiada dodatkowo wbudowane diody zabezpieczające oraz zabezpieczenie temperaturowe. Na sterownik można podać napięcie dochodzące do 6V, przy obsłudze logiki na poziomach TTL. Do sterowania układem wykorzystano 6 linii wyjściowych mikrokontrolera (4 na obsługę kanałów i generujące sygnały enable). 6

.4 MAX (transceiver RS - TTL) Układ MAX został wykorzystany w standardowej konfiguracji jako dwukierunkowy translator poziomów sygnałów RS i TTL. Zastosowanie układu było konieczne dla zapewnienia komunikacji urządzenia z komputerem przez port szeregowy. Rysunek 4: Architektura transceivera MAX Na chwilę obecną w urządzeniu zaimplementowana została jedynie prosta jednokierunkowa komunikacja z komputerem. Komunikacja odbywa się w trybie tekstowym przy baud rate równym 900. Jeden pakiet zawiera 8 bitów danych, bit stopu, oraz bit parzystości (even parity). Dla zabezpieczenia przed utratą niektórych pakietów wysyłane paczki mają określony format. Zaimplementowano trzy formaty wysyłanych paczek danych: B %s; D %d,%d; S %d,%d; Pierwsze formatowanie oznacza wystąpienie zdarzenia (np. naciśnięcie przycisku), drugie pracę w trybie dalmierza, a trzecie w trybie skanera. W dwóch ostatnich formatowaniach wysyłane liczby oznaczają odpowiednio pozycję wieżyczki i zmierzoną odległość (w centymetrach). Każda paczka zakończona jest średnikiem. 7

.5 Czujnik GPY0A0 W urządzeniu zastosowano czujnik typu PSD produkowany przez firmę Sharp. Wybrany czujnik ma następujące właściwości: efektywny zasięg pomiaru 0cm-50cm zasilanie napięciem 4.5-5.5V napięcie wyjściowe 0-V Rysunek 5: Wygląd zewnętrzny czujnika GPY0A0 Rysunek 6: Zależność napięcia wyjściowego od mierzonej odległości 8

.6 Wyświetlacz LCD z kontrolerem SD5705 W urządzeniu zamontowano wyświetlacz graficzny o rozdzielczości 6x64 pikseli. Wyświetlacz posiada wbudowane podświetlenie diodowe. Całość (wyświetlacz z podświetleniem) jest zasilana napięciem 5V i pobiera w czasie pracy prąd rzędu 50mA. Rysunek 7: Wygląd zastosowanego układu wyświetlacza Do obsługi wyświetlacza konieczne było wykorzystanie linii wyjściowych mikrokontrolera..7 Klawiatura Częścią interfejsu urządzenia jest 6-przyciskowa klawiatura. Wyjścia klawiszy niewciśniętych były zwarte do masy. Odcięcie od masy i podanie na odpowiadające przyciskowi wejście mikrokontrolera napięcia 5V następowało po wciśnięciu przycisku. 9

.8 Silnik krokowy M4SP-4 Do zrealizowania ruchomej wieżyczki skanera wykorzystano unipolarny silnik krokowy M4SP-4 firmy Mitsumi. Silniki tego typu są stosowane w drukarkach do poruszania karetki z tuszem. Wykorzystany silnik ma następujące parametry: Znamionowe napięcie zasilania 4V Pobór prądu przy napięciu znamionowym 646mA Rozdzielczość.75 /step W skonstruowanym urządzeniu sterowanie silnikiem odbywało się zawsze w trybie półkrokowym, dzięki czemu uzyskano efektywną rozdzielczość skanera równą.875. Do wykrycia skrajnych położeń wieżyczki skonstruowano prosty czujnik krańcowy. Do spodniej części silnika doklejono przełączniki, natomiast do wału silnika przyczepiono kawałek laminatu. Laminat w skrajnych położeniach, włączając jeden z przełączników wywoływał przerwanie mikrokontrolera. Rysunek 8: Wygląd silnika, oraz stworzonego czujnika położeń krańcowych 0

Konstrukcja urządzenia Do ostatecznego montażu elementów składowych wykorzystano dwie standardowe obudowy plastikowe. Mniejsza stanowi obrotową wieżyczkę urządzenia wyposażoną w czujnik. Większa zawiera w sobie pozostałe moduły, łącznie z gniazdem zasilania i gniazdem DB9-F pozwalającym na podłączenie urządzenia do portu szeregowego komputera. Rysunek 9: Mniejsza obudowa z okienkiem czujnika Rysunek 0: Obie obudowy połączone za pomocą wału silnika

Dla ułatwienia obsługi urządzenia zbudowano interfejs składający się z wyświetlacza graficznego i rozmieszczonych wokół niego klawiszy. Rozmieszczenie klawiszy jest zgodne z menu, programu obsługującego urządzenie, dzięki czemu użytkowanie dalmierza jest bardzo proste. Rysunek : Wygląd interfejsu urządzenia 4 Program wsadowy mikrokontrolera Program obsługujący urządzenie napisano w języku C, w środowisku CodeVision AVR. Największym problemem okazała się obsługa wyświetlacza, która wymagała napisania całej biblioteki funkcji pozwalającej na wygodną obsługę programową wyświetlania zarówno w trybie znakowym jak i w trybie graficznym. Podstawowe funkcje obsługiwały: inicjalizacja pracy wyświetlacza wyczyszczenie całego wyświetlacza wypełnienie całego wyświetlacza wysłanie komendy do wyświetlacza wysłanie danych do wyświetlacza wysłanie znaku do wyświetlacza wysłanie napisu do wyświetlacza przejście do wskazanego miejsca void lcd init(); void lcd clear(); void lcd fill(); void lcd wrc(char data); void lcd wrd(char data); void lcd wrw(char sign); void lcd prnt(char *string); void lcd gotoxy(int x,int y);

Na chwilę obecną nie udało się zrealizować wszystkich założeń narzuconych wcześniej na część programową projektu. Obsługiwane są dwa tryby pracy skanera: Pomiar ciągły Skanowanie Przy pracy urządzenia w trybie pomiar ciągły wieżyczka skanera jest ustawiana na zadanej pozycji, a na wyświetlaczu pokazywana jest odległość do przeszkody. Tryb skanowanie zapewnia pomiar odległości w zakresie 90 : +90. Wynik pomiaru jest wyświetlany w formie wykresu. Na osi X przedstawiony jest kąt obrotu wieżyczki, natomiast na osi Y przedstawiona jest odległość do przeszkody. 5 Przykłady działania dalmierza W tym rozdziale zamieszczono zdjęcia obrazujące działanie skonstruowanego urządzenia w różnych przypadkach ustawienia sceny, przy pracy w trybie dalmierza oraz w trybie skanera. Rysunek : Obiekt w odległości 4cm na wprost

Rysunek : Obiekt w odległości 8cm na wprost Rysunek 4: Brak obiektu w odległości mniejszej niż.5m przed dalmierzem 4

Rysunek 5: Obiekt w odległości 4cm na pozycji około 0 Rysunek 6: Skanowanie wnęki 5

Rysunek 7: Przeszkoda na tle wnęki Rysunek 8: Dwie oddzielne płaskie przeszkody 6

Rysunek 9: Narożnik Rysunek 0: Dwie płaskie przeszkody w różnych odległościach 7

Rysunek : Trzy wąskie przeszkody 6 Podsumowanie Badania dowiodły, że urządzenie działa poprawnie. Pomiar odległości w trybie dalmierza zapewnia dokładność rzędu ±cm, przy odległościach do przeszkody mniejszych niż 70cm. Wraz ze wzrostem odległości do przeszkody wzrasta błąd pomiaru. Skaner zbudowany na bazie czujnika typu PSD jest pozbawiony głównych wad związanych z konstrukcjami ultradźwiękowymi. Możemy bardzo dobrze odwzorowywać wszelki wnęki i narożniki, a dokładność pomiaru jest w bardzo małym stopniu zależna od faktury przeszkody. Wykorzystany w projekcie czujnik ma również swoje wady. Sensor PSD jest bardzo czuły na zakłócenia w podczerwieni. Pracę urządzenia można bardzo łatwo zaburzyć oświetlając czujnik dowolnym źródłem promieniowania podczerwonego np. pilotem do telewizora. 8