Skocz do zawartości

Tablica liderów


Popularna zawartość

Pokazuje zawartość z najwyższą reputacją 25.08.2010 we wszystkich miejscach

  1. 2 punkty
    Po wielu miesiącach, w bólach i trudach, narodził się mój drugi robot. Obecnie jest to konstrukcja ukończona, ale lekko niedopracowana, co widać na filmiku. Gdy zaczynałem, projekt bł inspirowany prostym z jednego z artykułów. Dlatego też został wykonany na płytce uniwersalnej. Po jej wykonaniu mam zdecydowanie większe doświadczenie w szukaniu drugich końców kabli, zwarć i w ogóle innych temu podobnych pluskiew. Poza tym wiem, ze w końcu trzeba będzie nauczyć się robić porządne płytki drukowane. Dużo czasu zajęła konstrukcja chwytaka, mogącego podnieść coś więcej niz puste pudełko. Ponieważ wiele osób po usłyszeniu zdania "buduję robota" zadawało pytanie "a będzie przynosił piwo?" zdecydowałem się sprostać ich oczekiwaniom. Przy okazji było to spore wyzwanie, bo pełna butelka waży około 0.8 kg, a szkło ciężko jest złapać. Niestety, konstrukcja nie ma jeszcze zastosowań praktycznych, ale od czegoś trzeba zacząć Mechanika: Napęd stanowią cztery koła z zakrętek od słoików, skręcanie systemem czołgowym. Liczba kół znacznie utrudnia płynne sterowanie, aby pokonać ostrzejsze zakręty jedna para kół mus kręcić się do tyłu. Jednak takie rozwiązanie było konieczne, gdyż z dociążonym chwytakiem ciężko jest sterować przy użyciu kół tylnych, natomiast z pustym przy użyciu kół przednich przednich, gdyż tył musi być bardziej dociążony, by robot nie unosił się podczas chwytania. Chwytak składa się z dwóch części, łapiącej i podnoszącej. Łapanie jest realizowane za pomocą widocznej na zdjęciach śruby, napędzanej nietypowo umieszczonym serwem (zastosowanie przekładni pasowej skutkowało spadaniem paska przy zmianie kata ustawienia śruby wzgledem reszty konstrukcji). Podnoszenie jest realizowane przy pomocy drugiego serwa, które nawija żyłkę wędkarską na wałek o średnicy niecałego centymetra. Drugi koniec żyłki działa na chwytak dosyć dużą siła, do tego jeszcze wykorzystuje on dźwignię, więc udźwig znacznie przewyższa masę, którą robot jest w stanie przewieść. W celu lepszego wykorzystania udźwigu dociążono tył robota, pod koszykami na akumulatorki (dwa zestawy po 4x1.2 V, połączone równolegle), które dodatkowo dociążają tył, i w tym celu są zdublowane (używanie akumulatorków jako ciężarków nie jest ekonomiczne, ale akurat je miałem) znajduje się woreczek z różnego rodzaju złomem, do tego na akumulatorkach dokładam większy kawał złomu. Znajdująca się z tyłu obudowa dobrze ukrywa plątaninę kabli. wszystkie użyte serwa to TowerPro SG-5010. Czujniki: Robot wyposażony jet w 5 czujników odbiciowych CNY70, ustawionych w w linii prostej. Ze względu na odchylenie w wycentrowaniu kół, zdecydowałem się na stały kontakt modułu czujników z podłożem, odlegkość regulowana rozmiarem elementów dystansujących. Wykrywanie linii działa dobrze, problem stanowi jedynie zahaczanie się robota o krawędź kartki (raz widoczne na filmiku). Ponadto robot posiada trzy proste, własnoręcznie wykonane czujniki stykowe (w odniesieniu do ich wyglądu brzmi to aż zbyt dumnie) położenia poszczególnych elementów chwytaka (koniec łapania, koniec puszczania i koniec podnoszenia). Do tego na końcu chwytaka znajduje się bariera świetlna, fotofranzystor i cztery diody IR (włączone na stałe, co ogranicza bezpieczny prąd i jasność świecenia). Nie jest to rozwiązanie idealne, robot po wykryciu obiektu jedzie do przodu przez określony czas, po naładowaniu akumulatorków (jak na filmiku) pokonuje większy dystans i jak widać, przewraca piwo. W razie konieczności mozna zmienić umiejscowienie bariery i w ten sposób pozbyć sie niedokładności wynikającej z opóźnienia czasowego. Elektronika: Mikrokontroler ATmega8, dwa scalone mostki H (jeden L293DNE, drugi L293D, bo w sklepie nie mieli DNE), do tego 3 metry kabla, i tyle w temacie. Oprogramowanie: Napisane w BASCOMie, kilka wersji, do wyboru PID i zwykły select case, zastosowany na filmiku. Narazie filmiku z PIDem nie ma, bo juz sklepy zamknięte były po nakręceniu i filmu i skończył mi się poxipol, poza tym działa on gorzej, gdyż obciążenie jest zmienne i ma znaczny wpływ na styl jazdy, poza tym użycie czterech kół powoduje konieczność zadania nie tylko wartości PWM, ale i kierunku obrotów, co utrudnia sprawę. Jak wszystko się już kompletnie uda, to jeszcze końcowy filmik.
  2. 1 punkt
    Witam kolegów. Postanowiłem zaprezentować projekt ultradźwiękowego czujnika odległości. Pomysł zaczerpnąłem z tutoriala p. Teodora Otulaka. I postanowiłem go jakoś poprawić. W skrócie o co chodzi: Przedstawiony czujnik odległości zrealizowany jest za pomocą przetworników ultradźwiękowych. Przetworniki te są łatwo dostępne ich koszt to ok. 8-10zł za komplet (nadajnik plus odbiornik). Mózgiem jest ATmega8. Odległość jest wyświetlana na dwóch wyświetlaczach 7segmentowych oraz dodatkowo za pomocą czterech pinów portu C. Całość nie doczekała się jeszcze niestety płytki PCB ze względu na brak czasu. Całość została zmontowana na nieocenionej płytce stykowej. CZĘŚĆ ELEKTRONICZNA: Wyświetlacze 7 segmentowe są podłączone do PORTB przez rezystory 500Om. W celu zmniejszenia poboru prądu można użyć nawet 1k. Segmenty zostały podłączone do portu B w następujący sposób: Led A - PB2; Led B - PB1; Led C - PB7; Led D - PB0; Led E - PB5; Led F - PB3; Led G - PB4; Led H - PB6; Oznaczenia segmentów: Oto schemat: Jeśli nie chcemy to możemy nie montować w ogóle wyświetlaczy. Katody wyświetlaczy zostały podłączone bezpośrednio do pinów PC0,PC1. Przetworniki ultradźwiękowe podłączyłem sposób następujący: nadajnik (oznaczony literą T) do PD0 i PD1, a odbiornik ® do komparatora analogowego AIN0 (PD6) i AIN1 (PD7). Do nóżek odbiornika podłączyłem rezystor w celu eliminacji zakłóceń. Ważne jest też, żeby nadajnik i odbiornik były czymś oddzielone (u mnie jest to aluminiowy radiator). Można też nieco rozchylić przetworniki. Również możemy je umieścić w metalowych krótkich rurkach wystających kilka mm ponad przetworniki. Robimy tak ponieważ dźwięki z nadajnika od razu może słyszeć odbiornik, w związku z czym odbiera nie dźwięki odbite ale te bezpośrednio z nadajnika. U mnie działo się tak cały czas więc oddzieliłem je radiatorem. Lepszym jednak rozwiązaniem byłyby rurki bo w moim przypadku odbiornik odbierał dźwięki nawet wtedy kiedy coś było obok niego a nie bezpośrednio naprzeciwko. Zauważyłem też, że nie wszystkie przetworniki ultradźwiękowe są takie same (to chyba normalne;). Podczas testowania używałem dwóch kompletów z zupełnie innych źródeł. Różnice polegały na tym że wyświetlały troszkę inne odległości aż o około 2cm. Inne mogą pokazywać jeszcze inaczej, dlatego jeśli chcemy mieć dokładnie tyle ile się wyświetla można zmienić troszkę program. Układ pobiera w czasie pracy maks 35mA. CZĘŚĆ PROGRAMOWA: Program napisany został w języku C. Odbiór ultradźwięków postanowiłem zrobić to za pomocą przerwania zewnętrznego. Po zmianie programu i testach stwierdziłem że to nie najlepszy pomysł. Często pojawiały się zakłócenia i układ wariował. Zmniejszył się też zasięg i układ się powiększył o kilka elementów. Poza tym obsługę wyświetlaczy zrobiłem na przerwaniach od timera0 i troszkę mi to kolidowało. Dałoby się to rozwiązać ale... Skorzystałem z komparatora analogowego. Po kolejnych testach zmieniłem rezystor przy odbiorniku zamiast 220k dałem 100k. Dobrałem go eksperymentalnie. Za małe wartości zmniejszały zasięg, a za duże nie eliminowały wszystkich zakłóceń. Wcześniej np. przy odległości ok. 20-30cm układ czasami wariował i wyświetlał na chwilkę odległość ok. 5cm. Przy oporze 100k już się nic takiego nie działo. Kolejnym pomysłem było dodanie jakiegoś innego sposobu informowania o zmierzonej odległości. Wyświetlacz wygodny pomysł jak chcemy mieć prosty sposób na odczyt odległości-ot taki bajer. Ale jeśli będziemy chcieli zastosować czujnik np przy robocie to beznadzieja. Pomyślałem więc że dorobię jeszcze jedną sygnalizacje odległości. I zrobiłem tak: Wraz ze zmniejszaniem się odległości od przeszkody, na niewykorzystanych pinach portu D kolejno pojawia się stan wysoki. Tj: 15-10cm -pin PD5 stan wysoki 10-5cm - pin PD4 stan wysoki 5-3cm - pin PD3 stan wysoki <3cm - pin PD2 stan wysoki Jeśli chodzi o dokładność to w dużym stopniu zależy od przetworników ultradźwiękowych i ich ułożenia. Dlatego wyświetlacz wyświetla odległości w następujący sposób: >30cm - wyświetlacz wyłączony 30-21cm - wyświetla 30; 20-16cm - wyświetla 20; 15-10cm - wyświetla 15; 10-6cm - wyświetla 10; 5-4cm - wyświetla 5; 3-0cm - wyświetla 3; Można też dopasować program do własnych przetworników zmieniając watości w tabeli zoom. Jeszcze na temat programu. Nie jest może idealny ani zabójczo przejrzysty ale miałem drobne problemy z tablicami. WinAVRa dopiero się uczę a składnia języka C w nim różni się nieco od innych kompilatorów także wybaczcie. Można go napisać trochę prościej. Ponad to jest to wersja druga programu. Pierwsza została bezpowrotnie utracona. Ta wersja zajmuje troszkę więcej pamięci w procesorze ale i tak zajmuje go niewiele. Jest też wada tego sonaru. Jeśli przedmiot jest umieszczony prostopadle to wykrywa go bez problemów. Nawet monetę 2zł wykrywa z odległości 30cm. Ale jeśli jest pod kątem 45° to już jest gorzej. Ale w przypadku odległości poniżej 10cm przedmiot i tak zostaje wykryty. To by było na tyle. Jeśli ktoś ma jakieś uwagi czy pomysły jak to poprawić lub zrobić inaczej to piszcie. Postaram się poprawić. Przepraszam za marną jakość zdjęć. Nie posiadam aparatu więc robiłem telefonem;) Sonar 3.rar
  3. 1 punkt
    Koszyk przecież jest dostępny w tme. Wiele elektronicznych też powinno go posiadać. Jak wyślesz pytanie do TME to powinni przesłać dokumentację.
Tablica liderów jest ustawiona na Warszawa/GMT+02:00
×
×
  • Utwórz nowe...