Skocz do zawartości

Pomocna odpowiedź

Napisano

Cześć ! 🙂

Chciałbym przedstawić moją pierwszą poważną konstrukcje robota minisumo, która obejmuje temat mojej pracy inżynierskiej. Praca zajęła mi 4 miesiące nie licząc pracy pisemnej - przez ten czas praca objęła:

• Przegląd typowych rozwiązań technicznych podobnych konstrukcji

• Projekt platformy w programie Autodesk Inventor Professional 2015

• Projekt ideowy schematu układu elektronicznego w programie Eagle 7.7.0

• Projekt dwustronnych obwodów drukowanych w programie Eagle 7.7.0

• Złożenie konstrukcji: wytrawienie obwodów drukowanych i montaż SMD/THT

• Oprogramowanie mikrokontrolera przy użyciu programu Atmel Studio 6.2 oraz testy

Założeniem projektowym było stworzenie uniwersalnego robota - uniwersalność tą udało się uzyskać, dodając panel użytkownika, czyli wyświetlacz LCD oraz klawiaturę.

Dzięki wyświetlaczowi LCD, robot posiada dodatkowe funkcje informacyjne, natomiast dzięki klawiaturze – możliwe jest dokonywanie różnych ustawień i testów.

Oczywiście dla niektórych użytkowników panel ten będzie wydawał się zbędnym dodatkiem w tego typu konstrukcjach, dlatego na wstępie zaznaczam, że jest to robot minisumo bardziej o charakterze edukacyjnym. 😉

Innymi założeniami, które udało się zrealizować to:

a) Odejście od gotowych platform programistycznych - zaprojektowano od podstaw systemu mikroprocesorowy w środowisku Atmel z użyciem programatora AVR Dragon.

b) Bazowanie na komponentach firmy Analog Devices - zaprojektowano układ elektroniczny z wykorzystaniem układów scalonych oferowanych przez czołowego producenta przyrządów półprzewodnikowych – firmy Analog Devices. Głównym źródłem informacji stały się dokumentacje elementów, wedle których powstawały poszczególne moduły robota. W sumie wykorzystano 6 układów scalonych tejże firmy.

c) Redukcja zakłóceń – na etapie projektowania obwodu drukowanego – zastosowano różne techniki optymalizujące działanie układu elektronicznego.

d) Budowa kanapkowa robota – pierwsza tak poważna konstrukcja wymagała przemyślanej budowy, którą w razie problemów, można byłoby modyfikować. Tak powstała cztero – warstwowa struktura robota: aluminiowa podstawa, dwie płytki drukowane oraz panel użytkownika.

Zasilanie

Źródłem zasilania są ogniwa litowo - polimerowe firmy Redox 1100 mAh o napięciu 7,4 V.

Logika zasilana jest napięciem 3,3 V, natomiast optoelektronika (czujniki IR, wyświetlacz) napięciem 5 V.

Układ zabezpieczony jest przed odwrotną polaryzacją tranzystorem MOSFET.

W trakcie działania silników, możliwa jest opcja podglądu aktualnego napięcia - stworzono układ pomiarowy z wykorzystaniem między innymi dzielnika napięcia i sprzętowego ADC mikrokontrolera.

Mikrokontroler

Systemem mikroprocesorowym sterującym całym układem elektronicznym jest 8 bitowy mikrokontroler ATmega644PA. Wybrano jeden z najbardziej rozbudowanych mikrokontrolerów 8 – bitowych oferowanych przez producenta Atmel. Wybór był przede wszystkim podyktowany ilością wejść/wyjść, ponieważ wykorzystano wszystkie piny mikrokontrolera. Ponadto stosunkowo wysoka pojemność pamięci FLASH, SRAM, EEPROM wynika z chęci dalszej rozbudowy części programowej robota.

Napęd i sterowanie

Do napędu wykorzystano popularne silniki Pololu HPCB 50:1 z obustronnym wałem oraz wyposażono je w kompatybilne enkodery magnetyczne równiez firmy Pololu

Sterownikiem silników jest popularny scalony mostek H o nazwie TB6612. Jako jeden z niewielu oferowanych sterowników, umożliwia przepływ stosunkowo dużego ciągłego prądu wyjściowego o wartości maksymalnej 2 A. Taką wydajność prądową udało się uzyskać scalając dwa kanały mostka H, w rezultacie jeden mostek H steruje jednym silnikiem.

Czujniki

Wszystkie czujniki na swoich wyjściach wystawiają sygnał cyfrowy.

Wykorzystano popularne czujniki KTIR0711S w roli czujników ringu. Aby uzyskać cyfrowy odczyt skorzystano z zewnętrznego komparatora AD. Możliwe jest ustawienie progu czułości czujników na poziomie programowym, funkcję tą zapewnia potencjometr cyfrowy AD.

Po zapoznaniu się z bardzo dobrym artykułem na stronie https://www.forbot.pl/forum/topics61/czujnik-optyczny-vt4761.htm zdecydowałem się stworzyć własne czujniki przeciwnika. Po za tym nie chciałem inwestować w stosunkowo drogie, powszechnie stosowane czujniki SHARP 😐 . Udało się skonstruować czujniki wykrywające obiekty w odległości nawet ok. 30 cm. 🙂

Program

Mówi się, że hardware to tylko połowa sukcesu i tak też sprawdziło się w przypadku mojej konstrukcji 😕

Dużo czasu zajęło mi napisanie dobrego programu. Panel użytkownika przysporzył dłuższej pracy nad programem. W rezultacie powstał bardzo rozbudowany kod rozłożony na kilka własnych bibliotek. Jakkolwiek uważam prace nad projektem zakończoną i udaną jak na pierwszą autonomiczną konstrukcję.

Program powstał w języku C. Zastosowano tzw. sterowanie bez namysłu, czyli szybkie podejmowanie decyzji przez robota podczas walki na zasadzie określenia par typu bodziec - odruch.

Zewnętrznymi źródłami przerwań są sygnały pochodzące od enkoderów oraz czujników ringu.

Na wszystkie pytania chętnie odpowiem w komentarzach 😃

Pozdrawiam, 🙂

Konrad

Galeria:

Filmy:

IMG_5a9efd24456e34397.thumb.jpg.33c5604d8d2d8e88d3481013a51fee49.jpg

  • Lubię! 1

Podoba Ci się ten projekt? Zostaw pozytywny komentarz i daj znać autorowi, że zbudował coś fajnego!

Masz uwagi? Napisz kulturalnie co warto zmienić. Doceń pracę autora nad konstrukcją oraz opisem.

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...