Cuprins:

Conducerea motoarelor mici cu TB6612FNG: 8 pași
Conducerea motoarelor mici cu TB6612FNG: 8 pași

Video: Conducerea motoarelor mici cu TB6612FNG: 8 pași

Video: Conducerea motoarelor mici cu TB6612FNG: 8 pași
Video: Cum se conduce CORECT o motocicleta - TUTORIAL 2024, Noiembrie
Anonim
Conducerea motoarelor mici cu TB6612FNG
Conducerea motoarelor mici cu TB6612FNG

TB6612FNG este un driver cu motor dual IC de la Toshiba. Există o mulțime de plăci de rupere acolo și este una dintre cele mai populare alegeri pentru a conduce motoare mici.

Există o mulțime de resurse online pentru a începe cu TB6612FNG, dar am decis să scriu asta oricum pentru a compila mai bine ceea ce am întâlnit.

Mă voi concentra asupra logicii de control și voi explica în detaliu biblioteca de drivere de motor Sparkfun TB6612FNG în acest instructable.

Pasul 1: Piese necesare

Iată ce vom folosi astăzi:

1) Motoare Micro Metal

2) Driver motor TB6612FNG

3) Un cablu Arduino și USB

4) Sursa de alimentare pentru motoare

5) Pană de pâine

6) fire de jumper

Pasul 2: placa TB6612FNG Breakout

Placa TB6612FNG Breakout
Placa TB6612FNG Breakout

După cum am menționat anterior, există o mulțime de plăci de rupere de la diferiți producători pentru TB6612FNG. Toate au mai mult sau mai puțin aceleași componente pe ele și, de asemenea, un pinout similar.

Condensatoarele sunt lipite pe placă pentru protecție împotriva zgomotului de la motoare, deci nu va trebui să lipiți condensatorii ceramici pe motoare.

IC vine, de asemenea, cu diode interne pentru a proteja împotriva EMF din spate de la motoare. Dar a avea măsuri suplimentare de siguranță nu dăunează nimănui. Nu le-am adăugat pentru că motoarele mele nu sunt foarte mari și îmi lipsesc diodele: |

Pasul 3: Pin Out

Pin Outs
Pin Outs

Placa de separare TB6612FNG are un pinout foarte convenabil. Toate ieșirile, intrările și conexiunile de alimentare ale motorului sunt grupate frumos pentru o ușurință maximă de utilizare.

Am făcut o ilustrație a pinouturilor și a modului de conectare a acestora, sper că va fi la îndemână la conectarea tuturor acelor fire:)

Pasul 4: Scheme

Scheme
Scheme
Scheme
Scheme

Sunt destul de nou în ceea ce privește utilizarea Fritzing. Mi se pare destul de dificil de înțeles schemele circuitelor de la Fritzing, dar vizualizarea panoului de verificare este convenabilă pentru Instructables. Simțiți-vă liber să puneți orice întrebare dacă oricare dintre conexiunile cablului pare confuză.

Pasul 5: Cablare

Cablarea acestuia
Cablarea acestuia

Conectați totul conform schemelor. Există o mulțime de fire, asigurați-vă că verificați de două ori după fiecare conexiune.

Am folosit următorii pini Arduino pentru intrările driverului motorului:

Driver motor -> Număr pin Arduino

1) PWMA -> 5

2) INA1 -> 2

3) INA2 -> 4

4) PWMB -> 6

5) INB1 -> 7

6) INB2 -> 8

Lucruri care pot merge prost în acest pas: 1) Nu inversați polaritatea în timp ce conectați Vm și GND de la sursa de alimentare. S-ar putea să vă prăjiți șoferul motorului.

2) Asigurați-vă că conectați PWMA și PWMB la pinii PWM de pe arduino.

3) Nu uitați să conectați Arduino GND și GND de la driverul motorului dacă utilizați o sursă de alimentare diferită pentru fiecare.

Pasul 6: Descărcarea și instalarea bibliotecii

Descărcați biblioteca de pe pagina GitHub a Sparkfun.

După ce ați descărcat fișierul zip, deschideți ID-ul Arduino.

Din Sketch> Include Library> Add. Zip Library, adăugați biblioteca pe care ați descărcat-o.

Odată instalat cu succes, ar trebui să apară în Fișier> Exemple, ca „SparkFun TB6612FNG Motor Library”

Dacă întâmpinați dificultăți în descărcarea și instalarea unei biblioteci Arduino, consultați pasul 5 din acest instructable.

Pasul 7: Rularea exemplului de cod

Acum că avem biblioteca noastră gata, putem încărca exemplul de cod pentru a-l testa.

1) Deschideți exemplul „MotorTestRun” din „Biblioteca de drivere motor Sparkfun TB6612FNG” listată în bibliotecile dvs.

Notă: dacă nu utilizați aceleași numere de pini ca cele menționate la pasul 5, asigurați-vă că schimbați definițiile pini în funcție de configurarea dvs.

2) Selectați-vă consiliul de administrație

3) Încărcați codul și motoarele ar trebui să înceapă să se miște

Odată ce încărcați motoarele ar trebui să înceapă să se miște. Dacă nu sunt, verificați din nou cablajul.

Pasul 8: Biblioteca explicată

Acum, pentru a explica cum să utilizați biblioteca pentru propria bucată de cod.

Mai întâi începeți cu importarea bibliotecii și inițializarea pinilor pe arduino

#include

#define AIN1 2 #define AIN2 4 #define PWMA 5 #define BIN1 7 #define BIN2 8 #define PWMB 6 # define STBY 9

Pentru a inițializa obiectele motorului, trebuie să setați decalaje pentru fiecare motor. Imaginați-vă dacă faceți o comandă înainte pe motorul dvs. și se învârte în sens invers. Puteți să-l reconectați manual sau puteți schimba offsetul de aici. Un mic hack QoL nifty adăugat de SparkFun. Valorile acestor compensări sunt fie 1, fie -1.

Apoi, trebuie să inițializați fiecare dintre motoare cu următorii parametri;

Motor = Motor (Pin 1, Pin 2, PWM pin, offset, Standby pin)

const int offsetA = 1;

const int offsetB = 1; Motor motor1 = Motor (AIN1, AIN2, PWMA, offsetA, STBY);

Și cu aceasta, ați terminat inițializarea bibliotecii. Nu mai sunt pași în funcția setup (), doar executăm codul în funcția loop ().

Metoda motorului are următoarele funcții. Tinker pentru a le verifica pe toate.

1).drive (valoare, timp)

Motor_name = numele motorului dvs. obiect valoare = 255 până la -255; valorile negative vor face ca motorul să se deplaseze în timp invers = timp în milisecunde

2). Frână ()

Funcția de frânare nu ia niciun argument, frânează motoarele.

3) frână (, <motor_name2)

Funcția de frânare ia numele obiectelor motorului ca argumente. Frânează motoarele trecute în funcție.

4) înainte (,, timp) înainte (,, viteză, timp)

Funcția acceptă numele a două obiecte motor, opțional viteza și timpul PWM în milisecunde și rulează motorul în direcția înainte pentru perioada de timp trecută. Dacă valoarea vitezei este negativă, motorul va merge înapoi. Viteza implicită este setată la 255.

5) înapoi (,, timp) înapoi (,, viteză, timp)

Funcția acceptă numele obiectului motorului două, opțional viteza și timpul PWM în milisecunde și rulează motorul în direcția înainte pentru perioada de timp trecută. Dacă valoarea vitezei este negativă, motorul va merge înainte. Viteza implicită este setată la 255.

6) stânga (,, viteză) dreapta (,, viteză)

Funcția acceptă două nume de obiecte motor și viteză. Ordinea obiectelor motor transmise ca parametri este importantă. Pentru a conduce motoare simple, utilizați în schimb.drive ().

Recomandat: