Spisu treści:

Podstawy animatroniki - serwomotor: 8 kroków
Podstawy animatroniki - serwomotor: 8 kroków

Wideo: Podstawy animatroniki - serwomotor: 8 kroków

Wideo: Podstawy animatroniki - serwomotor: 8 kroków
Wideo: 8x8x8 LED CUBE WITH ARDUINO UNO 2024, Lipiec
Anonim
Image
Image

Niezależnie od tego, czy jest to wesoły świąteczny pokaz w oknie domu towarowego, czy przerażający żart na Halloween, nic nie przyciąga uwagi tak, jak animowana kukiełka.

Te elektronicznie sterowane animacje są czasami nazywane „animatroniką”, a ta instruktaż nauczy Cię, jak zrobić najbardziej podstawowy rodzaj, kontrolowany przez pojedynczy serwomotor.

Jako mózg wykorzystamy mikrokontroler Arduino, a zobaczymy, jak w środku działa potencjometr i serwo, nauczymy się też budować trzy różne metody sterowania:

1 - Ciągle powtarzający się ruch

2 - Zdalnie sterowany ruch

3 - Wyzwolony ruch (za pomocą czujnika światła)

Krok 1: Lista części

Lista części
Lista części
Lista części
Lista części

Potrzebny będzie mikrokontroler (na pierwszym zdjęciu Arduino z https://adafru.it wraz z ich budżetowym zestawem części o łącznej wartości 30 USD) i serwomotor (na drugim zdjęciu mała wersja Tower wraz z niektórymi częściami złączy, z tego samego sklepu za 12 USD. Będziesz także potrzebował małego kondensatora lub mocniejszego źródła napięcia, jeśli używasz wielu serwosilników (będzie działać ładowarka ścienna 9 V do Arduino)

Mikrokontroler to cały komputer PC na jednym chipie. Oczywiście nie jest tak potężny jak komputer domowy, ma bardzo mało pamięci RAM, nie ma dysku, klawiatury ani myszy, ale jest naprawdę świetny w kontrolowaniu rzeczy (stąd nazwa). Jeden z tych chipów znajdziesz w wielu przedmiotach codziennego użytku, takich jak pralki i komputery z automatycznym wtryskiem paliwa.

Marka mikrokontrolerów „Arduino” dodaje również inne obwody, które łączą go ze światem zewnętrznym i umieszczają na wygodnej płytce.

Zauważ, że w „budżetowym zestawie części” jest kilka przewodów, rezystory, diody LED i para niebieska pokręteł, zwanych potencjometrami. Więcej o potencjometrach w następnym kroku.

Na koniec będziesz potrzebować serwosilnika, który jest wyposażony w kilka przykręcanych złączy, aby przymocować go do ruchomej marionetki. W tej lekcji będziemy używać łącznika w kształcie litery X.

Krok 2: Przegląd potencjometru

Przegląd potencjometru
Przegląd potencjometru
Przegląd potencjometru
Przegląd potencjometru
Przegląd potencjometru
Przegląd potencjometru
Przegląd potencjometru
Przegląd potencjometru

Potencjometr jest zasadniczo pokrętłem ściemniacza - lub w terminologii elektronicznej - parą zmiennych rezystorów. Kręcąc pokrętłem, jeden rezystor jest większy, a drugi mniejszy.

Przez większość czasu używamy potencjometru (czasami nazywanego „garnkiem”) do sterowania napięciem za pomocą schematu pokazanego powyżej.

Rysunek po lewej stronie pokazuje rzeczywisty potencjometr, z górnymi i dolnymi przewodami podłączonymi do napięcia +5 i uziemienia, a środkowy przewód wyprowadza żądane napięcie. Środkowy diagram pokazuje symbol garnka, a ostatni diagram pokazuje równoważny obwód.

Zdjęcia dzięki uprzejmości Wikimedia.org

Krok 3: Przegląd serwomotorów

Przegląd silnika serwo
Przegląd silnika serwo
Przegląd silnika serwo
Przegląd silnika serwo
Przegląd silnika serwo
Przegląd silnika serwo

Serwomotor składa się z czterech głównych części.

1. Silnik, który może obracać się do przodu i do tyłu, zwykle z dużą prędkością i momentem obrotowym.

2. System wykrywania położenia, który może określić, pod jakim kątem znajduje się obecnie silnik serwo

3. System przekładni, który może przyjąć wiele obrotów silnika i zamienić je w mały ruch kątowy.

4. Obwód sterujący, który może skorygować błąd między rzeczywistym kątem a żądanym kątem zadanym.

Części 1 i 2 są pokazane na pierwszym obrazku. Zauważ, że część 2 to potencjometr.

Część 3 jest pokazana na drugim obrazie.

Część 4 jest pokazana na trzecim obrazie.

Krok 4: powtarzalny ruch

Powtarzalny ruch
Powtarzalny ruch
Powtarzalny ruch
Powtarzalny ruch
Powtarzalny ruch
Powtarzalny ruch

Tutaj sprawimy, że głowa naszej marionetki "Bendera" będzie skręcać w lewo i prawo, tam iz powrotem, o ile zasilanie jest podłączone przez kabel USB. Świetnie nadaje się na zabawny świąteczny wyświetlacz, w którym chcesz się poruszać przez cały dzień.

Arduino jest dostarczany ze zintegrowanym środowiskiem programistycznym (IDE), co jest fantazyjnym sposobem na powiedzenie, że jest wyposażony w aplikację na komputer, która pozwala podawać instrukcje (ikona Arduino IDE to boczna figura 8). Te instrukcje pozostają zapisane na płycie, nawet po odłączeniu komputera, i zaczynają działać ponownie po ponownym podłączeniu zasilania do Arduino. W tym przypadku będziemy używać oprogramowania o nazwie „Sweep”, które można znaleźć w przykładach IDE w kategorii „Servo”.

Następnie podłącz serwo do kondensatora stabilizowanego 5 V (czerwony przewód Servo do Arduino +5, brązowy przewód Servo do Arduino GND) i do sygnału sterującego (żółty przewód Servo do pinu 9 wyjścia Arduino). Głowa pacynki jest opcjonalna;-)

DETALE:

Jeśli powyższe było nieco mylące, szczegółowe instrukcje są następujące:

Krok A – Programowanie Arduino

  • Otwórz Arduino IDE (powinna być ikoną cyfry 8 na pulpicie)
  • W sekcji „Narzędzia” upewnij się, że „Płyta” jest ustawiona na „Arduino/Genuino Uno”.
  • Podłącz sprzęt Arduino do komputera za pomocą kabla USB
  • Upewnij się, że ustawienie "Port" w "Narzędzia" jest również skonfigurowane dla Arduino.
  • W sekcji „Pliki” wybierz „Przykład” o nazwie „Sweep” (możesz go znaleźć w sekcji „Serwa”)
  • Przed użyciem lub edycją tego pliku „Zapisz jako” inną nazwę pliku (może to być Twoje imię lub jakakolwiek inna opcja). Dzięki temu plik pozostanie niezmieniony dla następnego ucznia korzystającego z tego komputera.
  • Użyj przycisku strzałki (lub w opcji „Szkic” wybierz „Prześlij”), aby przesłać szkic Sweep do Arduino

Krok B – Podłączanie serwomotoru do Sweep

W tej części będziemy budować wariacje obwodów opisanych w https://learn.adafruit.com/adafruit-arduino-lesso… Połączymy przewody Czerwony i Brązowy Servo do +5 i GND Ardiuno, odpowiednio. Umieścimy również kondensator spłaszczający napięcie na tym napięciu, a na koniec połączymy żółty przewód serwomechanizmu z pinem wyjściowym 9 Arduino.

  • Odłącz Arduino od portu USB podczas budowania obwodu.
  • Będziemy używać 5 V i uziemienia z płyty Arduino, więc przenieś je na płytkę stykową za pomocą odpowiednio czerwonego i zielonego przewodu.
  • Ponieważ zasilanie może być nieco chwiejne z portu USB (niewielki prąd, a serwomotor może spowodować zresetowanie płyty Arduino z powodu niskiego prądu), umieścimy kondensator na tym napięciu, upewniając się, że przewód oznaczony „minus – “jest po stronie ziemi.
  • Teraz podłącz czerwony (+5) i brązowy (masa) podłączony serwo do płytki stykowej.
  • Ostateczne połączenie elektryczne to połączenie sygnału sterującego. Program SWEEP użyje pinu #9 Arduino do wysłania sygnału sterującego, więc podłącz go do żółtego (sterującego) przewodu serwomotoru.
  • OPCJONALNIE - Możesz umieścić wybraną głowicę Animatronic i jej podstawę na górze serwomotoru przed jej przetestowaniem. Proszę być delikatnym, ponieważ dopasowanie nie jest idealne, a plastikowe części pękają.
  • Powinieneś być w stanie podłączyć zasilanie USB do Arduino, a program SWEEP powinien działać, powodując ruch serwomotoru w przód iw tył.

Krok C - Modyfikacja programu SWEEP

  • Przed użyciem lub edycją tego pliku „Zapisz jako” inną nazwę pliku (może to być Twoje imię lub jakakolwiek inna opcja). Prawdopodobnie zrobiłeś to już w kroku A. Dla każdej z poniższych części zapisz swoje obserwacje, a także wszelkie zmiany, które wprowadziłeś w kodzie.
  • Za pomocą stopera zmierz, ile czasu zajmuje przemiatanie do końca i z powrotem _
  • Będziesz wprowadzać zmiany w oprogramowaniu (czasami nazywane „kodem” lub „szkicem”)
  • Zmień obie wartości „Opóźnienie” z 15 na inną Większą liczbę (wybierz okrągłą wielokrotność 15, aby ułatwić obliczenia). Jakiej wartości użyłeś? _. Jak myślisz, jaki będzie nowy czas SWEEP? _. Zmierz nowy czas SWEEP i zanotuj wszelkie rozbieżności _.
  • Zmień opóźnienia z powrotem na 15, a teraz zmień kąty pozycji ze 180 na po prostu 90 (obie te wartości). Jaki jest nowy zakres ruchu serwomotoru (90 stopni lub mniej więcej?) _.
  • Pozostawiając zakres ruchu do 90 stopni, zmniejsz „Opóźnienie” do liczby mniejszej niż 15. Jaką małą liczbę możesz zejść, zanim serwo zacznie zachowywać się chaotycznie lub nie kończy już całego zakresu ruchu? _

Po wykonaniu tych kroków będziesz mieć wszystkie pomiary i ćwiczenia, których potrzebujesz, aby być gotowym do użycia serwosilnika do kontrolowania różnych powtarzalnych ruchów animatronicznych w przód iw tył, od małego kąta do 180 stopni, a także przy różnych prędkościach, które kontrolujesz.

Krok 5: Zdalnie sterowany ruch

Zdalnie sterowany ruch
Zdalnie sterowany ruch
Zdalnie sterowany ruch
Zdalnie sterowany ruch
Zdalnie sterowany ruch
Zdalnie sterowany ruch

Zamiast powtarzać ten sam ruch w kółko przez cały dzień, w tym kroku zdalnie sterujemy pozycją naszej animatronicznej kukiełki „C3PO”, aby patrzeć w lewo i w prawo oraz w dowolną pozycję pomiędzy. Ponieważ to człowiek kontroluje, nazywamy to sterowaniem „otwartą pętlą”.

Dzięki sterowaniu w pętli otwartej kontrolujesz dokładną pozycję silnika serwo. Będziemy potrzebować pokrętła do przekręcenia i użyjemy do tego niebieskiego potencjometru.

  • Będziemy potrzebować innego miejsca na płytce stykowej, które ma +5 i 0 (masa) woltów. Poprowadź te zworki, aby rozdzielić rzędy na płytce stykowej i ustaw je w jednym rzędzie od siebie, aby zrównały się z zewnętrznymi pinami potencjometru, który za chwilę dodamy.
  • Teraz dodaj potencjometr. Przed włożeniem bolców potencjometru do płytki stykowej upewnij się, że wszystkie trzy są ustawione we właściwych otworach, a następnie wciśnij szpilki prosto w dół, aby się nie zgięły. Środkowy pin potencjometru zostanie podłączony do wejścia analogowego zero (A0) w Arduino. W tym celu dodawany jest dodatkowy przewód.
  • W celu odczytania napięcia z potencjometru i wykorzystania go do sterowania serwomotorem posłużymy się programem „KNOB”, który również znajduje się w Plik -> Przykłady -> Servo. Uruchom program, przekręć pokrętło i zapisz to, co obserwujesz.

Oczywiście możesz poprowadzić bardzo długie przewody, aby pokrętło sterowania znajdowało się w innym pomieszczeniu niż animatroniczna laleczka, lub możesz znajdować się w niewielkiej odległości (na przykład poza kadrem, gdy kręcisz film).

Krok 6: Wyzwolony ruch (za pomocą czujnika)

Ruch wyzwalany (za pomocą czujnika)
Ruch wyzwalany (za pomocą czujnika)
Ruch wyzwalany (za pomocą czujnika)
Ruch wyzwalany (za pomocą czujnika)
Ruch wyzwalany (za pomocą czujnika)
Ruch wyzwalany (za pomocą czujnika)

Czasami chcesz, aby twoja kukiełka nagle się poruszyła - zwłaszcza w celu przerażających psikusów na Halloween lub przyciągnięcia jeszcze większej uwagi. W tym kroku zmienimy konfigurację naszej marionetki „Głowa Wyspy Wielkanocnej”, aby szybko odwróciła się i spojrzała na przechodzącego obok i rzucała cień na czujnik światła.

W przypadku Sensor Control of the Servo Motor użyjemy czujnika światła, który będzie kontrolował dokładną pozycję serwomotoru. Im ciemniejszy cień rzucany jest na czujnik (i prawdopodobnie im bliżej osoba podchodzi do kukiełki), tym szybciej i dalej kukiełka odwraca głowę.

  • Usuniemy potencjometr i zastąpimy go równoważnym obwodem dwóch oporników. W takim przypadku jeden z dwóch rezystorów (R2) będzie czujnikiem światła.
  • Aby dać nam trochę miejsca, rozłożyliśmy kostki +5V (po lewej) i 0V uziemienia (po prawej), dzięki czemu możemy dodać rezystor 10K Ohm i czujnik światła, podłączone pośrodku w tym samym rzędzie co kabel połączeniowy prowadzący do wejścia analogowego zero (A0) na płytce Arduino.
  • Użyj cienia dłoni, aby zasłonić czujnik światła i użyj innych sposobów, aby czujnik światła uzyskał jak najwięcej i jak najmniej światła. Czy jesteś w stanie uzyskać pełny zakres ruchu 180 stopni?

Podobnie jak w wersji ze zdalnym sterowaniem, możesz umieścić fotorezystor w dużej odległości od animatronicznej marionetki i możesz zmienić wartości rezystora lub oprogramowanie, aby zmienić reakcje marionetki.

Krok 7: Teraz spróbuj

Teraz spróbuj!
Teraz spróbuj!
Teraz spróbuj!
Teraz spróbuj!

Teraz opanowałeś trzy podstawowe rodzaje animatronicznego ruchu, które możesz stworzyć za pomocą jednego serwomotoru.

- Powtarzalny ruch

- Zdalnie sterowany ruch

- Wyzwalany ruch za pomocą czujników

Możesz przenieść to na wyższy poziom, używając różnych rodzajów lalek, ruchu, kontrolek i oczywiście artyzmu, który tylko Ty możesz stworzyć!

Zalecana: