Elektroda.pl
Elektroda.pl
X
Elektroda.pl
Napad.pl
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Explorer I: laptop + rs485 + ATmega + autko

gumer 22 Maj 2008 02:06 5154 2
  • Explorer I: laptop + rs485 + ATmega + autko

    Witam serdecznie

    Chciałbym dzisiaj przedstawić mój kolejny projekt. Najpierw opiszę robota w skrócie, następnie jest filmik i zdjęcia, a w dalszej części zagłębię się w szczegóły.

    Technicznie rzecz biorąc, Explorer I nie jest robotem, tylko zdalnie sterowanym autkiem z kamerką, ale będę go nazywał robotem :)

    Oryginalnie miał być jednostką autonomiczną do mapowania terenu (czyt. mojego pokoju), ze stereo wizją, analizą 3D itd. Niestety nie ma sensu implementować czegoś takiego na zabawce, która ledwo rusza z miejsca :).

    Robot bazuje na autku RC za 100zł z Allegro, ma na grzbiecie laptopa, duży akumulator z tyłu nad osią, kamerkę USB zamocowaną na dwóch serwach i oczywiście silniki. Komunikacja z hostem (komputerem z którego sterujemy) odbywa się przez WiFi. Silniki są kontrolowane przez HAL'a (mój inny projekt), w którym siedzi ATmega8 i tłumaczy komendy RS485 na sygnały dla silników i serw.

    Dodam jeszcze, że projekt jest czysto hobbystyczny, realizowany w wolnym czasie więc gdzie nie gdzie musiałem robić uproszczenia żeby zyskać na czasie. Raczej nie polecam się na nim wzorować, bez głębokiego przemyślenia sprawy.

    Krótki filmik:


    Link


    Kilka zdjęć:

    Explorer I: laptop + rs485 + ATmega + autko

    Explorer I: laptop + rs485 + ATmega + autko

    Schemat:

    Explorer I: laptop + rs485 + ATmega + autko

    Operator pracuje na aplikacji zdalnej, komendy są wysyłane przez WiFi do laptopa na robocie. Ten je przetwarza i posyła dalej przez przejściówkę USB-RS485 do HAL'a (ATmega8), który wysyła sygnały do silników i serw. HAL to mój inny projekt, służy jako uniwersalny kontroler serw, urządzenie I/O i czytnik ADC podpinany pod USB albo RS485. Muszę zaznaczyć że HAL steruje transmiterem zdalnego sterowania z zabawki, następnie sygnał jest bezprzewodowo przesyłany do odbiornika w podwoziu. Po prostu nie bardzo chciało mi się i nie miałem czasu robić kontrolera silników. HAL steruje również elektronicznymi przełącznikami zasilania dla podwozia i transmitera RC. Całość jest zasilana z akumulatora 12V 9Ah.

    Komputer pokładowy:

    Explorer I: laptop + rs485 + ATmega + autko

    Robot na grzbiecie wozi starego laptopa Compaq N400, PII 400MHz z Windows XP. Program dla robota jest napisany w .NET Framework. Głównym zadaniem komputera jest transmisja wideo i przesyłanie komend od operatora do HAL'a. No i oczywiście program zatrzyma robota w przypadku utracenia łączności z operatorem.

    HAL:

    Explorer I: laptop + rs485 + ATmega + autko

    Jak już wspomniałem, HAL to prosty układ na ATmega8. Łączy się z komputerem przez RS485 albo USB (na robocie wersja RS485). Może sterować 8 serwami, sczytywać 6 kanałów ADC, lub działać jako generalny układ I/O. Planuję też dodać dwa kanały PWM, ale to za jakiś czas.

    Transmiter:

    Explorer I: laptop + rs485 + ATmega + autko

    Zamiast budować mostek H (znaczy się zamiast wykorzystać scalony mostek H) po prostu podpiąłem się pod nadajnik RC od zabawki przez 4 tranzystory. Wiem, dziadostwo, ale działa.

    Zasilanie:

    Explorer I: laptop + rs485 + ATmega + autko

    Explorer I ma trzy niezależne linie zasilania. Jedna dla komputera, HAL'a i serw. Druga dla podwozia, trzecia dla transmitera. Dodatkowo druga i trzecia linia mogą być włączone lub wyłączone zdalnie. Wszystko jest zasilane z akumulatora 12V 9Ah, który waży nieco ponad 2.5kg. Był testowany na 40 minut działania komputera lub 10 minut jazdy. Prawdopodobnie trzyma znacznie dłużej. Autko oryginalnie było zasilane z baterii 10.2V, naładowany akumulator ma teraz 14V więc elektronika podwozia długo nie pociągnie (nie musi).

    Aplikacja zdalna:

    Explorer I: laptop + rs485 + ATmega + autko

    Widać na niej obraz z kamery, statusy połączenia z serwisami na robocie (kamera, HAL i serwis do pingowania). Wyświetla napięcie na akumulatorze. Można z niej włączyć/wyłączyć zasilanie podwozia, obracać kamerką i oczywiście jeździć robotem.

    Budowanie:

    Explorer I: laptop + rs485 + ATmega + autko

    Chciałbym powiedzieć jeszcze jedno słówko o samej budowie. Generalnie było bardzo bardzo zabawnie :). 99% procent czasu nic nie działało. Co chwilę się psuło. A to przez przypadek wjechałem w coś i trzeba było na nowo wszystko kleić. A to odpadło kółko. Najgorzej było na początku jak jeszcze program nie zatrzymywał robota po utracie zasięgu. (PAMIĘTAJCIE!! NAJPIERW ROBIMY WYŁĄCZNIK BEZPIECZEŃSTWA!!)

    Explorer I przeżył kilka jazd próbnych i spełnił swoje główne zadanie - edukacyjne.

    Obecnie buduję wersję drugą już bardziej profesjonalną, na której mam nadzieję uda mi się zrealizować wszystkie założenia autonomicznego mapowania z "jedynki".

    Wypatrujcie Explorera II :)

    Chętnie odpowiem na wszystkie pytania, jestem również otwarty na wszelkie sugestie i konstruktywną krytykę :).

    PS. Więcej filmików i zdjęć na mojej stronie: www.marcinbogdanski.daesso.com

    Moderowany przez inventco.eu:

    Przenoszę do właściwego działu.


    Fajne! Ranking DIY
    Potrafisz napisać podobny artykuł? Wyślij do mnie a otrzymasz kartę SD 64GB.
  • Napad.pl
  • #2 22 Maj 2008 16:02
    pidpawel
    Red. Komputery FAQ

    Jak dla mnie świetny projekt ;) Mogłeś go dać do DIY. Powiedz mi tylko po co XP? Nie lepszy byłby jakiś skromny linux z obsługą all peryferiów? Ja właśnie w celach edukacyjnych(może kiedyś dla robota) bawię się portami komputera z poziomu linuxa - konkretnie piszę programki w C dla konsolki. Nie ma tu co mówić o kamerce, ale można przecież wziąć i kupić bezprzewodową. A tak zapytam: Explorer II kiedy? Już jakieś prace podjęte?
    Pozdr.
    Paweł

  • Napad.pl
  • #3 22 Maj 2008 19:45
    gumer
    Poziom 14  

    Z tym DIY to w sumie racja, drogi moderatorze, jeśli mógłbyś przenieść wątek, to byłbym wdzięczny :).

    Linux to zdecydowanie dobra droga. WinXP jest tam tylko dla tego że na studiach pisałem w .NET i pod to mam już gotowe rozwiązania. Obecnie jestem na etapie przesiadania się na Linuxa i Jave.

    Mam ambitny plan zrobić Expl. II najpierw na windzie, a później postawić na nim RTLinuxa i przepisać wszystko właśnie na C i Jave.

    Co do Expl. II chcę wrzucić na forum ogólny plan z Inventora w ten weekend, ale nie wiem czy się wyrobię.