Skocz do zawartości

Konrad94

Użytkownicy
  • Zawartość

    1
  • Rejestracja

  • Ostatnio

Reputacja

1 Neutralna

O Konrad94

  • Ranga
    1/10

Informacje

  • Płeć
    Mężczyzna
  • Zainteresowania
    elektronika, systemy mikroprocesorowe
  1. 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:
×
×
  • Utwórz nowe...