Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Elektroda.pl
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Explorer I: laptop + rs485 + ATmega + autko

gumer 22 May 2008 02:06 5388 2
IGE-XAO
  • 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:



    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

    Moderated By inventco.eu:

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


    Cool! Ranking DIY
    Can you write similar article? Send message to me and you will get SD card 64GB.
    About Author
    gumer
    Level 14  
    Offline 
    gumer wrote 78 posts with rating 4, helped 7 times. Live in city Bielsko-Biała. Been with us since 2006 year.
  • IGE-XAO
  • #2
    pidpawel
    Level 26  
    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ł
  • #3
    gumer
    Level 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ę.