Sommario:
- Passaggio 1: parti necessarie
- Passaggio 2: la scheda breakout TB6612FNG
- Passaggio 3: pin out
- Fase 4: Schemi
- Passaggio 5: cablaggio
- Passaggio 6: download e installazione della libreria
- Passaggio 7: esecuzione del codice di esempio
- Passaggio 8: spiegazione della libreria
Video: Guidare piccoli motori con il TB6612FNG: 8 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:02
Il TB6612FNG è un circuito integrato per driver a doppio motore di Toshiba. Ci sono un sacco di schede breakout là fuori ed è una delle scelte più popolari per guidare piccoli motori.
Ci sono molte risorse online su come iniziare con il TB6612FNG, ma ho deciso di scriverlo comunque per compilare meglio quello che mi sono imbattuto.
Mi concentrerò sulla logica di controllo e spiegherò in dettaglio anche la libreria di driver del motore Sparkfun TB6612FNG in questo tutorial.
Passaggio 1: parti necessarie
Ecco cosa useremo oggi:
1) Motori Micro Metal
2) Driver del motore TB6612FNG
3) Un Arduino e un cavo USB
4) Alimentazione per i motori
5) Tagliere
6) Ponticelli
Passaggio 2: la scheda breakout TB6612FNG
Come ho detto prima, ci sono molte schede breakout di diversi produttori per il TB6612FNG. Tutti hanno più o meno gli stessi componenti e anche un pinout simile.
I condensatori sono saldati sulla scheda per la protezione contro il rumore dei motori, quindi non dovrai saldare quei condensatori ceramici ai motori.
L'IC è inoltre dotato di diodi interni per la protezione dall'EMF posteriore dai motori. Ma avere misure di sicurezza extra non fa male a nessuno. Non li ho aggiunti perché i miei motori non sono molto grandi e sono a corto di diodi:|
Passaggio 3: pin out
La breakout board TB6612FNG ha una piedinatura molto comoda. Tutte le uscite del motore, gli ingressi e le connessioni di alimentazione sono ben raggruppate per la massima facilità d'uso.
Ho fatto un'illustrazione dei pinout e di come collegarli, spero che sia utile quando si collegano tutti quei fili:)
Fase 4: Schemi
Sono abbastanza nuovo nell'usare Fritzing. Trovo gli schemi del circuito di Fritzing abbastanza difficili da capire, ma la vista breadboard è comoda per Instructables. Sentiti libero di fare qualsiasi domanda se una qualsiasi delle connessioni dei cavi sembra confusa.
Passaggio 5: cablaggio
Collega tutto secondo gli schemi. Ci sono molti cavi, assicurati di ricontrollare dopo ogni connessione.
Ho usato i seguenti pin Arduino per gli ingressi del driver del motore:
Driver del motore -> Numero pin Arduino
1) PWMA -> 5
2) INA1 -> 2
3) INA2 -> 4
4) PWMB -> 6
5) INB1 -> 7
6) INB2 -> 8
Cose che possono andare storte in questo passaggio: 1) Non invertire la polarità durante il collegamento di Vm e GND dalla fonte di alimentazione. Potresti friggere il tuo macchinista.
2) Assicurati di collegare PWMA e PWMB ai pin PWM su arduino.
3) Ricordarsi di collegare Arduino GND e GND dal driver del motore se si utilizza una fonte di alimentazione diversa per ciascuno.
Passaggio 6: download e installazione della libreria
Scarica la libreria dalla pagina GitHub di Sparkfun.
Una volta scaricato il file zip, apri il tuo IDE Arduino.
Da Schizzo > Includi libreria > Aggiungi libreria. Zip, aggiungi la libreria che hai scaricato.
Una volta installato con successo, dovrebbe essere visualizzato su File> Esempi, come "SparkFun TB6612FNG Motor Library"
Se hai difficoltà a scaricare e installare una libreria Arduino, controlla il passaggio 5 di questa istruzione.
Passaggio 7: esecuzione del codice di esempio
Ora che abbiamo la nostra libreria pronta, possiamo caricare il codice di esempio per testarlo.
1) Aprire l'esempio 'MotorTestRun' dalla 'Sparkfun TB6612FNG Motor Driver Library' elencata nelle proprie librerie.
Nota: se non stai utilizzando gli stessi numeri di pin menzionati al passaggio 5, assicurati di modificare le definizioni dei pin in base alla tua configurazione.
2) Seleziona la tua scheda dal gestore della scheda
3) Carica il tuo codice e i motori dovrebbero iniziare a muoversi
Una volta caricato, i motori dovrebbero iniziare a muoversi. Se non lo sono, controlla di nuovo il cablaggio.
Passaggio 8: spiegazione della libreria
Ora spieghiamo come usare la libreria per il tuo pezzo di codice.
Innanzitutto inizia con l'importazione della libreria e l'inizializzazione dei pin su arduino
#includere
#define AIN1 2 #define AIN2 4 #define PWMA 5 #define BIN1 7 #define BIN2 8 #define PWMB 6#define STBY 9
Per inizializzare i tuoi oggetti motore, devi impostare gli offset per ogni motore. Immagina se stai eseguendo un comando in avanti sul tuo motore e sta girando al contrario. Puoi ricablarlo manualmente o puoi semplicemente modificare l'offset da qui. Nifty little QoL hack aggiunto da SparkFun. I valori di questi offset sono 1 o -1.
Bisogna quindi inizializzare ciascuno dei Motori con i seguenti parametri;
Motore = motore (pin 1, pin 2, pin PWM, offset, pin standby)
const int offsetA = 1;
const int offsetB = 1; Motore motore1 = Motore (AIN1, AIN2, PWMA, offsetA, STBY);
E con questo, hai finito di inizializzare la libreria. Niente più passaggi nella funzione setup(), eseguiamo semplicemente il codice nella funzione loop().
Il metodo del motore ha le seguenti funzioni. Armeggiare per controllarli tutti.
1).drive(valore, tempo)
Motor_name = nome del tuo motore objectvalue= da 255 a -255; valori negativi faranno muovere il motore in tempo inverso= tempo in millisecondi
2).freno()
La funzione Brake non accetta argomenti, frena i motori.
3) freno(, <nome_motore2)
La funzione Brake accetta i nomi degli oggetti motore come argomenti. Frena i motori passati alla funzione.
4) avanti(,, tempo) avanti(,, velocità, tempo)
La funzione accetta il nome di due oggetti motore, facoltativamente velocità PWM e tempo in millisecondi e fa girare il motore in avanti per il periodo di tempo trascorso. Se il valore della velocità è negativo, il motore andrà indietro. La velocità predefinita è impostata su 255.
5) indietro(,, tempo) indietro(,, velocità, tempo)
La funzione accetta il nome di due oggetti motore, facoltativamente velocità PWM e tempo in millisecondi e fa girare il motore in avanti per il periodo di tempo trascorso. Se il valore della velocità è negativo, il motore andrà avanti. La velocità predefinita è impostata su 255.
6) sinistra(,, velocità) destra(,, velocità)
La funzione accetta due nomi di oggetti motore e velocità. L'ordine degli oggetti motore passati come parametri è importante. Per pilotare motori singoli, usa invece.drive().
Consigliato:
Realizza gli auricolari con armatura bilanciata più piccoli al mondo: 7 passaggi (con immagini)
Realizza gli auricolari con armatura bilanciata più piccoli al mondo: questo è un progetto per realizzare probabilmente gli auricolari BA singoli più piccoli con una qualità del suono audiofila. Il design è stato ispirato da Final F7200, un IEM ad alta risoluzione da $ 400+ su Amazon. Mentre con i componenti disponibili sul mercato aperto, i fai-da-te possono farcela in
Guidare la striscia LED RGB con Arduino: 4 passaggi
Guidare la striscia LED RGB usando Arduino: Ciao ragazzi in questo istruzioni realizzeremo un circuito per eseguire una striscia LED RGB da 12 V con arduino. Poiché sappiamo che arduino non ha abbastanza potenza per far funzionare una striscia led RGB, quindi dobbiamo amplificare il segnale di arduino per alimentare la striscia led da un'altra fonte, quindi saremo
Guidare un LCD con modulo I2C: 8 passaggi
Guidare un LCD Con Modulo I2C: In questo tutorial vedremo come funziona uno schermo LCD e come utilizzarlo più facilmente con il modulo I2C
Come guidare un trattore Case IH Magnum 215 del 2008: 9 passaggi (con immagini)
Come guidare un trattore Case IH Magnum 215 del 2008: insegnerò come avviare e guidare un trattore Magnum 215
Costruire piccoli robot: realizzare robot micro-sumo da un pollice cubico e più piccoli: 5 passaggi (con immagini)
Costruire piccoli robot: realizzare robot micro-sumo da un pollice cubico e più piccoli: ecco alcuni dettagli sulla costruzione di piccoli robot e circuiti. Questo tutorial coprirà anche alcuni suggerimenti e tecniche di base utili nella costruzione di robot di qualsiasi dimensione. Per me, una delle grandi sfide dell'elettronica è vedere quanto sia piccolo un