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 244 wyników

  1. Chciałbym zaprezentować owoc mojej długiej pracy. Jest to czteronożny robot kroczący, który wykorzystuje m.in. komunikację bezprzewodową oraz odwrotne zadanie kinematyki (niestety nie bezpośrednio na pokładzie robota). Robot powstał, ponieważ chciałem skonsolidować w jednym projekcie kilka ważnych zagadnień związanych z robotyką, elektroniką, programowaniem. Dużo rzeczy można było zrobić inaczej, lepiej, ale głównym założeniem było połączenie wiele aspektów z w/w dziedzin. Kilka rzeczy należy jeszcze poprawić, m.in. płynność ruchów, ale ogólnie jestem zadowolony z efektów. To co prezentuję jest drugą wersją robota. 1. Konstrukcja mechaniczna W konstrukcji nie ma niczego zaskakującego. Robot (R4pod) ma budowę symetryczną. Posiada 4 nogi, a każda noga ma 3 stopnie swobody (3 serwa na nogę), czyli 12 serwomechanizmów. Zastosowane serwomechanizmy to Tower Pro SG 5010 (pierwsze i drugie licząc od stopy) oraz HITEC HS322HD (łącznik nogi z korpusem). Pierwotnie wykorzystałem Tower Pro MG995, ale okazały się chińską podróbka i wysterowanie ich wiązało się z stanami samobójczymi (pisałem o tym na forum). Projekt konstrukcji wykonano w Inventorze. Wzorowałem się na wielu konstrukcjach oraz na elementach ogólnie dostępnych na serwisach aukcyjnych czy sklepach internetowych i w pewnym stopniu modyfikowałem je dla własnych potrzeb. Pierwsza wersja było wykonana z laminatu FR4, co okazało się niezbyt dobrym pomysłem. Druga wersja, czyli aktualna, wykonana jest z aluminium (nogi 1,5 mm, korpus 2 mm). Za pomocą imadła i argumentu siły ukształtowałem odpowiednie elementy. Wszelkie części zostały wycięte na WaterJet`ie przez jednego z kolegów z naszego forum, za co bardzo mu dziękuję. Pierwotnie nie planowałem wykorzystać czujników krańcowych w stopach, ale życie zweryfikowało to i stały się niezbędne. Niestety nie przygotowałem elementów stopy, aby takie czujniki zastosować, stąd taka partyzantka jak widać na zdjęciach. 2. Elektronika PCB zaprojektowałem w programie Eagle. Samą płytkę wykonałem termotransferem wykorzystując laminator. Nie bawiłem się w osobne moduły, ma to swój minus, ale jeszcze nic się nie spaliło. Wszystko znajduję się na jednej PCB, udało się to dzięki zastosowaniu elementów SMD (pojedyncze komponenty są THT). Na PCB znajduję się: - tor zasilania dla układu sterowania, czyli stabilizator napięcia +5VDC oraz +3,3VDC - tor zasilania serwomechanizmów z odpowiednia baterią kondensatorów na wejściu i wyjściach - 2 mikrokontrolery ATmega88PA taktowane częstotliwością 20MHz - moduł ATB-BTM222 - akcelerometr MMA8452 - gniazdo programatora - 4 przyciski - gniazdo do podłączenia sygnałów z krańcówek w stopach - wyjścia sygnałów sterujących dla serw - komparator mierzący napięcie na akumulatorze Robot zasilany jest z dwóch akumulatorów litowo-polimerowych. Do zasilania układu sterowania +7,4V 500mAh oraz +7,4V 2200mAh przez UBEC do zasilania serwomechanizmów. Moduł ATB-BTM222 służy do komunikowania się z PC za pomocą BT. Komunikacja w obie strony za pomocą jednego modułu wprowadza spore opóźnienia (plus opóźnienia wynikające z innych procesów ) dlatego nie udało mi się jeszcze uzyskać pełnej płynności ruchów. ATmega Master pobiera wszelkie informacje z otoczenia, tj. - komunikacja z PC za pomocą ATB-BTM222 (UART) - czujniki w stopach - akcelerometr (I2C) - komunikacja z drugą ATmega za pomocą SPI Po za tym komponuje ramki danych do wysłania oraz dekomponuje i interpretuje odebrane dane. ATmega Slave działa w zasadzie jak serwokontroler. Odbiera dane z układu Master, dekomponuje ramkę danych i odpowiednio wysterowuje 12 serwomechanizmów. 3. Sterowanie Do sterowania robotem napisałem aplikację wykorzystując WinApi. Aplikacja służy do ustanowienia połączenia z robotem za pomocą Bluetooth, odbieranie danych, przetwarzanie ich i wysyłanie do robota. Aby komunikacja była bezawaryjna i wszystkie pakiety kompletne, napisałem swój protokół (chociaż to zbyt duże słowo) wzorując się na ModBus`ie. Na przetwarzanie danych składa się dekompozycja danych, odpowiednie ich zinterpretowanie, wykonanie obliczeń dla zadania odwrotnego kinematyki uwzględniając dane z czujników (muszę zająć się jeszcze akcelerometrem, chociaż dane z niego są wysyłane do PC) oraz kompozycja ramki do wysłania. Dodatkowo widoczna jest animacja obrazująca stan czujników w stopach oraz trójkąty podparcia. Stan jest aktualizowany w czasie rzeczywistym. Przede mną jeszcze wiele pracy. Jest dużo rzeczy do poprawy czy modyfikacji. Należy poprawić płynność ruchów oraz sam sposób chodzenia (na razie traktowałem go po macoszemu, skupiając się na stabilnej komunikacji, samej aplikacji oraz obliczeniach kinematyki odwrotnej). Należy przeprojektować ostatni człon nogi, gdzie znajdują się czujniki krańcowe. Partyzantka jaką zrobiłem sprawia wiele kłopotów. Kolejnym ważnym aspektem jest uwzględnienie w obliczeniach danych z akcelerometru i poziomowanie korpusu. Może w przyszłości powstanie kolejna wersja sterownika, która podoła wykonać obliczenia związane z zadaniem odwrotnym kinematyki (jakiś ARM? Niestety na to ciągle brakuje czasu...) Pozdrawiam
  2. Cześć tu drużyna "Robotyka KSP" . Lfa stworzyliśmy w szkole za własne pieniądze. W większości wszystko zaplanował lider czyli ja jest to mój drugi lf, poprzedni był czysto z poradnika. Reszta grupy (5 osób) jak na razie była podwykonawcami i dała kaske oraz lutowała elementy Jeden z nich pomógł z programem.W planach mamy minisumo i kolejnego lfa (Dostaliśmy dofinansowanie 500zł) ,więc coś ich muszę ich poduczyć z zakresu elektroniki chociaż sam dużo nie wiem. W szkole niestety nie ma zainteresowania tematem ze strony nauczycieli. (Technikum) Strona o tym jak powstawał lf i będą powstawać kolejne projekty (prosimy o LIKE ) :RobotykaKSP Osiągnięcia 18 miejsce na 26 - Robotic Area 2014 Konstrukcja mechaniczna: Silniki: to Tamiya 70168 Na przekładni 38:1 320obr, Silniki jako takie. Za 50zł nic lepszego chyba nie ma z takimi obrotami. Wadą jest to że są na 3v lecz u mnie pracowały na 6-7v. Nic się z nimi nie działo jeżdżą do tej pory. Koła: Tamiya 70111 Zdecydowanie nie polecam. Koła nie mają w ogóle przyczepności, lf latał jak szalony mimo sporej wagi ( Pół kilo ? ). Brak przyczepności ujawnił się dopiero na zawodach. By zwiększyć przyczepność dociążyliśmy lf'a dodatkowym pakietem baterii (3sztuki) i założyliśmy balony z WABCO Poprawiły sporo. Przejazd bez balonów i obciążenia na jednym z torów wynosił 27,5sec , z poprawami osiągnęliśmy 25,5sec Płytki Są to moje pierwsze zrobione metodą termotransferu. Nawet fajnie mi to wyszło bez większych problemów Ramie trzymające płytkę czujników oraz koszyczek: Blaszki z aluminium i kupę śrubek, nakrętek, podkładek.Ciężko było wyregulować dobrą wysokość płytki ponieważ dostałem z electroparku różne cny70 . Koszyczek przymocowany opaską z forbot.pl którą otrzymaliśmy na RA Elektronika Za zasilanie odpowiada pakiet akumulatorków/bateri 5szt . (MASAKRA) Sterownik silników to L298N - w obudowie MULTIWATT15. Procesor atmega8 z kwarcem 16mhz. Do obniżenia napięć i stabilizacji napięcia służy 7805. Silniki zasilane bezpośrednio z koszyczka . 5 czujników cny70 podłączonych do adc. Oprogramowanie Program napisany w c. Jest bardzo prosty. Pisany na podstawie innego kodu. Nie ma żadnego członu PID. Program napisany prawie w całości na Robotic Area . W załączniku spakowane schematy i kod . Stary wygląd: Cristal T1000.rar
  3. Malutki robocik kroczący "Gramek" to konstrukcja którą zbudowałem "for fun" w ciągu jednego dnia, z rzeczy które miałem pod ręką. Robot zbudowany jest z trzech 9-gramowych mikroserw Turnigy TG9e, baterii Li-ion Nokia BL-5C (bardzo popularna) o pojemności 1020mAh która robi jednoczesnie za podstawę robota, oraz płytki "teensy 2.0" na której znajduje się atmega32u4. 6 nóg robota zrobionych jest z odpowiednio wygiętych 3 spinaczy biurowych, na które nałożyłem rurkę termokurczliwą (kilka warstw rurek różnej grubości znajduje się na "stopach"). Nogi są przyklejone do orczyków na HotGlue. Serwa połączone są ze sobą grubą, gąbkowatą, dwustronną taśmą klejącą, a całość jest przyklejona do baterii taśmą izolacyjną. Jednym słowem wszystko na klej/taśmę, bez żadnej ramy czy śrubek. Zastosowałem płytkę Teensy ponieważ po pierwsze miałem ją w domu do testów, po drugie ma malutkie wymiary (30x18mm) i idealnie pasowała do tego projektu, a po trzecie dzięki użyciu "teensyduino" mogłem używać środowiska Arduino w którym bardzo szybko napisałem kod. Żeby Gramek był robotem, a nie jedynie zdalnie sterowaną platformą, musiał mieć czujniki - w domu miałem tylko 2 fotorezystory (w dodatku o innych charakterystykach...), więc w ten sposób powstał kroczący światłolub:) Na początku chciałem zastosować czujnik odległości zrobiony z diody IR i fototranzystora, ale "na pająka" ciężko to było zrobić, więc pozostałem przy fotorezystorach, które są bezpośrednio przylutowane (na długich nogach) do padów w Teensy, dzięki temu, poza Teensy, nie musiałem robić żadnej dodatkowej płytki. Teensy nie ma regulatora, dlatego zarówno serwa jak i płytka zasilana jest bezpośrednio z baterii. Programowanie odbywa się poprzez gniazdo miniUSB znajdujące się na płytce, przy użyciu bootloadera w atmedze32u4. Parę fotek: Oraz kilka filmików: Niestety gdy jest jasno, to są kłopoty z odpowiednim sterowaniem (mam na myśli światło), tym bardziej że na filmiku używałem słabej diodowej latarki. W ciemności działa zdecydowanie lepiej, ale za to na filmiku nic nie widać, więc nie wrzucałem. Inspiracją do budowy tego robota był "Pololu Micro Maestro Hexapod" który został zbudowany przez tą firmę w celu prezentacji możliwości sterownika serw MicroMaestro. Filmik prezentujący oryginalnego hexapoda Pololu: Jest kilka zasadniczych różnic pomiędzy moim robotem, a pololu: Gramek nie używa sterownika Maestro, zamiast tego używa Teensy. Gramek używa fotorezystorów (jest światłolubem), zamiast cyfrowych sharpów. Bateria również jest zupełnie inna, zresztą samo umiejscowienie elementów jest różne. Mój robot ma mniejsze nogi, przez co mieści się w dłoni i zgrabniej wygląda, ale niestety jest wolniejszy. W zasadzie mógłby być szybszy - ograniczenie wynika po pierwsze z zasilania serw bezpośrednio z 3,7V zamiast 6V, a po drugie napisałem "chód" w ten sposób, że w danym momencie czasu w ruchu są maksymalnie 2 serwa jednocześnie, a nie wszystkie 3, przez co, cała "ramka" chodu trwa dłużej. Nie chciałem ruszać 3 serwami jednocześnie by nie przeciążać baterii, która jest bardzo kiepska - nie mierzyłem co prawda prądów, ale bałem się, że 3 serwa naraz to będzie za dużo dla bateryjki z telefonu komórkowego. Dodatkowo, pomiędzy poszczególnymi ruchami serw, w kodzie zdefiniowane są opóźnienia, bo bez nich, robot śmiesznie skakał, jak ten hexapod pololu co widać na filmiku - trochę nie naturalnie to wygląda. Koszt: - bateria: free (ze starego telefonu) - serwa: 3x12zł - teensy: free (nie liczę tej płytki jako koszta, bo miałem ją dużo wcześniej do testów, zresztą po rozebraniu robota nadal mogę ją wykorzystać, ale kosztuje $16) - spinacze biurowe: free:) - 2 fotorezystory, 2 oporniki, mikro-włącznik: <2zł - rurki termokurczliwe: 2zł Wymiary robota: - z nogami: 7 x 9 x 5 cm (dług x szer x wys) - bez nóg: 6 x 4x 4 cm (dług x szer x wys) Waga: - 64g (z akumulatorem) Podsumowując, jestem bardzo zadowolony z tej konstrukcji, pomimo tego, że powstała w jeden dzień. Zbudowałem chyba najprostrzego możliwego robota kroczącego bardzo tanim kosztem, ucząc się przy tym programowania chodu dla tego typu konstrukcji, co nie jest takie trywialne jak się mogło wydawać, nawet dla tak prostego robota, zbudowanego z 3 serwomechanizmów.
  4. Wstęp Witam serdecznie. Prezentuję dziś mobilnego robota, którego zadaniem jest wykrywanie przeszkód i unikanie kolizji. Jest to pierwszy projekt po długiej przerwie, starałem się możliwie rzetelnie podejść do sprawy. Opis działania Robot posiada tylko jeden sensor ( cyfrowy czujnik Sharp o zasięgu do 10cm) umieszczony na orczyku serwa, które stale obraca go w zakresie mniej więcej od 0 do 100 stopni. Dodatkowo nad czujnikiem znajduje się łuk diod LED, które sygnalizują bieżące wychylenie czujnika i przeszkody (widać na filmie). Po wykryciu przeszkody robot zmienia kierunek jazdy ( kierunek zależny od miejsca wykrycia przeszkody). Powstawanie w 3 krokach Mechanika Sam przyznaję, że to wygląda dziwnie :/ Napęd stanowią dwa przerobione ( pozbawione elektroniki i mechanicznych blokad) serwomechanizmy typu standard. Obracaniem czujnika zajmuje się micro serwo. Konstrukcja oparta jest na laminacie. Montaż głównie za pomocą śrubek i dystansowników. Trzeci punkt podporu stanowi małe kółko obrotowe ( dostępne w każdym sklepie budowlanym). Koła są kupne, z mocowaniem pasującym do wału standardowego serwomechanizmu. W trakcie budowy problemem okazał się za mocno do przodu wysunięty środek ciężkości. Zniwelowałem to dokładając z tyłu dużą śrubę z nakrętkami służącą za obciążnik. Akumulator przymocowany jest za pomocą rzepu samoprzylepnego. Elektronika Serce robota to atmega88p. Zasilanie: pakiet lipo s2 7.4V 400mAh. Dwa stabilizatory ( jeden dla elektroniki, drugi dla serwa*). Mostek l293D i trochę drobnicy ( wszystko na schemacie i zdjęciach). *Nie jest to rozwiązanie idealne, jednakże chyba najprostsze, by w łatwy sposób dostarczyć 5V dla jednego serwa. Program Nic specjalnego, jednakże jest to mój pierwszy projekt napisany w C ( przed przerwą zaczynałem w Bascomie). Timer0 generuje sygnał dla serwa, Timer1 zajmuje się PWMem dla silników. Serwo przemieszcza się wyłącznie między 11 na sztywno zaprogramowanymi położeniami ( pokrywającymi się z położeniem diod LED ). Brak przerwań, stan czujnika odczytywany jest tylko w postojach pomiędzy jednym, a drugim LEDem ( ok. 11 stopni), jednak kąty widzenia czujnika chyba niwelują martwe pole. Zmiana kierunku jazdy jest wprost proporcjonalna od odległości przeszkody od środka robota ( mówiąc inaczej, gdy przeszkoda jest z boku robot skręca lżej, im bliżej środka tym mocniej robot „odbija”) Najprawdopodobniej powstanie jakiś fajniejszy algorytm Wady Na zdjęciu widoczne dociążenie robota Przede wszystkim kompletnie zapomniałem o środku ciężkości, wydawało mi się, że sam ciężar serw wystarczy. Stąd też potrzebne było dodatkowe obciążenie. Cały system wykrywania przeszkody jest swego rodzaju kompromisem. Z jednej strony zasięg czujnika jest mały, z drugiej strony zbyt szybki obrót serwa również wpływa negatywnie na przeszukiwanie terenu. Robot jest celowo spowolniony, by miał czas na przebadanie otoczenia. Problemy są z wykrywaniem za wysokich, zbyt niskich przeszkód, oraz przeszkód w kolorze czarnym. (Czego się oczywiście spodziewałem). Galeria Schematy Płytki Program v1.01 #define F_CPU 1000000L #include <avr/io.h> #include <util/delay.h> #define LED1 0xFE #define LED2 0xFD #define LED3 0xFB #define LED4 0xF7 #define LED5 0xEF #define LED6 0xDF #define LED7 0xFE #define LED8 0xEF #define LED9 0xF7 #define LED10 0xFB #define LED11 0xFD #define silnik_lewyA 0b10000000 #define silnik_lewyB 0b00100000 #define silnik_prawyA 0b01000000 #define silnik_prawyB 0b10000000 #define sensor 0b0000001 int i; void czekaj_ms(uint16_t ms) { for(uint16_t g=0; g<ms; g++) _delay_ms(1); } void przod_przod(int x, int y, int z) { PORTB|=silnik_lewyA | silnik_prawyA; PORTD&= (~silnik_lewyB) & (~silnik_prawyB); OCR1A=x; OCR1B=y; czekaj_ms(z); } void tyl_tyl(int x, int y, int z) { PORTB&=(~silnik_lewyA) & (~silnik_prawyA); PORTD|= silnik_lewyB | silnik_prawyB; OCR1A=x; OCR1B=y; czekaj_ms(z); } void przod_tyl(int x, int y, int z) // Lewy silnik do przodu, prawy do tylu { // silnik lewy do przodu OCR1B=x; PORTB|=silnik_lewyA; PORTD&= (~silnik_lewyB); //silnik prawy do tylu OCR1A=y; PORTB&=(~silnik_prawyA); PORTD|=silnik_prawyB; czekaj_ms(z); } void tyl_przod(int x, int y, int z) // Lewy silnik do tylu, prawy do przodu { // silnik lewy do tylu OCR1B=x; PORTB&= (~silnik_lewyA); PORTD|= silnik_lewyB; //silnik prawy do przodu OCR1A=y; PORTB|=silnik_prawyA; PORTD&=(~silnik_prawyB); czekaj_ms(z); } void inicjalizacja() { //PWM DLA SERWA ( timer0) STEROWANIE PRZEZ PODANIE NA OCR0A wartosci od 10 do 35 TCCR0A = ( 1 << COM0A1 ) | (1<<WGM01) | (1<<WGM00); TCCR0B = (1<<CS00) | (1<<CS01); DDRD|=0x40; PORTD=0x40; //PWM DLA SILNIKOW (timer1) TCCR1A= (1<< COM1A1)|(1<<COM1B1)|(1<<WGM11); //MODE 14 FAST PWM TCCR1B= (1<<WGM13)|(1<<WGM12)|(1<<CS10); // PRESCALER=1, frec.PWM = 1kHz ICR1=999; } void dioda(int x) { //Zapalanie kolejnych diod switch(x) { case 11: PORTC&=LED1; break; case 10: PORTC&=LED2; break; case 9: PORTC&=LED3; break; case 8: PORTC&=LED4; break; case 7: PORTC&=LED5; break; case 6: PORTC&=LED6; break; case 5: PORTD&=LED7; break; case 4: PORTD&=LED8; break; case 3: PORTD&=LED9; break; case 2: PORTD&=LED10; break; case 1: PORTD&=LED11; break; } } void dioda_off() { PORTC|=0b00111111; PORTD|=0b00011111; } void przeszkoda() { //Hamowanie tyl_tyl(800,800,100); OCR1A=0; OCR1B=0; for (uint8_t g=0;g<4;g++) // ZAMRUGANIE DIODAMI { dioda(i/2 -4); dioda(i/2 -5); dioda(i/2 -6); czekaj_ms(300); dioda_off(); czekaj_ms(200); } tyl_tyl(500,500,i*30); if (i>=22) przod_tyl(800,800,((-30)*i+1060)); else tyl_przod(800,800,(30*i-260)); przod_przod(500,500,1); } void szukanie() { int czas=20; while(1) { for (i=12; i<33;i+=2) { OCR0A=i; czekaj_ms(czas); dioda_off(); czekaj_ms(czas); dioda(i/2 -5); if (!(PINB & sensor)) przeszkoda(); } for (i=32; i>11; i-=2) { OCR0A=i; czekaj_ms(czas); dioda_off(); czekaj_ms(czas); dioda(i/2 -5); if (!(PINB & sensor)) przeszkoda(); } } } void main(void) { inicjalizacja(); DDRD=0b11111111; PORTD=0b00000000; DDRC=0b00111111; DDRB=0b11111110; PORTB=0b11100000; przod_przod(500,500,1); szukanie(); } Film Najprawdopodobniej powstanie jakiś fajniejszy algorytm
  5. Korzystając z wolnej chwili, nadszedł czas na opisanie robota Thunderstorm na łamach portalu Forbot. Konstruktorami tego robota jestem ja oraz mój kolega Adam Fleszar. Na początku marca robot ten będzie obchodził swoje pierwsze urodziny. Zapraszamy do zapoznania się z jego opisem. Mechanika Konstrukcja robota Thunderstorm opiera się na korpusie wydrukowanym w technologii 3D z tworzywa ABS. Projekt tego elementu powstał w programie Autodesk Inventor 2012, kształt tej części jest zaprojektowany zgodnie z naszą intuicją i nie był optymalizowany pod żadnym kątem. Do korpusu przykręcony jest biały przód wykonany w tej samej technologii, do którego przymocowana jest płytka z 19-nastoma czujnikami rozmieszczonymi po łuku. Płytki PCB przymocowane są do wydrukowanych na korpusie kominków. Jako napęd zastosowaliśmy modelarskie silniki DC. Koła zębate użyte w przekładni pochodzą z serw TowerPro. Mocowania przekładni w postaci płaskowników aluminiowych zostały wykonane na mojej obrabiarce CNC. Oś koła stanowi pręt o średnicy 3mm wymontowany z napędów CD/DVD, nagwintowany na jednym z końców gdzie osadzona jest zębatka napędzająca koło. Na osi znajduję się również tarcza enkodera wymontowana z myszki kulkowej. Koła zastosowane w robocie pochodzą z modeli RC. Thunderstorm wyposażony został w turbinę, która przysysa robota do trasy. Napędzana jest ona silnikiem BLDC o mocy 200W sterowanym za pomocą regulatora 3F Jeti Advance 18 Pro. Jako ślizgacze zostały użyte trzy plastikowe kulki z ASG o średnicy 6mm. Elektronika Projektowana elektronika została podzielona na dwa współpracujące ze sobą systemy. Pierwszym z nich jest moduł mostka H sterujący silnikami napędowymi. W robocie znajdują się dwa takie układy, pracujące przy każdym kole niezależnie od siebie. Ich zadaniem jest dokładne kontrolowanie prędkości obrotowej kół na podstawie sygnałów z enkoderów zamocowanych na osi każdego koła. Drugim modułem jest układ, którego głównym celem jest odczyt linii i wygenerowanie odpowiedniego sterowania niezależnie dla lewego i prawego koła w robocie. Ponadto układ ten umożliwia komunikację z pilotem stosując gotowe moduły transmisji radiowej TLX905 oraz ma możliwość generowania sygnału o zmiennym wypełnieniu, koniecznym przy sterowaniu regulatorem prędkości obrotowej turbiny. Płytka z czujnikami znajduje się w przedniej części robota, a sygnały, które z niej wychodzą są podpięte do płytki kontrolującej linię przy pomocy dwóch tasiemek 12-żyłowych każda. Płytki PCB zostały wykonane w firmie Satland Prototype. Moduł sterownika silnika DC wyposażony jest w mikrokontroler ATmega88PA pracujący z częstotliwością 20MHz. Sam mostek H zbudowany jest z czterech tranzystorów IRF6668 w obudowach DirectFET sterowanych dwoma układami IR2104S. Częstotliwość sygnału PWM sterującego silnikiem wynosi 19,5kHz. Sterownik ten otrzymuje sygnał kroku i kierunku z kontrolera linii. Jedno zbocze narastające sygnału kroku odpowiada za obrót osi koła o jedną jednostkę enkodera w stronę wyznaczoną przez sygnał kierunku obrotu. Kontroler linii zbudowany jest w oparciu o mikrokontroler ATmega128A @ 16MHz. Sygnał z czujników linii KTIR0711S podawany jest na komparatory LM339 a następnie w postaci sygnału logicznego na wejścia mikrokontrolera. Moduł sterownika linii generuje dwa sygnały o zmiennej częstotliwości sterujące prędkością obrotową lewego i prawego koła jednocześnie. Do zasilania tego modułu jest wykorzystana przetwornica impulsowa zbudowana na układzie MAX5035, ale ze względu na zastosowanie regulatora 3F, który posiada wbudowany układ BEC nie jest ona wykorzystywana podczas jazdy, część cyfrowa jest wtedy zasilana bezpośrednio z regulatora 3F. Programy Programy na mikrokontrolery użyte w obu modułach napisane są w języku C. W mostkach sterujących silnikami DC działa algorytm PID, zaś w jednostce kontrolującej linię algorytm PD. Zasilanie Do zasilania robota stasowane są zamiennie akumulatory Turnigy nano-tech 850mAh 3S 25~40C lub 350mAh 3S 65~130C Lipo Pack. Osiągnięcia :arrow:1. miejsce – Robotic Tournament 2012 w Rybniku – Linefollower :arrow:3. miejsce – Trójmiejski Turniej Robotów 2012 w Gdańsku – Linefollower :arrow:3. miejsce – Trójmiejski Turniej Robotów 2012 w Gdańsku – Linefollower PRO :arrow:2. miejsce – Festiwal Robotyki CybAirBot 2012 w Poznaniu - Linefollower :arrow:1. miejsce – Roboxy 2012 w Gdańsku - Linefollower :arrow:1. miejsce – Robocomp 2012 w Krakowie – Linefollower :arrow:2. miejsce – Robocomp 2012 w Krakowie – Linefollower Enhanced :arrow:1. miejsce – ASTOR Robot Challenge 2012 w Sosnowcu – Linefollower :arrow:1. miejsce – ASTOR Robot Challenge 2012 w Sosnowcu – Linefollower Enhanced :arrow:1. miejsce – Sumo Challenge 2012 w Łodzi – Linefollower :arrow:3. miejsce –Robotic Arena 2012 we Wrocławiu – Linefollower Filmy z testów i zawodów Nowy film z ostatnich zawodów!
  6. Robot kategorii MiniSumo. Powstał jako realizacja projektu zaliczeniowego na jeden z przedmiotów na studiach. Jego efektem był robot NiGa, którym wzięliśmy udział w RoboticArena2012. Nie udało się wtedy wejść do rozgrywek finałowych, jednak dzięki zdobytemu doświadczeniu i przetestowaniu robota w boju wiedzieliśmy jakie są wady, co należy zmienić, dodać itd. Tak powstała Antiga. Podwozie stanowi blacha stalowa o grubości 5mm. Wyfrezowane zostały 4 "sloty" na KTIR'y (jednak zamontowane są tylko 2 z przodu) do wykrywania białego obrzeża dohyo. Przód ma postać klina. Nadwozie zostało wydrukowane z tworzywa ABS na drukarce 3D RepRap. Posiada wszystkie niezbędne otwory na czujniki, złącze programowania, gniazdo modułu startowego, włącznik, przyciski oraz okienko nad 4 LEDami. Czujniki zastosowane w robocie to już wspomniane 2 czujniki odbiciowe KTIR0711S, a do wykrywania służą 4 dalmierze cyfrowe Sharp GP2Y0D340K. Dwa patrzące do przodu oraz dwa patrzące na boki. Zastosowany mikrokontroler to ATmega16A taktowana zegarem 16MHz. Program zajmuje jakieś 10-15% pamięci FLASH. UI stanowią 4 LEDy oraz 2 microswitche. Zasilanie z LiPo 2S 850mAh. Napęd to dwa mikrosilniki Pololu z przekładniami 30:1. Koła o średnicy ~30mm w całości (felgi + odlanie opon) wykonane przez hungrydevila z GROMu. Na RA2012 oraz na Robomaticon2013 mieliśmy jeszcze koła Solarbotics RW2i. Mostki-H nimi sterujące to 2 układy Toshiby TB6612FNG ze zmostkowanymi kanałami. Sukcesy: II miejsce w kategorii MiniSumo (Classic) - SumoChallenge2013 I miejsce w kategorii MiniSumo Classic - RoboticArena2013 I miejsce w kategorii MiniSumo Enchanced - RoboticArena2013 II miejsce w kategorii MiniSumo - Robomaticon2014
  7. MESS czyli Mały Elektroniczny Spychacz Sześcianów to moja pierwsza konstrukcja, która jest zarówno moim pierwszym projektem w technologii powierzchniowej. Prace nad robotem trwały nieco ponad tydzień, a całkowity koszt jego budowy to około 80zł. Algorytm sterujący został napisany w języku C. Wymiary nieznacznie przekraczają regulaminowe 5x5x5 i 100g wagi, jednak robot nie został zbudowany do startowania w zawodach. Jego zadaniem jest cieszyć oko radząc sobie bez problemu ze spychaniem przeszkód ( głównie małych papierowych sześcianów 4x4x4cm) z powierzchni ringu. 1.Konstrukcja mechaniczna Szkielet robota tworzą dwie płytki laminatu które jednocześnie pełnią funkcję obwodów drukowanych. Pomiędzy nimi umieszczone zostały dwa przerobione serwomechanizmy Redox S90 tak, aby ich wały wyjściowe znajdowały się w jednej osi. Konieczne było wycięcie części plastikowej obudowy serwomechanizmu w celu zrealizowania zamierzonych wymiarów robota. Koła MESS`a to popularne koła Pololu 32x7mm, które zostały delikatnie wyfrezowane w celu umieszczenia w nich orczyków od wspomnianych serwomechanizmów. 2. Elektronika i zasilanie Dolna płytka szkieletu zawiera dwa czujniki odbiciowe CNY70 służące do wykrywania białej linii granicznej ringu i niezbędne do ich obsługi elementy pasywne. Płytka posiada cztery wyprowadzenia dzięki którym łączy się z główną płytką sterującą górną( zasilanie i sygnały napięciowe od każdego z czujników ). Mózgiem robota jest mikrokontroler atmega8A w obudowie TQPF32 , a za wysterowanie silników odpowiedzialny jest podwójny mostek H TB6612. Na górnej płytce znajdują się ponad to wyprowadzenia ISP, wyprowadzenia pinów UART’a co daje możliwość debugowania w terminalu, przycisk uruchamiający pętle główną robota, czerwona dioda led i garstka niezbędnych elementów pasywnych do filtracji zasilania. Wykrywaniem przeszkód do zepchnięcia zajmuje się cyfrowy czujnik odległości SHARP GP2Y0D340K, generujący przerwania zewnętrzne procesora na zbocze opadające. MESS zasilany jest z pakietu Li-Pol Dualsky 7.4V 220mAh 25C, a za doprowadzenie odpowiedniego napięcia zasilającego logikę robota odpowiada stabilizator LDO LM1117 w obudowie TO252. 3. Zdjęcia 4.Film
  8. Witajcie, w ramach niewinnego powiewu świeżości na forum przedstawiam nową zabawkę nad którą pracowałem z kolegą przez ostatnie miesiące. Quadrocopter, bo o nim mowa, to rodzaj platformy latającej typu multirotor. Z mojej perspektywy służy przede wszystkim do zabawy, filmowania i nauki. Poza tym ludzie wymyślają przeróżne zastosowania, o czym pewnie nieraz czytaliście na forum. Generalnie podchodząc do tego projektu głównym założeniem było zbudowanie małego, zwinnego obiektu. Niezwykle istotna była więc waga i rozmiar. Kolejnym cele było osiągnięcie jakiejkolwiek autonomicznej stabilizacji w powietrzu. Z racji, iż w projekcie nie użyto ani gotowej płytki sterującej, ani gotowego programu - było to więc małe wyzwanie. Pierwszym krokiem był wybór ramy. Z racji użycia włókna węglowego nie została wykonana samodzielnie. Wybrano ramę o przekątnej 330mm i wadze 55gram! To najlżejsza rama jaką znaleźliśmy w tym rozmiarze. Jednym z podstawowych elementów wpływających na możliwości quadrocoptera są silniki. Szukano sensownego kompromisu między ceną, a mocą. Ostatecznie wybrano model Turnigy Park300 o maksymalnej mocy 85W każdy. Następnie do sterowania silnikami bezszczotkowymi potrzebowano regulatorów, które będą nimi bezpośrednio sterować na podstawie sygnału zadanego z mikrokontrolera. Podstawowymi czynnikami jest oczywiście odpowiednia wydajność prądowa, waga, jak i wsparcie Fast PWM. Maksymalny prąd pobierany przez jeden silnik wynosi 9A, więc wybrano regulatory o wydajności 12A. Wybór aparatury do sterowania quadrocopterem nie był nadzwyczajnie istotny, ponieważ do naszych potrzeb wystarczyłyby pewnie większość tanich modeli. Wybrano sprawdzony model Turnigy 9x, 8 kanałów w trybie modulacji PPM to aż za dużo. Tutaj wynikła ciut dziwna sytuacja. Sprawa wygląda tak, że odbiornik odbiera ramkę PPM i następnie dzieli ją na 8 kanałów, gdzie każdy ma swoje własne wyprowadzenia. Bez sensu byłoby prowadzić tyle kabelków do mikrokontrolera, dlatego wykonano małą płytkę z 'enkoderem', który ponownie sumuje wszystkie kanały i tworzy ramkę PPM, a ta trafia do mikrokontrolera. Niestety nie było możliwości "wyciągnąć" ramki PPM z obiornika. Mikrokontroler - ATmega 1284P. Wybór podyktowany jest różnymi czynnikami. Przede wszystkim dosyć dobrze znam tą rodzinę, więc nie traciłem czasu na szukanie informacji o podstawach programowania AVR. Myślałem tutaj o jakimś STMie, ale projekt był na tyle czasochłonny, że dodawanie sobie jeszcze nauki nowego mikrokontrolera nie było najlepszym pomysłem. Finalnie ATmega ma wszystko czego było potrzeba i przy 20MHz jest na tyle wydajna, że nie tworzyła żadnych ograniczeń. Serce modelu, czyli płytkę z mikrokontrolerem i jego podwórkiem zaprojektowano samodzielnie, przede wszystkim znajdują się tam stabilizatory napięć i różne wyprowadzenia (PWM, I2C, USART..). Czujniki były niezwykle istotnym elementem projektu. Zbyt duża podatność na wibracje czy zakłócenia generowane przez silniki mogłyby wykluczyć możliwość realizacji założeń projektowych. Ostatecznie udało się zakupić dosyć tanio moduł 10DOF IMU, czyli komplet czujników połączonych magistralą I2C. Akcelerometr - BMA180. Żyroskop - ITG3200. Magnetometr - HMC5883L. Barometr - BMP085. Taki moduł okazał się bardzo dobrym wyborem, płytka jest bardzo mała, wystarczy ją dobrze ulokować i połączyć magistralą I2C z atmegą. Całość oprogramowano również samodzielnie, od komunikacji z czujnikami po pętle sterujące. Pierwszym krokiem w celu uzyskania jakiegokolwiek sterowania było uzyskanie stabilnych pomiarów i określenie położenia quadrocoptera, a konkretnie jego wychylenia w trzech osiach. W imię nauki przetestowano kilka filtrów, ale najpierw dwa słowa wstępu - generalnie całkując dane z żyroskopu otrzymuje dosyć stabilne i odporne na wibracje (dzięki wewnętrznym filtrom dolnoprzepustowym) pomiary. Wszystko psuje jedna rzecz - dryft, błąd narasta w czasie, robi to szybko i bezwzględnie. Potrzebujemy zatem go wyeliminować - dlatego używamy kolejnego sensora - akcelerometru, który w zasadzie tylko koryguje odczyty z żyroskopu. Tak naprawdę acc+gyro to niezbędne minimum. Tandem ten nie potrafi jedynie wyeliminować dryftu kąta yaw i do tego wykorzystujemy magnetometr, aczkolwiek kąt yaw nie jest krytyczny i z powodzeniem można latać bez magnetometru. Barometr zaś służy do stabilizacji wysokości, na ten moment nie zostało to jeszcze zaimplementowane. Pierwszym filtrem łączącym dane z żyroskopu i akcelerometru był zwykły filtr komplementarny, który mieści się w jednej linijce i rzeczywiście eliminuje dryft zaskakująco dobrze, ale przez podatny na wibracje akcelerometr sygnał jest bardzo zaszumiony. Następnie przetestowano Sebastian Madgwick Fusion Filter, który po drobnych zmianach dał zaskakująco dobre rezultaty, tak dobre, że poprzestano na nim i użycie filtru Kalmana odłożono na później jedynie w celach naukowych. Na wykresie porównanie: danych z żyroskopu i wspomnianych dwóch filtrów: Mając poprawne informacje o wychyleniach quadrocoptera zostało jedynie przygotować mu regulatory PID, autonomiczna stabilizacja w powietrzu jest już na wyciągnięciu ręki. Należało stworzyć trzy pętle PID (na każdą oś) i po długim dobieraniu nastaw można było zacząć świętować!.. Dodam może, że dla ułatwienia poszukiwania nastaw zbudowaliśmy prowizoryczną platformę do unieruchomienia quadrocoptera (ale wciąż mógł przechylać się w jednej osi). Jeszcze z istotniejszych faktów to niezwykle istotny jest człon D. Warto jeszcze wspomnieć o śmigłach, też bardzo istotnych. Na podstawie prób można by napisać scenariusz pod serial, a to okładka: Na ten moment korzystamy z rozmiaru 6x4, śmigła trójpłatowe. Najlepsza konfiguracja dla naszej ramy (rozmiar) pod względem mocy. Całość zasilamy z pakietu 3S 1800mAh, co jest kompromisem między wagą, a czasem latania. W przypadku kiedy wszystko jest nastawione na wydajność i moc można uzyskać kilka minut szarżowania w powietrzu. Generalnie zabawa jest przednia, a świadomość, że Twoje dzieło lata i potrafi same zawisnąć w powietrzu naprawdę cieszy.. Dodam jeszcze jakiś filmik z prób: Polecam.
  9. Witam, Przedstawiam naszego pierwszego robota – Outsider. Jest to robot humanoidalny którego zaprojektowanie oraz wykonanie zajęło nam nieco ponad rok. Natchnieniem do zbudowania robota była seria artykułów użytkownika mog123. Robota wykonywaliśmy we dwójkę. Ja zająłem się częścią projektową i mechaniczną, natomiast Uczony zajął się elektroniką oraz oprogramowaniem robota i aplikacją komunikacyjną z PC. w założeniach miał być stosunkowo tani, nie chcieliśmy na niego wydawać grubych tysięcy, nie wiedząc czy w ogóle będzie działał zgodnie z założeniami, jak się później okazało nie minęliśmy się z prawdą. Mechanika : Projekt robota został wykonany w programie Inventor 2013, oraz Autocad 2013. Był on wykonywany stopniowo, najpierw zaprojektowałem i wykonałem nogi. Proste szeregowe połączenie 6 serw na nogę i jednego serwa na obrót korpusu. Następnie przyszedł czas na korpus oraz ręce-po 3 serwa na rękę (Rys2). Do połączenia korpusu z nogami oraz rąk z korpusem użyłem igiełkowych łożysk wzdłużnych. Po złożeniu robota w całość przyszedł czas na pierwsze testy. Niestety okazało się że nie otrzymaliśmy zadowalających efektów, gdyż szeregowa konstrukcja nóg generowała luzy w 4 miejscach (połączenie kolana z kostką i biodrem) co sumarycznie generowało duży luz i uniemożliwiało wygenerowanie chodu robota w sposób zadowalający. Przeprojektowałem więc nogi wzorując się na strukturze robota IGNIS bazującej na dwóch czworobokach przegubowych w kolanie połączonych odpowiednio z kostką i biodrem. Rozwiązanie to pozwoliło zachować ruchliwość nóg usztywniając jednocześnie konstrukcję. Nie odbyło się jednak bez wad. Zwiększyło się skomplikowanie konstrukcji i jednocześnie waga robota, która i tak była już za duża (końcowa waga to 2535g). Robot napędzany jest serwami modelarskimi TowerPro SG5010 (3 sztuki) orz TowerPro MG995 (16 sztuk) , wybrałem je ze względu na niską cenę i niską wagę. Początkowo napęd opierał się tylko na SG5010 lecz ze względu na niewystarczający moment wymieniłem je. Napędy te pozostawiają wiele do życzenia. Generowany moment jest zbyt niski i serwa pracują przy znacznym obciążeniu , co powodowało w skrajnych przypadkach (przy nagrywaniu ruchów robota), wysoki i długotrwały pobór prądu skutkujący spaleniem się mostków serw. Łącznie poległo ich 3 (..RIP..). Połączenia ruchome realizowane są przez tuleje z tworzywa wpuszczane w element aluminiowy (rysunek poniżej). Rozwiązanie to jest lekkie jednak generuje luzy i wymaga stosowania środków zabezpieczających gwint przed rozkręcaniem –Loctite. Powstałe luzy wynikają z faktu stosowania cięcia wodnego na dwóch różnych maszynach, dokładność wykonania elementów na pierwszej maszynie umożliwiała ciasne pasowania tulei, niestety reszta elementów wykonana była w innym zakładzie i błędnie założyłem taką samą dokładność wykonania. Elementy korpusu są wykonane wspomnianą wcześniej metodą cięcia wodnego, z blach aluminiowych o grubości 0.8, 2, 3, i 5 mm. Część elementów została wygięta na wcześniej zrobionej giętarce. Elementy o złożonym kształcie, nieprzenoszące obciążeń (m. in. głowa, część korpusu serwa ) zostały wykonane na uczelni przy pomocy druku 3d (abs), i następnie zostały pomalowane. Elektronika Wszystkim steruje serwokontroler oparty o mikrokontroler AVR, a dokładniej o AT90USB647. Wybrałem go z powodu możliwości realizacji sprzętowego interfejsu USB. Układ posiada 64kB pamięci FLASH, która pomimo niewielkiej pojemności była wystarczająca do nagrania kilkudziesięciu sekwencji ruchów. Taktowany jest rezonatorem kwarcowym 16 MHz, czyli pracuje z maksymalną częstotliwością, mimo to po podłączeniu do komputera poprzez USB widoczne są nieregularne, lekkie drgania poszczególnych serwomechanizmów (mniej więcej co sekundę), co może wskazywać na niedobór mocy obliczeniowej procesora. Sterowanie serwami odbywa się programawo za pomocą 2 timerów. Położenie kątowe opis Sterownik posiada 24 kanały PWM oraz 24 multipleksowane tory pomiarowe wykorzystywane do odczytu bieżących pozycji serw (stąd 4 kable zamiast 3 – widoczne na zdjęciu poniżej). Konieczne jest zastosowanie multipleksowania, ponieważ przetwornik ADC jest 8 kanałowy. Do tego celu wykorzystywane są analogowe muxy/demuxy. Aby zwiększyć dokładność przetwornika ADC pin AVCC podpiąłem do zasilania przez filtr LC oraz zastosowałem zewnętrzne, regulowane układem potencjometr-dzielnik źródło napięcia odniesienia TL432ACD. PCB zaprojektowałem w programie DipTrace, gdyż jego obsługa wydała mi się intuicyjna. Niestety pomysł z ,,uczeniem” robota poprzez próbkowanie napięć ze środkowych wyprowadzeń potencjometrów znajdujących się w serwach z częstotliwością 50 Hz legł w gruzach. O ile sama charakterystyka pozycji kątowej względem napięcia na tym wyprowadzeniu jest liniowa, o tyle rozbieżności pomiędzy poszczególnymi serwami wymaga kompensacji. Na tym etapie uznałem, ze jest to gra nie warta świeczki (nie ze względu na skomplikowanie, bo jest to dość proste, ale na czasochłonność). Poza tym, w tak prostej konstrukcji nie ma to sensu ze względu na jakość napędów. Logika jest zasilana z 5V poprzez stabilizator(zielona dioda sygnalizuje podłączenie), a same serwa z BEC-a przy 6V. Komunikacja z komputerem odbywa się poprzez wyemulowany przez mikrokontroler wirtualny port szeregowy RS-232 przy podłączeniu kablem USB. Robot jest sterowany poprzez bezprzewodowy kontroler z PS2. Do komunikacji wykorzystuję napisany przeze mnie w C# program. Posiada on możliwość sterowania każdym z serw na bieżąco (nie jest to czas rzeczywisty, ale wystarcza) oraz opcje zapisywania, odczytywania i generowania z różnymi prędkościami pozycji i sekwencji ruchów. Podsumowanie W tym miejscu pragniemy podziękować użytkownikowi mog123 za ,,zarażenie'' nas tematyką robotów humanoidalnych oraz za wsparcie merytoryczne. Ostatecznie po modyfikacjach robot prezentuje się tak: Filmik przedstawiający możliwości robota:
  10. Wstęp MicroMamut to nasz drugi robot. Tym razem postawiliśmy na kategorie MicroSumo. Założenia dla robota były takie by był w miarę szybki i oparty o czujniki Sharpa GP2Y0D340K. Jest to pierwszy nasz robot z elektroniką zbudowaną w technologii SMD. Najwiekszym wyzwaniem dla robota było zmieszczenie wszystkich elementów w ramach wymiarów 5x5x5 cm. Robot został złożony na 3 godziny przez zawodami Robotic Arena 2013, ale od razu zajął tam 3cie miejsce. Później na większości zawodów, na których startował też plasował się na podium. Lista sukcesów w sezonie 2013/2014: III miejsce na Robotic Arena 2013 II miejsce na T-BOT 2014 I miejsce na Robomaticon 2014 II miejsce na ROBO~motion 2014 I miejsce na ROBOXY 2014 Projektowanie Robot został zaprojektowany przy pomocy programu SketchUP. Dzięki wykorzystaniu tego programu udało się w miarę wszystko upakować zgodnie z zamierzeniami. Dodatkowo obudowa zaprojektowana w programie została wydrukowana na drukarce 3D co przyspieszyło prace. Schemat i płyki Robot ma trzy płytki które poza miescem na elektronikę stanowią także poziome elementy konstrukcyjne robota. Dolna płytka jest podstawą robota do której przytwierdzone są silniki. Dodatkowo przylutowane są do niej czujniki linii. Połączona jest ona kablami z górną płytką. Średnia płytka jest podstawą dla akmulatorów. Zawiera ona stabilizator liniowy oraz mostek H. Jest połączona kablami z płytą górną. Górna płytka jest płytką, na której znajduje się procesor. Zbiera ona sygnały z pozostałych płytek oraz z czujników. Znajdują się też na niej diody oraz są do niej przytwierdzone moduł startowy oraz przyciski. Dodatkowo ma ona wyprowadzone złącze programatora oraz układu debugu przez RS-232. Projekt schematu i płytki zostały wykonane w Eaglu. Płytki zostały wykonane na zlecenie. Elektronika Podstawowe elementy wykorzystane w układzie to: 1. Procesor Atmega 16 - sterowanie całym robotem 2. 3 czujniki 40 cm Sharp GP2Y0D340K - czujniki przeciwnika, jeden patrzący na wprost i dwa ustawione pod kątem 30 st. 3. 3 czujniki linii - KTIR0711S - do wykrywania linii oczywiście. 4. TB6612- dwukanałowy mostek H dla silników, sterowany sygnałami PWM z procesora 5. Stabilizator napięcia lm1117 dla zapewnienia 5V zasilania dla układów. Generalnie elektronika spełnia dobrze swoje zadania, dzięki zastosowaniu technologii powierzchniowej udało się zaoszczędzić dość dużo miejsca. Zasilanie Zdecydowaliśmy się na zasilanie 7,4V z dwóch cel. Aby odpowiednio upakować układy i dobrze rozłożyć ciężar wykorzystaliśmy dwa ogniwa jednocelowe z których poprzez odpowiednie połączenie został stworzony pakiet dwucelowy. Mechanika Jak wspomniano wcześniej podstawa robota to dolna płytka elektroniczna. Silniki to kultowe Pololu 30:1. Ponieważ są one dosyć dużo i nie mieszczą się w jednej osi na szerokość, trzeba było znaleźć sposób na odpowiednie ich ułożenie. Zdecydowaliśmy się na ułożenie silników jeden za drugim i przekazanie napędu jednego z nich na oś za pomocą kół zębatych. Było to trudne technicznie ale zapewnia dobre właściwości jezdne robota. Koła zostały odlane z silikonu. Wszystkie płytki elektroniczne połączone są przewodami na stałe. Rezygnacja ze złącz to duża oszczędność miejsca, utrudnia to jednak mocno prace konserwujące robota. Obudowa została wykonana w technologii druku 3D, i ze względu na dostęp do robota jest sklejona taśmą klejącą zamiast klejem. Przednia obudowa pełni funkcję "noża", nie jest ona jednak w tym zbyt efektywna. Robot dociążony jest odważnikami z ołowiu zaprojektowanymi w 3D i odlewanymi specjalnie dla niego, oraz dodatkowo dwoma odważnikami stalowymi na przedniej obudowie. Pomimo tego ma tendencje do przewracania się na tył. W maju 2014 robot przeszedł gruntowny przegląd, i zostały wymienione przewody wewnętrzne które powodowały czasami przerwy w działaniu. Problemy były związane bardzo krótkim czasem budowy, ale zostały już rozwiązane. Program Początkowo program był bardzo prosty. Na przełomie 2013 i 2014 program został przepisany na nowszy, bardziej czytelny i dający większe możliwości rozwoju. Obydwa programy bazują na programie z robota FlyingMamut. Program stworzony jest w oparciu o konkretne reguły odpowiadające staną czujników oraz stanowi logiki. Na podstawie stanu czujników i stanu obecnego ustalany jest stan następny. Program został napisany w języku C. Używałem WinAVR. Programuję przez USBAsp. Do debugowania programu używam złącza RS-232, którego moduł z układem MAX232 podpisany jest dodatkowo do robota. Podsumowanie Robot jest kolejnym etapem w naszej przygodzie z robotami sumo. Tym razem podeszliśmy do tematu już bardziej profesjonalnie i korzystaliśmy z projektowania 3D oraz technologii SMD. Robot świetnie spisywał się przez cały sezon 2013/2014, choć pod koniec sezonu zaczął już częściej przegrywać z innymi konstrukcjami. Zaletami robota jest jego szybkość oraz dobre czujniki. Wadami są złe rozłożenie wagi oraz brak noża. Robot po małych ulepszeniach będzie startował dalej ponieważ ma jeszcze potencjał. W planie jest kolejna konstrukcja microsumo bazująca na doświadczeniach z tego robota.
  11. Witam. Przedstawiam wam moje drugie dzieło: wielozadaniowy robot Witek. Jest to mój drugi robot, powstał jakieś 4 miesiące temu w celach edukacyjnych, budowa jest dużo bardziej skomplikowana od mojego pierwszego robota ( CHAOS ). Elektronika montowana jest na wytrawionym PCB( pierwszy raz wytrawiałem i wyszło według mnie całkiem fajnie ). Schematy rysowane w eagle . Robot posiada budowę modułową, czyli mamy: - płytę główną - moduł z mostkiem H - moduł z odbiornikiem RC5 (TSOP) - wyświetlacz LCD 2x16 zgodny z HD44780 - moduł czujnika linii Elektronika: Sercem robota jest uC atmega8 zasilany napięciem 5v. Sterownik silników to układ scalony l298N z diodami likwidującymi szpilki napięciowe . Odbiornik RC5 to TSOP (nie wiem dokładnie jaki ponieważ pochodzi z demontażu). Ultradźwiękowy czujnik odległości HC-SR04. Inne drobiazgi takie jak rezystory, kondensatory itp. Moduł czujnika linii składa się z: - 3x CNY70 - potencjometr 5k5 - komparator LM339 - rezystory Niestety zabrakło funduszy na akumulator i robot zasilany jest z kabla . Mechanika: Napęd to dwa przerobione serwa TowerPro SG-92R. Serwo Redox S90 do obracania czujnika odległości. Koła od zabawki, przytwierdzone do orczyków za pomocą gorącego kleju . Największym problemem przy budowie robota było napisanie programu do odbioru RC5, ale się udało . Oprogramowanie: Program napisany jest w C. Nauczyłem wielu ważnych rzeczy przy pisaniu programu do robota, ponieważ musiałem wykorzystywać przerwania i timery . Starałem się wszystko sam pisać ale niestety z braku czasu, do obsługi LCD wziąłem gotowe rozwiązanie:). Robocik posiada 3 tryby jazdy: - omijanie przeszkód - jazda po linii - zdalne sterowanie W przyszłości mam zamiar dodać do robota możliwość komunikacji radiowej i zbudować do tego odpowiedni terminal . Zdj PCB: Screeny z eagle: - płyta główna: - moduł czujnika linii (Rozmieszczenie elementów w czujniku linii wzorowane na płytce użytkownika TOLO ): - moduł mostka H: Zdjęcia robota: Filmy:
  12. Witam. Chciałbym Wam przedstawić mojego najnowszego robota klasy Line Follower Standard o nazwie "Pionier". Po raz pierwszy robot zaprezentował się na zawodach Robomaticon 2014 w Warszawie. Jest to moja druga konstrukcja tego typu. Konstrukcja mechaniczna Robot składa się z dwóch modułów: płytki z czujnikami oraz modułu głównego. Obie płytki w całości zostały wykonane przeze mnie. Oba moduły zostały połączone dwiema cienkimi listewkami z wytrawionego laminatu o grubości 1.6 mm. Koła jakie używam to standardowe koła Pololu oraz koła Solarbotics. Całość wraz z akumulatorem i kołami waży 137g. Średnia prędkość robota to 1 - 2 m/s w zależności od trasy. Moduł z czujnikami Starałem się by masa modułu była możliwie jak najmniejsza. Płytka została wykonana z laminatu o grubości 1 mm. Wymiary płytki to: 160 mm x 15 mm. W module zastosowałem 19 czujników KTIR ułożonych w łuk. Na płytce zostało umieszczone złącze dla cyfrowego czujnika odległości Sharp 40 cm. Moduł z czujnikami jest połączony z modułem głównym za pomocą złącz ZIF i taśmą FFC. Moduł główny Moduł główny jest podwoziem konstrukcji. Oprócz układów elektronicznych umieściłem na nim silniki napędowe, którymi są dwa silniki Pololu 10:1 HP. Podwozie zostało wykonane z laminatu o grubości 1.6 mm. Wymiary płytki: 130 mm x 60 mm. Elektronika Sercem robota jest mikrokontroler Atmega128. Procesor jest odpowiedzialny za odczyt stanów z czujników, realizację algorytmu i sterowaniem mostkami. Silnikami sterują dwa mostki H TB6612. Kanały w mostku zostały połączone dzięki czemu wzrosła wydajność prądowa mostka. Z innych elementów na płytce znajdują się: złącze programatora, wyprowadzenia do interfejsu USART, odbiornik podczerwieni TSOP2236, 2 przyciski, 4 diody led oraz kwarc 16 MHz. Zostały też wyprowadzane piny na enkodery magnetyczne AS5304, które zamierzam zamontować. Całość zasilana jest z pakietu Li-Pol Redox 3S 11.1V. Pakiet zamocowany jest na rzepy dzięki czemu nie ma problemów z jego wyjęciem, np. do ładowania. Zasilanie z Li-Pola trafia na dwa stabilizatory. Jeden z nich to stabilizator regulowany LM338T o wydajności 5A odpowiedzialny za zasilanie silników, drugi to stabilizator liniowy jednonapięciowy 78S05 odpowiedzialny za zasilanie procesora i reszty podzespołów. Oprogramowanie Program został napisany w języku C. Do podążania za linią używany jest regulator PD. Osiągnięcia - 6 miejsce Robomaticon Warszawa 2014 - kategoria Line Follower Standard (wtedy jeszcze pod starą nazwą) - 2 miejsce ROBO~motion Rzeszów 2014 - kategoria Line Follower Standard - 2 miejsce ROBO~motion Rzeszów 2014 - kategoria Line Follower Enhanced Zdjęcia i filmy Podsumowując jestem zadowolony z konstrukcji. Wiele się przy niej nauczyłem, wyeliminowałem błędy konstrukcyjne i programowe z pierwszego robota. Zachęcam do wyrażania opinii i uwag na temat robota jak i zadawania pytań.
  13. Witam ! Jakiś czas temu ukończyłem budowe mojego drugiego (po robocie z "przepisu") line followera konstrukcja jak to zwykle bywa z robotami mojej konstrukcji jest niezmiernie prosta i pozbawiona wodotrysków. A więc robot powstał w sumie w niecały miesiąc jak tylko sobie uświadomiłem, mój budżet nie pozwoli mi na ukończenie pierwszej wersji robota do której zresztą miałem już płytki. Wygrzebałem więc z szuflady dwa silniczki HL149 20:1 i zacząłem działać. Przy budowie wykorzystałem pomysł kolegi Mirka który podsunął mi pomysł wykorzystania multipleksera i tak oto do ATmega8 udało mi się podłączyć... 16 czujników to całkiem nieźle biorąc pod uwagę że zużyłem tylko 5 nóżek uC. To rozwiązania sprawia również ,że robot to chyba jedyna taka konstrukcja na forbocie! Na początek może krótka specyfikacja: Jako że jestem leniwy to nie chciało mi się robić nowej płytki więc płyta główna pochodzi ze Zniszczyciela II link Reszta elementów to : Zasilanie: Li-po 1000mAh 3S Czujniki 16 x KTIR0711S Multiplexer : HEF4067 Napęd 2x Hl149 Prędkość według obliczeń 0,4 m/s (za duże przełożenie silników) No dobrze ale na czym polega ten bajer z multiplekserem ? Otóż podstawowym problemem ograniczającym liczbę czujników w LF jest niewystarczająca liczba pinów zwłaszcza pinów ADC multiplexer pozwala nam obsłużyć nawet 16 czujników na jednym kanale ADC ! Jak on to robi ? Dosyć prosto to działa trochę tak jak przełącznik 16 pozycyjny za przełączanie go odpowiadają nóżki adresowe układu w przypadku 4067 jest ich 4 (4^2=16) więc jak widać pojawienie się na nich jakieś kombinacji bitów np. 0100 "zwiera" wejście układu do kanału adc ustawiając po kolei wszystkie kobinacje na nóżkach adresowych możemy w łatwy sposób sprawdzić 16 czujników podłączonych do wejść multiplexera. To chyba tyle z opisu schematu nie ma bo nigdy nie powstał druga płytka zawiera tylko multiplexer i złącze czujników. To teraz trochę zdjęć : I filmik : Program sterujący: Ponieważ rozwiązanie układowe jest nietypowe to również program wygląda trochę inaczej niż zwykle opiszę więc kawałek kodu. A3 = 0 : A2 = 1 : A1 = 0 : A0 = 1 'ustawiamy bity adresowy multipleksera Gosub Wczytaj_stany_przetwornikow 'pomiar ADC If W > Granica Then 'sprawdzmy czy jesteśmy na linii X = 4 'jeśli tak to wartosc czujnika = 4 D = 0 + X 'liczymy pseudo P Z = Kp * D Pwm1b = Tp + Z Pwm1a = Tp - Z End If Delay 'czekamy na przeladowanie bramki Czyli działa to tak wybieramy czujniki (piewsza linijka) sprawdzamy czy jest na linii jeśli tak to liczymy PWM jeśli nie to sprawdzmy kolejny. I tyle Oczywiście program to na razie wersja beta więc nie ma jeszcze uśredniania wyników i tak dalej.
  14. Witam, Chciałbym przedstawić mojego robota minisumo. Jest to moja druga konstrukcja tego typu, pierwszej nie prezentowałem gdyż nie była tego warta(choć i t nie jest wolna od wad). Ale do rzeczy. Mechanika Konstrukcja nośna oparta jest o laminat, pocięty przy pomocy miniszlifierki i polutowany. Napęd stanowią 4 silniki Pololu 50:1 z kołami z aluminium z sylikonowymi oponami Elektronika Sterowaniem zajmuje się atmega32, która współpracuje z takimi układami jak: 4 mostki TB6612 (po jednym dla silnika), MBI5026GF (sterownik diod, które obrazują prace czujników) oraz LM339 (komparator obsługujący 4 czujniki podłoża). Płytka zaprojęktowana została samodzielnie w Eagle'u i wyprowadzone zostały na niej oprócz SPI także złącza ISP i USART oraz przeprowadzone napięcia ze złącza balance baterii. Płytka nie wyszła do końca taka jak planowałem, a zwłaszcza estetycznie. Dla dociekliwych: Taki szary zaciek na spodniej stronie to klej którym musiałem oblać kable przyłączeniowe baterii bo miały tendencję do obłamywania. Na stronie wierzchniej to dziwne coś obok elementu w pomarańczowej koszulce termokurczliwej to wspomniany LM339(lepiej widać na całościowym zdjęciu konstrukcji). Wlutowany zgodnie z projektem komparator smd odmawiał posłuszeństwa zaszła więc potrzeba jego wymiany. Ponieważ jednak robot miał działać na zawody, przesyłka z układem nie dotarłaby na czas a w lokalnym sklepie była tylko wersja dip konieczna była taka modyfikacja. Elektronika generalnie działa choć czasami jest problem z zakłóceniami. Przy silnikach mam już po 4 kondensatory 100nf ale i tak czasami, choć rzadko następuje reset uC. Co do rozwoju robota pod względem elektroniki to planowałem panel operatorski z wyświetlaczem od Nokii 3310, który pozwalałby na start z pilota, podejrzenie wartości z czujników, sprawdzenie stanu baterii czy ustawienie prędkości silników. Do wspomnianego panelu powstał nawet projekt pcb i część oprogramowania ale projekt z braku czasu nie został skończony. Oprogramowanie Napisane w całości w C. Robot startował w zawodach na UTP w Bydgoszczy gdzie uniwersytet udostępnia oprogramowanie dla zawodników(zawody dla początkujących) skorzystałem więc z tego gotowca dostosowując tylko funkcje obsługi silników i niektórych czujników do swoich potrzeb. Generalnie do zmiany została tylko obsługa MBI5026 bo nie obsługuje wszystkich dostępnych dód. Czujniki Robot posiada 6 czujników przeciwnika i 6 czujników podłoża. Z przodu jak i z tyłu pracują 2 analogowe Sharp'y jako czujniki przeciwnika i 2 Qrd1114 jako czujniki linii. Po bokach natomiast pracują Sharp cyfrowy i Qrd po lewej jak i prawej stronie. Co do zasięgu czujników przeciwnika to wiem tylko, że cyfrówki mają 40cm analogowych natomiast nie znam bo je dostałem i nie sprawdzałem w dokumentacji. Z tego co jednak zauważyłem analogi mają niższy zasięg. Zasilanie Robot zasilany jest z pakietu 2S 7.4V 900 mAh. Posiadam 2 takie pakiety, które pracują na zmianę. Zdjęcia konstrukcji Podsumowanie Najbardziej jestem zadowolony z konstrukcji mechanicznie. Robot na swoich 4 silnikach jest silny a i wydaje mi się, że udało mi się wszystko dość sensownie upchnąć. Humor psują mi trochę te rzadkie ale niechciane resety no i niezbyt profesjonalny wygląd elektroniki. W planach miałem stworzenie nowego pcb ale w tym roku kończę szkołę, dla której robot powstawał a z braku czasu raczej już nic nie zdążę zrobić. Dlatego też zdecydowałem się zaprezentować tą konstrukcję. MOV20130620_003.avi
  15. Witam Jest to mój pierwszy post na forum więc pragnę się przywitać ze wszystkimi fanami robotyki. Chciałbym Wam przedstawić moją Gosię. Robot GOSIA jest drugą konstrukcją jaką wykonałem, lecz pierwszą z mikrokontrolerem. Pierwszym robocikiem był waldemar (chyba pierwsza konstrukcja wszystkich początkujących). Do konstrukcji użyłem: elektronika: -mikrokontroler atmega8 -układ L293D -stabilizator napięcia -czujniki CNY70 (5 sztuk) -troszkę rezystorów i kondensatorów mechanika: -dwa silniczki prądu stałego z przekładnią DG2425-200 [95 obr/min] z Wobitu (jak dla mnie troszkę za wolne) -koła z zabawki -kółko swobodne z castoramy (od jakiejś pufy) -kątownik plastikowy -troszkę śrubek Opis robota: Robot jest standardowy linefollower, który porusza się po czarnej linii. Najpierw powstała konstrukcja z kątownika, całość jest skręcana na śruby. Następnie powstała płytka z mikrokontrolerem (jest to płytka uniwersalna), i w tej wersji ćwiczyłem programowanie robota w C. Kolejnym krokiem była nauka wytrawiania płytek i tak powstała w końcu płytka, na której umieściłem czujniki, są to czujniki CNY70 chyba najpopularniejsze w konstrukcjach tego typu. Obecnie robocik jest zasilany z kabla, gdyż jeszcze nie zakupiłem akumulatorków. Teraz mam w planach naukę programowania LCD i chciałbym wyposażyć w niego moją Gosieńke Nie dodaje schematów, gdyż schemat podłączenia czujników można spokojnie znaleźć w necie a schematu układu z mikrokontrolerem jest tak banalny że nawet nie powstał Uporałem się z netem i jest filmik (prędkość jest bardzo mała gdyż silniki zastosowane mają tylko 90 obr/min)
  16. Witam, postanowiłem dzisiaj zaprezentować naszej małej społeczności robota którego ostatnimi czasy popełniłem. Jego konstrukcja rozpoczęła się tydzień przed Robotic Arena 2013. Powstała właściwie tylko dlatego, że nie wrobiliśmy się z kolegom z większym projektem a chciałem wystartować na zawodach. Budowa zamknęła się w ciągu 3 długich dni i nocy. No ale może skończę mówić o sobie i przedstawię głównego bohatera tego artykuł: Micro Line Follower - eLFik Płytka robota została zaprojektowana w programie Altium Designer. Do budowy wykorzystałem leżący gdzieś w szafce dwustronny laminat. Wykonałem ją metodą termotransferu a następnie pokryłem powłoką cyny za pomocą lutownicy, plecionki i kalafoni. Jej wymiary to 28x34mm. Silniki które zastosowałem w tej konstrukcji pochodzą z napędu zabawkowego helikoptera, który został rozebrany po zakończeniu swojego krótkiego żywota. Elektronika zasilana jest bezpośrednio z baterii. Sercem układu jest ATMega88PA taktowana wewnętrznym kwarcem 8MHz. Silniki sterowane są za pomocą 2 tranzystorów PNP. Czujniki lini to znane i lubiane KTIR0711S podłączone pod komparator. Robot ma możliwość komunikacji z komputerem za pomocą autorskiego złącza oraz RS-232. Część zastosowanych tutaj rozwiązań wynikło z doświadczenia lecz większość opierało się na założeniu "może pojedzie/zadziała". Niestety schematem się nie podzielę ponieważ zaginął mi podczas niespodziewanego formata. Program został napisany w języku C w środowisku Eclipse. Jest on implementacją regulatora PID zaprojektowanego przez firmę ATMEL oraz paru moich własnych rozwiązań. Całkowite wymiary robota to 40x34mm a jego waga bez dodatkowego dociążenia to 6g. Niestety, pomimo tego, że robot działa to nie jest w stanie osiągać dużych prędkości. Winna temu jest bezwładność silników przez którą nie reaguje dostatecznie szybko na podawane zmiany a układ sterujący nie pozwala na hamowanie prądem wstecznym. Jednak co by się z eLFikiem nie działo to jego budowa sprawiła mi wiele radości i nauczyła wielu rzeczy. Jeżeli wszystko pójdzie zgodnie z planem to podczas zawodów Robomaticon 2014 pojawię się z jego drugą wersją która mam nadzieje wyeliminuje dotychczas zauważone błędy konstrukcyjne. Na sam koniec filmik z przejazdu:
  17. Siemka! Dziś chciałbym przedstawić Wam moją najnowszą konstrukcję - robocika nanosumo. Robot powstawał w sumie przez może półtora tygodnia, nie licząc dni przerwy, przesyłki itp. W większości został zbudowany z elementów które miałem pod ręką, więc koszt to jakieś śmieszne 30zł za serwa i li-pole z Hk. Elektronika: - Procesor to atmega8 taktowana wewnętrznym oscylatorem 8Mhz - mostki si9986cy sterowane ok 70%wypełnienia PWM - dwa czujniki linii ktir0711s - dwa czujniki przeciwnika na tsopach i diodach ir - akku li po 3,7v 240mah Co ciekawe musiałem spiłowaćdiody 3mm do ok 1mm ( prawie samych blaszek) a i tak ładnie działają ( robot obejmuje swoim zasięgiem ok 3/4 ringu. Kolejna przeróbka była przeprowadzona na tsopach ( http://www.vishay.com/ppg?81781 ). Ich soczewka za bardzo wystawała, a że nie mogłem jej zeszlifować, gdyż zrobiłaby się matowa, po prostu ją ukruszyłem, i zdjąłem blaszkę widoczną w linku powyżej. Mechanika: Są to w sumie dwa silniczki od mikro serw i dopasowana do nich przekładnia zębata, przyczepiona do laminatowych wsporniczków za pomocą osi. Chyba najlepiej zilustrują to zdjęcia : Programowanie: cały kod został napisany w C (Eclipse), jest bardzo prosty, nic odkrywczego - robot kręci się wokół własnej osi dopóki nie zauważy przeciwnika, atakuje gdy go zobaczy, a gdy najedzie na linię cofa się na środek ringu, czyli standard. Galeria i filmik : Starsza wersja robota: I nowa wersja, póki co jeszcze nie dokończona pod względem estetyki, ale jak moja siostra wróci z zagranicy to pewnie strzeli mi co,ś ładnego na zderzakach (aha i jeszcze odlutuję złącza do programowania ) i dwa filmiki : Zakończenie: Ogólnie jestem zadowolony z robota, ładnie spycha "przeciwników", i jest całkiem szybki. Jedyne co mi się nie podoba to złącze do programowania, ale to już nie jest taki wielni problem. Mile widziane komentarze i krytyka Pozdrawiam
  18. Witam ! Co prawda robota skończyłem już dawno ale ponieważ wysłałem projekt do szkoły konstruktorów EDW to wstrzymałem się z publikacją. Ponieważ projekt nie został w żaden sposób opublikowany (otrzymałem tylko informacje że został przyjęty) to postanowiłem opisać go tutaj. Generalnie opis budowy był prowadzony w worklogu który znajduje się tutaj Robot to klasyczna "kostka" o wymiarach 9x9x10 robot waży około 300g więc ma sporo "niedowagi" co było chyba jego kluczowym mankamentem. Konstrukcja do laminat+dystanse mosiężne (całkiem fajne rozwiązanie możemy wszystko rozłożyć na czynniki pierwsze). To może teraz mała specyfikacja: Napęd: dwa serwa standard 50g marki Hobby King Zasilanie li-po 2S 1000mAh Koła: Nakrętki po miodzie o średnicy 8cm naciągnięte na nie są opaski na rękę "Mózg" ATmega 8 taktowana kwarcem 8Mhz Mostek: L298 Czujniki przeciwnika: 2x Sharp cyfrowy 40cm Czujnik Linnii 4x KTIR0711S Rysunek podglądowy konstrukcji: Schemat: Płytka: Mocowanie serw Kilka innych ujęć : Jak już wspominałem konstrukcja jest bardzo typowa po więcej detali zapraszam do odwiedzenia Worklogu. Chyba jedyną innowacją jest opuszczanie klina który zrealizowałem elektromagnetycznie a nie jak w większości tego typu konstrukcji grawitacjnie I na koniec Jeszcze dynamiczne ujęcie z zawodów : Widać na nim jak mój robot dostaje baty od Hakera II zbudowanego przez użytkownika klonyyy... Zapraszam do komentowanie nie wiem co jeszcze mogłoby was zaciekawić... Płytka.pdf
  19. Witam, po dwóch miesiącach trudów i wzmagań udało mi się przedstawić na forum pojzd sterowany podczerwienią [tzn. Irda]. jego mózgiem jest Atmega8 16PU a jego "poddanym" jest L293DNE [H-Bridge]. Funkcje do niego wysyła pilot z sygnałem RC5. Te funkcje sa banalne tzn.: 2-góra 8-dół 6-prawo 4-lewo (prawie jak WSAD) ;D Płytki zostały wykonane termotransferem. Są to dwie płytki 6x6cm które tworzą wersję "kanapkową". Kosztorys: Atmega8 4zł L293DNE 4zł odb. IR TSOP1736 5zł goldpiny 1zł 2x serwa Tower Pro SG-5010 50 zł 4x akumulatorki Tronic 2500mAh 12zł koszyk na baterie 1zł pleksa z zelera spoiler z zelera śruby też z zelera A oto tak wygląda Sterowanie: Oto filmik: [you] WSZYSTKIE PLANY DOTYCZĄCE STEROWNIKA ZNAJDZIESZ NA STRONIE WWW.BASCOMANIA.PL
  20. FlyingMamut to nasz pierwszy robot. Założenia były takie żeby na nim się nauczyć. Robot był rozwijany od września 2012 do maja 2013. Dzięki udziałowi w międzyczasie w zawodach udało się w miarę możliwośći projekt na tyle poprawić że na ostatnich zawodach - Robocomp 2013 zajęliśmy 3 miejsce. Projektowanie Robot nie był jakoś szczególnie projektowany. Wykonaliśmy kilka szkiców i obraliśmy ogólną koncepcję. Robot miał być kostką, a z przodu miała wysuwać się tzw "Łapa" czyli blaszka pełniąca rolę klina. Jeśli chodzi o elektronikę to założyłem płytkę 1 stronną o wymiarach zbliżonych do 10x10, w technologii przewlekanej (2,54mm). Schemat i płytki Schemat i płytki zostały wykonane w Eaglu. Płyta głowna ma dosyć duży rozmiar, który na pewno mógłbły być mniejszy gdyby płytka była dwustronna. Dodatkowo zaprojektowałem osobne płytki dla elementów potrzebnych dla czujników CNY70 oraz Sharp 10 i 5 cm. Od tych czujników do głównej płytki biegną 3 żyłowe przewody. Elektronika Postawowe elementy wykorzystane w układzie to: 1. Procesor Atmega 16 - sterowanie całym robotem 2. 5 czujników 40 cm Sharp GP2Y0D340K - czujniki przeciwnika ustawione pod kątem 45 st. tak że pokrywają kąt widzenia 180 st. 3. 4 czujniki linii - CNY70 - do wykrywania linii oczywiście. 4. 2 czujniki 10 cm Sharp GP2Y0D810Z0F oraz 2 czujniki 5 cm Sharp GP2Y0D805Z0F. Czujniki te początkowo miały służyć dla wykrywania celów pod "łapą". Obecne informują że robot jest w zwarciu i pomagają reagować odpowiednio. 5. L298N - dwukanałowy mostek H dla silników głównych, sterowany sygnałami PWM z procesora 6. Jednokanałowy mostek H L293D, początkowo używany dla sterowania silnikiem łapy a następnie silnika otwierania skrzydeł. Sterowany zero-jedynkowo z procesora. 7. Stabilizator napięcia LM7805 dla zapewnienia 5V zasilania dla układów. Płytka została zrobiona medotą domową (termotransfer), podobnie jak lutowanie. Nadspodziewany rozmiar diod 1N5822 sprawił, że musiały one zostać powyginane w artystyczny sposób Generalnie elektronika spełnia dobrze swoje zadania, chodź korzystając z technologii powierzchniowej i płytki dwustronnej można by dużo miejsca zaoszczędzić. Nie została ona w żaden sposób zmodyfikowana od początku istnienia robota. Zasilanie Zdecydowaliśmy się na zasilanie 11,1 V z 3 celowego pakietu Dualsky. Początkowo był to pakiet 800 mAh, a następnie daliśmy wersję 400 mAh która w zupełności wystarcza a jest dużo mniejsza. Odpowiednie napięcie dla układów elektronicznych (5V) zapewnia stabilizator liniowy. Jeśli chodzi o silniki to PWM tak dobiera napięcie średnie aby ich nie spalić (max 9V). Mechanika Podstawa robota wykonana jest z stalowej blachy wycinanej poprzez cięcie wodą i odpowiednio powyginanej. Górna obudowa wykonana jest z cieńskiego aluminium. Materiały zostały wzięte z przedmiotów codziennego użytku typu tace itd. Silniki główne to kultowe Pololu 50:1. Są one bardzo dobre dla potrzeb Minisumo. Niestety było z nimi najwięcej awarii - dwa już się spaliły :/ Silniki początkowo zajdowały się w przedniej części robota, a obecnie znajdują się z tyłu, co bardzo poprawiło przyczepność podczas zwarcia, dzięki czemu robot nie daje się tak łatwo przepchnąć. Silniki i akumulator umieszczone są na spodzie robota a nad nimi płytka z elektroniką. Z przodu w rogach obudowy znajdują czujniki linii, jeden znajduje się z tyłu. W ostatecznej wersji przód robota uformowany jest w tzw. klin. Klin ma dość stromy kąt ze względu na duże rozmiary płytki z elektroniką. Początkowo wykorzystywaliśmy koła Pololu ale zupełnie nie spełniały one swojej funkcji. Robot pływał nawet przy niewielkich zakrętach. Obecnie sami odlewamy koła z silikonu co bardzo poprawiło przyczepność robota. Łapa Łapa w zamyśle miała służyć to podcięcia i wyrzucenia innych robotów z ringu. Niestety jej zamysł niezbyt się sprawdził. Przed walką znajdowała się pod robotem i następnie przy starcie walki była wysuwana poprzez silnik Pololu 1000:1 na którego był osadzony nagwintowany pręt. Położenie łapy było kontrolowane przez dwa styczniki informujące o skrajnych położeniach. W momencie wykrycia wjazdu przeciwnika na łapę (czujniki 5cm) miała ona możliwość podniesienia się pod kątem 45stopni. Niestety niezbyt to działało przy obciążeniu, a dodatkowym problemem był fakt że roboty z dobryk klinem wbiłały się pod łapę. Skrzydła Skrzydła są elementem podpatrzonym na filmikach z zawodów w Japoni. Mają one w zamyśle zmylać czujniki przeciwnika, podobnie jak płahta działa na byka Skrzydła przed walką są w pozycji pionowej tak aby zmieścić się w obrysie 10x10 cm a następnie są rozkładane poprzez wyciągniecie zawleczki przez silnik umieszczony na obudowie robota. Były one rozwijane w kilku fazach. Poszczególne elementy takie jak system otwierania, ich ułożenie, amortyzatory były kilkakrotnie ulepszane. Skrzydła na pewno w niektórych walkach pomogły, a pozatym są charakterystycznym elementem robota zapewniającym jego rozpoznawalność. Początkowy wygląd robota Robot w wersji końcowej Program Program stworzony jest w oparciu o konkretne reguły odpowiadające staną czujników oraz stanowi logiki. Na podstawie stanu czujników i stanu obecnego ustalany jest stan następny. Program został napisany w języku C.Używałem WinAVR. Programuję przez USBAsp. Do debugowania programu używam złącza RS-232, którego moduł z układem MAX232 podpisany jest dodatkowo do robota. W przyszłości planujemy skorzystać z modułów radiowych lub bluetooth. Podsumowanie Mimo wiadomych wad, jesteśmy zadowoleni z tego robota. Na pewno pozwolił on się nam dużo nauczyć i rozwinąć jako konstruktorzy robotów. Dzięki modyfikacją z zawodów na zawody stawał się coraz lepszy i udało się w końcu stanąć na podium. Zdajemy sobie oczywiście sprawę, że nie jest w stanie rywalizować z robotami z najwyższej półki. Mimo to robot będzie startował w kolejnych zawodach, przynajmniej do momentu aż powstanie nasz następny minisumo.
  21. Witam! Wielokrotnie czytywałem opisy robotów znajdujące się na forum,ich osiągnięcia na zawodach i zawsze chciałem zbudować podobna konstrukcje. Jednakże zadawałem sobie jedno pytanie-czy osoba całkowicie zielona w tematach związanych z elektronika i programowaniem ma jakakolwiek szanse na zbudowanie czegoś takiego oraz start w zawodach. Jak się okazało kilka miesięcy później- jest to wykonalne i wcale nie takie trudne jak się wydawało. Dlatego chciałem przedstawić Wam mojego pierwszego robota typu Line follower, o przewidywalnej nazwie „PRIMUS” (z łac. Pierwszy).Nie jest to może konstrukcja najwyższych lotów (korzystałem z dostępnych materiałów co widać chociażby po taśmie która potrzebna mi była w innym projekcie,nie chciałem jej przycinać),pełno w niej błędów ale jak na pierwszy raz- myślę ze nie można się bez tego obyć. Krótko o elektronice: Schemat elektroniczny wykonałem samodzielnie w programie Eagle, opierając się o wiedzą dostępna w internecie oraz na kilku książkach. Do sterowania robotem użyłem mikrokontrolera Atmega 8 z ustawionym taktowaniem wewnętrznym 8MHz do którego podpiąłem 5 czujników odbiciowych CNY70 oraz popularny mostek H (L293D) do sterowania silnikami. Czujniki zostały ułożone co 10mm, w linii prostej co jak się okazało dopiero na na zawodach nie było dobrym pomysłem Całość zasilana jest bateria LI-POL TURNIGY 0,8 mAh 7,4 V bo taką akurat miałem dostępną.Redukcja napięcia odbywa się poprzez stabilizator liniowy L7805. Strona mechaniczna: Moduł z czujnikami oraz płytka z resztą komponentów zostały wycięte ręcznie z jednego kawałka laminatu o grubości 1,5 mm. Sprawiło to że robocik jest bardzo sztywny ale niestety zyskuje niepotrzebnie na wadze. Do napędu użyłem znanych wszystkim silniczków z przekładniami Pololu HP 30:1 ,które są wg mnie strzałem w dziesiątkę jeżeli chodzi o tego typu konstrukcje.Do silniczków zamontowałem dedykowane opony Pololu o średnicy 32 mm, które również spełniają moje oczekiwania. Jako trzeci punkt podparcia użyłem ballcastera plastikowego,z którym musiałem troszkę pokombinować bo nijak nie chciał współpracować. Program: Był to mój największy problem,jako ze nie miałem nigdy styczności z żadnym językiem programowania.Znajomi podsunęli mi C więc zacząłem się uczyć Program jest w miarę prosty,nie zawiera skomplikowanych algorytmów,jest wzorowany na kodach źródłowych znalezionych w różnych publikacjach. W załączniku umieszczam kod programu, może komuś się takowy przyda.Jeżeli chodzi o schematy to proszę pisać-również udostępnię.Sam wiem jak ciężko jest samemu wystartować bez przykładowych projektów i kodów źródłowych. Na chwilę obecną startowałem w zawodach w Rzeszowie oraz w Krakowie na AGH ale nie udało mi się odnieść jakiś spektakularnych zwycięstw(ale zawsze w pierwszej 10).Trzeba poprawić kilka rzeczy,tak jak pisałem na wstępie ale nie zmienia to faktu,że jestem z tej konstrukcji w miarę zadowolony. I na koniec filmik: PS: Wiem,że jakoś zdjęć nie powala ale chwilowo nie mam nic innego jak komórka pod ręką... PRIMUS kod.txt
  22. Witam Chciałbym przedstawić swojego robota klasy nano sumo. Trochę danych technicznych: Nazwa: Saper Waga: 15g Zasilanie: Li-pol 3,7V 145mAh Wymiary: 25x25x25mm Procesor: Atmega8L Napęd: dwa mikro serwa - mocno przerobione Koła o średnicy 15mm. Dwa czujnik lini GP2S24 firmy SHARP Podwójny czujnik optyczny z przodu: dwie diody 1,8mm podczerwone i odbiornik TSOP32156 Elektronika na dwustronnym laminacie grubości 0,45mm Program napisany w C (WinAVR + AVRstudio) Robocik brał udział w pokazie walk robotów nanosumo we wrocławiu na Robotic Arena 2008, na którym wygrał walkę. Jeśli chcecie wiedzieć więcej to pytajcie. Ale zastrzegam sobie zachowanie kilku tajemnic
  23. http://twingo.ict.pwr.wroc.pl/~konar/infopage.php?id=28 Parametry: CPU: Atmega8L 2x czujniki koloru GP2S24 1x dalmierz podczerwieni IS471F 2x silniki 2,7-3V, 1x 3,7V 145mAh 8C HD Li-Pol Kokam. Wymiary: ~25x25x25mm Konstrukcja robota opata jest o laminat różnej grubości, główna „rama“ wykonana jest z laminatu 1.5mm, lutowanego, oraz dodatkowo wzmacnianego klejem epoksydowym. W ramie zamocowane są silniki pochodzące z „mikro - autek“, które swego czasu zalały nasz rynek. Są to silniki o napięciu nominalnym 3V i prądzie zwarcia 50mA. Współpracują z oryginalną przekładnią o stopniu przełożenia ~12:1. Koła także pochądzą z mikroautek, jednak zostały nieco oszlifowane, gdyż były zbyt duże. Do ramy zamocowane są trzy płytki z elektroniką. Z tyłu znajduje się wykonana z polerowanego laminatu szklano-epoksydowego o zwiększonej grubości warstwy miedzi płytka z końcówkami mocy dla silników. Oparta jest o scalone level-convertery 74LVC2T45, które bez trudu mogą sterować prądem do 100mA. Środkowa płytka znajdująca się pod baterią zawiera mikrokontroler Atmega8L taktowany z wewnętrznego generatora 8Mhz, znajduje się tam również dioda, dzielnik rezystorowy umożliwiający pomiar napięcia baterii, oraz złącze do programowania. Przednia płytka zawiera czujniki białej linii (sharp GP2S24) oraz dwie diody nadawcze i scalony odbiornik podczerwieni IS471F, który zawiera sterownik diody nadawczej. Zasięg dalmierza wynosi około 10cm, z możliwością określania kierunku (lewo, prawo, środek) przeszkody. Aktualnie program nie wykorzystuje wszystkich możliwości robota (nie określa kierunku przeszkody). Algorytm działania robota jest dobrze widoczny na filmikach. Na razie robot walczy z pudełkiem, ale kiedy pojawi się jakiś przeciwnik, algorytm zostanie dopracowany i wyważony (na razie robot waży 17g). Robot zasilany jest baterią litowo- polimerową firmy Kokam o pojemności 145mAh i prądzie rozładowania 8C. Jest zamontowana na stałe w robocie, do którego podłączana jest ładowarka oparta o specjalizowany układ max1555. Robot posiada mikroprzełącznik który odłącza zasilanie od układu i jednocześnie podłącza do obwodu baterii mikrozłącze do ładowania. Na spodzie robota umieszczony jest mikroswitch który stanowi jednocześnie tylnią podporę dla robota. Po przyciśnięciu przycisku robocik zatrzymuje się i za pomocą kodów błyskowych (0-5) pokazuje stan naładowania baterii. Wartości progów dobrano eksperymentalnie podłączono robota za pomocą interfejsu RS-232 do komputera i wysyłano pomiary napięcia z baterii. Dodatkowo kiedy napięcie baterii spadnie poniżej 3V robot wyłącza wszystkie czujniki oraz przechodzi w tryb uśpienia, zmniejszając pobór prądu do ~1mA. Programator oparty jest o zmodyfikowany schemat Si-proga, podpinanego pod port COM komputera. Konstrukcja robota dość długo ewoluowała, przez robota przewinęło się w sumie 6 silników, 3 komplety przekładni, trzy końcówki mocy oparte o tranzystory, dwie wersje płytki z mikrokontrolerem, oraz dwa zestawy różnych czujników. Robot aktualnie pracuje w oparciu o bardzo prosty algorytm i nie wykorzystuje wszystkich możliwości, jeździ jak na razie maksymalnie na 50% wypełnienia PWM, gdyż dość wysoko umieszczony środek ciężkości sprawia że robot przy hamowaniu wywraca się, problemy te zostaną częściowo usunięte po odpowiednim wyważeniu, jednak z racji tego że aktualnie robot nie ma przeciwnika - nie pracuję nad nim - czekam na wyzwanie
  24. 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.
  25. 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.
×
×
  • Utwórz nowe...