የ28BYJ-48 ስቴፐር ሞተርን ከULN2003 ድራይቨር እና አርዱኢኖ ጋር መጠቀም
በዚህ ትምህርት ውስጥ፣ 28BYJ-48 እርከን ሞተርን በULN2003 ሾፌር ከአርዱኖ ጋር እንዴት መቆጣጠር እንደምንችል እንማራለን። ይህ ዝግጅት የሞተሩን አቀማመጥ እና ፍጥነት በትክክል ለመቆጣጠር ያስችላል። በዚህ ፕሮጀክት መጨረሻ ላይ፣ ሞተሩን በሁለቱም አቅጣጫዎች ማሽከርከር እና እርምጃዎቹን በብቃት መቆጣጠር ይችላሉ።
28BYJ-48 እርከን ሞተርን እንጠቀማለን፣ ይህም በዝቅተኛ ዋጋ እና በአጠቃቀም ቀላልነት ምክንያት ለተለያዩ የሮቦቲክስ እና አውቶሜሽን ፕሮጀክቶች ተወዳጅ ምርጫ ነው። ULN2003 ሾፌር ቦርድ እርከን ሞተሩን ከአርዱኖ ጋር ያገናኛል፣ ይህም የሞተሩን እንቅስቃሴ የሚቆጣጠሩ የእርምጃ ምልክቶችን እንድንልክ ያስችለናል። ይህ ትምህርት ሞተርዎን ለማሽከርከር አስፈላጊውን የሽቦ አያያዥነት እና ኮድ ይመራዎታል።
ለተጨማሪ ማብራሪያ፣ እባክዎ ከዚህ ትምህርት ጋር የተያያዘውን ቪዲዮ ይመልከቱ (በቪዲዮው 0:45 ላይ)።
ሃርድዌር ተብራርቷል
የዚህ ፕሮጀክት ቁልፍ ክፍሎች 28BYJ-48 እርከን ሞተር እና ULN2003 ሾፌር ቦርድ ያካትታሉ። እርከን ሞተሩ ሽክርክሪት ለመፍጠር በተወሰነ ቅደም ተከተል ሊሞሉ የሚችሉ በርካታ ጠመዝማዛዎችን ያካትታል። ULN2003 ሾፌሩ እንደ መቀየሪያ ይሠራል፣ ይህም አርዱኖ ለእያንዳንዱ ጠመዝማዛ የሚሰጠውን ኃይል እንዲቆጣጠር ያስችለዋል።
ULN2003 ሾፌሩ በእርከን ሞተሩ የሚፈለገውን ከፍተኛ ጅረት ለማስተናገድ የዳርሊንግተን ትራንዚስተር ድርድር ይጠቀማል። ከአርዱኖ የሚወጣ ፒን ከፍተኛ ምልክት ሲሰጥ፣ ጅረቱ በሞተሩ ውስጥ ወደ ተጓዳኝ ጠመዝማዛ እንዲፈስ ያደርጋል፣ ይህም እንዲንቀሳቀስ ያደርገዋል። ይህ የሞተሩን የመዞሪያ አንግል እና ፍጥነት በትክክል ለመቆጣጠር ያስችላል።
የዳታሺት ዝርዝሮች
| አምራች | ULN2003 |
|---|---|
| የክፍል ቁጥር | ULN2003 |
| የሎጂክ/IO ቮልቴጅ | 5 ቪ |
| የአቅርቦት ቮልቴጅ | 5–30 ቪ (ከፍተኛ) |
| የውጤት ጅረት (በአንድ ቻናል) | 500 ሚኤ ከፍተኛ |
| ከፍተኛ ጅረት (በአንድ ቻናል) | 2 ኤ ከፍተኛ |
| የPWM ድግግሞሽ መመሪያ | የለም |
| የግቤት ሎጂክ ገደቦች | 0.8 ቪ (ዝቅተኛ)፣ 2.4 ቪ (ከፍተኛ) |
| የቮልቴጅ ጠብታ / RDS(on) / ሙሌት | 1.5 ቪ ከፍተኛ |
| የሙቀት ገደቦች | 70 ዲግሪ ሴንቲግሬድ ከፍተኛ |
| ፓኬጅ | DIP-16 |
| ማስታወሻዎች / ልዩነቶች | በተለምዶ ከ5ቪ እርከን ሞተሮች ጋር ጥቅም ላይ ይውላል። |
- ሾፌሩ የሞተርዎን የጅረት መስፈርቶች መቆጣጠር መቻሉን ያረጋግጡ።
- የሙቀት ገደቦችን ለማስተዳደር አስፈላጊ ከሆነ የሙቀት መስጫዎችን ይጠቀሙ።
- ተንሳፋፊ ግቤቶችን ለማስወገድ ሁሉም ግንኙነቶች ደህንነታቸው የተጠበቀ መሆኑን ያረጋግጡ።
- ወደ ትላልቅ ፕሮጀክቶች ከማዋሃድዎ በፊት ቀላል የእርምጃ ቅደም ተከተሎችን በማስኬድ ሞተሩን ይሞክሩ።
- ሞተሩን በበቂ የአቅርቦት ቮልቴጅ ማብራትዎን ያረጋግጡ።
የሽቦ አያያዥነት መመሪያዎች


28BYJ-48 እርከን ሞተርን ከULN2003 ሾፌር እና አርዱኖ ጋር ለማገናኘት እነዚህን ደረጃዎች ይከተሉ፦
በመጀመሪያ፣ ሞተሩን ከULN2003 ሾፌር ጋር ያገናኙ። ሞተሩ አራት ሽቦዎች አሉት፣ በተለምዶ ብርቱካናማ፣ ቢጫ፣ ሮዝ እና ሰማያዊ ቀለም ያላቸው። እነዚህን ሽቦዎች በULN2003 ሾፌር ላይ ካሉት ተጓዳኝ የውጤት ፒኖች ጋር ያገናኙ። ግንኙነቶቹ እንደሚከተለው ናቸው፦
ብርቱካናማሽቦ ወደOUT1ቢጫሽቦ ወደOUT2ሮዝሽቦ ወደOUT3ሰማያዊሽቦ ወደOUT4
በመቀጠል፣ ULN2003 ሾፌሩን ከአርዱኖ ጋር ያገናኙ። በሾፌሩ ላይ ያሉት የግቤት ፒኖች በአርዱኖ ላይ ካሉት አራት ዲጂታል ፒኖች ጋር ይዛመዳሉ። ለምሳሌ፦
IN1ወደፒን 10IN2ወደፒን 11IN3ወደፒን 12IN4ወደፒን 13
በመጨረሻም፣ የULN2003 ሾፌሩን የኃይል እና የመሬት ፒኖች ከአርዱኖ ጋር ያገናኙ። VCC ፒንን ከአርዱኖው 5ቪ ውጤት እና GND ፒንን ከአርዱኖው መሬት ጋር ያገናኙ። ስርዓቱን ከማብራትዎ በፊት ሁሉም ግንኙነቶች ደህንነታቸው የተጠበቀ መሆኑን ያረጋግጡ።
የኮድ ምሳሌዎች እና ማብራሪያ
በአርዱኖ ኮድ የማዋቀር ክፍል ውስጥ፣ ከULN2003 ሾፌር ጋር የተገናኙትን ፒኖች እንገልፃለን፦
int Pin1 = 10;
int Pin2 = 11;
int Pin3 = 12;
int Pin4 = 13;
እዚህ፣ አራት ኢንቲጀር ተለዋዋጮችን እንገልፃለን፦ Pin1፣ Pin2፣ Pin3 እና Pin4፣ እነዚህም በአርዱኖ ላይ ካሉት ዲጂታል ፒኖች ጋር ይዛመዳሉ። እነዚህ ፒኖች የእርከን ሞተሩን እንቅስቃሴ ይቆጣጠራሉ።
በsetup() ተግባር ውስጥ፣ እነዚህን ፒኖች እንደ ውጤቶች እናዋቅራለን፦
void setup() {
pinMode(Pin1, OUTPUT);
pinMode(Pin2, OUTPUT);
pinMode(Pin3, OUTPUT);
pinMode(Pin4, OUTPUT);
}
ይህ ማዋቀር አርዱኖ ሞተሩን ለመቆጣጠር ወደ ULN2003 ሾፌር ምልክቶችን መላክ መቻሉን ያረጋግጣል። pinMode ተግባር እያንዳንዱን ፒን ወደ OUTPUT ሁነታ ያዘጋጃል፣ ይህም ምልክቶችን እንዲልኩ ያስችላቸዋል።
በመጨረሻም፣ በዋናው ሉፕ ውስጥ፣ በ_step ተለዋዋጭ ላይ በመመስረት የሞተሩን እርምጃዎች ለመቆጣጠር የስዊች ኬዝ እንፈጥራለን፦
switch(_step){
case 0:
digitalWrite(Pin1, LOW);
digitalWrite(Pin2, LOW);
digitalWrite(Pin3, LOW);
digitalWrite(Pin4, HIGH);
break;
// ተጨማሪ ጉዳዮች ይከተላሉ
}
በዚህ ክፍል፣ digitalWriteን በመጠቀም በአሁኑ _step ላይ በመመስረት ለእ প্রতিটি ፒን HIGH ወይም LOW ምልክቶችን እንልካለን። ይህ የትኞቹ ኮይሎች እንደሚሞሉ ይቆጣጠራል፣ ይህም ሞተሩ እንዲሽከረከር ያስችላል። እነዚህን ክፍሎች የሚያገናኘው ሙሉ ኮድ ከጽሑፉ በታች ይጫናል።
ማሳያ / ምን እንደሚጠበቅ
ሁሉም ነገር በትክክል ከተገናኘ እና ኮዱ ከተጫነ፣ ስቴፐር ሞተሩ ከአርዱኖ ምልክቶች ጋር በመስማማት መሽከርከር አለበት። በሉፕ ውስጥ ያለውን መዘግየት በመቀየር ወይም እርምጃዎቹን በመቀየር ሞተሩን መሞከር ይችላሉ፣ እንዴት እንደሚሠራ ለማየት። ሞተሩ በትክክል ካልተሞላ፣ ላይንቀሳቀስ ወይም በተዛባ ሁኔታ ሊሠራ እንደሚችል ይገንዝቡ።
ምዕራፎች
- መግቢያ - 0:00
- ሃርድዌር ተብራርቷል - 1:30
- የሽቦ መገናኛ መመሪያዎች - 3:15
- የኮድ ምሳሌዎች እና ጉዞ - 5:00
- ማሳያ / ምን እንደሚጠበቅ - 7:45
// Original source is http://www.geeetech.com/wiki/index.php/Stepper_Motor_5V_4-Phase_5-Wire_%26_ULN2003_Driver_Board_for_Arduino
// Update by Ahmad Shamshiri for RoboJax.com
// Published on March 27, 2017 in Ajax, ON, Canada.
/*
*
Need wiring diagram from this code: https://youtu.be/0glBk917HPg
Purchase My Arduino course on Udemy.com http://robojax.com/L/?id=62
*
* Get this code and other Arduino codes from RoboJax.com
Learn Arduino step by step in a structured course with all material, wiring diagrams, and libraries
all in one place. Purchase My course on Udemy.com http://robojax.com/L/?id=62
If you found this tutorial helpful, please support me so I can continue creating
content like this.
or make a donation using PayPal http://robojax.com/L/?id=64
* * This code is "AS IS" without warranty or liability. Free to be used as long as you keep this note intact.*
* This code has been downloaded from RoboJax.com
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
int Pin1 = 10;
int Pin2 = 11;
int Pin3 = 12;
int Pin4 = 13;
int _step = 0;
boolean dir = true;// false=clockwise, true=counter clockwise
int count=0;
void setup()
{
pinMode(Pin1, OUTPUT);
pinMode(Pin2, OUTPUT);
pinMode(Pin3, OUTPUT);
pinMode(Pin4, OUTPUT);
}
void loop()
{
switch(_step){
case 0:
digitalWrite(Pin1, LOW);
digitalWrite(Pin2, LOW);
digitalWrite(Pin3, LOW);
digitalWrite(Pin4, HIGH);
break;
case 1:
digitalWrite(Pin1, LOW);
digitalWrite(Pin2, LOW);
digitalWrite(Pin3, HIGH);
digitalWrite(Pin4, HIGH);
break;
case 2:
digitalWrite(Pin1, LOW);
digitalWrite(Pin2, LOW);
digitalWrite(Pin3, HIGH);
digitalWrite(Pin4, LOW);
break;
case 3:
digitalWrite(Pin1, LOW);
digitalWrite(Pin2, HIGH);
digitalWrite(Pin3, HIGH);
digitalWrite(Pin4, LOW);
break;
case 4:
digitalWrite(Pin1, LOW);
digitalWrite(Pin2, HIGH);
digitalWrite(Pin3, LOW);
digitalWrite(Pin4, LOW);
break;
case 5:
digitalWrite(Pin1, HIGH);
digitalWrite(Pin2, HIGH);
digitalWrite(Pin3, LOW);
digitalWrite(Pin4, LOW);
break;
case 6:
digitalWrite(Pin1, HIGH);
digitalWrite(Pin2, LOW);
digitalWrite(Pin3, LOW);
digitalWrite(Pin4, LOW);
break;
case 7:
digitalWrite(Pin1, HIGH);
digitalWrite(Pin2, LOW);
digitalWrite(Pin3, LOW);
digitalWrite(Pin4, HIGH);
break;
default:
digitalWrite(Pin1, LOW);
digitalWrite(Pin2, LOW);
digitalWrite(Pin3, LOW);
digitalWrite(Pin4, LOW);
break;
}
if(dir){
_step++;
}else{
_step--;
}
if(_step>7){
_step=0;
}
if(_step<0){
_step=7;
}
delay(1);
}
እንደሚያስፈልግዎት ይችላል
-
አማዞን
-
አማዞን
-
አሊኤክስፕሬስPurchase 5 pcs 28BYJ-48 stepper motors from AliExpresss.click.aliexpress.com
-
አሊኤክስፕሬስ
ምንጮች እና ምንጮች
-
ውስጥ
-
ውስጥ
-
ውስጥ
ፋይሎች📁
አንድ ፋይል የለም።