Sommario:

Arduino Line Follower Wallrides Lavagna per aula: 8 passaggi (con immagini)
Arduino Line Follower Wallrides Lavagna per aula: 8 passaggi (con immagini)

Video: Arduino Line Follower Wallrides Lavagna per aula: 8 passaggi (con immagini)

Video: Arduino Line Follower Wallrides Lavagna per aula: 8 passaggi (con immagini)
Video: Tony Hawk Skates First Downward Spiral Loop - BTS 2024, Dicembre
Anonim
Image
Image

Seguire la linea a terra è troppo noioso!

Abbiamo provato a guardare da un'angolazione diversa i seguaci della linea e portarli su un altro piano, sulla lavagna della scuola.

Guarda cosa ne è venuto fuori!

Passaggio 1: di cosa hai bisogno?

Come assemblare? Assemblare il telaio
Come assemblare? Assemblare il telaio

Per un robot da corsa:

Meccanica:

1 telaio per robot miniQ 2WD; È una piattaforma multifunzionale per la creazione di semplici robot a due ruote

Micro motoriduttore 2 x 6V con rapporto di riduzione 1:150; I motoriduttori inclusi con la piattaforma del robot miniQ hanno un rapporto di trasmissione di 1:50 e sono troppo veloci. Dovrebbero essere sostituiti da motori più potenti, ad esempio con rapporto di trasmissione 1:150 o superiore. Maggiore è il rapporto di trasmissione, più lentamente il robot viaggia sulla lavagna, ma minori sono le possibilità che le ruote scivolino

4 x magnete al neodimio; Servono magneti piccoli da 3mm di spessore con il diametro di 12mm (per quelli di forma tonda) o con il lato di 12mm (per quelli di forma quadrata). Inoltre, i magneti dovrebbero avere un foro per la vite della macchina con una testa svasata solitamente per quella M3. A volte i produttori specificano la forza dell'accoppiamento magnetico. Dovrebbe essere compreso tra 2 kg e 2,4 kg

Elettronica:

1 x Arduino UNO; Il computer di bordo. La piattaforma di prototipazione più popolare

1 x modulo Octoliner; Occhi e fari del tuo robot da corsa. Octoliner è un sensore di linea fredda composto da 8 sensori a infrarossi separati controllati tramite un'interfaccia I2C

1 x scudo motore; Quasi tutti i moduli sono adatti a te. Ho usato questo analogico basato sul chip L298p

1 batteria LiPo da 7,4 V a 2 celle; Può fornire una grande corrente di cui i motori hanno bisogno per vincere l'attrazione dei magneti. La batteria a 2 celle ha un voltaggio compreso tra 7,4 V e 8,4 V. È sufficiente per i motori da 6V e il regolatore di tensione integrato sulla scheda Arduino. È possibile selezionare qualsiasi capacità. Più la batteria è capiente, più a lungo il robot guida, ma tieni presente che una batteria troppo capiente può essere pesante. La capacità nell'intervallo da 800 mAh a 1300 mAh è ottimale

Varie:

4 x cavo maschio-femmina;

4 x M3 distanziatore o distanziatore maschio-femmina con la lunghezza di 10 mm;

3 x M3 distanziatore o distanziatore maschio-femmina con lunghezza pari o superiore a 25 mm;

4 x M3x8 vite a testa svasata piana;

1 x vite in nylon M3;

1 dado esagonale in nylon M3;

Eventuali viti M3 e dadi esagonali

Per un'aula:

Lavagna magnetica appesa al muro;

Pennarelli magnetici neri spessi;

Caricabatterie LiPo speciale o caricatori multipli se vuoi realizzare tanti robot e caricarli separatamente

Passaggio 2: come assemblare? Assemblare il telaio

All'inizio, è necessario assemblare i motori di pre-sostituzione della piattaforma del telaio miniQ dal kit con altri più potenti con rapporto di trasmissione 1:150. Non dimenticare di saldare i fili ai contatti dei motori!

Passaggio 3: come assemblare? Installa i magneti

Come assemblare? Installa i magneti
Come assemblare? Installa i magneti

Installa i magneti sulla piattaforma miniQ. Utilizzare distanziali M3x10, viti a testa svasata piatta M3x8 o M3x6 e dadi M3. I fori di installazione necessari sono mostrati nell'immagine.

È importante!

La lunghezza dei distanziatori dovrebbe essere esattamente 10 mm. Dopo aver installato i magneti, testare la piattaforma sulla lavagna. Tutti e quattro i magneti dovrebbero essere adiacenti alla lavagna magnetica e le ruote in gomma sulle ruote della piattaforma miniQ dovrebbero essere precaricate e fornire un po' di attrito con la superficie della lavagna.

Sposta manualmente il robot su tutta la linea. Durante la corsa, i magneti non dovrebbero staccarsi dalla tavola. Se un magnete si stacca significa che i pneumatici in gomma sulle ruote caricano al massimo. In questo caso, aumentare la distanza di 10 mm di tutti i distanziatori di 1 o 2 mm aggiungendo un paio di rondelle M3 e riprovare.

Passaggio 4: come assemblare? Aggiungi l'elettronica

Come assemblare? Aggiungi l'elettronica
Come assemblare? Aggiungi l'elettronica

Montare la scheda Arduino UNO sulla piattaforma utilizzando distanziali M3x25, viti M3 e dadi M3. Non utilizzare distanziali corti, lascia un po' di spazio sotto la scheda Arduino per cavi e batteria.

Installa il Motor shield sulla scheda Arduino UNO.

Installa il modulo Octoliner. Premilo contro la piattaforma usando una vite e un dado M3 in nylon.

È importante!

Non utilizzare dispositivi di fissaggio in metallo per montare l'Octoliner. Alcuni fori di montaggio sulla scheda breakout sono saldati e utilizzati come pin IO. Per evitare cortocircuiti, utilizzare dispositivi di fissaggio in plastica, ad esempio nylon.

Passaggio 5: come assemblare? Cablaggio

Come assemblare? Cablaggio
Come assemblare? Cablaggio

Collegare tutti i componenti elettronici come mostrato nello schema. Il modulo Octoliner è collegato tramite 4 fili (GND, 5V, SDA, SCL) all'Arduino UNO. Collegare i motori alla schermatura del motore. La batteria LiPo è collegata ai contatti dell'alimentatore esterno sullo scudo del motore e al pin VIN sulla scheda Arduino. Invece di utilizzare il pin VIN, è possibile utilizzare la spina di alimentazione da 5,5 mm x 2,1 mm sulla scheda.

È importante!

Quando si utilizza lo schermo del motore non sono necessari cavi. Due canali motore sono controllati da 4 pin. 2 pin PWM sono responsabili della velocità di rotazione mentre 2 pin DIR per il senso di rotazione. Di solito, sono già collegati a pin specifici della scheda Arduino e i loro numeri di indice possono variare a seconda del produttore dello shield. Ad esempio, per il mio scudo motore, i numeri sono D4 D5 (DIR e PWM per il primo canale) e D7 D6 (DIR e PWM per il secondo canale). Per lo shield originale Arduino Motor, i numeri dei pin corrispondono a D12 D3 (DIR e PWM per il primo canale) e D13 D11 (DIR e PWM per il secondo canale).

È importante!

Le batterie Hobby LiPo non hanno una scheda di protezione contro l'inversione di polarità! Un cortocircuito accidentale dei contatti positivo e negativo provocherà un guasto permanente della batteria o un incendio.

Passaggio 6: come programmare? XOD

Realizzare un programma per un simile robot da corsa è ancora più semplice che assemblarlo.

In tutti i miei progetti utilizzo l'ambiente di programmazione visuale XOD che mi permette di creare graficamente programmi Arduino senza scrivere codice. Questo ambiente è ideale per la prototipazione rapida di dispositivi o l'apprendimento di algoritmi di programmazione. Segui la pagina web della documentazione XOD per saperne di più.

Per programmare questo robot, devi aggiungere solo una libreria amperka/octoliner nel tuo spazio di lavoro XOD. È necessario per lavorare con un sensore di linea a otto canali.

Passaggio 7: come programmare? Toppa

Come programmare? Toppa
Come programmare? Toppa

Il programma si basa sul principio di funzionamento del controller PID. Se vuoi sapere cos'è il controller PID e come funziona puoi leggere un altro articolo su questo argomento.

Dai un'occhiata alla patch con il programma robot. Vediamo quali nodi sono presenti su di esso e come funziona il tutto.

linea-ottoline

È un nodo di avvio rapido della libreria XOD amperka/octoliner che rappresenta il modulo Octoliner che traccia la linea. Emette il "valore di tracciamento della linea" che si trova nell'intervallo da -1 a 1. Il valore 0 mostra che la linea è nella posizione centrale rispetto ai sensori a infrarossi sulla scheda Octoliner (tra CH3 e CH4). Il valore -1 corrisponde alla posizione estrema sinistra (CH0) mentre l'1 all'estrema destra (CH1). Il nodo di avvio inizializza i sensori dell'accoppiatore ottico e imposta i loro parametri di luminosità e sensibilità predefiniti. Gli input per questo nodo sono l'indirizzo I2C del dispositivo (ADDR per la scheda Octoliner è 0x1A) e la velocità di aggiornamento del valore di tracciamento della linea (UPD), l'ho impostato continuo.

I valori di tracciamento della linea vengono inviati direttamente al nodo del controller pid.

pid-controllore

Questo nodo implementa il lavoro del controller PID in XOD. Il valore target (TARG) per esso è 0. È lo stato in cui la linea è esattamente al centro sotto il robot. Se il valore di tracciamento della linea è 0, il controller PID si ripristina tramite il pin RST. Se il valore di tracciamento della linea è diverso da 0, il controller PID lo converte utilizzando i coefficienti Kp, Ki, Kd nei valori di velocità del motore. I valori dei coefficienti sono stati selezionati sperimentalmente e pari rispettivamente a 1, 0,2 e 0,5. La velocità di aggiornamento (UPD) del controller PID è impostata su continua.

Il valore elaborato del controllore PID viene sottratto da 1 e aggiunto a 1. Viene fatto per desincronizzare i motori, per farli ruotare in direzioni opposte quando la linea viene persa. Il valore 1 in questi nodi rappresenta la velocità massima dei motori. È possibile ridurre la velocità inserendo il valore più basso.

h-ponte-motore-cc

Un paio di questi nodi sono responsabili del controllo dei motori del robot sinistro e destro. Qui imposta i valori dei pin PWM e DIR attraverso i quali opera il tuo scudo motore.

Aggiorna la patch e prova il tuo robot da corsa. Se si seguono esattamente le istruzioni di assemblaggio, non è necessario modificare la patch o regolare il controller PID. Le impostazioni specificate sono abbastanza ottimali.

Il programma finito si trova nella libreria gabbapeople/whiteboard-races

Passaggio 8: vetrina e suggerimenti

Consigliato: