Skocz do zawartości

LF ' LvL1' . Mój pierwszy robot!


Pomocna odpowiedź

Wstęp

Witam.

Szału nie ma, niczego nie urywa...

... ale jest mój. I to mnie cieszy.

Na pomysł zrobienia robota wpadłem rok temu. Schemat miałem niemal gotowy, dzięki koledze.

Niestety przez rok błąkałem się przez pwm, przerwania, działanie czujników, lecz nie mogłem tego połączyć w całość.

Wystarczyła mobilizacja.

Jednego dnia zrobiłem schemat połączeń w eaglu,

drugiego dnia wszystko zlutowałem,
trzeciego napisałem prosty program.

Oto powstał mój pierwszy robot.

Oto jak jeździł:

Jak na 3 czujniki byłem w szoku, że najprostszy program bez pwm tak sprawnie jeździ po lini. Jedyny problem był taki, że na 5 kółek był w stanie przejechać jedno, góra dwa bez wypadnięcia z trasy.

Dodałem PWM, dodałem odczyt ostatniego stanu czujników oraz pobawiłem się z regulacja prędkości silników.

Efektem jest to, że robot jeździ wolniej, lecz coraz rzadzej zdarza mu się wypaść z trasy.

LvL2

Nie ukrywam, że nie jest to majstersztyk, dlatego planuję zrobić nowego LF'a jednak z drobnymi poprawkami.

Na pewno dodam komparator analogowy, żeby mieć lepszą kontrolę nad przełączaniem stanów.

Zamiast 3, użyję 5 lub 7 czujników.

Zastanowię się też nad innym mocowaniem silników do płytki, gdyż metoda na klej nie sprawdza się wogóle.

Program na pewno nie bedzie juz na 'If'ach' lecz postaram się zaimplementować regulator PD.

Tak naprawdę schemat płytki w eaglu już mam. Brakuje jedynie złożyć części od nowa i dowiedzieć się więcej o programowaniu PID.

Dziękuję za uwagę, na pewno odezwę się za niedługo już z czymś bardziej skomplikowanym 🙂

Link do komentarza
Share on other sites

Gratulacje, jak na pierwszą konstrukcję do radzi sobie bardzo fajnie 🙂 Dlaczego w kolejnej wersji chcesz wykorzystać komparatory? Nie lepiej wykorzystać wewnętrzny ADC?

Link do komentarza
Share on other sites

Wydaje mi się to po prsotu proste. Mam dwa lm339. Do wejść nieodwracających podłączam potencjometr, do odwracających czujniki. Moment przełączania stanów mogę swobodnie sterować jedynie przekręcająć potencjometrem.

Po 2 takie porówywanie napięć wydaje mi się dokładniejsze niż poczciwe ADC , choć może się mylę.

Najwięszy problem mam z przymocowaniem silników do płytki. Mam zamiar zrobić z blachy zgiętej na kształt prostokąta, umieszczenie w niej silników i przykręcenie do płytki.

Nie wiem jednak czy jest to dobry pomysł. Wyobrażam sobie bardziej jakieś pierścienie zaciskowe czy coś, ale wciąż nie wiem jak się za to dokładnie zabrać.

Link do komentarza
Share on other sites

Do wejść nieodwracających podłączam potencjometr, do odwracających czujniki. Moment przełączania stanów mogę swobodnie sterować jedynie przekręcająć potencjometrem.

A czy zrobisz to w trakcie jazdy robota? Nie, nie zrobisz tego. A programowo możesz w trakcie jazdy zmienić kalibrację czujników, np. gdy część trasy będzie oświetlona światłem słonecznym. I to właśnie jest zaleta używania ADC.

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

Chumanista, a myślisz, że jadący linefollower jest tylko na czarnym lub tylko na białym? Przecież w trakcie jazdy czujniki co chwilę zmieniają pozycję i napięcie na nich pływa gdzieś pomiędzy tymi 0,5V a 4V a tylko na ułamki sekund są właśnie te graniczne wartości. Określanie cyfrowo czy linia jest lub jej nie ma powoduje, że na granicy tego jest/nie ma powstają oscylacje zależne od prędkości jazdy i złożoności trasy. Użycie ADC eliminuje ten problem bo masz zawsze konkretną wartość liczbową określającą pozycję czujnika nad linią i to z bardzo dużą dokładnością (o ile zastosujemy KTIRy bo CNY70 są za kiepskie do takich celów).

Link do komentarza
Share on other sites

Sabre, Muszę przyznać, że nie wpadł bym nigdy na pomysł, że trasa może być różnie oświetlona.

Co prawda nie wiążę z kolejnym robotem, aż tak wielkich wymagań ale chyba faktycznie zamiast komparatorów użyję ADC.

Link do komentarza
Share on other sites

Sabre, Treker, jestem w stanie zrozumieć, że oświetlenie trasy ma znaczenie, jednak jak w trakcie jazdy można programowo dostosować czujniki, aby sprawowały się dobrze w każdych warunkach?

Rozumiem, że chodzi o to, że napięcia graniczne zmian stanów mają się zmieniać w zależności od tego czy trasa jest oświetlona czy nie. Jednak skąd czujniki mogą o tym wiedzieć, albo prostsze pytanie jakiego warunku użyć, aby było wiadome czy trasa jest oświetlona? Nie mam kompletnie pomysłu.

Nie wiem czy wyraziłem się jasno, ale nie wiem jak inaczej to sformułować.

Link do komentarza
Share on other sites

komabra, wystarczy, że będziesz zapisywał stany max i min z czujników do jakichś zmiennych i obliczał na podstawie tych zmiennych odpowiednią granicę. Stany max i min zmieniasz porównując z aktualnym odczytem jak aktualny > max to max = aktualny itd.

Chumanista, przecież światło w różnych miejscach nie pada idealnie prostopadle na robota, okna mogą być z boku trasy i część światła wpadnie pod płytkę. Inna sprawa, że nagrzana trasa emituje podczerwień również 😋.

Link do komentarza
Share on other sites

Sabre,Treker, i inni 🙂

Mam jeszcze jedno pytanko.

Kończę projektować płytkę. Będzie na pewno 5 czujników. Jaki rozstaw polecacie?

Całkowity rozstaw między 1 a 5 czujnikiem wyszedł mi 76 mm czyli każdy czujnik jest w odległości od siebie o ok 15 mm. Nie jest to za szeroko?

Link do komentarza
Share on other sites

Całkowity rozstaw między 1 a 5 czujnikiem wyszedł mi 76 mm czyli każdy czujnik jest w odległości od siebie o ok 15 mm. Nie jest to za szeroko?

Jeśli masz 76mm od pierwszego do piątego czujnika to odległość masz 19mm pomiędzy czujnikami a nie 15. Dzieli się na 4 a nie 5 😉. Tak czy siak to dużo za dużo. Wszystko zależy od odległości czujnika od podłoża i od samego czujnika. Nie wiem czy użyjesz KTIRów czy CNY70, ja polecam KTIRy. Nie pamiętam już nawet z jakiej odległości z boku KTIRy widzą już linię gdy są "przepisowe" 2mm od podłoża. W moim Tsubame, KTIRy mam w odległości około 7mm od siebie (od środka jednego do środka drugiego). Daje to bardzo dobrą rozdzielczość bo pola widzenia obydwu czujników się zazębiają i przy ADC linia płynnie przechodzi spod jednego czujnika pod drugi i żaden z czujników nie jest ślepy.

Przy zbyt dużym rozstawieniu czujników masz sytuację gdy jeden czujnik cały czas widzi linię, pomimo, że robot już dawno nie jedzie wzdłuż linii, a drugi czujnik jeszcze tego nie zauważył.

Link do komentarza
Share on other sites

No tak. Dzielenie odcinka na części, zrobiło mi się siebie szkoda 😃

Używałeś CNY70 i faktycznie widzisz różnicę? Nigdy nie używałem kTIR, ale widzę, że parametry, cena itp są niemal identyczne.

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!

Gość
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.