28BYJ-48 қадамдық моторын ULN2003 драйверімен және Arduino-мен пайдалану
Бұл оқулықта біз 28BYJ-48 қадамды моторды ULN2003 драйвері арқылы Arduino-мен басқаруды үйренеміз. Бұл конфигурация мотордың позициясы мен жылдамдығын дәл басқаруға мүмкіндік береді. Осы жобаның соңында сіз моторды екі бағытта айналдырып, оның қадамдарын тиімді басқаруға қабілетті боласыз.
Біз 28BYJ-48 қадамды моторды қолданамыз, ол төмен бағасы мен пайдалану жеңілдігі арқасында әртүрлі робототехника және автоматтандыру жобалары үшін танымал таңдау. ULN2003 драйвер тақтасы қадамды моторды Arduino-мен байланыстырады, бұл бізге мотордың қозғалысын басқару үшін қадам сигналдарын жіберуге мүмкіндік береді. Бұл нұсқаулық сізге моторыңызды айналдыру үшін қажетті сымдарды және кодты көрсетуге көмектеседі.
Қосымша түсініктеме алу үшін, осы оқулықпен байланысты бейнеге (бейне 0:45-те) жүгініңіз.
Аппараттық құралдар түсіндірілді
Бұл жобаның негізгі компоненттері 28BYJ-48 қадамды қозғалтқыш және ULN2003 драйвер тақтасы болып табылады. Қадамды қозғалтқыш бірнеше катушкалардан тұрады, оларды белгілі бір тәртіппен қуаттандыру арқылы айналдыруды жасауға болады. ULN2003 драйвері қосқыш ретінде қызмет етеді, Ардуино-ға әр катушкаға берілетін қуатты басқаруға мүмкіндік береді.
ULN2003 драйвері қадамды мотордың жоғары токын басқару үшін Дарлингтон транзисторлар массивін пайдаланады. Arduino-дан шыққан пин HIGH сигналы шығарғанда, ол мотордағы сәйкес катушкаға токтың ағып кетуіне мүмкіндік береді, бұл мотордың қозғалуына себеп болады. Бұл мотордың айналу бұрышы мен жылдамдығын дәл басқаруға мүмкіндік береді.
Техникалық сипаттама мәліметтері
| Өндіруші | ULN2003 |
|---|---|
| Бөлшек нөмірі | ULN2003 |
| Логика/Кернеу вх. | 5 В |
| Жабдықтау кернеуі | 5-30 В (макс) |
| Шығыс токы (арна бойынша) | 500 мА макс |
| Шың ток (арна бойынша) | 2 A макс |
| PWM жиілігі бойынша нұсқаулық | N/A |
| Кіріс логика шектер | 0.8 В (төмен), 2.4 В (жоғары) |
| Кернеу түсуі / RDS(қосулы)жарылыс | 1.5 В макс |
| Жылу шектеулері | 70 °C макс |
| Пакет | DIP-16 |
| Ескертпелер / нұсқалар | 5В қадамды қозғалтқыштармен жиі қолданылады. |
- Драйвердің сіздің қозғалтқышыңыздың қазіргі талаптарын орындауға қабілетті екеніне көз жеткізіңіз.
- Қажет болса, жылу шұңқырларын пайдаланыңыз, термиялық шектеулерді басқару үшін.
- Барлық қосылымдардың қауіпсіз екеніне көз жеткізіңіз, қалқымалы кірістерден аулақ болу үшін.
- Моторды үлкен жобаларға интеграцияламас бұрын қарапайым қадамдық реттіліктерді іске қосу арқылы тексеріңіз.
- Моторды жеткілікті қуатпен қамтамасыз етіңіз.
Сымдарды қосу нұсқаулары


28BYJ-48 қадамдық моторын ULN2003 драйверіне және Arduino-ға қосу үшін келесі қадамдарды орындаңыз:
Біріншіден, моторды ULN2003 драйверіне қосыңыз. Моторда төрт сым бар, әдетте олардың түстері қызғылт сары, сары, қызғылт және көк болып кодталған. Бұл сымдарды ULN2003 драйверінің сәйкес шығыс пиндеріне қосыңыз. Қосылымдар мынадай:
OrangeсымғаOUT1YellowсымғаOUT2PinkсымғаOUT3BlueсымғаOUT4
Келесі, ULN2003 драйверін Arduino-ға қосыңыз. Драйвердегі кіріс пиндері Arduino-дағы төрт цифрлық пинге сәйкес келеді. Мысалы:
IN1күшіктіPin 10IN2күшіктіPin 11IN3күшіктіPin 12IN4күшіктіPin 13
Соңында, ULN2003 драйверінің қуат және жер пиндерін Arduino-ға қосыңыз. ҚосыңызVCCArduino-ның 5V шығысына пин жәнеGNDArduino-ның жеріне қосыңыз. Жүйені қосар алдында барлық қосылымдардың сенімді екеніне көз жеткізіңіз.
Код мысалдары мен нұсқаулықтар
Arduino кодының баптау бөлімінде ULN2003 драйверіне қосылған пиндерді анықтаймыз:
int Pin1 = 10;
int Pin2 = 11;
int Pin3 = 12;
int Pin4 = 13;
Мұнда біз төрт бүтін сандық айнымалыны жариялаймыз:Pin1,Pin2,Pin3, жәнеPin4, Arduino-дағы цифрлық пиндерге сәйкес келеді. Бұл пиндер қадамды қозғалтқыштың қозғалысын басқаруға арналған.
Вsetup()функция, біз осы пиндерді шығыс ретінде конфигурациялаймыз:
void setup() {
pinMode(Pin1, OUTPUT);
pinMode(Pin2, OUTPUT);
pinMode(Pin3, OUTPUT);
pinMode(Pin4, OUTPUT);
}
Бұл конфигурация Arduino-ның моторды басқару үшін ULN2003 драйверіне сигналдар жібере алатынын қамтамасыз етеді.pinModeфункция әр пинді ШЫҒУ режиміне орнатады, оларға сигнал жіберуге мүмкіндік береді.
Соңында, негізгі циклде біз айнымалыға негізделген мотордың қадамдарын басқару үшін ауыстыру жағдайын жасаймыз._step:
switch(_step){
case 0:
digitalWrite(Pin1, LOW);
digitalWrite(Pin2, LOW);
digitalWrite(Pin3, LOW);
digitalWrite(Pin4, HIGH);
break;
// Additional cases follow
}
Бұл үзіндіде біз қолданамызdigitalWriteәр пинге ағымға негізделген ЖОҒАРЫ немесе ТӨМЕН сигналдарын жіберу_stepБұл катушкалардың қайсысының қуаттандырылатынын басқарады, бұл мотордың айналуына мүмкіндік береді. Осы үзінділерді біріктіретін толық код мақала астында жүктеледі.
Көрсетілім / Не күту керек
Барлығы дұрыс қосылған және код жүктелгеннен кейін, қадамды мотор Arduino-дан келген сигналдарға жауап ретінде айналуы тиіс. Моторды сынау үшін циклдегі кідірісті өзгерту немесе қадамдарды өзгерту арқылы оның реакциясын көруге болады. Егер мотор дұрыс қуатталмаса, ол қозғалмауы немесе тұрақсыз әрекет етуі мүмкін екенін ескеріңіз.
Бөлімдер
- Кіріспе - 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);
}
Сізге қажет болуы мүмкін нәрселер
-
Амазонка
-
Амазонка
-
AliExpressPurchase 5 pcs 28BYJ-48 stepper motors from AliExpresss.click.aliexpress.com
-
AliExpress
Ресурстар мен сілтемелер
-
Сыртқы
-
Сыртқы
-
Сыртқы
-
Сыртқы
-
Сыртқы
Файлдар📁
Файлдар жоқ.