የDC ሞተሮችን ከTB6612FNG እና Arduino ጋር መቆጣጠር
በዚህ ትምህርት ውስጥ፣ የቲቢ6612ኤፍኤንጂ ሞተር ሾፌር ሞጁልን በመጠቀም የዲሲ ሞተሮችን ፍጥነት እና አቅጣጫ እንዴት መቆጣጠር እንደምንችል እንማራለን። ይህ ዝግጅት ሁለት ሞተሮችን በተናጥል እንድንነዳ ያስችለናል፣ ይህም ተሽከርካሪ ያላቸው ሮቦቶችን ወይም ሜካናይዝድ ፕሮጀክቶችን ለመገንባት ተግባራዊ መንገድ ይሰጣል። በተጨማሪም፣ የ Pulse Width Modulation (PWM) በመጠቀም የእ প্রতিটি ሞተርን ፍጥነት በትክክል እንዴት መቆጣጠር እንደምንችል እንመረምራለን፣ ይህም የፕሮጀክትዎን የመንቀሳቀስ አቅም ያሳድጋል።
በዚህ መመሪያ ውስጥ፣ ከቲቢ6612ኤፍኤንጂ breakout ቦርድ እና ሁለት የዲሲ ጊር ሞተሮች ጋር አርዱኢኖ ቦርድ እንጠቀማለን። ቲቢ6612ኤፍኤንጂ እንደ L298N ካሉ አሮጌ ባይፖላር ሾፌሮች ትልቅ ማሻሻያ ነው ምክንያቱም ከፍተኛ ብቃት ያላቸውን MOSFETዎች ይጠቀማል። ይህ በተለይ ጥንካሬ እና የኃይል ብቃት በሚያስፈልግባቸው በባትሪ በሚሰሩ አፕሊኬሽኖች ውስጥ ጠቃሚ ነው፣ ምክንያቱም ይህ ሾፌር ያለ ከፍተኛ ሙቀት ወይም ትልቅ የሙቀት መስጫ (heatsink) ሳያስፈልገው ለሞተሮቹ የበለጠ ኃይል ያቀርባል።
ስለ ዝግጅቱ እና ፕሮግራሚንግ ተጨማሪ ማብራሪያ ለማግኘት፣ ተያያዥውን ቪዲዮ በ (በቪዲዮው 00:00 ላይ) መመልከትዎን ያረጋግጡ።
ሃርድዌር ተብራርቷል
በዚህ ፕሮጀክት ውስጥ ዋና ዋና ክፍሎች የቲቢ6612ኤፍኤንጂ ሞተር ሾፌር፣ ማይክሮኮንትሮለር (አርዱኢኖ) እና ሁለት የዲሲ ሞተሮች ያካትታሉ። የቲቢ6612ኤፍኤንጂ ሾፌር ከአርዱኢኖ ዝቅተኛ የኤሌክትሪክ ሲግናሎችን ወስዶ ከባትሪ ወደ ሞተሮቹ ከፍተኛ የኤሌክትሪክ ኃይልን ለመቀየር ይጠቀምባቸዋል። በተለምዶ ለሎጂክ ኃይል፣ ለሞተር ኃይል፣ ለአቅጣጫ ቁጥጥር (AIN1፣ AIN2፣ BIN1፣ BIN2) እና ለፍጥነት ቁጥጥር (PWMA፣ PWMB) የተወሰኑ ፒኖች አሉት።
የዲሲ ሞተሮቹ ከሾፌሩ የውጤት ፒኖች (A01/A02 እና B01/B02) የተስተካከለውን ኃይል ተቀብለው ይሽከረከራሉ። የ standby ፒን (STBY) እንደ ዋና ማብሪያ / ማጥፊያ ሆኖ ይሰራል፣ ሞተሮቹን ለማጥፋት እና ቺፑን ወደ ዝቅተኛ የኃይል እንቅልፍ ሁኔታ ለማስገባት ፈጣን መንገድ ይሰጣል። እያንዳንዱ ክፍል የመንዳት ስርዓቱ በተቀላጠፈ እና በብቃት እንዲሰራ ለማድረግ ወሳኝ ሚና ይጫወታል።
የዳታሼት ዝርዝሮች
|
አምራች |
ቶሺባ (IC) / የተለያዩ (ሞጁል) |
|---|---|
|
የክፍል ቁጥር |
TB6612FNG |
|
የሎጂክ/IO ቮልቴጅ |
2.7 ቪ እስከ 5.5 ቪ |
|
የአቅርቦት ቮልቴጅ (VM) |
2.7 ቪ እስከ 15 ቪ |
|
የውጤት ኤሌክትሪክ (በአንድ ቻናል) |
1.2 ኤ ቀጣይነት ያለው |
|
ከፍተኛ ኤሌክትሪክ (በአንድ ቻናል) |
3.2 ኤ |
|
የPWM ድግግሞሽ መመሪያ |
እስከ 100 kHz |
|
የግቤት ሎጂክ ገደቦች |
ከፍተኛ፡ > 2.0ቪ፣ ዝቅተኛ፡ < 0.8ቪ (በ5ቪ VCC) |
|
የቮልቴጅ ጠብታ / RDS(on) / ሳቹሬሽን |
0.5 Ω (በተለምዶ) |
|
የሙቀት ገደቦች |
አብሮ የተሰራ የሙቀት መዝጊያ ዑደት |
|
ፓኬጅ |
SSOP24 / Breakout ቦርድ |
|
ማስታወሻዎች / ልዩነቶች |
L298Nን በጣም ከፍተኛ ብቃት ባለው ይተካል። |
-
ትክክለኛ የቮልቴጅ ደረጃዎችን ያረጋግጡ (VCCን ከአርዱኢኖዎ 5ቪ ወይም ከESP32 3.3ቪ ጋር ያዛምዱ)።
-
ለVM (የሞተር ኃይል) ፒን የተለየ የባትሪ ኃይል አቅርቦት ያቅርቡ።
-
ሁሉንም የመሬት (ground) ግንኙነቶች (ባትሪ፣ አርዱኢኖ እና ሞጁል) አንድ ላይ ለማሰር ይጠንቀቁ ያልተጠበቀ ባህሪን ለመከላከል።
-
የኤሌክትሪክ አጭር ዑደትን ለመከላከል ከማብራትዎ በፊት ግንኙነቶችን ይፈትሹ።
-
ሁልጊዜ የSTBY ፒንን ወደ ከፍተኛ (HIGH) ያድርጉት፣ አለበለዚያ ሞተሮቹ አይሰሩም።
የወልና (Wiring) መመሪያዎች
ለመጀመር ለሁሉም ክፍሎች የኃይል እና የመሬት ግንኙነት ያድርጉ። ከአርዱኢኖዎ የመሬት ግንኙነትን ከብሬድቦርድዎ አሉታዊ ሐዲድ ጋር ያገናኙ። ከዚያም የውጭ ባትሪዎን አወንታዊ ገመድ በሞተር ሾፌሩ ላይ ካለው VM ፒን ጋር ያገናኙ፣ እና የአርዱኢኖውን 5ቪ ፒን በሾፌሩ ላይ ካለው VCC ፒን ጋር ያገናኙ።
በመቀጠል፣ የሎጂክ ግቤቶችን ያገናኙ፡ AIN1ን ከዲጂታል ፒን 2 ጋር በአርዱኢኖ ላይ፣ AIN2ን ከዲጂታል ፒን 4 ጋር፣ እና PWMAን ከPWM አቅም ካለው ፒን ጋር፣ ለምሳሌ ዲጂታል ፒን 5 ያገናኙ። ለሁለተኛው ሞተር፣ BIN1ን ከ7 ጋር፣ BIN2ን ከ8 ጋር፣ እና PWMBን ከፒን 6 ጋር ያገናኙ። የSTBY ፒንን ከዲጂታል ፒን 9 ጋር ማገናኘትዎን ያረጋግጡ።
ለሞተሮቹ ውጤት፣ የመጀመሪያውን የዲሲ ሞተርዎን ሁለት ተርሚናሎች ከA01 እና A02 ጋር ያገናኙ። ሁለተኛውን የዲሲ ሞተርዎን ከB01 እና B02 ጋር ያገናኙ። ሁሉም የመሬት ግንኙነቶች በጋራ የመሬት ሐዲድ ላይ መጋራታቸውን በድጋሚ ያረጋግጡ።
የኮድ ምሳሌዎች እና ማብራሪያ
በፕሮጀክቱ ውስጥ ጥቅም ላይ የዋሉ አንዳንድ ቁልፍ መለያዎችን እና የኮድ ቁርጥራጮችን እንመልከት። የኮዱ የመጀመሪያ ክፍል ለአቅጣጫ ቁጥጥር፣ ፍጥነት እና standby ፒኖችን ያስጀምራል፡
const int AIN1 = 2;const int AIN2 = 4;const int PWMA = 5;const int STBY = 9;
እዚህ፣ AIN1 እና AIN2 የሞተር ኤን አቅጣጫን ለመቆጣጠር ተመድበዋል፣ PWMA ደግሞ በPWM በኩል ለፍጥነት ቁጥጥር ጥቅም ላይ ይውላል። STBY አርዱኢኖው ቺፑን እንዲያነቃቃ ወይም እንዲያንቀላፋ ያስችለዋል።
በመቀጠል፣ የsetup ተግባር እነዚህን ፒኖች እንደ ውጤቶች ያዋቅራል እና ቺፑን ያነቃቃል፡
void setup() { pinMode(AIN1, OUTPUT); pinMode(AIN2, OUTPUT); pinMode(PWMA, OUTPUT); pinMode(STBY, OUTPUT); // የሞተር ሾፌሩን አንቃ digitalWrite(STBY, HIGH);}
የpinMode() ትዕዛዞች ፒኖቹን ወደ ውጤት ሁነታ ያዘጋጃሉ። STBYን ወደ HIGH ማዘጋጀት TB6612FNG ንቁ እና ትዕዛዞችን ለመቀበል ዝግጁ መሆኑን ያረጋግጣል።
በ loop ተግባር ውስጥ፣ ሞተሩን በሙሉ ፍጥነት ወደፊት እንዲሽከረከር፣ እንዲቆም እና ከዚያም ወደ ኋላ እንዲሽከረከር እናዝዛለን፦
void loop() { // በሙሉ ፍጥነት ወደፊት digitalWrite(AIN1, HIGH); digitalWrite(AIN2, LOW); analogWrite(PWMA, 255); delay(2000); // አቁም (Coast) digitalWrite(AIN1, LOW); digitalWrite(AIN2, LOW); analogWrite(PWMA, 0); delay(1000);}
እዚህ፣ AIN1ን ወደ HIGH እና AIN2ን ወደ LOW ማዘጋጀት ውስጣዊው H-bridge ጅረትን ወደ አንድ አቅጣጫ እንዲገፋ ይነግረዋል። analogWrite(PWMA, 255) ከፍተኛውን ፍጥነት ይተግብራል። ለማቆም፣ ሁለቱንም አቅጣጫ ፒኖች ወደ LOW እንጎትታለን።
ለተጨማሪ ዝርዝሮች እና የሁለት ሞተር ቁጥጥር እና ብጁ ተግባራትን የሚያካትት ሙሉ ኮድ፣ እባክዎ ከጽሑፉ በታች የተጫነውን ሙሉ ፕሮግራም ይመልከቱ።
ማሳያ / ምን እንደሚጠበቅ
ሽቦው ከተጠናቀቀ እና ኮዱ ከተጫነ በኋላ፣ ሞተሩ ለሁለት ሰከንድ ወደፊት ሲሽከረከር፣ ለአንድ ሰከንድ ሲቆም እና ዑደቱን ሲደግም ማየት ይኖርብዎታል (የተገላቢጦሽ አመክንዮ ካከሉ፣ በመቀጠል ወደ ኋላ ይሽከረከራል)። ሞተሩ ለ PWM ምልክቶች በትክክል ምላሽ መስጠቱን ያረጋግጡ፤ ወደፊት እንዲሄድ ሲጠበቅ ወደ ኋላ ቢሽከረከር፣ ከ A01 እና A02 ጋር የተገናኙትን ሽቦዎች በቀላሉ ይቀይሩ (በቪዲዮው 12፡30 ላይ)።
የተለመዱ ወጥመዶች STBY ፒን ወደ HIGH መጎተት መርሳት፣ ወይም ሞተሮቹን በ VM ፒን ላይ ከተወሰነ ባትሪ ይልቅ በቀጥታ ከ Arduino 5V ፒን ለማብራት መሞከርን ያካትታሉ፣ ይህም በከባድ ጭነት ጊዜ Arduino እንዲቀየር ሊያደርግ ይችላል። የኃይል ምንጮችዎን እና የጋራ መሬቶችን በእጥፍ መፈተሽዎን ያረጋግጡ።
እንደሚያስፈልግዎት ይችላል
-
አማዞን
-
አማዞንBuy TB6612FNG or DRV8833 motor driver board from AliExpresss.click.aliexpress.com
ምንጮች እና ምንጮች
አሁን ምንም ምንጮች የለም።
ፋይሎች📁
የዳታ ማዕከል (pdf)
-
motor driver TB6612FNG datasheet
motor_driver_TB6612FNG_datasheet.pdf0.20 MB