Talaan ng mga Nilalaman:

Pagmamaneho ng Maliliit na Motors Gamit ang TB6612FNG: 8 Hakbang
Pagmamaneho ng Maliliit na Motors Gamit ang TB6612FNG: 8 Hakbang

Video: Pagmamaneho ng Maliliit na Motors Gamit ang TB6612FNG: 8 Hakbang

Video: Pagmamaneho ng Maliliit na Motors Gamit ang TB6612FNG: 8 Hakbang
Video: Lesson 102: Using ZK-5AD 4A Dual DC Motor Driver TA6586 4A 14V The best Motor Driver (new product) 2024, Nobyembre
Anonim
Pagmamaneho ng Maliliit na Motors Gamit ang TB6612FNG
Pagmamaneho ng Maliliit na Motors Gamit ang TB6612FNG

Ang TB6612FNG ay isang dalawahang driver ng motor na IC mula sa Toshiba. Mayroong maraming mga breakout board doon para dito at ito ay isa sa mga pinakatanyag na pagpipilian upang humimok ng maliliit na motor.

Mayroong maraming mga mapagkukunan sa online sa pagsisimula nang walang TB6612FNG ngunit napagpasyahan kong isulat ito pa rin upang mas mahusay na maisaayos kung ano ang aking naranasan.

Magtutuon ako sa control logic at ipaliwanag ko rin ang library ng driver ng Sparkfun TB6612FNG nang detalyado sa itinuturo na ito.

Hakbang 1: Kinakailangan ang Mga Bahagi

Narito kung ano ang gagamitin namin ngayon:

1) Mga Motorsikong Micro Metal

2) TB6612FNG motor driver

3) Isang Arduino at USB cable

4) Pinagmulan ng kuryente para sa mga motor

5) Breadboard

6) Mga wire ng lumulukso

Hakbang 2: Ang TB6612FNG Breakout Board

Ang TB6612FNG Breakout Board
Ang TB6612FNG Breakout Board

Tulad ng nabanggit ko dati, maraming mga breakout board mula sa iba't ibang mga tagagawa para sa TB6612FNG. Ang lahat sa kanila ay may higit o mas mababa sa parehong mga bahagi sa kanila at katulad din ng pinout.

Ang mga capacitor ay solder sa board para sa proteksyon laban sa ingay mula sa mga motor, kaya't hindi mo kailangang maghinang ang mga ceramic capacitor sa mga motor.

Ang IC ay may kasamang panloob na mga diode upang maprotektahan mula sa likod ng EMF mula sa mga motor. Ngunit ang pagkakaroon ng labis na mga hakbang sa kaligtasan ay hindi nasaktan ang sinuman. Hindi ko naidagdag ang mga ito dahil ang aking mga motor ay hindi gaanong malaki at maikli ako sa mga diode: |

Hakbang 3: I-pin ang Mga Out

Mga Pin Out
Mga Pin Out

Ang TB6612FNG breakout board ay may isang napaka-convinient na pinout. Ang lahat ng mga output ng motor, input at koneksyon ng kuryente ay mahusay na naka-grupo para sa maximum na kadalian ng paggamit.

Gumawa ako ng isang paglalarawan ng mga pinout at kung paano ikonekta ang mga ito, inaasahan kong dumating ito sa madaling gamiting kapag kumokonekta sa lahat ng mga wires:)

Hakbang 4: Mga Skematika

Mga Skema
Mga Skema
Mga Skema
Mga Skema

Medyo bago ako sa paggamit ng Fritzing. Nahanap ko ang mga circuit skema mula sa Fritzing na medyo mahirap intindihin, ngunit ang view ng breadboard ay maginhawa para sa Mga Instructable. Huwag mag-atubiling magtanong ng anumang mga katanungan kung ang alinman sa mga koneksyon sa kawad ay mukhang nakalilito.

Hakbang 5: Pag-kable Nito

Kable It Up
Kable It Up

Wire ang lahat ayon sa mga eskematiko. Mayroong maraming mga wires, siguraduhin na i-double check pagkatapos ng bawat koneksyon.

Ginamit ko ang mga sumusunod na Arduino Pins para sa mga pag-input ng driver ng motor:

Motor Driver -> Arduino Pin Number

1) PWMA -> 5

2) INA1 -> 2

3) INA2 -> 4

4) PWMB -> 6

5) INB1 -> 7

6) INB2 -> 8

Mga bagay na maaaring magkamali sa hakbang na ito: 1) Huwag baligtarin ang polarity habang kumokonekta sa Vm at sa GND mula sa pinagmulan ng kuryente. Maaari mong iprito ang iyong driver ng motor.

2) Siguraduhing ikonekta ang PWMA at PWMB sa mga PWM na pin sa arduino.

3) Tandaan na ikonekta ang Arduino GND at ang GND mula sa driver ng motor kung gumagamit ka ng iba't ibang mapagkukunan ng kuryente para sa bawat isa.

Hakbang 6: Pag-download at Pag-install ng Library

I-download ang library mula sa pahina ng GitHub ng Sparkfun.

Kapag na-download mo na ang zip file, buksan ang iyong Arduino IDE.

Mula sa Sketch> Isama ang Library> Magdagdag ng. Zip Library, idagdag ang library na iyong na-download.

Kapag matagumpay na na-install, dapat itong ipakita sa File> Mga Halimbawa, bilang 'SparkFun TB6612FNG Motor Library'

Kung nagkakaproblema ka sa pag-download at pag-install ng Arduino Library, tingnan ang hakbang 5 ng itinuturo na ito.

Hakbang 7: Pagpapatakbo ng Halimbawa ng Code

Ngayon na handa na namin ang aming library, maaari naming i-upload ang halimbawa ng code upang subukan ito.

1) Buksan ang halimbawang 'MotorTestRun' mula sa 'Sparkfun TB6612FNG Motor Driver Library' na nakalista sa iyong mga aklatan.

Tandaan: Kung hindi ka gumagamit ng parehong mga numero ng pin tulad ng nabanggit sa hakbang 5, tiyaking baguhin ang mga kahulugan ng pin ayon sa iyong pag-set up.

2) Piliin ang iyong board mula sa board manager

3) I-upload ang iyong code at ang mga motor ay dapat magsimulang gumalaw

Kapag na-upload mo ang mga motor ay dapat magsimulang gumalaw. Kung hindi sila, suriin muli ang iyong mga kable.

Hakbang 8: Ipinaliwanag ang Library

Ngayon upang ipaliwanag kung paano gamitin ang library para sa iyong sariling piraso ng code.

Magsimula muna sa pag-import ng library at pagsisimula ng mga pin sa arduino

# isama

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

Upang mapasimulan ang iyong mga bagay sa motor, kailangan mong magtakda ng mga offset para sa bawat motor. Isipin kung gumagawa ka ng isang paunang utos sa iyong motor, at umiikot ito sa kabaligtaran. Maaari mong manu-manong i-rewire ito, o maaari mo lamang baguhin ang offset mula dito. Napakaliit na hack ng QoL na idinagdag ng SparkFun. Ang mga halaga ng mga offset na ito ay alinman sa 1 o -1.

Pagkatapos ay kailangan mong simulan ang bawat isa sa mga Motors na may mga sumusunod na parameter;

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);

At sa pamamagitan nito, tapos ka nang magpasimula sa library. Wala nang mga hakbang sa pag-andar ng pag-setup (), pinapatakbo lamang namin ang code sa pag-andar ng loop ().

Ang pamamaraan ng motor ay may mga sumusunod na pagpapaandar. Mag-tink sa paligid upang suriin silang lahat.

1).drive (halaga, oras)

Motor_name = pangalan ng iyong motor objectvalue = 255 hanggang -255; ang mga negatibong halagang magpapagalaw sa motor sa pabalik-balik = oras sa milliseconds

2). Preno ()

Ang pag-andar ng preno ay hindi kumukuha ng anumang mga argumento, preno ang mga motor.

3) preno (, <motor_name2)

Ang pag-andar ng preno ay tumatagal ng mga pangalan ng bagay ng motor bilang mga argumento. Preno ang mga motor na ipinasa sa pagpapaandar.

4) pasulong (,, oras) pasulong (,, bilis, oras)

Tumatanggap ang pagpapaandar ng dalawang pangalan ng motor object, opsyonal na bilis ng PWM at oras sa milliseconds at pinapatakbo ang motor sa direksyon sa unahan para sa lumipas na dami ng oras. Kung ang halaga ng bilis ay nasa negatibo, ang motor ay paatras. Ang default na bilis ay nakatakda sa 255.

5) pabalik (,, oras) pabalik (,, bilis, oras)

Tumatanggap ang pagpapaandar ng dalawang pangalan ng motor object, opsyonal na bilis ng PWM at oras sa milliseconds at pinapatakbo ang motor sa direksyon sa unahan para sa lumipas na dami ng oras. Kung ang halaga ng bilis ay nasa negatibo, ang motor ay magpapatuloy. Ang default na bilis ay nakatakda sa 255.

6) kaliwa (,, bilis) pakanan (,, bilis)

Tumatanggap ang pagpapaandar ng dalawang pangalan ng motor object at bilis. Ang pagkakasunud-sunod ng mga bagay na motor ay ipinasa bilang mga parameter ay mahalaga. Upang magmaneho ng mga solong motor, sa halip ay gamitin ang.drive ().

Inirerekumendang: