Robot mobilny klasy Line Follower Maverick. Łukasz Michalczak Anna Postawka

Podobne dokumenty
Linefollower Torpeda. Magdalena Kaczorowska

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

MozhePoyedzye. Robot klasy MiniSumo. Konrad Bednarek Michał Rataj

Raport z budowy robota mobilnego klasy minisumo Łotrzyk. Maciej Majka Mateusz Ciszek

Autonomiczny robot mobilny LF3 klasy linefollower. Jacek Jankowski

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

Podstawy budowy robotów

Raport z budowy robota mobilnego klasy minisumo John Cena. Jędrzej Boczar Jan Bednarski Dominik Świerzko

Raport z budowy robota Krzysio

CHŁOPCZYK Robot typu Line Follower

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

LABORATORIUM - ELEKTRONIKA Układy mikroprocesorowe cz.2

TIGER Autonomiczny robot mobilny typu Line Follower

Robot micromouse Rzuf nincza. Hubert Grzegorczyk

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

dokument DOK wersja 1.0

STM32Butterfly2. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107

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

STM32 Butterfly. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107

Płytka uruchomieniowa XM32

KA-NUCLEO-F411CE. Płytka rozwojowa z mikrokontrolerem STM32F411CE

MCAR Robot mobilny z procesorem AVR Atmega32

Kurs programowania mikrokontrolerów ARM z rodziny Cortex-M3

Rysunek 1 Schemat ideowy sterownika GSM

KAmduino UNO. Płytka rozwojowa z mikrokontrolerem ATmega328P, kompatybilna z Arduino UNO

Płytka ewaluacyjna z ATmega16/ATmega32 ARE0021/ARE0024

KAmduino UNO. Rev Źródło:

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

E-TRONIX Sterownik Uniwersalny SU 1.2

Płytka uruchomieniowa XM64

ZL29ARM. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107

SPECYFIKACJA TECHNICZNA LB-762-IO

Firma DAGON Leszno ul. Jackowskiego 24 tel Produkt serii DAGON Lighting

Zestaw Startowy EvB. Więcej informacji na stronie:

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

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

Laboratorium Procesorów Sygnałowych

Micromouse Rapid Raport końcowy. Marcin Niestrój

MOBOT RoboSnake. Moduł wieloczłonowego robota

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

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

ZL28ARM. Zestaw uruchomieniowy dla mikrokontrolerów AT91SAM7XC

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

SigmaDSP - zestaw uruchomieniowy dla procesora ADAU1701. SigmaDSP - zestaw uruchomieniowy dla procesora ADAU1701.

DOKUMENTACJA PROJEKTU

INSTRUKCJA OBSŁUGI I INSTALACJI

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

Raport z budowy robota minisumo Django Fat. Krzysztof Dąbek Szymon Jasak

SIMSON. Raport. Robot moblilny klasy Line follower. Łukasz Kaźmierczak. Dawid Kwaśnik. Małgorzata Lewandowska. Wrocław, r.

Politechnika Wrocławska

SDD287 - wysokoprądowy, podwójny driver silnika DC

UNO R3 Starter Kit do nauki programowania mikroprocesorów AVR

ROBOT MOBILNY TYPU LINE FOLLOWER JACK. Michał Rybczyński

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

Wyniki (prawie)końcowe - Elektroniczne warcaby

ZL27ARM. Zestaw uruchomieniowy dla mikrokontrolerów STM32F103

ZL10PLD. Moduł dippld z układem XC3S200

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

Robot mobilny klasy minisumo Buster

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

Modem radiowy MR10-GATEWAY-S

Zestaw uruchomieniowy z mikrokontrolerem LPC1114 i wbudowanym programatorem ISP

WIZUALIZACJA DANYCH SENSORYCZNYCH MINISTACJA METEOROLOGICZNA

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

Politechnika Białostocka

ZL4PIC. Uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC

SDD287 - wysokoprądowy, podwójny driver silnika DC

STHR-6610 Naścienny przetwornik temperatury i wilgotności

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

Sygnalizator zewnętrzny AT-3600

AVR DRAGON. INSTRUKCJA OBSŁUGI (wersja 1.0)

PLD48 PIXEL DMX LED Driver

Wyjścia analogowe w sterownikach, regulatorach

Konstrukcja Micro Mouse

o Instalacja środowiska programistycznego (18) o Blink (18) o Zasilanie (21) o Złącza zasilania (22) o Wejścia analogowe (22) o Złącza cyfrowe (22)

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

Instytut Teleinformatyki

LABCONTROL EASYLAB. The art of handling air

Mobilny robot klasy minisumo QuoShyan

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

ADuCino 360. Zestaw uruchomieniowy dla mikrokontrolerów ADuCM360/361

STEROWNIK MIKROPROCESOROWY PWM EC-10. Dla oświetlenia LED RGB. wersja oprogramowania: 1.7

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

INSTRUKCJA INSTALACJI DARWIN 02/04/06/08 bariera podczerwieni

Nowy MULTIMETR z czujnikiem Halla

Programowalne Układy Cyfrowe Laboratorium

Zastosowanie silników krokowych jako napęd robota mobilnego

SPECYFIKACJA PRZETWORNIK RÓŻNICY CIŚNIEŃ DPC250; DPC250-D; DPC4000; DPC4000-D

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

ET2007 KATALOG SYSTEMÓW STEROWANIA

MOD Xmega explore z ATXmega256A3BU. sklep.modulowo.pl akademia.modulowo.pl zestawy.modulowo.pl app.modulowo.pl blog.modulowo.

Tester samochodowych sond lambda

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

Serwonapędy AC Serie EDC, EDB, ProNet

. Polski. Dekoder rozjazdów GEODec C1O. DEKODER ROZJAZDÓW ROCO GeoLine. GEODec C1O. Instrukcja obsługi, programowania i budowy dekodera

SYGNALIZATOR OPTYCZNO-AKUSTYCZNY SPL-2030

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

STEROWNIK ELEKTRYCZNYCH NAGRZEWNIC POWIETRZA EHC 1 Instrukcja montażu i podłączenia

LITEcomp. Zestaw uruchomieniowy z mikrokontrolerem ST7FLITE19

Transkrypt:

Robot mobilny klasy Line Follower Maverick Łukasz Michalczak Anna Postawka Koło Naukowe Robotyków KoNaR www.konar.pwr.edu.pl 6 stycznia 2016

SPIS TREŚCI SPIS TREŚCI Spis treści 1 Wstęp 2 2 Maverick 2 2.1 Mechanika............................. 2 2.1.1 Listewka węglowa..................... 3 2.1.2 Koła............................ 3 2.1.3 Akumulator........................ 3 2.2 Elektronika............................ 3 2.2.1 Zasilanie.......................... 4 2.2.2 Mikrokontroler...................... 4 2.2.3 Czujniki.......................... 5 2.2.4 Sterowanie silnikami................... 7 2.2.5 Interfejs komunikacyjny................. 7 2.3 Program.............................. 9 2.3.1 Konfiguracja peryferii................... 9 2.3.2 Algorytm sterowania................... 9 3 Podsumowanie 10 4 Materiały źródłowe 10 1

2 MAVERICK Rysunek 1: Robot mobilny Maverick 1 Wstęp Maverick to robot klasy Line Follower Light. Został stworzony w ramach warsztatów robotycznych organizowanych w 2015 r. przez koło naukowe KoNaR działające na Politechnice Wrocławskiej. Celem było wystartowanie w zawodach Robotic Arena 2015. Opiekunem projektu został Bartek Kurosz. Był on nieocenioną pomocą i znacznie przyczynił się do sukcesu tej konstrukcji. Głównym założeniem było po prostu stworzenie działającej maszyny, jako że był to pierwszy robot jego autorów. Ale na początku pracy, podczas intensywnego zbierania inspiracji i informacji na temat tego typu konstrukcji wykrystalizowała się wizja, aby stworzyć robota jak najlżejszego, bez zbędnych elementów, ale takiego, który pozwalał by na osiąganie dobrych wyników i konkurowanie z najlepszymi. Dokument ten przedstawia poszczególne elementy budowy Mavericka oraz opisuje koncepcję zaimplementowanego programu. 2 2.1 Maverick Mechanika Podstawą konstrukcji robota (rysunek 1) są dwie płytki PCB. Zostały one połączone listewką węglową. Na przedniej płytce znajdują się tylko czujniki, na tylnej cała reszta elektroniki. Silniki i akumulator są przymocowane bezpośrednio do płytki. 2

2.2 Elektronika 2 MAVERICK Taka konstrukcja ma wiele zalet. Przede wszystkim jest lekka, bo nie trzeba wprowadzać dodatkowych elementów stanowiących podwozie czy ramę pojazdu. Dodatkowo można zmieniać odległość płytek od siebie. Problemem mogłoby być to, że bezpośrednie przykręcenie układu napędowego do płytki PCB może narażać elektronikę na potencjalnie szkodliwe wstrząsy, ale jak na razie nie zostały zauważone żadne negatywne skutki takiej budowy. 2.1.1 Listewka węglowa Zostały przetestowane dwie długości listewki: 12 cm i 16 cm. Dłuższa sprawdziła się lepiej. W przyszłości warto by było przetestować jeszcze inne długości (max. 26 cm, aby robot mieścił się na kartce A4), aby dobrać najlepszą optymalną dla tej konstukcji. Można by też spróbować zastosować lżejszy materiał. 2.1.2 Koła Zamontowane zostały koła Solarbotics RW2i razem z oponami. Zapewniły one wystarczającą przyczepność. 2.1.3 Akumulator Akumulator został umieszczony na tylnej osi, aby dociążyć koła i zwiększyć przyczepność. Został przymocowany gumkami zawiązanymi do śrubek przykręconych do płytki PCB. Na przyszłość warto by pomyśleć nad innym mocowaniem - po pierwsze śrubki są niepotrzebnym ciężarem, po drugie aktualnie nie ma możliwości przesunięcia akumulatora, a jest to jeden z cięższych elementów konstrukcji i znacznie zmienia on wyważenie robota, co może wpływać na osiągi. Aktualnie akumulator leży na podwyższeniu, co ma uchronić delikatne elementy znajdujące się pod nim od uszkodzenia mechanicznego. Nie jest to najlepsze rozwiązanie - dla zwiększenia przyczepności lepiej byłoby umieścić akumulator jak najniżej. Jeśli zostałaby wykonana nowsza wersja płytki, trzeba by było najpierw eksperymentalnie wyznaczyć najlepsze ustawienie akumulatora względem osi kół, po czym przeprojektować płytkę tak, aby przesunąć elementy spod akumulatora w inne miejsce i może nawet wyciąć dziurę w płytce, aby ten ciężar znalazł się jak najbliżej podłoża. 2.2 Elektronika Elektronika została zaprojektowana w programie KiCad. Jest to oprogramowanie typu open source przeznaczone do edycji schematów oraz obwodów 3

2.2 Elektronika 2 MAVERICK Rysunek 2: Zasilanie drukowanych. Płytki były przygotowywane samodzielnie, więc w projekcie unikano umiejscawiania elementów czy ścieżek zbyt blisko siebie oraz w pobliżu krawędzi. Ograniczono również ilość przelotek, gdyż ich wykonanie jest czasochłonne i wymaga dużej precyzji. Użyto głównie elementów powierzchniowo montowanych (ang. SMD, Surface Mounted Devices). Zajmują one mniej miejsca i nie potrzebują dodatkowych otworów. Zastosowano technikę fotochemiczną. Ścieżki, przez które prąd z akumulatora płynie bezpośrednio, są szersze (mają 32 milsy). Dla najważniejszych elementów, takich jak mikrokontroler czy sterownik silników poprowadzono osobne ścieżki zasilania. Zakłócenia są filtrowane za pomocą kondensatorów. 2.2.1 Zasilanie Do zasilania użyto akumulatora Li-pol. Podzespoły pracują pod napięciem 3,3V. Wyjątkiem są silniki, do których prąd dostarczany jest bezpośrednio z zasilacza. Do uzyskania pożądanego napięcia użyto stabilizatora LM1117S 3,3V/1A. Zastosowano zabezpieczenie przed odwrotną polaryzacją układu w postaci tranzystora typu P. Użyto suwakowy przełącznik zasilania. Poprawne zasilanie sygnalizowane jest poprzez diodę LED. Na rysunku 2 przedstawiono schemat zasilania. 2.2.2 Mikrokontroler Użyto mikrokontrolera STM32F100C4T6B. Specyfikacja: Maksymalne taktowanie: 24MHz 4

2.2 Elektronika 2 MAVERICK Napięcie pracy: 2,0-3,6V Pamięć Flash: 16kB Pamięć RAM: 4kB Przetwornik ADC: 10 kanałowy, 12 bitowy Interfejs: I2C, SPI, USART Liczba timerów: 6 (pięć 16 bitowych) Liczba wejść/wyjść: 37 Obudowa: LQFP48 Debugowanie ułatwiają dwie diody LED (rys. 7). Początkowo użyto mikrokontrolera STM32F100C8T6B, jednak uległ on uszkodzeniu. Powyższego mikrokontrolera użyto jako zamiennika, gdyż poprzedni był już niedostępny. Należało połączyć wyprowadzenia generujące sygnał PWM ze sterownikiem silników za pomocą izolowanych przewodów, ponieważ występowała niezgodność timerów w stosunku do pierwotnego układu. Schemat mikrokontrolera (rys.3) oraz jego zasilanie (rys.4). 2.2.3 Czujniki Do wykrywania czarnej linii zastosowano 9 czujników optycznych KTIR0711S. Odczyt wykonywany jest z użyciem przetwornika ADC mikrokontrolera. Specyfikacja: Napięcie diody: 5V Maksymalny prąd diody: 50mA Maksymalne napięcie kolektor-emiter: 30V Maksymalny prąd kolektora: 20mA Odległość pomiaru: max 0,5cm Na rysunku 5 przedstawiono schemat podłączenia czujnika optycznego. 5

2.2 Elektronika 2 MAVERICK Rysunek 3: Mikrokontroler Rysunek 4: Zasilanie mikrokontrolera 6

2.2 Elektronika 2 MAVERICK Rysunek 5: Czujnik optyczny 2.2.4 Sterowanie silnikami Do sterowania silnikami użyto podwójnego mostka H TB6612. Układ pozwala na proste i niezależne sterowanie dwoma silnikami DC. Specyfikacja: Napięcie logika: 2,7V - 5,5V Napięcie silnik: 4,5V - 13,5V Ciągły prąd wyjścia na kanał: 1,2A Chwilowy prąd wyjścia na kanał: 3,2A Obudowa: SSOP24-szeroki - 8,3x7,6x1,6mm Na rysunku 6 przedstawiono schemat podłączenia sterownika silników. 2.2.5 Interfejs komunikacyjny Zastosowano przycisk generujący przerwanie oraz drugi, wywołujący reset mikrokontrolera. Programowanie dokonywane jest poprzez czteropinowe złącze SWD programatora. Wyprowadzono również złącze na moduł bluetooth. Zamontowano diodę sygnalizującą poprawne zasilanie oraz dwie diody programowalne. Ostatecznie moduł bluetooth nie został użyty ze względu na brak czasu oraz niezgodność z wyprowadzeniami złącza. Schematy interfejsów komunikacyjnych przedstawia rysunek 7. 7

2.2 Elektronika 2 MAVERICK Rysunek 6: Sterownik silników (a) Przycisk (b) Diody (c) Bluetooth (d) Programator Rysunek 7: Interfejsy komunikacyjne 8

2.3 Program 2 MAVERICK 2.3 Program Program napisany jest w języku C. Korzystano z darmowego, zintegrowanego środowiska programistycznego dla mirokontrolerów STM32 i związanych z nimi płytek. STM32CubeMX jest graficznym narzędziem konfiguracyjnym, pozwalającym na generowanie gotowego kodu w języku C dla wybranego mikrokontrolera. System Workbench for STM32 to środowisko programistyczne oparte na oprogramowaniu Eclipse, które wspiera pełną gamę mikrokontrolerów STM32. Pozwala na programowanie i debugowanie urządzenia. Pomocne okazały się również darmowe programy STM32 ST-LINK Utility, jako alternatywne narzędzie do programowania i łączenia się z mikrokontrolerem oraz STMStudio, pozwalający na monitorowanie wartości zmiennych podczas pracy robota, który w szczególności użyty został do testu czujników linii. 2.3.1 Konfiguracja peryferii Do wykrywania czarnej linii wykorzystano przetwornik ADC. Skonfigurowany został do pracy w trybie DMA (Direct Memory Access, z ang. bezpośredni dostęp do pamięci). Technologia ta pozwala na transfer danych pomiędzy pamięcią a peryferiami z pominięciem procesora. Wykorzystana została do zapisu odczytów z czujników optycznych. Sterowanie sinikami oparte zostało na generacji sygnału PWM przez timer. Prescaler ustawiono na wartość 23, a AutoReload Register na 999. Umożliwia to regulacje mocą silnika na przedziale [0;1000]. Jest to w wystarczająca rozdzielczość w zastosowaniu do line followera. Przy taktowaniu 24MHz częstotliwość przerwań wynosi 1000Hz. Pętla algorytmu sterowania robotem jest wykonywana w przerwaniu timera z częstotliwością 100Hz. Długość przerw wpływa na efekt działania członu różniczkującego regulatora. 2.3.2 Algorytm sterowania Algorytm sterowania robota oparty jest o regulator PD (proporcjonalno różniczkujący) wykonywany w przerwaniu timera z częstotliwością 100Hz. Odczyt z czujników, na podstawie którego obliczany jest uchyb regulacji, wykonywany jest w trybie DMA. Następnie na silnik podawana jest nowa wartość mocy z dostępnego przedziału wyznaczona poprzez regulator. Istotnym elementem algorytmu jest zapamiętywanie ostatniego błędu położenia względem linii. Wypadnięcie z trasy skutkuje zwiększonym uchybem. 9

4 MATERIAŁY ŹRÓDŁOWE Zastosowano stopniowe rozpędzanie przy starcie, gdyż unosiła się przednia część robota. 3 Podsumowanie W dokumencie opisano proces budowy robota klasy Line Follower. Prace nad nim trwały od 8. listopada do 12. grudnia, czyli trochę ponad miesiąc. Cel został osiągnięty: udało się wystawić Mavericka na Robotic Arenie 2015. Podczas zawodów robot nie sprawiał żadnych problemów, więc można się było skupić na testowaniu różnych parametrów i ustawień. Maverick poradził sobie zadziwiająco dobrze - w klasie Line Follower Light uzyskał 6. miejsce, czyli niewiele brakowało, a wszedłby do finału. Podsumowując, robot przeszedł najważniejszą próbę i sprawdził się na zawodach. Okazał się dobrą konstrukcją, w której jednak nadal jest sporo rzeczy, które można ulepszyć. Przy dalszych pracach nad Maverickiem warto byłoby skupić sie na następujących kwestiach: Odchudzenie konstrukcji: wymiana listewki, zmiana sposobu mocowania akumulatora Zwiększenie przyczepności: lepsze wyważenie dzięki przeniesieniu akumulatora, odlanie własnych opon Zmniejszenie lub zlikwidowanie opóźnienia: prawdopodobnie dzięki lepszemu wyważeniu można by zniwelować podrywanie się przodu przy starcie Ulepszenie algorytmu 4 Materiały źródłowe Korzystano z wiedzy uzyskanej na warsztatach robotycznych oraz z wielu materiałów ogólnodostępnych w sieci. Najbardziej pomocna okazała się strona www.forbot.pl oraz KoNaRowe archiwum: http://lirec.iiar.pwr.edu. pl/~konarch/download/linefollower/ 10

4 MATERIAŁY ŹRÓDŁOWE (a) Widok z góry (b) Tylna płytka (c) Przednia płytka (d) Widok z boku Rysunek 8: Maverick w różnych ustawieniach Rysunek 9: Bonus: Maverick wykonany z piernika 11