Sommario:
- Passaggio 1: hardware richiesto
- Fase 2: Assemblaggio del Robot
- Passaggio 3: connessioni
- Passaggio 4: come funziona il bilanciamento?
- Passaggio 5: codice sorgente e librerie
- Passaggio 6: per il supporto
Video: Arduino - Balance - Robot di bilanciamento - Come fare?: 6 passaggi (con immagini)
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:04
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
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
- 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
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?
- 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
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
- Rendi Kp, Ki e Kd uguali a zero.
- 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').
- 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.
- 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
- Puoi iscriverti al mio canale YouTube per ulteriori tutorial e progetti.
- Inoltre puoi iscriverti al supporto. Grazie.
Visita il mio canale YouTube -
Consigliato:
Pannello LED articolato da 70 W con bilanciamento dello spettro: 10 passaggi (con immagini)
Pannello LED articolato da 70 W con bilanciamento dello spettro: in questo tutorial, ti mostrerò come creare il tuo pannello "Spectrum Balanced" da 70 W personale. Pannello LED. È dotato di un braccio articolato in legno fatto in casa, composto da diversi segmenti e ha 5 gradi di libertà, il che significa che non può
Piattaforma Stewart di bilanciamento della sfera controllata da PID: 6 passaggi
PID Controlled Ball Balancing Piattaforma Stewart: motivazione e concetto generale: come fisico in formazione, sono naturalmente attratto e cerco di capire i sistemi fisici. Sono stato addestrato a risolvere problemi complessi scomponendoli nei loro ingredienti più basilari ed essenziali, poi
Cosa fare con le collezioni di motori casuali: Progetto 2: Luci rotanti (modello UFO): 12 passaggi (con immagini)
Cosa fare con le collezioni di motori casuali: Progetto 2: Luci rotanti (modello UFO): Quindi, ho ancora una collezione di motori casuali… Cosa farò? Bene, pensiamo. Che ne dici di uno spinner con luce a LED? (Non a mano, scusate gli amanti del fidget spinner.) Sembra un po' un UFO, suona come un mix tra uno spaccaerba e un frullatore
Cosa fare con tutti quei CD AOL: 6 passaggi (con immagini)
Cosa fare con tutti quei CD di AOL: Volevo fare qualcosa con i CD di plastica oltre ad aggiungerli alla discarica - La mia soluzione era usarli per costruire costruzioni geometriche 3D. Descrivo qui come ho usato 12 CD per costruire un dodecaedro. Ho anche costruito un Icosaedro troncato da 32 CD, 1
Fare musica con una console Atari Punk: 5 passaggi (con immagini)
Fare musica con una console Atari Punk: alcuni antichi circuiti analogici sono popolari oggi come quando furono introdotti decenni fa. Spesso battono facilmente i micro e altre soluzioni di circuiti digitali in termini di semplicità di base. Forrest l'ha fatto di nuovo… il suo esempio preferito è l'Atari