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

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

Linefollower Torpeda. Magdalena Kaczorowska

MozhePoyedzye. Robot klasy MiniSumo. Konrad Bednarek Michał Rataj

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

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

MCAR Robot mobilny z procesorem AVR Atmega32

Autonomiczny robot mobilny LF3 klasy linefollower. Jacek Jankowski

Raport z budowy robota Krzysio

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

Robot micromouse Rzuf nincza. Hubert Grzegorczyk

Robot mobilny klasy minisumo Buster

TIGER Autonomiczny robot mobilny typu Line Follower

Podstawy budowy robotów

Zastosowanie silników krokowych jako napęd robota mobilnego

CHŁOPCZYK Robot typu Line Follower

HELMUT Robot klasy mini sumo

Mobilny robot klasy minisumo QuoShyan

Rysunek 1 Schemat ideowy sterownika GSM

UNO R3 Starter Kit do nauki programowania mikroprocesorów AVR

Robot mobilny klasy mini-sumo Żubr

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

ZL4PIC. Uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC

Robot klasy minisumo

STM32 Butterfly. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107

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

Politechnika Wrocławska

E-TRONIX Sterownik Uniwersalny SU 1.2

STM32Butterfly2. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107

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

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

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

Projekt i wykonanie robota klasy Micromouse

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

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

Raport Robot mobilny klasy micromouse. Adrian Gałęziowski Paweł Urbaniak

Robot mobilny klasy minisumo Wojak Wszechmocny. Robert Budziński

LABORATORIUM - ELEKTRONIKA Układy mikroprocesorowe cz.2

ZL10PLD. Moduł dippld z układem XC3S200

LITEcomp. Zestaw uruchomieniowy z mikrokontrolerem ST7FLITE19

Jak zbudować robota minisumo?

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

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

WIZUALIZACJA DANYCH SENSORYCZNYCH MINISTACJA METEOROLOGICZNA

Proste układy wykonawcze

PX342. Driver PWM 1x10A INSTRUKCJA OBSŁUGI

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

LABORATORIUM PODSTAW ELEKTRONIKI MATERIAŁY POMOCNICZE SERIA PIERWSZA

ZL4PIC. Uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC

Robot mobilny kategorii minisumo - CyKozak 1

Krótka informacja o bateriach polimerowych.

Instrukcja obsługi AP3.8.4 Adapter portu LPT

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

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

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

MOBOT RoboSnake. Moduł wieloczłonowego robota

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

Programator ZL2PRG jest uniwersalnym programatorem ISP dla mikrokontrolerów, o budowie zbliżonej do STK200/300 (produkowany przez firmę Kanda).

AP3.8.4 Adapter portu LPT

Politechnika Białostocka

Zestaw Startowy EvB. Więcej informacji na stronie:

KAmduino UNO. Rev Źródło:

ZL28ARM. Zestaw uruchomieniowy dla mikrokontrolerów AT91SAM7XC

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

PLD48 PIXEL DMX LED Driver

Cyfrowy konwerter 0-10V na PWM EC-10V

dokument DOK wersja 1.0

- WALKER Czteronożny robot kroczący

2.1 Porównanie procesorów

Raport z robota klasy minisumo Thingrin. Rafał Jóźwik Patryk Pham Quoc Paweł Ryman

LUZS-12 LISTWOWY UNIWERSALNY ZASILACZ SIECIOWY DOKUMENTACJA TECHNICZNO-RUCHOWA. Wrocław, kwiecień 1999 r.

SML3 październik

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

AN ON OFF TEMPERATURE CONTROLLER WITH A MOBILE APPLICATION

SML3 październik

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

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

Warsztatowo/ samochodowy wzmacniacz audio

Sygnalizator zewnętrzny AT-3600

DOKUMENTACJA PROJEKTU

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

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

SYGNALIZATOR OPTYCZNO-AKUSTYCZNY SPL-2030

ZL27ARM. Zestaw uruchomieniowy dla mikrokontrolerów STM32F103

Płytka ewaluacyjna z ATmega16/ATmega32 ARE0021/ARE0024

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

Analogowy sterownik silnika krokowego oparty na układzie avt 1314

LABORATORIUM ELEKTRONIKA I ENERGOELEKTRONIKA BADANIE GENERATORÓW PRZEBIEGÓW PROSTOKĄTNYCH I GENERATORÓW VCO

Zestaw uruchomieniowy z mikrokontrolerem LPC1114 i wbudowanym programatorem ISP

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

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

EGZAMIN POTWIERDZAJĄCY KWALIFIKACJE W ZAWODZIE Rok 2019 CZĘŚĆ PRAKTYCZNA

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

mh-e16 Moduł logiczny / szesnastokanałowy sterownik rolet / bram / markiz. systemu F&Home.

Aplikacja sterownika LED RGB UNIV

Moduł mocy regulowany. Opis modułu

PRZYCISK DO PUSZKI UNIV x

Projektowanie i produkcja urządzeń elektronicznych

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

Instrukcja programowania płytek edycji 2014

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

Transkrypt:

Raport z budowy robota mobilnego klasy minisumo Łotrzyk Maciej Majka Mateusz Ciszek 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 Rozwinięcie 2 2.1 Mechanika............................. 3 2.1.1 Podwozie i nadwozie................... 3 2.1.2 Podsumowanie...................... 3 2.2 Elektronika............................ 4 2.2.1 Zasilanie.......................... 4 2.2.2 Mikrokontroler...................... 6 2.2.3 Czujniki.......................... 6 2.2.4 Sterowanie silnikami................... 7 2.2.5 Interfejs komunikacyjny................. 8 2.3 Program.............................. 9 2.3.1 Konfiguracja peryferii................... 10 2.3.2 Algorytm sterowania................... 10 3 Podsumowanie 10 4 Informacje dodatkowe 12 1

2 ROZWINIĘCIE Streszczenie Robot klasy minisumo powstał z uwagi na odbywające się warsztaty KNR KoNaR i związany z nimi proces rekrutacyjny. Jest to prosta konstrukcja, w obudowie z polutowanych elementów wyciętych z laminatu. Jako napęd zastosowano dwa silniki pololu z przekładniami. Robot posiada cztery cyfrowe czujniki odległości Sharp GP2Y0D340K. Sterowanie robotem odbywa się za pomocą mikrokontrolera STM32F103RBT6. 1 Wstęp Rysunek 1: robot po ukończeniu Opisywana w raporcie konstrukcja, jest to robot mobilny klasy minisumo, przeznaczony do uczestnictwa w walkach z podobnymi konstrukcjami. Konstrukcja ta, została zaprojektowana od podstaw przy wykorzystaniu podzespołów sugerowanych przez prowadzących warsztaty robotyczne. Obowiązki projektowe zostały mocno podzielone. Część mechaniczną projektu przygotował Mateusz Ciszek, elektronikę oraz sterowanie zaprojektował Maciej Majka. Zespół nadzorował członek KNR KoNaR - Michał Burdka. 2 Rozwinięcie W niniejszej części opisane zostały poszczególne elementy robota oraz prace nad nimi. 2

2.1 Mechanika 2 ROZWINIĘCIE 2.1 Mechanika Do zaprojektowania koncepcji robota użyto oprogramowania Autodesk Inventor na licencji studenckiej. Zasadniczo narzędzie to posłużyło jedynie do dokładnego wymiarowania elementów z laminatu oraz ustalenia właściwych gabarytów robota. 2.1.1 Podwozie i nadwozie Podwozie zostało wykonane w całości z laminatu szklano-epoksydowego dwustronnie pokrytego miedzią. Jest to prosta obudowa, która została połączona w całość za pomocą spoiwa lutowniczego. Wyróżnić tu można zasadniczo trzy elementy 1. arkusz laminatu w kształcie litery T z przylutowanym na stałe ostrzem stalowym 2. panele boczne osłaniające elektronikę 3. panel frontowy, z otworami na czujniki odległości Silniki zostały zamocowane uchwytami bezpośrednio do podwozia. Sposób mocowania płytki z elektroniką do nadwozia także wykorzystuje spoiwo lutownicze (w trzech punktach). Poprzeczki na froncie nadwozia zabezpieczają czujniki odległości przed uszkodzeniem. Felgi kół są to wydruki 3D popularnego modelu Solarbotics RW2i. 2.1.2 Podsumowanie Konstrukcja wykonana w ten sposób wbrew pozorom okazuje się sztywna i wytrzymała. Projekt ten posiada jednak kilka wad które można by wyeliminować 1. konstrukcja tego typu jest stanowczo za lekka i wymaga dociążenia (gotowy robot z pakietem litowo-polimerowym osiągnął masę zaledwie 150 gramów) co negatywnie wpływa na jego przyczepność - za pomocą dostępnych kawałków ołowiu udało się dociążyć konstrukcję do masy 360g 2. otwory na czujniki nie zostały precyzyjnie dopasowane do kąta widzenia czujników (były za małe) przez co utrudnione było ustawienie czujników w pozycji roboczej tak aby robot nie widział sam siebie lub podłoża, a także był odporny na drgania całego systemu. 3

2.2 Elektronika 2 ROZWINIĘCIE 2.2 Elektronika Płytka z elektroniką została zaprojektowana w programie KiCAD. W celu minimalizacji płytki, użyto wyłącznie elementów SMD (poza złączami goldpin), przy czym starano się wybierać elementy w rozmiarze 0805. Płytka pierwotnie przeznaczona była do wykonania za pomocą fototransferu. Niestety, prawdopodobnie na skutek złego wywołania lakieru światłoczułego nie udało się jej poprawnie wytrawić. Z racji małej ilości czasu na wykonywanie kolejnych płytek i możliwości powtórzenia się problemu, wykonanie PCB zostało zlecone zewnętrznej firmie. Rysunek 2 przedstawia gotową płytkę po wytrawieniu. Rysunek 2: Płytka PCB 2.2.1 Zasilanie Robot jest zasilany za pomocą pakietu litowo-polimerowego 7.4V. Całość elektroniki przed odwrotną polaryzacją zabezpiecza tranzystor N-MOSFET IRLR7843. Następnie zasilanie poddawane jest filtracji i dostarczane do wejść prądowych mostków TB6612. Kolejne dwie sekcje zasilacza przedsawione na rysunku 4 są to liniowe stabilizatory LDO LM1117S które odpowiadają za dostarczanie do układu napięć 3.3V (dla mikrokontrolera) oraz 5V (zasilanie logiki mostków oraz czujników robota). Do filtracji wykorzystano kondensatory elektrolityczne, tantalowe oraz ceramiczne. Dodatkowo użyto dławi- 4

2.2 Elektronika 2 ROZWINIĘCIE Rysunek 3: Elektronika robota - sekcja zasilająca ków mocy o indukcyjnościach kolejno: 100µH dla linii zasilającej czujniki oraz 10µH dla mikrokontrolera. Kondensatory 100nF są obecne przy każdym układzie elektronicznym. Rysunek 4: Schemat zabezpieczenia oraz zasilaczy liniowych w robocie W przypadku ponownego projektowania schematu, podstawową zmianą było by dołożenie drugiego tranzystora MOS na linii zasilającej czujniki przeciwnika, tak aby móc je uruchamiać wraz z przejściem do wykonywania programu celem uniemożliwienia szybkiego rozładowania baterii w trybie oczekiwania na sygnał startowy. 5

2.2 Elektronika 2 ROZWINIĘCIE 2.2.2 Mikrokontroler Jako jednostkę sterującą naszym robotem wybrano mikrokontroler STM32F103RBT6 w obudowie LQFP64. Może on pracować z maksymalnym taktowaniem 72MHz i posiada 128KB pamięci flash. Posiada cztery 16 bitowe timery oraz dwa 12 bitowe konwertery A/C. Maksymalny pobór prądu przy zewnętrznym oscylatorze, maksymalnym taktowaniu i włączonych wszystkich peryferiach według producenta wynosi typowo 36mA. W naszym robocie zastosowano zewnętrzny oscylator kwarcowy 8MHz i użyto pętli PLL aby uzyskać maksymalne taktowanie. Programowanie procesora odbywa się poprzez interfejs SWD. Na rysunku 5 przedstawiono schemat podłączenia mikrokontrolera. Rysunek 5: Schemat podłączenia mikrokontrolera 2.2.3 Czujniki W urządzeniu zastosowano cztery czujniki odległości GP2Y0D340K firmy Sharp. Jest to kompaktowy czujnik pracujący w paśmie podczerwieni wy- 6

2.2 Elektronika 2 ROZWINIĘCIE krywający obiekty w odległości do około 40 centymetrów. Dysponuje on wyjściem cyfrowym a więc jest łatwy w implementacji. Akceptuje on poziomy zasilania od 4.5V do 5.5V. Po wykryciu obiektu na wyjściu czujnika otrzymujemy stan niski. Schemat implementacji czujników został przedstawiony na rysunku 6. Każdy czujnik posiada odpowiadającą diodę LED która sygnalizuje stan w jakim znajduje się dany czujnik. Płyta PCB opisywanego robota posiada wyjścia na 3 czujniki linii typ. KTIR0711s ale nie zostały one zaimplementowane - algorytm szukania przeciwnika nie przewiduje przemieszczania się bez wykrycia przeciwnika. Rysunek 6: Sposób implementacji czujników odległości 2.2.4 Sterowanie silnikami W projekcie wykorzystano mostki TB6612 polecane na warsztatach KNR KoNaR. Są to mostki dwukanałowe o wydajności prądowej 1.2A/kanał. W 7

2.2 Elektronika 2 ROZWINIĘCIE Rysunek 7: Schemat podłączenia mostka TB6612 naszym projekcie jeden mostek obsługuje jeden silnik, a kanały są połączone równolegle, przez co zyskujemy wydajność prądową i minimalizujemy ryzyko spalenia mostka przez udar prądowy. Zasilanie części logicznej mostków to 5V. Wejścia prądowe zostały podłączone bezpośrednio do głównej szyny zasilania za tranzystorem zabezpieczającym polaryzację. Mostek jest sterowany za pomocą dwóch linii dla sygnałów logicznych przy wykorzystaniu tabeli stanów udostępnianej przez producenta oraz wejścia PWM dla sterowania prędkością. Bazowa częstotliwość pracy sygnału PWM wynosi 1.25kHz. Poprzez wpisy do rejestru CCR można sterować wypełnieniem a tym samym prędkością obrotów silnika. Zasilanie mostków jest filtrowane za pomocą kondensatorów tantalowych i ceramicznych. 2.2.5 Interfejs komunikacyjny Robot posiada 5 diód LED oraz dwa przyciski typu tact switch. Cztery diody służą sygnalizowaniu stanu w jakim znajdują się czujniki. Jedna dioda odpowiada za sygnalizację pracy robota (wykonywanie się pętli głównej programu). Dwa dostępne przełączniki służą do 1. uruchamiania pętli głównej 8

2.3 Program 2 ROZWINIĘCIE 2. resetowania procesora Robot posiada także złącze przeznaczone do zamontowania modułu startowego wymaganego na zawodach w kategorii minisumo. Sposób realizacji tych funkcji przedstawiono na rysunku 8. Rysunek 8: Zbliżenie na elementy interfejsu komunikacyjnego Nie zastosowano tu żadnych bezprzewodowych interfejsów komunikacyjnych. Powodem takiej decyzji były ograniczenia czasowe i finansowe projektu, a także niska przydatność tego typu komunikacji z robotem klasy minisumo. Przydatną funkcją w bardziej rozwiniętym projekcie był by bezprzewodowy programator procesora. 2.3 Program Program został napisany w języku C. Oprogramowanie wykorzystane do tworzenia kodu źródłowego to 9

3 PODSUMOWANIE 1. STM32CubeMX 2. System Workbench for STM32 (based on ECLIPSE) 3. ST-Link Utility Są to programy darmowe. 2.3.1 Konfiguracja peryferii W projekcie wykorzystano pojedynczy timer do sprzętowej generacji sygnału PWM. Pracuje on z częstotliwością 1.25kHz. Wykorzystane zostały dwa kanały dla niezależnej kontroli prędkości obu silników robota. Timer dzieli podstawowe taktowanie 72MHz przez 36 i zlicza 1600 impulsów 2.3.2 Algorytm sterowania Algorytm sterowania robotem jest bardzo prosty i został wykonany głównie za pomocą instrukcji if. Głowna instrukcja while uruchamiana jest zmiany i podtrzymania stanu na pinie modułu startowego. Robot nie widząc przeciwnika wykonuje wyłącznie obrót w miejscu do czasu wykrycia obiektu w polu widzenia czujników. Skrajne czujniki odchylone o 20 stopni względem osi robota odpowiadają za naprowadzenie robota na przeciwnika. Po jego wykryciu zostają zmienione stany sterujące mostkami i kierunek ruchu z obrotu na jazdę do przodu. W zależności od ilości czujników które wykrywają obiekt regulowana jest prędkość robota (jest zwiększana wraz z ilością czujników które wykryły obiekt). 3 Podsumowanie W tym dokumencie opisano budowę robota klasy minisumo stworzonego na potrzeby warsztatów KNR KoNaR, zawodów RoboticArena 2015 oraz rekrutacji do KNR KoNaR. Udało się zrealizować w pełni działającego robota w przewidzianych wcześniej funkcjach. Algorytm który został napisany nie jest idealny, szczególnie dotyczy to regulacji prędkości silników i sposobu zachowania się robota na arenie. Było to jednak pierwsze podejście do takiego urządzenia, jak i pierwsza styczność z mikrokontrolerami od strony projektowania i programowania. Od strony mechanicznej do wad robota należy dodać jego niską masę własną która znacznie obniża przyczepność kół. Istnieje także problem z prostopadłością silników względem osi robota. Elektronika robota spisuje się bez zarzutu i reaguje w przewidziany sposób. W przypadku ponownego projektowania płytki i schematu można by rozważyć 10

3 PODSUMOWANIE większą minimalizacje tego modułu i zwiększenie ilości funkcji interfejsu komunikacyjnego. Projekt ten można uznać za zakończony, ale ewentualnością jest ulepszenie algorytmu i użycie go do testowania kolejnych konstrukcji klasy minisumo. Tworzenie tej konstrukcji było świetną okazją do rozpoczęcia pracy z mikrokontrolerami, zapoznaniem się czujnikami i pracą mostków H. Robot wystartował w zawodach Robotic Arena 2015 pod nazwą Łotrzyk. Niestety, podczas pierwszej walki w czasie 3 rundy, oś jednego z silników poluzowała się i wyleciała z przekładni. Przyczyną takiej sytuacji mogły być problemy z osiowością silników względem siebie co mogło generować wibracje i obciążenia w poprzek osi silnika. Moment ten został uwieczniony na zdjęciu 9 Rysunek 9: Moment uszkodzenia przekładni robota uwieczniony przez www.gazetawroclawska.pl 11

4 INFORMACJE DODATKOWE 4 Informacje dodatkowe Wiedza na temat budowy opisanego urządzenia pochodzi w części z warsztatów KNR KoNaR. Dotyczy to szczególnie aspektów implementacji i programowania mikrokontrolera. Nieoceniona była pomoc opiekuna grupy Michała Burdki który cierpliwie weryfikował kolejne wersje schematu oraz płytki drukowanej i udzielał niezbędnych informacji. Wiedza potrzebna do implementacji mostków i czujników pochodzi z dokumentacji producentów tych układów. Powyższy dokument redagował Maciej Majka, podczas pracy nad robotem wykonywał: 1. schemat 2. rysunek płytki 3. montaż i uruchomienie 4. algorytm i programowanie 12