
Mundarija:
- 1 -qadam: StepDriver kutubxonasi
- 2 -qadam: Global o'zgaruvchilar
- 3 -qadam: Vazifalar - haydovchi pinlarini o'rnatish
- 4 -qadam: Funktsiyalar - Haydovchining asosiy funktsiyalari
- 5 -qadam: Vazifalar - Dvigatel qadamini sozlash
- 6 -qadam: Vazifalar - Dvigatel qadam rejimini sozlash
- 7 -qadam: Vazifalar - Limit kalitlarini sozlash
- 8 -qadam: Vazifalar - Limit kalitlarini o'qish
- 9 -qadam: Vazifalar - Harakatni sozlash
- 10 -qadam: Vazifalar - Harakat funktsiyasi
- 11 -qadam: Vazifalar - Harakat funktsiyasi - O'zgaruvchilar
- 12 -qadam: Vazifalar - Harakat funktsiyasi - Tezlashtirish
- 13 -qadam: Vazifalar - Harakat funktsiyasi - Uzluksiz tezlik
- 14 -qadam: Vazifalar - Harakat funktsiyasi - Tormozlash
- 15 -qadam: Vazifalar - Harakat funktsiyasi - Uzluksiz tezlik
- 16 -qadam: Vazifalar - Funktsiyani siljitish - Burilishlarni siljitish
- 17 -qadam: Harakatlar jadvali - joylashuv tezligi
- 18 -qadam: Harakatlar jadvali - pozitsiya va boshqalar. Lavozim
- 19 -qadam: Harakatlar jadvali - Tezlik va boshqalar. Lahza
2025 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2025-01-23 15:14



Bugun men sizga cheklovli kalitli motorli haydovchining kutubxonasini, dvigatelning tezlanish va mikro qadamli harakatlanishini ko'rsataman. Arduino Uno va Arduino Mega -da ishlaydigan bu Lib dvigatellarni faqat qadam soniga emas, balki millimetrga qarab harakatlantirish imkonini beradi. Va bu juda aniq.
Bu kutubxonaning muhim xususiyati shundaki, bu sizga o'zingizning CNC dastgohingizni yaratishga imkon beradi, bu faqat X, Y emas, balki bo'limli kalit, masalan, bu tayyor GRBL emas, balki dasturlash. siz uchun ideal mashinani yaratishga imkon beradi.
Biroq, quyidagi bayonot muhim tafsilotdir! Bu video faqat dasturlashga o'rganganlar uchun. Agar siz Arduino dasturini yaxshi bilmasangiz, avval siz mening kanalimdagi boshqa tanishtiruvchi videolarni ko'rishingiz kerak. Buning sababi shundaki, men ushbu videoda ilg'or mavzuni muhokama qilyapman va videoda ishlatilgan Libni batafsil tushuntirib beraman: tezlashuv va urishning oxiri bilan motor.
1 -qadam: StepDriver kutubxonasi
Bu kutubxona bozorda eng keng tarqalgan uchta haydovchi turini o'z ichiga oladi: A4988, DRV8825 va TB6600. U haydovchilarning pinlarini konfiguratsiya qiladi, bu ularni uyqu rejimiga qaytarish va joylashtirishga imkon beradi, shuningdek Enable pinida ishlaydigan dvigatel chiqishlarini yoqadi va o'chiradi. Shuningdek, u haydovchining mikro pog'onali pinlarining kirishini o'rnatadi va kalitlarni va ularning faollik darajasini (yuqori yoki past) cheklaydi. U, shuningdek, mm / s² da doimiy tezlanish, maksimal tezlik mm / s va minimal tezlik mm / s bo'lgan motorli harakat kodiga ega.
Bosim tezligi va zarbasi tugagan qadam dvigateli videoning 1 va 2 -qismlarini ko'rganlar uchun bu yangi kutubxonani bugun yuklab oling, chunki men uni ishlatishni osonlashtirish uchun birinchi faylda ba'zi o'zgartirishlar kiritdim.
2 -qadam: Global o'zgaruvchilar
Men global o'zgaruvchilarning har biri nima ekanligini aniq ko'rsataman.
3 -qadam: Vazifalar - haydovchi pinlarini o'rnatish

Bu erda men ba'zi usullarni tasvirlayman.
Men Pinout sozlamasini va Arduino pinlarini chiqish sifatida o'rnatdim.
4 -qadam: Funktsiyalar - Haydovchining asosiy funktsiyalari

Ushbu bo'limda biz haydovchining konfiguratsiyasi va uning asosiy funktsiyalari bilan ishlaymiz.
5 -qadam: Vazifalar - Dvigatel qadamini sozlash


Kodning bu bosqichida biz dvigatel bajarishi kerak bo'lgan millimetr uchun qadamlar miqdorini sozlaymiz.
6 -qadam: Vazifalar - Dvigatel qadam rejimini sozlash



Bu jadvalda motorli qadam rejimining sozlamalari ko'rsatilgan. Bu erda ba'zi misollar.
7 -qadam: Vazifalar - Limit kalitlarini sozlash

Bu erda men butun va mantiqiy qiymatlarni o'qishim kerak. Maksimal va minimal chegara chekkasini o'rnatayotganda, faol kalit yuqoriga yoki pastga tushishini belgilash kerak.
8 -qadam: Vazifalar - Limit kalitlarini o'qish



Bu qism o'tgan hafta men taqdim qilgan Libdagi qismdan farq qiladi. Nega men uni o'zgartirdim? Xo'sh, men boshqalarni almashtirish uchun eRead -ni yaratdim. Bu erda eRead LVL, digitalRead (pin) ni o'qiydi va TRUE -ni qaytaradi. Bularning barchasini yuqori darajada bajarish kerak. Faol kalit bilan keyingi ish past darajada bo'ladi. Men bu erda sizga "Haqiqat" jadvalini ko'rsatish uchun foydalanaman.
Kod tasvirida men manba kodining bu qismida ko'tarilish tomon ketayotganimni va kurs tugashining tugmachasini hali bosmaganligimni tushunishga yordam beradigan diagramma joylashtirdim.
Endi, bu tasvirda bool DRV8825 kodi, men dvigatel hali ham o'sayotgan yo'nalishda harakat qilayotganini ko'rsataman. Biroq, maksimal chegara kaliti faollashtirilgan. Shunday qilib, mexanizm harakatni to'xtatishi kerak.
Oxir -oqibat, men xuddi shu harakatni ko'rsataman, lekin teskari yo'nalishda.
Bu erda sizda kurs tugashi tugmasi allaqachon faollashtirilgan.
9 -qadam: Vazifalar - Harakatni sozlash

MotionConfig usulining asosiy foydaliligi, qadam dvigatelini boshqarish moslamasini kutib olish uchun millimetrni sekundiga (CNC mashinalarida ishlatiladigan o'lchov) qadamlarga aylantirishdir. Aynan mana shu qismda men millimetrni emas, balki qadamlarni tushunish uchun o'zgaruvchilarni yarataman.
10 -qadam: Vazifalar - Harakat funktsiyasi

Bu bosqichda biz qadamni kerakli yo'nalishda bir daqiqaga mikrosaniyalarda siljitadigan buyruqni ko'rib chiqamiz. Shuningdek, biz haydovchining yo'nalish pinini, kechikish vaqtini va chegara kalitlarining yo'nalishini o'rnatamiz.
11 -qadam: Vazifalar - Harakat funktsiyasi - O'zgaruvchilar

Bu bo'limda biz maksimal va minimal tezlik davrlarini, traektoriya masofasini va traektoriyani to'xtatish uchun zarur bo'lgan qadamlarni o'z ichiga olgan barcha o'zgaruvchilarni sozlaymiz.
12 -qadam: Vazifalar - Harakat funktsiyasi - Tezlashtirish


Bu erda men Torricelli tenglamasi orqali hisoblangan tezlashuv ma'lumotlariga qanday etib kelganimiz haqida ba'zi tafsilotlarni keltiraman, chunki bu vaqtni emas, balki tezlashuvni ishlaydigan bo'shliqlarni hisobga oladi. Ammo, bu erda butun tenglama faqat bitta kod satri ekanligini tushunish muhimdir.
Biz yuqoridagi rasmda trapetsiyani aniqladik, chunki dastlabki aylanish tezligi ko'p pog'onali dvigatellar uchun yomon. Xuddi shu narsa sekinlashuv bilan sodir bo'ladi. Shuning uchun biz tezlashuv va sekinlashuv orasidagi davrda trapezoidni tasavvur qilamiz.
13 -qadam: Vazifalar - Harakat funktsiyasi - Uzluksiz tezlik


Bu erda biz tezlashtirishda ishlatiladigan qadamlar sonini ushlab turamiz, biz doimiy tezlikda davom etamiz va maksimal tezlikda saqlaymiz, buni quyidagi rasmda ko'rish mumkin.
14 -qadam: Vazifalar - Harakat funktsiyasi - Tormozlash


Bu erda bizda yana bir tenglama bor, bu safar tezlanish qiymati manfiy. U, shuningdek, quyidagi rasmda, sekinlashuv deb nomlangan to'rtburchakni ifodalovchi kod qatorida ko'rsatiladi.
15 -qadam: Vazifalar - Harakat funktsiyasi - Uzluksiz tezlik


Biz quyida ko'rinib turganidek, traektoriyaning ikkinchi yarmini ishlash uchun doimiy tezlikka qaytamiz.
16 -qadam: Vazifalar - Funktsiyani siljitish - Burilishlarni siljitish

Bu qismda biz dvigatelni kerakli yo'nalishda ma'lum miqdordagi burilishlarda harakatlantiramiz, burilishlar sonini millimetrga aylantiramiz. Nihoyat, biz motorni kerakli yo'nalishda harakatlantiramiz.
17 -qadam: Harakatlar jadvali - joylashuv tezligi

Ushbu grafikda men Acceleration qismida ishlatilgan tenglamadan olingan ma'lumotlarga egaman. Men qadriyatlarni oldim va Arduino serialida o'ynadim va bundan Excelga o'tdim, natijada bu jadval paydo bo'ldi. Jadvalda qadamning borishi ko'rsatilgan.
18 -qadam: Harakatlar jadvali - pozitsiya va boshqalar. Lavozim

Bu erda biz pozitsiyani, qadamlarni va tezlikni olamiz va uni davrga mikrosaniyada aylantiramiz. Biz bu bosqichda davr tezlikka teskari proportsional ekanligini ta'kidlaymiz.
19 -qadam: Harakatlar jadvali - Tezlik va boshqalar. Lahza

Nihoyat, bizda tezlik bir lahzalik vazifasi sifatida bor va shuning uchun bizda to'g'ri chiziq bor, chunki bu vaqt funktsiyasi sifatida tezlik.
Tavsiya:
Nozik yoritgichli DIY oddiy minigarnituralar stendi: 19 qadam (rasmlar bilan)

Nozik yoritgichli DIY oddiy minigarnituralar uchun stend: Men sizga ko'rsatma beraman, arzon materiallar va asosiy vositalardan foydalangan holda, orqa tomondan nozik yorug'lik bilan oddiy va ixcham minigarniturani qanday yasashni ko'rsataman. Lehimlovchi temir qisqichlar
Portativ nozik zarracha o'lchami (kengaytma): 3 qadam

Portativ nozik zarrachalarning o'lchami (kengaytmasi): Maqsad: CO2 sensorini qo'shish Dasturning o'qilishi yaxshilandi Dasturning boshqa turdagi sensorlarga ochilishi. Bu loyiha allaqachon chop etilgan boshqa loyihaga amal qiladi. Bu o'quvchilar tomonidan berilgan savollarga javob beradi. Qo'shimcha sensor o'rnatildi
Portativ nozik zarracha o'lchami: 4 qadam (rasmlar bilan)

Portativ nozik zarrachalarni o'lchash: Ushbu loyihaning maqsadi nozik zarracha miqdorini o'lchash orqali havo sifatini o'lchashdir. Portativligi tufayli uyda yoki harakatda o'lchovlarni amalga oshirish mumkin bo'ladi. Havoning sifati va mayda zarrachalari: Zarrachalar (
Arduino Nano - MPL3115A2 nozik altimetrli sensorli qo'llanma: 4 qadam

Arduino Nano - MPL3115A2 nozik altimetr sensori bo'yicha qo'llanma: MPL3115A2 bosim/balandlik va harorat haqidagi aniq ma'lumotlarni taqdim etish uchun I2C interfeysli MEMS bosim sensori bilan ishlaydi. Sensor chiqishi yuqori aniqlikdagi 24-bitli ADC yordamida raqamlashtirilgan. Ichki ishlov berish kompensatsiya vazifalarini olib tashlaydi
Raspberry Pi - MPL3115A2 nozik altimetrli sensorli Python qo'llanmasi: 4 qadam

Raspberry Pi - MPL3115A2 Precision Altimeter Sensor Python qo'llanmasi: MPL3115A2 bosim/balandlik va harorat haqida aniq ma'lumot berish uchun I2C interfeysli MEMS bosim sensori bilan ishlaydi. Sensor chiqishlari yuqori aniqlikdagi 24 bitli ADC yordamida raqamlashtirilgan. Ichki ishlov berish kompensatsiya vazifalarini olib tashlaydi