INHOUDSOPGAWE:

Bestuur van klein motors met die TB6612FNG: 8 stappe
Bestuur van klein motors met die TB6612FNG: 8 stappe

Video: Bestuur van klein motors met die TB6612FNG: 8 stappe

Video: Bestuur van klein motors met die TB6612FNG: 8 stappe
Video: Die Antwoord - Baita Jou Sabela feat. Slagysta (Official Video) 2024, November
Anonim
Bestuur van klein motors met die TB6612FNG
Bestuur van klein motors met die TB6612FNG

Die TB6612FNG is 'n dubbelmotorbestuurder -IC van Toshiba. Daar is baie breekborde daarvoor, en dit is een van die gewildste keuses om klein motors te bestuur.

Daar is baie aanlynbronne om aan die gang te kom met TB6612FNG, maar ek het besluit om dit in elk geval te skryf om beter te kan saamstel wat ek teëgekom het.

Ek fokus op die kontrolelogika en verduidelik ook die Sparkfun TB6612FNG -motorbestuurderbiblioteek in detail in hierdie instruksies.

Stap 1: Onderdele benodig

Hier is wat ons vandag sal gebruik:

1) Micro Metal -motors

2) TB6612FNG -motorbestuurder

3) 'n Arduino- en USB -kabel

4) Kragbron vir die motors

5) Broodbord

6) Springdrade

Stap 2: Die TB6612FNG -uitbreekbord

Die TB6612FNG -uitbreekraad
Die TB6612FNG -uitbreekraad

Soos ek vroeër genoem het, is daar baie uitbreekborde van verskillende vervaardigers vir die TB6612FNG. Almal van hulle het min of meer dieselfde komponente en 'n soortgelyke pinout.

Kondensators word aan die bord gesoldeer vir beskerming teen geraas van die motors, dus u hoef nie die keramiek -kondensators aan die motors te soldeer nie.

Die IC het ook interne diodes om die EMF van die motors af te beskerm. Maar om ekstra veiligheidsmaatreëls te tref, maak niemand seer nie. Ek het dit nie bygevoeg nie, want my motors is nie baie groot nie en ek het 'n tekort aan diodes: |

Stap 3: Speld uit

Speld uit
Speld uit

Die TB6612FNG -uitbreekbord het 'n baie aangename pinout. Al die motoruitsette, insette en kragverbindings is mooi saamgevoeg vir maksimum gebruiksgemak.

Ek het 'n illustrasie gemaak van die pinouts en hoe om dit aan te sluit, ek hoop dit kan handig wees as ek al die drade aansluit:)

Stap 4: Skema's

Skemas
Skemas
Skemas
Skemas

Ek is redelik nuut in die gebruik van Fritzing. Ek vind die kringskemas van Fritzing nogal moeilik om te verstaan, maar die uitsig op die bord is gerieflik vir Instructables. Vra gerus enige vrae as een van die draadverbindings verwarrend lyk.

Stap 5: Verbind dit

Bedraad dit
Bedraad dit

Sluit alles volgens skema aan. Daar is baie drade. Maak seker dat u na elke verbinding weer kyk.

Ek het die volgende Arduino -penne gebruik vir die insette van die motorbestuurder:

Motorbestuurder -> Arduino -speldnommer

1) PWMA -> 5

2) INA1 -> 2

3) INA2 -> 4

4) PWMB -> 6

5) INB1 -> 7

6) INB2 -> 8

Dinge wat in hierdie stap kan skeefloop: 1) Moenie die polariteit omkeer terwyl die Vm en die GND van die kragbron gekoppel word nie. U kan u motorbestuurder braai.

2) Maak seker dat u die PWMA en PWMB aan die PWM -penne op die arduino koppel.

3) Onthou om die Arduino GND en die GND van die motorbestuurder aan te sluit as u 'n ander kragbron vir elkeen gebruik.

Stap 6: Laai die biblioteek af en installeer dit

Laai die biblioteek af van Sparkfun se GitHub -bladsy.

Nadat u die zip -lêer afgelaai het, maak u u Arduino IDE oop.

Voeg die biblioteek wat u afgelaai het uit Skets> Sluit biblioteek> Voeg. Zip -biblioteek by.

Sodra dit suksesvol geïnstalleer is, moet dit in File> Voorbeelde verskyn as 'SparkFun TB6612FNG Motor Library'

As u probleme ondervind met die aflaai en installering van 'n Arduino -biblioteek, kyk dan na stap 5 van hierdie instruksies.

Stap 7: Gebruik die voorbeeldkode

Noudat ons ons biblioteek gereed het, kan ons die voorbeeldkode oplaai om dit te toets.

1) Maak die 'MotorTestRun' -voorbeeld oop uit die' Sparkfun TB6612FNG -motorbestuurderbiblioteek 'wat op u biblioteke verskyn.

Nota: as u nie dieselfde speldnommers gebruik soos in stap 5 genoem nie, moet u die definisies van die pen verander volgens u opstelling.

2) Kies u bord uit die bestuurder

3) Laai u kode op, en die motors moet begin beweeg

Sodra u die motor opgelaai het, moet die motors begin beweeg. As dit nie die geval is nie, kontroleer u bedrading weer.

Stap 8: Die biblioteek verduidelik

Nou om te verduidelik hoe u die biblioteek vir u eie stuk kode kan gebruik.

Begin eers met die invoer van die biblioteek en die initialisering van die penne op arduino

#insluit

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

Om u motorvoorwerpe te initialiseer, moet u elke motor verreken. Stel jou voor dat jy 'n voorwaartse opdrag op jou motor doen, en dit draai agteruit. U kan dit handmatig herbedraad, of u kan die offset van hier af verander. Pragtige klein QoL -hack bygevoeg deur SparkFun. Die waardes van hierdie verrekenings is óf 1 óf -1.

U moet dan elkeen van die motors met die volgende parameters inisialiseer;

Motor = Motor (pen 1, pen 2, PWM -pen, offset, standby -pen)

const int offsetA = 1;

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

En hiermee is u klaar met die initialisering van die biblioteek. Geen stappe meer in die setup () -funksie nie, ons voer net die kode in die loop () -funksie uit.

Die motoriese metode het die volgende funksies. Dink daaraan om almal na te gaan.

1).drive (waarde, tyd)

Motornaam = naam van u motorvoorwerpwaarde = 255 tot -255; negatiewe waardes sal die motor in omgekeerde tyd laat beweeg = tyd in millisekondes

2).rem ()

Die remfunksie vat geen argumente nie, rem die motors.

3) rem (, <motornaam2)

Remfunksie neem motorobjekname as argumente. Remme wat die motors in die funksie oorgedra het.

4) vorentoe (,, tyd) vorentoe (,, spoed, tyd)

Funksie aanvaar die naam van twee motorvoorwerpe, opsioneel PWM -spoed en -tyd in millisekondes en laat die motor in die rigting vorentoe loop vir die verloop van tyd. As die waarde van die spoed negatief is, gaan die motor agteruit. Die standaard spoed is ingestel op 255.

5) terug (,, tyd) terug (,, spoed, tyd)

Funksie aanvaar die naam van twee motorvoorwerpe, opsioneel PWM -spoed en -tyd in millisekondes en laat die motor in die rigting vorentoe loop vir die verloop van tyd. As die waarde van die spoed negatief is, gaan die motor vorentoe. Die standaard spoed is ingestel op 255.

6) links (,, spoed) regs (,, spoed)

Funksie aanvaar twee motorvoorwerpe se name en spoed. Die volgorde van die motorvoorwerpe wat as parameters deurgegee word, is belangrik. Om enkelmotors aan te dryf, gebruik eerder.drive ().

Aanbeveel: