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 i 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 246 wyników

  1. Cześć, chciałabym przedstawić swoją konstrukcję - robota klasy microsumo. Zaczynał swoją karierę już w Wiedniu, jednak dopiero teraz znalazłam czas na opisanie go na tym forum. Na początek parę słów o nazwie Go. Wzięła się ona stąd, że wcześniej planowałam zbudować robota klasy sumo, jednak koło naukowe odrzuciło mój wniosek. Sumo miało nazywać się Godzilla. Po zmniejszeniu rozmiaru robota zmniejszeniu uległa też nazwa robota. Jeśli chodzi o mnie, to jestem studentką Automatyki i Robotyki na Politechnice Wrocławskiej, a swoją przygodę z kołem naukowym KoNaR zaczęłam półtora roku temu. Go powstawał od czerwca zeszłego roku i zajmował już wysokie miejsca na zawodach w Polsce. W planach mam stworzenie podobnej konstrukcji, mając na uwadze wszystkie poprzednie błędy i potknięcia, które nierzadko przytrafiały mi się jako początkującej. 1. Konstrukcja mechaniczna Projekt mechaniczny wykonałam w programie Autodesk Inventor. Biblioteki niektórych części, na przykład silników znalazłam na forum elektroda.pl, resztę zaprojektowałam sama. Podwozie jest wykonane z mosiądzu (w celu obniżenia środka ciężkości), a do niego przyczepiony jest pług. Przyznam, że ta część konstrukcji była wyzwaniem. Jak zmieścić zawiasy mając do wykorzystania zaledwie 2 mm miejsca? Po długich poszukiwaniach znalazłam odpowiednie zawiasy modelarskie, bardzo cieniutkie, które sprawdzają się idealnie. Pochyła przednia ścianka obudowy pozwala na stabilne oparcie pługu, ale krzywizna jest na tyle mała, aby po gwałtownym skręcie ten mógł opaść. Pomimo maksymalnego upakowania elementów uważam, że ta część konstrukcji posiada swoją zaletę. W prawie wszystkich walkach pług zdołał opaść i robot skierowany na przeciwnika zawsze "zabierał" go ze sobą. Na początku pług miał długość 45 mm, bo "zawsze można skrócić". Niestety, w Wiedniu okazało się, że po wypchnięciu przeciwnika, a raczej w trakcie wypychania dotykał on podłoża, co powodowało wygraną przeciwnika. Nie przejęłam się tym za bardzo, ponieważ to i tak były pierwsze zawody Go. W tej chwili pług jest długości około 25 mm i sprawdza się doskonale. Dalsza część konstrukcji to koła Pololu o średnicy 32 mm. Nie jest to najlepsze rozwiązanie, ponieważ mogły być dużo mniejsze, ale nie pomyślałam o tym, aby znaleźć kogoś, kto by mi takie felgi wytoczył. Opony były odlewane z poliuretanu, żeby miały lepszą przyczepność. Obudowa robota to wyfrezowane kawałki laminatu z otworami na czujniki. Nadają one Go wygląd creepera. Najgorsze i najbardziej beznadziejne rozwiązanie, którego absolutnie nie polecam to składanie robota w "kanapkę". Cztery śruby mocowały do podwozia 2 płytki z elektroniką oraz silniki. Złożyłam robota raz i mam szczęście, że jeszcze nic się nie zepsuło na tyle, aby to rozkładać ponownie. Jakość wykonania ręcznie robionych obejm z laminatu jest słaba na tyle, że wszystko wchodzi dosłownie na wcisk, jest krzywe i trzeba całą tę "kanapkę" stabilizować i podtrzymywać podkładkami i nakrętkami , których wkręcenie zajmuje wieczność. Silniki zostały przylutowane do płytek z laminatu. W silnikach Pololu HP z przekładnią 50:1 zastosowano patent z odwróconą przekładnią, przez co można je było umieścić obok siebie. Obie płytki z elektroniką zostały połączone długimi goldpinami. Oczami robota jest pięć cyfrowych sharpów GP2Y0D340K - 40-centymetrowych czujników odległości. Dodatkowo, w podwoziu zamontowano 4 czujniki białej linii KTIR0711S, ale ostatecznie ograniczyłam się do dwóch z przodu (trzeci się zepsuł, a czwarty nie działał ...). Każdy z czujników odbiciowych był przylutowany do osobnej płytki o wymiarach 4x9 mm, które robiłam własnoręcznie. Z główną płytką są połączone kablami. Na wierzchu widoczny jest też konarowy moduł startowy bezpośrednio przylutowany do goldpinów, a także dociążenie z postaci płatków ołowiu bezpośrednio przyklejone do czujnika. Nie jest to zbyt eleganckie rozwiązanie, ale powstało na szybko na ostatnich zawodach. Waga robota to 98g. 2. Elektronika Schemat stworzony został w programie Altium Designer. Całością zarządza mikrokontroler ATmega88. Do sterowania silnikami wykorzystałam popularny podwójny mostek H - TB6612. Jak już wcześniej wspomniałam, czujniki znajdują się na osobnych płytkach, natomiast na głównej są tylko złącza. Poza tymi od czujników jest też złącze do programowania i zasilające. Silniki są zasilane bezpośrednio z baterii. Natomiast cała logika oraz czujniki są zasilane ze stabilizowanego 5V. Wykorzystałam w tym celu 2 stabilizatory: MCP1825S-5002E/DB (czujniki) oraz TC1185-5.0VCT713. Robot jest bardzo szybki i wiele razy uciekał z ringu, dlatego wygodnym jest zdalne włączanie go, a zwłaszcza wyłączanie. Wadą jest brak komunikacji z robotem - przeoczyłam wyprowadzenie złącza do UARTa. Ponieważ miejsca pomiędzy podwoziem a silnikami jest bardzo mało (8 mm) dopiero po paru miesiącach udało mi się zakupić ogniwa Li-Polymer o wymiarach 3x15x20 mm sztuka i napięciu 3.6V. Pojemność 120mAh jest wystarczająca do stoczenia 3 walk po 3 rundy. 3. Oprogramowanie Kod programu został oparty o program CeBOTów - robotów microsumo stworzonych jako prezentacja KoNaRu na targach CeBIT 2013. Autorem programu jest Bartosz Wawrzacz (Baton). Nie ma w nim niczego skomplikowanego, po prostu algorytm: "znajdź i wypchnij, a jeśli zobaczysz białą linię - uciekaj". 4. Podsumowanie i wnioski Budowa Go nauczyła mnie budowy robota od podstaw - od obsługi programów typu Altium Designer lub Autodesk Inventor po praktyczne zastosowanie elektroniki, czego nie uczą nas na studiach. Robienie czegoś tak małego było sporym wyzwaniem. Na początku projektowania musiałam sobie zrobić sześcian o boku 5 cm z papieru, żeby uświadomić sobie skalę przedsięwzięcia. Jestem bardzo zadowolona też z tego, że moja konstrukcja pomimo wielu błędów i pomyłek jest w stanie mierzyć się z innymi i w dodatku wygrywać. Moje najbliższe cele to dopracować projekt i zbudować nowego robota tej samej klasy. A później może spróbować zmniejszyć jeszcze rozmiar, może w nanosumo. Albo femtosumo, żeby Felek miał z kim walczyć. Sukcesy Go to jak na razie: RobotChallenge 2013 (Wiedeń)- 1/8 finału - poniżej najważniejsza finałowa walka, widać na niej, że pług jest ewidentnie zbyt długi, przez co Go przegrał. Robo~motion 2013 (Rzeszów) - 2. miejsce Walka z ruchomym przeciwnikiem: Z nieruchomym też daje radę: A tutaj jeszcze widać, że niezbyt boi się białej linii, co też muszę poprawić: Robocomp 2013 (Kraków) - 1. miejsce, ale muszę przyznać, że konkurenci nie dopisali. Będę wdzięczna za wszelkie uwagi.
  2. Witam wszystkich Dzisjaj chciałbym przedstawić moją konstrukcję - robota minisumo. Powstał on ponad rok temu, ale dopiero teraz znalazłem chwilę aby przedstawić go forumowej społeczności Niestety do tej pory nie startował on w żadnych zawodach, ze względu na brak czasu choć możliwe, że niedługo uda mi się pojawić na jakiś zawodach. Głównym celem dla którego wiesio został powołany do życia była chęć zdobycia doświadczenia w projektowaniu układów elektronicznych i mogę śmiało powiedzieć, że podczas pracy nad tą konstrukcją zdobyłem naprawdę dużo doświadczenia. Niestety ze względu na wcześniejszą awarie komputera utraciłem wszystkie pliki które utworzyłem podczas projektowania łącznie ze schematem, projektem płytki i rysunkami. 1.Mechanika "zbroja" czyli obudowa robota została zaprojektowana w programie google sketchup, ale ze względu na problemy podczas eksportowania plików .DXF z tegoż programu, musiałem przeprosić się z inventorem i ostatecznie w inventorze wygenerowałem pliki .dxf który był potrzebny do wycięcia obudowy laserem. Wykonana jest ona z blachy aluminiowej(a dokładniej stopu 6061, czyli najtańszego ).Następnie została ona powyginana w warunkach domowych do aktualnego kształtu . W wypadku silników, kół i mocowań do tematu podszedłem dośc mało ambitnie(delikatnie mówiąc).Silniki to pololu Hp z przekładnią 1:50, koła również z pololu zazwyczaj spotykane w linefollower-ach, prawdę mówiąc średnio nadają się do minisumo, ale jako że na zawodach jeszcze nie zagościłem to nie mogłem sprawdzić ich w boju .Mocowania silników jak widać są trochę patenciarskie, ale to ze względu, że jedno z oryginalnych mocowań zaginęło w ferworze pracy i niestety do tej pory figuruje na liście zaginionych. Jednak w razie gdyby robot miał startować w zawodach to jest możliwośc zamontowania oryginalnego mocowania bo choć te opaski na ktorych aktualnie tryzmają się silniki sprawują się nadzwyczaj dobrze to w przypadku konfrontacji z innymi robotami to nie wymagał bym od nich cudów. Elektronika: elektronika byłą częścią której poświęciłem najwięcej uwagi i czasu płytka została zaprojektowana w programie eagle, a następnie wykonana w satlandzie. Choć starałem się ją zaprojektować bez błędów to niestety wkradł się jeden mały chochlik przy gnieździe ISP ze względu na to, że nie doczytałem że atmega128 której użyłem ma troszkę inaczej wyprowadzone piny do programowania niż większość mikrokontrolerów z rodziny ATMEGA Procesorem który steruje wiesiem jest atmega128, ale jest to strzelanie do muchy z armaty i spokojnie wystarczył by jakiś zdecydowanie mniejszy, no ale chociaż nie miałem problemów z wyroutowaniem płytki. Czujniki przeciwnika to 2 sharpy cyfrowe (GP2Y340K) o zasięgu do 40cm, przydało by się ich trochę więcej, ale niestety są troszkę drogie i ostatecznie zdecydowałem się na dwa. Czujniki linii to typowe dla takich konstrukcji transoptory odbiciowe (KTIR340K) podłączone za pomocą komparatora do mikrokontrolera co w zamyśle miało odciązyć mikrokontroler od obsługi przetwornika AC, ale prawdę mówiąc w przypadku mojego robota to rozwiązanie ma więcej wad niż zalet a to ze względu na to, że przedni i tylny czujnik są w innej odległości nad podłożem przez co cięzko jest ustawić odpowiedni próg za pomocą potencjometru(jest tylko jeden na wszystkie kanały).Aha no i jak widać na zdjęciach czujniki są troszkę głupio rozmieszczone bo wkońcu doszedłem do wniowsku, że lepiej by było gdyby były w narożnikach. energie wiesiowi zapewnia akumualtor litowo-polimerowy o napięciu znamionowym 11,1V i pojemności 500mAh.Silniki zasilane są bezpośrednio z akumulatora a częśc cyfrowa zasilana jest z 3 stabilizatorów z których jeden zasila procesor, drugi mostki H i czujniki a trzeci zapewnia napięcie 3,3v dla akcelerometru. Silnikami sterują mostki H TB6612 po jednym na silnik (kanały zostały połączone dla zwiększenia prądu ktorym mogą sterować). Na płytce znajduję się również akcelermetr który miał służyć do wykrywania zderzeń z przeciwnikiem ale nie został on jeszcze oprogramowany. Do głównej płytki za pomocą taśmy FFC podłączana jest płytka na której znajdują się 4 diody LED i 2 przyciski służące do sterowania robotem . Wyprowadziłem również złączne na którym dostępny jest UART gdzie można podłączyć moduł bluetooth. Software: Program był częscią której poświęciłem zdecydowanie najmniej uwagi i prawdę mówiąc to jest częśc którą można by jeszcze dopracować i dlatego narazie go nie publikuje, ale jeśli ktoś by chciał to mogę go przesłać. Podsumowanie: Jak widać w konstrukcji można by dużo poprawić, ale na usprawiedliwienie powiem, że był to mój drugi robot, wcześniej zbudowałem prostego linefollowera i konstrukcja wiesia była jak na tamten czas dośc dużym wyzwaniem któremu udało mi się sprostać i mimo wszystko jestem z tego projektu zadowolony, ponieważ spełnił on podstawowe zadanie jakim było zdobycie doświadczenia co pozwoli na ulepszenie konstrukcji w przyszłości filmiki dodam jutro, ponieważ dziś nie miałem dostępu do aparatu z kamerą pozdrawiam __________ Komentarz dodany przez: Treker Temat poprawiłem i opublikowałem.
  3. Witam wszystkich!! Chciałbym zaprezentować moją pierwszą i poważną konstrukcje mobilnego robota wielozadaniowego o nazwie eF11. Prace nad nim zacząłem jakieś 3/4 miesiące temu (lub nawet więcej). Wszystko testowałem na płytkach stykowych aż w końcu zacząłem projektować płytkę w programie CAD Eagle, jak i konstrukcję mechaniczną w programie Google SketchUp. Elektronika: Na płytce stykowej używałem Attiny2313, ale po jakimś czasie pomyślałem, że wykorzystam do tego robota Atmege8, ponieważ mogłem sobie pozwolić na więcej rzeczy, takich jak diody LED, czujniki podłoża (użycie ADC). Tak więc mózgiem robota jest Atmega8 o taktowaniu wewnętrznym 1MHz. Dwa czujniki przeszkody to Attiny13, tsop, dioda IR, rezystory i kondensatory. Do wykrywania linii służy płytka z pięcioma KTIR'ami, które będą podłączane do ADC. Jest też możliwość oświetlania drogi przez cztery białe diody LED 5mm. Sterownik silników to L298N na dwa silniki. Robot pracuje w dwóch trybach: 1. Sterowanie za pomocą pilota Rc5. 2. Omijanie przeszkód. Bot jest zasilany z pakietu Li-pol 2S 7,4V 300mAh. Wszyskie płytki zostały wykonane przeze mnie. Mechanika: Podstawą konstrukcji jest płyka alumiowa 2mm, do której są przykręcone śrubami M3 kątowniki aluminiowe 2mm. Gąsienice robota są napędzane silnikami N20 150:1 200 obr/min. Program: Program napisałem w Bascom'ie. Podsumowanie: Ogólnie jestem bardzo zadowolony. Zawarłem w tym projekcie wszystko co chciałem. Co najważniejsze nabrałem przy tym dużo doświadczenia, które posłuży mi przy następnych konstrukcjach Galeria: Filmik: Chciałbym podziękować użytkownikowi Sen za udostępnienie na forum płytki sterownika silników L298N. Jak i użytkownikom KD93 i klonyyy za projekt czujnika odbiciowego i innym!
  4. Witam, chciałbym przedstawić Wam moją najnowszą konstrukcję - robota, który za zadanie ma omijane przeszkód. Zbudowany z tego co mialem pod ręką i leżało w skrzynce. Elektronika. Przy tworzeniu części elektronicznej wzorowałem się na TYM projekcie. U mnie została przeprojektowana płyka, dodane zostało gniazdo do programowania, dodatkowe porty, gniazda zasilania, ledy... Zasilanie to bateria 9V (która przed chwilą padła, więc filmu na razie nie będzie) a do tego stablizator na Kontroler ATTiny2313 i driver - L293dne. Program został ten sam. Mechanika. Tu do powiedzenia mam więcej. Konstrukcja została całkowicie zaprojektowana przeze mnie. 'Podwozie' zbudowane zostało z polutowanego laminatu jednowarstwowego, zastosowałem dwa przerobione serwa TG9e, które w połączeniu z kołami z LEGO służą za napęd. Jako podpórka są dwie śrubry, które zastosowane są również do przykręcenia krańcówek do laminatu. Do wyczucia przeszkody zastosowałem dwie krańcówki przedłużone odpadami z plastikowych opasek zaciskowych. Robot zostanie jeszcze pomalowany na czarno, więc powinien się prezentować jeszcze lepiej. Następnie trafi do mojej dziewczyny, która kazała mi zbudować robota w kształcie serduszka mówiącego 'I Love You', niestety w chwili obecnej nie potrafie wykonać narzuconego mi przez nią zadania ;D . Masa - ok. 215 gram. Głowa - kawałek czarnej pleksy, którą zmatowiłem drobnym wodnym papierem ściernym, ponieważ był to stosunkowo stary kawałek z wcześniejszej konstrukcji a co za tym idzie był troszkę porysowany. Dodatkowo wsadziłem tam dwa 8mm LEDy. Głowa ma jedynie za zadanie efektownie wyglądać i wizualnie współgrać z wąsami poniżej. Koszt całkowity to około 40 zł, nie wiem dokładnie ile, ponieważ tak jak pisałem, dużo części miałem w domu. Na koniec - zdjęcia: Filmik: To wszystko, pozdrawiam
  5. Cześć, mam przyjemność przedstawić Wam moją najnowszą konstrukcję - robota klasy Femtosumo. Maleństwo nazywa się Felek. Zgodnie z wymogami klasy Femtosumo robot mieści się w sześcianie o krawędzi 10mm. Jego masa to 1,9g. Felek jest całkowicie autonomiczny. Posiada wszystkie niezbędne elementy jakie powinien mieć robot sumo. Konstrukcja robota nie jest bardzo skomplikowana. Przód robota. Od dołu widzimy czujnik linii GP2S60 Sharp'a, silnik przedni, koło lewe, dalmierz SFH7773 firmy OSRAM, żółty kondensator tantalowy, płytkę PCB. Na PCB od lewej taka wystająca miedziana blaszka to reset (tymczasowy), gniazdo programatora. Lewa strona robota. Na dole widzimy lewe koło i tył tylnego silnika, trochę wyżej pomiędzy nimi kondensator 100nF. Nieco głębiej widać mikrokontroler ATMEGA8 w obudowie TQFP32. uC jest odwrócony do góry nóżkami. Na nim znajduje się kilka elementów biernych i akumulator li-pol 8mAh 3V7 (takie duże, srebrne). Na samej górze płytka PCB. Robot widziany od tyłu. Widoczny jest tylny silnik, prawe koło, mikrokontroler i akumulator. Bardziej spostrzegawczy forumowicze pewnie zauważyli, iż wyprowadzenia uC są zlutowane parami, a do nich podłączony jest silnik. Otóż ATMEGA8 pracuje również jako sterownik silników. Cztery pary wyprowadzeń tworzą dwa mostki-H dla silników. PWM realizowany jest programowo. Prawa strona Felka. Z ciekawych rzeczy widzimy dwa miedziane przewody po lewej stronie biegnące od mikrokontrolera w górę na PCB. To linie z zewnętrznego kwarcu 16MHz, który znajduje się na górze konstrukcji. Rozwiązanie mało profesjonalne, ale zdaje egzamin. Widok od spodu. Widzimy tylny silnik i prawe koło, przedni silnik z lewym kołem oraz czujnik linii. Takie rozmieszczenie silników to jedyny sposób, aby zmieścić dwa tak duże napędy. Silniki pochodzą z wibracji nieznanych mi telefonów komórkowych. Koła odlane są z poliuretanu. Felgi wykonałem z kawałka czarnego plastiku pochodzącego z listwy goldpinów. Robot posiada tymczasowo jeden czujnik linii, ponieważ miałem tylko jeden sprawny. Felek widziany z góry. Na dole widoczne są wyprowadzenia akumulatora, nad nimi odwrócony do góry padami kwarc. W lewym górnym rogu zdjęcia widzimy gniazdo USB. Po prawej reset i dwa konektory służące do włączenia zasilania. Aby uruchomić robota należy przez nie przełożyć drutek. Konektorki wyjęte zostały z wnętrza pinu podstawki precyzyjnej dla układów w obudowach DIP. Oprogramowanie dla Felka zostało napisane w języku C. Nie ma w nim nic odkrywczego. Programowanie odbywa się z wykorzystaniem bootloadera USBasp ze strony: bootloader Rozwiązanie to nie jest najlepsze, ale podczas konstruowania robota nie miałem możliwości wykorzystać interfejsu UART. Na przyszłość polecam programowanie za pomocą UART. Felek wraz ze starszymi braćmi. Robot wymaga wymiany tylnego silnika, ponieważ czasem odmawia on posłuszeństwa. Podczas montażu musiał się przegrzać. Po wymianie silnika wrzucę filmik pokazujący jak Felek radzi sobie na ringu. Zbudowałem robocika w ciągu jednego weekendu. Elementy zakupiłem przez Internet. Są dostępne od ręki. Małe silniczki wibracyjne można czasem dostać na serwisach aukcyjnych. Więcej informacji gdzie kupić elementy można uzyskać na stronie . Zachęcam wszystkich do zbudowania robota klasy Femtosumo. Felek ucieszy się z przeciwnika w swojej klasie.
  6. Witam, konstrukcja została już zaprezentowana co prawda na innym forum ale pochwalę się i tutaj powstała przez jeden jesienny weekend. Nad poprawną pracą czuwa jeden z najmniejszych mikrokontrolerów w ofercie Atmela - 8-pinowy ATTiny13. Rolę czujników linii pełnią 3mm czerwone diody LED sprzężone z fototranzystorami. Konstrukcja napędzana jest dwoma przerobionymi serwami klasy micro, a jako trzeci punkt podparcia użyłem ślizgu w postaci plastikowej kuleczki. Płytka jest dwustronna, pokryta niebieską soldier-maską. Pełni ona jednocześnie funkcję konstrukcji nośnej. Źródłem zasilania jest bateria z telefonu Nokia 3310, na której robot potrafi jeździć około 2h bez przerwy! Dzięki użyciu tak małych elementów gabaryty robota wynoszą jedynie 65 x 65 x 35 mm! O sofcie słów kilka: kod źródłowy napisany w assemblerze. Posiada funkcję autokalibracji sygnału z czujników, więc wielokolorowe podłoże i zmienne oświetlenie są mu niestraszne radzi sobie bez problemu ze skrzyżowaniami oraz zakrętami, nawet o promieniu około 5cm. Jeśli chodzi o koszta to wszystkie elementy leżały już jakiś czas w domu z myślą o innych zastosowaniach, ale z tego co pamiętam: ATTiny13 - 4zł serwa - 2 x 15zł = 30zł diody LED - 3 x 0,40zł + 1,20zł fototranzystory - 3 x 0,80zł = 2,40zł rezystory - 8 x 0,01zł = 0,08zł tranzystory BC337 - 2 x 0,30zł = 0,60zł Schemat: Fotki całości: Krótki filmik: Pozdrawiam Grabo
  7. Przedstawiam Wam robota „Rush” klasy minisumo. Prace nad nim rozpocząłem w listopadzie w 2012r. i po ok. 5 miesiącach konstrukcja była gotowa. Pierwszym turniejem robota miał być Robomaticon, lecz z powodu awarii silnika nie mogłem wystartować. A teraz kilka słów o nim... Elektronika Całość elektroniki znajduje się na jednej płytce, która stanowi jednocześnie podstawę konstrukcji. Mózgiem robota jest procesor Atmega32 o taktowaniu zewnętrznym 16MHz. Jako czujnik przeciwnika wykorzystane zostały czujniki cyfrowe Sharp o zasięgu 40cm, ułożone w półokręgu, jeden patrzący w przód, dwa pod kątem 45° i 2 patrzące na boki. Do wykrywania linii służą cztery KTIRy, dwa z przodu i dwa z tyłu, podłączone do procesora przez komparator. Do zatrzymywania robota służy odbiornik TSOP. Sterowaniem silników zajmują się dwa mostki TB6612, po jednym na silnik. Robot zasilany jest z pakietu Li-pol 2S 700mAh. Płytka została wykonana w firmie Satland Prototype. Mechanika Podstawą konstrukcji jest płytka z elektroniką o grubości 1,5mm, do której przymocowane są silniki i metalowa obudowa. Robot napędzany jest dwoma silnikami Pololu HP 30:1. Koła składają się z felg wykonanych metodą druku 3D oraz opon odlanych z silikonu. Robot waży 470g. Program Program napisany został w bascomie. Robotem steruje regulator P. Osiągnięcia 3. miejsce – ROBO~motion 2013 Rzeszów Podsumowanie Ogólnie jestem zadowolony z konstrukcji, choć zawiera ona kilka niedociągnięć. Założenia zostały spełnione, nabrałem nowego doświadczenia, które na pewno przyda się przy budowie kolejnego robota. Zapraszam do zadawania pytań. Zdjęcia Filmiki (po więcej filmików zapraszam na kanał)
  8. Witam. Chciałem Wam przedstawić manipulator, który wykonałem w ramach pracy dyplomowej. Jest to mój pierwszy projekt tego typu, a ponieważ mój kierunek studiów niewiele ma wspólnego z automatyką i robotyką, zrobienie go było dla mnie dość dużym wyzwaniem. Bardzo pomocne okazały się artykuły znajdujące się na tym forum. Konstrukcja: Elementy manipulatora wykonane są z laminatu 1,5mm. Połączone są ze sobą głównie z wykorzystaniem śrub M3, M4, a w niektórych przypadkach są zlutowane. Podstawa manipulatora została zrobiona z panelu podłogowego. Elektronika: Do sterowania serwomechanizmami wykonałem prosty układ oparty na mikro-kontrolerze Atmega8. Komunikacja z komputerem została rozwiązana przez zastosowanie bezprzewodowych modułów MOBOT. Procesor zaprogramowany został w Bascomie, program jest bardzo prosty, bo jego zadanie polega tylko na odebraniu danych z USART i ustawieniu serwomechanizmów. Zarówno do zasilania układu jak i serw wykorzystałem delikatnie przerobiony zasilacz ATX. Napęd: W manipulatorze użyłem serwomechanizmów TowerPro MG995, SG-5010, SG-92R oraz GWS Mini L STD. Przy ich wyborze zwracałem uwagę głównie na cenę, co oczywiście negatywnie odbiło się na jakości pracy manipulatora. Obsługa: Do obsługi manipulatora napisałem program w MS Visual Studio 2010, sterowanie odbywa się za pomocą gamepada. Po za samym sterowaniem program umożliwia tworzenie i odtwarzanie sekwencji ruchów. Podsumowanie: Ogólnie jestem raczej zadowolony z tego co mi wyszło, ale jest kilka rzeczy, które chciałbym w przyszłości poprawić. Myślę, że najsłabszym punktem jest chwytak i to dosłownie, ponieważ ma bardzo małą siłę zacisku i można nim łapać jedynie lekkie rzeczy. Następną rzeczą do poprawki jest połączenie chwytaka z nadgarstkiem, ponieważ jest zbyt mało sztywne. Zdjęcia z różnych etapów pracy: Filmiki:
  9. Witam. Chciałbym Wam przedstawić mojego pierwszego robota klasy LineFollower o nazwie Turtle. Robot składa się z dwóch modułów. Po raz pierwszy zaprezentował się na zawodach ROBOmotion 2013 w Rzeszowie. Moduł czujników W module zastosowałem 5 transoptorów CNY70. Początkowo zostały one ułożone w linii prostej. Po pierwszych zawodach zmieniłem ich ułożenie poprzez przesunięcie 2 skrajnych sensorów w stronę modułu głównego. Czujniki są podłączone do kolejnych portów ADC mikrokontrolera. Wymiary modułu czujników to: 90 x 40mm. Moduł czujników połączony jest za pomocą listewek węglowych z modułem głównym. Moduł główny Płytka modułu głównego spełnia dwie podstawowe role: jest ona podwoziem dla robota oraz obwodem drukowanym. Wymiary: 90 x 70mm. Za przetwarzanie sygnału analogowego z czujników na postać cyfrową, realizacje algorytmu jazdy LineFollowera, a następnie sterowanie mostkami H i generowanie sygnału PWM odpowiedzialny jest mikrokontroler Atmega8 Jako sterownik silników zastosowany został moduł TB6612FNG. Jeden moduł odpowiedzialny jest za sterowanie dwóch silników. Do zasilania robota używam pakietu Li-Pol Turnigy nano-tech 300mAh. Bezpośrednio z akumlatora zasilane są silniki natomiast stabilizowane napięcie 5V w celu zasilenia pozostałej elektroniki zostało uzyskane dzięki przetwornicy S7V7F5. Napęd Napęd robota stanowią dwa silniki Pololu HP z przekładnią 30:1 na które zamontowane są koła wraz z oponami firmy Pololu o średnicy 32mm. Program Program został napisany w języku C. Zaimplementowany został algorytm PID z pewnymi modyfikacjami. Osiągnięcia 1 miejsce - Robocomp 2013 w Krakowie - LF Light Filmy Zamieszczam również dwa filmy które zostały nagrane u mnie w domu na prowizorycznej trasie. Za kilka dni postaram się dodać kilka nagrań z uczelni.
  10. Prezentuję moją najnowszą konstrukcję. Jest to robot klasy minisumo "Jeżyk". Jest to robot napędzany dwoma mocnymi silnikami firmy Dunkermotoren, poruszający się na gąsienicach i wyposażony w 8 czujników linii, 16 czujników przeciwnika, enkodery, układy do pomiaru poboru prądu i napięcia oraz ciekawy interfejs użytkownika. Robot posiada zwartą, solidną konstrukcję i estetyczny wygląd. PROJEKT: Projekt robota jak większość moich projektów wykonany został przy pomocy dwóch programów: Autodesk Inventor oraz Altium Designer. Nie będę się tu rozpisywał na temat projektu, przedstawię tylko efekty mojej pracy oraz przedstawię kilka pomysłów, które wykorzystałem. Płytki zderzaków oraz płytki boczne robota zostały ukształtowane tak, aby robot nie tracił przyczepności nawet gdy zostanie uniesiony. Płytki boczne dodatkowo ukształtowane są tak, że chronią gąsienice i utrudniają zaklinowanie koła klinem przeciwnika (rysunki poniżej). Na rysunku poniżej widać jak dzięki projektowaniu trójwymiarowemu i przeniesieniu całego projektu z Inventora do Altium Designera (a później z powrotem do Inventora) mogłem bardzo dokładnie rozmieścić elementy. Widać jak blisko są elementy umieszczone silników i przekładni. Czujniki linii zostały rozlokowane po dwa na każdym narożniku robota (strzałki wskazują czujniki na rysunkach poniżej). Dzięki czemu uzyskałem dużą odporność na uszkodzenia mechaniczne czujników, jak jeden zostanie uszkodzony to działa jeszcze drugi. Jeden z czujników został umieszczony pod kątem, dzięki czemu wykrywa on białą linię o kilkanaście milimetrów wcześniej niż czujnik skierowany prostopadle do podłoża. Pozwala to na osiąganie przez robota większych prędkości, ponieważ zwiększa się odległość jaką może wykorzystać robot na wyhamowanie przed krańcem ringu. Robot został wyposażony w 12 czujników Sharp GP2Y0D340K. Rozlokowane zostały ona tak, że każdy kolejny czujnik obrócony jest względem poprzedniego o 30 stopni. Tak duża ilość czujników pozwala zminimalizować martwą strefę, czyli powierzchnię ringu na, której może znajdować się robot przeciwnika niezauważony przez mojego robota. Ponieważ czujniki z przodu i z tyłu robota zostały umieszczone dość wysoko (ok 35mm, w przeciwieństwie do czujników umieszczonych bardzo nisko po bokach między kołami), robot został wyposażony w dodatkowe cztery czujniki przeciwnika zbudowane na bazie układów Sharpa IS471F umieszczonych na płytkach zderzaków nisko z przodu i z tyłu robota. Rozmieszczenie czujników przedstawione jest na rysunkach poniżej. Zderzaki robota zostały zaprojektowane tak, aby można było na nich zamontować kliny w formie blachy jak i w wformie kolców (widok poniżej). Przedstawione poniżej projekty płytek drukowanych mają na celu zaprezentowanie jak dokładnie można odwzorować w projekcie rzeczywisty układ (i przy okazji pochwalenie się efektami mojej pracy ) Płyta główna: Na płycie głównej robota zostało umieszczonych większość elementów: procesor, układ zasilania, mostki H, większość czujników, układ pomiaru prądu i napięcia, akcelerometr, odbiornik IR, klawiatura, złącza do pozostałych modułów (płytek), złącze programowania (tylko 4 styki), diody RGB, złącza do silników i włącznik. Płyta główna mocowana jest do robota za pomocą czterech czernionych śrubek M2. Do płytki przylutowane zostały 4 kabelki silikonowe zakończone konektorami (osłonięte koszulkami termokurczliwymi) do podłączenia silników. Moduł: Płytka modułu mieszczonego nad płytą główną została zaprojektowana tak, aby w jej miejsce można było zaprojektować inny moduł,. Np. Zwiększający możliwości robota lub z wyświetlaczem OLED. Na górnej stronie płytki umieszczone zostało 10 diod RGB oraz zbudowane z pojedynczych czerwonych diod LED 3 wyświetlacze siedmiosegmentowe. Na spodzie płytki umieszczony został moduł Bluetooth BTM-220 wraz z anteną. Płytki boczne: Płytki boczne zostały zaprojektowane tak, że lewa i prawa płytka są identyczne. Zostały na nich umieszczone dwa czujniki linii zamontowane na brzegu płytki i umieszczone pod kątem 45 stopni do podłoża, czujniki optyczne przetwornika obrotowo-impulsowego oraz jeden czujnik przeciwnika. Na płytce tej przewidziane zostały również otwory do zamontowania silników oraz miejsca na wlutowanie nakrętek M2 do których przykręcona zostaje płyta główna oraz klapka akumulatora. Zderzaki: Na płytach zderzaków zostały umieszczone dwa czujniki IS471F wraz z diodami nadawczymi oraz dwa czujniki linii. Dodatkowo na płytce umieszczone zostały pola lutownicze do których przylutowane zostały nakrętki M2, do których z kolei przykręcane są kliny robota. Klapka akumulatora: Efekt po wyeksportowaniu płytek z Altium Designer z powrotem do Inventora: ELEKTRONIKA: Do sterowania robotem wybrałem jeden z najnowocześniejszych mikrokontrolerów ośmiobitowych, mikrokontroler firmy Atmel z serii AVR ATXmega128A1. Wyposażony jest on w 128 kilobajtów pamięci flash, 8 kilobajtów pamięci SRAM oraz 4 kilobajty pamięci EEPROM. Zasilany jest napięciem z zakresu 1,6-3,6 wolta i może pracować z częstotliwością do 32 MHz. W projekcie wykorzystana została wersja mikrokontrolera w stu pinowej obudowie TQFP. Posiada on 78 programowalnych linii wejścia/wyjścia które w całości zostały przeze mnie wykorzystane. Mikrokontroler ten programowany jest poprzez interfejs PDI, który wymaga tylko podłączenia dwóch pinów mikrokontrolera (RESET/PDI_CLOCK oraz PDI_DATA) oraz zasilania (Vcc i GND). Do zasilania robota został wybrany akumulator o napięciu nominalnym 11,1 V, zbudowany z trzech ogniw litowo-polimerowych. Akumulator został umieszczony pomiędzy silnikami robota i mocowany jest przy pomocy przykręcanej klapki wykonanej z laminatu. Współcześnie większość elementów elektronicznych wykorzystywanych w zastosowaniach amatorskich (amatorskim zastosowaniem jest właśnie robot minisumo) zasilanych jest napięciem 3,3 V lub 5 V. W zbudowanym robocie wykorzystywane zostały elementy zasilane zarówno napięciem 3,3 V (m.in. mikrokontroler) jaki i 5 V (m.in. czujniki Sharp). Aby zminimalizować straty mocy podczas obniżania napięcia zasilania w układzie zasilacza zastosowane zostały przetwornice impulsowe. W układzie zasilania pracują dwie przetwornice ST1S10, jedna obniża napięcie do wartości 5V druga zaś do wartości 3,3 V. Przetwornica ST1S10 pracuje z częstotliwością nominalną 900 kHz i ma sprawność do 90%. Do współpracy z przetwornicami wybrane zostały kondensatory tantalowe low ESR (low Equivalent Series Resistance) oraz ceramiczne w obudowach SMD. Z każdą przetwornicą współpracują po dwa kondensatory tantalowe o pojemności 100 μF i ceramiczne o pojemności 22 μF. Napięcie wyjściowe przetwornicy ST1S10 ustalane jest za pomocą dzielnika rezystorowego. Wartości rezystorów (rezystory R68 - R70 widoczne na rysunku poniżej) zostały dobrane według wzorów podanych w nocie katalogowej układu ST1S10. Równolegle do rezystorów R68 i R70 podłączone zostały kondensatory ceramiczne o pojemności 4,7 nF. Kondensatory te są potrzebne gdy do wyjścia przetwornicy podłączona jest pojemność powyżej 100 μF i zabezpieczają układ przed zadziałaniem zabezpieczenia zwarciowego przetwornicy podczas włączania zasilania. Do włączania układu zasilania, a co za tym idzie całego robota wykorzystane zostały wejścia Enable układów, do których podłączony został niewielki przełącznik suwakowy. Poniżej przedstawiony został jeden z dwóch identycznych układów sterowania silnikiem prądu stałego. Jest to schemat przerysowany bez zmian z noty katalogowej układu VNH3SP30. W kodzie źródłowym programu robota (w załączniku) można znaleźć gotową napisaną przeze mnie bibliotekę obsługi dwóch układów VNH3SP30 dla mikrokontrolerów z z serii Xmega. Robot wyposażony został w układy pomiaru napięcia akumulatora oraz pomiaru pobieranego z akumulatora prądu. Pomiar napięcia dokonywany jest przy pomocy wbudowanego w mikrokontroler przetwornika ADC, który mierzy napięcie na wyjściu dzielnika (rysunek poniżej). Do pomiaru prądu wykorzystany został układ ACS715. MECHANIKA: Napęd robota stanowią dwa silniki komutatorowe prądu stałego (G30.2) wraz z przekładniami planetarnymi (PLG30) firmy Dunkermotoren (zdjęcie poniżej). Podstawowe parametry napędu: -waga 140 gram -moment znamionowy 4,05 Ncm -moment trzymający 11,34 Ncm -prąd znamionowy 0,6 A -prąd zwarciowy (rozruchowy) 1,4 A -napięcie znamionowe 12 V -znamionowa prędkość obrotowa (na wyjściu przekładni) 644 obr/min Jako koła wybrałem stosowane w przemyśle do przenoszenia napędu koła zębate 16T2.5 40/2F (zdjęcie poniżej). Koła te musiałem podtoczyć aby dopasować do projektu oraz aby zmniejszyć ich wagę. Gąsienice wykonałem z paska zębatego T2.5 o długości 200mm i szerokości 7mm. Pasek obkleiłem przy pomocy kleju cyjano-akrylowego paskiem gumy modelarskiej o grubości 1mm. Główny szkielet robota stanowią silniki wraz z przekładniami połączone płytkami laminatu (rysunek poniżej). Koła napędowe mocowane są do osi przekładni za pomocą dwóch śrubek umieszczonych w piaście koła. W koło wolne zostały wbite dwa łożyska kulkowe. Koło wraz z łożyskami umieszczone jest na wytoczonej z aluminium osi, która przykręcona została do silnika (mocując jednocześnie płytkę drukowaną) i zabezpieczone pierścieniem segera (rysunek poniżej). PROGRAM: Kod źródłowy programu znajduje się w załączniku. Program napisany został w darmowym środowisku programistycznym ECLIPSE, a do kompilacji programu posłużył darmowy kompilator GCC WinAVR. Kod programu odpowiedzialny za obsługę scalonych mostków H i pośrednio za sterowanie silnikami został napisany w formie biblioteki dołączonej do głównego programu. Dzięki czemu może być wykorzystany w innych projektach wykorzystujących dwa scalone mostki H VNH3SP30. Do obsługi przetworników ADC w które wyposażony jest mikrokontroler ATXmega128A1 (czyli pośrednio do obsługi czujników linii i przetworników obrotowo impulsowych) wykorzystane zostały gotowe biblioteki (www.atmel.com). Obsługa czujników przeciwnika odbywa się poprzez zwykłe odczytywanie stanu portów wejściowych do których podłączone zostały czujniki. Do sterowania diodami wykorzystane zostało sześć sygnałów PWM generowanych przez liczniki wbudowane w mikrokontroler. Ogólna struktura programu jest wspólna dla wszystkich dla wszystkich algorytmów walki i została przedstawiona w formie schematu blokowego na rysunku poniżej. Mikrokontroler po włączeniu i ustabilizowaniu się napięcia zasilającego przechodzi do wykonywania programu. Pierwszą czynnością mikrokontrolera jest ustawienie taktowania. Domyślnie mikrokontroler taktowany jest z wewnętrznego oscylatora 2MHz. Natomiast w programie taktowanie przełączane jest na wewnętrzny kalibrowany oscylator RC o częstotliwości 32MHz. Procedura przełączania źródła taktowania wygląda następująco: 1. włączenie oscylatora 32 MHz, 2. ustawienie dzielnika częstotliwości dla oscylatora 32 MHz, 3. oczekiwanie na ustabilizowanie się oscylatora 32 MHz, 4. zmiana źródła taktowania z oscylatora 2 MHz na oscylator 32 MHz, 5. wyłączenie oscylatora 2 MHz, 6. auto kalibracja wewnętrznego oscylatora RC 32 MHz. Po ustawieniu taktowania konfigurowane są porty oraz peryferia mikrokontrolera, a także układ przerwań. Następnie program oczekuje na wciśnięcie przycisku START. Jeżeli przycisk START zostanie wciśnięty i przytrzymany dłużej niż 1 sekundę program przejdzie do funkcji diagnostycznej, w której odczyty z czujników przeciwnika oraz linii można zaobserwować na diodach LED, a na wyświetlaczach siedmiosegmentowych wyświetlane jest napięcie akumulatora. Jeżeli przycisk START zostanie wciśnięty na czas krótszy niż jedna sekunda program przejdzie do odliczenia pięciu sekund i do wykonywania algorytmu walki. W ramach opracowywania programu dla robota powstały dwa algorytmy walki. Jako pierwszy powstał prosty algorytm decyzyjny realizujący prostą funkcję sterowania nadążnego. Uproszczona struktura algorytmu w formie schematu blokowego przedstawiona została na rysunku poniżej z lewej. Po rozpoczęciu odliczeniu pięciu sekund robot wykonuje krótkie szarpnięcie do przodu i do tyłu aby rozłożyć kliny. Następnie program wchodzi w główną pętle w której realizowana jest strategia walki. W pętli wykonywane są kolejno poszczególne elementy programu. Sprawdzane są wyniki konwersji przetwornika ADC. Jeżeli biała linia została zauważona czyli wynik jednego z pomiarów przetwornika ADC był poniżej założonego progu program przechodzi do funkcji obsługi czujników linii. Funkcja obsługi linii w zależności od tego w którym kierunku jechał robot i którym czujnikiem zauważył białą linię wykonuje kolejno: hamowanie, zmiana kierunku jazdy na przeciwny i skierowanie robota w kierunku środka ringu a następnie wraca do głównej pętli programu. Robot kierowany jest na środek ringu aby znaleźć przeciwnika i jednocześnie aby znaleźć się jak najdalej od krawędzi ringu tym samym utrudniając przeciwnikowi zepchnięcie z dohyo. Przetwornik ADC pracuje w trybie free run czyli kolejno wykonuje pomiary napięcia na wyjściu wszystkich czujników linii. Przetwornik taktowany jest z częstotliwością 250 kHz. Taka częstotliwość taktowania pozwala na wykonywanie pomiarów z częstotliwością 62,5 kHz (4 takty na pomiar) co dla ośmiu czujników linii sprawia, że każdy czujnik sprawdzany jest co 128 μs. Dla robota jadącego z prędkością 1m/s daje to około ośmiu pomiarów każdego czujnika na każdy milimetr przejechany przez robota. Jest to wystarczająca wartość aby robot był w stanie wykryć linię z minimalnym tylko opóźnieniem i wykorzystać to do wyhamowania i zmiany kierunku jazdy. Kolejnym etapem jest odczytanie stanu portów do których dołączone zostały czujniki przeciwnika i w zależności od tego czy przeciwnik został zauważony wykonywana jest odpowiednia reakcja lub program powraca do swobodnej jazdy po ringu. Funkcja wykonująca reakcję robota na zauważenie przeciwnika w zależności od tego który czujnik wystawił na wyjściu stan aktywny wykonuje obrót robota o odpowiedni kąt, tak aby robot ustawił się przodem lub tyłem na wprost przeciwnika. Jeżeli przeciwnik zostanie zauważony środkowym tylnym lub przednim czujnikiem robot z maksymalną prędkością zaczyna jechać (w przód lub w tył) aby uderzyć w przeciwnika.Ostatnią rzeczą wykonywaną w pętli głównej programu jest wyświetlenie na diodach stanu czujników oraz sprawdzenie czy nie wystąpiły zdarzenia mające zatrzymać robota. Robot może zostać zatrzymany na dwa sposoby. Poprzez naciśnięcie przycisku START w trakcie walki lub po odebraniu sekwencji impulsów z pilota sterującego. Jeżeli robot zostanie zatrzymany to program zatrzyma silniki, wejdzie w nieskończoną pętlę i będzie oczekiwać na wyłączenie zasilania. Drugim napisanym algorytmem sterowania robota w trakcie walki jest automat również realizujący funkcję podążania nadążnego Po rozpoczęciu walki robot rozkłada kliny i wchodzi do głównej pętli programu (rysunek poniżej z prawej). W pierwszej kolejności sprawdzane są stany portów do których podłączone są czujniki przeciwnika. Jeżeli przeciwnik zostanie zauważony z przodu lub z tyłu na wprost robota to program zapętla się. Ignorowane są wtedy odczyty czujników linii oraz pozostałych czujników przeciwnika. Ma to na celu zabezpieczenie przed zmyleniem robota gdy ten np. przechyli się na bok podczas przepychania przeciwnika i boczne czujniki zostaną skierowane w kierunku powierzchni dohyo lub gdy robot najedzie na klin przeciwnika i czujniki linii zwrócą wartość odpowiadającą najechaniu na białą linię. Podczas przepychania przeciwnika zmieniana jest prędkość obrotowa silników, ma to na celu zwiększenie przyczepności robota. Działa to w ten sposób, że współczynnik tarcia znacznie zmniejsza się gdy gąsienica zaczyna ślizgać się po ringu, zmniejszenie prędkości ma na celu zmniejszenie lub wyeliminowanie poślizgu i zwiększenie współczynnika tarcia. Uwzględnione zostało to, że robot może zauważyć przeciwnika więcej niż jednym czujnikiem na raz. Gdy robot nie widzi przeciwnika na wprost siebie sprawdzane są czujniki białej linii i wykonywana ewentualna reakcja (taka sama jak w algorytmie prostym). Jeżeli robot zauważy przeciwnika jednym (lub więcej) czujnikiem i nie znajduje się on na wprost robot wykona obrót o odpowiedni kąt tak aby jak najszybciej przeciwnik znalazł się na wprost z przodu lub z tyłu robota. Odczyt napięcia z czujników linii odbywa się w przerwaniu przetwornika ADC. Aby odciążyć program i zmniejszyć czas wykonywania się głównej pętli programu obsługa przycisku zatrzymującego robota oraz odbiornika podczerwieni odbierającego sygnały z pilota zostały umieszczone w procedurze obsługi przerwania. OSIĄGNIĘCIA: I miejsce na zawodach "Robomaticon" w Warszawie II miejsce na "Trójmiejskim Turnieju Robotów" na Politechnice Gdańskiej II miejsce na zawodach "RoboXY" na Politechnice Gdańskiej IV miejsce na zawodach "Robocomp" w Akadami Górniczo Hutniczej w Krakowie Robot brał również udział w Największych zaodach autonomicznych robotów mobilnychj w Europie „RobotChallenge the European championship for self-made, autonomous, and mobile robots”. Na mistrzostwach tych po przejściu dwóch faz eliminacyjnych wszedł do fazy finałowej do której dostało się tylko 16 najlepszych robotów z całej europy. Niestety z powodu awarii akumulatora robot przegrał pierwszą walkę fazy finałowej i odpadł z rozgrywek DODATKI: Robot powstawał z przerwami od 2008 roku. Powstało kilka prototypów. Prezentowany w tym temacie robot jest czwartą wersją Jeżyka. Poniżej dwa zdjęcia z budowy prototypów. Filmik z walkami jeżyka z zawodów RoboXY 2011: W załączniku znajduje się kod źródłowy programu. Jest w nim całkiem sporo komentarzy, więc mam nadzieję, że będzie on zrozumiały. Załączam również wyeksportowany z Inventora projekt w formacie STEP. Jest to okrojony ze szczegółów projekt 3D. Nie załączam projektów robota w Inventorze i w Altiumie ponieważ każdy z nich zajmuje kilkadziesiąt MB. Jeśli ktoś chce to mogę wyciąć z projektu w Altiumie schematy i projekty płytek (bez modeli 3D) i wstawić. robot z klapkami.rar Program.rar
  11. Speedy jest moim pierwszym robotem. Postanowiłem zrobić micromouse'a ze względu na dość prostą konstrukcję mechaniczną. Mechanika Podwoziem robota jest płytka PCB. Napęd stanowią dwa silniki pololu 10:1 HP z kołami 36mm. Całość zasila akumulator li-po 550mAh 2S. Jako trzeci punkt podparcia użyłem LEDów. Elektronika Jako mikrokontrolera użyłem atmegi168 z wewnętrznym taktowaniem 8MHz. Rolę mostka H pełni układ TB6612. Jako dalmierzy użyłem fototranzystorów l53p3c i diod tsal6400. Chciałem jeszcze użyć enkoderów as5040, jednak z powodu błędów konstrukcyjnych nie zostały zamontowane. Oprogramowanie Na początku chciałem użyć algorytmu flood-fill, jednak z powodu braku enkoderów musiałem wykorzystać regułę prawej dłoni. Program nie jest jeszcze do końca dopracowany i robot cały czas uderza w ściany (czasami się blokuje), ale po kilku popchnięciach dojedzie do celu . Podsumowanie Robot spełnia moje oczekiwania, czyli jeździ . Dużo się na nim nauczyłem, wiem jakich błędów unikać w przyszłości. Osiągnięcia I miejsce w kategorii MicroMouse na zawodach Robocomp 2013 w Krakowie
  12. Witajcie, Chciałbym tu przybliżyć plon mej pracy/zabawy. Około roku temu zacząłem się interesować robotyką. Analizowałem możliwości wykonania robota powiedzmy zabawki, który mógł by się poruszać w terenie (szeroko pojętym). W ruch poszły „Google”, fora i strony producentów. Była kwestia podjęcia decyzji co do rodzaju robota, a muszę przyznać, że roboty typu kroczące bardzo mi się podobają. Na początek zacząłem analizować proste roboty dostępne jako kity do składania, później mój wzrok padł na podwozie kołowe jako mniej skomplikowane (nawet mam całkiem ciekawe podwozie z samochodu zdalnie stertowanego), aż wreszcie pojawił się On – hexapod Od tego czasu zapałałem do niego wielką miłością. - rozpocząłem pracę nad analizą poszczególnych elementów składowych robota. Przy założeniach, że ostatni raz lutownicę trzymałem 20 lat temu, nigdy nie programowałem procesora (choć troszkę programów zwykłych napisałem za młodu) zadanie wydawało się mało realne zwłaszcza w wykonaniu robota tak skomplikowanego. Przyznam się że wykonując robota bardzo dużo elementów zaczerpnąłem ze strony lynxmotion.com i istniejącego tam forum – dotyczącego Robota Phoenix, oraz z strony robota MSR-H01 firmy Micromagic System. Tak czy inaczej Maniek powstał. Powstawał powoli ok. pół roku powoli w miarę możliwości czasowych, których jest nie za wiele... Poświęciłem na niego około 300 godzin jak nie więcej, czasem były tygodnie, że nic nie drgnęło, a czasem był tydzień że ... ummm, ale to między bajki włożyć... Ograniczenia przy wykonywaniu robota: - przede wszystkim jedno finansowe - chciałem zrobić robota taniej niż pierwowzory (i udało się), które są koszmarnie drogie, - mizerna znajomość elektroniki, - mała znajomość programowania procesorów, - zero znajomości robotyki. Dane techniczne robota: Konstrukcja: Robot 6 nożny potocznie zwany hexapodem wykonany z pleksi 3mm wycięte wg mojego projektu (wzorowałem się na rozwiązaniach konstrukcyjnych głównie Phoenixa, MSR-H01 oraz innych robotach tego typu z netu). Dla zapewnienia większej sztywności robota – główna płyta robota, która przenosi wszystkie obciążenia jest podwójna (2x3 mm), a dla zapewnienia ciekawszego wyglądu – nogi zostały wycięte we wzór imitujący włoski pająka. Użyto 18 serwomechanizmów Tower Pro 5010 do sterowania nogami oraz 1 serwo do sterowania sonarem. Główna płyta - Serce robota: Płytka Arduino Mega (strona www: arduino.cc) – rzekł bym super płytka dla laika – wiele wejść i wyjść w zasadzie brak ograniczeń co do programowania oraz bardzo obszerne forum z tysiącami rozwiązań problemów – to była wielka kopalnia informacji. Dla mnie bajka... (przyznam się, że pojęcia typu fuse byte itp., wywołują u mnie lekki dreszczyk z złym tego słowa znaczeniu). Programik zaprojektowany do programowania płytki pozwala w bardzo prosty sposób pisać i programować. Do tego gotowe biblioteki pozwalają w kilka chwil ( jak np: w moim przypadku ) oprogramować sobie klawiaturę PS/2 – akurat taką posiadałem zbędną w szafie). Sterownik serw: Z uwagi na to, że będę chciał rozbudowywać robota i nie chciałem wprowadzać ograniczeń na płytkę arduino (jest ona sama w stanie obsłużyć do 48 serw) co do częstotliwości wysyłania sygnałów – zastosowałem osobno sterownik serw SD 21. Do tego dodatkowo: Wyświetlacz cyfrowy + 3 przyciski - Do tego pozostało zrobić sobie wyświetlacz (dwie cyferki LED) oraz 3 mikrowłączniki do „programowania trybu pracy”. Płytka z dodatkowymi opornikami (połączenie arduino z sterownikiem serw) oraz Buzzerem. Buzzer – robot wydaje sygnał dźwiękowy –dla uproszczenia konstrukcji zastosowałem buzzer z generatorem. Zasilanie: Obecny etap – zasilacz komputerowy – osobne zasilanie serw i elektroniki W przyszłości – zasilanie z akumulatorów – osobno serwa, a osobno elektronika – kwestia do analizy, bo pobór prądu przez 19 serw jest duży. Czucie robota: Zastosowałem sonar SRF05 Waga: Konstrukcja z pleksi + zmontowane serwomechanizmy to 1,45 kg. Z akumulatorami dojdzie prawdopodobnie do ok 2,5 kg. Wszystko starałem się wykonać jak najestetyczniej, ale wybaczcie mi proszę wygląd mych płytek, bo dopiero co nauczyłem się lutować. Obecny tryb pracy robota: – praca na kablu – sterowanie przy pomocy starej numerycznej klawiatury numerycznej PS/2 do notebooka. Rozwój projektu w przyszłości (kolejność nie koniecznie taka jak poniżej): - praca autonomiczna – poruszanie się po terenie (płaskim i off-road), omijanie przeszkód przy pomocy sonaru, - praca demonstracyjna – robot stoi w miejscu, ale reaguje na bodźce (sonar – zbliżenie ręki), wykonywanie ruchów imitujących „żywy organizm” (poruszanie nogami itp.), - wprowadzenie odwrotnej kinematyki do programu robota ( obecnie pracuje na zaprojektowanych wychyleniach sczytywanych z tablicy w programie), - zastosowanie na stopach czujnika terenu co pozwoli na poruszanie się w nierównym terenie, - zastosowanie akumulatorów do zasilania robota, - inne.... ??? czas i możliwości finansowe pokażą... Poniżej portret Mańka: ------------------------- ==============
  13. Witam, Opisałem mojego pierwszego robota z mikrokontrolerem. Program napisałem w Bascomie. Bardzo krótki zresztą. Dla tego robota pierwszy raz sam zrobiłem schemat i wytrawiłem pierwszą PCB. Jego zadaniem jest jedynie omijanie przeszkód. Zastosowałem w nim: - 2x czujnik Sharp 10CM GP2Y0D810Z0F - Atmega8A - Stabilizator 5V 7805 - Silniki kątowe pololu - Koła pololu - Turnigy nano-tech 460mah 2S Przewidziałem goldpiny na 2 czujniki CNY70 i wyświetlacz LCD, ale jeszcze ich nie podpiąłem. Dodaję kilka fotek i schemat. Filmik może zrobię, ale za jakiś czas.
  14. Witam, jest mój pierwszy temat na forum więc proszę o wyrozumiałość. Chciałbym w skrócie opisać efekt (mojej oraz mojego kolegi) pracy inż. Robot został nazwany "TriHex" porusza się w trybie trójpodoporowym. Założeniami projektu było: - poruszanie się w trudnym terenie, - brak zdefiniowanego przodu, - zastosowanie kinematyki odwrotnej. 1.Mechanika: Robot został zaprojektowany w programie Catia V5. Elementy zostały wykonane z laminatu szklano-epoksydowego oraz giętego aluminium. Napędy to 12 serw TowerPro 995 (mają swoje zalety i wady) oraz 6 serw TowerPro 5010. Każda z nóg wyposażona jest w krańcówkę. Umożliwia to robotowi badanie terenu po jakim się porusza, a przez to dostosowanie ułożenia nóg do terenu. Konstrukcja nogi wygląda następująco: 2. Elektronika: Robot wyposażony jest w dwie płytki PCB. Jedna oparta o mikrokontroler Atmega8 odpowiada za: - pomiar stanu akumulatorów Li-Pol o łącznej pojemności 4400 mAh, - wyświetlanie wyników pomiaru na ekranie lcd. Druga płytka oparta została o układ Atmega32, odpowiada za: - obliczenia kinematyki, - wysyłanie poleceń do kontrolera serw (układ Pololu - sterownik Maestro18), - sprawdzanie stanów krańcówek oraz interpretację poleć wysyłanych przez bluetooth (robot wyposażony jest w prosty układ bluetooth działający jak zwykły RS-232) Oba mikrokontrolery pracują z częstotliwością 16 MHz. Zastosowano również układ BEC do zmiany napięcia akumulatorów z 7.4V na 6V. 3.Sterowanie: Robot sterowany jest zdalnie przy pomocy protokołu bluetooth. Posiada pewną autonomię ze względu na własne algorytmy znajdywania podparcia dla nogi oraz porusz się chodem trójpodporowym. Wszelkie obliczenia kinematyki oraz trajektorii ruchu nóg są obliczane na bieżąco w Atmedze32 (obawiałem się, że może nie wyrabiać ale się udało ) W ramach projektu została także napisana prosta aplikacja na środowisko Windows do obsługi robota. 4.Dalsze etapy rozwoju: W ramach rozwijania projektu chcemy zastosować akcelerometr, aby robot mógł utrzymywać poziom niezależnie od podłoża, zastosować inne typy chodu, a także zastosować dlamierze na korpusie, aby robot zyskał jeszcze większą autonomię. 5.Galeria o raz film: fot. Aneta Regulska Na zakończenie chciałem podziękować za tak przydatne artykuły znajdujące się na tym forum. Okazały się bardzo pomocne w konstrukcji naszego robota. __________ Komentarz dodany przez: Bobby Poprawiłem film na przyszłość - używaj tagów [youtube ]
  15. Witam! Przedstawiam mojego pierwszego robota minisumo, który powstał w ramach szkolnego koła robotyki ZONA, działającego przy II LO w Wałbrzychu. Robot spełnił moje oczekiwania wobec niego. Realizując ten projekt zdobyłem sporo cennego doświadczenia, które mam zamiar przekuć na kolejną maszynę. Phantom z założenia miał wystartować na zawodach RA 2012, jednak w wyniku nieziemskich problemów technicznych nie udało mi się go wtedy wystawić i po tej klęsce w zasadzie wymieniłem w nim wszystko z wyjątkiem kół i akumulatora. Krótki opis konstrukcji: - zastosowałem mikrokontroler ATmega16 i muszę przyznać, że bardzo tej decyzji żałuję. Brakuje mi w nim przerwań i timerów. - użyte mostki H to układy TB6612, zamontowałem po jednym na silnik. Jestem z nich bardzo zadowolony i na pewno użyję ich w kolejnej konstrukcji. - na płycie głównej umieszczone jest małe "gniazdo" tranzystorów, które z założenia miały być odpowiedzialne za sterowanie czujnikami przeciwnika własnego projektu, ale nic z tego nie wyszło bo prawdopodobnie uszkodziłem dwa wyprowadzenia ATmegi ładunkiem elektrostatycznym z palca... - jako czujników użyłem trzech detektorów przeciwnika opartych o układy TSOP2236 i dwóch CNY70 do wykrywania linii. Z ani jednych ani drugich nie jestem zadowolony. Czujniki - samoróbki da się, owszem. Tylko po co? Miałem z nimi zdecydowanie za dużo problemów i mój kolejny robot będzie korzystał ze znacznie bardziej niezawodnych Sharpów. CNY70 natomiast sprawdzają się, ale są zwyczajnie duże... - użyte silniki to 2x Pololu HP 50:1 - zastosowałem koła o średnicy 32mm z silikonowym ogumieniem. Felgi są wykonane na zamówienie. - akumulator to pakiet Redox 500mAh 7,4V. Oczywiście Li-PO. Wybrałem go ze względu na małe wymiary. - robot "fabrycznie" waży ledwie 300g, więc został dociążony odważnikami do wagi szalkowej owiniętymi taśmą izolacyjną. - obudowa jest wykonana z polutowanych ze sobą laminatowych płyt - to rozwiązanie przypadło mi do gustu, ponieważ jest proste w realizacji i daje wytrzymałą konstrukcję. - pług jest wykonany z aluminiowego płaskownika zaostrzonego pilnikiem. Teraz trochę filmików z walk I zdecydowanie najpiękniejsza walka w krótkiej karierze Phantoma : A to są schematy płyty głównej: Pozdrawiam wszystkich i życzę jak największej satysfakcji z własnych konstrukcji
  16. Witajcie, jest to ulepszona pod każdym względem wersja mojej pierwszej machiny MacLiner. Początkowy zarys konstrukcji pojawił się w mojej głowie po zawodach Sumo Challenge 2011, w których brałem udział (zająłem wtedy przedostatnie miejsce). Ta sytuacja bardzo zmotywowała mnie do stworzenia czegoś szybszego, zwinniejszego. Tak powstał MacLiner 2.0. Chciałbym serdecznie podziękować użytkownikowi Sabre, dzięki któremu mogłem liczyć na szybkie przesyłki z Chin i nieocenioną pomoc w innych przelewach. Dziękuje także Firmie SALTAND Prototype, która udzieliła mi ogromnej zniżki na obwody drukowane. Model w Inventorze Dzięki zastosowaniu najnowszych technologii jakie daje Pakie AutoCAD, mogłem z bardzo wielką dokładnością określić położenie wszystkich elementów. Plik w formacie .dwg został przekonwerowany za pomocą programu DXF2SCR na format, który mogłem w dalszym etapie otworzyć w EAGLE i takim sposobem miałem gotowy zarys obu płytek. Takie wariacje pomogły mi także w doborze frezów pod Enkodery. Do tego ostatniego z pewnością wrócę pod koniec opisu. Szkic z projektu zawarty na rysunku 1. rys.1 Model LF w programie Inventor Moduł Listwy z Czujnikami Jak dobrze wiadomo jest to element, na który działa największa siła bezwładności. W tej wersji zastosowałem parzystą liczbę czujników. Jest ich aż 20. Część osób pewnie stwierdzi, że jest ich dość sporo i tutaj się z Wami zgodzę, trochę przerost formy nad treścią, aczkolwiek ważne, że się sprawdza. Poniżej (rysunek 2) zamieściłem fotografię, na której widać rozstawienie sensorów linii (KTIR0711S). Pewnie zapytacie z czego zrobione są podpory, otóż jest to zwyczajna taśma izolacyjna - działała wyśmienicie . Dodatkowo robot został zaopatrzony w czujnik zderzeniowy (GP2Y0D340K). Posiada on zasięg 40cm. Robot jadąc z predkością powyżej 2m/s potrzebuje z dużym wyprzedzeniem określić gdzie znajduje sie przeszkoda(cegła). rys.2 Moduł listwy z czujnikami Zasilanie W przpadku użycia robota z turbiną oczywiste staje się, że trzeba zastosować źródło napięcia o dość dużej wydajności prądowej. Wybór padł na pakiet Li-Pol(rysunek 3) o napięciu znamionowym 7.4v, pojemności 300mAh i wydajności prądowej równej 13.5A. Masa pakietu wynosi 23 gramy. Musiałem go troszkę zmodyfikować, a konkretnie złącze, ponieważ w pierwotnej postaci łatwo było o pomyłkę. rys.3 Pakiet Li-Pol Dualsky (zdjęcie pochodzi ze strony Botland.com.pl) Bezpośrednio z pakietu zasilane są silniki oraz napęd tunelowy. Większość elementów (mikrokontroler, czujniki, logika stopnia mocy oraz moduł bluetooth) wymagały napięcia 5V. Postanowiłem zastosować do tego celu przetwornicę ST1S10PHR. Bardzo zdziwił mnie fakt, że dość spora liczba osób skarżyła się na ten element. Przykładem może być "strzelająca turbina", o której sporo czytałem na forum. Osobiście wszystkie ścieżki poprowadziłem zgodnie z notą katalogową i do tej pory nie mam z nią najmniejszych problemów. Wyjątkiem jest moduł Bluetooth, który na płytce posiada stabilizator liniowy Low Dropout na 3.3v(LM1117), lecz zasilam go z układu BEC wbudowanego w sterownik silnika 3F(tego od napędu tunelowego). Poniżej przedstawiam schemat blokowy całego zasilania (rysunek 4). rys.4 Schemat blokowy zasilania Chassis - czyli bazowy element Główna płyta(rys.5):parametry: laminat FR-4, grubość 2mm, na której umieszczone są elementy take jak : Mikrokontroler ATmega 128, moduł TB6612, komparatory LM339D, przetwornica ST1S10PHR, odbiornik TSOP2236, złącze programatora. Zdecydowałem sie na użycie tak potężnego 8 bitowego procesora z paru względów: ogromna ilość wejść/wyjść (53), dobre ułożenie pinów, interface UART połączony z liniami programatora, 8 przerwań zewnętrznych. Nie zastosowałem 2. procesora do dekodowania kodu RC5 ponieważ, wydawało mi się to zbędne. Płytka powinna mieć grubość 1.5mm, tak jak było to w planach (ale wiadomo firma także może się pomylić ). rys.5 Chassis Stopień mocy - TB6622FNG Jako sterownik silnikami zastosowałem gotowy, dwukanałowy moduł wyprodukowany przez firmę Pololu(rysunek 6). Doszedłem do wniosku, że nie warto stosować wiecej niż 1 mostek (przynajmniej na razie ). Wydajnośc prądowa tego układu to 1A na kanał. Zdażały się sytuacje, gdzie robot w fazie testów zwyczajnie uderzał w elementy przed nim (np. ściana), lecz mostek za każdym razem wytrzymywał. ATmega komunikuje się z mostkiem za pomocą 7 linii(4-odpowiedzialne za kierunek, 2- sygnały PWM, STBY- wyłączenie układu). rys.6 Stopień mocy Bluetooth- czyli zapanuj nad bestią Na pokładzie robota znajduje się moduł bluetooth (BTM-222). Jak juz wczesniej wspomniałem, zasilany jest on z układu BEC. Jego zadaniem jest zdalne startowanie i zatrzymanie robota. Robot dzięki temu może zostać "sterowny" z poziomu np. telefonu, komputera. Układ zamontowany jest na baterii za pomocą rzepu przemysłowego. Na rysunku 7 zamieszczona jest mozaika ścieżek. rys.7 Moduł Bluetooth Aplikacja na telefon została napisana przeze mnie w środowisku NetBeans w języku Java. Program przystosowany zarówno na telelefon zaopatrzony w ekran dotykoy jak i pospolitą klawiaturę. Rysunek 8 zawiera screen z aplikacji. rys.7 MacLiner 2.0 APP Turbina- Up to 2m/s Napęd tunelowy jest teraz nieodzownym elementem każdego szybkiego robota. To dzięki niemu robot jest w stanie utrzymać się na torze przy prędkościach 2m/s. Poszedłem utartą scieżką i postanowiłem zakupić EDF27. Silnik, który znajduje się w turbinie potrafi rozpędzić wirnik do zawrotnych prędkości (prędkość łopaty zwiększa się o 11000 obrotów na każdy wolt). Niestety zapłaciłem najwyższą cenę przed zawodami Sumo Challenge 2012. Podczas testów do turbiny dostało sie ciało obce, w wyniku czego wirnik wpadł w oscylacje scierając się o tunel turbiny. Oczywiście na kolejne zawody zaopatrzyłem sie w kolejną. Silnikiem steruje regulator PLUSH 6A. Poniżej (rysunek 8) zdjęcie popularnego napędu tunelowego. rys.8 Turbina EDF27 Napęd i Koła Robota *Napęd tworzą dwa silniki Pololu HP 10:1(wraz z tylną osią) *Parametry techniczne: *Obroty na biegu jałowym przy zasilaniu 6V: 3000 obr./min; *Prąd biegu jałowego (6V): 120mA; *Prąd szczytowy: 1600mA; *Moment obrotowy: 0,3 kg*cm (29 mNm); *Wymiary: 24 x 10 x 12 mm; *Masa: 10g Jako kół postanowiłem użyć znanych z mojej wcześniejszej konstrukcji - Pololu 32mm. Enkodery - Szósty zmysł W robocie zostało przewidziane miejsce na enkodery optyczne wymontowane z myszki. Będą one w przyszłości służyły do mapowania trasy oraz jednej ciekawej rzeczy(Wizja podczas snu ). Jeśli projekt z dodaniem enkoderów się uda, z pewnością się nim podziele. Program Program został napisany w języku C w środowisku AVR-Studio. Zaimplementowany algorytm proporcjonalno-rózniczkujący pozwolił na płynną jazdę z dużą prędkością. Częstotliwość wykonywania pętli głównej 90-100Hz. W przyszłości kod zostanie przepisany na jezyk niskiego poziomu jakim jest Asembler. Osiągnięcia III miejsce Line Follower z Przeszkodami Sumo Challenge 2012 (bez Turbiny) VII miejsce Line Follower Sumo Challenge 2012 (bez Turbiny) VII miejsce Line Follower Robotic Arena 2012 • I miejsce Line Follower Robo-NET 2013 Tips- porady Podczas zawodów przez przypadek można dojść do paru fajnych odkryć. Szczotki- powszechnie stosowane jako "magnes" na zanieczyszczenia kół. Mi osobiście wpadł także całkiem ciekawy pomysł. Stało się podczas Robotic Arena 2012. Moje włosy zawsze wymagały ułożenia przed jakimkolwiek wyjściem. Dlatego zawsze biorę ze sobą pojemnik z gumą do stylizacji włosów . W czasie poszukiwania lustra dostałem olśnienia- Dlaczego nie użyćby tego specyfiku do czyszczenia bieżnika opon przed startem...? Pomysł okazał sie strzałem w dziesiątkę! Filmy:(bez Turbiny) Galeria A tutaj zbiór fotografi: Płyta_Główna_Schemat.pdf Płytka_Czujniki_SCHEMATIC.pdf Program_Java.rar Płyta_Główna_PCB.rar Płyta_Czujniki_PCB.rar Bluetooth_Schemat_PCB.rar
  17. Witam Prezentuję mojego drugiego robota, jakiego zbudowałem w mojej karierze robotyki. Robot jest następcą Nany_1, który oczywiście został przedstawiony na forum. Prezentowany robot to platforma wielozadaniowa o nazwie Nana_2. Powstał specjalnie na potrzeby mojej pracy dyplomowej: "Projekt i badanie podstawowych układów elektronicznych robota mobilnego". Szybkie streszczenie budowy robota: Konstrukcja: - "pleksa", aluminium, - wymiar ramy podwozia: 35x25 cm - masa: 2kg Napęd: - 4 zmodyfikowane serwomechanizmy modelarskie Tower Pro SG-5010 - koła: prawdopodobnie pololu 90 mm Czujniki: - HC-SR04, ultradźwiękowy czujnik odległości 2-300cm - sharp analogowy GP2Y0A21YKOF 10-80cm - czujnik odbiciowy IR fala modulowana, detektor TSOP1736 - 2x czujnik odbiciowy IR (fototranzystor, dioda IR) fala niemodulowana - sharp cyfrowy GP2Y0D810Z0F 10cm - czujnik linii (3xTCRT5000) - czujnik temperatury, DS18B20 - czujnik światła, fotorezystor - moduł odbiornika GPS, FGPMMOPA2-P - akcelerometr, MMA 7361 (pulpit sterujący) Dodatkowe elementy: - 2x serwomechanizmy Tower Pro SG-5010 do obracania dalmierzami - 2x Mostek H (zmodyfikowana wersja z Nany_1) - odbiornik kodu RC5 TSOP32136 - moduły radiowe 2.4 GHz RFM70 - wyświetlacz graficzny, 128x64 KS0108 Układy logiczne: - główny mikrokontroler ATmega16 - mikrokontroler pomocniczny ATmega88 (wymiana informacji poprzez interfejs SPI) - mikrokontroler pulpitu sterującego ATmega16 Realizowane funkcje: - zdalne sterowanie podczerwienią - zdalne sterowanie za pomocą transmisji radiowej i akcelerometru - śledzenie linii - poruszanie autonomiczne - zbieranie informacji z czujników, oraz prezentowanie ich na pulpicie sterującym Filmik, mam nadzieję że nie usuną z powodu muzy;-) Przyszłość ?? hmmm. Zmiana napędu na wydajniejszy, wykorzystanie modułu GPS do autonomicznego odnajdywania wskazanego położenia geograficznego. Zobaczymy co z tego będzie. Pozdrawiam serdecznie
  18. Witam. Chciałbym przedstawić inną niż dotychczas konstrukcję linefollowera. Jest on wynikiem zabawy drukarką 3d. Zrobiony został dla satysfakcji oraz w celach pokazowych dla dzieci i młodzieży i nie jest to konstrukcja zawodnicza co zresztą widać. Ale do rzeczy: MECHANIKA: - napęd przekładnia tamiya 70168 - body z ABS wydrukowane na reprapie - koła również wydrukowane - opony z 4 pasków do magnetofonu Przekładnia walała mi się od dłuższego czasu. Miała pójść kiedyś do robota balansującego ale za duże luzy. Leżała, leżała aż wpadłem na pomysł zrobienia właśnie małego LF'a. Body z racji ograniczeń Reprapa wydrukowane w 2 etapach i potem sklejone. Niestety w trakcie zepsuł mi się termistor i przekłamywał i powierzchnia górnej części czyli m.in.całego przodu jest brzydka i matowa. Kółka narysowane na szybko w ramach pokazu i równie szybko pokazowo wydrukowane. Myślę że wyglądają ok. Przyczepność taka sobie . jak to guma. Kilka fotek: ELEKTRONIKA: - procesor Atmega328 z bootloaderem megaload - 5 czujników linii KTIR0711S podłączonych pod ADC - zasilanie silników z 1 lipola 1000mAh - zasilanie procesora i czujników z przetwornicy MCP1640 - wyprowadzony port szeregowy do którego podłączam moduł BlueTooth w celu programowania Na przetwornicę step-up zdecydowałem się ze względu na czujniki podpięte pod ADC oraz samo ich zasilanie. Bałem się że na pływającym zasilaniu utrudnione zostanie rozpoznawanie linii. Rozwiązanie jest dobre i do ostatnich mAh w akumulatorze LF jeździ prawidłowo. Jako drivery silników dałem pół-mostki. Silniki kręcą się tylko w przód. SOFTWARE: - program w bascomie demo - możliwe 5 programów jazdy wybieranych 2 switchami up i down. - pętla główna ok 300Hz - zaimplementowany regulator PD Jako że LF powstał w celach pokazowych zdecydowałem się od razu na kilka możliwości wyboru programu. Programów jest 5 i na obecną chwilę znajdują się tam ustawienia dla 5 różnych prędkości od wolnej do najszybszej. Najszybsza prędkość na chwilę obecną to sterowanie PWM'em max 40%. Przy większych prędkościach na tej krętej trasie nie wyrabia. Może pokuszę się o zmajstrowanie większej i mniej krętej trasy i podrasuję parametry. Filmik pokaże zabaweczkę w pracy przy mocy ok 35% mocy. Przy ok 40% jedzie ale wpada w poślizgi i wygląda jak jakiś niedorobiony drift. Wnioski: - silniki pozwalają na znacznie większą prędkość ale przy tej konstrukcji to ciężko to już wykorzystać - silniki biorą dość dużo prądu - same przekładnie hałasują i mają kupę luzów, do tego nei ma tam łożysk i wszystko o wszystko trze - koła mają małą przyczepność - 5 czujników to stanowczo za mało Dzięki za przeczytanie opisu. Pozdro Sławek
  19. Witam. Chciałbym przedstawić mojego kolejnego robota zbudowanego w celach edukacyjnych. Jest to pierwszy robot , który zbudowałem na uC. Celem robota jest ominięcie przeszkody po ówczesnym jej wykryciu, czyli zastąpienie micro przełączników cyfrowym sharp'em (poprzedni robot bazował na micro przełącznikach). Można mu również zaprogramować trasę przejazdu. Mechanika: Cała konstrukcja jest zbudowana z polutowanego laminatu, dość tanie rozwiązanie ale estetyka nie powala. Użyte gąsienice to Pololu 22T napędzane dwoma przerobionymi micro serwomechanizmami TowerPro, które są przymocowane za pomocą opasek samozaciskowych. Nie ma się tutaj co dużo rozpisywać, zdjęcia mam nadzieje wyjaśnią wszystko Elektronika: Sercem układy jest Atmega8A, której wszystkie porty zostały doszczętnie wykorzystane ;-)mostek H - L293D Trochę LED'ów , buzzer z generatorem, 3x micro switch, no i wtyk programatora. Jest to dwustronna płytka(pierwszy raz takową wykonywałem), część elementów jest polutowana w SMD. Program został napisany w języku BASCOM. Płytka zaprojektowana w PCB Express Program Napisany byle robot zadziałał, niedługo go dopieszczę i poukładam tak aby był bardziej czytelny, wtedy wstawię do tematu Poniżej taka namiastka $regfile = "m8adef.dat" $crystal = 1000000 Config Timer1 = Pwm , Pwm = 8 , Prescale = 1 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down Config Portc = Output 'konfiguracja portów Config Portc.5 = Input Config Portd.0 = Output Config Portb.0 = Output Config Portd.2 = Output Config Portd.1 = Output Config Portd.4 = Output Config Portd.6 = Input Config Portd.5 = Input Config Pinb.1 = Output Config Pinb.2 = Output '############## Portd.4 = 0 Waitms 80 Portd.4 = 1 ' da krótkie sygnały buzzera Waitms 80 Portd.4 = 0 Waitms 80 Portd.4 = 1 '############### Set Portc.5 Set Portd.5 ' LEDy Set Portd.6 Set Portd.4 Reset Portd.0 Reset Portb.0 Set Portd.2 Reset Portd.1 Wait 3 '$ POCZATEK PROGRAMU $ Do If Pinc.5 = 1 Then Reset Portc.0 Set Portc.3 Reset Portc.2 Set Portc.1 Debounce Pinc.5 , 0 , Odwroc , Sub ' jeśli wykryje przeszkode to odwróć Loop End ' Poczętak podprogramu do omijania przeszkody - nawracanie Odwroc: '################# Portd.4 = 0 Waitms 80 Portd.4 = 1 ' dwa krótkie sygnały buzzera Waitms 80 Portd.4 = 0 Waitms 80 Portd.4 = 1 '################# Portd.2 = 0 'zapal led czerwona Portd.1 = 1 'zgaś led niebiska Portc.0 = 0 'stop silnik A Portc.3 = 0 Portc.2 = 0 'stop silnik B Portc.1 = 0 'czekaj 0,4 sekundy Waitms 400 'wstecz silnik A Portc.0 = 1 Portc.3 = 0 'wstecz silnik B Portc.2 = 1 Portc.1 = 0 'czekaj 0,3 sekundy Waitms 300 'jedz silnik A Portc.0 = 0 Portc.3 = 1 'wstecz silnik B Portc.2 = 1 'czekaj 0,4 sekundy Portc.1 = 0 Waitms 450 'zgaś led czerwona Portd.2 = 1 Portd.1 = 0 Return 'powrót Zasilanie Zwykle zasilałem swoje roboty za pomocą baterii R6. Obawiałem się rygorystycznych zasad korzystania z lipo :-> Jednak teraz zainwestowałem w ładowarkę E-sky i robota zasilam za pomocą lipo Dualsky 400 mAh. Ogromny komfort i koszty zwracają się po kilku godz. użytkowania Koszty: -elektronika ok. 50 zł - gąsienice wyrwałem nowe ale rozpakowane na allegro za 20 zł - lipo - 20 zł Doliczając laminat, opaski itp. w 100zł się całość zamknie. To jest przybliżona kwota, nigdy nie liczyłem, ponieważ nie kupowałem wszystkiego od razu i część elementów już miałem. :-> Zdjęcia: Na zdjęciach widnieje jeszcze czujnik podczerwieni, jednak nie działał on zadowalająco i został zamieniony na cyfrowego sharp'a 10 cm. Filmik: Czekam na jakieś opinie Dzięki za przeczytanie mojego tematu Pozdrawiam :->
  20. Pragnę przedstawić mojego najnowszego robota klasy linefollower. Projektowany był głównie przez wakacje 2012. Po wakacjach płytki zostały wycięte, wytrawione i polutowane. Chciałem zdążyć na zawody Robotic Arena 2012 – pierwszą rocznicę moich startów w zawodach. Celem było jak najbardziej zbliżyć się do czołówki(dlatego robot ten jest wzorowany na innych konstrukcjach z odrobiną własnej fantazji) i zobaczyć jaki jest progres po roku. Elektronika Płytki, w celu obniżenia kosztów, zostały wykonane samodzielnie za pomocą termotransferu, a następnie wytrawione. Lutowanie było sporym wyzwaniem z racji sporej ilości przelotek. Czujniki linii to standardowo 19 czujników KTIR0711S podłączonych przez komparatory LM339 do uc Atmega128A . Silniki sterowane są przez moduły sterowników TB6612FNG (po jednym na silnik – zmostkowane kanały). Turbina sterowana jest przez sterownik H-KING 10A. Na płytce znajduje się TSOP31236, który umożliwia odbiór komend z pilota. Mechanika Konstrukcję stanowią płytki PCB. Robot jest napędzany przez 2 silniki Pololu HP 10:1 wraz z kołami wytoczonymi z poliamidu. Standardowo użyta została też turbina EDF27. Program napisany jest w C. Do sterowania używam PD. Dotychczasowe wyniki: 5. miejsce na zawodach Robocomp 2012 w Krakowie 6. miejsce na zawodach RoboticArena 2012 we Wrocławiu Niestety nie posiadam żadnych przejazdów z Wrocławia, ale mam nagranych kilka przejazdów z Krakowa(robot jeszcze nie był dobrze wysterowany i bujał się na prostej): Podsumowanie Ogólnie jestem zadowolony, główne cele zostały zrealizowane, ale czuję mały niedosyt . Mimo, że robot jest naprawdę szybki, bardzo dużo nauczyłem się przy jego budowie i zbliżyłem się mocno do czołówki, może nawet lekko chłopaków postraszyłem na RoboticArenie(albo raczej zaskoczyłem), to jednak pozostaje drobne rozczarowanie, bo dwa razy finał przeszedł mi koło nosa . Ale apetyt rośnie w miarę jedzenia, pół roku temu takie wyniki raczej brałbym w ciemno, więc dzisiaj mogę powiedzieć, że jestem w miarę zadowolony(jest motywacja )
  21. Przedstawiamy konstrukcję dwukołowego robota typu line follower o nazwie GreenNight. Konstrukcja oparta jest w całości na laminacie 1,5mm. Jako napęd wykorzystane zostały dwa silniki Pololu HP 30:1. Dodatkowo w celu polepszenia docisku zastosowany został napęd tunelowy. Mechanika Pod tym względem konstrukcja jest bardzo prosta. Napęd stanowią dwa silniki Pololu HP 30:1. Podporą przednią jest ball caster plastikowy. Koła zostały wybrane metodą prób i błędów. Przetestowaliśmy różne modele (Koła solarbotics, koła Pololu , koła Lego). Ostatecznie wybraliśmy koła Lego. Mają one bardzo dobrą przyczepność, dodatkowo na rynku dostępnych jest wiele modeli o różnych średnicach opon co daje duże możliwości manewru. Ciekawostką jest zastosowany napęd tunelowy. Znacznie poprawia docisk co za tym idzie ułatwia dobór nastaw regulatora. Silnikiem napędzającym turbinę jest Graupner 280. Pomysł użycia napędu tunelowego zaczerpnięty z robota Hurricane chłopaków z Krakowa. Elektronika Robotem steruje mikrokontroler firmy Atmel z rodziny AVR Atmega128. Jako sterowniki silników wybrane zostały dwukanałowe mostki H TB6612. Po jednym mostku na jeden silnik(kanały zostały połączone). Takie rozwiązanie daje spory zapas prądowy (nie trzeba się martwić o zniszczenie układów). Napędem tunelowym steruje MOSFET z kanałem N IRL540N. Do którego poprzez wzmacniacz tranzystorowy poprowadzony został sygnał PWM z mikrokontrolera. Jako stabilizator napięcia na układy logiczne zastosowany został układ przetwornicy step-down (ST1S10PHR). Regulator impulsowy został wybrany ze względu na jego wysoką sprawność. Użycie stabilizatora liniowego spowodowało by sporą stratę mocy (Zasilanie 12V). Do wykrywania linii użyte zostały czujniki KTIR0711S (15 czujników ułożonym po okręgu oraz dwa wysunięte do przodu po bokach). Analogowy sygnał z sensorów zamieniany jest na cyfrowy przy użyciu komparatorów LM339 następnie podawany na piny mikrokontrolera. Na płytce z czujnikami przewidziane jest miejsce na czujnik odległości. Dodatkowo powstała płytka drukowana z przyciskami i wyświetlaczem LCD oraz pcb do obsługi pilota. Pierwsza służy do ustawiania parametrów oraz sprawdzania poprawności działania czujników oraz regulatora. Układ podpinany jest do robota poprzez 12-pinowe złącze. Na drugiej natomiast znajduję się dodatkowy mikrokontroler Atmega8 odpowiedzialny za dekodowanie sygnału z pilota (kodowanie RC5). Z procesorem głównym komunikuję się za pomocą jednej linii sygnałowej (generuje przerwanie). Płytki wykonane zostały w warunkach domowych. Sterowanie W robocie zaimplementowany został regulator PD. Do czujników zostały przypisane odpowiednie wartości błędów. Nastawy zostały dobrane doświadczalnie. Na tej podstawie algorytm wylicza korektę czyli sygnał PWM podawany na sterowniki silników. Podsumowanie Robot powstał w dwóch egzemplarzach różniących się miedzy sobą kolorem (zielony - GreenNight i czerwony riddle). Dwie takie same konstrukcje pozwoliły nam testować różne rozwiązania i porównać je miedzy sobą np. wybór opon, nastaw regulatora, moc turbiny. Masa robota bez baterii to 230 g. Realna średnia prędkość na trasie to 1,8 m/s. Koszt wykonania robota około 500zł. Filmy GreenNight - Robotchallenge Wiedeń 2011 GreenNight - Cybairbot Poznań 2011 riddle - Cybairbot Poznań GreenNight - Robo3DVision Gdańsk 2011 Film z turnieju Robo3DVision Gdańsk 2011 - finały Line follower od 4:10 GreenNight - Roboxy Gdańsk 2011 Przejazdy finałowe z turnieju Roboxy Gdańsk 2011 Zdjęcia: Osiągniecia: 2. Miejsce Międzynarodowy turniej robotów w Wiedniu - Robotchallenge 2011 1. i 2. Miejsce Międzynarodowy turniej robotów w Pradze - Czech Robotic Day 2011 2. Miejsce Turniej robotów w Krakowie - Robocomp 2011 1. i 2. miejsce Turniej Robotów w Poznaniu - Cybairbot 2011 1. Miejsce Turniej Robotów w Gdańsku - Robo3DVision 2011 1. i 2. miejsce Turniej Robotów w Gdańsku - Roboxy 2011 Autorzy projektu: - Szymon Mońka - Bartosz Derkacz main_sch.pdf czujniki_sch.pdf czujniki_pcb.pdf LCD.pdf tsop.pdf main_pcb.pdf
  22. Witam Chciałbym przedstawić wam robota Silver Shaft klasy line follower (nazywany też SS skrót powstał podczas bardziej luźnych rozmów na chacie ). Postęp prac można było śledzić w worklogu. Prace nad robotem zacząłem w sierpniu 2011 roku, później prace mocno spowolniły z powodu braku czasu. Od połowy lutego tego roku wziąłem się do pracy zrobiłem płytkę, którą już wcześniej zaprojektowałem, polutowałem, napisałem pierwszą wersję programu i przeprowadziłem pierwsze próby. W marcu wystartował w zawodach Robomaticon zajmując 13 miejsce, co i tak było sukcesem jak na 3 dni (a właściwie popołudnia) na napisanie programu od podstaw i przeprowadzenie pierwszych prób. Szczerze mówiąc robot zaczął przyzwoicie jeździć w dzień zawodów ok.2 w nocy . Od tego czasu wprowadziłem kilka modyfikacji, zarówno sprzętowych jak i programowych. Kończąc wstęp, przejdźmy do konkretów. SPECYFIKACJA Wymiary: 120x80x32mm Waga samego robota: 75g Waga robota z akumulatorkiem: 86g Średni pobór prądu logiki: 130mA Średni pobór prądu logiki bez czujników linii: 45mA Coś dla miłośników anaglifów: Proces lutowania: MECHANIKA Konstrukcja mechaniczna jest bardzo prosta i powiedziałbym typowa dla robotów tej klasy. Robot składa się z trzech płytek drukowanych, głównej, płytki z czujnikami linii i z cyfrowym dalmierzem. Płyta główna ma 1,5mm grubości, pozostałe są jednostronne i mają grubość 0,8mm. Płyta główna jest jednocześnie podwoziem robota. Wykonanie płytki głównej zajęło mi dużo czasu z powodu złych ustawień drukarki (Pierwsza płytka dwustronna na nowej drukarce). Po zmianie ustawień i zmarnowaniu 3 płytek wielkości robota, płyta główna wyszła idealnie, bez żadnych zerwanych ścieżek i tylko z jednym, w sumie nieistotnym zwarciem przy podświetleniu led, oraz przesunięciem między warstwami <0,5mm, które jak na trzecią dwuwarstwówkę było i tak niewielkie. Napęd robota stanowią dwa silniczki pololu HP z przekładnią 30:1 wraz ze standardowymi kołami 32mm. i mocowaniami, które swoją drogą były kompletnym niewypałem (łącznie złamały się 8 razy, za każdym razem w innym miejscu). Rolę podpory przodu stanowi plastikowa kulka 3/8 cala. MONTAŻ Płytka została pocynowana „mechaniczne”, własnej roboty pasta + tasiemka odsysająca + trochę cyny i wprawy. Większość elementów typu rezystory, czy kondensatory są w obudowach 0805, wyjątek stanowią 4 rezystory 330R ograniczające prąd diod Ir w transoptorach. Pierwotnie były tam rezystorki o mniejszej wartości, jednak z powodu grzania się KTIR’ów zostały wymienione, a jako, że nie miałem odpowiedniej ilości w 0805, zostały zastąpione większymi wersjami 1206. Całość polutowana grotówką. Płytka z czujnikami została zamontowana na stałe i trzyma się na listwie goldpin, która jednocześnie stanowi połączenie elektryczne między nią a płytą główną. ZASILANIE Całego robota zasila pakiet Li-Pol 2s zlutowany z dwóch pojedynczych ogniw 450mAh firmy Batimex. Tu chciałem zaznaczyć, że wiem o istnieniu pakietów 2s. Złożyłem je sam, ponieważ potrzebowałem pakietu o nietypowych wymiarach, a nie miałem czasu na zamawianie w HK. Logika zasilana ze stabilizatora LM1117 na 5V, silniki z przetwornicy ST1S10PHR ustawionej na 6V, lub bezpośrednio z pakietu (wybór zworką). W tylnej części płytki mieści się wyłącznik zasilania z sygnalizacją włączenia i układ pomiaru baterii z diodą led informującą o spadku napięcia poniżej ok.6,6v – wtedy to na wyjściu przetwornicy napięcie zaczyna spadać poniżej 6v. Akumulator starcza na ok. 15-20 min testów. ELEKTRONIKA Schemat i wzór pcb eksportowany z programu EAGLE. Mózgiem robota jest ATMega32 taktowana zegarem 16MHz. Rolę czujników linii stanowi 8 transoptorów odbiciowych KTIR0711S, odczyt na wbudowanym w atmege adc.Tu muszę zaznaczyć, że trafiłem na wadliwą sztukę KTIR’a miał lekko zdeformowane „szybki” pod diodą Ir i fototranzystorem, i dawał zawyżone wartości (ok. 150 więcej 10 bitowego adc) mała korekta w programie zniwelowała rozbieżności, niemniej uważam, że czujniki są świetne. Sterowanie silnikami odbywa się za pomocą mostka H TB6612 jeden na oba silniki. Pwm o częstotliwości trochę ponad 7Khz. Na przodzie robota znajduje się zamontowany stosunkowo niedawno dalmierz cyfrowy sharp 10 cm GP2Y0D810Z0F. Nie spotkałem się z nim w żadnym innym lf’ie. Przyznam, że wątpiłem w jego praktyczną użyteczność, okazało się jednak, że robot jest w stanie wyhamować z pełnej prędkości w ok. 2-3cm, a czujnik działa na tyle szybko, że mam jeszcze spory zapas przed przeszkodą. Czujnik może pełnić dwie funkcje (wybierane zworką). Chamowanie i wznowienie jazdy dopiero po usunięciu przeszkody, lub omijanie jej. Dzięki temu, robot może startować w konkurencji line follower z przeszkodami. Do komunikacji użytkownik – robot, zamontowane zostały dwie diody led, dwa przyciski, odbiornik Ir TSOP4836, oraz złącze 10 pinowe na którym poza wyprowadzeniem zasilania i spi do programowania jest I2C i uart, umożliwiające podpięcie dodatkowych modułów (w tej kwestii wypowiem się, gdy napiszę i opublikuje pewien artykuł ) PROGRAM Program napisany w Bascomie, na dzień dzisiejszy zawiera nieco ponad 600 linijek kodu i jest to 6 wersja programu, zajmuje 10% z 32KB pamięci Flash. Program można podzielić na dwie główne części: 1.Część odpowiedzialną za jazdę a.Sprawdzenie stanu dalmierza b.Odczyt analogowy z czujników linii c.Konwersja wartości analogowych na binarne d.Wyliczenie położenia linii metodą średniej e.Przekazanie uchybu regulatorom f.Naniesienie korekty pwm na silniki 2.Część serwisowa a.Wyłączenie podświetlenia, wprowadzenie mostka w stan stanby b.Wysłanie zapytania i oczekiwania na odpowiedź po uart z aplikacji PC c.W razie braku odpowiedzi, przejście do trybu konsolowego d.Oczekiwanie na id zmiennej i jej wartości e.Zapis nowej wartości zmiennej do pamięci Regulator Proporcjonalno Różniczkujący, z czego człon D wymaga jeszcze dopieszczenia. Pojawił się już w 2 wersji programu, jednak do niedawna bardziej przeszkadzał, niż pomagał, dlatego podczas większości testów był wyłączany. Aktualizacje w kolejnych wersjach: 1.-; 2.Dodanie regulatora D, trybu serwisowego, odliczania przed startem, 3.Naprawienie błędu uniemożliwiającego pokonanie kąta prostego, efekty led przy starcie i zatrzymywaniu 4.Dodanie obsługi dalmierza 5.okiełznanie D, dynamiczne omijanie przeszkód, 6.poprawa wydajności programu - uproszczenie liczenia uchybu, integracja z programem PC w planach: Ulepszenie D, rozwinięcie możliwości komunikacji z PC, płynne i łatwo regulowane omijanie przeszkód, optymalizacja kodu oraz coś o czym dowiecie się przy publikacji artykułu OSIĄGNIĘCIA 13 Miejsce na Robomaticonie 2012 w kategorii Line Follower. Kilka zdjęć i filmików z robotem. Silver Shaft na starszym bracie "drewnobocie" Ok godziny po pierwszej jeździe z czujnikami: 3 dni później: Jazda próbna na torze Robomaticonu w Warszawie: Jedna z ostatnich jazd: Tor w wersji z przeszkodami- przy drugim okrążeniu lekko zawadził o przeszkodę, ale wielkość łuku była podyktowana wielkościami pierwszej trasy, i jest "na styk": (nagrywał sosnus) PODZIĘKOWANIA Dziękuję wszystkim, którzy przedstawili sugestię i krytykę, w worklogu. W szczególności Sabre, oraz jego robotowi Tsubame, który był poniekąd inspiracją dla tego lf'a. Dziękuję osobom z chatu za pomoc w mniejszych problemach, np. grzanie się ktirów, czy problem z komunikacją po spi, przede wszystkim bobb'iemu i KD93. Dziękuję Turlaczowi za "troskę" i codzienne pytanie "jak tam SS?" Dziękuję Sosnusowi, za pomoc w teoretycznych aspektach dokładności liczenia uchybu, wspólne testowanie robota i zmian w programie, oraz mile spędzony weekend. Czekam na słowa krytyki, oceny i pytania. Dziękuję
  23. Przedstawiam państwu wersję β (beta) projektu o oznaczeniu T102. Celem projektu było udowodnienie że możliwe jest zbudowanie modułów umożliwiających zdalne sterowanie dalekiego zasięgu (minimum 5-8km max - globalny), mieszcząc się w kwocie 15PLN (elektronika) i zapasie dostępnych w domu każdego majsterkowicza części. Do tego celu zostały użyte następujące rzeczy: Moduł sterująco-odbiorczy (Attiny2313, MT8870, L293D) 2 przerobione serwomechanizmy modelarskie. Zużyty łańcuch i zębatki rowerowe. 2 PMR (private mobile radio [krótkofalówki]) 4xAA 2700mAh 4xAAA 900mAh Korpus wykonany z aluminium łączony stalowymi śrubami Korpus po zmontowaniu prezentuje się następująco: --------------------------------------------------------------------------------------- Elektronika. Schematy: Układ sterujący: Płytka Ukł. sterującego: Dekoder DTMF: Płytka dekodera: Mostek H: schemat: Układ: Kilka słów o zasadzie działania. Do przesyłania komend wykorzystujemy system DTMF (ang. Dual Tone Multi Frequency) - który wykorzystując modulację MFSK (ang. Multiple frequency-shift keying) kluczuje się dwie częstotliwości. Sygnał DTMF jest stworzony do przesyłania torem audio - wobec czego idealnie nadaje się do przesyłania wszystkimi służącymi do tego celu urządzeniami (telefony, krótkofalówki, radia CB, VoIP itp.) W mojej platformie użyłem dwie krótkofalówki, które praktycznie nie nadają się do rozmawiania (straszna jakość rozmowy). W ten sposób dostały one nowe życie, bo sygnał DTMF przesyłają wyśmienicie. Jako nadajnik pracuje zestaw dwóch urządzeń - krótkofalówka i generator dtmf - telefon nokia 6120. Połączone są one wyjściami zestawów słuchawkowych (przewód jack2.5-jack2.5 podłączony do głośnika ze strony nokii i mikrofonu ze strony krótkofalówki) Wykorzystując wszystkie urządzenia audio możemy miedzy innymi nagrywać trasę robota edytować itp, itd Dekodowaniem DTMF (dźwięku klawiatury nokii) zajmuje się układ MT8870 Na końcówce StD układu MT8870 pojawia się stan wysoki w momencie odebrania i zdekodowania prawidłowego kodu DTMF na końcówkach q1-q4 układu zostaje zatrzaśnięty kod odebranego znaku. Czyli: Jeżeli naciskamy guzik w telefonie - na końcówce StD pojawia się 1 a na końcówkach q1-q4 jest np 1001 jeśli puszczamy guzik w telefonie na StD pojawia sie 0 a na końcówkach q1-q4 jest np 1001 Przetworzeniem tych pięciu zer i jedynek i zamienianiem na ruch zajmuje się ATtiny 2313 Robi to on w następujący sposób: $regfile = "2313def.dat" $crystal = 8000000 'określenie uC '$noramclear Config Portb.3 = Input Config Portb.2 = Input Config Portb.1 = Input Config Portb.0 = Input Config Portd.6 = Input Config Portd.2 = Output Config Portd.3 = Output Config Portd.4 = Output Config Portd.5 = Output Motor_lp Alias Portd.2 'Określenie portów sterujących silnikami przez mostek Motor_lt Alias Portd.3 Motor_pp Alias Portd.4 Motor_pt Alias Portd.5 'Określenie portów wejściowych (dekoder) Sygnal Alias Pinb.3 A Alias Pinb.2 B Alias Pinb.1 C Alias Pinb.0 D Alias Pind.6 'Polecenia wydawane na podstawie stanów wejściowych: Do If Sygnal = 1 And A = 0 And B = 0 And C = 1 And D = 0 Then Gosub Prosto Elseif Sygnal = 1 And A = 0 And B = 1 And C = 1 And D = 0 Then 'Skręć w lewo Gosub Prawo Elseif Sygnal = 1 And A = 0 And B = 1 And C = 0 And D = 0 Then 'Skręć w lewo Gosub Lewo Elseif Sygnal = 1 And A = 1 And B = 0 And C = 0 And D = 0 Then 'Skręć w prawo Gosub Tyl Elseif Sygnal = 0 Then Gosub Stopp End If Loop Prosto: 'Tryby pracy silników dla poszczególnych ruchów Motor_lt = 0 Motor_pt = 1 Motor_pp = 0 Motor_lp = 1 Return Lewo: Motor_lt = 1 Motor_pt = 1 Motor_pp = 0 Motor_lp = 0 Return Prawo: Motor_lt = 0 Motor_pt = 0 Motor_pp = 1 Motor_lp = 1 Return Stopp: Motor_lt = 0 Motor_pt = 0 Motor_pp = 0 Motor_lp = 0 Return Tyl: Motor_lt = 1 Motor_pt = 0 Motor_pp = 1 Motor_lp = 0 Sam program jest podobny jak nie identyczny z najprostszymi line followerami - kilka stanów wejściowych steruje dwoma silnikami za pomocą mostka H. No i generalnie chyba tyle Do platformy planuje dołączyć komunikacje w drugim kierunku, za pomocą RC5 i podczerwieni - platforma jest królikiem doświadczalnym dla telekomunikacji (profil w technikum). Niedługo będzie to także robot - dzięki czujnikom sharpa umieszczonym z przodu i z tyłu za pomocą RC5 będzie wysyłał informacje o odległości przedmiotów od pojazdu a po dłuższej bezczynności sam spróbuje wyjechać z labiryntu. Na koniec jeszcze trochę zdjęć i trzy filmy. Wersja λ (alfa - dużo kabelków itp): [ Dodano: 13 Gru 09 12:28 ] Przy tworzeniu układu opierałem się na tym opracowaniu T102.zip
  24. Witam. Przedstawiam kolejną konstrukcję. Jak to u mnie bywa zrobiony został dla zabawy, satysfakcji oraz w celach pokazowych dla dzieci i młodzieży. Stąd też walory estetyczne biorą górę nad właściwościami MECHANIKA: Buda wydrukowana na RepRapie, koła również, opony z 5 pasków 2mm od magnetowidu. Napęd stanowią wyciągnięte z poprzedniego minisumo 2 serwa tp5010. Z przodu pług wyfrezowany z czarnego laminatu z wygrawerowaną nazwą. ELEKTRONIKA: 2 czujniki sharp GP2Y0D340K. Mają one strasznie wąski kąt widzenia. Myślałem że 2 wystarczą ale się myliłem. Umieszczone są pod katem ok 10stopni na zewnątrz. 2 czujniki KTIR0711S. Użyty został procesor Atmega8 w granym bootloaderem megaload, komunikacja i programowanie przez uart. Serwa zasilane są poprzez tranzystor aby w spoczynku nie pracowały. Całą płyta pochylona jest w dół pod kątek ok 4stopnie by wykrywać niższych przeciwników oraz żeby pług był trochę niższy. SOFTWARE: Dopiero się zabieram za to. Dla potrzeb filmiku na szybko coś skleciłem. Oczywiście w Bascomie Oto Kilka fotek, schemat i film. Miłego oglądania Sławek
  25. Chciałbym zaprezentować Wam, chyba pierwszy na Forbocie, manipulator równoległy typu Platforma Stewarta. Urządzenie powstało w ramach pracy magisterskiej na Wydziale Mechatroniki i Budowy Maszyn Politechniki Świętokrzyskiej pod czujnym okiem dr inż. Pawła Łaskiego. Temat pracy: projekt manipulatora o zamkniętym łańcuchu kinematycznym, o sześciu stopniach swobody z napędem elektrycznym. Projektowanie. Projekt konstrukcji mechanicznej został wykonany w Solid Worksie. Wszystkie układy elektroniczne projektowane były w Eagle, a algorytmy sterowania wyprowadzane z pomocą Matlaba. Poniżej widać projekt konstrukcji mechanicznej. Mechanika: Manipulator posiada 6 stopni swobody. Składa się z nieruchomej podstawy, sześciu jednakowych i symetrycznie rozmieszczonych ramion oraz ruchomej platformy. Podstawa wykonana z polietylenu HDPE, platforma ruchoma z poliamidu. Ramiona składają się z dolnej części w postaci płaskownika z włókna szklanego, górnej w postaci pręta stalowego (w przyszłości będzie pręt z włókna węglowego) i dwóch przegubów kulistych. Urządzenie napędza sześć serwonapędów Tower Pro MG995. Zamocowane one są za pomocą uchwytów z aluminium. Elektronika: Część elektroniczna składa się z trzech modułów. Pierwszy to moduł sterownika głównego. Zbudowany został w oparciu o ATMegę 128 taktowaną kwarcem 16MHz. Zajmuje się on praktycznie jedynie wykonywaniem obliczeń kinematyki. Moduł ten komunikuje się ze światem zewnętrznym za pomocą USARTu. Na płytce wyprowadzone są dwa złącza DB9 służące do połączenia z komputerem w standardzie napięć RS232 i z kontrolerem w standardzie TTL. Ponadto ATMega 128 połączona jest za pomocą drugiego kanału USART ze sterownikiem serwonapędów. Drugi moduł to moduł sterownika serwonapędów. Zbudowany jest w oparciu o ATMegę 8 z kwarcem 8MHz. Sygnał PWM generowany jest programowo za pomocą dwóch timerów. Trzeci moduł to moduł kontrolera. Za jego pomocą użytkownik może sterować manipulatorem. Jego sercem jest ATMega 8 z kwarcem 8MHz. Dwie gałki z potencjometrami służą do zmiany pozycji i orientacji platformy roboczej. Kontroler ma również trzy mikroswitche za pomocą których można zmieniać informacje wyświetlane na LCD oraz funkcje potencjometrów. Na LCD wyświetlane są ustawiana pozycja i orientacja platformy, oraz współrzędne przegubowe serwonapędów. Urządzenie zasilane jest z zasilacza komputerowego DELL. Do pracy wymaga napięcia +5V i zapasu wydajności prądowej ok. 9A. Sterowanie: Manipulator wypracowuje zadaną przez użytkownika pozycję i orientacje platformy roboczej w bazowym układzie współrzędnych. Układ ten związany jest z podstawa manipulatora. Po załączeniu zasilania robot przyjmuje pozycję startową. Za pomocą kontrolera lub komputera do układu sterowania przesyłana jest pozycja i orientacja platformy jaką robot ma wypracować. Układ sterowania wyznacza tor ruchu w postaci linii prostej z punktu aktualnego do docelowego i wykonuje ruch wzdłuż tej prostej z krokiem nie większym niż 1 mm. Po każdym kroku na bieżąco przeliczana jest kinematyka odwrotna i wyliczane nowe wartości współrzędnych przegubowych. Po wyliczeniu układ sterowania wysyła do sterownika serwonapędów współrzędne przegubowe serw do wypracowania. Zadanie odwrotne kinematyki wymaga w każdym cyklu obliczeń rozwiązania sześciu układów trzech równań nieliniowych z trzema niewiadomymi ( po jednym dla każdego ramienia). Układy te rozwiązywane są Metodą Newtona – Raphsona. Obliczenia są dosyć skomplikowane, dlatego mimo użycia kwarcu 16MHz udało się uzyskać tylko 15 – 20 cykli obliczeń na sekundę. Widać na filmach, że manipulator porusza się takimi drobnymi kroczkami. Drugą słabością manipulatora są niewątpliwie niezbyt mocne napędy. Objawia się to niedokładnością w pracy i takimi momentami przestojów. Mimo to konstrukcja spełnia swoje założenia i chyba nie wyszła tak najgorzej. Tutaj kilka pozostałych zdjęć, a w najbliższym czasie postaram sie dodać jakiś filmy z pracy urządzenia. Pojawiły się dwa filmy
×
×
  • Utwórz nowe...