CategoryMicromouse

Postępy prac nad Micromouse

Dawno nic nie było o postępach w pracach nad Micromousem, więc pora na mały update. Od ostatniego wpisu o regulatorze obrotów z sierpnia udało się zrobić parę rzeczy. Udało się również parę rzeczy zepsuć. Projekt posunął się do przodu na różnych frontach, ale postępy przystopowało trochę spalenie płytki.

Czytaj dalej

Projekt regulatora obrotów silnika

Dzisiaj omówię, w jaki sposób zaprojektować regulator obrotów silnika. Pokażę jak zebrać dane pomiarowe, a następnie dokonać ich analizy i obróbki. W trakcie tego procesu wytłumaczę jakich narzędzi używam i w jaki sposób je wykorzystuję.

Podobny artykuł napisałem kiedyś na Forbocie – link. Jednak jest kilka istotnych różnic. Przede wszystkim tam był brany pod uwagę sam układ enkoder – silnik bez kół i całej konstrukcji mechanicznej robota. Przez to nie musiałem wtedy walczyć z takimi zakłóceniami i nieliniowościami. Poza tym wtedy wyprowadziłem model na podstawie pomiaru dla jednej wartości wypełnienia. Tutaj wykonuję pomiary dla trzech wartości i patrzę jak wyznaczone modele sprawdzają się dla innych danych pomiarowych.

Czytaj dalej

Robot jeździ o własnych siłach

Problemem na którym zatrzymałem się ostatnio podczas próby wprawienia robota w ruch (link) było przeniesienie napędu z silnika na koła. Osią obrotu koła jest jest śruba przechodząca przez mocowanie silnika. Jest ona dokręcana za pomocą nakrętki, co widać na poniższym zdjęciu.Kiedy nakrętka jest wkręcona za mocno, występuje opór przy próbie obrotu koła. Zębatka na wale silnika przestaje się wtedy kręcić. Po poluzowaniu śruby, koło dobrze się kręci, ale nakrętka zaczyna się odkręcać i po jakimś czasie wypada. Rozwiązaniem mojego problemu okazał się klej do śrub. Dzięki sklejeniu nakrętki ze śrubą, nie odpada ona podczas obracania się koła. Nie muszę więc tak mocno skręcać śruby i koło może swobodnie się kręcić.

Po zamontowaniu kół i sklejeniu śrub robot mógł w końcu wyruszyć w swą pierwszą trasę. Została ona uwieczniona na filmiku:

Czytaj dalej

Sprawić, żeby robot zaczął jeździć

Trzy miesiące konkursu „Daj się poznać” już praktycznie minęły i o ile jestem zadowolony z treści, które pojawiły się na blogu, to prace nad rozwojem robota są w szczerym polu. Od początku wiedziałem, że realizacja całego projektu potrwa dłużej niż konkursowe trzy miesiące, ale liczyłem, że będę już trochę dalej. Uświadomiłem to sobie w poniedziałek i wtedy też postanowiłem podjąć się wyzwania – do końca maja (czyli w 3 dni) miałem sprawić, żeby robot zaczął jeździć. Z tego powodu w ostatnich dniach solidnie popracowałem nad projektem. Tym bardziej, że przed trzema dniami wyzwania miałem jeszcze owocny weekend z OctoPrint i drukarką 3D. Na zdjęciu puszczony na telewizorze kolejny odcinek serialu „Bootowanie Raspberry Pi”.

Czytaj dalej

Funkcje debugowe i sterownik silników

Ostatnio udało się trochę pchnąć do przodu prace nad softem. Dorobiłem prototypy funkcji debugowych i interfejsu użytkownika, a także napisałem sterownik silników, który następnie przetestowałem na robocie. Okazało się, że na płytce PCB jednak znajdowały się błędy. Zmiany w kodzie zostały wrzucone na GitHub, pojawiły się tam też pierwsze wpisy do Issue Trackera.

Czytaj dalej

Budowanie szkieletu aplikacji

Zgodnie z założeniami, które nakreśliłem we wpisie o architekturze systemu, zabrałem się do projektowania prototypów funkcji poszczególnych bloków. Dzięki temu mogę zbudować szkielet aplikacji przechodzący przez wszystkie warstwy i stopniowo wypełniać go kodem. Główny nacisk położyłem na driverach powiązanych z warstwą sprzętową. Zależy mi na szybkim zaimplementowaniu driverów, żeby można było przetestować poprawność pracy poszczególnych podzespołów na docelowej płytce. Poza tym hardware jest najbardziej zależny od rzeczy narzuconych odgórnie i dobrze jest sprawdzić jak najszybciej, czy planowana koncepcja jest na pewno realizowalna. Zaktualizowany kod znajduje się na GitHubie projektu na gałęzi dev.

Czytaj dalej

Lutowanie płytki

Płytki PCB mam już od jakiegoś czasu, elementy też, ale dopiero ostatnio znalazłem trochę czasu, żeby to wszystko polutować. Tak więc lutownica w dłoń i do dzieła!

Czytaj dalej

Architektura systemu

Koncepcję robota opisałem już jakiś czas temu i od razu zabrałem się za realizacje hardware. Soft na razie został zepchnięty na dalszy plan, ale powoli to się zmienia. W ramach przygotowań do implementacji postanowiłem więc określić architekturę systemu. Jako, że to projekt po godzinach, nie ma żadnych narzuconych procedur dotyczących dokumentacji. Nie oznacza to jednak, że ma jej w ogóle nie być. Założenie jest takie, żeby pisać tylko tyle dokumentacji ile jest w danej chwili potrzebne i żeby rosła razem z postępem prac. W tej kwestii projekt potraktuję jako poligon doświadczalny.

Czytaj dalej

Przyszły płytki do robota

Dawno nie było nic o postępach prac nad robotem. Pora to zmienić. Tym bardziej, że ostatnio odebrałem gotowe płytki PCB.

Zamówiłem trzy płytki z czarną soldermaską. Za czarny kolor trzeba było dopłacić, ale moim zdaniem było warto, bo dzięki temu robot będzie się lepiej prezentować. Gotowe płytki wyglądają tak:

Czytaj dalej

Projekt płytki drukowanej

Po zrobieniu schematu ideowego przyszła pora na projekt płytki PCB. Udało mi się uwinąć z tym zadaniem w weekend. W tym poście opiszę, czym się kierowałem przy projekcie PCB.

Wymiary robota

Pierwszym krokiem do stworzenia PCB było określenie wymiarów. Byłem tutaj ograniczony przez program Eagle, który wykorzystałem do zrobienia projektu. Maksymalny rozmiar płytki możliwy w darmowej wersji programu to 80x100mm. Minimalna szerokość musiała być taka, aby zmieściły się dwa mocowania silników – długość jednego to 23mm, a szerokość to 40mm. Szerokość z zamontowanymi kołami to 50mm. Ostatecznie zdecydowałem, że pomiędzy silnikami umieszczę jeszcze baterię i szerokość wyniesie 60mm. Przed mocowaniami silników po zostawieniu miejsca na koła zdecydowałem się na zwiększenie szerokości do 80mm i wyprofilowanie kształtu półkola. Wzorowałem się tutaj na istniejących robotach. Takie rozwiązanie jest standardem, a przykłady można obejrzeć tu(należy wybrać Projects->Micromouse), tu i tu. Jak bym chciał być pro, to mogłem jeszcze tam wyciąć ze środka część PCB dla odchudzenia konstrukcji. Jednak nie byłem pewny, czy się ze wszystkim zmieszczę, a dopóki nie będę chciał rywalizować z najlepszymi Micromouse na zawodach w Japonii raczej nie będę musiał dbać o każdy gram. Ostateczny kształt płytki można obejrzeć na rysunku. Obraz jest mocno zaciemniony przez żółte linie reprezentujące niedokończone połączenia, których oczywiście zapomniałem wyłączyć do screena. Jednak obrys robota i rozmieszczenie najważniejszych elementów są widoczne.

Czytaj dalej

© 2017 ucgosu.pl

Theme by Anders NorénUp ↑