Skocz do zawartości

[Micromouse, Linefollower] 2in1 - Pierwsza konstrukcja smd


Pomocna odpowiedź

Witam,
Chciałbym przedstawić wam robota "2in1" na którym obecnie pracuję. Główne złożenia to jak z nawy i tematu wynika: Linefollower i Micromouse w jednej konstrukcji plus wykorzystanie czujnika z myszki optycznej.

Mechanika:

Robot składa się z dwóch modułów, pierwszy to moduł główny (Micromouse), zawierający uC, silniki itp., drugi, dopinany, to płytka z czujnikami linii i czujnikami przeszkody dla Linefollowera. Połączenie modułów za pomocą listwy z włókna węglowego.

Podwoziem robota jest płytka pcb 1,5mm wykonana w firmie Satland.

Wymiary: 80mm x 90mm (MM), 120mm x 26mm (LF), co pozwala na poruszanie się po skosie w labiryncie.

Napęd: 2 silniki Pololu 30:1, koła również Pololu, rolę ślizgaczy spełniają śruby łączące moduły.

Czujnik optyczny zamocowany z wykorzystaniem obudowy myszki, prześwit minimalny poniżej 1mm.

Zasilanie:

Akumulator LiPo 7,4V 700mA, silniki zasilane bezpośredni

Stabilizator 5V do zasilania logiki

Stabilizator 1,8V dla wyświetlacza

Elektronika:

Mikrokontroler: ATmega128A, rozmiar wybrany ze względu na potrzebną liczbę pinów i pamięć, gdyż przede wszystkim mam zamiar pobawić się różnymi algorytmami.

Dla osób chcących wykorzystać ten uC i robią to po raz pierwszy: Programuje się go za pomocą pinów PDI i PDO zamiast pinów MISO i MOSI, należy wyłączyć tryb zgodności z ATmega103.

Czujniki ścian/przeszkód: Diody nadawcze IRTSAL6400 + fototranzystory TEFT4300, zarówno na module MM jak i LF. Wyjścia fototranzystorów na piny ADC. Diody nadawcze sterowane układem ULN2003.

Czujniki linii: 12 czujników KTIR podłączonych przez komparatory LM339D, jest jeden potencjometr na wszystkie komparatory. 2 skrajne czujniki wysunięte do przodu.

Czujnik optyczny: PAW3102DB, max 1600cpi.

Zdalne sterowanie: Odbiornik podczerwieni TSOP 36kHz

Wyświetlacz: Wyświetlacz, a w zasadzie cała płytka pochodzi z takiego urządzenia jak krokomierz, urządzenie to zasilane było baterią 1,5V stąd stabilizator 1,8V. Jest to wyświetlacz numeryczny 5 cyfr 7 segmentowych, do sterowania wykorzystam dwa tranzystory, jeden inkrementuje wyświetlaną wartość, drugi resetuje. Tutaj trochę się przeliczyłem, myślałem że da się wyświetlać dowolną wartość poprzez szybkie wystukiwanie, jednak licznik w tym module na to nie pozwala, max co 0,7s.

Dodatki: Pomiar napięcia akumulatora za pomocą ADC, Buzzer, 3 diody LED (czerwona, zielona, niebieska), 3 przyciski plus przycisk resetu.

Oprogramowanie:

Język C bo znam go całkiem nieźle.

Na chwilę obecną został napisany kod odpowiedzialny za definicje pinów, podstawową obsługę poszczególnych elementów i funkcje testujące te elementy typu zapal diodę, zgaś diodę itp. W planach napisanie konkretnych algorytmów

Micromouse:

Jakiś algorytm przeszukiwania.

Algorytm przejazdu odnalezioną drogą z wykorzystaniem czujnika optycznego (myślę że to będzie jeden z najciekawszych etapów)

Linefollower:

Zdalny start/stop

Algorytm PID z wykorzystaniem czujników KTIR

Być może coś innego opartego np. na logice rozmytej

Wykorzystanie czujnika optycznego do śledzenia linii, widziałem projekty wykorzystania czujnika myszki do skanowania, jednak jak na razie po rejestrach nie widzę gdzie siedzi informacja o poszczególnych pikselach, jednak jakby udało się do tego dojść to myślę, że można by porzucić czujniki KTIR. Jakby ktoś coś wiedział na ten temat to piszcie.

Dodatkowe:

Zdalne sterowanie oraz tryb autonomiczny (dla zabawy 🙂 )

Tak więc jak widać sporo przede mną pracy programistycznej.

Jest to chyba pierwszy mobilny robot z czujnikiem optycznym, a na pewno pierwszy MM na forum więc będzie można wiele rzeczy przetestować, porównać z innymi rozwiązaniami itp. Ja nie posiadam innej konstrukcji np. z enkoderami dlatego zachęcam was do dyskusji na ten temat.

schemat.pdf

Link do komentarza
Share on other sites

Witaj na forum!

Widzę, że nie tylko ja wpadłem na pomysł z czujnikiem z myszki do...myszki 😃

Potencjometr do czujników linii daj 1 bo co bało by dawać takie podzielenie? Chciałeś zmieniać wartość przy której mikrokontroler widzi lub nie widzi linii? To raczej nic nie da bo robot będzie gubił linię.

Link do komentarza
Share on other sites

Czujnikiem z myszki zainteresowałem się czytając wątek z forum, zmontowałem na płytce stykowej i działa więc można coś próbować zrobić, tylko tak jak pisałem pewnie przy dużych prędkościach będzie szaleć, na moje myszce pisze że ma speed 28cal/s ale zobaczymy w praktyce mam nadzieję.

To jednak zostanę przy jednym 🙂

A wiesz może jak zrobić jpg w Eagle? bo aktualnie nie mam żadnych programów do obróbki grafiki.

Po woli zabieram się za układanie tego na płytce. I mam pytanie do konstruktorów linefollowerów, czy w Satland przecinają płytki na części czy trzeba to samemu robić?, bo z moich kalkulacji wychodzi że lepiej zrobić wszystko na jednej i przeciąć.

btw. wychodzi mi, że będę miał wolny prostokąt 4cm X 9cm, jeżeli ktoś planuje jakiś układ na takiej powierzchni to mogę wstępnie udostępnić.

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

A wiesz może jak zrobić jpg w Eagle? bo aktualnie nie mam żadnych programów do obróbki grafiki.

File -> Export -> Image

Dalej już sobie poradzisz 🙂

Warstwa Dimensions, to warstwa, po której wycinają. Jeśli na formatce będzie kilka płyte,k to dostaniesz je osobno. Ja praktycznie zawsze tak robię 🙂

Link do komentarza
Share on other sites

Pdf już jest pod pierwszym postem.

W 99% programów tak właśnie to się robi, aż mi wstyd, wrzucam obrazek

Dzięki, jak będę miał wstępne projekty płytek to wrzucę do sprawdzenia, a na razie czekam na krytykę (konstruktywną) co do schematu.

Link do komentarza
Share on other sites

Kilka uwag ode mnie. Nie są to błędy, po prostu powiem jak to miałem rozwiązane i działało bez problemów:

- nigdy nie miałem rezystorów 1M przy komparatorów, nie były konieczne

- wydaje mi się, że masz za małe rezystory przy diodach w czujnikach. Jak będą świeciły zbyt mocno będziesz miał problemy z odbiciami od płytki i trasy

- do switchy mógłbyś dodać filtry RC

Link do komentarza
Share on other sites

Ad1. Ja mam tak podłączone CNY70 i działają, koszt rezystorów nie jest duży i z miejscem na płytce z czujnikami linii też raczej nie będzie problemu więc zostawię, najwyżej nie przylutuję.

Ad2. Chodzi Ci o te 200R będą to 220R takie jak w typowym podłączeniu, w swoich CNY70 też takie mam, a jakie proponujesz?

Ad3. Kondensator 100nF (jak przy resecie) wystarczy czy coś innego masz na myśli

Link do komentarza
Share on other sites

Ad2. Chodzi Ci o te 200R będą to 220R takie jak w typowym podłączeniu, w swoich CNY70 też takie mam, a jakie proponujesz?

Przy zasilaniu z 5V możesz połączyć nawet 4 diody z KTIRów w szereg i dla prądu 20mA dać im rezystor 10Ω, zaoszczędzisz całą masę prądu 😉.

Link do komentarza
Share on other sites

Dzięki, tak chyba zrobię.

[ Dodano: 04-09-2013, 11:27 ]

Zacząłem robić listę komponentów jakie potrzebuję, co by je mieć przed wysłaniem płytki do wykonania no i do oszacowania kosztów konstrukcji.

No i właśnie cena silnika 30:1, a 10:1 różni się bardzo nieznacznie i zastanawiam się czy nie kupić od razu 10:1, konstrukcja nie powinna być zbyt ciężka więc powinny go pociągnąć, co o tym myślicie?

Link do komentarza
Share on other sites

adammarsz, wszystko zależy od tego czy dasz radę oprogramować robota, aby dał radę jeździć z silnikami 10:1. Jeśli ma to być robot do testów to wystarczą ci silniki 30:1. Przy 10:1 potrzebowałbyś albo turbiny, albo bardzo zaawansowanych algorytmów i sprzętu aby opanować robota na torze.

Link do komentarza
Share on other sites

Jeśli będziesz miał komparatory na płytce z czujnikami, to będzie ona dość ciężka. Będziesz miał problemy z bezwładnością. Wydaje mi się, że w tej sytuacji lepiej zostać przy 30:1 HP, ponieważ tych szybszych i tak nie dasz rady wykorzystać teraz. Dla 10:1 HP, robot nie powinien ważyć więcej niż jakieś 150g, niby dużo, ale w praktyce szybko zobaczysz, że to bardzo mało 🙂

Link do komentarza
Share on other sites

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • 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.