Inhoudsopgave:

Animatronics Basics - de servomotor: 8 stappen
Animatronics Basics - de servomotor: 8 stappen

Video: Animatronics Basics - de servomotor: 8 stappen

Video: Animatronics Basics - de servomotor: 8 stappen
Video: "Humanoid Face " based on Arduino NANO 2024, November
Anonim
Image
Image

Of het nu een vrolijke kerstuitstalling in de etalage van een warenhuis is, of een enge Halloween-grap, niets trekt de aandacht zo goed als een geanimeerde pop.

Deze elektronisch gestuurde animaties worden soms "animatronics" genoemd en deze instructable leert je hoe je de meest elementaire soort kunt maken, een die wordt bestuurd door een enkele servomotor.

We zullen de Arduino-microcontroller als het brein gebruiken, en we zullen zien hoe een potentiometer en een servo binnenin werken, en we leren je ook hoe je drie verschillende besturingsmethoden kunt bouwen:

1 - Continu herhalende beweging

2 - Op afstand bestuurbare beweging

3 - Getriggerde beweging (met behulp van een lichtsensor)

Stap 1: Onderdelenlijst

Onderdelen lijst
Onderdelen lijst
Onderdelen lijst
Onderdelen lijst

Je hebt een microcontroller nodig (getoond in de eerste afbeelding is de Arduino van https://adafru.it samen met hun budgetonderdelenkit voor in totaal $ 30) en een servomotor (een kleine torenversie wordt getoond in de tweede afbeelding samen met enkele connectoronderdelen, uit dezelfde winkel voor $ 12). Je hebt ook een kleine condensator of een krachtigere spanningsbron nodig als je meerdere servomotoren gebruikt (een 9V-wandlader voor Arduino werkt)

Een microcontroller is een complete pc-computer op een enkele chip. Het is duidelijk niet zo krachtig als je thuiscomputer, het heeft heel weinig RAM, geen schijf, geen toetsenbord of muis, maar het is echt geweldig in het besturen van dingen (vandaar de naam). U vindt een van deze chips in veel alledaagse voorwerpen, zoals wasmachines en auto-brandstofinjectorcomputers.

Het merk "Arduino" microcontrollers voegt ook een aantal andere circuits toe die het met de buitenwereld verbindt, en zet het op een handig bord.

Merk op dat er in de "budget-onderdelenkit" een paar draden, weerstanden, LED-lampjes en een paar blauwe knoppen zijn, potentiometers genaamd. Meer over potentiometers in de volgende stap.

Ten slotte heb je een servomotor nodig, en deze wordt geleverd met enkele schroefconnectoren om hem aan je bewegende pop te bevestigen. In deze les gebruiken we de X-vormige connector.

Stap 2: Potentiometerbeoordeling

Potentiometer beoordeling
Potentiometer beoordeling
Potentiometer beoordeling
Potentiometer beoordeling
Potentiometer beoordeling
Potentiometer beoordeling
Potentiometer beoordeling
Potentiometer beoordeling

Een potentiometer is in wezen een dimmerknop - of in elektronische terminologie - een paar variabele weerstanden. Door aan de knop te draaien, maak je de ene weerstand groter en de andere weerstand kleiner.

Meestal gebruiken we een potentiometer (soms een "pot" genoemd) om een spanning te regelen met behulp van het hierboven getoonde schakelschema.

De meest linkse afbeelding toont de werkelijke pot, met de bovenste en onderste draden verbonden met de spanning +5 en aarde, en de middelste draad die de gewenste spanning afgeeft. Het middelste diagram toont het symbool voor een pot en het laatste diagram toont het equivalente circuit.

Afbeeldingen zijn afkomstig van Wikimedia.org

Stap 3: Servomotorbeoordeling

Servomotor beoordeling
Servomotor beoordeling
Servomotor beoordeling
Servomotor beoordeling
Servomotor beoordeling
Servomotor beoordeling

Een servomotor heeft vier hoofdonderdelen.

1. Een motor die voor- en achteruit kan draaien, meestal met hoge snelheid en koppel.

2. Een positiedetectiesysteem dat kan zien in welke hoek de servomotor zich momenteel bevindt;

3. Een overbrengingssysteem dat vele toeren van een motor kan maken en dat in een kleine hoekbeweging kan maken.

4. Een regelcircuit dat de fout tussen de werkelijke hoek en de gewenste instelpunthoek kan corrigeren.

Delen 1 en 2 worden getoond in de eerste afbeelding. Merk op dat deel 2 een potentiometer is.

Deel 3 wordt getoond in de tweede afbeelding.

Deel 4 wordt getoond in de derde afbeelding.

Stap 4: repetitieve beweging

Herhalende beweging
Herhalende beweging
Herhalende beweging
Herhalende beweging
Herhalende beweging
Herhalende beweging

Hier gaan we het hoofd van onze pop "Bender" naar links en rechts laten draaien, heen en weer, zolang de stroom is aangesloten op de USB-kabel. Dit is geweldig voor een leuke vakantiedisplay die je de hele dag in beweging wilt houden.

De Arduino wordt geleverd met een Integrated Development Environment (IDE), wat een mooie manier is om te zeggen dat het wordt geleverd met een app voor je pc waarmee je het instructies kunt geven (het Arduino IDE-pictogram is een zijwaarts cijfer 8). Die instructies blijven op het bord opgeslagen, zelfs als u de pc loskoppelt, en ze beginnen weer te werken wanneer u de stroom naar uw Arduino opnieuw aansluit. In dit geval gebruiken we de software genaamd "Sweep", die u kunt vinden in de IDE-voorbeelden onder de categorie "Servo".

Vervolgens sluit je de servo aan op een condensator gestabiliseerde 5 volt (rode servokabel op de Arduino +5, bruine servokabel op Arduino GND) en op het stuursignaal (gele servokabel op Arduino-uitgangspen 9). De poppenkop is optioneel;-)

DETAILS:

Als het bovenstaande een beetje verwarrend was, zijn de gedetailleerde instructies als volgt:

Stap A – Programmeren van de Arduino

  • Open de Arduino IDE (moet een figuur 8-pictogram op uw bureaublad zijn)
  • Zorg ervoor dat onder 'Tools' het 'Board' is ingesteld op 'Arduino/Genuino Uno'.
  • Sluit de Arduino-hardware aan op de computer met behulp van de USB-kabel
  • Zorg ervoor dat de instelling "Poort" onder "Tools" ook voor de Arduino is geconfigureerd.
  • Selecteer onder "Bestanden" het "Voorbeeld" genaamd "Sweep" (u kunt het vinden onder "Servo's")
  • Voordat u dit bestand gebruikt of bewerkt, "Opslaan als" een andere bestandsnaam (kan uw naam zijn, of wat u ook kiest). Hierdoor blijft het bestand ongewijzigd voor de volgende leerling die deze computer gebruikt.
  • Gebruik de pijlknop (of selecteer onder "Sketch" "Uploaden") om de Sweep-schets naar de Arduino te uploaden

Stap B - De servomotor aansluiten op Sweep

In dit deel zullen we variaties bouwen van de circuits beschreven in https://learn.adafruit.com/adafruit-arduino-lesso… We zullen de rode en bruine draden van de servo verbinden met +5 en GND van de Ardiuno, respectievelijk. We zullen ook een spanningsafvlakcondensator over die spanning plaatsen, en tot slot zullen we de gele draad van de servo verbinden met de uitgangspen 9 van de Arduino.

  • Koppel de Arduino los van de USB-poort wanneer u het circuit aan het bouwen bent.
  • We zullen de 5V en aarde van het Arduino-bord gebruiken, dus breng die naar je breadboard met respectievelijk de rode en groene draden.
  • Aangezien de stroom van de USB-poort een beetje wankel kan zijn (niet veel stroom, en de servomotor kan ervoor zorgen dat het Arduino-bord wordt gereset vanwege een lage stroomsterkte), zullen we een condensator over deze spanning plaatsen, waarbij we ervoor zorgen dat de draad met het label "minus - " is aan de kant van de grond.
  • Sluit nu de rode (+5) en bruine (aarde) bedrading van de servo aan op het breadboard.
  • De laatste elektrische aansluiting is die van het stuursignaal. Het SWEEP-programma gebruikt pin #9 van de Arduino om het stuursignaal te sturen, sluit deze dus aan op de gele (stuur)draad van de servomotor.
  • OPTIONEEL - U kunt een Animatronic-kop naar keuze en de basis bovenop de servomotor plaatsen voordat u deze uitprobeert. Wees voorzichtig, want de pasvorm is niet perfect en de plastic onderdelen breken.
  • Je zou USB-stroom op de Arduino moeten kunnen toepassen en het SWEEP-programma zou moeten draaien, waardoor de servomotor heen en weer gaat.

Stap C - Het SWEEP-programma wijzigen

  • Voordat u dit bestand gebruikt of bewerkt, "Opslaan als" een andere bestandsnaam (kan uw naam zijn, of wat u ook kiest). Waarschijnlijk heb je dit al gedaan in stap A. Noteer voor elk van de onderstaande onderdelen je observaties en eventuele wijzigingen die je in de code hebt aangebracht.
  • Meet met een stopwatch hoe lang het duurt om helemaal en terug te vegen _
  • U brengt wijzigingen aan in de software (soms "code" of "schets" genoemd)
  • Wijzig beide waarden voor "Vertraging" van 15 in een ander groter getal (kies een rond veelvoud van 15 voor eenvoudige berekeningen). Welke waarde heb je gebruikt? _. Wat denk je dat de nieuwe SWEEP-tijd zal zijn? _. Meet de nieuwe SWEEP-tijd en noteer eventuele afwijkingen _.
  • Verander de vertragingen terug naar 15 en verander nu de positiehoeken van 180 in gewoon 90 (beide waarden). Wat is het nieuwe bewegingsbereik van de servomotor (90 graden, of meer of minder?) _.
  • Laat het bewegingsbereik op 90 graden en verlaag de "Vertraging" tot een getal van minder dan 15. Hoe klein van een getal kun je gaan voordat de servo zich onregelmatig begint te gedragen of niet langer het hele bewegingsbereik voltooit? _

Na het voltooien van deze stappen, heb je alle metingen en oefening die je nodig hebt om klaar te zijn om je servomotor te gebruiken om een verscheidenheid aan repetitieve heen en weer animatronische bewegingen te besturen, overal van een kleine hoek helemaal tot 180 graden, en ook met een grote verscheidenheid aan snelheden die u bestuurt.

Stap 5: op afstand bestuurbare beweging

Op afstand bestuurbare beweging
Op afstand bestuurbare beweging
Op afstand bestuurbare beweging
Op afstand bestuurbare beweging
Op afstand bestuurbare beweging
Op afstand bestuurbare beweging

In plaats van de hele dag dezelfde beweging te herhalen, zullen we in deze stap de positie van onze animatronische pop "C3PO" op afstand besturen om naar links en rechts te kijken en elke positie daartussenin. Omdat een mens de besturing doet, noemen we dit 'open lus'-besturing.

Met open loop control regel je de exacte positie van de servomotor. We hebben een knop nodig die u kunt draaien en hiervoor gebruiken we de blauwe potentiometer.

  • We hebben een andere plaats op het breadboard nodig met +5 en 0 (aarde) volt. Voer deze jumperdraden uit om rijen op het breadboard te scheiden en maak ze een rij van elkaar, om op één lijn te komen met de buitenste pinnen van de potentiometer die we zo meteen zullen toevoegen.
  • Voeg nu de Potentiometer toe. Voordat u de pennen van de potentiometer in het breadboard duwt, moet u ervoor zorgen dat ze alle drie zijn uitgelijnd met de juiste gaten en vervolgens de pennen recht naar beneden duwen zodat ze niet buigen. De middelste pin van de potentiometer wordt verbonden met analoge ingang nul (A0) op de Arduino. Hiervoor wordt een extra draad toegevoegd.
  • Om de spanning van de potentiometer af te lezen en die te gebruiken om de servomotor aan te sturen, gebruiken we de "KNOB"-software, ook te vinden onder Bestand -> Voorbeelden -> Servo. Start het programma, draai aan de knop en noteer wat je waarneemt.

Je kunt natuurlijk heel lange draden laten lopen zodat de bedieningsknop zich in een andere kamer bevindt dan de animatronic-pop, of je kunt maar een korte afstand verwijderd zijn (buiten de camera-opname als je bijvoorbeeld een film maakt).

Stap 6: Getriggerde beweging (met behulp van een sensor)

Getriggerde beweging (met behulp van een sensor)
Getriggerde beweging (met behulp van een sensor)
Getriggerde beweging (met behulp van een sensor)
Getriggerde beweging (met behulp van een sensor)
Getriggerde beweging (met behulp van een sensor)
Getriggerde beweging (met behulp van een sensor)

Soms wil je dat je pop plotseling beweegt - vooral voor enge Halloween-grappen of om nog meer aandacht te trekken. In deze stap zullen we onze pop "Easter Island Head" opnieuw configureren om zich snel om te draaien en de voorbijganger onder ogen te zien en een schaduw op een lichtsensor te werpen.

In het geval van sensorbesturing van de servomotor zullen we een lichtsensor gebruiken die de exacte positie van de servomotor regelt. Hoe donkerder de schaduw op de sensor (en vermoedelijk hoe dichter de persoon naar de pop loopt), hoe sneller en verder de pop zijn hoofd draait.

  • We zullen de potentiometer verwijderen en vervangen door het equivalente circuit van twee weerstanden. In dit geval zal een van de twee weerstanden (R2) een lichtsensor zijn.
  • Om ons wat ruimte te geven, hebben we de +5V (links) en 0V Ground (rechts) klonters verspreid, zodat we de 10K Ohm-weerstand en lichtsensor kunnen toevoegen, in het midden aangesloten in dezelfde rij als de jumperkabel die naar analoge ingang leidt nul (A0) op het Arduino-bord.
  • Gebruik de schaduw van uw hand om de lichtsensor te verduisteren en gebruik andere manieren om ervoor te zorgen dat de lichtsensor zo veel en zo min mogelijk licht krijgt. Ben je in staat om het volledige bewegingsbereik van 180 graden te krijgen?

Net als in de versie met afstandsbediening, kun je de fotoweerstand op een goede afstand van je animatronic-poppetje plaatsen en kun je de waarden van de weerstand wijzigen, of de softwareprogrammering om de poppenreacties te veranderen.

Stap 7: Nu probeer je het

Nu probeer je het!
Nu probeer je het!
Nu probeer je het!
Nu probeer je het!

Nu heb je de drie basissoorten animatronische beweging onder de knie die je kunt creëren met een enkele servomotor.

- Herhalende beweging

- Op afstand bestuurbare beweging

- Getriggerde beweging met behulp van sensoren

Je kunt dit naar een hoger niveau tillen door verschillende soorten poppen, beweging, besturing en natuurlijk het kunstenaarschap te gebruiken dat alleen jij kunt creëren!

Aanbevolen: