mojStary Napisano Październik 16, 2023 Udostępnij Napisano Październik 16, 2023 Cześć wszystkim, Chciałem zbudować robota typu linefollower i jednocześnie dokumentując cały proces od zera. Przygotujcie się więc że, ten wątek będzie bardzo długoczasowy. W trakcie budowy będę się posiłkował się chatem GPT do generowania kodu, przykładami z githuba i istniejącymi konstrukcjami. Chciałem przy okazji budować stacje do testowania poszczególnych komponentów np. stacja do testowania linii, stacja do silników, tester opon itd. W zamyśle pierwszy prototyp LF będzie duży i modułowy. Stan na dzień 1: - nie mam biurka, ale już jest w drodze - zrobiłem re-search po istniejących konstrukcjach i algorytmach - zajęło mi to parę dni - mam 9 stron notatek i zdjęć innych konstrukcji - kupiłem Arduino (wiem, że do końcowej konstrukcji będzie trzeba użyć czegoś mocniejszego, ale do pierwszych testów może wystarczy) - kupiłem czujniki od myszki Założenia co będzie miał końcowy LF: - jakiś docisk (turbina lub śmigła - Japońskie LF uwielbiają śmigła) - algorytm zapamiętujący trasę i wykorzystujący tą wiedzę w kolejnych przejazdach TODO w najbliższym czasie: - stworzyć miejsce pracy - podpiąć czujnik od myszki do Arduino i zobaczyć czy za pomocą dwóch takich czujników można wyznaczyć położenie (w przyszłości pewnie połączę to z enkoderem i IMU) 1 Cytuj Link do komentarza Share on other sites More sharing options...
Gieneq Październik 17, 2023 Udostępnij Październik 17, 2023 @mojStary witam na forum 🙂 22 godziny temu, mojStary napisał: Chciałem zbudować robota typu linefollower i jednocześnie dokumentując cały proces od zera. Super, powodzenia! Czekamy na aktualizacje. 1 Cytuj Link do komentarza Share on other sites More sharing options...
morteusz Październik 20, 2023 Udostępnij Październik 20, 2023 Dnia 16.10.2023 o 11:33, mojStary napisał: - algorytm zapamiętujący trasę i wykorzystujący tą wiedzę w kolejnych przejazdach Sam chciałbym umieścić w mojej konstrukcji algorytm zapamiętywania trasy ale po zagłębieniu się w temat stwierdziłem że najpierw postaram się osiągnąć maksymalnie dobry czas bez tego i dopiero wtedy to rozważę. W zrozumieniu na czym to polega i co jest do tego potrzebne pomogło mi parę prac inżynierskich i magisterskich z politechniki wrocławskiej więc na twoim miejscu tam właśnie bym się udał jeżeli zamierzasz to zaimplementować. Swoją drogą generalnie przy budowie lfa polecam zasięgnąć materiałów stworzonych przez politechnikę wrocławską a precyzując, youtubowy kanał konar. Powodzenia! Cytuj Link do komentarza Share on other sites More sharing options...
Treker (Damian Szymański) Listopad 9, 2023 Udostępnij Listopad 9, 2023 @mojStary i jak idzie? Jakie postępy? 🙂 Cytuj 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
mojStary Listopad 12, 2023 Autor tematu Udostępnij Listopad 12, 2023 Moje stanowisko pracy dalej nie przyjechało, a za niedługo minie miesiąc od zamówienia... Na razie wygląda to tak, że mam Arduino Leonardo w tekturowej pokrywce od jakiegoś pudełka: xD Nie mniej jednak wykorzystałem ostatni czas na dokształcanie się: - wiem, że to co dla mnie jest sufitem, dla innych jest podłogą, ale poczytałem o dzielnikach napięcia, pullup/pulldown rezystorach itd. - przerobiłem kurs Arduino, pobawiłem się zapalaniem LED, przyciski, potencjometry itd. - poczytałem o projektowaniu płytek PCB i jak to się robi w kiCadzie - chat GPT + google dało radę i napisałem prosty soft w Pythonie, który łączy się z Arduino i wyświetla mi koordynaty XY od pojedynczego czujnika myszki. W warunkach laboratoryjnych przy wolnych prędkościach, na krótkich odcinkach, przy stałej odległości od podłoża, ruchach tylko prostopadłych, błąd jest akceptowalny. Wykres z rzeczywistego sensora, gdzie 0,0 to jednocześnie punkt startowy i końcowy - widać drobny błąd, bo punkty startu i stopu się nie pokrywają, ale ruszałem z ręki, więc nie po liniach prostych i nie bez minimalnego obrotu: - zrobiłem sobie symulator danych z 2 czujników myszki i próbę wyznaczenia położenia robota na ich podstawie. Na wykresie obliczone teoretyczne położenie robota dla symulowanych danych z czujników: Teraz trzeba będzie zamienić teorię w praktykę. 2 Cytuj Link do komentarza Share on other sites More sharing options...
Treker (Damian Szymański) Listopad 25, 2023 Udostępnij Listopad 25, 2023 To czekamy na kolejną aktualizację 🙂 1 Cytuj Link do komentarza Share on other sites More sharing options...
mojStary Grudzień 3, 2023 Autor tematu Udostępnij Grudzień 3, 2023 (edytowany) Mała aktualizacja. Robota może nie idzie w ekspresowym tempie, ale idzie w dobrym kierunku. Od ostatniego wpisu: - biurko przyjechało, mam fotel i lampkę, więc można w komfortowych warunkach coś tworzyć, - zrobiłem kurs freeCAD, żeby móc wydrukować swoje części na drukarce 3D, - pobawiłem się drukarką i ponieważ jest super tania, to nie drukuje zbyt dokładnie. Jednakże w końcu, w n-tej iteracji udało mi się wydrukować podstawkę pod sensor myszki. Teraz sensory mogą być ze sobą w stałej odległości, - napisałem program na Arduino, który komunikuje się z oboma sensorami po SPI, ale nie zadziałało od kopa... Sprawdzałem pełno rzeczy i już przez chwilę myślałem, że przekraczam z długością przewodów bo od Arduino przez płytkę stykową (w celu rozgałęzienia sygnału SCK, MISO i MOSI) do sensora miałem jakieś 50 cm, a większość źródeł mówi, że max to 20-40 cm, ale okazało się, że to coś innego. Na płytce, na której są czujniki od myszki, są też 74LVC1T45GW125 czyli Bus Transceivers, coś jak szybki konwerter poziomów logicznych (?) i niestety z uwagi na swoje podłączenie nie jest trzy stanowy i nigdy nie jest w wysokiej impedancji, przez co sygnał MISO jest zakłócany przez drugi czujnik (być może piszę totalne głupoty, ale tak to rozumiem). Ponieważ Arduino Leonardo nie ma drugiego interfejsu SPI, zamówiłem sobie "SN74HC125N BUFOR NIEODWRACAJĄCY", który chyba pozwoli mi rozwiązać problem z brakiem 3 stanowości. Docelowo pewnie zaprojektuję płytki PCB pod czujnik bez tego defektu, ale to raczej po fazie testów. Plan do zrobienia: - naprawić komunikację 2 czujników z Arduino i PC, - przerobić kurs STM32 HAL Edytowano Grudzień 3, 2023 przez mojStary Cytuj Link do komentarza Share on other sites More sharing options...
mojStary Grudzień 9, 2023 Autor tematu Udostępnij Grudzień 9, 2023 Udało się podpiąć 2 czujniki od myszki i przesłać wyniki do komputera w celu wizualizacji. Test przeprowadzony ręcznie, bo jeszcze nie ma kółek, silnika itd. Dokładność pomiarów jest zadowalająca. W przyszłości się to jeszcze poprawi, jak dojdzie jeszcze pomiar z enkoderów i czujnika 9DoF IMU. Aktualny czas pomiaru dla dwóch czujników to 3,9 ms (wykonywany sekwencyjnie). Jeżeli wyeliminowałbym błąd konstrukcyjny płytki i pozwolił sobie na szybszą transmisję danych, to można by zejść z czasem do 2,4 ms. Jeżeli udałoby się użyć symultanicznie dwóch interfejsów SPI na STM32, to będziemy mieli próbkowanie 1,2 ms, co już jest całkiem spoko. Plan na najbliższy czas: - dokończyć kurs STM32 HAL, - podpiąć czujnik linii QTR-8A. 1 Cytuj Link do komentarza Share on other sites More sharing options...
Popularny post mojStary Grudzień 16, 2023 Autor tematu Popularny post Udostępnij Grudzień 16, 2023 Szanowni Państwo, Z radością w sercu powiadamiam, że pewne etapy kursu STM32 zostały przyswojone. W trakcie moich eksploracji skoncentrowałem się na biegłości w obszarze: - obsługi przycisków, gdzie odniosłem sukces w precyzyjnym sterowaniu elektronicznymi klawiszami, - zagadnienia wejść analogowych, które zgłębiłem, troszcząc się o delikatne niuanse jak doświadczony ogrodnik o kwiaty, - zastosowania przerwań, które odkryłem jako harmonijny taniec elektronów na parkiecie mojego projektu, - wykorzystania timerów, które jak starannie ustawione zegary pomogły mi w idealnej synchronizacji, - dynamicznego dostępu pamięci (DMA), otwierając drzwi do nowego poziomu efektywności w zarządzaniu zasobami. Z triumfem donoszę o uruchomieniu układu składającego się z ośmiu czujników KTIR0711S, podlegających mojej kontroli poprzez STM32F4 Discovery. Pomimo wyzwań związanych z rozstawem czujników, osiągnąłem zadowalające rezultaty, choć z pewnością nie można ich nazwać doskonałymi. W dążeniu do doskonałości, zrealizowałem proces kalibracji czujników, umożliwiając precyzyjne dostosowanie do otaczającego środowiska. Ponadto, z satysfakcją informuję o stworzeniu mechanizmu obliczania położenia linii oraz rudymentarnej obsłudze kąta 90 stopni. Te osiągnięcia, choć uzyskane w sposób skromny, spełniają moje obecne oczekiwania. Projekt, który obecnie funkcjonuje na sznurkach, przypomina delikatny kwiat rozwijający swoje płatki w ogrodzie mikroelektroniki. Jest to jednak dopiero początek mojej podróży w tym fascynującym obszarze. Plany na przyszłość obejmują pełne ukończenie kursu związanego z programowaniem STM32, co pozwoli mi zgłębić tajniki tego fascynującego świata. Ponadto, zamierzam podjąć się wyzwania związanego z podłączeniem silnika wyposażonego w enkoder, aby jeszcze bardziej poszerzyć moje horyzonty inżynieryjne. Z nieukrywaną ekscytacją oczekuję kolejnych etapów mojej eksploracji, wierząc, że każdy zdobyty kawałek wiedzy to jak kolejny kwiat w moim ogrodzie elektroniki. Z wyrazami szacunku, MojStary 3 Cytuj Link do komentarza Share on other sites More sharing options...
Treker (Damian Szymański) Grudzień 23, 2023 Udostępnij Grudzień 23, 2023 @mojStary dzięki za aktualizację, miło widzieć, że projekt idzie do przodu! 1 Cytuj Link do komentarza Share on other sites More sharing options...
Popularny post mojStary Grudzień 30, 2023 Autor tematu Popularny post Udostępnij Grudzień 30, 2023 Osiągnięte postępy: - udało się unieruchomić sterownik silnika... Modułowy interfejs został starannie umieszczony w specjalnym pudełku, aby w przyszłości, podczas recyklingu elektroniki, miał on godny pożegnalny los, - doszło małego pożaru i spalenia jednego z pinów na płytce Discovery. Mam nadzieję, że uległ zniszczeniu tylko jeden, gdyż wymagało to pewnego czasu, zanim udało mi się zidentyfikować, co dokładnie się stało, - z powodzeniem uruchomiłem odczyt z obrotowego enkodera magnetycznego o imponującej rozdzielczości 120 impulsów na obrót (uwzględniając już przełożenie silnika). Nie jestem pewien, czy ta rozdzielczość będzie wystarczająca, bo prędkość bez obciążenia jest może być ustawiona w zakresie 0-77 impulsów przy założeniu pętli sterowania 100 Hz, - skonfigurowałem silnik z zasilaniem bateryjnym, do sterowania użyłem modulacji szerokości impulsów (PWM), - wdrożyłem regulator PID do "precyzyjnej" kontroli prędkości silnika. Nie mogę się już doczekać, kiedy skończę testować niezależne komponenty i zabiorę się za projekt PCB robota i uruchomienie. Plany na najbliższą przyszłość obejmują: - obsługę Bluetooth, ponieważ do tej pory nie zaimplementowałem jeszcze żadnej komunikacji między komputerem a robotem, co sprawia, że wstępne dostrojenie regulatora PID było nieco uciążliwe, - dodanie obsługi czytnika karty SD. 3 Cytuj Link do komentarza Share on other sites More sharing options...
mojStary 23 stycznia Autor tematu Udostępnij 23 stycznia (edytowany) Powrót po rozpoczęciu nowego roku niesie ze sobą pomyślność w dziedzinie mojego projektu. Bluetooth sprawnie funkcjonuje, a karta SD oferuje nie tylko dostęp do pojedynczego adresu, lecz także umożliwia korzystanie z systemu plików FATFS, co zdecydowanie sprzyja wygodzie obsługi. W kontekście dalszych działań pozostaje jeszcze zainicjowanie następujących elementów: - turbiny, której nazwa to EDF 27, oraz jej układ sterowania DUALSKY XC0610BA. - 9-stopniowy układ żyroskopu, akcelerometru i magnetometru (9 DOF). To, co udało się przetestować w tej fazie, wydaje się być wystarczająco wszechstronne. Jednak czy istnieją jeszcze elementy wartościowe do przetestowania przed przystąpieniem do projektowania płytki PCB? Nie chciałbym pominąć czegoś istotnego. Edytowano 24 stycznia przez mojStary 2 Cytuj Link do komentarza Share on other sites More sharing options...
mojStary 3 lutego Autor tematu Udostępnij 3 lutego Cześć forumowicze! Chciałem się podzielić z Wami moimi pierwszymi wrażeniami po uruchomieniu czujnika 9dof w moim linefollowerze. Na razie wszystko wydaje się być w porządku, a wskazania są obiecujące, choć jeszcze nie jestem pewien, jak bardzo będą pomocne przy osiąganiu maksymalnej prędkości. Jestem pod wrażeniem możliwości EDF 27, który potrafi zasysać nawet 500g przy pełnych obrotach, o ile jest odpowiednio uszczelniony. Moja stacja do testowania: obciążeni na wadze z przyklejonym do tego kawałkiem HDF (zakładam, że czasem na takiej powierzchni się jeździ, potem uszczelniona turbina na kawałku innego HDF, który symuluje PCB, z którego boków zwisa taśma klejące przyklejona do góry nogami robiąca za uszczelnienie LF. Jednakże, zaczynam zauważać pewne potencjalne problemy: - dziura na środku PCB, - po zaprojektowaniu ciężko wymienić na inny np. większy, bo trzeba zrobić nową płytkę PCB, - LF musi być niski, płaski i dobrze uszczelniony, - siła docisku nie jest do końca znana i ciężko ją kontrolować, może zależeć od tego czy robot stoi, czy jest w ruchu, - mały kamyczek na drodze == potencjalnie rozwalona turbina. Natomiast silniczki i łopatki od quadrocoptera: - swoboda w projektowaniu PCB, - łatwość i taniość w testowaniu różnych łopatek i różnych położeń silników - szeroki wybór silniczków - stała siła docisku podczas przejazdu i nie trzeba się martwić uszczelnieniem (nawet 15-20x większa niż waga silnika) - łatwiej można sobie pociąć palce niż w turbinie Mogę zrozumieć, ze state-of-the-art LF będzie miał turbinę, ale w większości przypadków wydaje mi się, że rozwiązanie z quadrocoptera będzie lepsze. Oczywiście mówię to jako zupełny laik, który nie ma żadnego doświadczenia, więc lepiej zróbcie na odwrót xD Ostatnio trafiłem na ciekawy kanał Mistrza Japończyka, który w swoim linefolowerze wykorzystał (info z 2022) 2x ICM-20649 (6dof: żyroskop + akcelerometr) : https://www.youtube.com/watch?v=bf8YL840noQ. A w 2023 temu jeździł już tak: Pod tym filmem dał kilka fajnych komentarzy, między innymi link do swojego githuba, gdzie pokazuje jak optymalizuje trasę: https://github.com/kyamashita5/robotrace-shortcut-path Wyznaczam sobie jego przejazd jako benchmark i chciałbym to przebić. Plan na najbliższy czas: - przetestować czujnik odległości (prawie o tym zapomniałem) - zaprojektować testową płytkę PCB, która będzie zawierać tylko: * CPU + zasilanie + kondensatory * wyprowadzenia na moduły, które testowałem w poprzednich postach * wyprowadzenia dodatkowe, jakby się okazało, że o czymś zapomniałem lub coś upaliłem podczas podłączania Dziękuję za uwagę i wszelkie rady będą mile widziane! 1 Cytuj Link do komentarza Share on other sites More sharing options...
Treker (Damian Szymański) 6 lutego Udostępnij 6 lutego Dnia 3.02.2024 o 14:52, mojStary napisał: Plan na najbliższy czas: - przetestować czujnik odległości (prawie o tym zapomniałem) - zaprojektować testową płytkę PCB, która będzie zawierać tylko: * CPU + zasilanie + kondensatory * wyprowadzenia na moduły, które testowałem w poprzednich postach * wyprowadzenia dodatkowe, jakby się okazało, że o czymś zapomniałem lub coś upaliłem podczas podłączania Ambitnie, powodzenia - chętnie przeczytam kolejne aktualizacje 🙂 1 Cytuj Link do komentarza Share on other sites More sharing options...
Popularny post mojStary 25 lutego Autor tematu Popularny post Udostępnij 25 lutego Ostatnio zanurzyłem się głęboko w projekt mojej płytki PCB. Choć może nie prezentuje się ona jak arcydzieło, którego świat jeszcze nie widział, ale przecież każda podróż zaczyna się od pierwszego kroku. Przy pierwszym prototypie zdecydowałem się postawić na elastyczność i redundancję. Ponieważ skupiam się na eksperymentowaniu niektóre złącza są nadmiarowe w kontekście końcowej wersji mojego robota. Nie próbowałem upychać poszczególnych komponentów, ponieważ nie nadszedł jeszcze czas na optymalizację. Ostatnio natknąłem się na inspirujący filmik, który zmienił moje podejście. Autor zastąpił 4 wiertaloty quadrocoptera jedną turbiną. To mnie skłoniło do ponownego przemyślenia kwestii turbin i postanowiłem zostawić otwór przeznaczony pod testy turbiny. Planuję przeprowadzić porównanie między turbiną a wiertłami, zobaczymy, co okaże się bardziej efektywne. W najbliższych dniach zamierzam przesłać mój projekt do jlcpcb, jednocześnie zakupię wszystkie potrzebne części, a później przyjdzie czas na lutowanie i pierwsze uruchomienie. 3 Cytuj Link do komentarza Share on other sites More sharing options...
Pomocna odpowiedź
Dołącz do dyskusji, napisz odpowiedź!
Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!