- Componenti richiesti
- Costruzione del braccio robotico
- Schema del circuito e spiegazione di funzionamento:
- Come azionare il braccio robotico:
In questo tutorial, progetteremo un braccio robotico basato su Arduino Uno da alcuni cartoni e servomotori. L'intero processo di costruzione è stato spiegato in dettaglio di seguito. Qui in questo progetto Arduino Uno è programmato per controllare i servomotori che fungono da giunti del braccio robotico. Questa configurazione sembra anche una gru robotica oppure possiamo convertirla in una gru apportando alcune semplici modifiche. Questo progetto sarà utile per i principianti che vogliono imparare a sviluppare un robot semplice a basso costo o vogliono semplicemente imparare a lavorare con Arduino e servomotori.
Questo braccio robotico Arduino può essere controllato da quattro potenziometri ad esso collegati, ogni potenziometro viene utilizzato per controllare ogni servo. Puoi spostare questi servi ruotando le pentole per scegliere un oggetto, con un po 'di pratica puoi facilmente raccogliere e spostare l'oggetto da un posto all'altro. Abbiamo usato servocomandi a bassa coppia qui, ma puoi usare servi più potenti per raccogliere oggetti pesanti. L'intero processo è stato ben dimostrato nel video alla fine. Controlla anche i nostri altri progetti di robotica qui.
Componenti richiesti
- Arduino Uno
- Condensatore 1000uF (4 pezzi)
- Condensatore 100nF (4 pezzi)
- Servomotore (SG 90- quattro pezzi)
- Pot 10K - Resistenza variabile (4 pezzi)
- Alimentazione (5v, preferibilmente due)
Servomotore
Per prima cosa parliamo un po 'di Servomotori. I servomotori vengono utilizzati principalmente quando è necessario un movimento o una posizione precisa dell'albero. Questi non sono proposti per applicazioni ad alta velocità. I servomotori sono proposti per applicazioni a bassa velocità, coppia media e posizione precisa. Quindi questi motori sono i migliori per la progettazione di bracci robotici.
I servomotori sono disponibili in diverse forme e dimensioni. Useremo piccoli servomotori, qui useremo quattro servi SG90. Un servomotore avrà principalmente fili lì, uno è per la tensione positiva, un altro è per la massa e l'ultimo è per l'impostazione della posizione. Il filo ROSSO è collegato all'alimentazione, il filo nero è collegato a terra e il filo GIALLO è collegato al segnale. Segui questo tutorial sul controllo del servomotore usando Arduino per saperne di più. In Arduino abbiamo librerie predefinite per controllare il servo, quindi è molto facile controllare il servo, che imparerai insieme a questo tutorial.
Costruzione del braccio robotico
Prendi una superficie piana e stabile, come un tavolo o un cartoncino rigido. Quindi posiziona un servomotore al centro e incollalo in posizione. Assicurarsi che il grado di rotazione sia nell'area presentata in figura. Questo servo funge da base del braccio.
Posiziona un piccolo pezzo di cartone sopra il primo servo, quindi posiziona il secondo servo su questo pezzo di tavola e incollalo in posizione. La rotazione del servo deve corrispondere al diagramma.
Prendi dei cartoni e tagliali in pezzi di 3 cm x 11 cm. Assicurati che il pezzo non sia ammorbidito. Tagliare un foro rettangolare a un'estremità (lasciare 0,8 cm dal fondo) quanto basta per montare un altro servo e ad un'altra estremità montare saldamente il servo ingranaggio con viti o colla. Quindi inserire il terzo servo nel primo foro.
Ora taglia un altro pezzo di cartone con le lunghezze mostrate nella figura sotto e incolla un altro ingranaggio nella parte inferiore di questo pezzo.
Ora incolla il quarto e ultimo servo sul bordo del secondo pezzo come mostrato in figura.
Con questo, due pezzi insieme sembrano.
Quando colleghiamo questa configurazione alla base, dovrebbe apparire,
È quasi finito. Dobbiamo solo creare il gancio per afferrare e raccogliere l'oggetto come una mano robotica. Per il gancio, tagliare altri due pezzi di cartoncino di lunghezza 1 cm x 7 cm e 4 cm x 5 cm. Incollali insieme come mostrato in figura e incolla la marcia finale sul bordo.
Montate questo pezzo sopra e con questo abbiamo finito di costruire il nostro braccio robotico.
Con questo, il nostro design di base del braccio robotico è stato completato ed è così che abbiamo costruito il nostro braccio robotico a basso costo. Ora collega il circuito nella breadboard come da schema elettrico.
Schema del circuito e spiegazione di funzionamento:
La connessione del circuito per il braccio robotico Arduino Uno è mostrata di seguito.
La tensione sui resistori variabili non è completamente lineare; sarà rumoroso. Quindi, per filtrare questo rumore, i condensatori sono posizionati su ciascun resistore come mostrato in figura.
Ora alimenteremo la tensione fornita da questi resistori variabili (tensione che rappresenta il controllo della posizione) nei canali ADC di Arduino. Per questo utilizzeremo quattro canali ADC di UNO da A0 ad A3. Dopo l'inizializzazione dell'ADC, avremo il valore digitale delle pentole che rappresentano la posizione richiesta dall'utente. Prenderemo questo valore e lo abbineremo alla posizione del servo.
Arduino ha sei canali ADC. Ne abbiamo usati quattro per il nostro braccio robotico. L'ADC UNO ha una risoluzione di 10 bit, quindi i valori interi vanno da 0-1023 (2 ^ 10 = 1024 valori). Ciò significa che mapperà le tensioni di ingresso tra 0 e 5 volt in valori interi compresi tra 0 e 1023. Quindi per ogni (5/1024 = 4,9 mV) per unità. Scopri di più sulla mappatura dei livelli di tensione utilizzando i canali ADC in Arduino qui.
Ora, affinché UNO converta il segnale analogico in segnale digitale, dobbiamo usare il canale ADC di Arduino Uno, con l'aiuto delle seguenti funzioni:
1. analogRead (pin); 2. analogReference (); 3. analogReadResolution (bit);
I canali ADC di Arduino hanno un valore di riferimento predefinito di 5V. Ciò significa che possiamo fornire una tensione di ingresso massima di 5 V per la conversione ADC su qualsiasi canale di ingresso. Poiché alcuni sensori forniscono tensioni da 0-2,5 V, quindi con un riferimento di 5 V, otteniamo una minore precisione, quindi abbiamo un'istruzione che ci consente di modificare questo valore di riferimento. Quindi per cambiare il valore di riferimento abbiamo "analogReference ();"
Come impostazione predefinita, otteniamo la massima risoluzione dell'ADC della scheda che è 10 bit, questa risoluzione può essere modificata utilizzando l'istruzione ("analogReadResolution (bits);").
Nel nostro circuito della mano robotica, abbiamo lasciato questa tensione di riferimento al valore predefinito, quindi possiamo leggere il valore dal canale ADC chiamando direttamente la funzione "analogRead (pin);", qui "pin" rappresenta il pin a cui abbiamo collegato il segnale analogico, diciamo vogliamo leggere "A0". Il valore di ADC può essere memorizzato in un numero intero come int SENSORVALUE0 = analogRead (A0); .
Ora andiamo parlare del SERVO, l'Arduino Uno ha una caratteristica che ci permette di controllare la posizione del servo semplicemente dando il valore in gradi. Diciamo che se vogliamo che il servo sia a 30, possiamo rappresentare direttamente il valore nel programma. Il file di intestazione SERVO ( Servo.h ) si occupa internamente di tutti i calcoli del rapporto di servizio.
#includere
Qui la prima istruzione rappresenta il file di intestazione per il controllo del SERVOMOTORE. La seconda affermazione sta nominando il servo; lo lasciamo come servo0 poiché ne useremo quattro. La terza istruzione indica dove è collegato il pin del segnale del servo; questo deve essere un pin PWM. Qui stiamo usando PIN3 per il primo servo. La quarta istruzione fornisce i comandi per il posizionamento del servomotore in gradi. Se viene fornito 30, il servomotore ruota di 30 gradi.
Ora, abbiamo la posizione del servo SG90 da 0 a 180 ei valori ADC sono da 0-1023. Useremo una funzione speciale che abbina automaticamente entrambi i valori.
sensorvalue0 = map (sensorvalue0, 0, 1023, 0, 180);
Questa istruzione mappa entrambi i valori automaticamente e memorizza il risultato nel numero intero 'servovalue0' .
Questo è il modo in cui abbiamo controllato i servo nel nostro progetto Braccio robotico utilizzando Arduino. Controlla il codice completo di seguito.
Come azionare il braccio robotico:
Ci sono quattro vasi forniti all'utente. E ruotando questi quattro potenziometri, forniamo una tensione variabile ai canali ADC di UNO. Quindi i valori digitali di Arduino sono sotto il controllo dell'utente. Questi valori digitali sono mappati per regolare la posizione del servomotore, quindi la posizione del servo è sotto il controllo dell'utente e ruotando questi vasi l'utente può spostare le articolazioni del braccio robotico e può raccogliere o afferrare qualsiasi oggetto.