Minisumo Bullet XT

Jest to już mój drugi robot tego typu , w sumie to trzeci licząc jeden z wirtualnych prototypów który powstał w CAD,ie (niestety porzuciłem tamten projekt). Każda kolejna wersja „minisumo-ka” jest to coraz lepsza myślę ,że kolejna odsłona tego robota będzie pozbawiona wszelkich niedoskonałości. Minisumo Bullet XT brał udział w kilku konkursach lecz z powodu jednego błędu w mechanice zbyt łatwo było go pokonać co w efekcie przełożyło się na marne wyniki . Całość łącznie z projektem powstała w około 2-3 tygodnie. Poniżej w tym oto małym artykule postaram się opisać moja konstrukcję oraz równie istotne błędy które w niej popełniłem.

Projekt

Projekt powstał na szybko w Inventorze , najpierw rozrysowałem wszystkie elementy a potem wirtualnie poskładałem to wszystko do kupy. Każdy element przeznaczony do druku 3D został duplikowany i przerobiony pod względem wymiarów pod druk z ABS,u który jak wiadomo kurczy się. Dodatkowo otwory oraz wpusty na nakrętki zostały odpowiednio powiększone. W projekcie uwzględniłem możliwość regulacji pługu w celu dopasowania do podłoża . Był to duży błąd ale o tym później 🙂 . Silniki mocowane są drukowanymi obejmami które są ściskane za pomocą 4 śrub M3x30. W projekcie uwzględniłem również płytkę podważającą zamocowaną za pomocą 4 łożysk kulkowych. Miała opadać podczas gwałtownego ruchu przy starcie. W projekcie z grubsza rozrysowałem wymiary płytki drukowanej które następnie przeniosłem do Eagle. Po teoretycznym obliczeniu wagi wyszło około 450 g w rzeczywistości było to około 490 g. Na poniższym renderze można zobaczyć większość części z których składa się robot:


Jako , iż koła zębate do gumowych gąsienic od Polulu miały złe otwory w kształcie litery D (dopasowanie do silników z przekładnią w stylu micro) musiałem je zaprojektować od nowa. Oprócz dopasowania do łożysk oraz silników poprawiłem również „wdrukowywalność” tychże zębatek.

A tak prezentuje się całość po złożeniu w CAD,ie:

Testy

W celu przetestowania robota wydrukowałem sobie ring , który następnie zalaminowałem w celu zwiększenia trwałości powierzchni. Wiadomo ,że testy z „cegłą” to nie to samo co walka z prawdziwym przeciwnikiem lecz można sprawdzić mniej więcej czy wszystko działa jak należy. Podczas testów dokonałem poprawek w kodzie oraz wyregulowałem komparatory. Jak widać na filmach załączonych poniżej robot jest bardzo szybki i bardzo dobrze radzi sobie z wypychaniem prawie kilogramowego pudełka ze śrubkami. Podczas testów robot wpadał w poślizg pomimo gąsienic o dużej przyczepności z powodu silników o zbyt dużej „mocy”. Przez to pełna moc była włączana dopiero wtedy gdy robot podjął decyzję ,iż przeciwnik znajduje się dokładnie przed nim. W przeciwnym wypadku robot non-stop wypadał z ringu z powodu dużej bezwładności oraz prędkości. Przez to musiałem nieźle kombinować w algorytmie walki aby to wszystko sensownie działało. Pod koniec wszystko wyszło jak należy ,lecz kod jest strasznie przekombinowany. Już podczas testów regulowany pług sprawiał pewne problemy zahaczając o ring.

Elektronika

Jeśli chodzi o samą elektronikę to nie ma tu nic specjalnego. Jako główny mikrokontroler wykorzystałem rozbudowany układ Atxmega128A3U . Posiada on wiele fajnych sprzętowych interfejsów. Jak sterowniki silników wykorzystałem układy TB6612FNG połączone równolegle ze względu na duży prąd znamionowy silników. Płytka jak zwykle wykonana metodą fotochemiczną a następnie pocynowana stopem Lichtenberga. Jako komparatory zastosowałem wzmacniacze operacyjne które akurat były pod ręką. Do obsługi menu zastosowałem 4 przyciski tact-switch. Dodatkowo wykorzystałem wyświetlacz z nokii 5110 w celu uproszczenia nawigacji po menu. Dla efektu wizualnego dodałem również diody LED na rogach oraz pod PCB. Jest również przylutowany odbiornik podczerwieni z serii TSOP w celu zdalnego wyzwolenia – funkcja ta nie była nigdy zaimplementowana w kodzie. Na zdjęciu poniżej widać całe menu (możliwość wyboru trybu walki,przetestowania czujników,włączenia oświetlenia,sprawdzenia napięcia baterii,przetestowania silników)

Na zdjęciu poniżej widać podświetlone gąsienice:

Jak widać na schemacie nie ma nic szczególnego – jak zwykle brudną robotę odwala mikro-klocek.

Napęd

Zastosowałem potężne silniki z przekładniami od Pololu : 25Dx48L HP z przekładnią 9.7:1 . Jak się później okazało silniki o takim momencie obrotowym są sporym przegięciem. Spokojnie cos z serii micro dało by radę. W sumie prawie nigdy nie pracują na pełnej mocy. Parametry można zobaczyć poniżej:

  • Nominalne napięcie: 6 V
  • Wymiary: 25D x 48L mm
  • Masa: 82 g
  • Średnica wału: 4 mm
  • Przekładnia 9.7:1
  • Obroty na biegu jałowym przy zasilaniu 6V: 990 obr/min
  • Prąd biegu jałowego (6V): 550 mA
  • Prąd szczytowy: 6 A
  • Moment obrotowy: ~0.27 Nm

Na zdjęciu poniżej można zobaczyć silniki enkoder oraz kondensatory dodane w celu stabilizacji napięcia:

Prąd szczytowy okazał się dużym problemem , podczas startu takie silniki ciągną po 6 A każdy czyli w sumie 12 A. Pierwszy kanał na oscylogram prezentuje spadek napięcia z baterii Li-Po podczas startu silników (jak widać spadek jest poważny ,około 2 V) . Bez zastosowania szybkich diod przetwornicy oraz dużej pojemności od strony elektroniki ten spadek powielał się w napięciu zasilającym mikrokontroler i całą logikę co powodowało restart całego programu. Po odizolowaniu logiki od silników za pomocą diod i wywaleniu regulatora liniowego który został zastąpiony przetwornicą step up /step down która aktywnie wykorzystuje zgromadzoną po drugiej stronie energię w kondensatorach wszystko zadziałało poprawnie. Jak widać na drugim kanale napięcie logiki chwilowo podnosi się o około 1.5V prawdopodobnie jest to chwilowe „przestrzelenie” nastawy napięcia docelowego z powodu szybkiej zmiany napięcia na wejściu przetwornicy. Mikrokontroler jakoś sobie z tym radzi – i tak nie będę nic z tym robił bo całość idzie pod młotek 🙂 .

Z ciekawostek po przybliżeniu widać na napięciu zasilającym sieczkę pozostałą po kluczowaniu silników PWM,em (20KHz) 🙂 .


Czujniki

Jako iż moje ulubione cyfrowe czujniki Sharp GP2Y0D340K nie są już dostępne musiałem coś wykombinować. Postanowiłem wykorzystać szybsze analogowe odpowiedniki Sharp GP2Y0A60SZLF (analogowy czujnik odległości 10-150cm). Działają one w miarę dobrze ,lecz nie tak dobrze jak cyfrowe GP2Y0D340K. No cóż, musiałem zastosować to co jest. Przy szybkich obrotach czasem nie nadążają z wykryciem przeciwnika. Jako czujniki linii zastosowałem standardowe transoptory odbiciowe KTIR0711S. Dodatkowo z przodu w pługu został umieszczony czujnik Sharp GP2Y0D810Z0F ( cyfrowy czujnik odległości 10cm ) w celu sprawdzenia czy przeciwnik jest aktualnie przy pługu (służy do podjęcia decyzji o max. mocy silników).

Czujniki linii zostały zastosowane tylko z przodu:

Zasilanie

Za zasilanie robota odpowiadają 4 baterie Li-Po 3.7V 700 mAh połączone szeregowo-równolegle (2S2P) . Złącza są odpowiednio schowane od spodu co pozwala na ukrycie przewodów. Ogólnie w środku jest strasznie napchane ciężko przykręcić PCB do ramy. Trochę przypomina to walkę z przepełniona walizką.

 Mechanika

Wszystko zostało wydrukowane na drukarce 3D z ABS,u . Części są tak wytrzymałe ,że po kilkudziesięciu walkach nie ma nawet na nich zadrapań.Na zdjęciu poniżej widać mocowania silników oraz obustronne łożyskowanie przeciwległych kół. Dodatkowo do pługu została za-laminowana za pomocą żywicy epoksydowej blacha stalowa w celu wzmocnienia. Do „podważarki” zostały przyklejone cienkie żyletki. Ostatecznie rozwiązanie to nie sprawdziło się ponieważ element ten za słabo przylega do podłoża.

Podsumowanie

Całość wyszła bardzo fajnie , lecz przez to iż przód robota za słabo przylega do podłoża cała konstrukcja zostanie zdezintegrowana i przerobiona na nową wersję. Robot bardzo szybko lokalizuje i atakuje przeciwnika lecz nie jest w stanie go wypchnąć z powodu nadziewania się na lepiej przylegające pługi przeciwników. Kilkukrotnie zdarzyło się ,że przeleciał nad przeciwnikiem. Pozostaje tylko przerobić ramę i zaprojektować pług wykonany z ostrza do strugarki.

BŁĘDY:
  • Pług nie przylega do podłoża wystarczająco dobrze
  • Podważająca klapka nie spełnia swojej funkcji
  • Źle zaprojektowana sekcja zasilania
  • Silniki o zbyt dużym poborze prądu
POPRAWKI  W NASTĘPNEJ WERSJI:
  • Nowy pług wykonany z ostrza pochodzącego ze strugarki
  • Nowe małe silniki micro
  • Dwa silikonowe koła zamiast gąsienic
  • Smukła rama
  • Dodanie czujników linii z tyłu