Satura rādītājs:

Mazu motoru vadīšana ar TB6612FNG: 8 soļi
Mazu motoru vadīšana ar TB6612FNG: 8 soļi

Video: Mazu motoru vadīšana ar TB6612FNG: 8 soļi

Video: Mazu motoru vadīšana ar TB6612FNG: 8 soļi
Video: Открываю газотурбинные порталы в гараже 2024, Decembris
Anonim
Mazo motoru vadīšana ar TB6612FNG
Mazo motoru vadīšana ar TB6612FNG

TB6612FNG ir Toshiba divu motoru draivera IC. Tam ir daudz sadalīšanas dēļu, un tā ir viena no populārākajām mazo motoru piedziņas iespējām.

Lai sāktu darbu ar TB6612FNG, ir daudz tiešsaistes resursu, taču es nolēmu to uzrakstīt jebkurā gadījumā, lai labāk apkopotu to, ar ko es saskāros.

Šajā pamācībā es koncentrēšos uz vadības loģiku, kā arī detalizēti izskaidrošu Sparkfun TB6612FNG motoru draiveru bibliotēku.

1. darbība. Nepieciešamās detaļas

Lūk, ko mēs šodien izmantosim:

1) Mikro metāla motori

2) TB6612FNG motora vadītājs

3) Arduino un USB kabelis

4) Motora barošanas avots

5) maizes dēlis

6) Jumper vadi

2. darbība: TB6612FNG izlaušanās dēlis

TB6612FNG izlaušanās dēlis
TB6612FNG izlaušanās dēlis

Kā jau minēju iepriekš, TB6612FNG ir daudz dažādu ražotāju sadalīšanas dēļu. Visiem tiem ir vairāk vai mazāk vienādi komponenti, kā arī līdzīgs pinout.

Kondensatori ir pielodēti pie tāfeles, lai aizsargātu pret motoru radīto troksni, tāpēc jums nebūs jāpielodē šie keramikas kondensatori pie motoriem.

IC ir aprīkots arī ar iekšējām diodēm, lai pasargātu no EMF aizmugures no motoriem. Bet papildu drošības pasākumi nevienam nekaitē. Es tos nepievienoju, jo mani motori nav ļoti lieli un man trūkst diodes: |

3. darbība: piespraužiet izejas

Piespraudes izejas
Piespraudes izejas

TB6612FNG sadalīšanas plāksnei ir ļoti pārliecinošs pinout. Visas motora izejas, ieejas un barošanas savienojumi ir labi sagrupēti, lai maksimāli atvieglotu lietošanu.

Es izveidoju ilustrāciju par pinouts un to savienošanu, es ceru, ka tas noderēs, savienojot visus šos vadus:)

4. solis: shēmas

Shēmas
Shēmas
Shēmas
Shēmas

Esmu diezgan jauns Fritzing lietošanā. Man šķiet, ka Fritzing shēmas shēmas ir diezgan grūti saprotamas, bet maizes dēļa skats ir ērts Instructables. Jūtieties brīvi uzdot visus jautājumus, ja kāds no vadu savienojumiem izskatās mulsinošs.

5. solis: pievienojiet to vadam

Elektroinstalācija
Elektroinstalācija

Pievienojiet visu vadam saskaņā ar shēmām. Ir daudz vadu, pēc katra savienojuma noteikti pārbaudiet vēlreiz.

Motora vadītāja ievadam es izmantoju šādas Arduino tapas:

Motora draiveris -> Arduino PIN numurs

1) PWMA -> 5

2) INA1 -> 2

3) INA2 -> 4

4) PWMB -> 6

5) INB1 -> 7

6) INB2 -> 8

Lietas, kas šajā solī var noiet greizi: 1) Neatvienojiet polaritāti, pievienojot Vm un GND no strāvas avota. Jūs varat apcept savu motora vadītāju.

2) Noteikti pievienojiet PWMA un PWMB arduino PWM tapām.

3) Atcerieties savienot Arduino GND un GND no motora draivera, ja katram izmantojat citu barošanas avotu.

6. darbība: bibliotēkas lejupielāde un instalēšana

Lejupielādējiet bibliotēku no Sparkfun GitHub lapas.

Kad esat lejupielādējis zip failu, atveriet savu Arduino IDE.

Izvēlnē Skice> Iekļaut bibliotēku> Pievienot. Zip bibliotēku pievienojiet lejupielādēto bibliotēku.

Pēc veiksmīgas instalēšanas tai vajadzētu parādīties sadaļā Fails> Piemēri kā “SparkFun TB6612FNG Motor Library”

Ja jums ir grūtības lejupielādēt un instalēt Arduino bibliotēku, skatiet šīs instrukcijas 5. darbību.

7. darbība: parauga koda palaišana

Tagad, kad mūsu bibliotēka ir gatava, mēs varam augšupielādēt parauga kodu, lai to pārbaudītu.

1) Atveriet “MotorTestRun” piemēru no “Sparkfun TB6612FNG Motor Driver Library”, kas norādīts jūsu bibliotēkās.

Piezīme. Ja neizmantojat tos pašus pin numurus, kas minēti 5. darbībā, noteikti mainiet tapu definīcijas atbilstoši iestatījumiem.

2) Izvēlieties savu valdi no valdes pārvaldnieka

3) Augšupielādējiet savu kodu, un motoriem jāsāk kustēties

Pēc augšupielādes motoriem jāsāk kustēties. Ja tā nav, vēlreiz pārbaudiet elektroinstalāciju.

8. darbība: paskaidrojiet bibliotēku

Tagad paskaidrojiet, kā izmantot bibliotēku savam koda gabalam.

Vispirms sāciet ar bibliotēkas importēšanu un arduino tapu inicializēšanu

#iekļaut

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

Lai inicializētu motora objektus, katram motoram jāiestata nobīde. Iedomājieties, ja veicat motora pārsūtīšanas komandu un tā griežas atpakaļgaitā. Jūs to varētu manuāli pārinstalēt vai vienkārši mainīt nobīdi no šejienes. Lielisks mazs QoL uzlaušana, ko pievienoja SparkFun. Šo nobīžu vērtības ir vai nu 1, vai -1.

Pēc tam katrs no motoriem jāinicializē ar šādiem parametriem;

Motors = motors (1. tapa, 2. tapa, PWM tapa, nobīde, gaidstāves tapa)

const int nobīdeA = 1;

const int nobīdeB = 1; Motora motors1 = Motors (AIN1, AIN2, PWMA, nobīdeA, STBY);

Ar to jūs esat pabeidzis bibliotēkas inicializēšanu. Funkcijā setup () vairs nav jāveic nekādas darbības, mēs vienkārši izpildām kodu cilpas () funkcijā.

Motora metodei ir šādas funkcijas. Tinker apkārt, lai pārbaudītu tos visus.

1). Vadīt (vērtība, laiks)

Motora_nosaukums = jūsu motora objekta nosaukumsvērtība = no 255 līdz -255; negatīvas vērtības liks motoram kustēties atpakaļgaitā = laiks milisekundēs

2). Bremze ()

Bremžu funkcija neņem vērā nevienu argumentu, bremzē motorus.

3) bremze (, <motora_nosaukums2)

Bremžu funkcija kā argumentus ņem motora objektu nosaukumus. Bremzē motorus, kas iekļauti funkcijā.

4) uz priekšu (,, laiks) uz priekšu (,, ātrums, laiks)

Funkcija pieņem divus motora objekta nosaukumus, pēc izvēles PWM ātrumu un laiku milisekundēs, un palaiž motoru uz priekšu vērstu laiku. Ja ātruma vērtība ir negatīva, motors ieslēgsies atpakaļ. Noklusējuma ātrums ir iestatīts uz 255.

5) atpakaļ (,, laiks) atpakaļ (,, ātrums, laiks)

Funkcija pieņem divus motora objekta nosaukumus, pēc izvēles PWM ātrumu un laiku milisekundēs, un palaiž motoru uz priekšu vērstu laiku. Ja ātruma vērtība ir negatīva, motors virzās uz priekšu. Noklusējuma ātrums ir iestatīts uz 255.

6) pa kreisi (,, ātrums) pa labi (,, ātrums)

Funkcija pieņem divus motora objektu nosaukumus un ātrumu. Svarīga ir motora objektu secība, kas nodota kā parametri. Lai darbinātu atsevišķus motorus, tā vietā izmantojiet.drive ().

Ieteicams: