Spisu treści:
- Krok 1: Wymagania
- Krok 2: Konfiguracja układu Bluetooth
- Krok 3: Mocowanie kół do silników
- Krok 4: Tworzenie wyglądu zewnętrznego
- Krok 5: Montaż komponentów
- Krok 6: Przesyłanie i dostrajanie kodu
Wideo: Samobalansujący robot: 6 kroków (ze zdjęciami)
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:31
W tej instrukcji pokażemy, jak zbudować samobalansującego robota, który stworzyliśmy jako projekt szkolny. Opiera się na kilku innych robotach, takich jak nBot i inny Instructable. Robotem można sterować za pomocą smartfona z systemem Android za pośrednictwem połączenia Bluetooth. Ponieważ ta instrukcja obejmuje tylko proces budowania, napisaliśmy również dokument, który obejmuje techniczne tło kodu i elektroniki. Zawiera również linki do użytych źródeł, więc możesz je rzucić okiem, jeśli dokument nie jest dla Ciebie wystarczająco wyczerpujący.
Aby wykonać wszystkie etapy tego projektu, będziesz potrzebować umiejętności drukowania 3D lub innego sprytnego sposobu na przymocowanie kół do silników.
Krok 1: Wymagania
Robot oparty jest na bezszczotkowej płytce kontrolera gimbala Martinez. Istnieje kilka niewielkich odmian tej płyty, ale tak długo, jak masz taką z układem ATmega328 i kontrolerami silników L6234, powinieneś być w porządku. Jeśli wyszukasz „Martinez board” w Google Images, zobaczysz, że istnieją płyty z łatwym złączem dla układu IMU i/lub baterii, zamiast nagłówków pinów lub otworów. W tym ostatnim przypadku przyda się, jeśli zamówisz paczkę pinów do główki, którą możesz następnie wlutować w otwory.
Lista części
Niektóre pozycje na tej liście zawierają linki do sklepów internetowych.
- Kontroler: Martinez BoardDX.com (dostarczany również z IMU i kilkoma pinami nagłówka).
- IMU: MPU6050
- Bateria (akumulator 450 mAh 3S LiPo) Uwaga: będziesz potrzebować również ładowarki 3S LiPo eBay.com
- 2x silnik: silnik bezszczotkowy 2208, KV100DX.com
- Koła (można je zdobyć z istniejących zabawek lub LEGO)
- 6x śruba M2 5 mm
- 8x śruba M3 (długość zależy od materiału na zewnątrz, jedna musi być bardzo długa)
- Chip Bluetooth HC-05 (upewnij się, że masz taki z dołączoną płytą interfejsu szeregowego, a nie tylko gołym chipem) WAŻNE: Upewnij się, że chip ma pin oznaczony KLUCZ.
- Przewody: żeńskie do żeńskich DuPontZakup paczki 20 przewodów będzie więcej niż wystarczający
- Taśma na rzep
- Kabel USB do podłączenia kontrolera do komputera
- Opcjonalnie: Header pinsDX.com (można je ciąć lub łamać na żądaną długość)
- Podkładki i przekładki z tworzywa sztucznego
Na koniec potrzebujesz trochę akrylu, drewna lub tektury – w połączeniu z klejem lub taśmą – aby stworzyć strukturę, która utrzyma wszystkie elementy.
Krok 2: Konfiguracja układu Bluetooth
Gdy już zdobędziesz wszystkie części, nadszedł czas na konfigurację układu Bluetooth. Będziesz potrzebował kabla USB, aby podłączyć płytę kontrolera do komputera, a także Arduino IDE do komunikacji z komponentami.
W tym celu musisz pobrać plik:
HC-05_Serial_Interface.ino
Następnie wykonaj następujące kroki:
- Podłącz kontroler do komputera za pomocą kabla USB.
- Otwórz plik.ino za pomocą Arduino IDE.
- W IDE przejdź do Narzędzia, Tablica i upewnij się, że jest ustawiony na Arduino/Genuino Uno.
- Teraz przejdź do Narzędzia, Port i ustaw go na port COM, do którego podłączony jest kontroler. Zwykle jest tylko jeden port. Jeśli jest ich kilka, sprawdź Menedżera urządzeń (w systemie Windows), aby dowiedzieć się, który z nich jest kontrolerem.
- Teraz naciśnij przycisk Prześlij w IDE i poczekaj na zakończenie przesyłania. Następnie odłącz kabel USB od komputera lub kontrolera.
Po wykonaniu tej czynności podłącz HC-05 za pomocą kabli DuPont w następujący sposób:
Kontroler HC-05
KLUCZ +5V GND GND TXD RX RXD TX
Teraz podłącz ponownie kabel USB, a następnie podłącz pin VCC HC-05 do innego +5V na kontrolerze. Dioda powinna migać w odstępie ~1 sekundy.
W Arduino IDE wybierz odpowiedni port COM, a następnie przejdź do Narzędzia, Monitor szeregowy.
Ustaw opcję zakończenia linii w monitorze szeregowym na zarówno NL, jak i CR. Ustaw szybkość transmisji na 38400. Teraz możesz użyć monitora szeregowego do wysyłania poleceń konfiguracyjnych do układu Bluetooth. Oto polecenia:
W Sprawdź połączenie
AT+NAME Pobierz/ustaw wyświetlaną nazwę Bluetooth AT+UART Pobierz/ustaw szybkość transmisji AT+ORGL Przywróć ustawienia fabryczne AT+PSWD Pobierz/ustaw hasło Bluetooth
Aby zmienić nazwę, hasło i szybkość transmisji urządzenia Bluetooth, wyślij następujące polecenia:
AT+NAME="Przykładowa nazwa"
AT+PSWD="Hasło123" AT+UART="230400, 1, 0"
Opcje nazwy i hasła można ustawić na dowolne, po prostu upewnij się, że ustawiłeś szybkość transmisji za pomocą dokładnie tego samego polecenia, jak wymienione powyżej. To ustawia go na 230400 bodów, z 1 bitem stopu i bez parzystości. Po skonfigurowaniu wszystkiego ponownie podłącz kabel USB (aby wyjść z trybu konfiguracji) i spróbuj sparować telefon z chipem. Jeśli wszystko działa, odłącz kabel USB i przejdź do następnego kroku.
Krok 3: Mocowanie kół do silników
Koła użyte w tym projekcie mają niewiadome pochodzenie (leżały w szufladzie z mnóstwem innych rzeczy). Aby przymocować koła do silników, wydrukowaliśmy w 3D element pasujący do otworów na śruby w silnikach. Elementy przykręcano za pomocą trzech 5-milimetrowych śrub 2M na silnik. Oba elementy mają szpilkę, która pasuje do otworów w osiach kół.
Uwzględniono model SolidWorks. Prawdopodobnie będziesz musiał zmodyfikować go pod kątem swoich kół lub znaleźć inne praktyczne rozwiązanie, aby dopasować koła. Na przykład możesz użyć narzędzia Dremel, aby wyciąć otwór o tym samym rozmiarze co silnik (lub nieco mniejszy, aby dobrze pasował), a następnie wcisnąć silnik w koło. Tylko upewnij się, że masz odpowiednie koła do tej pracy, jeśli planujesz to zrobić.
Krok 4: Tworzenie wyglądu zewnętrznego
Na zewnątrz użyto dwóch kawałków drewna i przycięto je do tego samego kształtu. Na początek zaznaczyliśmy obwód silnika na dolnym środku elementu. Następnie oznaczyliśmy każdy róg linią pod kątem 45 stopni, upewniając się, że pozostawiliśmy wystarczająco dużo miejsca, aby silnik znalazł się w dolnej środkowej części. Następnie połączyliśmy dwa kawałki drewna i odcięliśmy rogi. Na koniec oszlifowaliśmy rogi, aby były mniej ostre i usunęliśmy drzazgi.
Teraz czas na wywiercenie otworów na śruby i oś wystającą z tyłu silnika. Jeśli połączysz kawałki drewna podczas wiercenia, wystarczy wywiercić każdy otwór tylko raz.
Aby stworzyć układ otworów na śruby, użyliśmy kawałka papieru i umieściliśmy go z tyłu silnika i ołówkiem wcisnęliśmy w otwory na śruby, dokładnie przez papier. Kawałek papieru z czterema otworami na wkręty został następnie umieszczony na drewnie, abyśmy mogli zaznaczyć położenie otworów do wywiercenia. Do wywiercenia otworów użyj wiertła 3,5 mm. Teraz za pomocą ołówka i linijki znajdź środek tych otworów i wykonaj otwór na oś za pomocą wiertła 5 mm. Przymocuj silniki za pomocą śrub M3, ale pozostaw jedną z szerszych śrub z jednego silnika.
Aby uzyskać złącze silnika i przewód wewnątrz robota, wywierciliśmy również otwór 8 mm nieco nad silnikiem. Upewnij się, że jest wystarczająco dużo miejsca na zginanie przewodów bez nadmiernego ich obciążania.
Ważne jest, aby pracować jak najdokładniej, aby stworzyć (prawie) idealnie symetryczną powierzchnię zewnętrzną
Krok 5: Montaż komponentów
Zaznacz pionową linię środkową na drewnie, aby można było umieścić elementy pośrodku. Wszystko można przymocować do drewna za pomocą taśmy velcro. W naszym robocie do zabezpieczenia płytki kontrolera użyliśmy małych śrubek i nakrętek, ale można też użyć taśmy rzepowej (nie mieliśmy jej jeszcze w momencie mocowania kontrolera). Upewnij się, że możesz podłączyć kabel USB po zakończeniu budowy.
Kontroler umieściliśmy na środku z portem USB skierowanym w dół, dzięki czemu mogliśmy podłączyć kabel między kołami. Możesz też skierować go na jedną ze stron.
Umieść baterię tak wysoko, jak to możliwe, aby robot stał się bardzo ciężki. Umieść również port ładowania w łatwo dostępnym miejscu, blisko krawędzi.
Układ Bluetooth
Podłącz pin VCC układu Bluetooth do +5V na kontrolerze, a Bluetooth GND do GND kontrolera. Pin TXD kontrolera idzie do Bluetooth RX, a pin RXD kontrolera idzie do pinu Bluetooth TX. Następnie po prostu przyklej chip Bluetooth gdzieś na drewnianym panelu za pomocą taśmy rzepowej.
Układ ruchu
Układ ruchu ma dwa otwory na śruby, więc przymocowaliśmy układ za pomocą przekładki, w taki sposób, aby środek układu wypadł nad środek silnika. Orientacja nie ma znaczenia, ponieważ robot sam się kalibruje podczas uruchamiania. Pamiętaj, aby użyć plastikowej podkładki pod łbem śruby, aby zapobiec zwarciu obwodu.
Następnie użyj przewodów DuPont do podłączenia pinów do kontrolera. Każdy pin jest oznaczony tak samo na kontrolerze, jak na chipie ruchu, więc podłączenie go jest dość oczywiste.
Przycisk zasilania
Podłączenie włącznika zasilania jest łatwe. Wzięliśmy jeden ze starego urządzenia i wylutowaliśmy go z płytki drukowanej. Aby użyć go jako przełącznika zasilania dla robota, podłącz dodatni przewód akumulatora do styku (zakładając, że jest to przełącznik trójstykowy) po stronie, po której chcesz ustawić przełącznik w pozycji włączonej. Następnie podłącz środkowy pin do dodatniego wejścia zasilania kontrolera. Do przełącznika przylutowaliśmy przewody DuPont, aby sama bateria nie była na stałe przymocowana do przełącznika.
Łączenie boków
Teraz znasz położenie komponentów i masz obie strony robota. Ostatnim krokiem w konstruowaniu robota będzie połączenie ze sobą dwóch stron. użyliśmy czterech zestawów po trzy sklejone ze sobą kawałki drewna i przykręciliśmy go do boków tak, aby nasz chip ruchu znajdował się na środkowej osi robota. Należy powiedzieć, że użyty materiał, o ile jest wystarczająco mocny, nie ma większego znaczenia. Możesz nawet użyć cięższego połączenia na górze, aby jeszcze bardziej zwiększyć wysokość środka masy. Ale w przeciwieństwie do pionowego położenia środka masy, poziome położenie środka masy powinno być utrzymywane na miejscu jak najdalej od osi koła, ponieważ kodowanie kodu dla chipa ruchu byłoby dość trudne, gdyby środek poziomy masy przemieszczonej.
Teraz możesz wgrać kod i dostroić kontroler.
Krok 6: Przesyłanie i dostrajanie kodu
Do wgrania kodu potrzebny jest komputer z Arduino IDE. Pobierz plik.ino poniżej i otwórz go za pomocą Arduino IDE. Przesyłanie go do kontrolera odbywa się w taki sam sposób, jak w przypadku kodu z konfiguracji Bluetooth.
Aby robot działał, musisz pobrać aplikację „Joystick bluetooth Commander” ze Sklepu Play. Włącz zasilanie robota i umieść go na podłodze, z przodu lub z tyłu. Uruchom aplikację i połącz się z chipem Bluetooth. Pole danych 1 przejdzie od XXX do GOTOWE, gdy robot sam się skalibruje (5 sekund na umieszczenie go na boku, a następnie 10 sekund na kalibrację). Możesz włączyć robota, przełączając przycisk 1 w aplikacji. Teraz umieść robota pionowo na ziemi i puść go, gdy poczujesz, że silniki się włączają. Wtedy robot zaczyna się balansować.
Robot jest teraz gotowy do dostrojenia, ponieważ jego stabilność prawdopodobnie nie jest świetna. Możesz spróbować, czy działa bez dodatkowego dostrajania, ale musisz sprawić, by robot był całkiem identyczny z naszym, aby działał poprawnie. Dlatego w większości przypadków powinieneś dostroić kontroler, aby najlepiej współpracował z twoim robotem. Jest to dość łatwe, mimo że jest dość czasochłonne. Oto jak to zrobić:
Strojenie kontrolera
Gdzieś w kodzie znajdziesz 4 zmienne, zaczynające się na k. Są to kp, kd, kc i kv. Zacznij od ustawienia wszystkich wartości na zero. Pierwsza wartość do ustawienia to kp. Domyślna wartość kp to 0,17. Spróbuj ustawić ją na dużo niższą, np. 0,05. Wyłącz robota, wgraj kod i zobacz, jak próbuje się zrównoważyć. Jeśli spada do przodu, zwiększ wartość. Najmądrzejszym sposobem na to jest interpolacja:
- Ustaw wartość na niską i wypróbuj ją
- Ustaw wartość na wysoką i wypróbuj
- Ustaw wartość na średnią z dwóch i wypróbuj ją
- Teraz spróbuj dowiedzieć się, czy lepiej zrównoważyło się na niskiej lub wysokiej wartości i średniej wartości bieżącej i tej, przy której działało lepiej.
- Kontynuuj, aż znajdziesz słodkie miejsce
Słodki punkt dla wartości kp występuje wtedy, gdy znajduje się ona na granicy niedostatecznej i nadmiernej kompensacji. Czasami więc spadnie do przodu, ponieważ nie może nadążyć z prędkością opadania, a innym razem spadnie do tyłu, ponieważ wystrzeliwuje w innym kierunku.
Po ustawieniu wartości kp ustaw kd. Można to zrobić w taki sam sposób, jak w przypadku kp. Zwiększaj tę wartość, aż robot będzie prawie zrównoważony, tak że będzie się kołysał w przód iw tył, aż się przewróci. Jeśli ustawisz go zbyt wysoko, możesz go już całkiem zgrabnie zrównoważyć, ale gdy równowaga zostanie zbytnio zakłócona, przewróci się (jak wtedy, gdy go popchniesz). Spróbuj więc znaleźć miejsce, w którym nie jest do końca zbalansowane, ale dość blisko.
Jak można się domyślić, strojenie kontrolera może wymagać kilku prób, ponieważ z każdą nową zmienną jest coraz trudniej. Więc jeśli uważasz, że to nie zadziała, zacznij od nowa.
Teraz nadszedł czas na ustawienie kv. Interpoluj to, aż znajdziesz wartość, przy której robot przestanie się kołysać, pozostanie w równowadze i poradzi sobie z lekkim pchnięciem. Ustawienie zbyt wysoko wpływa negatywnie na stabilność. Spróbuj pobawić się kv i kp, aby znaleźć punkt, w którym jest najbardziej stabilny. To najbardziej czasochłonny etap strojenia.
Ostatnia wartość to kc. Ta wartość powoduje, że robot wraca do swojej ostatniej pozycji po skompensowaniu pchnięcia lub czegoś innego. Możesz wypróbować tę samą metodę interpolacji tutaj, ale 0,0002 powinno działać w większości przypadków.
Otóż to! Twój robot jest teraz gotowy. Użyj joysticka w smartfonie, aby sterować robotem. Uważaj jednak, ponieważ poruszanie się do przodu z maksymalną prędkością może spowodować przewrócenie się robota. Baw się ze zmiennymi kontrolera, aby to skompensować w jak największym stopniu. Najbardziej logicznym krokiem byłoby przyjrzenie się wartości kp, ponieważ ta bezpośrednio kompensuje aktualny kąt robota.
Ważna uwaga dotycząca akumulatorów LiPo
Zaleca się regularne sprawdzanie napięcia akumulatora LiPo. Baterie LiPo nie powinny być rozładowywane do mniej niż 3 woltów na ogniwo, mierząc 9 woltów na 3S LiPo. Jeżeli napięcie spadnie poniżej 3 woltów na ogniwo, nastąpi trwała utrata pojemności akumulatora. Jeśli napięcie spadnie poniżej 2,5 V na ogniwo, wyrzuć baterię i kup nową. Ładowanie ogniwa LiPo napięciem niższym niż 2,5 V jest niebezpieczne, ponieważ opór wewnętrzny staje się bardzo wysoki, co powoduje przegrzanie akumulatora i potencjalne zagrożenie pożarowe podczas ładowania.
Zalecana:
Samobalansujący robot firmy Magicbit: 6 kroków
Self Balancing Robot From Magicbit: Ten samouczek pokazuje, jak zrobić samobalansującego robota za pomocą płytki deweloperskiej Magicbit. Używamy magicbit jako płytki rozwojowej w tym projekcie, który jest oparty na ESP32. Dlatego w tym projekcie można użyć dowolnej płytki rozwojowej ESP32
Dwukołowy samobalansujący robot: 7 kroków
Dwukołowy samobalansujący robot: ten instruktaż przejdzie przez proces projektowania i budowy samobalansującego robota. Dla przypomnienia, chcę tylko powiedzieć, że samobalansujące roboty nie są nową koncepcją i zostały zbudowane i udokumentowane przez innych. Chcę skorzystać z tej możliwości
HeadBot – samobalansujący robot do nauki i pomocy w zakresie STEM: 7 kroków (ze zdjęciami)
HeadBot – samobalansujący robot do uczenia się i docierania do przedmiotów STEM: Headbot – wysoki na dwie stopy, samobalansujący robot – jest pomysłem South Eugene Robotics Team (SERT, FRC 2521), konkurencyjnego zespołu robotyki szkół średnich w PIERWSZEJ Konkurs robotyki z Eugene w stanie Oregon. Ten popularny robot terenowy sprawia, że re
Samobalansujący pojazd jednokołowy DIY: 8 kroków (ze zdjęciami)
Samobalansujący pojazd jednokołowy DIY: Zainteresowany trendami produktów samobalansujących, takich jak segway i solowheel. Tak, możesz jeździć wszędzie, jeżdżąc kołem bez zmęczenia. ale świetnie, jeśli możesz to mieć sam. Cóż, zbudujmy to:)
Samobalansujący Robo-rycerz: 7 kroków (ze zdjęciami)
Równoważący się Robo-rycerz: Gry wideo i gry planszowe to świetny sposób na spędzanie czasu z przyjaciółmi i rodziną. Czasami masz ochotę spędzić czas offline i odłożyć całą elektronikę, innym razem zanurzyć się w wirtualny świat sportu, zręcznościówki lub bijatyki