Skocz do zawartości

Przeszukaj forum

Pokazywanie wyników dla tagów 'avr'.

  • Szukaj wg tagów

    Wpisz tagi, oddzielając przecinkami.
  • Szukaj wg autora

Typ zawartości


Kategorie forum

  • Elektronika i programowanie
    • Elektronika
    • Arduino, ESP
    • Mikrokontrolery
    • Raspberry Pi
    • Inne komputery jednopłytkowe
    • Układy programowalne
    • Programowanie
    • Zasilanie
  • Artykuły, projekty, DIY
    • Artykuły redakcji (blog)
    • Artykuły użytkowników
    • Projekty - roboty
    • Projekty - DIY
    • Projekty - DIY (początkujący)
    • Projekty - w budowie (worklogi)
    • Wiadomości
  • Pozostałe
    • Oprogramowanie CAD
    • Druk 3D
    • Napędy
    • Mechanika
    • Zawody/Konkursy/Wydarzenia
    • Sprzedam/Kupię/Zamienię/Praca
    • Inne
  • Ogólne
    • Ogłoszenia organizacyjne
    • Dyskusje o FORBOT.pl
    • Na luzie
    • Kosz

Szukaj wyników w...

Znajdź wyniki, które zawierają...


Data utworzenia

  • Rozpocznij

    Koniec


Ostatnia aktualizacja

  • Rozpocznij

    Koniec


Filtruj po ilości...

Data dołączenia

  • Rozpocznij

    Koniec


Grupa


Znaleziono 238 wyników

  1. Witam wszystkich serdecznie Chciałbym przedstawić wielozadaniowego robota o nazwie KT-tronic. Pracowałem nad nim dość długo, ze względu na złożoną budowę. Robot ten może pracować w trzech trybach wybieranych przy pomocy odpowiednich przełączników. Te tryby to: • Line Following • Zdalne sterowanie • Autonomiczna jazda z omijaniem przeszkód Ten ostatni nie jest gotowy. Jest to jedynie plan na przyszłość. Konstrukcja mechaniczna Głównym materiałem, z którego została wykonana konstrukcja robota, jest polistyren wysoko udarowy HIPS. Materiał ten wybrałem ze względu na łatwość obróbki. Wszystkie części zostały zaprojektowane w programie SolidWorks, następnie każda z osobna wydrukowana i „przeprasowana” na kawałki polistyrenu przy pomocy żelazka. Należy jednak ograniczyć czas prasowania, ponieważ polistyren może się odkształcać pod wpływem temperatury. Tak gotowe elementy wycinałem zwykłym nożem do tapet i szlifowałem papierem ściernym. Napęd robota stanowią cztery silniki Pololu o przełożeniu 100:1, sterowane przy pomocy dwóch sterowników TB6612FNG. Do nich dołączone są koła o średnicy 80mm. Silniki zasilane są za pomocą akumulatora Li-Pol 11,1V o pojemności 900mAh. W robocie znajduje się 9 serwomechanizmów. Najmocniejsze dwa poruszają całymi rękoma. Ich moment wynosi 12kg*cm. Każda ręka złożona jest z czterech serw. Dziewiąte serwo porusza korpusem. Wszystkie serwomechanizmy otrzymują napięcie 6V, które zapewnia przetwornica step-down D24V22F6. Przetwornica zasilana jest tym samym pakietem Li-Pol co silniki. Całość waży 4,1kg. Wysokość robota to 42cm, a długość jednej ręki to 30cm. Elektronika Płytka PCB została wykonana w firmie Satland. Pracą robota steruje mikrokontroler ATmega2560. Wybrałem ten procesor głównie ze względu na ilość sprzętowych kanałów PWM. Zasilanie pochodzi z pakietu Li-Pol 7,4V, stabilizator liniowy stabilizuje napięcie do 5V. Zdecydowałem się na zastosowanie dwóch akumulatorów, głównie po to, by oddzielić zasilanie silników od zasilania procesora. Pozwoliło to zmniejszyć wpływ zakłóceń generowanych przez silniki. Na płycie dodatkowo znajdują się: • Mostki TB6612 • Złącze do programowania • Buzzer • Diody sygnalizujące poprawnie wykonane kolejnych części programu • Dzielniki napięcia. Przy pomocy wejść ADC mierzone jest napięcie z akumulatorów zasilających. Przy zbyt wysokim rozładowaniu robot przestanie pracować i buzzer zacznie piszczeć • Goldpiny do podłączenia czujników KTIR, wyświetlacza LCD, czujników HC-SR04 i odbiornika PS2 do komunikacji bezprzewodowej Tryby pracy: Line Following 5 transoptorów odbiciowych KTIR0711S znajduje się na płycie umieszczonej pod podwoziem robota. Czujniki znajdują się na wysokości ok. 1cm od podłogi. Jest to pewne utrudnienie podczas np. zdalnego sterowania, ponieważ robot ma trudności z pokonywaniem wyższych progów Zdalne sterowanie Do zdalnego sterowania wykorzystałem gamepad od PS2 z odbiornikiem. Dane przesyłane są do mikrokontrolera poprzez SPI. Maksymalny zasięg wynosi 8m. Omijanie przeszkód Robot będzie wykorzystywał dwa czujniki ultradźwiękowe HC-SR04. Jeden umieszczony zostanie na dole konstrukcji, a drugi na samej górze, być może przyczepiony do serwomechanizmu, żeby zwiększyć kąt wyszukiwania przeszkód. Poniżej przedstawiam zdjęcia poszczególnych elementów oraz etapy budowy Zdjęcie poniżej przedstawia projekt robota wykonany w programie SolidWorks Poniżej filmik, na którym robot wykonuje ruchy sekwencyjne. Polecam ściszyć głośność, ponieważ w kilku momentach odsuwam krzesło z tabletem nie chciałem, by kamera drgała przy chodzeniu, więc zastosowałem się do takiego sposobu Plany na przyszłość: • Pomalować robota, żeby zamaskować niedoskonałości i ślady łączenia części • Dokończyć trzeci tryb tj. omijanie przeszkód • Koniecznie muszę wzmocnić mocowanie korpusu z serwomechanizmem do podstawy. Robot zbyt mocno buja się na boki, czego serwo może po pewnym czasie nie wytrzymać
  2. Witam! Na wstępie chciałbym podziękować użytkownikowi Hudyvolt, który zaraził mnie zamiłowaniem do robotyki oraz "za rękę" przeprowadził przez budowę pierwszej konstrukcji - Dziękuję! Chciałbym Wam przedstawić Pikę - mojego trzeciego i zarazem najmłodszego robota kategorii LF standard. Jest to udoskonalona wersja mojego poprzedniego flagowca - Dzidy, z którą udało mi się odnieść pierwsze zwycięstwo na zawodach. Konstrukcja mechaniczna Na budowę robota składają się standardowo 2 płytki PCB (homemade) - płyta główna stanowiąca jednocześnie podwozie robota oraz listewka z czujnikami. Spójność robota zapewnia pojedyncza listewka z włókna węglowego. Aluminiowe felgi zostały wykonane przeze mnie w technologii WEDM, opony natomiast zostały odlane z poliuretanu 30'. Jako ślizgacz zapobiegający unoszeniu się przodu robota podczas nagłych przyspieszeń zastosowałem kondensator ceramiczny - znakomita odporność na ścieranie! Z kolei przód opiera się na 2 spiłowanych koralikach, które znalazłem gdzieś w domu. Napęd 2x Silnik Pololu HP 10:1 - spisują się rewelacyjnie. Elektronika Za realizację programu odpowiada uC ATmega128, do której za pośrednictwem komparatorów analogowych podłączonych jest 14 czujników KTIR. Stan każdego z czujników wyświetlany jest na dedykowanej do tego diodzie LED. Pozwala mi to na błyskawiczną diagnozę poprawności odczytów - kilka razy uratowało mnie to przed żmudnym poszukiwaniem przyczyny dziwnego zachowania robota. Zdarzało się, że czujniki ulegały delikatnemu uszkodzeniu, mianowicie podawały fałszywy stan jedynie w przypadku delikatnego uderzenia co powodowało zamruganie diody wskazującej na wadliwy czujnik. Sterowanie silnikami odbywa się przy pomocy pojedynczego, dwukanałowego mostka H - Toshiba TB6612FNG. Na pokładzie znajduje się również moduł Bluetooh HC-05, który komunikuje się z uC poprzez interfejs UART. Do wysyłania i odbierania danych używam prostego a zarazem sprytnego terminala na androida - "Bluetooth spp pro". Zasilanie Energię, zależnie od charakteru trasy, dostarczają pakiety Li-Pol 7.4V firmy Dualsky o pojemnościach: 220mAh, 300mAh oraz 550mAh. Najczęściej stosuję akumulator o pojemności 300mAh - mam wrażenie, że robot jeździ na nim nieco szybciej, taki złoty środek pomiędzy masą a wydajnością. Stan naładowania pakietu jest ciągle wyświetlany na 3 diodach LED. Lekkiej modyfikacji poddałem również gniazdo zasilania w robocie - wiszące na oryginalnych przewodach często powodowało mi zwarcia przy samej PCB - przewody od ciągłych zmian pakietów ulegały przełamaniu. Wykorzystałem fabryczne gniazdo, które po delikatnym przycięciu wkleiłem na 2 delikatnie odchudzone goldpiny. Z tym rozwiązaniem nie miałem jeszcze żadnych problemów. Do zasilania części cyfrowej Piki zastosowałem tradycyjny stabilizator 5V, który przy tej ilości diod wyraźnie się grzeje, lecz jeszcze w granicach rozsądku Program Algorytm napisany został w języku C. Opiera się na regulatorze PD z kilkoma pomniejszymi modyfikacjami. Nowa regulacja obliczana jest z interwałami ok. 8ms. Do wprowadzania nastaw, jak już wcześniej wspominałem służy moduł Bluetooth - szalenie wygodne rozwiązanie. Osiągnięcia -I miejsce na zawodach CYBERBOT 2015 w kategorii LineFollower Standard -I miejsce na zawodach ROBO~motion 2015 w kategorii LineFollower Standard (Vmax= 2.70m/s, Vśr = 1.90 m/s) -I miejsce na zawodach Copernicus Robots Tournament 2015 w kategorii Linefollower -I miejsce na zawodach "Opolski Festiwal Robotów" w kategorii Balluf LineFollower -I miejsce na zawodach "Trójmiejski Turniej Robotów 2015" w kategorii Linefollower Standard -IV miejsce w turnieju ROBOXY 2015 w kategorii LineFollower
  3. Witam, chciałbym przedstawić wam jedną z moich ostatnich konstrukcji - robota wielozadaniowego. Prace nad robotem zacząłem około rok temu gdzie zaprojektowałem i wykonałem pierwszą jego "wersję". Przez następne 6 miesięcy stopniowo ją modernizowałem. W założeniach miała to być platforma czterokołowa wyposażona w manipulator, jednak stwierdziłem że trochę źle zaplanowałem kilka kwestii i robot zostanie już w aktualnym stanie a platformę z manipulatorem potraktuję jako osobną konstrukcję. W obecnym stanie robot pełni następujące funkcje: • bezkolizyjne poruszanie się, realizowane z pomocą dalmierza Sharp GP2Y0A21YKOF, na pewnym etapie używałem również ultradźwiękowego czujnika HC-SR04 ale nie wychodziło mi za bardzo łączenie dwóch pomiarów w programie i postanowiłem zostawić samego Sharpa. • radiowa komunikacja z pilotem sterowniczym • pomiar naświetlenia miejsca w jakim znajduje się robot i załączanie latarki • pomiar prędkości obrotowej dwóch przednich kół, za pomocą tarczy i transoptorów CNY70 (nie jest co prawda zbyt dokładny, ale jest) Krótki opis budowy robota : • Mikrokontroler główny to Atmega32 • Mikrokontroler nadajnika to Atmega16 • Zasilanie : Żelowy akumulator 12V , pojemność 2200 mAh , napięcie jest stabilizowane przez stabilizatory LM7805 oraz LM338 • Mostki H to scalone mostki L298 zabezpieczone diodami , jeden na tył i jeden na przód • LM339 jako komparator do 2 transoptorów CNY70 , pracujących jako enkodery • Napęd kół robota to 4 przerobione analogowe serwa CYS3600 • Serwo obracające czujnikiem Sharp to Tower Pro SG-90 • Serwo obracające latarką to Redox S90 • Moduł radiowej komunikacji to HM-R868S i HM-T868S • Wyświetlacze LCD 16x2 Mechanika Cała konstrukcja mechaniczna wykonana została z odpadów blachy aluminiowej o grubości 3mm. Podwozie , koła, mocowania serw, wsporniki i błotniki narysowane zostały w cadzie i wypalone laserem. Robot posiada lekko amortyzowane zawieszenie Amortyzator jest bardzo prostej budowy- w uchwycie serwomechanizmu wkręcone są dwie teflonowe tulejki które umożliwiają przesuwanie uchwytów po prowadnicach które wykonałem ze śrub M8x90 a na śrubach osadzone są sprężyny o średnicy 8mm które amortyzują przesuwający się uchwyt. Tarcie między tulejami a prowadnicami postarałem się wyeliminować poprzez zastosowanie smaru teflonowego. Możliwa jest regulacja długości rozstawu kół i wysokości zawieszenia. Pokrywa obudowy wykonana jest z przeźroczystej pleksi o grubości 4mm. Pokrywa miała służyć zamontowaniu na niej manipulatora . Aluminiowe błotniki stanowią ochronę razie upadku lub przewrócenia się robota oraz nadają konstrukcji trochę lepszy wygląd. Koła mają średnicę 120 mm i zostały wykonane z 3 sklejonych ze sobą blach aluminiowych o grubości 2mm. Jako oponkę zastosowałem zużyte paski rozrządu przyklejone Poxipolem. Koła zamontowane są do serw za pomocą orczyków. Elektronika Robot posiada kilka płytek modułowych wykonanych metodą termotransferu. Na każdej płytce zastosowałem złącza goldpin co umożliwia szybką zmianę podłączeń , modernizację lub wymianę płytek. Dzięki przeźroczystej pokrywie każda płytka jest dobrze widoczna i łatwo dzięki temu przedstawić komuś budowę robota. Jednym podoba się odsłonięta "kabelkologia" , inni jednak wolą gdy wnętrze robota jest zasłonięte, każdy ma swój gust . Wszystkie płytki rysowałem w programie Eagle. Zasilacz Jako osobną płytkę postanowiłem również wykonać sekcję zasilania. Użyłem dwóch stabilizatorów - do części elektronicznej LM7805 natomiast do zasilania napędów użyłem regulowanego stabilizatora LM338. Chłodzone są radiatorem i małym wentylatorkiem. Płyta główna Jest to płytka na której znajduję się główny mikroprocesor Atmega32 wraz z wyświetlaczem lcd. Na płytce umieszczone są również przyciski służące do zmiany parametrów jazdy, buzzer , złącze programatora oraz 3 diody sygnalizacyjne. Płytka posiada również 2 rzędy złącz goldpin zasilających. Płytki z mostkami H Jako że robot posiada 4 niezależnie napędzane koła użyłem dwóch podwójnych scalonych mostków L298. Zabezpieczyłem je diodami Schottky'ego 3A. W sumie standardowa konfiguracja, na wyjścia silników podłączyłem kondensatory 470uF. Płytka obsługująca enkodery Jako komparator analogowy zastosowałem LM339. Płytka posiada 4 gniazda do obsługi transoptorów. Ogólnie to pomiar za pomocą CNY70 i tarcz nie był zbyt dokładny, obecnie ta funkcja jest nieaktywna ale przynajmniej sporo się nauczyłem i wiem już co zmienić w nowej konstrukcji . Pilot sterowniczy Posiada wyświetlacz LCD 16x2 oraz mikroprocesor Atmega16. Do transmisji radiowej użyłem zestawu HM-R868S i HM-T868S . Transmisja nie jest co prawda zbyt dokładna, nie można nią przesyłać jakichś specjalnie dokładnych i ważnych danych ale do sterowania robotem, przesyłania wartości wypełnienia zestaw nadał się całkiem dobrze. Zasięg na jakim sprawdzałem działanie transmisji to około 120m (na osiedlu, ale między mną a robotem była otwarta przestrzeń). Dane wysyłam przez UART na prędkości 9600 bps. Pilot posiada również termometr , działający na czujniku LM35 podłączonym do przetwornika ADC. Konfigruacja podłączenia przycisków na pilocie jest możliwa dzięki złączom goldpin. Program Program w robocie jak i w pilocie sterowniczym jest napisany w Bascomie. Gdy zaczynałem pracę nad robotem potrafiłem programować tylko w tym języku, jednak zauważyłem wady i zalety tego języka i nastepna konstukcja napewno zaprogramowana będzie w języku C. Film : https://www.youtube.com/watch?v=aPf2Hxaa8Ck Wnioski Podsumowując , wiele rozwiązań wychodziło już podczas samych prac, modernizacji itp. więc nie wszystko pracuje tak jak powinno. Jest to w sumie moja pierwsza poważniejsza konstrukcja i dużo nauczyłem się przy jej budowie. Na obecnym etapie stwierdziłem że dalsze modernizację nie mają sensu i lepiej po prostu zacząć od nowa projektować nową platformę . Tym razem skupię się bardziej na projektowaniu mechaniki pod manipulator, lepszym napędzie, zastosowaniu kamery bezprzewodowej i analizie obrazu mniejszych płytkach i lepszej transmisji z robotem, chciałbym umożliwić sterowanie za pomocą aplikacji na Androidzie. Każda uwaga , krytyka i sugestia będzie mile widziana i przydatna przy projektowaniu następnej konstrukcji . Chciałbym również bardzo podziękować wszystkim którzy pomogli mi przy budowie robota, udostępnili materiały i narzędzia oraz służyli radą i krytyką Pozdrawiam
  4. Cześć! Jako że ostatnio na Forbocie jest opisywanych coraz mniej robotów biorących udział w zawodach postanowiłem opisać swojego robota nanosumo. Sam robot powstał już jakiś czas temu (ok 1,5 roku temu), ale do dzisiaj nieźle mu szło na zawodach i ogólnie jestem całkiem zadowolony z konstrukcji. Wyciągnąłem z niej wiele wniosków i mam nadzieję że kolejna będzie jeszcze lepsza Mechanika : Rama robocika zbudowana jest z malutkich kawałków laminatu, na których ściankach są umieszczone od środka zębatki. Wszystkie koła zebate jak i silniki pochodzą ze znanych 9 gramowych serw. Największym wyzwaniem było upchnięcie dwóch silników na sobie tak by nie podnosiły za mocno całej konstrukcji oraz były dobrze spasowane z zębatkami. Same silniki są przyklejone do siebie oraz do podstawy robota. Koła to przerobione nakrętki mosiężne, w tym momencie nie umiem powiedzieć skąd pochodziły. Wywierciłem w nich otworki i odlałem małe silikonowe oponki. Z przodu robota widoczny jest pług przymocowany na stałe jak i opadający. W sumie nie jestem pewien czy kiedykolwiek pomógł mi podważyć przeciwnika, a czasami sprawiał kłopot z postawieniem bez opadnięcia przed rozpoczęciem walki. Elektronika: Robotem steruje atmega8 taktowana 8mhz z zewnętrznego kwarcu. Ma wgrany bootloader, by oszczędzić pinów na płytce. Oczami są 4 czujniki, z czego jeden jest nieaktywny, gdyż nie miałem miejsca na moduł startowy i musiałem pozbyć się diod ir. Czujniki to, jak w każdej mojej konstrukcji, tsopy i diodki ir smd. Są naprawdę fajne pod względem zasięgu (który da się regulować), jednak zajmują sporo miejsca na pcb. Diodki są sterowane tranzystorami, jednym na parę diod. Mostek to malutki 24 pinowy qfn od freescale - MPC17531. Czujniki linii to ktiry0711s zamocowane na samym dole robota. Moduł startowy postanowiłem umieścić w całości w robocie. Chciałem mieć pewność, że moduł za każdym razem się poprawnie zaprogramuje, a następnie bez problemu wystartuje. Oprócz tego jest trochę drobnicy, nie ma regulatora, wszystko zasilane jest bezpośrednio z li-pola 140 mAh. Program: Zawsze staram się pisać jak najprostsze programy do walczących robotów i tak też było w tym przypadku. W sumie tradycyjnie "wyifowane" warunki na czujniki i poszczególne reakcje silników - nic szczególnego. Pora na osiągnięcia: - 1 miejsce Robomaticon 2015 - 1 miejsce TTR 2015 - 1 miejsce Roboxy 2015 - 2 miejsce Sumochallenge 2015 - 1 miejsce RoboticArena 2015 - 3 miejsce Robomaticon 2016 W tym roku nanoHaker2 dostał się także do ćwierćfinałów Robotchallenge 2016. Robot jest już stary i szykuję powoli nową konstrukcję, w nadziei że w końcu uda się zdobyć podium w Wiedniu I jeszcze na koniec parę zdjęć : Jak znajdę jakieś filmiki z udziałem nanoHakera wrzucę linki. Mam nadzieję, że się podobało i czekam na pytania Pozdrawiam, Piotrek
  5. Witam. Chciałbym zaprezentować konstrukcję która była tematem mojej pracy inżynierskiej. Przedmiotem pracy było opracowanie struktury autonomicznego wózka magazynowego. Główne cele jakie miała sprłniać konstrukcja to: - Ustalenie trajektorii ruchu wózka na podstawie lay-out’u wybranego fragmentu hali montażowej z naniesieniem linii dla czujników odbiciowych. - Zasada określenia pozycjonowania wózka we współrzędnych hali -odbiór za pomocą modułu Bluetooth informacji weryfikowanych za pomocą kodów RFID o zgodności ładunku, miejsca odbioru i dostarczenia. - Optymalizacja trasy bezkolizyjnego przejazdu z wysyłaniem danych za pomocą interfejsu Bluetooth do urządzenia kontrolującego i podglądu trasy. - Dobór zestawu czujników odpowiadających za bezpieczeństwo poruszania się po magazynie. Mając wcześniejsze doświadczenie z konstruowania podobnych konstrukcji opisane tutaj zdecydowałem się po raz kolejny na konstrukcję z laminatu . Konstrukcję wykonano jako robot mobilny klasy (2,0) – unicycle. Jako napęd zastosowane zostały podwójna przekładnia Tamiya 70168 w konfiguracji przełożenia 115:1 wraz z kołami Tamiya 70111. Podnośnik to konstrukcja własna zbudowana na łożyskach liniowych z napędów CD oraz pręcie gwintowanym (przekładnia liniowa) który poruszany jest silnikiem DC poprzez przekładnię zębatą. Jako czujniki położenia podnośnika zastosowane zostały dwie krańcówki mechaniczne. Robot porusza się po torze wyznaczonym przez czarną linię (linefolower), z naniesionymi znacznikami punktów załadunku/rozładunku przesyłki. do wykrywania lini zastosowana jest listwa pięciu czujników cny70, krańcowe czujniki wysunięte są o 3mm do przodu. Robot na podstawie znanego miejsca startu i wcześniej zaprogramowanej mapie layoutu, po podaniu danych przejazdu (punkt pobrania, punkt dostarczenia, numer ładunku), wyznacza optymalną trasę przejazdu. Poruszanie się po hali montażowej wiąże się z koniecznością wykrywania przeszkód znajdujących się na trasie przejazdu. do tego celu zastosowane są 2 sharp GP2Y0A41SK0F w przedniej części robota, które służą tez do pozycjonowania robota względem pobieranego ładunku. W tylnej częsci został umieszczony czujnik ultradźwiekowy HC-SR04 wykrywa przeszkody znajdujące sie za robotem głównie podczas nawrotów robota. Jednym z założeń projektu była identyfikacja pobranego ładunku i sprawdzenie jego zgodności, do tego celu został zastosowany gotowy moduł MP01611 Mera-Projec. Modół ten to czytnik RFID ze zintegrowaną anteną, współpracuje on etykietami UNIQUE 125 kHz zainstalowanymi w paletach. Komunikacje robota zapewnia moduł bluetooth HC-06 współpracujący z aplikacją na smartphonie. Elektronika składa się z kilku modułów. Wszystkie moduły połączone są z płytą główną. Sercem układu jest mikrokontroler Atmega32 zasilany przez stabilizator D24V6F5. Do sterowania silnikami kół zastosowany jest mostek TB6612FNG, a podnośnikiem steruje popularny L293d. Całośc zasilana jest ogniwem litowo-polimerowym o pojemności 800mAh i napięciu 7,4V (2S). Robot posiada uchylną klapę co zapewnia łatwy dostęp do wnętrza. Program został napisany w Bascomie co nie było łatwym tematem ze względu na brak wielu funkcji (np.tabela wielowymiarowa), co zmotywowało mnie teraz do nauki języka C. Schemat blokowy programu. Film przedstawiający robota podczas pracy wraz z zrzutem obrazu z aplikacji androidowej: Pozdrawiam.
  6. Witam, chciałbym przedstawić mojego robota, minisumo. Jest to mój pierwszy robot tej klasy ale mam nadzieję, że nie ostatni Nazywa się RaRis. Konstrukcje wykonałem na wakacjach. Podczas budowy opierałem się o ten artykuł. Bardzo chciałbym podziękować autorowi temu artykułu za kawał dobrej roboty ale też za pomoc na pw. W trakcie budowania robota nauczyłem się bardzo wielu rzeczy. Napisałem również swój pierwszy program w bascomie. Elektronika Elektronika jest dokładnie ta sama co artykule. Czyli: -Mikrokontroler atmega 8 -Dwa mostki L293D, -Dwa czujniki lini CNY70, -Sharp GP2Y0A41SK0F ( na razie jest jeden, ale w najbliższym czasie dodam drugi) -Zasilanie to pakiet li-pol Turnigy ( to z nim miałem najwięcej problemów, bo jak się później okazało zepsuła mi się ładowarka, przez co źle ładowało mi poprzedni akumulator ) Tutaj jest schemat: Mechanika -Dwa silniki pololu z przekładnią 30:1 -Mocowania wraz z śrubkami firmy pololu -Oraz oczywiście Koła tej samej firmy Obudowa Obudowa została wykonana z laminatu. Całość została pomalowana sprejem na czarno. Jej wymiary to 10x10cm i około 2-3cm wysokości. Cały robot waży około 270g. Nie jest to jakaś super przemyślany kształt, ponieważ miał on na początku wyglądać tak: Ale ostatecznie jest on prostokątny i ma inny kolor. Po prostu nie dałbym rady całej elektroniki tam upakować. Jest czarny, ponieważ ten kolor bardziej mi się podoba i jest mniej wykrywalny dla przeciwnika. Program Program jest nowy napisany przeze mnie w bascomie. Nie ma tam czegoś nadzwyczajnego, po prostu prosty program który każe robotowi jeździć po całym ringu w różne strony a gdy wykryje przeciwnika to go spycha. Tutaj dodaje jeszcze trochę zdjęć: I film: Podsumowując Ogólnie jestem bardzo zadowolony z mojej konstrukcji. Nie jest to robot który wygra zawody ale przynajmniej mogłem się czegoś nauczyć. O pieniądze wydane w robota (czyli około 350zł) też się nie martwię ponieważ w większości części użyje do następnej konstrukcji, np: silniki, koła, atmegę. Proszę również o waszą opinie, bardzo mile widziane komentarze
  7. Witajcie! Z okazji przejścia tych dwóch stareńkich robotów na emeryturę (oraz dlatego, że zaraz sesja i szukam zajęć zastępczych) postanowiłem je opisać na forum. W wakacje między I/II klasą LO (2013) popełniłem trzy roboty minisumo. Pierwszy nazywał się Swift i wyglądał tak: Niestety robot nie działał najlepiej ze względu na kilka dość poważnych problemów konstrukcyjnych więc został dawcą dla nowego pokolenia złomków. Ze względu na to, że Swift był dobrze wyposażony (7 czujników przeciwnika i 4 moduły napędowe) postanowiłem zbudować dwa gorzej wyposażone klony: Bong i Bang. Z założenia miało to ułatwić obiektywne porównywanie skuteczności algorytmów i w razie kłopotów z jednym robotem w trakcie zawodów drugi nadal zostawał w grze W dodatku w ekstremalnej sytuacji teoretycznie miało być możliwe przełożenie płyt głównych między maszynami. Raz zdarzyło mi się z tej możliwości skorzystać w czasie RA Chociaż szczerze mówiąc to nie wyszło mi to najlepiej bo do jednej z płyt był przymocowany tymczasowy ciężarek i przy ponownym ważeniu wyszło >500g i niestety musiałem poddać walkowerem walkę o III miejsce Przykładowy filmik z walki: Krótka specyfikacja techniczna robotów: - napęd: pololu HP 30:1 + felgi aluminiowe od użytkownika hungrydevil z odlanym ogumieniem silikonowym wedle własnego przepisu - zasilanie: li-po 7,4V 300mAh Dulasky, stabilizacja +5V na ldo - uC: ATmega644A - mostki H: TB6612FNG x 2 ze zmostkowanymi kanałami - czujniki przeciwnika: 4 x Sharp 40cm - czujniki linii: 4 x KTIR Roboty dodatkowo mogą zostać wyposażone w moduły rozszerzeń - miały wziąć udział w deblu ale konkurencja zniknęła równie szybko jak się pojawiła więc moduły nigdy nie powstały... Jak widać w elektronice nie ma absolutnie żadnej magii. Podobnie w sofcie. Są to dwa perfekcyjnie zwykłe minisumo. Osiągnęły raz IV i raz II miejsce na RA. Na tegorocznym ostatni żywy bliźniak uległ usterce i dostał taki łomot, że aż przykro mi było na to patrzeć. I żeby nikt nie mówił, że są tylko do ozdoby: Teraz odrobina info o konstrukcji: chassis jest wykonane z mosiężnej blachy o grubości 1mm oraz płytki głównej PCB, które razem tworzą coś w rodzaju pudełka na akumulator i moduł rozszerzenia. Rozwiązanie okazało się skuteczne ale na dłuższą metę dość naiwne bo po ok 2 latach łupania na zawodach konstrukcje były już lekko wypaczone. Połączenia miedzy mosiężnymi elementami były lutowane bądź śrubowane. Usunięcie akumulatora odbywa się poprzez podnoszoną na zawiasie i blokowaną magnesem neodymowym tylną klapkę. To też się w miarę sprawdziło ale nienawidziłem tego rozwiązania ponieważ podczas intensywnego testowania szybko mi się kończyła skóra na palcach Lemiesz jest pieczołowicie wypilniczkowany i wyfrezowany z mosiężnej blachy - ostrzony na brzytwę poprzez długotrwałe jeżdżenie robotem po drobnym papierze ściernym. (nie przepadałem za tą procedurą ) Kilka zrzutów z Inventora: Kilka słodkich zdjęć: I elektronika... Jest tak zwykła na ile to możliwe. Podzespoły są w SMT. Projekt powstał w Eagle. Mozaikę ścieżek przeniosłem przy pomocy papieru kredowego i laminatora na sterydach. Soldermaska została wykonana tajemną techniką robiącą użytek z lakierów do ceramiki firmy Pebeo, piekarnika spoży... przemysłowego oraz pędzelka i drobnego frezu. Schemat: PCB: Od kilku lat nie zbudowałem nowego minisumo chociaż zabierałem się do tego kilka razy między większymi projektami - głównie z sentymentu. Problem polega na tym, że w tej konkurencji od tak dawna nic się nie zmieniło, że stała się już zwyczajnie monotonna. Nostalgia za przepychającymi się kupami złomu i kabli jest brutalnie rozjeżdżana przez błyszczące w blasku fleszy żelazka na czujnikach Sharp, silniczkach Pololu i mostkach TB. Z kolegą postanowiliśmy zorganizować niewielki powiew świeżości i za jakiś czas pojawi się on na zawodach pod nazwą Jakul. Na wszystkie pytania chętnie odpowiem w komentarzach.
  8. Cześć tu drużyna "Robotyka KSP" . Zrobiliśmy mały upgrade naszego poprzedniego LF'a (Cristal T1000 ) nowa nazwa to Chomik T1000 Pomysł na przerobienie starego lf przyszedł nam około 2 tygodnie przed zawodami Robotic Arena więc była to walka z czasem. Lf'a udało stworzyć się na dzień przed zawodami z powodu problemów z płytką ktir. Właściwie problemy rozwiązaliśmy dopiero na zawodach. Silniki: Popularne 2x Silnik Pololu HP 10:1 Koła: Felgi wycięte z walka poylamidowego o średnicy 20mm. Wraz z oponami 30mm Opony: Odlane z sylikonu formierskiego o twardości 20sh Mocowania: Dystans do płytki czujników oraz mocowania silników zostały wydrukowane na drukarce 3D Elektronika Za zasilanie odpowiada pakiet li-po 220mAh Sterownik silników to L298N - w obudowie MULTIWATT15. Procesor atmega8 z kwarcem 16mhz. Do obniżenia napięć i stabilizacji napięcia służy 7805. Silniki zasilane bezpośrednio z li-po 6 czujników KTIR0711s podłączonych do adc. Waga: 120gram wraz z Li-Po 220mAh Oprogramowanie Program napisany w c++. Nie sprawdzany przed zawodami z powodu problemów z KTIR. Sprawdzony został dopiero na Robotic Arena pod koniec eliminacji przez co nie mieliśmy czasu na jego poprawę do wyższych prędkości. Płytki: Płytka główna została z naszego poprzedniego robota Cristal T1000. Płytkę z czujnikami zrobiliśmy nową. Płytki wykonane termo transferem. Projektując płytkę czujników pomyliliśmy dwa wyjścia KTIR w specyfikacji było inaczej niż w bibliotece Eagle. Przez co robiliśmy płytkę dwa razy. Dwa przejazdy na Robotic Arena 2015 (Nie najszybsze) : Zapraszamy na Fan page ! https://www.facebook.com/robotykaksp/ __________ Komentarz dodany przez: Treker Proszę dostosować wpis do regulaminu: Pierwsze 500 znaków opisu, powinno zawierać zwięzły opis robota oraz nie może zawierać żadnych zdjęć.
  9. Projekt „Picasso” jest dostępny na licencji Creative Commons Uznanie autorstwa 3.0 Polska. Pewne prawa zastrzeżone na rzecz Grzegorza Kolbucha, Adrian Dobosz. Robot powstał w ramach programu Akademia Orange, realizowanego przez Fundację Orange. Zezwala się na dowolne wykorzystanie treści - pod warunkiem zachowania niniejszej informacji, w tym informacji o stosowanej licencji, posiadaczach praw oraz o programie Akademia Orange. Treść licencji jest dostępna na stronie: http://creativecommons.org/licenses/by/3.0/pl/ 1. WPROWADZENIE „Picasso” jest zaawansowanym robotem, którego głównym zadaniem jest wykorzystanie trzech aerografów oraz własnej mobilności do stworzenia różnorodnych dzieł artystycznych. Dzięki zastosowaniu możliwości obecnej elektroniki, mechaniki i informatyki posiada możliwość autonomicznego poruszania się i tworzenia wzorów mieszając 3 podstawowe kolory farb. Dodatkowym atutem jest możliwość zdalnego sterowania nim. 2. ELEMENTY MECHANICZNE Cała konstrukcja robota opiera się na ramie aluminiowej, do której przymocowane zostały z frontu i góry płyty z poliwęglanu. Na tak solidnej konstrukcji umieszczono silniki z mocowaniami i przekładniami, butla na powietrze i cała część układu pneumatycznego wraz z aerografami. Masa konstrukcji to około 30 kg. 2.1. Mocowanie silników z przekładnią Rysunek nr 1. przedstawia mocowanie silników, widoczne są na nim: markowy silnik firmy Maxon o mocy 90W, dwa koła zębate z paskiem w roli przekładni zwiększającej moment obrotowy (przełożenie 2,5:1), oraz aluminiowe mocowanie tego układu. Rys. 1. Mocowanie silników z przekładnią – projekt 2.2. Koła Koła zostały tak dobrane, aby przenieść duży ciężar robota oraz, aby ich masa nie była zbyt duża. Z tego powodu wybrane zostały koła do wyczynowych modeli RC o średnicy 170 mm z felgą wykonaną z twardego tworzywa sztucznego. Opony są gumowe i bieżnikowane w celu zwiększenia przyczepności nawet na nierównym terenie. Wypełnione są specjalną wkładką piankową, która amortyzuje ugięcia opony. Rys. 2. Koło – projekt 3. SILNIKI Robot został wyposażony w cztery silniki DC firmy MAXON – światowego lidera w produkcji precyzyjnych napędów elektrycznych. Silniki te posiadają duży moment obrotowy i prędkość, a ich masa to ok. 0,5 kg. Mają bardzo dobry stosunek mocy (90W) do objętości dzięki zastosowaniu magnesów neodymowych i specjalnej technologii nawijania uzwojenia. Rys. 3. Silnik firmy MAXON napędzający robota 4. UKŁAD ZASILANIA Zasilanie układu napędowego jak i płytek elektronicznych odbywa się poprzez zastosowanie akumulatorów litowo-polimerowych. Są to ogniwa firmy Turnigy o napięciu 22,2 V i pojemności 3000 mAh (Rys. 4). Składa się ono z sześciu ogniw o standardowym napięciu 3,7 V połączonych szeregowo. Takie źródło prądu było niezbędne, ponieważ posiada ono bardzo duży prąd rozładowania. Jest to potrzebne, gdyż silniki przy gwałtownym rozruchu pobierają prąd do 40A każdy! Prąd chwilowy jaki można uzyskać z takiego ogniwa można obliczyć za pomocą parametrów podanych na każdym ogniwie – parametr „C” i pojemność. Dla tego akumulatora jest to odpowiednio 40C i 3000mAh co jest równe 3Ah. Maksymalny prąd chwilowy obliczamy ze wzoru nr 1: wzór nr 1. Do ich ładowania używa się specjalnej ładowarki mikroprocesorowej, do której oprócz podstawowych kabli ( „+” i „-”) podłącza się również złącze do balansowania napięcia na poszczególnych sześciu składowych ogniwach. 5. UKŁAD PNEUMATYKI Układ pneumatyki jest zbudowany z butli na sprzężone powietrze (Rys. 5), reduktora wysokiego ciśnienia (Rys. 6), reduktorze niskiego ciśnienia, wyspie zaworowej z czterema elektrozaworami oraz trzech aerografach do których będą dołączone 3 pojemniczki z kolorami RGB (ang. Red Green Blue, Czerwony Zielony Niebieski). Platformę wyposażono w pięć manometrów, czyli urządzeń wskazujących aktualne ciśnienie. Umiejscowione są: jeden na butli, jeden na przejściówce, dwa na reduktorze wysokiego ciśnienia oraz jeden na reduktorze niskiego ciśnienia. Pierwszy reduktor będzie zmniejszał ciśnienie z około 200 bar na 8 bar, a drugi (niskiego ciśnienia) z 8 bar na 4 bary, które będą ciśnieniem zasilającym aerografy. Elektrozawory będą sterowane z układu elektronicznego w postaci cyfrowej, czyli włączony/wyłączony. Zostały one umieszczone na wyspie zaworowej w celu redukcji przewodów powietrza. Rys. 5. Butla wysokiego ciśnienia Rys. 6. Reduktor wysokiego ciśnienia 6. SYSTEMY SENSORYCZNE Do prawidłowego działania robota niezbędne są czujniki. Jest to podstawa dzięki której robot może komunikować się z otoczeniem odbierając dane w postaci analogowej i przetwarzając na wartości cyfrowe z określoną rozdzielczością. W tym projekcie zastosowano szereg niezbędnych czujników do detekcji przemieszczania się robota (enkodery), do wykrywania przeszkód na swojej drodze (czujniki odbiciowe), wykrywania ruchu (czujniki PIR), czujniki temperatury oraz światła. Enkodery są to czujniki, które pozwalają na zliczanie impulsów poprzez zastosowanie dwóch transoptorów (czujników odbiciowych, które posiadają diodę nadawczą i element odbiorczy, np. fotodiodę) umieszczonych obok tarczy ze zrobionymi na obrzeżach szczelinami. Dzięki wykrywaniu tych szczelin przy obrocie jesteśmy w stanie zliczać ile wykrywamy tych impulsów w czasie zamieniając tą wartość na drogę kątową. Parametrem enkoderów jest ich rozdzielczość podawana w impulsach na obrót. W tym przypadku będziemy korzystać z bardzo dokładnych enkoderów posiadających 1024 impulsy na obrót – jest to model HEDS 5540 (Rys. 7). Rys. 7. Enkoder HEDS 5540 Dalmierz to czujnik podający odległość. Można je podzielić na czujniki analogowe i cyfrowe. W projekcie „Picasso” użyte będą 4 dalmierze analogowe firmy Sharp model GP2Y0A21YK0F (Rys. 8), które działają na zasadzie transoptora, czyli posiadają nadajnik i odbiornik podczerwieni. Sygnał zwrotny jest w postaci napięcia i na podstawie jego poziomu odczytuje się odległość między czujnikiem, a przeszkodą. Zasięg takich czujników to od 10 cm do 80 cm. Rys. 8. Projekt dalmierza PIR (ang. Passive Infra Red - pasywny czujnik podczerwieni) jest to czujnik do wykrywania ruchu wykorzystujący podczerwień, dzięki której potrafi stwierdzić zmianę temperatury. Skuteczna odległość wykrywania obiektów przez czujnik Panasonic AMN33111J to 5 metrów. Informacja o wykryciu przekazywana jest za pomocą sygnału cyfrowego. Wykrywanie Najczęściej tego rodzaju sensory używane są do systemów alarmowych. 7. UKŁAD ELEKTRONICZNY Schemat układu został zaprojektowany w programie Eagle 6.3.0 przy użyciu głównie elementów w technologii SMD (ang. Surface Mounted Devices), czyli do montażu powierzchniowego. Tego rodzaju elementy charakteryzują się lepszymi parametrami w porównaniu do elementów THT. Są często wykonane w nowszej technologii i zajmują mniej miejsca na płytce. Wadą jest niestety mniejsza zdolność odprowadzania ciepła. Układ elektroniczny opiera się o najbardziej rozbudowany mikrokontroler firmy Atmel z rodziny AVR - ATMEGA2560-16AU. Jest to 8-mio bitowy układ wyposażony 256 KB pamięci Flash i 100 pinów, które można wykorzystać do sterowania urządzeniami przy taktowaniu 16 MHz. To dzięki niemu można wgrać wcześniej napisany program w języku C++ i sprawić, aby robot nie tylko był zdalne sterowany, ale również potrafił sam coś namalować. Do sterowania silnikami użyte zostały specjalne mostki H zintegrowane w jednej obudowie. Są to układy VNH3SP30 firmy ST Microelectronics . Ich zaletami jest mała obudowa, zabezpieczenia przeciwzwarciowe, łatwość sterowania i duży prąd przewodzenia wynoszący 30A. Na jeden silnik zostały użyte 2 sztuki, aby dodatkowo zwiększyć prąd przewodzenia. Wadą tych układów jest możliwość sterownia tylko jednym silnikiem co w robotyce mobilnej zdarza się dosyć rzadko. 7.1. Schemat układu elektronicznego Schemat układu elektronicznego tworzą 3 oddzielne płytki tak jak wcześniej było wspomniane. Pierwszą z nich będzie płytka główna sterująca całym robotem począwszy od układu zasilania, a skończywszy na sterowaniu aerografami i diodami LED. Na rys. 9 przedstawiono schemat układu zasilania robota. Jest to newralgiczna część, ponieważ robot jest zasilany napięciem 24V z ogniwa litowo-polimerowego o dużej wydajności prądowej. W przypadku zwarcia, błędu przy podłączaniu mogłoby dojść do przepalenia ścieżek, uszkodzenia się układów scalonych lub co gorsza zapalenia się całego robota. Z tego powodu zastosowano szereg zabezpieczeń, a najważniejszym z nich jest zabezpieczenie przed odwrotną polaryzacją, czyli przed pomyłką zamiany potencjału dodatniego („plusa”) z ujemnym („minusa”). Taka pomyłka skutkowałaby ww. przypadkami. Dodatkowo w obwód wpięty został bezpiecznik, aby wyeliminować spalenie układu z powodu zwarcia. Rys. 9. Schemat układu elektronicznego robota Picasso Układ scalony IC8 na schemacie to stabilizator napięcia zbijający napięcie z 12V branych z wtyczki balansującej akumulatora 6-cio ogniwowego. Na wyjściu za stabilizatorem mamy już napięcie 5V, które służy do zasilnia mikrokontrolera oraz czujników. Dodatkowo wpięta jest równolegle dioda LED1 sygnalizująca obecność tego napięcia w obwodzie. Kondensatory w tym układzie pełnią rolę filtrującą zakłócenia, głównie powstałe w skutek dużego poboru prądu przez silniki. Przy mikrokontrolerze występuje kilka niezbędnych elementów bez których całość by nie funkcjonowała. Są nimi : rezystor podciągający linię „RESET” do 5V, złącze programowania z liniami +5V, GND, MOSI (ang. Master Output Slave Input), MISO (ang. Master Input Slave Output), SCK (linia taktująca komunikację), RESET. Tego typu programowanie odbywa się poprzez SPI (ang. Serial Peripheral Interface, pol. szeregowy interfejs urządzeń peryferyjnych) bardzo popularne dla rodziny AVR. Drugą możliwością jest programowanie poprzez JTAG (ang. Joint Test Action Group). Dodatkowo oprócz wymienionych elementów blisko mikrokontrolera znajduje się układ taktujący o maksymalnej częstotliwości 20 MHz. Oparty jest on o zewnętrzny rezonator kwarcowy i dwa kondensatory o małej pojemności 12-22pF. W tym przypadku jest to zintegrowany rezonator posiadający wewnątrz obudowy już dobrane kondensatory. W razie potrzeby można również skorzystać z wewnętrznego rezonatora jednak jest on mniej dokładny i posiada mniejszą częstotliwość pracy, która wynosi 8 MHz. Po prawej stronie schematu znajdują się wyprowadzenia gniazd do podpięcia mostków, czujników, elektrozaworów oraz modułu komunikacji RCR-V2 firmy Wobit. Moduł ten pracuje na częstotliwości 868 Mhz, a jego maksymalny zasięg w linii prostej na otwartej przestrzeni wynosi około 2 km. Zaletą modułu jest łatwość obsługi przez mikrokontroler (korzysta z linii TX i RX i jest „przezroczysty” dla dwóch podłączonych urządzeń). Oprócz tego posiada tryb „radio”, w którym możliwe jest wysyłanie komend do wszystkich urządzeń wyposażonych w takie same moduły. Moduł ten jest również w wersji USB, aby bezpośrednio podpiąć go do komputera i sterować, np. robotem przy pomocy laptopa. Do zdalnego sterowania robota „Picasso” został stworzony dedykowany pilot zdalnego sterowania również wyposażony w opisany powyżej moduł. Ciekawą funkcją jest wyświetlanie danych na pilocie przy pomocy alfanumerycznego wyświetlacza LCD (ang. Liquid Crystal Display). Jest to pomocne przy weryfikacji poprawnego zachowania się robota. Sam układ zawiera bliźniacze zabezpieczenia przed zwarciem i odwrotną polaryzacją. Dodatkowo na płytce znajdują się 4 duże przyciski do załączania elektrozaworów oraz 4 mikroprzełączniki do wyboru funkcji na LCD (Rys.10). Do sterowania prędkością i kierunkiem ruchu robota zaimplementowano joystick taki jak można spotkać w „padach” do konsol. Umożliwia on płynne sterowanie prędkością robota w dwóch osiach za pomocą dwóch wbudowanych potencjometrów. Trzy nóżki potencjometru podłączone są do +5V, GND i wejścia przetwornika analogowo-cyfrowego w mikrokontrolerze. Zamieniana jest wartość napięcia na liczbę i na tej podstawie weryfikowane jest wychylenie joysticka. W domyślnym położeniu odczyt z obu potencjometrów bliski jest połowie napięcia zasilania, czyli około 2,5V. W jedną stronę wychylając joystick wartość napięcia rośnie, a w drugą maleje dla jednej osi. Na tej podstawie generowane jest wypełnienie PWM (ang. Pluse Width Modulation) sterujące prędkością silników przesyłane drogą radiową. Każdy z 4 silników może być sterowany osobno, co daje większe możliwości manewrów. Rys. 10. Schemat elektroniczny pilota zdalnego sterowania Płytki została wykonana metodą termotransferową schematy ścieżek płytek (Rys. 11 - 14). Rys. 11. Widok ścieżek dla płytki sterującej robotem Rys. 12. Widok ścieżek płytki pilota Rys. 13. Widok od strony „TOP” płytki sterownika silnika Rys. 14. Widok od strony „BOTTOM” płytki sterownika silnika Płytka sterownika jako jedyna została wykonana na płytce dwuwarstwowej ze względu na potrzebę dobrego odprowadzania ciepła od spodu mostka (większe pola lutownicze + przelotki) oraz ze względu na minimalizację rozmiarów. Rys. 13 przestawia widok od strony elementów smd –„TOP”, zaś rys. 14 stronę „BOTTOM”. 8. MONTAŻ KONSTRUKCJI Podstawą całego robota jest blacha aluminiowa o grubości 4 mm i wymiarach zewnętrznych 800 x 800 mm z wycięciami na koła i aerografy widoczne na rys. 15. Na tej podstawie zostały zamontowane podpory z łożyskami na dystansach z krążków. W podporach umieszczono wał o średnicy 12 mm, a na nim duże koło zębate do przeniesienia napędu z silnika Maxon. Rys. 15. Zaprojektowana blacha aluminiowa z wycięciami Dla zakrycia wrażliwej części elektronicznej i butli wysokiego ciśnienia została zrobiona obudowa z aluminiowej blachy o grubości 1 mm. W celu jej usztywnienia została połączona aluminiowymi kątownikami i znitowana. Dodatkowo, aby widać było przednią część z aerografami dodano przód z poliwęglanu również pełniącego rolę obudowy. Trzy aerografy zostały zamontowane z przodu przy półkolistym wycięciu co 90˚, aby były dobrze widoczne w trakcie malowania (Rys.16) oraz reduktor niskiego ciśnienia z manometrem i wyspą zaworową. Po niewidocznej tylnej części robota (ukrytej pod obudową) znajduje się butla z reduktorem wysokiego ciśnienia, płytki elektroniczne oraz wyprowadzenia do włączników zasilania i diod LED wraz z buzzerem. Rys. 16. Poszczególne elementy zamontowane w robocie : 1- aerografy, 2- silniki z przekładnią i enkoderami, 3- wyspa zaworowa z reduktorem niskiego ciśnienia, 4- podpory łożysk z dużą zębatką, 5- butla z reduktorem wysokiego ciśnienia, 6- płytki elektroniczne, 7 – włączniki zasilania i diody sygnalizacyjne z buzzerem 9. EFEKT KOŃCOWY
  10. Chciałbym przedstawić swoją konstrukcję jaką jest czworonożny robot kroczący - EDWARD Jest to mój pierwszy robot, a przy okazji pierwsza poważna konstrukcja powstała od zera: od projektu mechaniki wykonanego w Inventorze, przez zaprojektowanie i wykonanie płytki PCB po napisanie programu w C++. Przed przystąpieniem do projektu ustaliłem następujące założenia, które miał spełniać robot: - chód statycznie stabilny - autonomiczny - serwa modelarskie w roli napędów - konstrukcja z pleksi - zasilanie z LiPola 1.Konstrukcja mechaniczna Tak jak pisałem na początku, robot został zaprojektowany w programie Autodesk Inventor. Całość składa się z wycinanych laserem elementów z pleksi łączonych za pomocą śrub, a w niektórych miejscach również kleju do tworzyw sztucznych. W korpusie robota przewidziane jest miejsce na akumulator LiPol. W roli napędów zostały wykorzystane 4 serwa TowerPro SG-5010 (do poruszania całą nogą w płaszczyźnie równoległej do korpusu robota) oraz 8 TowerPro MG-995. Każda noga wyposażona jest w czujnik krańcowy wykorzystywany do detekcji podłoża. Szczegóły widoczne na poniższych rysunkach. (1- wałek gwintowany, 2 - tulejka, 3 - płytki mocujące tulejkę, 4 - nakrętka, 5 - czujnik krańcowy) 2.Elektronika Zasilanie Robot zasilany jest akumulatorem litowo-polimerowym. Pakiet zasilający złożony jest z dwóch ogniw połączonych szeregowo, dzięki czemu napięcie znamionowe osiąga wartość 7,4 V. Pojemność pakietu wynosi 2650 mAh. Poniżej widoczny schemat zasilania. Napięcie uzyskane z przetwornicy impulsowej UBEC podawane jest na serwa. Przy 6V uzyskują one swój maksymalny moment. Przetwornica wyposażona jest w pasek LED informujący o stanie rozładowania akumulatora. Dalszym obniżeniem napięcia do wartości tolerowanych przez mikrokontroler oraz czujniki odległości "zajmuje się" się popularny stabilizator liniowy L7805. Mikrokontroler Układ sterowania robota został oparty na mikrokontrolerze ATmega16A. Do taktowania procesora użyty został zewnętrzny rezonator kwarcowy 16 MHz. Czujniki odległości Robot wyposażony jest w 3 czujniki ultradźwiękowe HC - SR04. Pomiar odległości odbywa się za pomocą fali dźwiękowej o częstotliwości 40 kHz. Zakres pomiarowy mieści się w przedziale 2 – 200 cm. Sterownik serw W roli sterownika serwonapędów pracuje 12-kanałowy układ Pololu Mini Maestro. Komunikacja z mikrokontrolerem zrealizowana jest za pomocą interfejsu szeregowego USART. Układ posiada również możliwość obsługi za pomocą aplikacji komputerowej poprzez przewód mini USB, co było wykorzystywane do przeprowadzania różnego rodzaju testów oraz konfiguracji takich parametrów jak prędkość i skrajne położenia wykorzystywanych serwomechanizmów. Płytka PCB Płytka została zaprojektowana w programie EAGLE i wykonana metodą termotransferu (czyt. żelazkiem). Ma kształt kwadratu o boku 11 cm. Duży rozmiar płytki pozwolił na swobodne rozmieszczenie wszystkich elementów, których zresztą nie ma szczególnie wiele. 3 gniazda goldpin w pobliżu zielonych ledów służą do umieszczenie w nich czujników odległości, natomiast wspomniane diody sygnalizują wykrycie przeszkody przez dany czujnik. 3.Oprogramowanie Program sterujący został napisany w języku C++ z wykorzystaniem środowiska programistycznego AVR Studio. Sprowadza się on do obsługi czujników odległości, diod oraz komunikacji ze sterownikiem serw. Schemat blokowy programu widoczny poniżej. Pierwszym zadaniem programu wykonywanym po uruchomieniu jest inicjalizacja poszczególnych peryferii wykorzystywanych w dalszej części programu: modułu USART, timera oraz zewnętrznych przerwań. W tym miejscu programu konfigurowane są również rejestry kierunku danych w celu ustawienia odpowiednich wyprowadzeń mikrokontrolera jako wejście lub wyjście. Dalej następuje ustawienie serwonapędów tak, żeby kończyny robota osiągnęły pozycję wyjściową, umożliwiającą wykonanie pierwszego kroku. Po omówionych czynnościach wstępnych następuje faza właściwa chodu. Pierwszą czynnością jest pomiar odległości za pomocą czujnika umiejscowionego na przodzie korpusu robota. Dalsze działanie uzależnione jest od uzyskanego sygnału zwrotnego. W przypadku wykrycia przeszkody ruch w założonym kierunku jest niemożliwy. Z wykorzystaniem dwóch bocznych czujników odległości sprawdzane jest istnienie przeszkód po bokach robota. Jeśli zostanie wykryta przeszkoda po jednej stronie, robot obraca się w kierunku przeciwnym. Sygnały informujące o istnieniu przeszkód po obu stronach powodują wykonanie obrotu o 180 stopni. Natomiast w ostatnim możliwym przypadku, kiedy żaden z czujników nie informuje o wykryciu przeszkód, następuje obrót w prawo. Brak ograniczeń uniemożliwiających ruch do przodu skutkuje wykonaniem jednej sekwencji przestawień nóg. W tym przypadku boczne czujniki odległości nie są wykorzystywane. Algorytmem chodu realizowanym przez omawianego robota kroczącego jest czteronożne pełzanie. Kolejność przestawień nóg jest następująca: lewa przednia → prawa tylna → prawa przednia → lewa tylna Każdy krok zakończony jest sygnałem z czujnika krańcowego informującym o osiągnieciu podłoża prze stopę robota. Dzięki temu możliwe jest wykrycie dużej zmiany wysokości w przestrzeni znajdującej się przed robotem i ominięcie niemożliwych do przejścia uskoków czy na przykład schodów. W momencie wykrycia takiego ograniczenia następuje zmiana kierunku ruchu podobnie jak w przypadku wykrycia przeszkody przez czujniki odległości. 4.Podsumowanie EWDARD na pewno nie jest szczytem osiągnięć inżynierskich, ale jako, że jest to mój pierwszy robot, jestem z niego w miarę zadowolony. W zasadzie spełnia wszystkie wymagane założenia. Już w trakcie projektowania uznałem, że nie chcę zbytnio komplikować projektu natomiast w przyszłości nic nie stoi na przeszkodzie temu, żeby przeprojektować elektronikę wyposażając robota w żyroskop oraz akcelerometr oraz umożliwić jego sterowanie, np. poprzez moduł radiowy. Mam nadzieję, że opisałem wszystkie ważniejsze rzeczy. Proszę o wyrozumiałość, jako że jest to mój pierwszy post tutaj
  11. Anusiak: Robot stworzony w większości z aluminium, metalowe przekładnie, widły wykonane z linijek metalowych blokowane dźwigniami poruszanymi serwem- otwierają się za pomocą sprężyn. Program najprostszy z możliwych napisany w Bascomie. Koła toczone z rury stalowej, oklejone gumą. Elektronika: uC- ATMEGA16 2x SHARP 150cm 2x SHARP 80cm 4x TRCT5000 sterowanie silników-przekaźniki Mechanika: silniki 4x GRAUPNER SPEED 480 RACE 7,2V przekładnie planetarne z wkrętarek serwo Zasilanie: pakiet 1s 3000mAh pakiet 3s 500mAh Kilka fotek:
  12. Projekt wykonywany był na Politechnice Gdańskiej na wydziale Elektrotechniki i Automatyki jako temat inżynierskiej pracy dyplomowej. Tematem pracy było zaprojektowanie, wykonanie i uruchomienie sterowanego ramienia robota poruszanego za pomoca silników krokowych i sterowanego za pomoca mikroprocesora ATmega128. Ramię robota wykonane zostało z aluminium. Jedynie jedna z osi napędowych zrobiona była z pręta stalowego. Do poruszania ramieniem wykorzystane zostały silniki krokowe unipolarne i bipolarne. Do sterowania silnikami zaprojektowano i wykonano dedykowany sterownik. Przeniesienie napędu odbywa się za pomocą stalowych kół zębatych, aluminiowych kół zębatych i współpracujących z nimi pasków zębatych. Wszystkie osie są obustronnie łożyskowane za pomocą łożysk kulkowych. Do sterowania silnikami wykorzystano układ ULN2803 (dla silników unipolarnych) i L293D (dla silników bipolarnych). Oba układy sterowane są bezpośrednio przez procesor ATmega128. Do procesora podłączone są również czujniki krańcowe ograniczające zakres ruchu ramienia. Całość zasilana jest z transformatora toroidalnego 230V/18V. Wykonany został również zasilacz z 6 niezależnymi stopniami wyjściowymi regulowanymi w zakresie 12-24V (1,5A) dodatkowo zamontowano zasilacz 5V (1A) do zasilania procesora i układów logicznych. Całość sterowana jest za pomocą pad'a do gier komputerowych. Wykorzystano joysticki potencjometryczne go intuicyjnego i łatwego sterowania poszczególnymi ramionami. Poniżej zdjęcia przedstawiające wykonane urządzenie wizualizacje oraz film przestawiający działanie ramienia robota. Dzięki pomocy promotora Pana dr. inż. Jarosława Guzińskiego udało się osiągnąć zamierzone cele za co chciałem serdecznie podziękować. Film z pracy urządzenia:
  13. Zbudowałem robotyczne auto. Części: - arduino mega2560 - Dwa serwa Standardowe przerobione tgy-s4505b - Dwa serwa mini(jedno skręca,drugie porusza czujnikiem) - Czujnik ultradźwiękowy - GY-271 - cztery koła 60mm - Baterie AAx4 Akumulatorki Samochód ma czujnik tak jak w moim skanerze obracającym się i skanującym otoczenie(tylko jedna warstwa). plany: A tu poukładane element w rzut pionowy: Kompas GY-271(do orientacji kierunku): Zdjęcia przyklejonych wydruków: W trakcie wycinania: Wycięte: Zdjęcia: I jego waga to 462.8g siła odpychająca od podłoża to 32N. Prawdopodobny czas jazdy około godziny. Worklog: https://www.forbot.pl/forum/topics53/robot-na-bazie-samochodu-vt10283.htm Filmiki:
  14. Witam ponownie Chciałbym przedstawić własnej konstrukcji manipulator, który ze względu na kinową premierę nosi nazwę "Terminator_Hand". Robot posiada funkcję sterowania ręcznego oraz gotową funkcję "idź,złap-przenieś-upuść". Układ składa się z: - Atmega644P 16MHz, - 3x serwo TowerPro SG-5010 standard, 50Hz, - 1x serwo TowerPro SG-92 micro, 50Hz, - przerobiony ATX PowerSupply 420W z użyciem wszystkich wiązek 3,3V(16A); 5V(16A); 12V(15A), PS-ON zwarte przez włącznik I/0, - stabilizator liniowy 7805 pod wiązką 12V, - klawiatura złożona z 13 przycisków typu microswitch. Zasilanie układu: 1. 3,3V - Zasilanie diod sygnalizacyjnych pojawienie się napięcia w układzie. Funkcja bezpieczeństwa. 2. 5V - Zasilanie serwomechanizmów. Łączny pobór prądu przez wszystkie 4 silniki wynosi max. 3A. Zasilanie filtrowane dla każdego silnika po 100nF. 3. 12V - Zasilanie układu logicznego. Napięcie zostało obniżone do 5V(1A) po użyciu stabilizatora liniowego 7805 z parą kondensatorów 100nF. Układ logiczny: 1. Zasilanie filtrowane przy pinach VCC-GND i AVCC-GND przez pary kondensatorów 3,3uF(elektrolit) i 100nF(ceramik). 2. RST podciągnięte do VCC przez rezystor 10K. 3. Wyjścia MISO, MOSI, SCK, RST posiadają stałą możliwość korzystania z programatora. 4. Nieużywane piny zaprogramowane jako wejście ze stanem wysokim dla wytłumienia zakłóceń. Oprogramowanie: 1. Tryb FastPWM korzystający z dwóch rejestrów kontrolnych TCCR1A/B. 2. Sterownik działa programowo, cały kod wykonuje się przerwaniu. Zastosowano wektor przerwania TIMER_OVF_VECT. 3. Całość wykonano w języku C. Wykonany został na zapotrzebowanie koła naukowego PO jako praca dyplomowa. Jest to moja pierwsza taka konstrukcja, w przyszłej fazie rozwoju robot będzie grać w kółko/krzyżyk, warcaby, jeśli starczy czasu i sił, to może i szachy. Konstrukcja może nie jest zbyt skomplikowana, lecz jest podwaliną do ciągłego rozwoju. Robot powstał dzięki ogromnej pomocy, którą otrzymałem, m.in, na tym forum. Z tego powodu, jeśli któryś z użytkowników zechce zbudować podobnego robota, chętnie udostępnię cały kod oraz pomogę w problemach, przez które prawie wyłysiałem Tymczasem, chciałbym was zapytać o wasze uwagi dotyczące tego projektu. Wszelka krytyka mile widziana Film: Zdjęcia:
  15. Witam! Chciałbym przedstawić swoje „dzieło” - robota klasy linefollower. W końcu siadłem i opisałem go. Bocik zwie się Typhoon, pomimo że nie rozwija jakichś zabójczych prędkości, choć na początku wydawało mi się, że jeździ w miarę szybko . Głównym założeniem było to, że robot miał działać i wykonywać swoje zadanie w miarę możliwości bezawaryjnie – udało się to spełnić Innym założeniem było to, aby wystąpić z robotem na zawodach Roboxy 2013. Od pomysłu do pierwszej jazdy minęło trochę ponad 20 dni. Uważam ten czas za błyskawiczny, jak na moje standardy Konstrukcje, które mnie zainspirowały przy tworzeniu to: Tsubame użytkownika Sabre Silver Shaft użytkownika Naelektryzowany Konstrukcja Dość standardowa, składa się z dwóch płytek – płytki głównej i płytki z czujnikami. Obie dwustronne, wykonane metodą termotransferu. Przód robota opiera się na dwóch małych kawałkach drewna przyklejonych do płytki z czujnikami. Robot jest napędzany dwoma silnikami Pololu HP z przekładnią 30:1, które są przymocowane za pomocą mocowań samoróbek, wykonanych z laminatu. Koła zostały wytoczone z ternamidu, oponki zostały wykonane z silikonu formierskiego. Koła z oponami mają średnicę 30mm, a ich szerokość to 18mm Wymiary: Długość - 11cm Szerokość - 10cm Masa z akumulatorem - 140g Masa bez akumulatora - 100g Elektronika Większość elementów jest montowana powierzchniowo. Mózgiem robota jest mikrokontroler ATmega16A, taktowany zewnętrznym kwarcem 16MHz. Posiada 8 czujników linii Ktir0711s oraz 1 czujnik przeszkód Sharp GP2Y0D810Z0F, o zasięgu 10cm. Silniki są sterowane za pomocą mostka H tb6612fng. Do komunikacji z użytkownikiem robot posiada 2 przyciski i 4 diody LED. Posiada również odbiornik podczerwieni TSOP, który dodałem podczas projektowania jako „może się przyda”, jednak nie wykorzystałem go do tej pory. Zasilanie Robot wozi na sobie akumulator Li-Pol Redox 500mAh 7,4V. Starcza on na dość długo. Silniki są zasilane z przetwornicy ST1S10PHR, ustawionej na 6V, zaś część logiczna zasilana jest ze stabilizatora 5V. Program Został napisany w języku C. Jest to prosty algorytm PD. Jeździ w miarę sensownie do wypełnienia PWM 180/255. Zdjęcia: Czujniki Mocowanie silników Całość Filmiki: Omijanie przeszkód. Stary algorytm, trochę wypada na zakrętach. Sukcesy? Typhoon na swoich debiutanckich zawodach – Roboxy 2013 zajął 3 miejsce. Należy tu jednak wspomnieć, że wszystkich robotów było 4 Nie mniej jednak i tak byłem zadowolony, że nie zajął ostatniego miejsca Podsumowując Robot sprawił mi wiele radości z projektowania, składania, programowania. Trochę się przy nim nauczyłem.
  16. Witam wszystkich , po raz trzeci, pragne przedstawić kolejnego robota. Wlasciwie to moja perelka, ktora miala sprawic, ze zbuduje robota swiezszego, odmienionego, szybszego i niekonwencjonalnego. Tak zrodzila sie kobieta wsrod moich linefollowerow- ognista i drapiezna Le'Mua. Ze wzgledu, ze kazda konstrukcje buduje dla kogos, tym razem dedykuje go mojej super dziewczynie . «Zalozenia projektowe» Jak skonczylaby sie praca, gyby nie ten wazny wyznacznik. Uprzednio zbudowalem juz kilka konstrukcji, tym razem chcialem zrobic cos innego od moich poprzednich dzieciaczkow . Nie bede sie rozpisywal w tym podpunkcie, po prostu ponizej podam zalozenia, ktore chcialem osiagnac. •Lekka stabilna, konstrukcja, pozbawiona, zbednych "bajerow"; •Jak najmniejsza bezwladnosc(silniki jak najblizej srodka, lekka listwa); •Wykorzystanie wlokna weglowego podczas budowy; •Korpus robota, wydrukowany w oparciu o technologie druku 3D; •Felgi i opony charakteryzujace sie dobrymi wlasciwosciami trakcyjnymi; •Ulepszony model pilota START/STOP; «Modeluj, modeluj, trac godziny, a potem zamiast naprawiania, poswiedz czas dla rodziny...- Projekt w Inventorze.» Rzadko mi sie zdarza, aby projekt, ktory tworze, nie zostal rozpoczety w srodowisku do projektowania i wizualizacji w 3D. Tradycyjnie, w moim przypadku jest to AutoCAD Inventor, dzieki ktoremu jestem w stanie zaoszczedzic czas, na dopasowanie i polaczenie ze soba wszystkich elementow w calosc. Tym razem takie projektowanie bylo takze podyktowane takze tym, ze korpus robota mial zostac w pozniejszym czasie wydrukowany na drukarce 3D. Do tego zalezalo mi na dobrym dopasowaniu ze soba elementow(lozysko-wal-silnik). Ponizej zrzut z programu. Zrzut ekranu z programu AutoCAD Inventor. «Czujniki zwesza wszystko» Tym razem mala zmiana! Chcac uzyskac jak najlzejsza wage, musialem zdecydowac sie na ograniczona liczbe czujnikow. Zdecydowalem sie uzyc 8 czujnikow. Dlazego tak? Liczba 8 symbolizuje trwalosc i wykonanie powierzonego zadania , a tak powaznie, to wykorzystujac mikrokontroler ATmega328, jestem swiadomy, ze najszybciej beda wykonywane operacje wlasnie na jednym bajcie, zatem takie czujniki moge zdeklarowac w jednym rejestrze. Co do elementow, nowosci tutaj nie ma, znane i lubiane KTIR, ktore cechuja sie bardzo duzym "podobiestwiem" produkcyjnym, tj. parametry kazdego z sensorow, sa niemal identyczne. Tutaj niestety mala chlapa, bowiem prototyp stworzylem na laminacie w domowym zaciszu, wiec sama linijka z czujnikami wazy duzo za duzo, ale znalazlem pomysl na szybkie odchudzenie, szlifujac warstwe laminatu(plytka jest jednostronna). Solder maska wykonana z markera wodoodpornego. Ponizej zrzut. Linijka czujnikow. «Plyta glowna.» Poczatkowo, zaprojektowalem plytke sam, lecz niestety wewnetrzne pull'upy procesora podlaczaone do kolektorow czujnikow posiadaja zbyt duzo wartosc i sensory nie dzialaly tak jak powinny. Zdecydowalem uzyc sie mini plytki Orangutan Baby, w sklad ktorej wchodzil mostek H, TB6612, ATmega328, kwarc 20Mhz i "dorobic" do niej plytke z rezystorami pull'up, zlaczem ffc, padami do komunikacji z odbiornikiem RF. Projekt plytki w programie Eagle. «Opony i Felgi.» Aby robot byl wstanie osiagnac wysokie predkosci, nieodzownym elementem sa odpowiednie opony. Tutaj odrazu moge powiedziec jak diametralna roznica jest miedzy kolami pololu, a np oponkami Mini-z. Za przyklad podam, ze moj robot z turbina zwiekszyl swoja predkosc o 20%. Felgi wydrukowalem na drukarce 3D, jej wymiary to 21x11(srednica, szerokosc), na felge ciasno wchodzi opono od Mini-z, o trwalosci 20°. Tutaj zamieszcze "palenie, gumy/drift". Felgi x2. «Korpus.» Chcialem, aby konstrukcja byla dosc zwarta, wydrukowalem ja na drukarce 3D, dzieki czemu 'szaszi' robota mialo bardzo mala wage. Aby robot byl szybki zwrotny, postanowilem silniki skupic w centrum robota. Klopotem moglo okazac sie przeniesienie napedu na kola, rozwiazalem to, poprzez przedluzenie walu silnika pretem z wlukna weglowego(pret i tulejka). Minusem takiego rozwiazania bylo zwiekszenie bezwadnosci rotora silnika, lecz w porownaniu ze zmniejszeniem bezwaldnosci calego robota nie ma o czym mowic. Robot zyskal dynamike, dzieki temu rozwiazaniu. Korpus robota. «Akumulator.» Waga, waga, i jeszcze raz waga, szukalem jak najlzejszego pakietu Li-Po 2S, udalo sie wyszukac takie o pojemnosci 150mAh,napieciu znamionowym 7.4v, wydajnosci 20C i wadze 7g. Pakiet jest przyklejony na rzep techniczny do tylniej sciany robota. «Ahmed odpalaj- modul zdalnego startu» Kazdy zna to uczucie, kiedy robot wypada z toru, a my nie jestesmy w stanie go wylaczyc i powstrzymac od urazow . Dlatego ulepszylem wczesniejsze rozwiazanie, pilot-nadajnik RF317Mhz, Atmega8, USART. Calosc dziala tak, ze po wscisnieciu przycisku w pilocie, nadajnik wysyla parenascie razy komende startu- '3'. Robot aby wystartowal potrzebuje zebrac 10 takich komend w przeciagu ~200ms, jesli sie uda-START, jesli nie czeka na kolejny raz. Po wcisnieciu przycisku na pilocie powtornie, nadajnik wysyla sygnal Stop-'1'(jeden przycisk, takie TOGGLE BIT) i calosc dziala adekwatnie do startu. Obudowa pilota zostala zbudowana z laminatu fr3 oraz plexi . Pilot zdalnego startu. Film z Zawodow w Wideniu na RObot Challenge 2015 WIeden nie okazal sie udany , mialem problemy z silnikami, dlatego robot jezdzil znacznie wolniej niz normalnie Serdecznie przepraszam, za brak polskich znakow, niestety jest to podyktowane anglojezyczna wersja systemu Linux. Zachecam do glosowania , Pozdrawiam, MacGyver
  17. Witam, chciałbym zaprezentować manipulatora mojej konstrukcji. Głównymi założeniami projektu były: - Zbudowanie manipulatora o 6 stopniach swobody, - minimalne rozmiary z zachowaniem jak największej funkcjonalności oraz podobieństw do tych pracujących w przemyśle, - zachowanie szeroko pojętej estetyki. Na sam początek przeprowadziłem parę prób co do sterowania silnikami dc (bo takie planowałem użyć (cena)). Następnie zabrałem się za rysowanie modelu CAD robota, który powstał w programie Catia V5. Dodatkowo przeprowadziłem symulację ruchów manipulatora, co zapobiegło kilku błędom. Jako materiały do budowy brałem pod uwagę PMMA, stal oraz aluminium. Są one stosunkowo łatwe w obróbce i ogólno dostępne. Ważnym kryterium przy projektowaniu było zapewnienia odpowiedniej sztywności całej konstrukcji oraz fakt że w czasie projektowania i budowania nie miałem dostępu do frezarki/drukarki 3D, przez co całość musiała być tak zaprojektowana abym był w stanie wykonać wszystkie części samodzielnie. Robot jest łożyskowany w osiach 1-4. Końcowo ze stali wykonane są osie obrotowe 1-2, 2-3, 3-4. Z aluminium platforma obrotowa, mocowanie ramienia i kilka mniejszych części. Elementy z PMMA to większość konstrukcji głównie z płyt 2 i 4 mm wycinane na waterjet'cie. Kształtowanie polegało na podgrzewaniu hot air’em, następnie nadawaniu kształtu na kancie biurka. O samym "procesie" wytwarzania części mógłbym dużo pisać bo praktycznie wszystko robiłem samodzielnie w mniej lub bardziej elegancki sposób, dlatego najlepiej będzie odpowiadać na Wasze pytania (jeśli będą). Sam chwytak powstał trochę później, głównie dlatego że nie był niezbędny do funkcjonowania manipulatora a trzeba było ciąć koszty. Model chwytaka też powstał w Cati (razem z symulacją ruchu) i w tym przypadku został on wydrukowany z racji bardzo małych kształtów. Problematyczne okazało się znalezienie odpowiednio małego napędu, przekładni, łożysk. W środku znajdują się dwa przyciski krańcowe, a sterowanie jest siłowe. Za ruch ramion odpowiadają silniki DC z przekładniami. Silniki osi 1 -3 pochodzą z rozmontowanych drukarek, a przekładnie do nich otrzymałem z demontażu serw modelarskich. W osiach 4-6 zamontowane są silniki z dedykowaną przekładnią. Jako sprzężenie zwrotne wykorzystałem enkodery optyczne które też pochodzą z drukarek. Rozdzielczość dla każdej z osi wynosi >=0.1. Pracę silników kontrolują regulatory PID. Nad pracą robota czuwa ATxmega 128A1. Początkowo w ramach testów układ powstawał na płytce uniwersalnej. Ostatecznie płytkę PCB zaprojektowałem w AD13 w ramach pracy przejściowej. Może nie będę rozpisywał się za bardzo nad elektroniką w załącznikach jest schemat. Elektronika zasilana jest z 12 VDC w środku znajdują się 2 przetwornice na 3,3V oraz 5V (na schemacie sa LM317). Kod napisany w środowisku eclipse w C. Pisanie oprogramowania było najbardziej czasochłoną czynnością. Standardowo DMA, ADC, PWM, WDT, USART, PLL, Timery. Całość zamknięta jest w metalowej obudowie gdzie na górnej części umieszczony jest grzybek, wyświetlacz, 4 przyciski, oraz 3 diody. Na przednim panelu jest złącze DB15 służy do programowania, oraz podłączania dodatkowych urządzeń (wyprowadzono z niego kilka pinów uC i wszystkie napięcia). Następnie mamy złącze zasilania 12V DC, złącze usb służące do podłączenia do PC, bezpiecznik oraz włącznik zasilania. Po przeciwnej stornie znajdują się złącza do podłączenia manipulatora. Przez robota przeprowadzonych zostało 38 przewodów z czego 34 są używane reszta to nadmiar. Od spodu sterownika znajduje się wentylator. Obecnie mamy 3 możliwości kontrolowania manipulatora. - Poprzez PC (RS-232), powstała dedykowana aplikacja napisana w Lazarusie (Delphi). Umożliwia ona pełną kontrolę manipulatora, pomiar prądu silników, wymuszeń skokowych, tworzenie sekwencji ruchowych, modyfikację wzmocnień regulatorów PID, kalibrację itp. - Poprzez Smartphonea, powstała aplikacja na androida napisana w AppInventorze. Umożliwia kontrolę każdej osi manipulatora, kalibrację, odtwarzanie sekwencji oraz wysyłanie pojedynczych rozkazów. - Poprzez przyciski znajdujące się na obudowie sterownika. Dają takie możliwości jak sterowanie każdą z osi oraz wybór sterowania tzn. Aby sterować poprzez inne źródło najpierw musimy włączyć tą opcję na sterowniku. Jakby nie było ciężko napisać że projekt jest "skończony". W dużym stopniu udało mi się zbliżyć do manipulatora przemysłowego, a co za tym idzie można na nim testować przeróżne algorytmy, sposoby sterowania, kinematyke itp. z tą różnicą że nie kosztuje 100 tys. pln, a całe oprogramowanie jest "wymienne". Jeśli chodzi o koszty to: - elektronika ok. 700 zł, - mechanika ok. 1550 zł (650 zł to chwytak). Suma: 2250 zł (to ta optymistyczna wersja Smile). jak na przeciętnego studenta to dość sporo jak na zabawkę Smile. Pewnie pojawi się pytanie "kraj taki piękny, unia europejska, manna z nieba nie da się otrzymać jakiegoś dofinansowania na tego typu projekty ?." - Niestety nie, lub po prostu zbyt dużo papierków, chodzenia, proszenia i czekania. Jak napisałem we wstępie, manipulator stał się podstawą mojej pracy magisterskiej, która polegała na zbudowaniu systemu sterowania z wykorzystaniem logiki rozmytej. Końcowym efektem było zmniejszenie przeregulowań napędów o 64,5% w stosunku do tradycyjnego regulatora PID. Praca w załączniku. Podsumowując projekt uważam za udany nauczył mnie wielu rzeczy z różnych dziedzin nauki i to jest najcenniejsze, ale jak to przy takich projektach bywa teraz zrobiło by się pewne rzeczy inaczej/lepiej. Chciałbym też podziękować za pomoc kilku pracownikom wydziału MT oraz Elektrycznego. NIE JESTEM AUTOREM PLATFORMY JEZDEJ Kilka filmików z działania manipulatora, miłego oglądania. Zachęcam do zadawania pytań. Manipulator - code C.zip Manipulator - App lazarus.zip Schematic.PDF PDM_MarekSliz.pdf
  18. Chciałbym wam przedstawić mojego nanosumo. Muszę od razu przyznać, że nie ma rewelacji, ale może ktoś coś podpatrzy i będzie większe zainteresowanie kategorią. Koszty takiego robota można spokojnie zamknąć poniżej 100 zł Cała płytka wykonana termo transferem. Ścieżki mają grubość ok 0,254 mm więc uważam że jest to osiągniecie. Dane techniczne Masa 17 g Wymiary 25x25x25 Silniki Pololu (włożone awaryjnie po spaleniu się silnika tuż przed zawodami) Elektronika Cała płytka mieści się w wymiarach 14,5 x 25 mm. Schemat i widok płytki widoczny na obrazkach poniżej. Zasilany jest z 2 Lipo 70 mAh zakupionych w hk. Do stabilizacji napięcia wykorzystuję MCP1802T-5002I/OT. Za sterowanie silnikami odpowiada mostek TB6552. Czujniki linii to standardowe KTIRy. Cała drobnica w smd 0402. Jako czujnik przeciwnika używam Sharpa cyfrowego 10 cm . Goldpiny 1,27 mm. Całością steruje Atmega88MU, która jest w obudowie MLF. Program Program jest bardzo prosty i napisany w C. Robot kręci się w kółko do momentu kiedy robot nie wykryje przeciwnika lub najedzie na linię. Mechanika Wcześniejsza wersja miała przekładnie zbudowaną z przekładni z serwa, jednak w wyniku awarii silnika (z mojej winy) tuż przed zawodami zmuszony byłem do wykonania prowizorki, która jest do dziś . Ogumienie wykonane z paska gumy modelarskiej. Pług i felgi wydrukowane na drukarce 3D. Czekam na pytania i komentarze.
  19. Cześć, chciałbym wam przedstawić jednego robota, którego udało mi się stworzyć. Jest to robot wykonany przede wszystkim w celu artystycznym. Robot startował na większych imprezach w Polsce. Słowo o projekcie Tutaj pozwolę sobie użyć opisu, który otrzymałem od pomysłodawców całego projektu: Specyfikacja Masa: 123 g (z akumulatorem 500 mA) Średnica: 120 mm Silnik: Pololu 30:1 HP Elektronika: Atmega32 TB6612 7 czujników KTIR 18 diod LED dwa rejestry przesuwne do sterowania diodami LED Moduł BTM-222 Oprogramowanie Program napisany w C, oraz aplikacja do sterowania robotem w C#. Linefollower sterowany algorytmem PID lub PD w zależności od przeznaczenia w jakim jest wykorzystywany. Komunikacja polega na wysyłaniu komend AT. Widok panelu Jak widać robot przesyła do robota wszystkie potrzebne informacje, takie jak napięcie, ustawienia regulatora itd. Wszystkie dane przechowywane są po stronie robota w pamięci EEPROM, dzięki czemu zawsze wiemy jakie są ustawione. Aplikacja jest w fazie rozwoju i jak widać ma kilka(naście) niedociągnięć. Galeria Film z testowych przejazdów (porusza się na stałych wartościach dla czujników). link PS. Treker jak możesz to prosiłbym o osadzenie filmu. Zdjęcia z wernisażu w łódzkim Lokalu Obecnie robot porusza się już całkiem przyzwoicie, aczkolwiek myślę, że może jeszcze dużo więcej. Mam nadzieje, że robot się wam spodobał. Zachęcam do zadawania pytań.
  20. Chciałbym zaprezentować owoc mojej długiej pracy. Jest to czteronożny robot kroczący, który wykorzystuje m.in. komunikację bezprzewodową oraz odwrotne zadanie kinematyki (niestety nie bezpośrednio na pokładzie robota). Robot powstał, ponieważ chciałem skonsolidować w jednym projekcie kilka ważnych zagadnień związanych z robotyką, elektroniką, programowaniem. Dużo rzeczy można było zrobić inaczej, lepiej, ale głównym założeniem było połączenie wiele aspektów z w/w dziedzin. Kilka rzeczy należy jeszcze poprawić, m.in. płynność ruchów, ale ogólnie jestem zadowolony z efektów. To co prezentuję jest drugą wersją robota. 1. Konstrukcja mechaniczna W konstrukcji nie ma niczego zaskakującego. Robot (R4pod) ma budowę symetryczną. Posiada 4 nogi, a każda noga ma 3 stopnie swobody (3 serwa na nogę), czyli 12 serwomechanizmów. Zastosowane serwomechanizmy to Tower Pro SG 5010 (pierwsze i drugie licząc od stopy) oraz HITEC HS322HD (łącznik nogi z korpusem). Pierwotnie wykorzystałem Tower Pro MG995, ale okazały się chińską podróbka i wysterowanie ich wiązało się z stanami samobójczymi (pisałem o tym na forum). Projekt konstrukcji wykonano w Inventorze. Wzorowałem się na wielu konstrukcjach oraz na elementach ogólnie dostępnych na serwisach aukcyjnych czy sklepach internetowych i w pewnym stopniu modyfikowałem je dla własnych potrzeb. Pierwsza wersja było wykonana z laminatu FR4, co okazało się niezbyt dobrym pomysłem. Druga wersja, czyli aktualna, wykonana jest z aluminium (nogi 1,5 mm, korpus 2 mm). Za pomocą imadła i argumentu siły ukształtowałem odpowiednie elementy. Wszelkie części zostały wycięte na WaterJet`ie przez jednego z kolegów z naszego forum, za co bardzo mu dziękuję. Pierwotnie nie planowałem wykorzystać czujników krańcowych w stopach, ale życie zweryfikowało to i stały się niezbędne. Niestety nie przygotowałem elementów stopy, aby takie czujniki zastosować, stąd taka partyzantka jak widać na zdjęciach. 2. Elektronika PCB zaprojektowałem w programie Eagle. Samą płytkę wykonałem termotransferem wykorzystując laminator. Nie bawiłem się w osobne moduły, ma to swój minus, ale jeszcze nic się nie spaliło. Wszystko znajduję się na jednej PCB, udało się to dzięki zastosowaniu elementów SMD (pojedyncze komponenty są THT). Na PCB znajduję się: - tor zasilania dla układu sterowania, czyli stabilizator napięcia +5VDC oraz +3,3VDC - tor zasilania serwomechanizmów z odpowiednia baterią kondensatorów na wejściu i wyjściach - 2 mikrokontrolery ATmega88PA taktowane częstotliwością 20MHz - moduł ATB-BTM222 - akcelerometr MMA8452 - gniazdo programatora - 4 przyciski - gniazdo do podłączenia sygnałów z krańcówek w stopach - wyjścia sygnałów sterujących dla serw - komparator mierzący napięcie na akumulatorze Robot zasilany jest z dwóch akumulatorów litowo-polimerowych. Do zasilania układu sterowania +7,4V 500mAh oraz +7,4V 2200mAh przez UBEC do zasilania serwomechanizmów. Moduł ATB-BTM222 służy do komunikowania się z PC za pomocą BT. Komunikacja w obie strony za pomocą jednego modułu wprowadza spore opóźnienia (plus opóźnienia wynikające z innych procesów ) dlatego nie udało mi się jeszcze uzyskać pełnej płynności ruchów. ATmega Master pobiera wszelkie informacje z otoczenia, tj. - komunikacja z PC za pomocą ATB-BTM222 (UART) - czujniki w stopach - akcelerometr (I2C) - komunikacja z drugą ATmega za pomocą SPI Po za tym komponuje ramki danych do wysłania oraz dekomponuje i interpretuje odebrane dane. ATmega Slave działa w zasadzie jak serwokontroler. Odbiera dane z układu Master, dekomponuje ramkę danych i odpowiednio wysterowuje 12 serwomechanizmów. 3. Sterowanie Do sterowania robotem napisałem aplikację wykorzystując WinApi. Aplikacja służy do ustanowienia połączenia z robotem za pomocą Bluetooth, odbieranie danych, przetwarzanie ich i wysyłanie do robota. Aby komunikacja była bezawaryjna i wszystkie pakiety kompletne, napisałem swój protokół (chociaż to zbyt duże słowo) wzorując się na ModBus`ie. Na przetwarzanie danych składa się dekompozycja danych, odpowiednie ich zinterpretowanie, wykonanie obliczeń dla zadania odwrotnego kinematyki uwzględniając dane z czujników (muszę zająć się jeszcze akcelerometrem, chociaż dane z niego są wysyłane do PC) oraz kompozycja ramki do wysłania. Dodatkowo widoczna jest animacja obrazująca stan czujników w stopach oraz trójkąty podparcia. Stan jest aktualizowany w czasie rzeczywistym. Przede mną jeszcze wiele pracy. Jest dużo rzeczy do poprawy czy modyfikacji. Należy poprawić płynność ruchów oraz sam sposób chodzenia (na razie traktowałem go po macoszemu, skupiając się na stabilnej komunikacji, samej aplikacji oraz obliczeniach kinematyki odwrotnej). Należy przeprojektować ostatni człon nogi, gdzie znajdują się czujniki krańcowe. Partyzantka jaką zrobiłem sprawia wiele kłopotów. Kolejnym ważnym aspektem jest uwzględnienie w obliczeniach danych z akcelerometru i poziomowanie korpusu. Może w przyszłości powstanie kolejna wersja sterownika, która podoła wykonać obliczenia związane z zadaniem odwrotnym kinematyki (jakiś ARM? Niestety na to ciągle brakuje czasu...) Pozdrawiam
  21. Cześć tu drużyna "Robotyka KSP" . Lfa stworzyliśmy w szkole za własne pieniądze. W większości wszystko zaplanował lider czyli ja jest to mój drugi lf, poprzedni był czysto z poradnika. Reszta grupy (5 osób) jak na razie była podwykonawcami i dała kaske oraz lutowała elementy Jeden z nich pomógł z programem.W planach mamy minisumo i kolejnego lfa (Dostaliśmy dofinansowanie 500zł) ,więc coś ich muszę ich poduczyć z zakresu elektroniki chociaż sam dużo nie wiem. W szkole niestety nie ma zainteresowania tematem ze strony nauczycieli. (Technikum) Strona o tym jak powstawał lf i będą powstawać kolejne projekty (prosimy o LIKE ) :RobotykaKSP Osiągnięcia 18 miejsce na 26 - Robotic Area 2014 Konstrukcja mechaniczna: Silniki: to Tamiya 70168 Na przekładni 38:1 320obr, Silniki jako takie. Za 50zł nic lepszego chyba nie ma z takimi obrotami. Wadą jest to że są na 3v lecz u mnie pracowały na 6-7v. Nic się z nimi nie działo jeżdżą do tej pory. Koła: Tamiya 70111 Zdecydowanie nie polecam. Koła nie mają w ogóle przyczepności, lf latał jak szalony mimo sporej wagi ( Pół kilo ? ). Brak przyczepności ujawnił się dopiero na zawodach. By zwiększyć przyczepność dociążyliśmy lf'a dodatkowym pakietem baterii (3sztuki) i założyliśmy balony z WABCO Poprawiły sporo. Przejazd bez balonów i obciążenia na jednym z torów wynosił 27,5sec , z poprawami osiągnęliśmy 25,5sec Płytki Są to moje pierwsze zrobione metodą termotransferu. Nawet fajnie mi to wyszło bez większych problemów Ramie trzymające płytkę czujników oraz koszyczek: Blaszki z aluminium i kupę śrubek, nakrętek, podkładek.Ciężko było wyregulować dobrą wysokość płytki ponieważ dostałem z electroparku różne cny70 . Koszyczek przymocowany opaską z forbot.pl którą otrzymaliśmy na RA Elektronika Za zasilanie odpowiada pakiet akumulatorków/bateri 5szt . (MASAKRA) Sterownik silników to L298N - w obudowie MULTIWATT15. Procesor atmega8 z kwarcem 16mhz. Do obniżenia napięć i stabilizacji napięcia służy 7805. Silniki zasilane bezpośrednio z koszyczka . 5 czujników cny70 podłączonych do adc. Oprogramowanie Program napisany w c. Jest bardzo prosty. Pisany na podstawie innego kodu. Nie ma żadnego członu PID. Program napisany prawie w całości na Robotic Area . W załączniku spakowane schematy i kod . Stary wygląd: Cristal T1000.rar
  22. Malutki robocik kroczący "Gramek" to konstrukcja którą zbudowałem "for fun" w ciągu jednego dnia, z rzeczy które miałem pod ręką. Robot zbudowany jest z trzech 9-gramowych mikroserw Turnigy TG9e, baterii Li-ion Nokia BL-5C (bardzo popularna) o pojemności 1020mAh która robi jednoczesnie za podstawę robota, oraz płytki "teensy 2.0" na której znajduje się atmega32u4. 6 nóg robota zrobionych jest z odpowiednio wygiętych 3 spinaczy biurowych, na które nałożyłem rurkę termokurczliwą (kilka warstw rurek różnej grubości znajduje się na "stopach"). Nogi są przyklejone do orczyków na HotGlue. Serwa połączone są ze sobą grubą, gąbkowatą, dwustronną taśmą klejącą, a całość jest przyklejona do baterii taśmą izolacyjną. Jednym słowem wszystko na klej/taśmę, bez żadnej ramy czy śrubek. Zastosowałem płytkę Teensy ponieważ po pierwsze miałem ją w domu do testów, po drugie ma malutkie wymiary (30x18mm) i idealnie pasowała do tego projektu, a po trzecie dzięki użyciu "teensyduino" mogłem używać środowiska Arduino w którym bardzo szybko napisałem kod. Żeby Gramek był robotem, a nie jedynie zdalnie sterowaną platformą, musiał mieć czujniki - w domu miałem tylko 2 fotorezystory (w dodatku o innych charakterystykach...), więc w ten sposób powstał kroczący światłolub:) Na początku chciałem zastosować czujnik odległości zrobiony z diody IR i fototranzystora, ale "na pająka" ciężko to było zrobić, więc pozostałem przy fotorezystorach, które są bezpośrednio przylutowane (na długich nogach) do padów w Teensy, dzięki temu, poza Teensy, nie musiałem robić żadnej dodatkowej płytki. Teensy nie ma regulatora, dlatego zarówno serwa jak i płytka zasilana jest bezpośrednio z baterii. Programowanie odbywa się poprzez gniazdo miniUSB znajdujące się na płytce, przy użyciu bootloadera w atmedze32u4. Parę fotek: Oraz kilka filmików: Niestety gdy jest jasno, to są kłopoty z odpowiednim sterowaniem (mam na myśli światło), tym bardziej że na filmiku używałem słabej diodowej latarki. W ciemności działa zdecydowanie lepiej, ale za to na filmiku nic nie widać, więc nie wrzucałem. Inspiracją do budowy tego robota był "Pololu Micro Maestro Hexapod" który został zbudowany przez tą firmę w celu prezentacji możliwości sterownika serw MicroMaestro. Filmik prezentujący oryginalnego hexapoda Pololu: Jest kilka zasadniczych różnic pomiędzy moim robotem, a pololu: Gramek nie używa sterownika Maestro, zamiast tego używa Teensy. Gramek używa fotorezystorów (jest światłolubem), zamiast cyfrowych sharpów. Bateria również jest zupełnie inna, zresztą samo umiejscowienie elementów jest różne. Mój robot ma mniejsze nogi, przez co mieści się w dłoni i zgrabniej wygląda, ale niestety jest wolniejszy. W zasadzie mógłby być szybszy - ograniczenie wynika po pierwsze z zasilania serw bezpośrednio z 3,7V zamiast 6V, a po drugie napisałem "chód" w ten sposób, że w danym momencie czasu w ruchu są maksymalnie 2 serwa jednocześnie, a nie wszystkie 3, przez co, cała "ramka" chodu trwa dłużej. Nie chciałem ruszać 3 serwami jednocześnie by nie przeciążać baterii, która jest bardzo kiepska - nie mierzyłem co prawda prądów, ale bałem się, że 3 serwa naraz to będzie za dużo dla bateryjki z telefonu komórkowego. Dodatkowo, pomiędzy poszczególnymi ruchami serw, w kodzie zdefiniowane są opóźnienia, bo bez nich, robot śmiesznie skakał, jak ten hexapod pololu co widać na filmiku - trochę nie naturalnie to wygląda. Koszt: - bateria: free (ze starego telefonu) - serwa: 3x12zł - teensy: free (nie liczę tej płytki jako koszta, bo miałem ją dużo wcześniej do testów, zresztą po rozebraniu robota nadal mogę ją wykorzystać, ale kosztuje $16) - spinacze biurowe: free:) - 2 fotorezystory, 2 oporniki, mikro-włącznik: <2zł - rurki termokurczliwe: 2zł Wymiary robota: - z nogami: 7 x 9 x 5 cm (dług x szer x wys) - bez nóg: 6 x 4x 4 cm (dług x szer x wys) Waga: - 64g (z akumulatorem) Podsumowując, jestem bardzo zadowolony z tej konstrukcji, pomimo tego, że powstała w jeden dzień. Zbudowałem chyba najprostrzego możliwego robota kroczącego bardzo tanim kosztem, ucząc się przy tym programowania chodu dla tego typu konstrukcji, co nie jest takie trywialne jak się mogło wydawać, nawet dla tak prostego robota, zbudowanego z 3 serwomechanizmów.
  23. Wstęp Witam serdecznie. Prezentuję dziś mobilnego robota, którego zadaniem jest wykrywanie przeszkód i unikanie kolizji. Jest to pierwszy projekt po długiej przerwie, starałem się możliwie rzetelnie podejść do sprawy. Opis działania Robot posiada tylko jeden sensor ( cyfrowy czujnik Sharp o zasięgu do 10cm) umieszczony na orczyku serwa, które stale obraca go w zakresie mniej więcej od 0 do 100 stopni. Dodatkowo nad czujnikiem znajduje się łuk diod LED, które sygnalizują bieżące wychylenie czujnika i przeszkody (widać na filmie). Po wykryciu przeszkody robot zmienia kierunek jazdy ( kierunek zależny od miejsca wykrycia przeszkody). Powstawanie w 3 krokach Mechanika Sam przyznaję, że to wygląda dziwnie :/ Napęd stanowią dwa przerobione ( pozbawione elektroniki i mechanicznych blokad) serwomechanizmy typu standard. Obracaniem czujnika zajmuje się micro serwo. Konstrukcja oparta jest na laminacie. Montaż głównie za pomocą śrubek i dystansowników. Trzeci punkt podporu stanowi małe kółko obrotowe ( dostępne w każdym sklepie budowlanym). Koła są kupne, z mocowaniem pasującym do wału standardowego serwomechanizmu. W trakcie budowy problemem okazał się za mocno do przodu wysunięty środek ciężkości. Zniwelowałem to dokładając z tyłu dużą śrubę z nakrętkami służącą za obciążnik. Akumulator przymocowany jest za pomocą rzepu samoprzylepnego. Elektronika Serce robota to atmega88p. Zasilanie: pakiet lipo s2 7.4V 400mAh. Dwa stabilizatory ( jeden dla elektroniki, drugi dla serwa*). Mostek l293D i trochę drobnicy ( wszystko na schemacie i zdjęciach). *Nie jest to rozwiązanie idealne, jednakże chyba najprostsze, by w łatwy sposób dostarczyć 5V dla jednego serwa. Program Nic specjalnego, jednakże jest to mój pierwszy projekt napisany w C ( przed przerwą zaczynałem w Bascomie). Timer0 generuje sygnał dla serwa, Timer1 zajmuje się PWMem dla silników. Serwo przemieszcza się wyłącznie między 11 na sztywno zaprogramowanymi położeniami ( pokrywającymi się z położeniem diod LED ). Brak przerwań, stan czujnika odczytywany jest tylko w postojach pomiędzy jednym, a drugim LEDem ( ok. 11 stopni), jednak kąty widzenia czujnika chyba niwelują martwe pole. Zmiana kierunku jazdy jest wprost proporcjonalna od odległości przeszkody od środka robota ( mówiąc inaczej, gdy przeszkoda jest z boku robot skręca lżej, im bliżej środka tym mocniej robot „odbija”) Najprawdopodobniej powstanie jakiś fajniejszy algorytm Wady Na zdjęciu widoczne dociążenie robota Przede wszystkim kompletnie zapomniałem o środku ciężkości, wydawało mi się, że sam ciężar serw wystarczy. Stąd też potrzebne było dodatkowe obciążenie. Cały system wykrywania przeszkody jest swego rodzaju kompromisem. Z jednej strony zasięg czujnika jest mały, z drugiej strony zbyt szybki obrót serwa również wpływa negatywnie na przeszukiwanie terenu. Robot jest celowo spowolniony, by miał czas na przebadanie otoczenia. Problemy są z wykrywaniem za wysokich, zbyt niskich przeszkód, oraz przeszkód w kolorze czarnym. (Czego się oczywiście spodziewałem). Galeria Schematy Płytki Program v1.01 #define F_CPU 1000000L #include <avr/io.h> #include <util/delay.h> #define LED1 0xFE #define LED2 0xFD #define LED3 0xFB #define LED4 0xF7 #define LED5 0xEF #define LED6 0xDF #define LED7 0xFE #define LED8 0xEF #define LED9 0xF7 #define LED10 0xFB #define LED11 0xFD #define silnik_lewyA 0b10000000 #define silnik_lewyB 0b00100000 #define silnik_prawyA 0b01000000 #define silnik_prawyB 0b10000000 #define sensor 0b0000001 int i; void czekaj_ms(uint16_t ms) { for(uint16_t g=0; g<ms; g++) _delay_ms(1); } void przod_przod(int x, int y, int z) { PORTB|=silnik_lewyA | silnik_prawyA; PORTD&= (~silnik_lewyB) & (~silnik_prawyB); OCR1A=x; OCR1B=y; czekaj_ms(z); } void tyl_tyl(int x, int y, int z) { PORTB&=(~silnik_lewyA) & (~silnik_prawyA); PORTD|= silnik_lewyB | silnik_prawyB; OCR1A=x; OCR1B=y; czekaj_ms(z); } void przod_tyl(int x, int y, int z) // Lewy silnik do przodu, prawy do tylu { // silnik lewy do przodu OCR1B=x; PORTB|=silnik_lewyA; PORTD&= (~silnik_lewyB); //silnik prawy do tylu OCR1A=y; PORTB&=(~silnik_prawyA); PORTD|=silnik_prawyB; czekaj_ms(z); } void tyl_przod(int x, int y, int z) // Lewy silnik do tylu, prawy do przodu { // silnik lewy do tylu OCR1B=x; PORTB&= (~silnik_lewyA); PORTD|= silnik_lewyB; //silnik prawy do przodu OCR1A=y; PORTB|=silnik_prawyA; PORTD&=(~silnik_prawyB); czekaj_ms(z); } void inicjalizacja() { //PWM DLA SERWA ( timer0) STEROWANIE PRZEZ PODANIE NA OCR0A wartosci od 10 do 35 TCCR0A = ( 1 << COM0A1 ) | (1<<WGM01) | (1<<WGM00); TCCR0B = (1<<CS00) | (1<<CS01); DDRD|=0x40; PORTD=0x40; //PWM DLA SILNIKOW (timer1) TCCR1A= (1<< COM1A1)|(1<<COM1B1)|(1<<WGM11); //MODE 14 FAST PWM TCCR1B= (1<<WGM13)|(1<<WGM12)|(1<<CS10); // PRESCALER=1, frec.PWM = 1kHz ICR1=999; } void dioda(int x) { //Zapalanie kolejnych diod switch(x) { case 11: PORTC&=LED1; break; case 10: PORTC&=LED2; break; case 9: PORTC&=LED3; break; case 8: PORTC&=LED4; break; case 7: PORTC&=LED5; break; case 6: PORTC&=LED6; break; case 5: PORTD&=LED7; break; case 4: PORTD&=LED8; break; case 3: PORTD&=LED9; break; case 2: PORTD&=LED10; break; case 1: PORTD&=LED11; break; } } void dioda_off() { PORTC|=0b00111111; PORTD|=0b00011111; } void przeszkoda() { //Hamowanie tyl_tyl(800,800,100); OCR1A=0; OCR1B=0; for (uint8_t g=0;g<4;g++) // ZAMRUGANIE DIODAMI { dioda(i/2 -4); dioda(i/2 -5); dioda(i/2 -6); czekaj_ms(300); dioda_off(); czekaj_ms(200); } tyl_tyl(500,500,i*30); if (i>=22) przod_tyl(800,800,((-30)*i+1060)); else tyl_przod(800,800,(30*i-260)); przod_przod(500,500,1); } void szukanie() { int czas=20; while(1) { for (i=12; i<33;i+=2) { OCR0A=i; czekaj_ms(czas); dioda_off(); czekaj_ms(czas); dioda(i/2 -5); if (!(PINB & sensor)) przeszkoda(); } for (i=32; i>11; i-=2) { OCR0A=i; czekaj_ms(czas); dioda_off(); czekaj_ms(czas); dioda(i/2 -5); if (!(PINB & sensor)) przeszkoda(); } } } void main(void) { inicjalizacja(); DDRD=0b11111111; PORTD=0b00000000; DDRC=0b00111111; DDRB=0b11111110; PORTB=0b11100000; przod_przod(500,500,1); szukanie(); } Film Najprawdopodobniej powstanie jakiś fajniejszy algorytm
  24. Korzystając z wolnej chwili, nadszedł czas na opisanie robota Thunderstorm na łamach portalu Forbot. Konstruktorami tego robota jestem ja oraz mój kolega Adam Fleszar. Na początku marca robot ten będzie obchodził swoje pierwsze urodziny. Zapraszamy do zapoznania się z jego opisem. Mechanika Konstrukcja robota Thunderstorm opiera się na korpusie wydrukowanym w technologii 3D z tworzywa ABS. Projekt tego elementu powstał w programie Autodesk Inventor 2012, kształt tej części jest zaprojektowany zgodnie z naszą intuicją i nie był optymalizowany pod żadnym kątem. Do korpusu przykręcony jest biały przód wykonany w tej samej technologii, do którego przymocowana jest płytka z 19-nastoma czujnikami rozmieszczonymi po łuku. Płytki PCB przymocowane są do wydrukowanych na korpusie kominków. Jako napęd zastosowaliśmy modelarskie silniki DC. Koła zębate użyte w przekładni pochodzą z serw TowerPro. Mocowania przekładni w postaci płaskowników aluminiowych zostały wykonane na mojej obrabiarce CNC. Oś koła stanowi pręt o średnicy 3mm wymontowany z napędów CD/DVD, nagwintowany na jednym z końców gdzie osadzona jest zębatka napędzająca koło. Na osi znajduję się również tarcza enkodera wymontowana z myszki kulkowej. Koła zastosowane w robocie pochodzą z modeli RC. Thunderstorm wyposażony został w turbinę, która przysysa robota do trasy. Napędzana jest ona silnikiem BLDC o mocy 200W sterowanym za pomocą regulatora 3F Jeti Advance 18 Pro. Jako ślizgacze zostały użyte trzy plastikowe kulki z ASG o średnicy 6mm. Elektronika Projektowana elektronika została podzielona na dwa współpracujące ze sobą systemy. Pierwszym z nich jest moduł mostka H sterujący silnikami napędowymi. W robocie znajdują się dwa takie układy, pracujące przy każdym kole niezależnie od siebie. Ich zadaniem jest dokładne kontrolowanie prędkości obrotowej kół na podstawie sygnałów z enkoderów zamocowanych na osi każdego koła. Drugim modułem jest układ, którego głównym celem jest odczyt linii i wygenerowanie odpowiedniego sterowania niezależnie dla lewego i prawego koła w robocie. Ponadto układ ten umożliwia komunikację z pilotem stosując gotowe moduły transmisji radiowej TLX905 oraz ma możliwość generowania sygnału o zmiennym wypełnieniu, koniecznym przy sterowaniu regulatorem prędkości obrotowej turbiny. Płytka z czujnikami znajduje się w przedniej części robota, a sygnały, które z niej wychodzą są podpięte do płytki kontrolującej linię przy pomocy dwóch tasiemek 12-żyłowych każda. Płytki PCB zostały wykonane w firmie Satland Prototype. Moduł sterownika silnika DC wyposażony jest w mikrokontroler ATmega88PA pracujący z częstotliwością 20MHz. Sam mostek H zbudowany jest z czterech tranzystorów IRF6668 w obudowach DirectFET sterowanych dwoma układami IR2104S. Częstotliwość sygnału PWM sterującego silnikiem wynosi 19,5kHz. Sterownik ten otrzymuje sygnał kroku i kierunku z kontrolera linii. Jedno zbocze narastające sygnału kroku odpowiada za obrót osi koła o jedną jednostkę enkodera w stronę wyznaczoną przez sygnał kierunku obrotu. Kontroler linii zbudowany jest w oparciu o mikrokontroler ATmega128A @ 16MHz. Sygnał z czujników linii KTIR0711S podawany jest na komparatory LM339 a następnie w postaci sygnału logicznego na wejścia mikrokontrolera. Moduł sterownika linii generuje dwa sygnały o zmiennej częstotliwości sterujące prędkością obrotową lewego i prawego koła jednocześnie. Do zasilania tego modułu jest wykorzystana przetwornica impulsowa zbudowana na układzie MAX5035, ale ze względu na zastosowanie regulatora 3F, który posiada wbudowany układ BEC nie jest ona wykorzystywana podczas jazdy, część cyfrowa jest wtedy zasilana bezpośrednio z regulatora 3F. Programy Programy na mikrokontrolery użyte w obu modułach napisane są w języku C. W mostkach sterujących silnikami DC działa algorytm PID, zaś w jednostce kontrolującej linię algorytm PD. Zasilanie Do zasilania robota stasowane są zamiennie akumulatory Turnigy nano-tech 850mAh 3S 25~40C lub 350mAh 3S 65~130C Lipo Pack. Osiągnięcia :arrow:1. miejsce – Robotic Tournament 2012 w Rybniku – Linefollower :arrow:3. miejsce – Trójmiejski Turniej Robotów 2012 w Gdańsku – Linefollower :arrow:3. miejsce – Trójmiejski Turniej Robotów 2012 w Gdańsku – Linefollower PRO :arrow:2. miejsce – Festiwal Robotyki CybAirBot 2012 w Poznaniu - Linefollower :arrow:1. miejsce – Roboxy 2012 w Gdańsku - Linefollower :arrow:1. miejsce – Robocomp 2012 w Krakowie – Linefollower :arrow:2. miejsce – Robocomp 2012 w Krakowie – Linefollower Enhanced :arrow:1. miejsce – ASTOR Robot Challenge 2012 w Sosnowcu – Linefollower :arrow:1. miejsce – ASTOR Robot Challenge 2012 w Sosnowcu – Linefollower Enhanced :arrow:1. miejsce – Sumo Challenge 2012 w Łodzi – Linefollower :arrow:3. miejsce –Robotic Arena 2012 we Wrocławiu – Linefollower Filmy z testów i zawodów Nowy film z ostatnich zawodów!
  25. Robot kategorii MiniSumo. Powstał jako realizacja projektu zaliczeniowego na jeden z przedmiotów na studiach. Jego efektem był robot NiGa, którym wzięliśmy udział w RoboticArena2012. Nie udało się wtedy wejść do rozgrywek finałowych, jednak dzięki zdobytemu doświadczeniu i przetestowaniu robota w boju wiedzieliśmy jakie są wady, co należy zmienić, dodać itd. Tak powstała Antiga. Podwozie stanowi blacha stalowa o grubości 5mm. Wyfrezowane zostały 4 "sloty" na KTIR'y (jednak zamontowane są tylko 2 z przodu) do wykrywania białego obrzeża dohyo. Przód ma postać klina. Nadwozie zostało wydrukowane z tworzywa ABS na drukarce 3D RepRap. Posiada wszystkie niezbędne otwory na czujniki, złącze programowania, gniazdo modułu startowego, włącznik, przyciski oraz okienko nad 4 LEDami. Czujniki zastosowane w robocie to już wspomniane 2 czujniki odbiciowe KTIR0711S, a do wykrywania służą 4 dalmierze cyfrowe Sharp GP2Y0D340K. Dwa patrzące do przodu oraz dwa patrzące na boki. Zastosowany mikrokontroler to ATmega16A taktowana zegarem 16MHz. Program zajmuje jakieś 10-15% pamięci FLASH. UI stanowią 4 LEDy oraz 2 microswitche. Zasilanie z LiPo 2S 850mAh. Napęd to dwa mikrosilniki Pololu z przekładniami 30:1. Koła o średnicy ~30mm w całości (felgi + odlanie opon) wykonane przez hungrydevila z GROMu. Na RA2012 oraz na Robomaticon2013 mieliśmy jeszcze koła Solarbotics RW2i. Mostki-H nimi sterujące to 2 układy Toshiby TB6612FNG ze zmostkowanymi kanałami. Sukcesy: II miejsce w kategorii MiniSumo (Classic) - SumoChallenge2013 I miejsce w kategorii MiniSumo Classic - RoboticArena2013 I miejsce w kategorii MiniSumo Enchanced - RoboticArena2013 II miejsce w kategorii MiniSumo - Robomaticon2014
×
×
  • Utwórz nowe...