Popularny post Naelektryzowany Napisano Sierpień 21, 2012 Popularny post Udostępnij Napisano Sierpień 21, 2012 Witam Chciałbym przedstawić wam robota Silver Shaft klasy line follower (nazywany też SS skrót powstał podczas bardziej luźnych rozmów na chacie 🙂). Postęp prac można było śledzić w worklogu. Prace nad robotem zacząłem w sierpniu 2011 roku, później prace mocno spowolniły z powodu braku czasu. Od połowy lutego tego roku wziąłem się do pracy zrobiłem płytkę, którą już wcześniej zaprojektowałem, polutowałem, napisałem pierwszą wersję programu i przeprowadziłem pierwsze próby. W marcu wystartował w zawodach Robomaticon zajmując 13 miejsce, co i tak było sukcesem jak na 3 dni (a właściwie popołudnia) na napisanie programu od podstaw i przeprowadzenie pierwszych prób. Szczerze mówiąc robot zaczął przyzwoicie jeździć w dzień zawodów ok.2 w nocy 🙂. Od tego czasu wprowadziłem kilka modyfikacji, zarówno sprzętowych jak i programowych. Kończąc wstęp, przejdźmy do konkretów. SPECYFIKACJA Wymiary: 120x80x32mm Waga samego robota: 75g Waga robota z akumulatorkiem: 86g Średni pobór prądu logiki: 130mA Średni pobór prądu logiki bez czujników linii: 45mA Coś dla miłośników anaglifów: Proces lutowania: MECHANIKA Konstrukcja mechaniczna jest bardzo prosta i powiedziałbym typowa dla robotów tej klasy. Robot składa się z trzech płytek drukowanych, głównej, płytki z czujnikami linii i z cyfrowym dalmierzem. Płyta główna ma 1,5mm grubości, pozostałe są jednostronne i mają grubość 0,8mm. Płyta główna jest jednocześnie podwoziem robota. Wykonanie płytki głównej zajęło mi dużo czasu z powodu złych ustawień drukarki (Pierwsza płytka dwustronna na nowej drukarce). Po zmianie ustawień i zmarnowaniu 3 płytek wielkości robota, płyta główna wyszła idealnie, bez żadnych zerwanych ścieżek i tylko z jednym, w sumie nieistotnym zwarciem przy podświetleniu led, oraz przesunięciem między warstwami <0,5mm, które jak na trzecią dwuwarstwówkę było i tak niewielkie. Napęd robota stanowią dwa silniczki pololu HP z przekładnią 30:1 wraz ze standardowymi kołami 32mm. i mocowaniami, które swoją drogą były kompletnym niewypałem (łącznie złamały się 8 razy, za każdym razem w innym miejscu). Rolę podpory przodu stanowi plastikowa kulka 3/8 cala. MONTAŻ Płytka została pocynowana „mechaniczne”, własnej roboty pasta + tasiemka odsysająca + trochę cyny i wprawy. Większość elementów typu rezystory, czy kondensatory są w obudowach 0805, wyjątek stanowią 4 rezystory 330R ograniczające prąd diod Ir w transoptorach. Pierwotnie były tam rezystorki o mniejszej wartości, jednak z powodu grzania się KTIR’ów zostały wymienione, a jako, że nie miałem odpowiedniej ilości w 0805, zostały zastąpione większymi wersjami 1206. Całość polutowana grotówką. Płytka z czujnikami została zamontowana na stałe i trzyma się na listwie goldpin, która jednocześnie stanowi połączenie elektryczne między nią a płytą główną. ZASILANIE Całego robota zasila pakiet Li-Pol 2s zlutowany z dwóch pojedynczych ogniw 450mAh firmy Batimex. Tu chciałem zaznaczyć, że wiem o istnieniu pakietów 2s. Złożyłem je sam, ponieważ potrzebowałem pakietu o nietypowych wymiarach, a nie miałem czasu na zamawianie w HK. Logika zasilana ze stabilizatora LM1117 na 5V, silniki z przetwornicy ST1S10PHR ustawionej na 6V, lub bezpośrednio z pakietu (wybór zworką). W tylnej części płytki mieści się wyłącznik zasilania z sygnalizacją włączenia i układ pomiaru baterii z diodą led informującą o spadku napięcia poniżej ok.6,6v – wtedy to na wyjściu przetwornicy napięcie zaczyna spadać poniżej 6v. Akumulator starcza na ok. 15-20 min testów. ELEKTRONIKA Schemat i wzór pcb eksportowany z programu EAGLE. Mózgiem robota jest ATMega32 taktowana zegarem 16MHz. Rolę czujników linii stanowi 8 transoptorów odbiciowych KTIR0711S, odczyt na wbudowanym w atmege adc.Tu muszę zaznaczyć, że trafiłem na wadliwą sztukę KTIR’a miał lekko zdeformowane „szybki” pod diodą Ir i fototranzystorem, i dawał zawyżone wartości (ok. 150 więcej 10 bitowego adc) mała korekta w programie zniwelowała rozbieżności, niemniej uważam, że czujniki są świetne. Sterowanie silnikami odbywa się za pomocą mostka H TB6612 jeden na oba silniki. Pwm o częstotliwości trochę ponad 7Khz. Na przodzie robota znajduje się zamontowany stosunkowo niedawno dalmierz cyfrowy sharp 10 cm GP2Y0D810Z0F. Nie spotkałem się z nim w żadnym innym lf’ie. Przyznam, że wątpiłem w jego praktyczną użyteczność, okazało się jednak, że robot jest w stanie wyhamować z pełnej prędkości w ok. 2-3cm, a czujnik działa na tyle szybko, że mam jeszcze spory zapas przed przeszkodą. Czujnik może pełnić dwie funkcje (wybierane zworką). Chamowanie i wznowienie jazdy dopiero po usunięciu przeszkody, lub omijanie jej. Dzięki temu, robot może startować w konkurencji line follower z przeszkodami. Do komunikacji użytkownik – robot, zamontowane zostały dwie diody led, dwa przyciski, odbiornik Ir TSOP4836, oraz złącze 10 pinowe na którym poza wyprowadzeniem zasilania i spi do programowania jest I2C i uart, umożliwiające podpięcie dodatkowych modułów (w tej kwestii wypowiem się, gdy napiszę i opublikuje pewien artykuł 😉 ) PROGRAM Program napisany w Bascomie, na dzień dzisiejszy zawiera nieco ponad 600 linijek kodu i jest to 6 wersja programu, zajmuje 10% z 32KB pamięci Flash. Program można podzielić na dwie główne części: 1.Część odpowiedzialną za jazdę a.Sprawdzenie stanu dalmierza b.Odczyt analogowy z czujników linii c.Konwersja wartości analogowych na binarne d.Wyliczenie położenia linii metodą średniej e.Przekazanie uchybu regulatorom f.Naniesienie korekty pwm na silniki 2.Część serwisowa a.Wyłączenie podświetlenia, wprowadzenie mostka w stan stanby b.Wysłanie zapytania i oczekiwania na odpowiedź po uart z aplikacji PC c.W razie braku odpowiedzi, przejście do trybu konsolowego d.Oczekiwanie na id zmiennej i jej wartości e.Zapis nowej wartości zmiennej do pamięci Regulator Proporcjonalno Różniczkujący, z czego człon D wymaga jeszcze dopieszczenia. Pojawił się już w 2 wersji programu, jednak do niedawna bardziej przeszkadzał, niż pomagał, dlatego podczas większości testów był wyłączany. Aktualizacje w kolejnych wersjach: 1.-; 2.Dodanie regulatora D, trybu serwisowego, odliczania przed startem, 3.Naprawienie błędu uniemożliwiającego pokonanie kąta prostego, efekty led przy starcie i zatrzymywaniu 4.Dodanie obsługi dalmierza 5.okiełznanie D, dynamiczne omijanie przeszkód,6.poprawa wydajności programu - uproszczenie liczenia uchybu, integracja z programem PC w planach: Ulepszenie D, rozwinięcie możliwości komunikacji z PC, płynne i łatwo regulowane omijanie przeszkód, optymalizacja kodu oraz coś o czym dowiecie się przy publikacji artykułu 😉 OSIĄGNIĘCIA 13 Miejsce na Robomaticonie 2012 w kategorii Line Follower. Kilka zdjęć i filmików z robotem. Silver Shaft na starszym bracie "drewnobocie" Ok godziny po pierwszej jeździe z czujnikami: 3 dni później: Jazda próbna na torze Robomaticonu w Warszawie: Jedna z ostatnich jazd: Tor w wersji z przeszkodami- przy drugim okrążeniu lekko zawadził o przeszkodę, ale wielkość łuku była podyktowana wielkościami pierwszej trasy, i jest "na styk": (nagrywał sosnus) PODZIĘKOWANIA Dziękuję wszystkim, którzy przedstawili sugestię i krytykę, w worklogu. W szczególności Sabre, oraz jego robotowi Tsubame, który był poniekąd inspiracją dla tego lf'a. Dziękuję osobom z chatu za pomoc w mniejszych problemach, np. grzanie się ktirów, czy problem z komunikacją po spi, przede wszystkim bobb'iemu i KD93. Dziękuję Turlaczowi za "troskę" 🙂 i codzienne pytanie "jak tam SS?" Dziękuję Sosnusowi, za pomoc w teoretycznych aspektach dokładności liczenia uchybu, wspólne testowanie robota i zmian w programie, oraz mile spędzony weekend. 😉 Czekam na słowa krytyki, oceny i pytania. 😉 Dziękuję 24 Link do komentarza Share on other sites More sharing options...
piotreks-89 Sierpień 22, 2012 Udostępnij Sierpień 22, 2012 No gratuluję 😉 Płytka super wykonana, robot fajnie jeździ i całość jest miła dla oka. Rzadko się widzi roboty tej kategorii o takich wymiarach z własnoręcznie wykonaną płytką (za to ode mnie duży + ). Link do komentarza Share on other sites More sharing options...
pawcio0928 Sierpień 22, 2012 Udostępnij Sierpień 22, 2012 Śledziłem projekt od samego początku, nie tylko z workologu ale także na bieżąco i powiem że robot jest pod niesamowicie dobrze przemyślany. Oczywiście gratuluje tak świetnej konstrukcji. Link do komentarza Share on other sites More sharing options...
Tolo Sierpień 22, 2012 Udostępnij Sierpień 22, 2012 Całość polutowana gotówką. Szkoda pieniędzy 🙂 Ale tak wogóle fajna konstrukcja... Link do komentarza Share on other sites More sharing options...
Polecacz 101 Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Produkcja i montaż PCB - wybierz sprawdzone PCBWay! • Darmowe płytki dla studentów i projektów non-profit • Tylko 5$ za 10 prototypów PCB w 24 godziny • Usługa projektowania PCB na zlecenie • Montaż PCB od 30$ + bezpłatna dostawa i szablony • Darmowe narzędzie do podglądu plików Gerber Zobacz również » Film z fabryki PCBWay
Foadrian Sierpień 22, 2012 Udostępnij Sierpień 22, 2012 Ciekawa robota. Szczególnie podziwiam Twoją cierpliwość przy samodzielnym wykonywaniu płytki. Link do komentarza Share on other sites More sharing options...
Mars Sierpień 22, 2012 Udostępnij Sierpień 22, 2012 MONTARZ c.Konwersacja wartości analogowych na binarne konta prostego Sam robocik jest słodki. Taka mysz 😃 ... ale z dopalaczem (podświetlenie z tyłu) xD Ważne, że dojeżdża do celu. Porównując do drewniaka, to nawet nie idzie porównać. 1 Link do komentarza Share on other sites More sharing options...
zuba1 Sierpień 22, 2012 Udostępnij Sierpień 22, 2012 No no może do elity prędkości nie należy ale ogniem bucha.Ciekawie wygląda moja ocena 5. Link do komentarza Share on other sites More sharing options...
Naelektryzowany Sierpień 24, 2012 Autor tematu Udostępnij Sierpień 24, 2012 Ostatnio byłem nieco zajęty, dlatego nie zaglądałem. Dziękuję za poprawki, widać czasem słownik w edytorze tekstu zmienia sens zdania. 😉 Dziękuję, za pozytywne komentarze, szczeże mówiąc nie myślałem, że robot, który nie liczy się za bardzo w zawodach, spodoba się wam. Link do komentarza Share on other sites More sharing options...
Mars Sierpień 24, 2012 Udostępnij Sierpień 24, 2012 Nie zawsze chodzi o wygrywanie. Gdyby tak było, to wielu ludzi by np. nie biegało, bo Usain Bolt jest szybki jak ten piorun w nazwisku. W takim razie to, że biegają, można tylko pozytywnie komentować. Bo nie biegają dla rekordów, tylko dla siebie, rekreacji, zdrowia, zabicia czasu. Link do komentarza Share on other sites More sharing options...
slawko_k Październik 8, 2012 Udostępnij Październik 8, 2012 Naelektryzowany, Fajna konstrukcja. Mógłbym zapytać z jakaś częstotliwością odczytujesz czujniki? Link do komentarza Share on other sites More sharing options...
Naelektryzowany Październik 12, 2012 Autor tematu Udostępnij Październik 12, 2012 Preskaler odczytu adc został dobrany eksperymentalnie, nie pamiętam jaka jest f. odczytu dokładnie, ale było to lekko ponad 200Khz (które wg. atmela jest maksymalne) Swoją drogą mała poprawka... Dostałem wczoraj nową precyzyjną wagę i robot waży nie 75g a 55,86g (bez akusa) a akumulatorkiem 74,57g. Link do komentarza Share on other sites More sharing options...
ojebejbe Październik 12, 2012 Udostępnij Październik 12, 2012 Kolejna konstrukcja z serii pocieszne małe ekhm... nie ważne co, ale takie malutkie, popinające po torze robociki, które możesz nosić w kieszeni, zawsze robiły na mnie mega pozytywne wrażenie. Mały, ale byk! 🙂 Jak człowiekowi jest smutno, to wyciąga takie toto z kieszeni, stawia na podłodze i się cieszy jak się kółka kręcą i migają diody 🙂 To co, że nie jest tak szybki jak ten... jakmutam... Wstszons...a. Shock. Linii trzyma się fajnie, czujniki ogarniają przeszkody, a zmieścić to wszystko na tak małej płytce też nie jest tak hop siup. Bardzo fajna konstrukcja, gratulacje 🙂 Link do komentarza Share on other sites More sharing options...
Naelektryzowany Listopad 17, 2012 Autor tematu Udostępnij Listopad 17, 2012 Mały update. Od czasu opisania robota minęło trochę czasu. Od tego czasu naszło sporo zmian. po 1. Uruchomiłem zdalny wyłącznik bezpieczeństwa na pilota RC5 (dziękuję za pomoc w kodzie). Samym odbiorem zajmuje się tiny13 podklejony pod tsopem i polutowany kynarem. po 2. Uruchomiłem moduł Bluetooth, i powoli szykuję kilka artykułów z nim związanych. po 3. I najważniejsze. Program napisałem od podstaw jeszcze raz. Uznałem, że nie ma sensu głębiej brnąć w bagno i należny zrobić to raz a porządnie. Kosztowało mnie to kilku słabo przespanych nocy, a czy było warto? chyba tak 😃 jest to wersja V7.0 kodu. Obecnie jest "rozgrzebany" bo kilka niezbędnych elementów dodawałem dziś przed zawodami, które będą za niecałe 6 i pół godziny. 😃 Ale wszystko działa, a jak będzie chwila czasu, to ogarnę to odpowiednio. Na ten moment program zajmuje 4182 bajtów (12%). I składa się z nieco ponad 700 linijek. Uświadomiłem sobie przy okazji, ze zapchanie megi32 gołym kodem, bez dużej ilości stałych i kolosalnych tablic jest bardzo trudne. 😃 Co nowego w programie... Kilka rzeczy jest, ale to może opiszę o bardziej przytomniej porze. 😃 no i coś do popatrzenia. Regulator to PD ale nastawy były dobierane w dosłownie 15-20min, więc pewnie uda się jeszcze kilka mm/sec wycisnąć. 😃 Link do komentarza Share on other sites More sharing options...
Natanoj Listopad 17, 2012 Udostępnij Listopad 17, 2012 Tak świetnie jeździ po 20 min strojenia 🤯. Ja utknąłem na strojeniu samego P i musiałem wrócić do bascomowych caseów. W wolnej chwili podaj jak możesz wagi czujników, bo u mnie z tym chyba największy problem jest. Albo nie mieści się w zakrętach, albo mocno myszkuje na prostej linii. Czujniki i ich rozstaw bardzo podobna więc może będzie to dla mnie dobry punkt wyjścia do rozpoczęcia strojenia. Jak możesz opisz też projekt połączenia attiny i tsopa. Ja właśnie złożyłem swój własny pilot na tym uc. Zdaje mi się jednak że Twój pomysł z dekodowaniem Rc5 jest znacznie lepszy i lepiej przenieść attiny13 z płytki pilota na płytkę robota. Na pewno dużo trudniej będzie go zmylić innymi sygnałami. Samej konstrukcji nie potrzeba komentować, małe jest piękne 😉. Link do komentarza Share on other sites More sharing options...
Naelektryzowany Listopad 19, 2012 Autor tematu Udostępnij Listopad 19, 2012 Czujniki mają wagi ułożone liniowo. Wydaje mi się, że to, że teraz tak dobrze jeździ jest spowodowane przyspieszeniem wydajności algorytmu. 😉 W sprawie pilota zapraszam na mój topic na innym forum: http://forum.atnel.pl/topic1772.html Proponuję najpierw jednak przeczytać całość, bo kodów tam było kilka. 😉 Swoją drogą jak przenieść tiny 13 z pilota do robota? kto ci będzie kodował to rc5? 😃 no chyba, że masz innego pilota. 1 Link do komentarza Share on other sites More sharing options...
Pomocna odpowiedź
Bądź aktywny - zaloguj się lub utwórz konto!
Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony
Utwórz konto w ~20 sekund!
Zarejestruj nowe konto, to proste!
Zarejestruj się »Zaloguj się
Posiadasz własne konto? Użyj go!
Zaloguj się »