Popularny post Stonka Napisano Grudzień 19, 2011 Popularny post Udostępnij Napisano Grudzień 19, 2011 W końcu mamy chwilę czasu na opisanie robota:) Robot stworzony wspólnie z użytkownikiem Maszto. Najpierw zastrzeżenie - więcej zdjęć dołożymy jak będę miał do nich dostęp, teraz wrzucam tylko te, które mam przy sobie (niestety większość słabej jakości). A więc, jak można się domyślić, robot powstawał jako projekt inżynierski. We wrześniu byliśmy pewni, że będziemy go mogli robić. Tak więc od października projekt ruszył pełną parą. Zbieraliśmy informacje, porównywaliśmy datasheety różnych elementów, sprawdzaliśmy różne diody nadawcze i fototranzystory w paśmie IR. W listopadzie powstał pierwszy proto-prototyp:) W sumie w segmencie mieścił się na styk, ale był stworzony do celów testowych -> współpraca silnik - enkoder - czujniki - ATmega32A. Testy przyniosły nową wiedzę, potwierdziły pewne przypuszczenia, pewnych nie. Tak więc bogatsi o nowe doświadczenia rozpoczęliśmy pracę nad prototypem właściwym. Zdjęcie z 17 listopada: Ta masa kolorowych kabelków z tyłu służyła do tymczasowego podłączenia mostka L293D w zastępstwie TB6612 z pololu, który uległ uszkodzeniu. Po małym zwarciu:D. Na tym prototypie widać początkowe ułożenie sensorów z przodu, które nie okazało się optymalne. Nie mam teraz zdjęć, ale została zmieniona strona, na którą pary nadajnik-odbiornik wskazują. (Czyli te dwie pary z przodu zostały przekręcone na boki, a te boczne do przodu) A po dodaniu pięterka, głównie dla celów diagnostyki przez LCD: Jedna rzecz, która na pewno musi się znaleźć w następnej myszy, to wyświetlacz graficzny. Jak widziałem jak to u Graba działało, to mi się odechciało już wyświetlania na LCD 2x16 🙂. Wypisywanie 256 elementowej macierzy trochę trwa... No właśnie, skoro już jesteśmy przy konstruktorze Devila, to muszę mu bardzo podziękować za pomoc przy ogarnianiu zespołu enkoder-silnikDC. Gdyby nie on, pewnie by tak ładnie nie jeździła:). Sensoryka: - 2 Sharpy 5 cm; - 4 diody SFH4550; - 4 fototranzystory BPW77; - 2 czujniki Halla AS5145B (enkodery). Z enkoderów jestem zadowolony, diody i fototranzystory IR również doskonale spełniają swoje zadanie. Na początku nie używałem w ogóle Sharpów, ale później zostały użyte do dodatkowego wspomagania kalibracji ruchu. Mechanika: Laminat jednostronny kupiony w pobliskim sklepie, trawiony w domu. 2 silniczki z pololu 50:1 HP. Jako podpory - 2 diody. Elektronika: - ATmega32A; - 2x ATtiny13A (do obsługi enkodera - dorabiane na szybko i elegancko;-) ); - TB6612 z Robodudes (dzięki, MirekCz, za szybką pomoc); - stabilizator L7805 dla elektroniki; - stabilizator L7809/L7808/L7806/L7805 dla zasilania silników(wymienne); - stabilizator L7808/L7806/L7805 dla zasilania diod IR(wymienne). Zasilanie: Li-pol 1000 mAh 3S... Tak, zdecydowanie przesadziliśmy. Wnioski: - Po zamianie li-pola na 2S i mniejszej pojemności, jednym potrzebnym stabilizatorem (lub przetwornicą) będzie ten dla elektroniki. Diody i silniki polecą prosto z baterii. - Gotowy moduł z mostkiem TB6612 jest dużo wygodniejszy jeśli chodzi o wymianę w razie awarii; - Diody najlepiej jeśli mają malutki kąt świecenia i dużą moc. Fototranzystory jak najmniejszy kąt widzenia; - Jeśli robot na początku jeździ szybko i nie wpada na ścianki, to prawdopodobnie w labiryncie jest za dużo ścian:> Na zawodach może tak różowo nie być. Historia rozwoju: 22 listopad: Pierwszy filmik 29 listopad: Zamknięte sprzężenie zwrotne 30 listopad: Bez korekcji 5 grudnia: Korekcja 9 grudnia: Przed zawodami RA2011 Filmik z zawodów, dzięki uprzejmości Grabo: W sumie był to pierwszy (i na razie jedyny) występ Inżyniera, ale zajęcie II miejsca nas bardzo ucieszyło. Jest to nasz drugi robot, pierwszym był ALF. No trochę przeskok to był 😉 Jesteśmy zdecydowanie zadowolenie, zwłaszcza, że np. programować mikrokontrolery tak naprawdę zacząłem we wrześniu;-). Trzeba przyznać, że bardzo dużo się przy tej myszy nauczyliśmy. Jeśli o czymś zapomniałem lub macie pytania, walcie śmiało 😉 Edit: Dodatkowa atrakcja: 3d Model z RA2011 20 Cytuj Link do komentarza Share on other sites More sharing options...
piotreks-89 Grudzień 19, 2011 Udostępnij Grudzień 19, 2011 Gratuluję kolejnej myszki opisanej na forum 😉 Miałem okazję widzieć ją na żywo i podczas testów w strefie serwisowej na RA2011 😉 Mógłbyś pokazać jakich magnesów użyłeś w enkoderach? Z tym Li-Polem to na serio przesadziliście 🤣 Cytuj Link do komentarza Share on other sites More sharing options...
Stonka Grudzień 19, 2011 Autor tematu Udostępnij Grudzień 19, 2011 piotreks-89, na stronie producenta enkoderów są przykładowe. np.: Magnes 1 Cytuj Link do komentarza Share on other sites More sharing options...
mog123 Grudzień 19, 2011 Udostępnij Grudzień 19, 2011 Jakim kwarcem taktujecie mege? Jak rozwiazaliscie sprawe z enkoderami? Podpieliscie pod zewnetrzne przerwania czy wejscia licznika? Jeżeli to drugie, to jak rozwiązaliście sterowanie PWM? Jak mega się wam wyrabia? Nie próbowaliście go puszczać na większej prędkości? Cytuj Link do komentarza Share on other sites More sharing options...
Polecacz 101 Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Zarejestruj się lub zaloguj, aby ukryć tę reklamę. 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
Treker (Damian Szymański) Grudzień 19, 2011 Udostępnij Grudzień 19, 2011 Gratuluję konstrukcji i zarazem cieszę się z kolejnej myszy na forum 🙂 Jak widać, nie ma czego się bać opisując konstrukcje. Premia za opis robota została doliczona do klasyfikacji: http://klasyfikacja.forbot.pl/wyniki.php Cytuj Link do komentarza Share on other sites More sharing options...
GAndaLF Grudzień 19, 2011 Udostępnij Grudzień 19, 2011 No to pora na serię pytań 😃 W jaki sposób komunikujecie ATtiny z ATmegą? Po SPI? I jak mniej więcej wygląda cała procedura? Czujniki z AS mają po 256/512 impulsów na obrót więc chyba powinny być składowane w zmiennej 16-bitowej i zerowane po każdym odbiorze. A do jazdy powinien wystarczyć sygnał z jednego kanału enkodera, bo kierunek obrotów zawsze będzie znany. Te zatrzymania w każdej komórce wynikają z niewydolności ATmegi? Czy są specjalnie zrobione, żeby mieć pewność, że robot się zatrzymał i nie gubić się w labiryncie? A co do debugowania - na tym LCD wyświetlacie współrzędne i widoczne aktualnie ściany, czy staracie się rysować dwa rzędy mapki? I czy jest podłączone bezpośrednio do pinów IO, czy może przez jakieś TWI/SPI? Imo do debugowania najwygodniejszy by był jednak moduł bluetooth po uarcie i program na PC z pełną wizualizacją i zadawaniem wartości i różnymi bajerami. Ale znowu jest problem z niedozwoloną komunikacją w trakcie zawodów. Możecie udostępnić jakiś schemat ideowy? Jaką ocenę dostaliście z inżynierki? Cytuj Link do komentarza Share on other sites More sharing options...
Stonka Grudzień 19, 2011 Autor tematu Udostępnij Grudzień 19, 2011 Jakim kwarcem taktujecie mege? 16MHz. Jak rozwiazaliscie sprawe z enkoderami? Podpięliście pod zewnetrzne przerwania czy wejscia licznika? Jeżeli to drugie, to jak rozwiązaliście sterowanie PWM? Zewnętrzne przerwania. Po to jest ATtiny - spina 2 sygnały z enkodera w jeden i wylicza kierunek obrotów. A więc w ATmedze32 potrzebujemy tylko 2 zewnętrznych przerwań na inkrementację zmiennych odpowiadających impulsom z kół(oraz dwa sygnały cyfrowe mówiące o kierunku obrotu). O niebo lepiej byłoby to podpiąć pod układ ze wsparciem dla Motor Control. Jak mega się wam wyrabia? Nie próbowaliście go puszczać na większej prędkości? W sumie żeby zwiększyć prędkość, musiałbym mieć lepszy pomysł na korekcję, albo bardziej ją dopracować. Przy większej prędkości zbyt często nie wyrabiał(spotkania ze ścianką). No a z tą ilością czasu to po prostu nie było kiedy tego zrobić, więc woleliśmy jechać powoli, ale pewnie. ATmega na razie się wyrabia. Nie wiem czy po mocnym przyspieszeniu robota przerwania nie zaczęłyby zbyt dużo czasu zajmować. Następna mysz będzie miała prawdopodobnie inne rozwiązanie;-) Cytuj Link do komentarza Share on other sites More sharing options...
GAndaLF Grudzień 19, 2011 Udostępnij Grudzień 19, 2011 Enkodery z AS mają tryb LNB czy jakoś tak, że dają 1 wyjście kwadraturowe i wyjście DIR z kierunkiem. Wtedy to ATtiny było by niepotrzebne. Mi się wydawało, że jego rolą jest liczenie przerwań od enkodera, żeby atmega nie musiała ich zbierać za dużo, chociaż jeśli macie magnes na kole to i tak tych przerwań nie ma aż tyle. Następną wersję będziecie robić dalej na AVRach, czy zmieniacie proca? Widziałem, że się interesowałeś płytką ZL31ARM do STM32. Ja właśnie próbuję ją ogarnąć pod kątem micromouse. Cytuj Link do komentarza Share on other sites More sharing options...
Stonka Grudzień 19, 2011 Autor tematu Udostępnij Grudzień 19, 2011 W jaki sposób komunikujecie ATtiny z ATmegą? Po SPI? I jak mniej więcej wygląda cała procedura? Bardzo prosto. Wyjście ATtiny jest podpięte do wejścia ATmegi. Czyli tak jakby ATmega była bezpośrednio pod enkoder podpięta. Czujniki z AS mają po 256/512 impulsów na obrót więc chyba powinny być składowane w zmiennej 16-bitowej i zerowane po każdym odbiorze. A do jazdy powinien wystarczyć sygnał z jednego kanału enkodera, bo kierunek obrotów zawsze będzie znany. 1024 impulsy na wyjście, mają dwa wyjścia, wykrywając oba zbocza = 4096 impulsów na obrót. Co do kierunku obrotów - nie jest znany. Wyobraź sobie zadanie pozycji. Jeśli robot przejdzie poza nią, to zacznie hamować. Czyli wg niego silniki kręcą się do tyłu, ale tak naprawdę zanim zahamują, będą kręcić się do przodu. Nie jest tak różowo jakby się chciało. Testowałem:P Kontroler nie będzie wiedział, w którym momencie koła zaczęły się kręcić w przeciwnym kierunku. Bo skąd? To, że mu dasz taki PWM nie znaczy, że koło się tak kręci. Te zatrzymania w każdej komórce wynikają z niewydolności ATmegi? Czy są specjalnie zrobione, żeby mieć pewność, że robot się zatrzymał i nie gubić się w labiryncie? Generalnie z niewydolności softu:D Jakbym miał dość czasu i pomysł, to by się tak nie zatrzymywał. A co do debugowania - na tym LCD wyświetlacie współrzędne i widoczne aktualnie ściany, czy staracie się rysować dwa rzędy mapki? I czy jest podłączone bezpośrednio do pinów IO, czy może przez jakieś TWI/SPI? Podłączone bezpośrednio, a wyświetlam różne rzeczy w zależności od potrzeb. Pozycja, orientacja, jakie ściany, jaki następny ruch, itd., itp. Imo do debugowania najwygodniejszy by był jednak moduł bluetooth po uarcie i program na PC z pełną wizualizacją i zadawaniem wartości i różnymi bajerami. Ale znowu jest problem z niedozwoloną komunikacją w trakcie zawodów. W 3 tygodnie? 😃 Szczerze, to chciałbym takie coś jak piszesz zrobić, a moduł w myszy mógłby być odłączany na czas zawodów. W sumie musiałbym jeszcze program na PC napisać. Możecie udostępnić jakiś schemat ideowy? Jaką ocenę dostaliście z inżynierki? Co do schematu nie mam pewności, więc na razie się wstrzymujemy. Ocena dopiero będzie, trzeba napisać sprawozdanie z projektu:D Cytuj Link do komentarza Share on other sites More sharing options...
Maszto Grudzień 19, 2011 Udostępnij Grudzień 19, 2011 2x ATtiny13A (do obsługi enkodera - dorabiane na szybko i nieelegancko); No nie przesadzaj Krzysiek 😋, żeby tak od razu "nieelegancko" Cytuj Link do komentarza Share on other sites More sharing options...
Stonka Grudzień 19, 2011 Autor tematu Udostępnij Grudzień 19, 2011 Enkodery z AS mają tryb LNB czy jakoś tak, że dają 1 wyjście kwadraturowe i wyjście DIR z kierunkiem. Wtedy to ATtiny było by niepotrzebne. Mi się wydawało, że jego rolą jest liczenie przerwań od enkodera, żeby atmega nie musiała ich zbierać za dużo, chociaż jeśli macie magnes na kole to i tak tych przerwań nie ma aż tyle. Nie kojarzę takiego trybu. Ta wersja, którą mamy, jest zaprogramowana na sztywno na tryb enkodera inkrementalnego. Na dwóch wyjściach jest sygnał przesunięty w fazie, a dodatkowo trzecie wyjście sygnalizuje pozycję zerową. Po co ATtiny? Bo mamy 2x2 sygnałów z enkodera(2 enkodery po 2 wyjścia). A ta ATmega nie ma 4 portów z przerwaniami zewnętrznymi wykrywającymi zmianę stanu. 2x ATtiny13A (do obsługi enkodera - dorabiane na szybko i nieelegancko); No nie przesadzaj Krzysiek 😋, żeby tak od razu "nieelegancko" Lepiej?😃 Cytuj Link do komentarza Share on other sites More sharing options...
GAndaLF Grudzień 19, 2011 Udostępnij Grudzień 19, 2011 No faktycznie taki tryb nie musi być koniecznie we wszystkich modelach. Na pewno jest w tym modelu. Ja zakładałem, że koła kręcą się tylko w jedną stronę albo stoją. Skręty można wtedy wykonywać płynnie jeżeli oba koła kręcą się w tą samą stronę, ale jedno znacznie szybciej. Można też się zatrzymywać, czekać aż z enkodera przestaną dochodzić impulsy aby mieć pewność, że się zatrzymaliśmy, i potem zrobić skręt w miejscu gdzie koła się kręcą w różne strony. Oczywiście to tylko "theorycrafting" i zdaję sobie sprawę, że w praktyce mogło to wyglądać inaczej. Co do tego modułu BT i programu na PC to może przerobię trochę swoją aplikację z projektu na uczelnię i zamieszczę w dziale projekty. Ale to dopiero za jakiś czas. Moja aplikacja miała dostawać sygnały z bluetootha w mindstormsach i rysować na komputerze labirynt. W sumie jeszcze musiał bym nad nią mocno popracować, żeby się do czegoś nadawała. Na razie co najwyżej fajnie wygląda: Cytuj Link do komentarza Share on other sites More sharing options...
Stonka Grudzień 19, 2011 Autor tematu Udostępnij Grudzień 19, 2011 GAndaLF, fajny program:). Mi by się takie coś przydało, tylko nigdy nic takiego nie pisałem. Nawet nie próbowałem na PC nic pisać. Więc musiałbym się trochę nauczyć😉. Cytuj Link do komentarza Share on other sites More sharing options...
Bobby Grudzień 19, 2011 Udostępnij Grudzień 19, 2011 Miałem okazję oglądać na żywo, naprawdę fajny projekt - super, że pojawiają się nowe mm, z tak rozwiązaną konstrukcją mechaniczną raczej nie ma co liczyć na zbyt wiele (choć w sumie można by jeszcze wprowadzić system wag i wyeliminować to zatrzymywanie się co komórkę podczas przeszukiwania labiryntu) - kolejna mysz będzie lepsza 🙂 , przez wysoko umieszczony środek ciężkości i ogólnie "wahliwą" konstrukcje - właśnie, teraz tak sobie o tym pomyślałem, to wahanie robota w trakcie ruszania/hamowania nie wpływało w znaczący sposób na odczyty z czujników? Ogólnie bardzo fajna konstrukcja, na żywo imo wygląda lepiej niż na zdjęciach 🙂 TERMOGLUT TO NIE ZŁO 😃 Cytuj Link do komentarza Share on other sites More sharing options...
Stonka Grudzień 19, 2011 Autor tematu Udostępnij Grudzień 19, 2011 W sumie mechanicznie wcale nie jest źle... Program jest ok, ale jest ubogi - podczas badania trzeba wyeliminować te zatrzymania, zakręty płynne zrobić, wagi, itd., itp... A przede wszystkim, trzeba mieć na to czas:) Wahania nie przeszkadzały, normalnie nie miał czegoś takiego, ale sytuacja na RA wymusiła podniesienie jednej diody - inaczej czasem się zawieszał na taśmie łączącej płyty. Generalnie to był prototyp. W sumie nawet nieźle sobie radzi jak na prototyp:D Cytuj Link do komentarza Share on other sites More sharing options...
Pomocna odpowiedź
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!