Self Balancing Robot

Buongiorno a tutti!!
in questi giorni ho iniziato ad interessarmi alla realizzazione di un robot basato su Arduino Uno in grado di mantenersi in equilibrio su due ruote parallele.

Mi trovo nella fase di progettazione dalla quale poi stabilire i componenti da acquistare; e speravo che qualcuno con piĂą esperienza e conoscenze di me mi potesse dare una mano :slight_smile:

Inizialmente speravo che per riuscire nell’intento potesse bastare l’impiego di un semplice accelerometro ma poi ho scoperto che per molti è stato necessario implementare la sensoristica con anche il giroscopio.
(premetto che non sono interessato al’impiego di sensori di distanza che tramite confronto consentano il raggiungimento dell’equilibrio; ma vorrei usare appunto: accelerometro e giroscopio).

Voi ritenete che il giroscopio sia effettivamente necessario? conoscete qualche tipologia economica che mi consigliereste e che potrebbe fare al caso mio :wink:

Fin ora ho scritto una piccola lista che riguarda appunto l’hardware che più mi lascia incerto… Se pensate che qualcosa potrebbe non andare bene vi sarei molto grato se me lo comunicaste :slight_smile:
iniziamo:

1- 2x Motore elettrico 6V DC 540RPM (motore con motoriduttore)
2- L298N Dual Stepper Motor Driver (dovrebbe andar bene perché dovrebbe consentire di modulare la velocità dei motori)
3- Accelerometro MMA7361 (che spero vada bene perché é già in mio possesso)
4- Giroscopio (Su vostro consiglio)

A presto… Phanto :wink:

Phanto: Voi ritenete che il giroscopio sia effettivamente necessario?

Assolutamente si se vuoi realizzare un balancing robot in grado di andare in giro sul serio e non solo rimanere quasi fermo in equilibrio. Ti conviene prendere una breakout board basata su MPU6050, nello stesso case c'è un ottimo giroscopio a tre assi e un altrettanto ottimo accelerometro a tre assi, in più c'è un micro dedicato che semplifica molto il calcolo degli angoli.

Fantastico! Ti ringrazio moltissimo! Effettivamente pensavo di poterlo controllare tramite bluetooth;

Per quanto riguarda il resto pensi che il motor driver quindi possa andar bene?

Grazie ancora!

Benissimo, ho acquistato: 1- Motori con motoriduttori (senza encoder) 2- L298N: Motor Driver 2- Modulo bluetooth 3- MPU6050: giroscopio ed accelerometro

Di elettronico serve qualche altro componente che voi sappiate?

ciao, è sorto un inconveniente…
non riesco a trovare un adattatore ruote-mozzo motore che possa andare bene…

Dal momento in cui volevo provare ad utilizzare un motore con motoriduttore che non avesse molta velocità; ma piuttosto potenza; ho ritenuto efficace l’utilizzo di ruote dal diametro di 110/ 112mm per compensare questa caratteristica. Nello specifico ruote impiegate per modelli RC in scala 1:8 di cui, per rendere l’idea, qui di seguito trovate un’esemplificazione:
http://www.ebay.it/itm/180069-1-8-Scale-Off-Road-Buggy-RC-Wheels-and-Block-Tread-Tyres-Star-White-2-/360501054964?pt=UK_ToysGames_RadioControlled_JN&hash=item53ef898df4&_uhb=1

Detto questo sorge il problema: come fisso la ruota al mozzo del motore che ha un diametro di 4mm?

Il tipo di ruote sopra citate possiedono un incavo esagonale utile al fissaggio di un “dado” da 17mm creato apposta per il fissaggio della ruota sul modello… Perfetto! Il problema è però che non riesco (nonostante abbia cercato molto) a trovare un adattatore che faccia al mio caso… Ciò che cerco assomiglia a questo:
http://www.robotgear.com.au/Product.aspx/Details/720-12mm-Hex-wheel-hub-adaptor-for-4mm-shaft-Pair

però purtroppo l’esagono nell’esempio è da 12mm =( e non va bene per il mio caso =( =( =(

Se avete idee, alternative o soluzioni geniali… Sono assolutamente bene accette :slight_smile:
Grazie molte per l’attenzione
buona serata :wink:

Se ti facessi stampare uno spessore esagonale con una 3D? ;)

Ti allego un link del nostro progettino super low cost. Ma sappi che era un progetto universitario , quindi serviva a provare la "bontá " di alcuni algoritmi di controllo e non usare quindi un SEMPLICE PID.

Robot FMA :) http://schianorobotics.altervista.org/

Fammi sapere,

Fab.

Grazie per le risposte :) @PaoloP: Sei gentilissimo! in effetti una volta appurato che non esistono adattatori che facciano al caso mio già in commercio... Il passo seguente sarebbe stato proprio quello della stampa 3D ^^ Ironia della sorte vuole che entro un mesetto, spero, dovrei riuscire finalmente a concludere la mia Prusa I3... Chiaro, prima che riuscirò a stampare con buona qualità ne dovrà passare di PLA attraverso l'estrusore XD Ma spero di farcela entro tempistiche accettabili ^^ In caso contrario non esiterò a contattarti! Grazie molte ancora ^_^

@Fabrizio: Grazie molte ^^ Avevo avuto modo di visionare i documenti da te portatimi all'attenzione ma confesso di non avergli dedicato il tempo che penso meritino, poiché l'argomento è trattato con un altro approccio ovvero quello degli infrarossi anziché accelerometro + giroscopio. Inoltre, non l'ho scritto prima quindi giustamente non poteva sapersi; conto di poter utilizzare il robot che sto progettando all'aria aperta; se riuscirò Off-Road... Sicuramente lo saprai già; ma il sistema con duplice sensore di distanza non si adatta bene a questo, perché non consente di approcciarsi a dislivelli od a piani inclinati (che io sappia), inoltre le asperità del terreno falserebbero certamente la corretta rivelazione della distanza e di conseguenza dell'effettiva posizione del robot rispetto al piano orizzontale. Tuttavia ti ringrazio per avermeli presentati perché sono molto interessato allo studio teorico del sistema, e non tarderò a studiarli ^^

Vi auguro una buona serata, a presto ;)

Phanto:
In caso contrario non esiterò a contattarti! Grazie molte ancora :slight_smile:

Forse mi sono spiegato male… intendevo farti stampare il pezzo… ma da altri.
La mia 3D arriverĂ  a Settembre 2014. :grin: :grin:

PaoloP:

Phanto: In caso contrario non esiterò a contattarti! Grazie molte ancora ^_^

Forse mi sono spiegato male... intendevo farti stampare il pezzo... ma da altri. La mia 3D arriverĂ  a Settembre 2014. :grin: :grin:

Ahah, ok, si, il problema è da imputare alla duplice possibilità di soggetto sotto inteso della frase:

PaoloP: Se ti facessi stampare uno spessore esagonale con una 3D? ;)

XD XD XD

L'avevo inteso come "Se (io) ti facessi stampare... ?" anzichè: "se (tu) ti facessi stampare...?"

Dettagli... ^_^ Allora mi correggo... Non contatterò te se non a causa di procrastinazioni oltre il settembre 2014 xD XD

Phanto: @Fabrizio: Grazie molte ^_^

Non c´é di che. In bocca al lupo per il progetto.

Buongiorno!!
ho ricevuto finalmente la MPU6050 e come prima cosa mi piacerebbe prendere un po’ di famigliarità con il sensore :slight_smile:
Avreste una libreria da consigliarmi? Io ho trovato questo:

Ma purtroppo non riesco proprio a capire come poter scaricare i files =(

Prova a iscriverti al sito e vedrai che Ă© possibile effettuare il download della cartella completa.

Grazie mille per la risposta ^_^ Caspita, mi sono iscritto... Ma continuo a non capire come fare x_x perdonate l'ignoranza X_X

In effetti devi tornare indietro di un paio di livelli ... QUI ... ti devi scaricare lo Zip (c'è il bottone a destra) di TUTTI i moduli e poi, una volta estratto lo zip, ti prendi la cartellina di quello che ti interessa (la cartella MPU6050 si trova dentro la cartella Arduino) ;)

Guglielmo

Gentilissimo! grazie, ora procedo :)

Funzionaaaa!!! ^^ tanti bei numeri che corrono nel serial-monitor ^^

Grazie mille a tutti quanti per la disponibilitĂ  ^_^ buona giornata!

Buongiorno! Oggi mi è arrivato anche il modulo H-bridge L298N per il controllo motori e funziona benissimo!

Stavo progettando il circuito su mille_fori con Arduino UNO clone+ mpu6050... E mi è sorta una domanda su qest'ultimo sensore: Sono perfettamente consapevole del fatto che utilizzi comunicazione i2C... Ma non sono riuscito a capire a cosa servono, e come potrebbero essere utilizzati, i pin che rimangono scollegati in configurazione I2c; in particolare i pins: xda; xcl; ad0. inoltre di quale valore sarebbe meglio utilizzare le resistenze di pull-up?

Se qualcuno riuscisse a spiegarmelo glie ne sarei molto grato :) buona serata a tutti

Potresti mettere il link della board con su il MPU6050 ... perché sul datasheet non vedo xda, xcl ...

Guglielmo

Ciao Guglielmo; grazie molte per la tempestivitĂ  :) il modulo si chiama: GY-521; ho provato a leggere il datasheet... Ma purtroppo non ho trovato soluzione alla mia interrogazione...

Grazie per l'aiuto