Popularny post zandarmerio Napisano Czerwiec 13, 2013 Popularny post Udostępnij Napisano Czerwiec 13, 2013 Przedstawiam robota typu linefollower, którego razem z kolegą wykonaliśmy w ramach projektu "Roboty mobilne" na PWr. Cechą odróżniającą go od innych konstrukcji tego typu jest możliwość zapamiętywania trasy. Robot wykonuje pierwszy przejazd ze stosunkowo wolną prędkością i dla każdego punktu trasy oblicza maksymalną możliwą prędkość, która pozwoli na przejazd bez poślizgu. Wiedza ta jest używana w celu zoptymalizowania czasu przejazdu podczas drugiego pokonywania trasy. Sercem robota jest mikrokontroler STM32F103RBT6. Do napędu służą silniki Pololu 10:1 HP (przy okazji - są beznadziejne) wspomagane enkoderami AS5040. Do wykrywania linii przewidziano 12 czujników KTIR, przy czym aktualnie używanych jest 8 (resztę przyjarałem hotem podczas lutowania i nie działają 😅). Napięcie 3,3V dla logiki pochodzi z przetwornicy MCP16301, natomiast silniki są zasilane bezpośrednio z akumulatora poprzez mostek MC33932. Oprócz tego na płytce zainstalowany jest akcelerometr/żyroskop MPU6050 (aktualnie niewykorzystany), 4 ledy, 3 przyciski oraz wyprowadzone złącza UART i SPI (dla modułu radiowego NRF24L01). Algorytm sterowana obejmuje regulatory PID dla prawego i lewego koła oraz regulator PID dla rotacji. Wartość translacji jest ustalana na sztywno lub jest uzależniona od aktualnego położenia robota na trasie (w przypadku drugiego przejazdu). Jazda ze sztywno zadaną prędkością, zdaje się 1,8m/s Zapamiętywanie trasy (film zawiera lokowanie produktu) Jeśli chodzi o robota to jestem bardzo pozytywnie zaskoczony działaniem zapamiętywania trasy. Do zrobienia pozostało uwzględnianie przyspieszeń liniowych przy wyznaczaniu profilu przejazdu, gdyż aktualnie obliczane jest tylko przyspieszenie dośrodkowe. Głównym problemem przy konstrukcji robota były notorycznie palące się silniki. Dwa spaliły się całkowicie, w jednym wytarła się zębatka, a szczotki były wymieniane chyba z pięć razy. W następnych konstrukcjach mam zamiar używać tylko silników BLDC. edit: Schemat Layout płytki głownej bom.txt 21 Link do komentarza Share on other sites More sharing options...
Treker (Damian Szymański) Czerwiec 13, 2013 Udostępnij Czerwiec 13, 2013 Gratuluję konstrukcji, zapowiada się znakomicie. Możecie napisać coś więcej o samym mapowaniu trasy? P.S.: Temat przenoszę do odpowiedniego działu. Link do komentarza Share on other sites More sharing options...
Carpe Diem Czerwiec 13, 2013 Udostępnij Czerwiec 13, 2013 Wiele razy słyszałem pomysły by wykorzystać zapamiętywanie trasy ale bylo to traktowane raczej abstrakcyjne, bardzo fajnie że wam sie to chcialo i udalo zrobić. Jeździ szybko no i bynajmniej na tych trasach nie widac przeregulowan. Mam nadzieje ze uda mi sie zobaczyc go na zywo. Gratulacje! Link do komentarza Share on other sites More sharing options...
kasprzyk.michal Czerwiec 13, 2013 Udostępnij Czerwiec 13, 2013 Świetna konstrukcja! Również chciałbym się dowiedzieć czegoś więcej na temat mapowania trasy. 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
Mechano Czerwiec 14, 2013 Udostępnij Czerwiec 14, 2013 Siema. Spoko robot, zastanawia mnie algorytm mapowania trasy. Czy konieczne było zastosowanie tak potężnego procesora, czy jest on sporo na wyrost? Co to za moduły radiowe? Mieliście jakieś problemy z enkoderami? Link do komentarza Share on other sites More sharing options...
zandarmerio Czerwiec 14, 2013 Autor tematu Udostępnij Czerwiec 14, 2013 Projekt nie został jeszcze oddany do oceny, więc temat mapowania mogę opisać tylko w skrócie. Podczas pierwszego przejazdu robot co około 1cm (na filmie widać mrugającą czerwoną diodę) oblicza promień krzywizny trasy i zapisuje go w tablicy razem z aktualnie przejechaną odległością. Następnie na podstawie zebranych danych i zadanego w programie współczynnika tarcia obliczana jest prędkość graniczna dla każdego punktu. Algorytm pamiętania trasy był pisany wczoraj rano i jest jeszcze mocno niedopracowany, chociaż już w tym momencie działa zadziwiająco dobrze. Wypadałoby zrobić jeszcze jakieś filtrowanie obliczonych prędkości (na przykład uśrednianie z kilku punktów) i uwzględnić przyspieszenie liniowe. Co do "potężnego" mikrokontrolera - pewnie dałoby się to upchać w jakiegoś większego AVR, ale po co? Duży mikrokontroler pozwala skupić się na samym problemie sterowania robotem, a nie na rozkminach typu "jakby to zrobić bez użycia floatów i dzielenia". Pętla sterowania chodzi z częstotliwością 2000Hz i obejmuje odczyt czujników, obliczenie położenia linii i 3 regulatorów PID (wszystko na floatach) oraz pomniejsze rzeczy typu debouncing przycisków. Całość zabiera około 20% czasu procesora, z czego połowa to oczekiwanie na zakończenie pomiaru ADC. Program na chwilę obecną waży około 30kB, co w dużej mierze spowodowane jest użyciem funkcji z biblioteki math.h. Moduły radiowe, o których wspomniałem wcześniej to dość popularne i tanie NRF24L01 z interfejsem SPI. Niestety nie udało się jeszcze uruchomić komunikacji, non stop odbierana jest flaga o zakłóceniach w transmisji. Temat zostaje do ogarnięcia na później ze względu na zbliżającą się sesję. Nie było żadnych problemów z enkoderami. STM ma sprzętowe ich wsparcie i wszystko ruszyło za pierwszym razem. Link do komentarza Share on other sites More sharing options...
Treker (Damian Szymański) Czerwiec 14, 2013 Udostępnij Czerwiec 14, 2013 Współczynnik tarcia dobierany doświadczalnie? Jaka jest ustawiona częstotliwość PWM na silniki? Ja od ponad roku używam tych samych samych silników (10:1 HP), żadnych oznak zniszczenia nie widać... Może regulator PID je tak nadwyręża? Link do komentarza Share on other sites More sharing options...
zandarmerio Czerwiec 15, 2013 Autor tematu Udostępnij Czerwiec 15, 2013 Współczynnik tarcia jest dobrany doświadczalnie, ale można do tego celu użyć akcelerometru. Na filmiku jest ustawione 0,5. Przy wyczyszczonych kołach i trasie można uzyskać więcej, ale wtedy przy przyspieszaniu płytka czujników zaczyna latać. Częstotliwość PWMa jest ustawiona na 15kHz, ale nie ma to większego znaczenia. Silniki palą się, ponieważ ich prąd zwarciowy to około 2,5A, a szczotki wykonane są z cienkiej blaszki. Dotychczas miałem w ręku tylko jeden mały silnik, który ma porządne grafitowe (chyba) szczotki - Tamiya 75026. Na zdjęciu szczotki z Pololu. Robot ma wartość praktycznie tylko doświadczalną i raczej nie pojawi się na żadnych zawodach, bo nie wierzę że te silniki wytrzymają do tego czasu. Poza tym parę rzeczy wymaga dopracowania, co łatwiej jest zrobić projektując nowego robota, niż zmieniać obecnego, ale jak na pierwszą konstrukcję tego typu i tak wyszło nieźle. Link do komentarza Share on other sites More sharing options...
Treker (Damian Szymański) Czerwiec 15, 2013 Udostępnij Czerwiec 15, 2013 Tylko, pytanie kiedy w FTL pojawia się na nich prąd zwarcia? Raczej nigdy. Całkiem sporo osób używa te silniki na zawodach i to od dość dawna, nie słyszałem, jeszcze, aby komuś w FL się paliły. Link do komentarza Share on other sites More sharing options...
Sabre Czerwiec 15, 2013 Udostępnij Czerwiec 15, 2013 Całkiem sporo osób używa te silniki na zawodach i to od dość dawna, nie słyszałem, jeszcze, aby komuś w FL się paliły. A przypadkiem Armirowi się nie paliły w lfrze? Link do komentarza Share on other sites More sharing options...
Harnas Czerwiec 15, 2013 Udostępnij Czerwiec 15, 2013 Mi się spaliły szczotki, ale robot był dość ciężki i algorytm trochę niedopracowany (dość często odbywała się zmiana kierunku obrotów). Poza tym miałem styczność z 2 lf-ami, które mimo dużo większego "przebiegu" miały silniki sprawne. Link do komentarza Share on other sites More sharing options...
zandarmerio Czerwiec 15, 2013 Autor tematu Udostępnij Czerwiec 15, 2013 Ciężko mi dokładnie zbadać temat, bo moduły radiowe jeszcze nie działają. Regulatory PID silników są zestrojone raczej poprawnie, bo przy wolnej jeździe cały robot pobiera około 300mA. Natomiast jak najbardziej możliwy jest chwilowy przepływ prądu zwarciowego, a nawet większego. Przy wejściu w ostry zakręt wypełnienie wewnętrznego silnika może zostać ustawione na ujemne w celu szybkiego wyhamowania. Moim zdaniem te silniki jak na swoją cenę są kiepskie i nie jest to tylko moja opinia. Temat https://www.forbot.pl/forum/topics43/zamienniki-silnikow-pololu-samych-silnikow-vt8735,15.htm sugeruje, że wcale takie bezawaryjne nie są, ale jeżeli Wam nie sprawiają problemów, to pozostaje tylko się cieszyć 😅 . Link do komentarza Share on other sites More sharing options...
MirekCz Czerwiec 15, 2013 Udostępnij Czerwiec 15, 2013 Wiesz, o silnikach możesz mówić co chcesz, ale znajdź inne za podobną cenę, które mają takie parametry. Nie ma. Jak szukasz żywotności używaj silników nie HP i będą służyły o wiele dłużej, albo kup coś posiadającego szczotki z metali szlachetnych i zapłać 10x tyle. Pomijam fakt, że silniki są na 6V, a z pewnością dawałeś więcej. Problemem jest przyłożenie odwrotnej polaryzacji do silnika jak kręci się jeszcze z b.dużą prędkością do przodu. Jasne, jest to najszybszy sposób na zwolnienie, ale przy dużej masie robota wymaga to długotrwałego, ekstremalnego przeciążenia szczotek silnika. PS. Trochę z innej beczki to całkiem fajna konstrukcja. Brakuje schematu i BOM, bo chyba do kilku miejsc poważnie bym się przyczepił (kondensatory, szczególnie przy mostku), ale zrobiliście kilka rzeczy inaczej niż większość i za to wam piwo 😉 Link do komentarza Share on other sites More sharing options...
zandarmerio Czerwiec 15, 2013 Autor tematu Udostępnij Czerwiec 15, 2013 Silników o lepszych parametrach w podobnej cenie niestety nie ma, wspomniane wyżej silniki Tamiya są jakościowo OK, ale rozmiarowo są większe od Pololu. W następnym robicie użyję BLDC. Brak szczotek definitywnie rozwiązuje problem ich krótkiej żywotności 😉 Chyba nie ma sensu ciągnąć dalej tego tematu. Ja zdanie na temat silników Pololu mam już wyrobione. Ktoś inny może z nich korzystać i być zadowolonym - rzecz gustu. Wrzuciłem schemat, layout i BOM do pierwszego postu. Chętnie przyjmę słowa krytyki, jeżeli faktycznie coś jest źle (wątpię 😉). Link do komentarza Share on other sites More sharing options...
Sabre Czerwiec 16, 2013 Udostępnij Czerwiec 16, 2013 zandarmerio, w jakim celu masz te dławiki w szeregu z silnikiem? Link do komentarza Share on other sites More sharing options...
Pomocna odpowiedź
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ę »