logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

orientacja w przestrzeni, samojezdzacego robota-samochodu ;)

lukasik 03 Mar 2006 15:57 3987 17
  • #1 2369616
    lukasik
    Poziom 16  
    Posty: 259
    Pomógł: 4
    Ocena: 24
    witam. po krotce napisze o co chodzi i na czym stoje :)
    probuje nauczyc sie programowania w assemblerze procesorow atmel AVR. Pomyślałem, ze do tego celu mogloby sie przydac zrobienie jakiegos urządzenia ktore bedzie sterowanie up.

    Juz wczoraj wynalazłem cos co mogłoby sie nadać :) jest to samochod zdalnie sterowany, taki całkiem fajny :D ale mniejsza o to. juz go zregenerowałem takze smiga.

    zamierzam wywalić z niego zdalne sterowanie i przystosować go do samosterowania sie:) ogolnie samochodzik ma 4ry funkcje. jazda do przodu/tyłu i skrecanie. Sa wbudowanie silniki elektryczne do tego, tylko wystarczy podawać im odpowiednią polaryzacje > Moge wykorzystać drivery które są na "pokładzie".

    Jako, ze samochodzik ma sam jezdzić i nie obijać sie po ścianach, pomyślałem że warto byłoby wstawić mu jakieś czujniki i ustawić jakiś algorytm interpretowania odczytów i poruszania sie. I tutaj chcialbym sie was poradzić.

    jakie czujniki i w jakiej ilości proponujecie? Ja myslalem o czyms takim, znalazlem opis na elektrodzie, Sharp gp2yoao2yk . wstawic ze 4ry takie na krawedziach pojazdu. tylko jak to skumać z procem powiedzmy atmega16 albo atmega8535 bo do takich mam dostęp, bo one mają tylko po jednym przetworniku AC. a moze wstawic 4ry przetworniki anologowo cyfrowe i podczepic je do czujnikow. adczytywac jednym z 8-bitowych portow procesora wszystkie 4ry cyklicznie jeden po drugim przelaczając tylko wejscia.
  • #2 2369682
    MirekCz
    Poziom 35  
    Posty: 2220
    Pomógł: 330
    Ocena: 62
    Czujniki dobre wybrałeś (o ile to są te działające od 3mm, jeżeli nie to spójrz na gp2d120 albo coś podobnego - wszystko sharpa).

    Atmegi mają jeden ADC, ale można przemiennie bodajże 8 kanałów pod niego podłanczać.. więc podłącz czujniki pod piny z dostępem do ADC i potem w programie tylko po kolei zczytuj wszystkie kanały i nie potrzebujesz żadnych zewnętrznych układów.

    Powodzenia życze.
  • #3 2369749
    lukasik
    Poziom 16  
    Posty: 259
    Pomógł: 4
    Ocena: 24
    no tak, racja, mozna przelaczac czujniki do jedego wejsca AD w procu.

    ten czujnik co podałem jest od 20cm do 150cm.
  • #4 2369780
    pubus
    Poziom 30  
    Posty: 1289
    Pomógł: 138
    Ocena: 31
    Można też zrobić tak jak się z klawiaturą robi...
    Tzn. podpinasz czujniki pod zwykłe porty i przez diody wszystkie do przerwania (np. INT0)...
    Po wystąpieniu sprawdzasz po koleji na których wejściach są stany wysokie i w zależności ile i które czujniki dają sygnał podejmujesz decyzję...
    Pozwoliło by to na bardziej złożony algorytm...
    Przy odpowiednim dopracowaniu mogło by się udać pokonywanie labiryntu...
  • #5 2369900
    MirekCz
    Poziom 35  
    Posty: 2220
    Pomógł: 330
    Ocena: 62
    pubus, a Ty wiesz co to jest za czujnik?
  • #6 2370022
    pubus
    Poziom 30  
    Posty: 1289
    Pomógł: 138
    Ocena: 31
    Mea Kulpa Mea Maxima kulpa...
    Przyznaje się myśłałem, że to zwykły transoptor odbiciowy...
    Czujnik ma wyjście napięciowe...
    Hmm...
    A gdyby tak równolegle dać przerzutnik Schmitta z progiem na graniczną wartość (max zasięg czujnika)...
    I dopiero przez diody...
    Wtedy nie trzeba cały czas wejść sprawdzać...
    Ale z drugiej strony jeśli nie ma uC nic więcej do roboty to układ będzie prostrzy...
  • #7 2370043
    MirekCz
    Poziom 35  
    Posty: 2220
    Pomógł: 330
    Ocena: 62
    Pubus, przeczytaj cały dokument.
    Te czujniki zmieniają odpowiedź co ~40ms... więc nie trzeba się za dużo wysilać, wystarczy timer i co 40ms zczytywanie wszystkich wyjść czujnika... gotowe.
  • #8 2370181
    pubus
    Poziom 30  
    Posty: 1289
    Pomógł: 138
    Ocena: 31
    Ludzie uczcie się na cudzych błedach...
    Nie chciało mi się czytać całej dokumentacji...

    No to nie ma o czym gadać...
    Ciekawe urządzonko ale jak na mój gust za drogie do samej zabawy...
  • #9 2370859
    lukasik
    Poziom 16  
    Posty: 259
    Pomógł: 4
    Ocena: 24
    dlaczego za drogie :) Baze juz mam, czyli jezdzący samochodzik z ukladem skrecającym, napędem, zderzakami i resorami :D

    jeden czujnik kosztuje chyba coś koło 40-50zł ?? takze nawet 4ry to nie jest kosmiczny wydatek. Reszte bede miał za darmo, czyli procesor(y) i inne pierdółki i całe zaplecze techniczne do programowania proców itp itd bo pracuje w serwisie:)

    z opisu czujnika ktory podałem wynika, ze ma wyjście analogowe na ktorym zmienia sie wartość napięcia w zalezności od odległości powierzchni, czyli nie dość ze bedzie mozna stwierdzić, ze jest jakaś przeszkoda w zasięgu, to jeszcze bedzie mozna określić jak daleko (i np za wczasu zacząć zwalniać zeby nie puknąć :) ):) z wszystkich czujnikow bedzie mozna odczytać poprzez jedno wejscie AD w procu, wystarczy wczepić jakiś scalaczek który ma 4ry wejscia i jedno wyjscie i przełączać go, tak zeby w danym momencie pobrać odczyt z konkretnego czujnika.

    jak na razie nie mam pomysłu na algorytm poruszania sie :) co do labiryntow to mozna ustawic zeby zawsza skrecal w prawo :D ale to taki troche głupiutki bedzie. w sumie jak bedzie mial cztery czujniki to bedzie mogl ocenic pod jakim kątem dojezdza do sciany i np skręcić i zacząć jechać wzdłóż niej :) macie jakies inne pomysły ?

    Ciekawe czy wystarczy pamieci w procu na zaprogramowanie sztuczek :D Chyba wezme ATMEGA16? jeszcze w EEPROM bedzie mozna jakieś wytyczne, albo mapy wrzucać.
  • #10 2370922
    pubus
    Poziom 30  
    Posty: 1289
    Pomógł: 138
    Ocena: 31
    Nie potrzebujesz rzadnego scalaczka...
    ATmega8/16 mają przetwornik z multipleksowanymi wejściami... 6 do 8 wejść...
  • #11 2371006
    hunterhouse
    Poziom 26  
    Posty: 893
    Pomógł: 84
    Ocena: 3
    no witam.

    też się zastanawiam nad tym czujnikiem PSD ale one są dal mnie za drogie żeby stosować ich kilka. ja się zastanawiam nad jednym czujnikiem z przodu i przyczepieniem go do serwa. da nam to skaner który będzie mógł skanować pewien kąt powiedzmy 180st.
    Po za tym czujniki PSD mają dość wąski kąt pomiaru (tak mi się wydaje ale jeszcze nigdy się nim nie bawiłem) i jeśli przeszkoda znajdzie się w dziurze między czujnikami to można jej nie zobaczyć. dlatego wydaje mi się że danie tego na servie jest najlepszym rozwiązaniem.


    jeśli chcesz tylko prosty czujnik o szerokim kącie pomiaru to myślę że najlepsze będą ultradźwięki. jest to najpewniejsze rozwiązanie.

    ADD:

    właśnie a teraz ja mam jeszcze take pomysło-pytanie.
    czy jest moze scalony albo moze idzie coś takiego zbudować a chodzi konkretnie o kompas. w robocie przy skrętach, najbardziej przy tych o napędzie gącienicowym przydało by się wiedzieć o jaki kąt robot sie obrucił ??? macie jakieśpomysły jak to rozwiązać i jak sie odizolować od wpływu pól magnetycznych emitowanych przez robota ??
  • #12 2371418
    MirekCz
    Poziom 35  
    Posty: 2220
    Pomógł: 330
    Ocena: 62
    huner:są takie kompasy z dokładnością do bodajże 3 stopni.. cena coś kolo 40-50$ jeżeli się nie myle. Porozglądaj się po amerykańskich sklepach, chyba nawet na junun.org jest.

    Jeżeli szukasz tylko przeszkody, a nie interesuje Ciebie jej dokładne położenie to rzeczywiście ultrasonary są lepsze , mają duży kąt rozrzutu.

    Czujniki gp2d12/120 mają kąt widzenia ok. 5stopni, te gp2y0a02yk mają chyba 10 stopni.
  • #13 2376785
    lukasik
    Poziom 16  
    Posty: 259
    Pomógł: 4
    Ocena: 24
    moze i macie racje z tymi ultradzwiekami. Chyba bardzie nada sie do mojej zabawki.

    Mysle zeby dać jeden nadajnik z przodu i do tego dwa odbiorniki na krawedziach. To samo zrobić z tyłu. Nietoperze tak sie orientują, to moze byc nawet dokladne :) mozna nawet mierzyć róznice czasu przy odbiorze.

    mozecie podrzucic tu kilka linkow do praktycznych zastosowan i opisow tych czujnikow?

    czy są jakies gotowe nadajniki i odbiorniki ultrtasoniczne tak zeby nie trzeba bylo sie bawic w generator i odbiornik. Dla mnie wystarczy np zeby mial jakies wyjscie ktore np generuje impuls zalezny od odleglosci , albo jakies napiecie albo cos podobnego. nie chce zeby zrobienie samego nadajniko odbiornika pochlonelo za duzo czasu.
  • #14 2378705
    Tawez
    Poziom 18  
    Posty: 265
    Pomógł: 19
    Ocena: 5
    możesz wykorzystać moduły z aparatów Polaroid (niektóre modele) do kumienia na Allegro w granicach 15zł +- 5zł
    Jest tam przetwornik i elektronika.
    Całość trzeba trochę zhakować, a jak to Google pomogą
    (ewentualnie poszukiwania możesz zacząć od strony Acroname).
  • #15 2397274
    lukasik
    Poziom 16  
    Posty: 259
    Pomógł: 4
    Ocena: 24
    juz zamowilem na allegro polaroida z sonarem ;) w przyszłym tygodniu bede go rezał, zobaczymy co ten czujnik potrafi.
  • #16 2397528
    wicy
    Poziom 22  
    Posty: 670
    Pomógł: 30
    Ocena: 111
    Ja tez zamierzam sie za to zabrac :D Ponawiam próby i testy po długiej przerwie. Jakby co, to jestem zainteresowany wymainą dośwaidczeń
  • #17 2406987
    Tawez
    Poziom 18  
    Posty: 265
    Pomógł: 19
    Ocena: 5
    Co do tych czyjnikow z polaroidow... tyle co pamietam na szybko.
    maja wieksza czestotliwosc pracy, a ich impulsy maja o wiele wieksza energie od takich 40kHz ze sklepu.
    Minus to gabaryty, ale cos za cos.

    Sa one szeroko stosowane w konstrukcjach akademickich za wielka woda.

    Jesli chodzi o konkretne aparaty Polaroid...
    w modelach 6xx sa duze przetworniki o srednicy ~4cm,
    w modelach AF (takie plaskie) sa inne, mniejsze 3cm.
    Osobiscie polecam te wieksze, troche latwiej sie z nimi pracuje od strony mechanicznej i instalacji.
  • #18 2408243
    lukasik
    Poziom 16  
    Posty: 259
    Pomógł: 4
    Ocena: 24
    ja akurat zamowilem aparat AF. kosztowal mnie 8,5zł :D

    P.S. wczoraj widzialem ciekawe zastosowanie czujnika ultrasonicznego. otoz bylem w szpitalu w odwiedziny i widzialem w holu urządzenie do mierzenia wagi i wysokosci gdzie trzeba bylo wrzucić 2zł ;) nad głową osoby mierzonej znajdował sie właśnie czujnik usltrasoniczny :D

Podsumowanie tematu

✨ Dyskusja dotyczy budowy samojezdnego robota-samochodu opartego na procesorach Atmel AVR programowanych w assemblerze. Samochód ma cztery podstawowe funkcje ruchu (jazda do przodu/tyłu, skręcanie) i wykorzystuje wbudowane silniki elektryczne sterowane polaryzacją. W celu autonomicznej nawigacji i unikania przeszkód rozważane jest zastosowanie czujników odległości. Proponowane są czujniki optyczne Sharp (np. gp2d12, gp2d120, gp2y0a02yk) z wyjściem analogowym, które można podłączyć do wielokanałowego przetwornika ADC w mikrokontrolerach ATmega8/16 bez potrzeby stosowania dodatkowych multiplekserów. Alternatywnie rozważane są czujniki ultradźwiękowe ze względu na szeroki kąt pomiaru i możliwość wykrywania przeszkód w większym zakresie. Wskazano możliwość użycia modułów ultradźwiękowych z aparatów Polaroid (modele 6xx i AF) jako gotowych rozwiązań z wbudowaną elektroniką, które można zaadaptować do projektu. Poruszono także temat zastosowania kompasów cyfrowych do określania kąta obrotu robota, co jest istotne przy sterowaniu i nawigacji. W dyskusji podkreślono znaczenie odpowiedniego algorytmu interpretacji sygnałów z czujników oraz możliwości wykorzystania przerwań i timerów do efektywnego odczytu danych. Koszty czujników PSD (około 40-50 zł za sztukę) uznano za akceptowalne w kontekście posiadanej bazy sprzętowej i doświadczenia w serwisie elektroniki.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA