Sommario:

Nozioni di base sull'Animatronics: il servomotore: 8 passaggi
Nozioni di base sull'Animatronics: il servomotore: 8 passaggi

Video: Nozioni di base sull'Animatronics: il servomotore: 8 passaggi

Video: Nozioni di base sull'Animatronics: il servomotore: 8 passaggi
Video: Nozioni base sui PLC ( Controllore Logico Programmabile) 2024, Dicembre
Anonim
Image
Image

Che si tratti di un allegro spettacolo natalizio nella vetrina di un grande magazzino o di uno spaventoso scherzo di Halloween, niente attira l'attenzione come un burattino animato.

Queste animazioni controllate elettronicamente sono talvolta chiamate "animatronica" e questo tutorial ti insegnerà come creare il tipo più semplice, quello controllato da un singolo servomotore.

Useremo il microcontrollore Arduino come cervello, e vedremo come funzionano un potenziometro e un servo al suo interno, inoltre ti insegneremo come costruire tre diversi metodi di controllo:

1 - Movimento a ripetizione continua

2 - Movimento telecomandato

3 - Movimento attivato (usando un sensore di luce)

Passaggio 1: elenco delle parti

Elenco delle parti
Elenco delle parti
Elenco delle parti
Elenco delle parti

Avrai bisogno di un microcontrollore (mostrato nella prima immagine è l'Arduino da https://adafru.it insieme al loro kit di parti economiche per un totale di $ 30) e un servomotore (una piccola versione Tower è mostrata nella seconda immagine insieme ad alcune parti del connettore, dallo stesso negozio a $ 12. Avrai anche bisogno di un piccolo condensatore o di una fonte di tensione più potente se stai azionando più servomotori (funzionerà un caricatore a muro da 9 V per Arduino)

Un microcontrollore è un intero computer PC su un singolo chip. Ovviamente non potente come il tuo computer di casa, ha pochissima RAM, nessuna unità disco, nessuna tastiera o mouse, ma è davvero eccezionale nel controllare le cose (da cui il nome). Troverai uno di questi chip all'interno di molti oggetti di uso quotidiano come lavatrici e computer per iniettori di carburante per auto.

Il marchio di microcontrollori "Arduino" aggiunge anche qualche altro circuito che lo collega al mondo esterno e lo mette su una comoda scheda.

Nota che nel "kit di parti di bilancio" ci sono alcuni fili, resistori, luci LED e una coppia di manopole blu, chiamate potenziometri. Maggiori informazioni sui potenziometri nel prossimo passaggio.

Infine, avrai bisogno di un servomotore e viene fornito con alcuni connettori a vite per collegarlo al tuo pupazzo in movimento. In questa lezione utilizzeremo il connettore a forma di X.

Passaggio 2: revisione del potenziometro

Revisione del potenziometro
Revisione del potenziometro
Revisione del potenziometro
Revisione del potenziometro
Revisione del potenziometro
Revisione del potenziometro
Revisione del potenziometro
Revisione del potenziometro

Un potenziometro è essenzialmente una manopola dimmer - o nella terminologia elettronica - una coppia di resistori variabili. Ruotando la manopola, rendi un resistore più grande e l'altro più piccolo.

La maggior parte delle volte usiamo un potenziometro (a volte chiamato "pentola") per controllare una tensione usando lo schema circuitale mostrato sopra.

L'immagine più a sinistra mostra il potenziometro reale, con i fili superiore e inferiore collegati alla tensione +5 e Ground, e il filo centrale che emette la tensione desiderata. Il diagramma centrale mostra il simbolo di una pentola e l'ultimo diagramma mostra il circuito equivalente.

Le immagini sono per gentile concessione di Wikimedia.org

Passaggio 3: revisione del servomotore

Revisione del servomotore
Revisione del servomotore
Revisione del servomotore
Revisione del servomotore
Revisione del servomotore
Revisione del servomotore

Un servomotore ha quattro parti principali.

1. Un motore che può girare avanti e indietro, solitamente ad alta velocità e coppia.

2. Un sistema di rilevamento della posizione, che può dire a quale angolo si trova attualmente il servomotore

3. Un sistema di ingranaggi che può richiedere molti giri di un motore e trasformarlo in un piccolo movimento angolare.

4. Un circuito di controllo in grado di correggere l'errore tra l'angolo effettivo e l'angolo di setpoint desiderato.

Le parti 1 e 2 sono mostrate nella prima immagine. Notare che la parte 2 è un potenziometro.

La parte 3 è mostrata nella seconda immagine.

La parte 4 è mostrata nella terza immagine.

Passaggio 4: movimento ripetitivo

Movimento ripetitivo
Movimento ripetitivo
Movimento ripetitivo
Movimento ripetitivo
Movimento ripetitivo
Movimento ripetitivo

Qui faremo girare la testa del nostro pupazzo "Bender" a sinistra e a destra, avanti e indietro, purché l'alimentazione sia collegata dal cavo USB. Questo è ottimo per un divertente display per le vacanze che vuoi continuare a muoverti tutto il giorno.

L'Arduino viene fornito con un ambiente di sviluppo integrato (IDE) che è un modo elegante per dire che viene fornito con un'app per il tuo PC che ti consente di dargli istruzioni (l'icona dell'IDE di Arduino è una figura 8 laterale). Queste istruzioni rimangono memorizzate sulla scheda anche se disconnetti il PC e ricominciano a funzionare quando ricollega l'alimentazione al tuo Arduino. In questo caso, utilizzeremo il software chiamato "Sweep" che puoi trovare negli esempi IDE nella categoria "Servo".

Successivamente collegherai il servo a un condensatore stabilizzato a 5 volt (filo rosso del servo all'Arduino +5, filo marrone del servo all'Arduino GND) e al segnale di controllo (cavo giallo del servo al pin 9 di uscita di Arduino). La testa del burattino è facoltativa;-)

PARTICOLARI:

Se quanto sopra è stato un po' confuso, le istruzioni dettagliate sono le seguenti:

Fase A – Programmazione di Arduino

  • Apri l'IDE Arduino (dovrebbe essere un'icona a forma di 8 sul desktop)
  • In "Strumenti" assicurati che "Scheda" sia impostato su "Arduino/Genuino Uno".
  • Collega l'hardware Arduino al computer utilizzando il cavo USB
  • Assicurati che l'impostazione "Porta" in "Strumenti" sia configurata anche per Arduino.
  • Sotto "File" seleziona "Esempio" chiamato "Sweep" (puoi trovarlo sotto "Servos")
  • Prima di utilizzare o modificare questo file, per favore "Salva con nome" un nome file diverso (può essere il tuo nome, o qualunque cosa tu scelga). Ciò manterrà il file invariato per lo studente successivo che utilizzerà questo computer.
  • Usa il pulsante Freccia (o sotto "Schizzo" seleziona "Carica") per caricare lo schizzo Sweep su Arduino

Passaggio B – Collegamento del servomotore allo spazzaneve

In questa parte costruiremo varianti dei circuiti descritti in https://learn.adafruit.com/adafruit-arduino-lesso… Collegheremo i fili Rosso e Marrone del Servo a +5 e GND dell'Ardiuno, rispettivamente. Metteremo anche un condensatore di appiattimento di tensione su quella tensione, e infine collegheremo il filo Giallo del servo al pin di uscita 9 dell'Arduino.

  • Scollega Arduino dalla porta USB quando stai costruendo il circuito.
  • Useremo il 5V e il Ground dalla scheda Arduino, quindi portali sulla breadboard usando rispettivamente i fili rosso e verde.
  • Poiché l'alimentazione può essere un po' traballante dalla porta USB (non c'è molta corrente e il servomotore potrebbe causare il ripristino della scheda Arduino a causa della bassa corrente) metteremo un condensatore su questa tensione, assicurandoci che il filo etichettato "meno - “è sul lato Terra.
  • Ora collega i cavi Rosso (+5) e Marrone (Massa) del Servo alla breadboard.
  • Il collegamento elettrico finale è quello del segnale di controllo. Il programma SWEEP utilizzerà il pin #9 dell'Arduino per inviare il segnale di controllo, quindi collegalo al filo giallo (controllo) del servomotore.
  • FACOLTATIVO – Puoi posizionare una testa Animatronic a tua scelta e la sua base sopra il servomotore prima di testarlo. Si prega di essere gentili in quanto la vestibilità non è perfetta e le parti in plastica si rompono.
  • Dovresti essere in grado di applicare l'alimentazione USB ad Arduino e il programma SWEEP dovrebbe essere eseguito, facendo sì che il servomotore si muova avanti e indietro.

Passaggio C - Modifica del programma SWEEP

  • Prima di utilizzare o modificare questo file, per favore "Salva con nome" un nome file diverso (può essere il tuo nome, o qualunque cosa tu scelga). Probabilmente l'hai già fatto nel passaggio A. Per ciascuna delle parti seguenti, registra le tue osservazioni e qualsiasi modifica apportata al codice.
  • Usando un cronometro, misura quanto tempo ci vuole per andare avanti e indietro _
  • Apporterai modifiche al software (a volte chiamate "codice" o "schizzo")
  • Cambia entrambi i valori "Ritardo" da 15 a un altro numero più grande (scegli un multiplo rotondo di 15 per facilitare i calcoli). Che valore hai usato? _. Quale pensi che sarà il nuovo orario di SWEEP? _. Misurare il nuovo tempo di SWEEP e prendere nota di eventuali discrepanze _.
  • Riporta i ritardi a 15 e ora cambia gli angoli di posizione da 180 a semplicemente 90 (entrambi questi valori). Qual è la nuova gamma di movimento del servomotore (90 gradi o più o meno?) _.
  • Lasciando l'intervallo di movimento a 90 gradi, abbassa il "Ritardo" a un numero inferiore a 15. A quale numero puoi andare prima che il servo inizi a comportarsi in modo irregolare o non completi più l'intero intervallo di movimento? _

Dopo aver completato questi passaggi, avrai tutte le misurazioni e la pratica di cui hai bisogno per essere pronto a usare il tuo servomotore per controllare una varietà di movimenti animatronici avanti e indietro ripetitivi, ovunque da un piccolo angolo fino a 180 gradi, e anche a un'ampia varietà di velocità che controlli.

Passaggio 5: movimento controllato a distanza

Movimento controllato a distanza
Movimento controllato a distanza
Movimento controllato a distanza
Movimento controllato a distanza
Movimento controllato a distanza
Movimento controllato a distanza

Invece di ripetere lo stesso movimento più e più volte per tutto il giorno, in questo passaggio controlleremo a distanza la posizione del nostro pupazzo animatronico "C3PO" per guardare a destra e a sinistra e qualsiasi posizione nel mezzo. Dal momento che un essere umano sta facendo il controllo, chiamiamo questo controllo "a ciclo aperto".

Con il controllo ad anello aperto, controlli la posizione esatta del servomotore. Avremo bisogno di una manopola da girare e useremo il potenziometro blu per questo.

  • Avremo bisogno di un altro posto sulla breadboard che abbia +5 e 0 (terra) volt. Esegui questi ponticelli per separare le file sulla breadboard e rendili una riga l'una dall'altra, per allinearli con i pin esterni del potenziometro che aggiungeremo in un momento.
  • Ora aggiungi il potenziometro. Prima di spingere i perni del potenziometro nella breadboard, assicurati che tutti e tre siano allineati con i fori corretti, quindi spingi i perni verso il basso in modo che non si pieghino. Il pin centrale del potenziometro sarà collegato all'ingresso analogico zero (A0) sull'Arduino. Viene aggiunto un filo aggiuntivo per farlo.
  • Per leggere la tensione dal potenziometro, e usarla per controllare il servomotore, utilizzeremo il software “KNOB”, che si trova anche in File -> Esempi -> Servo. Esegui il programma, ruota la manopola e registra ciò che osservi.

Naturalmente, potresti far passare dei cavi molto lunghi in modo che la manopola di controllo si trovi in una stanza diversa dal pupazzo animatronico, oppure potresti essere solo a breve distanza (fuori dall'inquadratura della telecamera se stai facendo un film, ad esempio).

Passaggio 6: movimento attivato (utilizzando un sensore)

Movimento attivato (usando un sensore)
Movimento attivato (usando un sensore)
Movimento attivato (usando un sensore)
Movimento attivato (usando un sensore)
Movimento attivato (usando un sensore)
Movimento attivato (usando un sensore)

A volte vuoi che il tuo burattino si muova all'improvviso, specialmente per spaventosi scherzi di Halloween o per attirare ancora più attenzione. In questo passaggio, configureremo il nostro pupazzo "Easter Island Head" per girarsi rapidamente e affrontare chiunque passi e proiettare un'ombra su un sensore di luce.

Nel caso del controllo del sensore del servomotore, utilizzeremo un sensore di luce che controllerà l'esatta posizione del servomotore. Più scura è l'ombra proiettata sul sensore (e presumibilmente più la persona si avvicina al burattino) più velocemente e più lontano il burattino gira la testa.

  • Rimuoveremo il potenziometro e lo sostituiremo con il circuito equivalente di due resistori. In questo caso, uno dei due resistori (R2) sarà un sensore di luce.
  • Per darci un po' di spazio, abbiamo distribuito i moduli di massa +5V (sinistra) e 0V (destra) in modo da poter aggiungere il resistore da 10K Ohm e il sensore di luce, collegati al centro nella stessa riga del cavo jumper che porta all'ingresso analogico zero (A0) sulla scheda Arduino.
  • Usa l'ombra della tua mano per oscurare il sensore di luce e usa altri modi per far sì che il sensore di luce ottenga il massimo e la minor quantità di luce possibile. Riesci a ottenere l'intera gamma di movimento di 180 gradi?

Proprio come nella versione con telecomando, puoi posizionare il resistore fotografico a una buona distanza dal tuo pupazzo animatronico e puoi modificare i valori del resistore o la programmazione del software per modificare le reazioni del burattino.

Passaggio 7: ora lo provi

Ora lo provi!
Ora lo provi!
Ora lo provi!
Ora lo provi!

Ora hai imparato i tre tipi base di movimento animatronico che puoi creare con un singolo servomotore.

- Movimento ripetitivo

- Movimento controllato a distanza

- Movimento attivato tramite sensori

Puoi portare questo al livello successivo utilizzando diversi tipi di pupazzi, movimento, controlli e, naturalmente, l'abilità artistica che solo tu puoi creare!

Consigliato: