Search Code

Kiko awọn DC Motors pẹlu TB6612FNG ati Arduino

Kiko awọn DC Motors pẹlu TB6612FNG ati Arduino

Nínú ẹ̀kọ́ yìí, a óò kọ́ bí a ṣe ń ṣàkóso ìyára àti ìtọ́sọ́nà àwọn mọ́tọ̀ DC ní lílo ẹ̀rọ ìṣàkóso mọ́tọ̀ TB6612FNG. Ìtòlẹ́yọ yìí yóò jẹ́ kí a lé wakọ̀ mọ́tọ̀ méjì lọ́tàkọ̀ọ̀tà, tí yóò pèsè ọ̀nà tí ó wúlò láti kọ́ àwọn robot tí ń lò kẹ̀kẹ́ tàbí àwọn iṣẹ́ ẹ̀rọ. Ní àfikún, a óò ṣàwárí bí a ṣe ń lo Pulse Width Modulation (PWM) láti ṣàkóso ìyára mọ́tọ̀ kọ̀ọ̀kan ní pípé, tí yóò mú kí agbára ìṣísẹ̀ iṣẹ́ rẹ pọ̀ sí i.

TB6612FNG_motor_driver-0

Nínú gbogbo ìtọ́sọ́nà yìí, a óò lo bọ́ọ̀dù Arduino pẹ̀lú bọ́ọ̀dù TB6612FNG àti àwọn mọ́tọ̀ DC méjì. TB6612FNG jẹ́ ìmúṣẹ̀ tó pọ̀ lọ́pọ̀lọpọ̀ ju àwọn ẹ̀rọ ìṣàkóso àtijọ́ bíi L298N nítorí pé ó ń lo MOSFET tí ó ní agbára gíga. Èyí wúlò pàtàkì ní àwọn ohun èlò tí ń lo bátì níbi tí agbára àti ìmúdúró ti ṣe pàtàkì, nítorí pé ẹ̀rọ yìí ń fi agbára púpọ̀ sí àwọn mọ́tọ̀ láìgbóná ju bí ó ti yẹ tàbí láìní heatsink ńlá.

Fún ìṣàlàyé síwájú sí i lórí ìtòlẹ́yọ àti ìṣètò, rí i pé o wo fídíò tó bá a lọ ní (nínú fídíò ní 00:00).

Àwọn Ẹ̀yà Tí A Ṣàlàyé

Àwọn ẹ̀yà pàtàkì nínú iṣẹ́ yìí ní TB6612FNG motor driver, microcontroller (Arduino), àti àwọn mọ́tọ̀ DC méjì. Ẹ̀rọ ìṣàkóso TB6612FNG ń gba àwọn àmì ìṣàkóso tí kò ní agbára púpọ̀ láti ọ̀dọ̀ Arduino, ó sì ń lo wọ́n láti yí agbára tó pọ̀ láti inú bátì padà sí àwọn mọ́tọ̀. Ó sábà máa ń ní àwọn pin pàtàkì fún agbára ìṣàkóso, agbára mọ́tọ̀, ìṣàkóso ìtọ́sọ́nà (AIN1, AIN2, BIN1, BIN2), àti ìṣàkóso ìyára (PWMA, PWMB).

TB6612FNG_motor_driver-3

Àwọn mọ́tọ̀ DC ń gba agbára tí a ti ṣàtúnṣe láti àwọn pin ìjàde ẹ̀rọ náà (A01/A02 àti B01/B02) láti yí. Pin standby (STBY) ń ṣiṣẹ́ bíi kọ́ńkà pàtàkì, tí ó pèsè ọ̀nà yára láti pa àwọn mọ́tọ̀ náà, tí ó sì ń fi ẹ̀rọ náà sínú ipò oorun tí kò ní agbára. Ẹ̀yà kọ̀ọ̀kan ṣe ipa pàtàkì nínú rírí i pé ètò ìṣísẹ̀ náà ń ṣiṣẹ́ dáradára àti pẹ̀lú ìmúdúró.

Àwọn Àlàyé Láti Inú Datasheet

Olùṣe

Toshiba (IC) / Oríṣiríṣi (Module)

Nọ́mbà ẹ̀yà

TB6612FNG

Fóltì àmì/IO

2.7 V sí 5.5 V

Fóltì ìpèsè (VM)

2.7 V sí 15 V

Ìyọ agbára (fún ikanni kọ̀ọ̀kan)

1.2 A lọ́nà tí ń bá a lọ

Ìyọ agbára tó ga jù (fún ikanni kọ̀ọ̀kan)

3.2 A

Ìtọ́sọ́nà ìgbohùnsáfẹ́fẹ́ PWM

Títí di 100 kHz

Àwọn ìwọ̀n àmì ìṣàkóso

Gíga: > 2.0V, Rẹ̀lẹ̀: < 0.8V (ní 5V VCC)

Ìrọ̀ fóltì / RDS(on) / ìkún

0.5 Ω (ní gbogbo ìgbà)

Àwọn ìwọ̀n ooru

Ìṣètò ìparun ooru tí a kọ́ sínú rẹ̀

Ìpako

SSOP24 / Bọ́ọ̀dù Ìṣàkóso

Àwọn àkíyèsí / àwọn oríṣiríṣi

Ó rọ́pò L298N pẹ̀lú ìmúdúró tó ga lọ́pọ̀lọpọ̀.

 

  • Rí i pé àwọn ìwọ̀n fóltì tó tọ́ wà (fi VCC bá Arduino 5V tàbí ESP32 3.3V mu).

  • Pèsè ìpèsè agbára bátì ọ̀tọ̀ọ̀tọ̀ fún pin VM (Agbára Mọ́tọ̀).

  • Ṣọ́ra láti so gbogbo àwọn ilẹ̀ (bátì, Arduino, àti module) pọ̀ láti ṣègbọ́dọ̀gbọ́n sí ìwà tí kò dúró.

  • Dán àwọn ìsopọ̀ wò kí o tó fi agbára sí i láti ṣègbọ́dọ̀gbọ́n sí ìsopọ̀ kúkurú.

  • Máa fa pin STBY sí gíga nígbà gbogbo, bí bẹ́ẹ̀ kọ́ àwọn mọ́tọ̀ kò ní ṣiṣẹ́.

Àwọn Ìtọ́sọ́nà Ìsopọ̀

Bẹ̀rẹ̀ nípa sísopọ̀ agbára àti ilẹ̀ fún gbogbo àwọn ẹ̀yà. So ilẹ̀ láti ọ̀dọ̀ Arduino rẹ sí ọ̀nà tí kò ní agbára (negative rail) ti breadboard rẹ. Lẹ́yìn náà, so ọ̀nà tí ó ní agbára (positive lead) ti bátì òde rẹ sí pin VM lórí ẹ̀rọ ìṣàkóso mọ́tọ̀, àti pin 5V ti Arduino sí pin VCC lórí ẹ̀rọ náà.

Ní èkejì, so àwọn ìṣàkóso àmì: so AIN1 sí pin onímọ̀ 2 lórí Arduino, AIN2 sí pin onímọ̀ 4, àti PWMA sí pin tí ó lè gba PWM, bíi pin onímọ̀ 5. Fún mọ́tọ̀ kejì, so BIN1 sí 7, BIN2 sí 8, àti PWMB sí pin 6. Rí i pé o so pin STBY sí pin onímọ̀ 9.

Fún ìjàde sí àwọn mọ́tọ̀, so àwọn ọ̀nà méjì ti mọ́tọ̀ DC àkọ́kọ́ rẹ sí A01 àti A02. So mọ́tọ̀ DC kejì rẹ sí B01 àti B02. Ṣàyẹ̀wò lẹ́ẹ̀mejì pé gbogbo àwọn ilẹ̀ pínpín lórí ọ̀nà ilẹ̀ kan náà.

TB6612FNG_motor_driver-1

Àwọn Àpẹẹrẹ Kóòdù & Ìṣàlàyé

Ẹ jẹ́ kí a wo àwọn ìdámọ̀ pàtàkì àti àwọn ẹ̀yà kóòdù tí a lò nínú iṣẹ́ yìí. Apá àkọ́kọ́ ti kóòdù náà ń bẹ̀rẹ̀ àwọn pin fún ìṣàkóso ìtọ́sọ́nà, ìyára, àti standby:

const int AIN1 = 2;const int AIN2 = 4;const int PWMA = 5;const int STBY = 9;

Níhìn-ín, AIN1 àti AIN2 ni a yàn láti ṣàkóso ìtọ́sọ́nà Mọ́tọ̀ A, nígbà tí PWMA yóò jẹ́ lílò fún ìṣàkóso ìyára nípa PWM. STBY jẹ́ kí Arduino jí ẹ̀rọ náà tàbí kí ó sì fi í sùn.

Ní èkejì, ìṣiṣẹ́ ìtòlẹ́yọ (setup function) ṣètò àwọn pin wọ̀nyí gẹ́gẹ́ bí àwọn ìjàde, ó sì mú kí ẹ̀rọ náà ṣiṣẹ́:

void setup() {  pinMode(AIN1, OUTPUT);  pinMode(AIN2, OUTPUT);  pinMode(PWMA, OUTPUT);  pinMode(STBY, OUTPUT);    // Mu ṣiṣẹ awakọ mọtọ naa  digitalWrite(STBY, HIGH);}

Awọn aṣẹ pinMode() ṣeto awọn pinni si ipo iṣelọpọ. Ṣiṣeto STBY si HIGH ṣe idaniloju pe TB6612FNG n ṣiṣẹ ati pe o ti ṣetan lati gba awọn aṣẹ.

Ninu iṣẹ lupu, a paṣẹ fun mọtọ lati yiyi siwaju ni iyara kikun, duro, ati lẹhinna yiyipada:

void loop() {  // Siwaju ni iyara kikun  digitalWrite(AIN1, HIGH);  digitalWrite(AIN2, LOW);  analogWrite(PWMA, 255);  delay(2000);  // Duro (Coast)  digitalWrite(AIN1, LOW);  digitalWrite(AIN2, LOW);  analogWrite(PWMA, 0);  delay(1000);}

Nibi, ṣiṣeto AIN1 si HIGH ati AIN2 si LOW sọ fun H-bridge inu lati ti lọwọ lọwọ ni ọna kan. analogWrite(PWMA, 255) lo iyara ti o pọju. Lati duro, a fa awọn pinni itọsọna mejeeji si LOW.

Fun awọn alaye siwaju sii ati koodu pipe ti o ni iṣakoso mọtọ meji ati awọn iṣẹ aṣa, jọwọ tọka si eto kikun ti a gbe kalẹ ni isalẹ nkan naa.

Ifihan / Ohun ti O Ṣe Reti

Ni kete ti okun waya ba ti pari ati pe a ti gbe koodu soke, o yẹ ki o rii mọtọ ti o yiyi siwaju fun iṣẹju-aaya meji, duro fun iṣẹju-aaya kan, ati tun ṣe iyipo naa (ti o ba ṣafikun ọgbọn yiyipada, yoo yiyi sẹhin nigbamii). Rii daju pe mọtọ dahun daradara si awọn ifihan agbara PWM; ti o ba yiyi sẹhin nigbati o reti pe o yoo lọ siwaju, kan paarọ awọn okun waya ti a ti sopọ si A01 ati A02 (ninu fidio ni 12:30).

Awọn ipanilara ti o wọpọ pẹlu gbagbe lati fa pinni STBY si HIGH, tabi igbiyanju lati fi agbara awọn mọtọ taara lati pinni 5V ti Arduino dipo batiri iyasọtọ lori pinni VM, eyiti o le fa ki Arduino tun ṣe labẹ ẹru nla. Rii daju pe o ṣayẹwo awọn orisun agbara rẹ ati awọn ilẹ pinpin.

Aworan

TB6612FNG_motor_driver-4
TB6612FNG_motor_driver-4
TB6612FNG_motor_driver-3
TB6612FNG_motor_driver-3
TB6612FNG_motor_driver-2
TB6612FNG_motor_driver-2
TB6612FNG_motor_driver-1
TB6612FNG_motor_driver-1
TB6612FNG_motor_driver-0
TB6612FNG_motor_driver-0
Please provide the text you would like to have translated.

Orisun & itọkasi

Ko si awọn orisun sibẹsibẹ.

Fáìlìs📁

Fọọmu data (pdf)