Elektroda.pl
Elektroda.pl
X
Elektroda.pl
Computer Controls
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Projekt Robot MiniSumo

03 Lip 2008 13:53 7820 33
  • Poziom 9  
    Witam. Jestem początkującym w tym temacie, więc jeśli zauważycie gdziekolwiek jakiś błąd to piszcie. A więc do rzeczy. po dłuższym czasie postanowiłem zaprojektować i zbudować robota. Jakiego? MiniSumobota. Dlaczego MiniSumobot? Sumobot dlatego że wydawał mi się łatwiejszy do zrobienia niż inne, a mini bo rozmiar duży jest pewnie bardziej kosztowny a nano po prostu za małe. Wymiary to 8cm na 8cm a wysokość... Zależy ile miejsca zajmie elektronika. Koła mają być szerokie na 1cm(1 szt.) promień wynosi około 3cm i od przedniej ściany (robot w kształcie prostopadłościanu) oddalone o jakiś 1mm albo 2mm. Robot ma być jakieś 0,7mm nad ziemią. Podzieliłem jego budowę na 3 części.

    Część Pierwsza:
    Podstawa.:
    Ma zawierać czujniki i tylne koło. Mówiąc czujniki miałem na myśli dwie rzeczy. Dalmierz, coś czym robot będzie wyszukiwał przeciwnika. Innymi słowy, jeśli robot wykryje jakiś obiekt w odległości maksymalnie 77cm to pojedzie w jego kierunku. Mini kamera czy cokolwiek co odróżni czarny od białego, dosłownie wymagam tylko tych dwóch kolorów. A tylne koło dla zachowania równowagi.

    Część Druga:
    Środek.:
    Ma zawierać dwa serwomotory, akumulator/baterie i mostek H-Bridge. Serwomotory muszą być na tyle mocne aby robot mógł się szybko obracać i jechać.

    Część Trzecia:
    Górna część robota.:
    Ma zawierać płytkę drukowaną z mikrokontrolerem i innymi tego typu rzeczami.

    Jest to mój pierwszy projekt i prawdę mówiąc nie jestem pewny co, jak i gdzie zamontować. Jutro postaram się dać jeszcze jakieś schematy jak ma wyglądać. Po raz kolejny przypomnę że jestem w tym całkowicie nowy więc Moglibyście zrobić mi listę co muszę kupić a potem gdzie i jak zamontować? Wiem że to głupia prośba ale jeśli mi teraz pomożecie to szybciej się wszystkiego nauczę i przy następnych moich projektach nie będę potrzebował pomocy z waszej strony. Dodam też że w ten sposób pomożecie także innym początkującym w tym temacie. Na razie proszę tylko o sprawdzenie czy prawidłowo zaprojektowałem pierwszą część i napisanie czego potrzebuje, poza tylnym kółkiem, dalmierzem i mini kamerą aby móc zmontować Część Pierwszą, no i oczywiście jak to zmontować. Postaram się w najbliższym czasie kupić odpowiednie rzeczy i zmontuje je. Efekty mojej pracy dam na ten temat w postaci zdjęć. Będę wdzięczny jeśli mi pomożecie, pozdrawiam wszystkich forumowiczów i życzę miłego użytkowania forum.
  • Computer Controls
  • Poziom 12  
    Ciekawy pomysł, ale co jest ci potrzebne ( i nie chodzi mi o części do robota ) tylko chodzi mi o doświadczenie. O potrzebny sprzęt, takie jak programator mikro kontrolerów, czy jak sama sztuka programowania. Kamerka to już inna sprawa tutaj jest dużo trudu, aby procek przetworzył do na dane. Tutaj się kłania wiedza programowania na poziomie wykwalifikowanego informatyka. A więc bez doświadczenia i wiedzy ogólnej, nawet lista podzespołów nic tu nie pomorze.
  • Computer Controls
  • Poziom 9  
    Mam zamiar kupić AVR ATmega48-20PU(mikrokontroler) i ATAVRISP2(programator). Na początku nie napisałem o tym bo szukałem takich co by były w miarę dobre i pasowało mi do PC(nie mam LPT). Od trzech lat zajmuję się programowaniem w C++, jestem w tym nawet niezły i dodam że szybko się uczę programować w nowych językach. Kiedyś w tydzień nauczyłem się javy a jeszcze kiedyś HTML'a. właśnie miałem zamiar iść do księgarni sprawdzić czy jest "Programowanie Mikrokontrolerów w języku BASCOM" i jeśli nie będzie to poszukam w necie. O kamerce usłyszałem z innego forum(poświęconego MINISUMOBOTom), więc jeśli to nie wchodzi w gre to postaram się wymyślić coś innego. Pozdrawiam wszystkich Forumowiczów i życzę miłego używania forum.

    PS.: Dziękuje za uwagi Maciek_65.
  • Poziom 17  
    Do wykrywania koloru (czarny/biały) proponuję Ci użyć transoptora odbiciowego zbudowanego w oparciu o układ dioda podczerwona-fototranzystor. Pomiar ograniczy się jedynie do odczytania napięcia przetwonikiem AC oraz ewentualnego zastosowania pomiaru różnicowego - wyliczenie różnicy pomiędzy odczytami przy powierzchni nieoświetlonej i oświetlonej diodą IR. Czujnik taki możesz zbudować sam albo kupić w sklepie ARE.net.pl. Na stronie sklepu masz też dostępną dokumentację.
    Jeśli chodzi o serwomechanizmy to polecam Tower Pro MG-995. Moment 15kg przy napięciu równym 6V robi wrażenie.
    Jeśli szukasz materiałów i wskazówek do budowy robota minisumo polecam Ci cykl artykułów zamieszczonych w Komputer Świat Ekspert (numery od 05/2007 do 10/2007) opracowanych przez członków Koła Naukowego Robotyków. Zajrzyj również do działu Download na stronie KoNaR'u.
  • Poziom 35  
    Kamerkę w pierwszym robocie sobie podaruj.

    Skoro znasz C++ to najlepiej roboty programuj w C (WinAvr)
    Jak kupujesz procesor to zamiast atmega48 kup atmega168. Jest to praktycznie ten sam procesor, tylko ma więcej pamięci. Przy jednej sztuce jest to różnica rzędu 5zł i nie ma co oszczędzać, bo jak ci zabraknie miejsca w pamięci (a 4kb flasha to naprawdę nie za wiele) to będziesz miał problem.
  • Poziom 9  
    Dziękuje za porady postaram się zastosować. Jutro wyśle na forum zdjęcia Robota. Jutro mam zamiar iść do sklepu w tej sprawie. Pozdro.

    PS.: Czy są różne rodzaje mostków H-BRIDGE(ze sklepu)? Jeśli tak to jaki kupić?
  • Poziom 17  
    Weź układ L298 - podwójny scalony mostek H. Jak się będzie grzał pamiętaj o radiatorze. Jeśli chcesz go zabezpieczyć przed przepięciami indukowanymi w cewkach silników kup też szybkie diody prostownicze - 8 sztuk.
  • Poziom 35  
    Generalnie h-bridge opłaca się w 3 konfiguracjach (z tego co bezproblemowo dostępne w polsce):
    1.Do 600mA L293D (z diodami).
    2.Do 3A L298 (trzeba dodać diody i zajmuje bydlak sporo miejsca)
    3.Powyżej najlepiej stworzyć samemu mostek na mosfetach
    (są gotowe scalaki, ale u nas raczej nie do dostania...)

    Potrzebę stosowania diod w skrócie wyjaśnił robi667.

    Tyle, że ty masz praktycznie h-bridge w serwomechanizmach i naprawdę nie wiem po co się upierasz na jego wywalenie. Nic lepszego na początku nie stworzysz, a musisz kombinować z dodatkowymi elementami na płytce, większą płytką itd.

    W pierwszym robocie zdecydowanie powinieneś wyznawać metodę KISS - keep it simple, stupid.
    Ogólnie w amatorskiej robotyce w 99% najlepiej się wychodzi na jej stosowaniu, bo przekombinowane roboty mają ogromną tendencję do niedziałania, szczególnie jak ktoś zaczyna :)
  • Poziom 9  
    Nie upieram się na wywalenie H-Bridge'a z serwomotorów. Dzisiaj o trzeciej albo czwartej jadę do sklepu kupić między innymi serwa ale jak będą w nich H-Bridge to ich nie wyrzucę. Staram się żeby było jak najmniej przewodów i innych części(mniejsze prawdopodobieństwo zepsucia).

    PS.: Jadę tak późno bo mi przedwczoraj auto na drodze szybkiego ruchu auto stanęło. Dwie godziny czekałem na pomoc drogową. A dopiero dzisiaj z warsztatu je odbiorę.
  • Poziom 35  
    Standardowe serwo ma 3 przewody.
    1.zasilanie ('+')
    2.masa ('-')
    3.Sygnał sterujący

    Sygnał sterujący podajesz z częstotliwością ~20Hz i jest to sygnał o długości od ~1 do 2ms, gdzie ok. 1,5ms to stop, 1ms to kręć maksymalnie w lewo, 2ms to kręć maksymalnie w prawo.
    Serwo jeszcze trzeba przerobić, żeby nie miało blokady na +/- 90stopni.
    Wszystkiego się dowiesz na elektrodzie (opcja szukaj).
  • Poziom 17  
    MirekCz napisał:
    Sygnał sterujący podajesz z częstotliwością ~20Hz i jest to sygnał o długości od ~1 do 2ms, gdzie ok. 1,5ms to stop, 1ms to kręć maksymalnie w lewo, 2ms to kręć maksymalnie w prawo.
    Serwo jeszcze trzeba przerobić, żeby nie miało blokady na +/- 90stopni.

    Jeśli mowa o przerobieniu serwa, to prócz blokady trzeba usunąć również potencjometr i elektronikę. Pozostanie tylko silniczek z przekładniami, który wypadałoby wysterować przez mostkek H i dla zmian prędkości sygnałem PWM.

    MirekCz napisał:
    Tyle, że ty masz praktycznie h-bridge w serwomechanizmach i naprawdę nie wiem po co się upierasz na jego wywalenie.

    Śmiem twierdzić, że to nie jest H-Bridge. ;)

    Jeśli chcesz zaoszczędzić sobie roboty z przerabianiem serwomechanizmów i stosowaniem mostka H, użyj serwomechanizmów o ciągłej rotacji. Sterowane tak jak zwykłe serwa sygnałem PWM z tym, że sygnał nie ustala położenia a kierunek i prędkość obrotów. Wczesna wersja mojego robota minisumo była oparta właśnie na takich serwach. Nie pamiętam dokładnie modelu, ale googlaj "Parallax Continuous Rotation Servo".
  • Poziom 35  
    robi667 napisał:
    MirekCz napisał:
    Sygnał sterujący podajesz z częstotliwością ~20Hz i jest to sygnał o długości od ~1 do 2ms, gdzie ok. 1,5ms to stop, 1ms to kręć maksymalnie w lewo, 2ms to kręć maksymalnie w prawo.
    Serwo jeszcze trzeba przerobić, żeby nie miało blokady na +/- 90stopni.

    Jeśli mowa o przerobieniu serwa, to prócz blokady trzeba usunąć również potencjometr i elektronikę. Pozostanie tylko silniczek z przekładniami, który wypadałoby wysterować przez mostkek H i dla zmian prędkości sygnałem PWM.


    Po co wymontowywać potencjometr? Wystarczy, że go odłączysz mechaniczne od wyjścia i ustawisz na stałe w pozycji "0" (czyli taką jaką ma sygnał 1,5ms). Jak zadasz inną pozycję niż "0" to serwomechanizm będzie do niej dążył bez przerwy, bo potencjometr stale pokazuje "0".
  • Poziom 27  
    [quote=robi667]Jeśli chodzi o serwomechanizmy to polecam Tower Pro MG-995. Moment 15kg przy napięciu równym 6V robi wrażenie. [/quote]
    Nie umniejszając temu serwie - co to ma być za jednostka momentu "kg"? na 1m ramieniu udźwignie mi ciężar 15kg? Jak już podawać moment to porządnie - kg*cm, kg*m, Nm itd.

    Co do czujnika:
    Do odczytu koloru linii polecam CNY-70 (3zł sztuka + komparator+potencjometr). Sam sobie wszystko zaprojektujesz, wyregulujesz i wsadzisz gdzie tylko będziesz chciał, nie będziesz musiał się martwić budową robota pod czujnik. Do wykrywania obiektów polecam czujniki Sharpa serii GP2xxx.
    Do mostka H najlepiej przekaźniki + ew. 1 MOSFET na silnik do PWMa. Najmniejsze straty i ryzyko uszkodzenia tranzystora.
  • Poziom 9  
    Wybaczcie że pytam ale czy jeśli chce użyć transoptora odbiciowego to znaczy że mam go podłączyć kabelkiem do przetwornika AC który jest na płytce drukowanej podłączony drogą do mikrokontrolera?Pozdro.
  • Poziom 17  
    OldSkull napisał:
    Nie umniejszając temu serwie - co to ma być za jednostka momentu "kg"? na 1m ramieniu udźwignie mi ciężar 15kg? Jak już podawać moment to porządnie - kg*cm, kg*m, Nm itd.

    Przepraszam. 15 kg*cm przy napięciu 6V.

    MirekCz napisał:
    Po co wymontowywać potencjometr? Wystarczy, że go odłączysz mechaniczne od wyjścia i ustawisz na stałe w pozycji "0" (czyli taką jaką ma sygnał 1,5ms). Jak zadasz inną pozycję niż "0" to serwomechanizm będzie do niej dążył bez przerwy, bo potencjometr stale pokazuje "0".

    Jeszcze nigdzie się na to nie natknąłem. Świetne rozwiązanie!
    Czyli można zamiast potencjometru wstawić dwa rezystory, tak żeby odpowiadały położeniu 0? Nie byłoby ryzyka przesunięcia przy drganiach...
  • Poziom 27  
    Może trochę się uniosłem z tą jednostką, bo w przypadku małych serw zwykle jest kg*cm, ale szukając większych silników zdarzało mi się znajdować oferty, wg których silnik był:
    -super wypasiony
    -dobry
    -do wywalenia na śmietnik
    I nie wiadomo które, bo nie było podanej jednostki (w ogóle) lub była podana w kg (to było jedynie irytujące, bo musiałem szacować na podstawie wymiarów, która z powyższych opcji wchodzi w grę).

    Cytat:
    Wybaczcie że pytam ale czy jeśli chce użyć transoptora odbiciowego to znaczy że mam go podłączyć kabelkiem do przetwornika AC który jest na płytce drukowanej podłączony drogą do mikrokontrolera?Pozdro.

    zależy - jeśli interesuje Cię wynik zerojedynkowy, to możesz podłączyć do "+" komparatora, do "-" wyjście z dzielnika napięcia na potencjometrze, a wyjście do ukontrolera i jedynie na potencjometrze ustawiasz sobie próg powyżej którego będzie dawało na procka logiczną 1 a poniżej którego logiczne 0. Natomiast jeśli chcesz mieć dokładny wynik to możesz dawać na przetwornik wbudowany w mikrokontroler (tylko pamiętaj, że w takim wypadku konwersja zajmuje trochę czasu, a i sam multiplekser nie działa natychmiast).
  • Poziom 35  
    robi667 napisał:
    MirekCz napisał:
    Po co wymontowywać potencjometr? Wystarczy, że go odłączysz mechaniczne od wyjścia i ustawisz na stałe w pozycji "0" (czyli taką jaką ma sygnał 1,5ms). Jak zadasz inną pozycję niż "0" to serwomechanizm będzie do niej dążył bez przerwy, bo potencjometr stale pokazuje "0".

    Jeszcze nigdzie się na to nie natknąłem. Świetne rozwiązanie!
    Czyli można zamiast potencjometru wstawić dwa rezystory, tak żeby odpowiadały położeniu 0? Nie byłoby ryzyka przesunięcia przy drganiach...


    Tak, można dwa rezystory, chociaż zazwyczaj się po prostu zakleja potencjometr i już się nie ruszy :)

    Makpro1985:
    Generalnie mógłbyś tak kombinować, ale zazwyczaj interesuje nas tylko sygnał cyfrowy "0" lub "1". (czyli kolor biały lub czarny podłoża).

    W tym celu możesz spojrzeć na schemat http://www.huv.com/miniSumo/seeker2/Schematic.gif (podłączenie czujnika QRD1114)
    Czujnik ten ma zintegrowany układ, który normalnie jest odłączony (i linia danych RA2 jest podłączona do +5V - logiczna "1"), ale po wykryciu odbicia czujnik ściąga sygnał do masy (co mikrokontroler odczytuje jako logiczne "0").
  • Poziom 9  
    Wybaczcie, ale niestety zaszła pewna pomyłka. Auto dopiero dzisiaj naprawili więc dopiero jutro jadę na zakupy. Jadę do Katowic na Plebiscytowej ponoć jest sklep "Voltronik". Oto moja lista zakupów. W razie czego piszcie czy o czymś nie zapomniałem. Jadę około czwartej...

    1.:Czujnik koloru ARE0015(jeśli nie będzie to kupię z tej strony).
    2.:Dalmierz podczerwony.
    3.:12V bateria.
    4.:Dwa serwa o rotacji ciągłej.
    5.:Laminat.
    6.:Mikrokontroler firmy Atmel z rodziny AVR model ATmega168-20AU.
    7.:B327(Środek trawiący).

    PS.: Sorka za błąd z tym B327.Pozdro.
  • Poziom 12  
    1. Tak, jak nie będzie to wtedy kup czujnik CNY-70.
    2. Tak.
    3. Na pewno 12V, ja bym tam dał 9V.*
    4. Tak.
    5. Tak, ale pamiętaj, że musi być wytrzymały, bo przy uderzeniu drugiego robota to twój musi to uderzenie znieść. Najlepiej epoksydowo-węglowy laminat.
    6. Tak.
    7. Ale co "B237", tranzystor? Jest duzo osprzętów które maja takie oznaczenie.

    Pozdrawiam

    * Chyba, że serwo o takiej rotacji potrzebuje takie napięcia.
  • Poziom 17  
    Jaką baterię chcesz wziąć? Litowo-jonową, litowo-polimerową? Skoro będziesz pędził serwa to po co Ci aż 12V napięcia? Elektronikę i tak musisz zasilić przez stabilizator napięciem 5V.
    Wystarczy Ci akumulator 7,4V, najlepiej litowo-polimerowy. Minus jest taki, że taka bateria kosztuje ok. 80zł i drugie tyle ładowarka do niej.
    Jeśli zdecydujesz się na 7,4V to zastosuj stabilizator L4940V5. Jeśli wybierzesz 9V albo 12V to popularny 7805.
  • Poziom 12  
    A morze bateria cynkowo-powietrzna która ma 8,4V. Jednak ona kosztuje 77 zł a ładowarka do niej tyle samo a może więcej.
    http://www.tme.pl/katalog/index.phtml

    Na tej samej stronie jest bateria 12V za, od 3 - 7zł, ale ładowarka też kosztuje ok. 50 zł do niej, ( to jest ładowarka do paluszków ) no chyba, że już masz taką ładowarkę ;)

    Dodano po 1 [minuty]:

    Chociaż odradzam 12V baterii, moim zdaniem najlepszym rozwiązaniem będzie bateria 9V.
  • Poziom 9  
    Dobra poszedłem przed chwilą do sklepu i kupiłem 9V alkaiczną baterie.
  • Poziom 12  
    No i najlepszy wybór, tylko jeżeli byś chciał mniejsze napięcie to użyj rezystora do obniżenia.
    A propo to nie ma środka trawiącego "B237" jest "B327" ;)
    Osobiście go polecam.
  • Poziom 9  
    Chciałem kupić ARE0015 ale tam pisze że współpracuje z płytką edu ATmega32. Czy z ATmega168-20AU też będzie działał?
  • Poziom 12  
    Raczej tak. Z tego co mi wiadomo to ARE0015 ma wyjście analogowe, gdzie wtedy jest potrzebny zamontowany w mikro kontrolerze przetwornik analogowo-cyfrowy. Przetworniki te są robione w większości nowych mikro kontrolerów, więc powinien zadziałać.
  • Poziom 17  
    Makpro1985 napisał:
    Dobra poszedłem przed chwilą do sklepu i kupiłem 9V alkaiczną baterie.

    Tę malutką R9? Zastanów się: mikrokontroler, dwa serwa, dalmierz i czujnik koloru. Pomyślałeś o wydajności prądowej? Na mój gust ta bateria nie zda egzaminu. Nawet jeśli wystartuje, to kiedy Twój robot będzie prowadził przepychankę z przeciwnikiem serwa będą pobierały dużo więcej prądu.
  • Poziom 9  
    Więc kupie drugą, i może trzecią. Zrobiłem też obudowę.
    Projekt Robot MiniSumo
    Ta wkładka jeszcze nie jest na stałe, dlatego jest tak krzywo.


    PS.: Miało być Mikrokontroler.
  • Poziom 19  
    to jest tektura? wystarczy, że zawadzisz o ostrzejszą krawędź drugiego robota czy czegokolwiek i bedziesz miał w tym dziure.
  • Poziom 12  
    :!::!: yyy, co? :?::?

    Jeżeli chcesz zrobić obudowę robota z tekturki, to możesz się pożegnać z wygraną, nad przeciwnikiem :| :|

    Ja bym zrobił obudowę z laminatu epoksydowo-węglowego. ;)
  • Poziom 9  
    Więc pójdę jutro do sklepu kupić ten laminat, a tekturkę uznam za prototyp.