Kazalo:

Osnove Animatronics - servo motor: 8 korakov
Osnove Animatronics - servo motor: 8 korakov

Video: Osnove Animatronics - servo motor: 8 korakov

Video: Osnove Animatronics - servo motor: 8 korakov
Video: CS50 2014 – 7-я неделя 2024, November
Anonim
Image
Image

Ne glede na to, ali gre za veselo praznično razstavo v oknu veleblagovnice ali zastrašujočo potegavščino za noč čarovnic, nič ne pritegne pozornosti kot animirana lutka.

Te elektronsko krmiljene animacije se včasih imenujejo "animatronika" in ta navodila vas bodo naučila, kako narediti najosnovnejšo vrsto, ki jo upravlja en sam servo motor.

Kot možgane bomo uporabili mikrokrmilnik Arduino in videli bomo, kako potenciometer in servo delujeta v notranjosti, naučili pa vas bomo tudi, kako zgraditi tri različne načine upravljanja:

1 - Nenehno ponavljajoče se gibanje

2 - Daljinsko vodeno gibanje

3 - Sproženo gibanje (z uporabo svetlobnega senzorja)

Korak: Seznam delov

Seznam delov
Seznam delov
Seznam delov
Seznam delov

Potrebovali boste mikrokrmilnik (na prvi sliki je Arduino s spletnega mesta https://adafru.it skupaj s kompletom proračunskih delov za skupno 30 USD) in servo motor (na drugi sliki je prikazana majhna različica stolpa skupaj z nekaterimi deli priključkov iz iste trgovine po 12 USD) Potrebovali boste tudi majhen kondenzator ali močnejši vir napetosti, če uporabljate več servo motorjev (9V stenski polnilnik za Arduino bo deloval)

Mikrokrmilnik je celoten osebni računalnik na enem čipu. Očitno ni tako zmogljiv kot vaš domači računalnik, ima zelo malo RAM -a, nima diskovnega pogona, nima tipkovnice ali miške, vendar je res odličen pri nadzoru stvari (od tod tudi ime). Enega od teh čipov boste našli v številnih vsakodnevnih izdelkih, kot so pralni stroji in računalniki za samodejno vbrizgavanje goriva.

Blagovna znamka "Arduino" mikrokrmilnikov dodaja tudi nekaj drugih vezij, ki ga povezujejo z zunanjim svetom, in jih postavlja na priročno ploščo.

Upoštevajte, da je v "kompletu proračunskih delov" nekaj žic, uporov, LED svetilk in modri par gumbov, imenovanih potenciometri. Več o potenciometrih v naslednjem koraku.

Nazadnje boste potrebovali servo motor, priložen pa je tudi nekaj vijačnih priključkov za pritrditev na premikajočo se lutko. V tej lekciji bomo uporabili konektor v obliki črke X.

2. korak: Pregled potenciometra

Pregled potenciometra
Pregled potenciometra
Pregled potenciometra
Pregled potenciometra
Pregled potenciometra
Pregled potenciometra
Pregled potenciometra
Pregled potenciometra

Potenciometer je v bistvu gumb za zatemnitev - ali v terminologiji elektronike - par spremenljivih uporov. Z obračanjem gumba naredite en upor večji, drugi pa manjši.

Večino časa uporabljamo potenciometer (včasih imenovan tudi "lonec") za nadzor napetosti z uporabo zgoraj prikazanega vezja.

Na skrajni levi sliki je dejanski lonec z zgornjo in spodnjo žico, priključeno na napetost +5 in ozemljitev, srednja žica pa oddaja želeno napetost. Srednji diagram prikazuje simbol lonca, zadnji diagram pa enakovredno vezje.

Slike so vljudnost Wikimedia.org

3. korak: Pregled servo motorja

Pregled servo motorja
Pregled servo motorja
Pregled servo motorja
Pregled servo motorja
Pregled servo motorja
Pregled servo motorja

Servo motor ima štiri glavne dele.

1. Motor, ki se lahko obrača naprej in nazaj, običajno pri velikih hitrostih in navorih.

2. Sistem za zaznavanje položaja, ki lahko pove, pod kakšnim kotom je trenutno servo motor

3. Zobniški sistem, ki lahko vzame veliko vrtljajev motorja in ga naredi v majhnem kotnem gibanju.

4. Krmilno vezje, ki lahko popravi napako med dejanskim kotom in želenim kotom nastavljene točke.

Del 1 in 2 sta prikazana na prvi sliki. Upoštevajte, da je del 2 potenciometer.

3. del je prikazan na drugi sliki.

4. del je prikazan na tretji sliki.

4. korak: Ponavljajoče se gibanje

Ponavljajoče se gibanje
Ponavljajoče se gibanje
Ponavljajoče se gibanje
Ponavljajoče se gibanje
Ponavljajoče se gibanje
Ponavljajoče se gibanje

Tukaj bomo glavo naše lutke "Bender" obrnili levo in desno, naprej in nazaj, dokler je napajanje priključeno s kablom USB. To je odlično za zabaven praznični prikaz, ki ga želite ves dan premikati.

Arduino je opremljen z integriranim razvojnim okoljem (IDE), kar je domišljen način povedati, da prihaja z aplikacijo za vaš računalnik, ki vam omogoča dajanje navodil (ikona Arduino IDE je stranska slika 8). Ta navodila ostanejo shranjena na plošči, tudi če odklopite računalnik, in začnejo znova delovati, ko znova priključite napajanje na Arduino. V tem primeru bomo uporabljali programsko opremo, imenovano "Sweep", ki jo najdete v primerih IDE v kategoriji "Servo".

Nato priključite servo na kondenzator, stabiliziran 5 voltov (rdeča servo žica na Arduino +5, rjava servo žica na Arduino GND) in na krmilni signal (rumena servo žica na izhodni pin 9 Arduino). Lutkovna glava ni obvezna;-)

PODROBNOSTI:

Če je bilo zgoraj nekoliko zmedeno, so podrobna navodila naslednja:

Korak A - Programiranje Arduina

  • Odprite Arduino IDE (na namizju bi morala biti ikona številka 8)
  • Pri »Orodja« se prepričajte, da je »Board« nastavljen na »Arduino/Genuino Uno«.
  • Strojno opremo Arduino povežite z računalnikom s kablom USB
  • Prepričajte se, da je nastavitev »Vrata« pod »Orodja« nastavljena tudi za Arduino.
  • Pri »Datoteke« izberite »Primer«, imenovan »Počisti« (najdete ga pod »Servomotorji«)
  • Preden uporabite ali uredite to datoteko, prosim »Shrani kot« drugo ime datoteke (lahko je vaše ime ali karkoli že izberete). Tako bo datoteka ostala nespremenjena za naslednjega študenta, ki uporablja ta računalnik.
  • S puščičnim gumbom (ali pod »Sketch« izberite »Upload«) naložite skico Sweep v Arduino

Korak B - Priključitev servo motorja na pometanje

V tem delu bomo izdelali različice vezij, opisanih na https://learn.adafruit.com/adafruit-arduino-lesso …… Rdečo in rjavo žico servomotorja bomo povezali z +5 in GND Ardiuno, oz. Na to napetost bomo postavili tudi kondenzator za izravnavo napetosti, na koncu pa bomo rumeno žico servo priključili na izhodni zatič 9 Arduina.

  • Ko gradite vezje, odklopite Arduino iz vrat USB.
  • Uporabljali bomo 5V in ozemljitev iz plošče Arduino, zato jih pripeljite na svojo ploščo z rdečo in zeleno žico.
  • Ker je napajanje iz vrat USB lahko nekoliko tresoče (ni veliko toka, servo motor pa lahko povzroči, da se plošča Arduino ponastavi zaradi nizkega toka), bomo čez to napetost postavili kondenzator in se prepričali, da je žica z oznako "minus - "Je na tleh.
  • Zdaj povežite rdečo (+5) in rjavo (ozemljeno) ožičenje servomotorja na ploščo.
  • Končna električna povezava je priključitev krmilnega signala. Program SWEEP bo za pošiljanje krmilnega signala uporabil pin #9 Arduina, zato ga povežite z rumeno (krmilno) žico servo motorja.
  • NEOBVEZNO - Preden preizkusite motorno glavo po izbiri in njeno osnovo, lahko namestite na servo motor. Bodite previdni, saj prileganje ni popolno in se plastični deli zlomijo.
  • Arduinu bi morali omogočiti napajanje prek USB -ja, program SWEEP pa bi moral delovati, kar bi povzročilo, da se servo motor premika naprej in nazaj.

Korak C - Sprememba programa SWEEP

  • Pred uporabo ali urejanjem te datoteke prosim »Shrani kot« drugo ime datoteke (lahko je vaše ime ali karkoli že izberete). Verjetno ste to storili že v koraku A. Za vsak spodnji del zapišite svoja opažanja in vse spremembe kode.
  • S štoparico izmerite, koliko časa traja pometanje do konca in nazaj _
  • Spremenili boste programsko opremo (včasih imenovano »koda« ali »skica«)
  • Spremenite obe vrednosti »Zamude« s 15 na drugo večje število (za lažje izračune izberite okrogel večkratnik 15). Kakšno vrednost ste uporabili? _. Kakšen bo po vašem mnenju nov čas SWEEP? _. Izmerite nov čas SWEEP in zabeležite vsa odstopanja _.
  • Spremenite zakasnitve nazaj na 15 in zdaj spremenite kote položaja s 180 na preprosto 90 (obe vrednosti). Kakšen je nov obseg gibanja servo motorja (90 stopinj ali več ali manj?) _.
  • Če območje gibanja pustite na 90 stopinj, znižajte »Zakasnitev« na število, manjše od 15. Na kako majhno število lahko greste, preden se servo začne obnašati neredno ali ne dokonča več celotnega obsega gibanja? _

Po zaključku teh korakov boste imeli vse meritve in prakso, ki jo potrebujete, da boste lahko pripravljeni na uporabo vašega servo motorja za nadzor različnih ponavljajočih se gibov gibanja naprej in nazaj, kjer koli od majhnega kota vse do 180 stopinj, pa tudi pri najrazličnejših hitrostih, ki jih nadzirate.

5. korak: Daljinsko vodeno gibanje

Gibanje na daljavo
Gibanje na daljavo
Gibanje na daljavo
Gibanje na daljavo
Gibanje na daljavo
Gibanje na daljavo

Namesto da bi ves dan ponavljali isto gibanje ves dan, bomo v tem koraku na daljavo nadzorovali položaj naše animatronske lutke "C3PO", da bomo gledali levo in desno ter kateri koli položaj vmes. Ker nadzor izvaja človek, temu pravimo nadzor z odprto zanko.

Z krmiljenjem odprte zanke nadzirate natančen položaj servo motorja. Za obračanje potrebujemo gumb, za to pa bomo uporabili modri potenciometer.

  • Potrebovali bomo drugo mesto na plošči, ki ima +5 in 0 (ozemljitveni) volti. S temi mostičnimi žicami ločite vrstice na plošči in jih postavite eno za drugo, da se poravnajo z zunanjimi zatiči potenciometra, ki jih bomo dodali v trenutku.
  • Zdaj dodajte potenciometer. Preden potisnete zatiče potenciometra v ploščo, se prepričajte, da so vsi trije poravnani s pravilnimi luknjami, nato pa zatiči potisnite naravnost navzdol, da se ne upognejo. Sredinski zatič potenciometra bo povezan z ničlo analognega vhoda (A0) na Arduinu. Za to se doda dodatna žica.
  • Za odčitavanje napetosti iz potenciometra in uporabo te za krmiljenje servo motorja bomo uporabili programsko opremo “KNOB”, ki jo najdemo tudi v meniju Datoteka -> Primeri -> Servo. Zaženite program, zavrtite gumb in zapišite, kaj opazujete.

Seveda bi lahko vodili zelo dolge žice, tako da je gumb za upravljanje v drugi sobi od animatronske lutke, ali pa ste lahko le malo stran (na primer iz posnetka kamere, če snemate film).

6. korak: Sproženo gibanje (s senzorjem)

Sproženo gibanje (s senzorjem)
Sproženo gibanje (s senzorjem)
Sproženo gibanje (s senzorjem)
Sproženo gibanje (s senzorjem)
Sproženo gibanje (s senzorjem)
Sproženo gibanje (s senzorjem)

Včasih želite, da se vaša lutka nenadoma premakne - še posebej zaradi strašljivih potegavščin za noč čarovnic ali da pritegnete še več pozornosti. V tem koraku bomo našo lutko "Velikonočna otoška glava" znova konfigurirali, da se hitro obrne in se sooči s tistim, ki hodi mimo in meče senco na senzor svetlobe.

V primeru krmiljenja senzorja servo motorja bomo uporabili svetlobni senzor, ki bo nadzoroval natančen položaj servo motorja. Čim temnejša je senca na senzorju (in verjetno, bližje ko se oseba približa lutki), hitreje in dlje lutka obrne glavo.

  • Odstranimo potenciometer in ga nadomestimo z enakovrednim vezjem dveh uporov. V tem primeru bo eden od dveh uporov (R2) svetlobni senzor.
  • Da bi nam dali nekaj prostora, smo razporedili +5V (levo) in 0V ozemljitveno (desno) lumperje, tako da lahko dodamo 10K ohmski upor in svetlobni senzor, ki sta na sredini povezana v isti vrsti kot mostični kabel, ki vodi do analognega vhoda nič (A0) na plošči Arduino.
  • S senco roke zatemnite senzor svetlobe in uporabite druge načine, da senzor svetlobe dobi največ in čim manj svetlobe. Ali lahko dosežete celoten obseg gibanja za 180 stopinj?

Tako kot v različici z daljinskim upravljalnikom lahko foto upor postavite na veliko razdaljo od svoje animatronske lutke, spremenite pa lahko tudi vrednosti upora ali programsko opremo, da spremenite lutkovne reakcije.

7. korak: Zdaj poskusite

Zdaj poskusite!
Zdaj poskusite!
Zdaj poskusite!
Zdaj poskusite!

Zdaj ste obvladali tri osnovne vrste animatronskega gibanja, ki jih lahko ustvarite z enim samim servo motorjem.

- Ponavljajoče se gibanje

- Daljinsko vodeno gibanje

- Sproženo gibanje s senzorji

To lahko dvignete na naslednjo stopnjo z uporabo različnih vrst lutk, gibanja, krmiljenja in seveda umetnosti, ki jo lahko ustvarite samo vi!

Priporočena: