Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Co jak, dlaczego - jak zabrać się za robienie robotów?...

qqar 29 Mar 2007 18:57 25121 136
Nazwa.pl
  • #1
    qqar
    Level 11  
    Cześć mam pytanie.
    Czytałem wasze posty o tym jak zabrać się za robienie robotów itp.
    Wracając do tematu to chodzi mi oto, czy wytłumaczylibyście mi co, jak, dlaczego ?.
    Ostatnio robiłem dla mojego syna auto na pilota, wymontowałem system sterowania z auta na pilota.
    Posklejałem zwiększyłem moc i autko dosłownie jak by mogło to by fruwało......
    ale autko nie jest robotem więc pytam sie was, co i jak ma być....
    Jeśli to możliwe to proszę o jakiś łatwy krótki plan na mini-robota.... dla (początkujących)..... jakaś tam prosta konstrukcja.....
    A i prosiłbym o wytłumaczenie mi o tych mikroprocesorach, i tych innych.
    Nie mam zielonego pojęcia co jak i dlaczego działa......
    Z góry dziękuje.
    PS. Proszę o nie usuwanie tego postu....
    czytałem temat żeby nie pisać "Jak zrobić robota" ale ja pytam się o coś w stylu teorii...
    proszę o zrozumiałe i w miarę długie posty.
  • Nazwa.pl
  • #2
    bogdan_p
    Level 39  
    co do tematu mikrokontrolerów to polecam forum o tej tematyce również na Elektrodzie , dość ładnie i prosto masz wszystko wytłumaczone na stronach EdW , masz również kurs Bascoma to podstawy które powinieneś poznać , oczywiście możesz zacząć o innego języka programowania ale myślę że dla celów amatorskich Bascom zupełnie wystarczy
    co do robotów to tak bardzo ogólnie to urządzenia wykonujące określone funkcje na podstawie stosownie napisanych programów , również mogące podjąć "decyzję " w zależności od określonych w programie warunków
    tak więc nie każdy robot musi mieć pojazdem , przykładem masz roboty przemysłowe np spawalnicze , malarskie itp
    wśród prostych konstrukcji masz " roboty " poruszające się po linii , omijające przeszkody , wykonujące zaprogramowane poruszanie się po określonej przestrzeni
    każdy robot można podzielić zasadniczo na 2 części mechaniczną odpowiadającą za wykonywany ruch ( silniki , serwa , siłowniki ) , oraz część elektroniczną odpowiedzialną za prawidłowe sterownie części mechanicznej i reakcję na sygnały zewnętrzne np klawiatura , czujniki , enkodery itp)
    zobacz sobie tą stronę powinna pomóc w zrozumieniu tematu http://www.lynxmotion.com/ViewPage.aspx?ContentCode=assembly&CategoryID=19
  • #3
    qqar
    Level 11  
    A masz jakiś ciekawy pomysł na robota ??
  • Helpful post
    #5
    McRancor
    VIP Meritorious for electroda.pl
    Przedstaw swoją wizję robota jakiego chcesz stworzyć, postaraj się nie "odlatywać" na początek i zacznij od czegoś prostego. Jak już będziesz miał konkretny pomysł, powstaną problemy które na forum można będzie wspólnie rozwiązać.
  • #7
    pidpawel
    Level 26  
    Robota wybrałeś bardzo fajnego :D Na początek to super wybór. Ja roboty(jeżdżące) dzielę na:
    Line follower (jeżdżące po linii)
    Jeżdżące za światłem(taki jak tan twój)
    Roboty autonomiczne(wykonujące określone działanie, w sposób jak najbardziej przypominający autonomiczność - same potrafią podjąć decyzję)
    Roboty kontrolne (z kamerami, czujnikami)
    Sumo roboty (roboty do walk w stylu sumo)
    Roboty do testowania algorytmów (roboty, duże, z wieloma dodatkami, służące do testowania nowych algorytmów, dla np robotów autonomicznych)
    Roboty zdalnie sterowane/wykonujące zaprogramowany przed przejazdem program (roboty, którymi albo zdalnie sterujemy, albo "programujemy"(wydajemy ciąg poleceń do wykonania, nie programujemy dosłownie) i wykonują one zaprogramowaną trasę)

    Ja radziłbym zrobić solidną podstawę, podwozie w wkleić tam baterie(aku), silniki, cały osprzęt mechaniczny, czujniki, i .... kieszeń na dysk twardy.... tak taka kieszeń doskonale się spisuje, szczególnie gdy często wprowadzamy poprawki na płytce sterownika. Całą elektronikę możemy łatwo wyjąć w wziąć na warsztat.

    Jedna sprawa jeszcze, o której bardzo wiele osób wspomina i która powinna być mottem każdego robotyka(i nie tylko): musisz być cierpliwy jak mało kto... jeśli czujesz, że to tylko "słomiany zapał" odpuść sobie... stracisz tylko pieniądze...

    Pozdrawiam PidPawel
  • Nazwa.pl
  • #8
    steelq
    Level 16  
    Ja chciał bym zbudować robota bez mikrokontrolerów działającego na takiej zasadzie:
    -normalnie jedzie sobie prosto
    -jak natrafi na przeszkode to skręca 90°
    -potem gdy nie ma przed nim przeszkody jedzie dalej

    Jak to zrobić ?
  • #9
    pidpawel
    Level 26  
    No to tak:

    a) budujesz platformę na np 3 kółkach. Dwa mają silniki, a trzecie jest pojedyncze z tyłu i może się poruszać w dowolną stronę(jak kółko od regału)
    b) umieszczasz silniki, aku, diodę.
    c) kupujesz fotorezystor i tranzystor
    d) jeden silnik podłączasz na stałę do aku, a drugi przez tranzystor, którego bazą będzie sterował fotorezystor
    e) włączasz i bawisz się
    Dioda i fotorezystor muszą być skierowane do przodu, ale być odizolowane (świetlnie)od siebie

    To działa tak, że póki robot widzi przeszkodę to skręca, jeśli na czujniku będzie stan, że niema przeszkody - przestanie skręcać
  • #10
    Pat1
    Level 11  
    pidpawel wrote:
    No to tak:

    a) budujesz platformę na np 3 kółkach. Dwa mają silniki, a trzecie jest pojedyncze z tyłu i może się poruszać w dowolną stronę(jak kółko od regału)
    b) umieszczasz silniki, aku, diodę.
    c) kupujesz fotorezystor i tranzystor
    d) jeden silnik podłączasz na stałę do aku, a drugi przez tranzystor, którego bazą będzie sterował fotorezystor
    e) włączasz i bawisz się
    Dioda i fotorezystor muszą być skierowane do przodu, ale być odizolowane (świetlnie)od siebie

    To działa tak, że póki robot widzi przeszkodę to skręca, jeśli na czujniku będzie stan, że niema przeszkody - przestanie skręcać

    Witam
    Trochę nie rozumiem jak to podłączyć ?Czy ktoś mógłby to narysować?
    Pozdrowienia
  • Helpful post
    #11
    pidpawel
    Level 26  
    niestety nie mam tu na kompie warunków do rysowania...

    z tym tranzystorem nie wiesz jak zrobić??
    do bazy podłączasz fotorezystor a do pozostałych nóżek zasilanie i silnik

    PS Niech któryś z kolegów narysuje to - ja na prawdę nie mam jak :(
  • #12
    kukuczkas
    Level 11  
    pidpawel nie napisal jaki to tranzystor i jak to podlaczyc.
  • #13
    przemotronik
    Level 13  
    Quote:
    Ja chciał bym zbudować robota bez mikrokontrolerów działającego na takiej zasadzie:
    -normalnie jedzie sobie prosto
    -jak natrafi na przeszkode to skręca 90°
    -potem gdy nie ma przed nim przeszkody jedzie dalej

    Jak to zrobić ?

    W takim razie z chciałbym z przyjemnością polecić Ci projekt robota, który opublikowałem w EdW 4/2007 (Robot mobilny ALFA 2005). Myślę, że powinien spełnić oczekiwania Twoje oraz wielu innych osób, które próbują zbudowac swojego pierwszego robota na opisanej przez Ciebie zasadzie.
    W razie ewentualnych wątpliwości-proszę pytać.
    Pozdrawiam
    Przemotronik
  • #14
    daniel93
    Level 29  
    Kiedyś napisałem artykuł jak tanio i przyjemnie od całkowitego ZERA, poznać elektronikę analogową i cyfrową, język BASCOM i język C.

    Jako, że nie można wklejać materiałów opublikowanych na innych stronach podaje link - http://www.dioda.com.pl/forum/topics3/165.htm


    Ja się uczyłem w ten sposób, dlatego też jeszcze bardziej polecam te książki.
  • #15
    Koko7
    Level 2  
    To mój pierwszy post na forum, a wiec witam wszystkich :D. Mam pytanie, a mianowicie chodzi mi o robota z tego wątku :

    http://www.elektroda.pl/rtvforum/topic312550.html


    ,chciałbym zrobić podobnego-bez zadnych czujników itp, zeby jezdził tylko zaprogramowaną sekwencje. Część mechaniczną mam już skończoną, chodzi mi o elektryke- czy wystarczy do tego kontroler attiny2313 i układ l293d? czy mam jeszcze zamontować coś jeszcze. Zasilany bedzie z 4 aku 1,2V ni-mh.

    Z góry dzieki za pomoc :D

    Pozdrawiam
  • #16
    greggScutum
    Level 11  
    Witam,
    Także buduje swojego pierwszego robota. Tak na prawdę to nie pierwszego tylko już chyba 3 ale poprzednie dwa nie działały ale to w sumie to bardzo dobrze bo chyba teraz jestem już na 100% pewien co i jak robić. Mianowicie gotową mam już część mechaniczną (podwozie itp) a teraz zabieram się za elektronikę. Po dwóch nieudanych próbach łączenia elementów kabelkami (odradzam tą metodę) zdecydowałem się na wytrawianie płytki. Zastosuję atmege16 oraz l293d. Dołączam schemat oraz zdjęcie podwozia wraz ze zmodyfikowanymi serwami. Mam prośbę o sprawdzenie schematu oraz ewentualne wprowadzenie poprawek. Co prawda pytałem się już o jego poprawność ale może ktoś zauważy jeszcze jakąś usterkę. Na schemacie nie uwzględniłem czujników zderzenia.
    [/img]
  • #17
    McRancor
    VIP Meritorious for electroda.pl
    Tak to nie za bardzo zadziała, przeczytaj niejeden już wątek na ten temat, bogdan_p pisał już ze sto razy na temat zasilania, nawet opracował specjalną wersję robota na elektrodę - elebot. Popatrz jak tam rozwiązane jest zasilanie i zwróć uwagę na kondensatory filtrujące - ile ich tam jest a ile u Ciebie.

    Do rysowania schematów lepiej wykorzystaj specjalny do tego program, szybko nauczysz się co i jak i będzie to jakoś wyglądać...
  • #19
    McRancor
    VIP Meritorious for electroda.pl
    Już lepiej, ale musisz jeszcze podłączyć wyprowadzenia mikrokontrolera AVcc i Agnd.
  • #20
    greggScutum
    Level 11  
    Dobrze będzie jeżlei złączę avcc z vcc a agnd z gnd? Czy to trzeba gdzieś indziej podłączać?
  • #21
    McRancor
    VIP Meritorious for electroda.pl
    Dobrze.
  • #22
    greggScutum
    Level 11  
    Nie chciałem tworzyć osobnego tematu więc zaprezentuje mój problem tutaj. Wpadłem na pomysł by mój robot dojeżdżał do punktu w którym będzie ustawiony nadajnik omijając przeszkody. I chodzi mi właśnie o ten nadajnik. Ma to działać podobnie jak podążanie za światłem (tam gdzie najjaśniej tam jedź) z tą różnicą że do źródła innej fali. Chciałbym się zapytać jaki nadajnik do tego zastosować oraz jak odbierać wysyłane przez niego fale? Myślałem nad zastosowaniem złożonego z gotowego zestawu czujnika podczerwieni wraz z nadajnikiem. Jakie rozwiązanie "problemu" proponujecie?
  • #23
    McRancor
    VIP Meritorious for electroda.pl
    Wybrałeś chyba dobre rozwiązanie.

    W Nadajniku zastosuj "latarnię" z diod IR które będą błyskać odpowiednio zmodulowanym światłem.

    Jako sensory zastosowałbym cztery scalone odbiorniki podczerwieni, umieszczone każdy w inną stronę robota. Algorytm prosty - jeśli nie jest w trybie omijania przeszkody niech tak kombinuje żeby mieć sygnał tylko na odbiorniku z przodu.

    Jako nadajniki to diody nadawcze IR i do tego generator na 555, jako odbiorniki - SFH lub inne TSOPopodobne. Należy tylko dobrać odpowiednią modulację. O ile dobrze pamiętam to TSOPom trzeba wiązkę światła modulować dodatkowo jakimś sygnałem o niskiej częstotliwości...

    Problem będzie taki że przeszkody mogą zasłonić latarnie. Może się okazać że nie będzie to dobrze działać w rzeczywistości. Musisz to sam sprawdzić i najlepiej potem jeszcze na forum opisać ;)
  • #24
    greggScutum
    Level 11  
    Tym złożonym już przeze mnie zestawem nadajnika i odbiornika jest kit avt730. http://sklep.avt.pl/photo/_pdf/AVT730.pdf (link do schematu). Myślę że sensownym rozwiązaniem jest podłączenie + idącego do głośnika z odbiornika do jakiegoś pinu w mikrokontrolerze (pin ustawiony na 0) i w momencie kiedy na pinie pojawi się 1 robot będzie wiedział gdzie ma jechać.
  • #25
    przemotronik
    Level 13  
    McRancor wrote:
    O ile dobrze pamiętam to TSOPom trzeba wiązkę światła modulować dodatkowo jakimś sygnałem o niskiej częstotliwości...

    Z tego co pamiętam (bo dawno się tym tematem nie zajmowałem) modulacja jest jedna np. 36-40kHz, zależnie od odmiany, natomiast w sygnale trzeba zapewnić po prostu krótką przerwę czasową, zwaną w katalogu Signal Gap Time. Chodzi o to, że odbiornik po pewnym czasie nadawania ciągłego sygnału IR o częstotliwości nośnej (np. w radarze) blokuje się i przestaje reagować. Wystarczy co jakiś czas przerywać na krótką chwilę sygnał. Nie jest natomiast problemem, by na odboirnik przez ten pierwszy okres (nadawania), pomiędzy przerwami, wysyłać ciągły sygnał (nie zmodulowany cyfrowo).
    Pozdrawiam
  • #26
    greggScutum
    Level 11  
    Mam jeszcze jedno pytanie. Odbornik podczerwieni ( z tego zestawu) jest zasilany 4 bateriami AA. Tak samo jest z moim robotem. Czy mogę i silniki wraz z elektroniką zasilać z tego samego zestawu 4 baterii co odbiornik podczerwieni? Proszę jeszcze o odpowiedź na moje poprzednie pytanie :)
  • #27
    bogdan_p
    Level 39  
    Quote:
    w momencie kiedy na pinie pojawi się 1 robot będzie wiedział gdzie ma jechać.

    nie do końca jest tak proste , właściwie to musisz stworzyć odpowiedni algorytm na reakcję po wykryciu " latarni " , chyba logiczne jest że robot powinien odjechać od wykrytego punktu następnie poruszać się w innym kierunku niż wykonał wcześniej , można pokusić się o wykorzystanie generatora liczb pseudolosową aby nie był to stały algorytm jazdy
    to wszystko zależy tylko od twórczości osoby piszącej program
    co do zasilania to pisałem o tym wielokrotnie , jakie powinny być spełnione minimalne warunki pracy dla takich układów układu , osobiście uważam że 6V to trochę mało nawet stosując najlepszej jakości stabilizatory napięcia masz tylko 1V zapasu
  • #28
    greggScutum
    Level 11  
    Co do zasilania to chyba dorzuce jeszcze dwie bateryjki AA. Ale w kwestii wykrywania nadajnika to albo ja czegoś nie rozumiem (najprawdopodobniej) albo niejasno napisałem. Odbiornik z tego zestawu włącza przerywane piszczenie głośnicza po wykryciu podczerwieni, + idący do głośniczka podłączyłbym do jednego z pinów w uC ustawionych na 0, w momencie kiedy odbiornik wykryje sygnał z nadajnika na pinie pojawi się 1 i w tym momencie robot zacznie jechać do przodu, kiedy odbiornik przestanie wykrywać podczerwnień na pinie przestanie pojawiać się co chwile 1 więc robo zacznie się obracać do okoła i w momęcie wykrycia zacznie jechać do przodu. Pozostaje jeszcze kwestia jak robot ma rozpoznać że dojechał do nadajnika (ale to już problem programowy i dosyć prosty). Na razie robot ma dojechać do nadajnika, byle jaką drogą, byle by dojechał. Na razie posostawiam takze nie rozwiązaną kwestję omijania przeszkód.
  • #29
    bogdan_p
    Level 39  
    zacznijmy od odbiornika , masz dokładnie opisane jak to działa zupełnie nie ma potrzeby wykorzystania generatora na bramkach U2C / U2D , sygnał masz na wyjściu U2A lub zanegowany na U2B , tu mała uwaga to co jest nie słyszalne , może okazać się widzialne dla uC chodzi o to że odebrany sygnał z nadajnika jest sygnałem modulowanym wprawdzie zastosowano układ RC o dobranej stałej czasowej ale może okazać się że uC odbierze nie jedną zmianę stanu lecz kilka , chodź ten problem można rozwiązać przez dobór elementów RC jak również programowo .
    kolejna sprawa robot po odebraniu sygnału ma jechać w stronę źródła sygnału ( masz tylko jedno , jak również tylko jeden odbiornik ) i co dalej ? w jaki sposób ustali kierunek źródła a co za tym idzie w którą stronę ma jechać ?
    Quote:
    więc robo zacznie się obracać do okoła i w momęcie wykrycia zacznie jechać do przodu.

    ok można i tak , jeżeli odbiornik będzie odbierał tylko sygnał ukierunkowane z przodu , jeżeli odbierze sygnał z tyłu lub z boku to również pojedzie do przodu ? nie wspominając o tym co się stanie jak w czasie jazdy do przodu natrafi na przeszkodę
    pamiętaj o tym że promieniowanie podczerwone również odbija się od innych przedmiotów
    jeżeli myślałeś o robocie zdalnie sterowanym na podczerwień to chyba sensowniej było wykorzystać dowolny pilot z kodem RC5 a w uC program dekodujący dane polecania wydane pilotem
  • #30
    greggScutum
    Level 11  
    Ok, z przekazywaniem sygnału z odbiornika do uC jeszcze pokombinuje. Co do precyzji dojazdu na razie nie będzie ona zbyt duża, myślałem o zawężeniu pola odbioru odbiornika jakimiś "ściankami" na jego bokach lub czymś w tym rodzaju, wtedy było by bardziej precyzyjnie. Nie, mój projekt to zupełnie coś innego niż zdalne sterowanie na podczerwień. Robot którego właśnie buduje ma służyć do udoskonalenia wszystkich rozwiązań dotyczących dojazdu do nadajnika. Następna wersja ma już zostać wypozażona w napęd 4 kołowy, wyższe zawieszenie itp tak aby w terenie robot mógł sam dojechać do nadajnika. Przykładowo nadajnik ustawiam w lesie 10m od robota a on omijając wszystkie drzewa i inne przeszkody do niego dojeżdża. Wielkie dzięki za odpowiedź :)