Skocz do zawartości

Pierwszy line follower - układ jezdny i znaczniki przy trasie


nanab

Pomocna odpowiedź

Witam.

Zabieram się właśnie do budowy mojego line followera(tiny2313+5 transoptorów). Jestem na etapie pisania programu. Studiując filmiki i przewidując wszystkie możliwe sytuacje natrafiłem na taką pułapkę:

Chodzi o krótkie linie po bokach głównej trasy. Na prostej to nie problem(może jechać w ostatnio wybranym kierunku-odpada przy okazji problem rozjazdów), ale na zakręcie to co innego. Nie mam pojęcia jak napisać program, żeby lf w takiej sytuacji się nie zgubił.

Macie pomysł jak to ominąć?

Drugie pytanie:

Czy taka koncepcja ma sens:

Wymiary ~100x150mm, masa 150-200g, środek ciężkości kilka mm nad ziemią, dwa przednie koła skrętne, jedno tylne napędzające. Silnik 130 (dopóki nie znajdę czegoś odpowiedniejszego), bateria 2S 0.8Ah, czujniki w rzędzie 5szt co 20mm, kilka cm przed przednimi kołami. Jeżeli brakowało by przyczepności wymyśliłem zamontowanie turbinki pozbywającej się nadmiaru powietrza spod pojazdu 🙂

Pozdrawiam

Link do komentarza
Share on other sites

Linie, których się obawiasz nie występują na polskich trasach, stosowane są one głównie w Japonii, dzięki nim robot dowiaduje się wcześniej, że zaraz napotka zakręt i może odpowiednio zmienić do tego prędkość.

Serwo będzie zbyt wolno skręcało koła, po drugie raczej ciężko będzie Ci skręcać w taki sposób przy zakrętach pod kątem prostym. Z takim układem napędowym i tylko z 5 czujnikami, na pewno nie uzyskasz takiej prędkości, przy której potrzebna będzie turbinka.

Link do komentarza
Share on other sites

Dzięki za odpowiedź. Więc turbinka, serwo i koła skrętne odpadają. A czy podobny układ z tylnym kołem skrętnym(szybsze serwo) miałby sens?

Jakich jeszcze pułapek mógłbym się spodziewać na polskich trasach? Rozjazdy, skrzyżowania, jakieś inne znaczniki, przerwa w trasie?

Link do komentarza
Share on other sites

nanab, przecież na diodzie jest cała masa filmów z wielu zawodów, przecież na nich widać trasy. Sugeruję zajrzeć tu w część temat na diodzie, jak przejrzysz tematy od ostatniej strony danej imprezy to tam najszybciej znajdziesz filmiki. Jeden z najtrudniejszych torów był na Robomaticonie 2011, w moim poście i w kolejnych masz filmiki z imprezy.

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Przeszkody takie jak przerwa w torze znajdziesz tylko startując w kategorii Line Follower Enhanced. Tam występują też przeszkody stojące na linii, które należy ominąć. Na standardowych zawodach w kategorii Line Follower Mogą się ewentualnie zdarzyć skrzyżowania. Jeżeli chodzi o trasę z Robomaticonu 2011, o której mowa była powyżej, to najtrudniejsze moim zdaniem (i mojego robota) było kilka kątów prostych pod rząd.

Link do komentarza
Share on other sites

Dzięki za odpowiedzi. Biorę się więc za pisanie. Pierwszy program, a 2313 już robi się mi trochę przyciasne 🙂

EDIT:

Jestem w trakcie projektowania płytek i mam kolejny dylemat-to mój pierwszy lf, więc nie mam pojęcia jak rozstawić sensory. Zaplanowałem ułożenie co ok 17mm-linia ma ok. 19mm, a ja chcę uniknąć sytuacji, że lf jest na linii, ale jej nie widzi. Jednak, kiedy to sobie rozrysowałem zauważyłem, że to jakieś takie... małe. Inne lf zwykle wyglądają jak pługi pchające przed sobą łopatę szerszą od siebie. Wysunięcie sensorów będę mógł regulować, rozstawu nie, więc nie chcę tego spaprać na starcie.

Drugi problem-sprawdziłem sensory CNY70, może nie dokładnie tak, jak powinienem(świecąc pilotem od telewizora w fototranzystor). Wynik mnie trochę negatywnie zaskoczył. Nie spodziewałem się fajerwerków, ale chciałem podpiąć sensory bezpośrednio do tiny z pominięciem opampów(zapomniałem, że 2313 nie ma ADC).

100k na fototranzystorze przy 10k rezystorze podciągającym do Vcc to moim zdaniem zdecydowanie za dużo. Czy jest sens wymiany rezystorów w dzielniku na wyższe wartości(220k, 330k?), czy koniecznie jest wpakowanie tam kilku opampów?

Link do komentarza
Share on other sites

Tak, widzę, że Kaytec użył opampów, ale właśnie tego chciałem uniknąć. Mój lf miał być prosty, mały i lekki-chciałem uniknąć dwóch albo trzech scalaków więcej i garści dodatkowych elementów.

Link do komentarza
Share on other sites

Musze to przemyśleć-mam jeszcze atmegę 8 i 88, jednak ósemka jest w ceglastej obudowie(DIP), a 88 planowałem użyć do quadrocoptera, no i trochę szkoda mi jej do takiej zabaweczki.

EDIT:

Użyję megi 8. Nawet bardziej pasuje mi pinologia-łatwiej będzie zrobić PCB.

Nie jestem pewien połączeń, zapytam dla pewności czy tak jest ok:

- AVCC zewrzeć z VCC

- między AREF i mase dać 100nF i wyjście dzielnika napięcia (peerka do regulacji czułości)

- Reset przez 10kΩ do VCC i 100nF do masy

Walczę teraz z programem. Z tego, co wymóżdżyłem wspierając się na helpie bascoma, to musze:

zmienić:

$regfile = "m8def.dat"    
$noramclear

i dodać:

Config Adc = Single , Prescaler = Auto , Reference = off
Start Adc 
Const Prog = 500                                            'prog reakcji na linie

Dim Senspp As Word
Dim Sensp As Word
Dim Senss As Word
Dim Sensl As Word
Dim Sensll As Word

Senspp = 800                                                '      wartosci startowe sensorow
Sensp = 800                                                 '    zmienione przy pierwszym odczycie
Senss = 800                                                 '
Sensl = 800                                                 '
Sensll = 800

A w głównej pętli:

Do

Senspp = Getadc(adc.4)                                      '
Sensp = Getadc(adc.3)                                       'odczyt wartosci sensorow przez adc
Senss = Getadc(adc.2)                                       '
Sensl = Getadc(adc.1)                                       '
Sensll = Getadc(adc.0)                                      '


   If Sensll < Prog And Sensl < Prog And Senss > Prog And Sensp < Prog And Senspp < Prog Then       'naprzod
     Gosub Przod
...
...
...
...
loop

Czy dobrze myślę?

Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.