Spisu treści:
Wideo: Robot samobalansujący - algorytm sterowania PID: 3 kroki
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:26
Ten projekt powstał, ponieważ chciałem dowiedzieć się więcej o algorytmach sterowania i jak skutecznie zaimplementować funkcjonalne pętle PID. Projekt jest nadal w fazie rozwoju, ponieważ nie został jeszcze dodany moduł Bluetooth, który umożliwi sterowanie robotem ze smartfona obsługującego technologię Bluetooth.
Zastosowane silniki N20 DC były stosunkowo tanie, a co za tym idzie mają w sobie spory luz. Prowadzi to do niewielkiego szarpnięcia, gdy silniki pokonują „luz”, który wywiera moment obrotowy na koła. W związku z tym osiągnięcie idealnie płynnego ruchu jest prawie niemożliwe. Napisany przeze mnie kod jest dość prosty, ale skutecznie demonstruje możliwości algorytmu PID.
Podsumowanie projektu:
Podwozie robota jest drukowane w 3D za pomocą drukarki Ender 3 i jest zaprojektowane tak, aby pasowało do siebie na wcisk.
Robot jest sterowany przez Arduino Uno, które pobiera dane z czujników z MPU6050 i steruje silnikami prądu stałego poprzez zewnętrzny sterownik silników. Działa na baterii 7,4 V, 1500 mAh. Sterownik silnika reguluje to do 5 V, aby zasilić Arduino i dostarcza 7,4 V do silników.
Oprogramowanie zostało napisane od podstaw przy pomocy bibliotek 'Arduino-KalmanFilter-master' i 'Arduino-MPU6050-master' z gitHub.
Kieszonkowe dzieci:
- Części drukowane w 3D
- Arduino UNO
- Czujnik 6-osiowy MPU6050
- Sterownik silnika prądu stałego
- Silniki prądu stałego N20 (x2)
- Bateria 9V
Krok 1: Budowa robota
Druk i montaż
Cała konstrukcja powinna być dobrze dopasowana, ale użyłem superglue, aby zabezpieczyć komponenty, aby zapewnić całkowitą sztywność robota podczas wyważania.
Zaprojektowałem części w Fusion 360 i zoptymalizowałem każdą część do drukowania bez podpór, aby zapewnić węższe tolerancje i czystsze wykończenie powierzchni.
Ustawienia użyte w drukarce Ender 3 były następujące: Wysokość warstwy 0,16 mm @ 40% wypełnienia dla wszystkich części.
Krok 2: Robot druku 3D
Podwozie (x1)
Lewe koło (x2)
Lewa obudowa silnika (x2)
Obudowa Arduino (x1)
Krok 3: Algorytm sterowania PID
Napisałem od podstaw algorytm sterowania PID, korzystając z bibliotek „Arduino-KalmanFilter-master” i „Arduino-MPU6050-master” z gitHub.
Założenie Algorytmu jest następujące:
- Odczytaj surowe dane z MPU6050
- Użyj filtra Kalmana do analizy danych z żyroskopu i akcelerometru, aby wyeliminować niedokładności w odczytach żyroskopu spowodowane przyspieszeniem czujnika. Zwraca to stosunkowo wygładzoną wartość nachylenia czujnika w stopniach do dwóch miejsc po przecinku.
- Oblicz błąd w kącie, tj.: kąt między czujnikiem a wartością zadaną.
- Oblicz błąd proporcjonalności jako (stała proporcjonalności x błąd).
- Oblicz błąd całkowy jako sumę bieżącą (stała całkowania x błąd).
- Oblicz błąd pochodnej jako stałą jako [(stała różniczkowania) x (zmiana błędu / zmiana w czasie)]
- Zsumuj wszystkie błędy, aby uzyskać prędkość wyjściową, która ma zostać wysłana do silników.
- Oblicz, w którym kierunku obracać silniki na podstawie znaku kąta błędu.
- Pętla będzie działać w nieskończoność i będzie opierać się na danych wyjściowych, gdy dane wejściowe będą się zmieniać. Jest to pętla sprzężenia zwrotnego, wykorzystująca wartości wyjściowe jako nowe wartości wejściowe do następnej iteracji.
Ostatnim krokiem jest dostrojenie parametrów Kp, Ki i Kd pętli PID.
- Dobrym punktem wyjścia jest powolne zwiększanie Kp, aż robot oscyluje wokół punktu równowagi i złapie upadek.
- Następnie rozpocznij Kd przy około 1% wartości Kp i powoli zwiększaj, aż oscylacje znikną, a robot będzie płynnie ślizgał się po naciśnięciu.
- Wreszcie, zacznij od Ki około 20% Kp i zmieniaj, aż robot „przekroczy” zadaną wartość, aby aktywnie złapać upadek i powrócić do pionu.
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
2-kołowy samobalansujący robot: 4 kroki
2-kołowy samobalansujący robot: Moim skromnym zdaniem nie jesteś prawdziwym Twórcą, chyba że nie zbudujesz własnego 2-kołowego samobalansującego robota.:-) Więc oto jest … i, co najważniejsze, działa !!!Ten projekt wygląda bardzo prosto. Zamiast tego wymaga dobrego poziomu wiedzy
Zwykły zestaw zdalnego sterowania przekształcony w czterokanałowy pilot zdalnego sterowania RC: 4 kroki
Zwykły zestaw zdalnego sterowania przekształcony w czterokanałowy pilot zdalnego sterowania RC: 如何将通用遥控器套件转换为玩具模型中使用的四通道遥控器。遥控器套件非常便宜。它采用2262和2272芯片和433个模块构建。 ja