د موټرو کنټرول د TB6612FNG او Arduino سره
په دې ټیوټوریل کې به موږ زده کړو چې څنګه د TB6612FNG موټر ډرایور ماډل په کارولو سره د DC موټرونو سرعت او لوری کنټرول کړو. دا تنظیم به موږ ته اجازه راکړي چې دوه موټرونه په خپلواکه توګه پرمخ یوسو، چې د څرخ لرونکو روبوټونو یا میخانیکي پروژو د جوړولو لپاره عملي لار برابروي. سربېره پر دې، موږ به وپلټو چې څنګه د پلنډ پلنوالی ماډولیشن (PWM) په کارولو سره د هر موټر سرعت په دقیق ډول کنټرول کړو، چې ستاسو د پروژې د حرکت وړتیاوې به لوړې کړي.
د دې لارښود په اوږدو کې به موږ د Arduino بورډ د TB6612FNG بریک آوټ بورډ او دوه DC ګیر موټرونو سره یوځای وکاروو. TB6612FNG د زړو بایپولر ډرایورونو لکه L298N په پرتله لوی پرمختګ دی ځکه چې دا لوړ موثریت لرونکي MOSFETs کاروي. دا په ځانګړي ډول د بیټرۍ په واسطه چلېدونکو غوښتنلیکونو کې ګټور دی چیرې چې دوام او د بریښنا موثریت ته اړتیا وي، ځکه چې دا ډرایور موټرونو ته ډیر ځواک رسوي پرته له دې چې ډیر ګرم شي یا لوی هیټ سینک ته اړتیا ولري.
د تنظیم او پروګرام کولو په اړه د نورو روښانتیا لپاره، ډاډ ترلاسه کړئ چې اړونده ویډیو په (په ویډیو کې په 00:00) کې وګورئ.
هارډویر تشریح شوی
په دې پروژه کې لومړني اجزا د TB6612FNG موټر ډرایور، یو مایکروکنټرولر (Arduino)، او دوه DC موټرونه شامل دي. د TB6612FNG ډرایور د Arduino څخه ټیټ کرنټ منطقي سیګنالونه اخلي او د بیټرۍ څخه لوړ کرنټ ځواک موټرونو ته د لیږدولو لپاره یې کاروي. دا معمولا د منطقي ځواک، د موټر ځواک، د لوري کنټرول (AIN1، AIN2، BIN1، BIN2)، او د سرعت کنټرول (PWMA، PWMB) لپاره ځانګړي پنونه لري.
DC موټرونه د ډرایور د آوټ پټ پنونو (A01/A02 او B01/B02) څخه تعدیل شوی ځواک ترلاسه کوي ترڅو وګرځي. د سټنډبای پن (STBY) د ماسټر سویچ په توګه کار کوي، چې د موټرونو د غیر فعالولو او چپ د ټیټ ځواک خوب حالت ته د اچولو لپاره چټکه لار برابروي. هر جزء د دې ډاډ ترلاسه کولو کې مهم رول لوبوي چې د ډرایو سیسټم په اسانۍ او موثریت سره کار وکړي.
ډیټاشیټ تفصیلات
|
جوړونکی |
Toshiba (IC) / مختلف (ماډل) |
|---|---|
|
د پرزې شمېره |
TB6612FNG |
|
منطقي/IO ولټاژ |
2.7 V څخه تر 5.5 V |
|
د برېښنا رسولو ولټاژ (VM) |
2.7 V څخه تر 15 V |
|
د آوټ پټ کرنټ (په هر چینل) |
1.2 A دوامداره |
|
د لوړ کرنټ (په هر چینل) |
3.2 A |
|
د PWM فریکونسي لارښود |
تر 100 kHz پورې |
|
د انپټ منطقي حدونه |
لوړ: > 2.0V، ټیټ: < 0.8V (په 5V VCC کې) |
|
د ولټاژ کمښت / RDS(on) / سنتریشن |
0.5 Ω (عادي) |
|
حرارتي محدودیتونه |
د حرارتي بندیدو سرکټ جوړ شوی |
|
بسته بندي |
SSOP24 / بریک آوټ بورډ |
|
یادښتونه / بڼې |
د L298N ځای په ډیر لوړ موثریت سره نیسي. |
-
د ولټاژ کچې سمه یقیني کړئ (VCC ستاسو د Arduino 5V یا ESP32 3.3V سره سمون ورکړئ).
-
د VM (د موټر ځواک) پن لپاره جلا بیټرۍ برېښنا رسول چمتو کړئ.
-
احتیاط وکړئ چې ټول ځمکې (بیټرۍ، Arduino، او ماډل) سره وتړئ ترڅو د بې نظمۍ چلند مخه ونیول شي.
-
د برېښنا رسولو دمخه اړیکې وازموئ ترڅو د لنډ سرکټ مخه ونیول شي.
-
تل د STBY پن لوړ کش کړئ، یا موټرونه به ونه ګرځي.
د تارونو د نښلولو لارښوونې
د ټولو اجزاوو لپاره د برېښنا او ځمکې په نښلولو سره پیل وکړئ. د خپل Arduino ځمکه د خپل بریډبورډ منفي ریل سره وصل کړئ. بیا، د خپل خارجي بیټرۍ مثبت لیډ د موټر ډرایور VM پن سره وصل کړئ، او د Arduino 5V پن د ډرایور VCC پن سره وصل کړئ.
بیا، منطقي انپټونه تار کړئ: AIN1 د Arduino په ډیجیټل پن 2 سره وصل کړئ، AIN2 د ډیجیټل پن 4 سره، او PWMA د PWM وړ پن سره، لکه ډیجیټل پن 5. د دوهم موټر لپاره، BIN1 د 7 سره، BIN2 د 8 سره، او PWMB د پن 6 سره وصل کړئ. ډاډ ترلاسه کړئ چې د STBY پن د ډیجیټل پن 9 سره وصل کړئ.
د موټرونو آوټ پټ لپاره، د خپل لومړي DC موټر دوه ترمینلونه A01 او A02 سره وصل کړئ. خپل دوهم DC موټر B01 او B02 سره وصل کړئ. دوه ځله وګورئ چې ټولې ځمکې په عام ځمکني ریل کې شریکې دي.
د کوډ مثالونه او واک ترو
راځئ چې په پروژه کې کارول شوي ځینې مهم پیژندونکي او د کوډ ټوټې وګورو. د کوډ لومړۍ برخه د لوري کنټرول، سرعت، او سټنډبای لپاره پنونه پیل کوي:
const int AIN1 = 2;const int AIN2 = 4;const int PWMA = 5;const int STBY = 9;
دلته، AIN1 او AIN2 د موټر A د لوري کنټرول لپاره ټاکل شوي، پداسې حال کې چې PWMA به د PWM له لارې د سرعت کنټرول لپاره وکارول شي. STBY Arduino ته اجازه ورکوي چې چپ راویښ کړي یا یې خوب ته واچوي.
بیا، د سیٹ اپ فنکشن دا پنونه د آوټ پټ په توګه تنظیموي او چپ فعالوي:
void setup() { pinMode(AIN1, OUTPUT); pinMode(AIN2, OUTPUT); pinMode(PWMA, OUTPUT); pinMode(STBY, OUTPUT); // د موټر چلوونکی فعال کړئ digitalWrite(STBY, HIGH);}
د pinMode() کمانډونه پنونه د محصول حالت ته ټاکي. د STBY لوړ (HIGH) ټاکل ډاډ ورکوي چې TB6612FNG فعال دی او د کمانډونو د ترلاسه کولو لپاره چمتو دی.
د لوپ فنکشن کې، موږ موټر ته امر کوو چې په بشپړ سرعت سره مخ ته وګرځي، ودریږي، او بیا شاته:
void loop() { // په بشپړ سرعت سره مخ ته digitalWrite(AIN1, HIGH); digitalWrite(AIN2, LOW); analogWrite(PWMA, 255); delay(2000); // ودرول (کوسټ) digitalWrite(AIN1, LOW); digitalWrite(AIN2, LOW); analogWrite(PWMA, 0); delay(1000);}
دلته، د AIN1 لوړ (HIGH) او AIN2 ټیټ (LOW) ټاکل داخلي H-پل ته وایي چې جریان په یوه لوري کې فشار کړي. analogWrite(PWMA, 255) اعظمي سرعت پلي کوي. د ودرولو لپاره، موږ دواړه لوري پنونه ټیټ (LOW) کشو.
د نورو جزیاتو او بشپړ کوډ لپاره چې د دوه موټرو کنټرول او دودیز فنکشنونه لري، مهرباني وکړئ د مقالې لاندې بار شوي بشپړ پروګرام ته مراجعه وکړئ.
ښودنه / څه تمه وکړئ
یوځل چې تارونه بشپړ شي او کوډ پورته شي، تاسو باید وګورئ چې موټر د دوو ثانیو لپاره مخ ته ګرځي، د یوې ثانیې لپاره ودریږي، او دوره تکرار کړي (که تاسو د شاته ګرځولو منطق اضافه کړی وي، نو بل ځل به شاته وګرځي). ډاډ ترلاسه کړئ چې موټر د PWM سیګنالونو ته په سمه توګه ځواب ورکوي؛ که دا شاته وګرځي کله چې تاسو تمه لرئ مخ ته لاړ شي، په ساده ډول هغه تارونه بدل کړئ چې A01 او A02 سره نښلول شوي (په ویډیو کې په 12:30 کې).
عامې ستونزې د STBY پن لوړ (HIGH) کشول هېرول، یا د موټرو مستقیم د Arduino د 5V پن څخه ځواک ورکول شامل دي پرته له دې چې په VM پن کې جلا بیټرۍ وکارول شي، کوم چې کولی شي د درنو بارونو لاندې د Arduino د بیا پیل لامل شي. ډاډ ترلاسه کړئ چې خپل بریښنا سرچینې او شریکې ځمکې دوه ځله وګورئ.
Things you might need
-
Amazon
-
AmazonBuy TB6612FNG or DRV8833 motor driver board from AliExpresss.click.aliexpress.com
Resources & references
No resources yet.
Files📁
Datasheet (pdf)
-
motor driver TB6612FNG datasheet
motor_driver_TB6612FNG_datasheet.pdf0.20 MB