Robototexnika asoslari
Biz quyidagilarga muhtojmiz: Arduino Uno; ULN2003 step vosita drayveri; step vosita 28BYJ-48; j amperlar. 4.1-rasm: Step motor Bosqichli dvigatel ob’ektni ma’lum bir o‘q zinapoyasida aniq joylashtirish yoki harakatlantirish uchun mo‘ljallangan. Arduino platasi step motorini stepper.h drayveri va kutubxonasi yoki accelstepper.h yordamida boshqarishi mumkin. Arduino Uno / Nanoga ishlaydigan dvigatelning ishlash printsipi va ulanish diagrammasini ko‘rib chiqing, shuningdek, step motorini boshqarish uchun eskizni tahlil qiling. Step vosita qanday ishlaydi Dizayni qarab, bugungi kunda step motorlarning uch turi qo‘llanilmoqda: doimiy magnitlangan, o‘zgaruvchan reaktivlik va gibridli motorlar. Doimiy magnitlangan dvigatellar uchun milning aylanishiga to‘g’ri keladigan qadamlar soni 48 ga etadi, ya’ni bir qadam milning 7,5 ° aylanishiga to‘g’ri keladi.Gibrid motorlar har bir aylanish uchun kamida 400 ta qadamni ta’minlaydi (0,9 ° qadam burchagi). 4.2-rasm: Bosqichli dvigatelning kesma chizmasi Amalga oshirilgan qadamlar sonini hisoblash orqali siz rotorning aniq burilish burchagini aniqlay olasiz. Shunday qilib, step vosita bugungi kunda 3D printerlarda, CNC mashinalarida va boshqa sanoat uskunalarida ideal haydovchi hisoblanadi. Bu shunchaki qurilmaning qisqacha sharhi va step motorining ishlash printsipi, bizni Arduino yordamida step motorini boshqarish qanday boshqarilishi ko‘proq qiziqtiradi. Step vosita qanday ishlaydi Dizayni qarab, bugungi kunda step motorlarning uch turi qo‘llanilmoqda: doimiy magnitlangan, o‘zgaruvchan reaktivlik va gibridli motorlar. Doimiy magnitlangan dvigatellar uchun milning aylanishiga to‘g’ri keladigan qadamlar soni 48 ga etadi, ya’ni bir qadam milning 7,5 ° aylanishiga to‘g’ri keladi. Gibrid motorlar har bir aylanish uchun kamida 400 ta qadamni ta’minlaydi (0,9 ° qadam burchagi). Arduino step motorining drayveri Step vosita - bu barcha motorlar singari elektr energiyasini mexanik energiyaga aylantiradigan cho‘tkasiz sinxron motor. Milya aylanadigan doimiy dvigateldan farqli o‘laroq, qadam motorlarining o‘qi alohida harakatlarni amalga oshiradi, ya’ni doimiy ravishda emas, balki qadamlar bilan aylanadi. Milning (rotor) har bir balandligi to‘liq inqilobning bir qismidir.Dvigatel milining aylanishi haydovchining statoridagi sariqlarning magnit maydonini boshqaradigan signal yordamida amalga oshiriladi. Signal step vosita drayveri tomonidan ishlab chiqariladi. Stator sargilarida elektr tokining o‘tishi natijasida hosil bo‘lgan magnit maydon magnitlar o‘rnatilgan milning aylanishiga olib keladi. Bosqichlar soni dasturda Arduino IDE kutubxonasi yordamida o‘rnatiladi. 4.3-rasm: Step motorini boshqarish uchun drayverlar turlari 28BYJ-48 step motorining ULN2003 drayveri orqali Arduino Uno-ga ulanish diagrammasi quyidagi rasmda ko‘rsatilgan. 28BYJ-48 dvigatelining asosiy xarakteristikalari: 5 yoki 12 voltli quvvat manbai, 4 fazali dvigatel, qadam burchagi 5.625 °. IN1 - IN4 haydovchi portlari Arduino Mega yoki Nano platalaridagi har qanday raqamli pinlarga ulanadi. Moduldagi LEDlar dvigatel sariqlarining faollashishini ko‘rsatish uchun ishlatiladi. 4.4-rasm: Arduino UNO ga step motorini ulash sxemasi Step vosita, ma’lum bir ketma-ketlikda motor sariqlariga impulslarni qo‘llash orqali Arduino orqali boshqariladi. Step motorini boshqarishni osonlashtirish uchun maxsus stepper.h va accelstepper.h kutubxonalari yaratilgan, ammo siz motor o‘qini standart kutubxonalarsiz aylantirishingiz mumkin. Yuqoridagi diagrammada ko‘rsatilganidek, step motorini mikrokontrollaga ulang va quyidagi eskizni yuklang. Step motorni boshqarish sketchi // ULN2003 modulini Arduinoga ulash uchun portlar #define in1 8 #define in2 9 #define in3 10 #define in4 11 int dl = 5; // impulslar orasidagi kechikish vaqti void setup() { pinMode(in1, OUTPUT); pinMode(in2, OUTPUT); pinMode(in3, OUTPUT); pinMode(in4, OUTPUT); } void loop() { digitalWrite(in1, HIGH); digitalWrite(in2, LOW); digitalWrite(in3, LOW); digitalWrite(in4, HIGH); delay(dl); digitalWrite(in1, HIGH); digitalWrite(in2, HIGH); digitalWrite(in3, LOW); digitalWrite(in4, LOW); delay(dl); digitalWrite(in1, LOW); digitalWrite(in2, HIGH); digitalWrite(in3, HIGH); digitalWrite(in4, LOW); delay(dl); digitalWrite(in1, LOW); digitalWrite(in2, LOW); digitalWrite(in3, HIGH); digitalWrite(in4, HIGH); delay(dl); } analogWrite(MOTOR,speedMotor); delay(1000); // пауза } Yüklə 1,23 Mb. Dostları ilə paylaş: |