Arduino - Balance - Robot równoważący - Jak zrobić?: 6 kroków (ze zdjęciami)
Arduino - Balance - Robot równoważący - Jak zrobić?: 6 kroków (ze zdjęciami)
Anonim
Image
Image

W tym samouczku dowiemy się, jak zrobić robota balansującego (balansującego) Arduino, który sam się balansuje. Najpierw możesz spojrzeć na powyższy samouczek wideo.

Krok 1: Wymagany sprzęt

Montaż Robota
Montaż Robota

Płytka Arduino (Uno) -

MPU-6050 GY521 Acc+Gyro --

Zestaw silnika zębatego z enkoderem DC 6V 210RPM --

Sterownik silnika L298N --

Przycisk przełączania --

Zestaw nakrętek dystansowych z gwintem sześciokątnym M3 --

Arkusz z pleksiglasu akrylowego --

3.7v 18650 akumulator litowo-jonowy + ładowarka -

Bateria 9V --

Przewody połączeniowe -

Pistolet do klejenia na gorąco --

Zestaw startowy i materiały Arduino (opcjonalnie): płyta Arduino i materiały SCM #01 --

Płytka Arduino i materiały SCM #02 --

Arduino Basic Learning Starter Kit #01 --

Arduino Basic Learning Starter Kit #02 --

Arduino Basic Learning Starter Kit #03 --

Zestaw startowy Mega 2560 z samouczkiem --

Zestaw modułu czujnika dla Arduino #01 -

Zestaw modułu czujnika dla Arduino #02 --

Krok 2: Montaż robota

Montaż Robota
Montaż Robota
Montaż Robota
Montaż Robota
Montaż Robota
Montaż Robota
  • Wywierć cztery rogi 3 arkuszy akrylowych. (zdjęcie 1 i 2)
  • Między każdym arkuszem akrylu będzie około 8 centymetrów/3.15 cala. (zdjęcie 3)
  • Wymiary robota (ok.) 15 cm x 10 cm x 20 cm. (Zdjęcie 4)
  • Silnik prądu stałego i koła zostaną umieszczone w środku (linia środkowa) robota. (Zdjęcie 5)
  • Sterownik silnika L298N zostanie umieszczony na środku pierwszego piętra (linia środkowa) robota. (zdjęcie 6)
  • Płytka Arduino zostanie umieszczona na drugim piętrze robota.
  • Moduł MPU6050 zostanie umieszczony na najwyższym piętrze robota. (zdjęcie 7)

Krok 3: Połączenia

Znajomości
Znajomości
Znajomości
Znajomości

Przetestuj MPU6050 i upewnij się, że działa! Najpierw podłącz MPU6050 do Arduino i przetestuj połączenie za pomocą kodów w poniższym samouczku. Daha powinno być wyświetlane na monitorze szeregowym

Instructables Tutorial - MPU6050 GY521 6-osiowy akcelerometr + żyroskop

Samouczek YouTube - MPU6050 GY521 6-osiowy akcelerometr + żyroskop

Moduł L298N może zapewnić +5 V potrzebne Arduino, o ile jego napięcie wejściowe wynosi +7 V lub więcej. Jednak zdecydowałem się na oddzielne źródło zasilania silnika

Krok 4: Jak działa równoważenie?

Jak działa równoważenie?
Jak działa równoważenie?
Jak działa równoważenie?
Jak działa równoważenie?
Jak działa równoważenie?
Jak działa równoważenie?
  • Aby robot był w równowadze, silniki muszą przeciwdziałać upadkowi robota.
  • Ta czynność wymaga informacji zwrotnej i elementu korygującego.
  • Elementem sprzężenia zwrotnego jest MPU6050, który zapewnia zarówno przyspieszenie, jak i obrót we wszystkich trzech osiach, które są wykorzystywane przez Arduino do poznania aktualnej orientacji robota.
  • Elementem korygującym jest kombinacja silnika i koła.
  • Robot samobalansujący jest zasadniczo odwróconym wahadłem.
  • Można go lepiej wyważyć, jeśli środek masy znajduje się wyżej w stosunku do osi kół.
  • Dlatego umieściłem akumulator na górze.
  • Wysokość robota została jednak wybrana na podstawie dostępności materiałów.

Krok 5: Kod źródłowy i biblioteki

Kod źródłowy i biblioteki
Kod źródłowy i biblioteki
Kod źródłowy i biblioteki
Kod źródłowy i biblioteki

Kod opracowany dla robota wagi jest zbyt skomplikowany. Ale nie musisz się martwić. Zmienimy tylko niektóre dane.

Aby robot samobalansujący działał, potrzebujemy czterech zewnętrznych bibliotek

  • Biblioteka PID ułatwia obliczenie wartości P, I i D.
  • Biblioteka LMotorController służy do sterowania dwoma silnikami za pomocą modułu L298N.
  • Biblioteka I2Cdev i biblioteka MPU6050_6_Axis_MotionApps20 służą do odczytu danych z MPU6050.

Pobierz biblioteki

PID –

LMotorController –

I2Cdev --

MPU6050 --

Pobierz kod źródłowy –

Co to jest PID?

  • W teorii sterowania utrzymywanie pewnej zmiennej (w tym przypadku pozycji robota) na stałym poziomie wymaga specjalnego regulatora zwanego PID.
  • P dla proporcjonalnego, I dla całki i D dla pochodnej. Każdy z tych parametrów ma „wzmocnienia” zwykle nazywane Kp, Ki i Kd.
  • PID zapewnia korekcję pomiędzy żądaną wartością (lub wejściem) a wartością rzeczywistą (lub wyjściem). Różnica między wejściem a wyjściem nazywana jest „błędem”.
  • Regulator PID redukuje błąd do najmniejszej możliwej wartości poprzez ciągłą regulację wyjścia.
  • W naszym samobalansującym robocie Arduino wejście (czyli pożądane nachylenie w stopniach) jest ustawiane programowo.
  • MPU6050 odczytuje aktualne nachylenie robota i przekazuje je do algorytmu PID, który wykonuje obliczenia w celu sterowania silnikiem i utrzymania robota w pozycji pionowej.

PID wymaga, aby wartości Kp, Ki i Kd wzmocnień były „dostrojone” do wartości optymalnych

Zamiast tego dostosujemy wartości PID ręcznie

  1. Niech Kp, Ki i Kd będą równe zero.
  2. Dostosuj Kp. Za mało Kp sprawi, że robot się przewróci (niewystarczająca korekta). Za dużo Kp sprawi, że robot będzie szalał w tę iz powrotem. Wystarczająco dobre Kp sprawi, że robot będzie się lekko poruszał w przód iw tył (lub trochę oscylował).
  3. Po ustawieniu Kp dostosuj Kd. Dobra wartość Kd zmniejszy oscylacje, aż robot będzie prawie stabilny. Ponadto odpowiednia ilość Kd utrzyma robota w pozycji stojącej, nawet jeśli zostanie popchnięty.
  4. Na koniec ustaw Ki. Robot będzie oscylował po włączeniu, nawet jeśli Kp i Kd są ustawione, ale ustabilizuje się w czasie. Prawidłowa wartość Ki skróci czas potrzebny na stabilizację robota.

Sugestia dla lepszych wyników

Polecam stworzyć podobną ramę robota przy użyciu materiałów użytych w tym projekcie, aby kod źródłowy dla Balance Robot działał stabilnie i wydajnie.

Krok 6: W celu uzyskania wsparcia

Dla wsparcia
Dla wsparcia
  • Możesz zasubskrybować mój kanał YouTube, aby uzyskać więcej samouczków i projektów.
  • Możesz także zasubskrybować wsparcie. Dziękuję Ci.

Odwiedź mój kanał YouTube –

Zalecana: