Sommario:

Arduino - Balance - Robot di bilanciamento - Come fare?: 6 passaggi (con immagini)
Arduino - Balance - Robot di bilanciamento - Come fare?: 6 passaggi (con immagini)

Video: Arduino - Balance - Robot di bilanciamento - Come fare?: 6 passaggi (con immagini)

Video: Arduino - Balance - Robot di bilanciamento - Come fare?: 6 passaggi (con immagini)
Video: Come ho costruito un BRACCIO ROBOTICO con ARDUINO e INTERFACCIA TOUCH - Come Funziona, Come è Fatto 2024, Luglio
Anonim
Image
Image

In questo tutorial impareremo come realizzare un robot di bilanciamento (bilancia) Arduino che si bilancia da solo. Per prima cosa puoi guardare il video tutorial sopra.

Passaggio 1: hardware richiesto

Assemblaggio del Robot
Assemblaggio del Robot

Scheda Arduino (Uno) --

MPU-6050 GY521 Acc+Gyro --

Set motoriduttore encoder DC 6V 210RPM --

Driver motore L298N --

Pulsante di commutazione --

Set di dadi distanziali filettati esagonali M3 --

Foglio di perspex acrilico --

3.7v 18650 ricaricabile agli ioni di litio + caricabatterie --

Batteria da 9 V --

Ponticelli --

Pistola per colla a caldo --

Arduino Starter Kit e materiali di consumo (opzionale): Arduino Board & SCM Supplies #01 --

Scheda Arduino e forniture SCM #02 --

Arduino Basic Learning Starter Kit #01 --

Starter Kit di apprendimento di base Arduino #02 --

Arduino Basic Learning Starter Kit #03 --

Mega 2560 Starter Kit con tutorial --

Kit modulo sensore per Arduino #01 --

Kit modulo sensore per Arduino #02 --

Fase 2: Assemblaggio del Robot

Assemblaggio del Robot
Assemblaggio del Robot
Assemblaggio del Robot
Assemblaggio del Robot
Assemblaggio del Robot
Assemblaggio del Robot
  • Forare quattro angoli di 3 fogli acrilici. (Immagine 1 e 2)
  • Tra ogni foglio acrilico ci saranno circa 8 cantimeter / 3,15 pollici. (Immagine 3)
  • Dimensioni del robot (circa) 15 cm x 10 cm x 20 cm. (Immagine 4)
  • Il motore DC e le ruote saranno posizionati al centro (linea mediana) del robot. (Immagine 5)
  • L298N Motor Driver verrà posizionato al centro del primo piano (linea mediana) del robot. (Immagine 6)
  • La scheda Arduino sarà posizionata al secondo piano del robot.
  • Il modulo MPU6050 sarà posizionato all'ultimo piano del robot. (Immagine 7)

Passaggio 3: connessioni

Connessioni
Connessioni
Connessioni
Connessioni

Prova l'MPU6050 e assicurati che funzioni! Collega prima l'MPU6050 ad Arduino e prova la connessione usando i codici nel tutorial qui sotto. Il daha dovrebbe essere visualizzato sul monitor seriale

Tutorial Instructables - MPU6050 GY521 Accelerometro a 6 assi + giroscopio

Tutorial YouTube - Accelerometro a 6 assi MPU6050 GY521 + giroscopio

Il modulo L298N può fornire i +5V necessari all'Arduino purché la sua tensione di ingresso sia +7V o superiore. Tuttavia, ho scelto di avere una fonte di alimentazione separata per il motore

Passaggio 4: come funziona il bilanciamento?

Come funziona il bilanciamento?
Come funziona il bilanciamento?
Come funziona il bilanciamento?
Come funziona il bilanciamento?
Come funziona il bilanciamento?
Come funziona il bilanciamento?
  • Per mantenere il robot in equilibrio, i motori devono contrastare la caduta del robot.
  • Questa azione richiede un feedback e un elemento correttivo.
  • L'elemento di feedback è l'MPU6050, che fornisce sia l'accelerazione che la rotazione in tutti e tre gli assi utilizzati da Arduino per conoscere l'orientamento corrente del robot.
  • L'elemento correttore è la combinazione motore e ruota.
  • Il robot autobilanciante è essenzialmente un pendolo rovesciato.
  • Può essere bilanciato meglio se il baricentro è più alto rispetto agli assi delle ruote.
  • Questo è il motivo per cui ho posizionato la batteria sopra.
  • L'altezza del robot, invece, è stata scelta in base alla disponibilità dei materiali.

Passaggio 5: codice sorgente e librerie

Codice sorgente e librerie
Codice sorgente e librerie
Codice sorgente e librerie
Codice sorgente e librerie

Il codice sviluppato per il robot dell'equilibrio è troppo complicato. Ma non c'è bisogno di preoccuparsi. Cambieremo solo alcuni dati.

Abbiamo bisogno di quattro librerie esterne per far funzionare il robot autobilanciante

  • La libreria PID semplifica il calcolo dei valori P, I e D.
  • La libreria LMotorController viene utilizzata per pilotare i due motori con il modulo L298N.
  • La libreria I2Cdev e la libreria MPU6050_6_Axis_MotionApps20 servono per leggere i dati dall'MPU6050.

Scarica le biblioteche

PID --

LMotorController --

I2Cdev --

MPU6050 --

Ottieni il codice sorgente -

Cos'è il PID?

  • Nella teoria del controllo, mantenere stabile una variabile (in questo caso, la posizione del robot) richiede un controller speciale chiamato PID.
  • P per proporzionale, I per integrale e D per derivata. Ciascuno di questi parametri ha "guadagni" normalmente chiamati Kp, Ki e Kd.
  • Il PID fornisce la correzione tra il valore desiderato (o ingresso) e il valore effettivo (o uscita). La differenza tra l'input e l'output è chiamata "errore".
  • Il controller PID riduce l'errore al valore più piccolo possibile regolando continuamente l'uscita.
  • Nel nostro robot autobilanciante Arduino, l'input (che è l'inclinazione desiderata, in gradi) è impostato dal software.
  • L'MPU6050 legge l'inclinazione corrente del robot e la invia all'algoritmo PID che esegue i calcoli per controllare il motore e mantenere il robot in posizione verticale.

Il PID richiede che i valori dei guadagni Kp, Ki e Kd siano "sintonizzati" sui valori ottimali

Regoleremo invece manualmente i valori PID

  1. Rendi Kp, Ki e Kd uguali a zero.
  2. Regola Kp. Troppo poco Kp farà cadere il robot (correzione insufficiente). Troppo Kp farà andare avanti e indietro il robot selvaggiamente. Un Kp abbastanza buono farà muovere leggermente il robot avanti e indietro (o oscillerà un po').
  3. Una volta impostato il Kp, regolare Kd. Un buon valore di Kd ridurrà le oscillazioni fino a quando il robot sarà quasi fermo. Inoltre, la giusta quantità di Kd manterrà il robot in piedi anche se spinto.
  4. Infine, imposta il Ki. Il robot oscillerà all'accensione anche se Kp e Kd sono impostati ma si stabilizzerà nel tempo. Il valore Ki corretto ridurrà il tempo necessario al robot per stabilizzarsi.

Suggerimento per risultati migliori

Ti consiglio di creare un telaio robot simile utilizzando i materiali utilizzati in questo progetto per far funzionare il codice sorgente per Balance Robot in modo stabile ed efficiente.

Passaggio 6: per il supporto

Per supporto
Per supporto
  • Puoi iscriverti al mio canale YouTube per ulteriori tutorial e progetti.
  • Inoltre puoi iscriverti al supporto. Grazie.

Visita il mio canale YouTube -

Consigliato: