Mundarija:

UCL - O'rnatilgan - tanlash va joylashtirish: 4 qadam
UCL - O'rnatilgan - tanlash va joylashtirish: 4 qadam

Video: UCL - O'rnatilgan - tanlash va joylashtirish: 4 qadam

Video: UCL - O'rnatilgan - tanlash va joylashtirish: 4 qadam
Video: Amir Temur va temuriylar davrida ijtimoiy iqtisodiy, siyosiy va madaniy hayot 2024, Noyabr
Anonim
UCL - O'rnatilgan - tanlash va joylashtirish
UCL - O'rnatilgan - tanlash va joylashtirish

2D tanlash va joylashtirish birligi qanday yaratilgani va uni qanday kodlash kerak bo'lsa ham, bu ko'rsatma bo'ladi.

1 -qadam: Kompunetlar

Kompunetlar
Kompunetlar

1x Adrio Mega

2x qadamli dvigatellar (biz JLB step motorini ishlatdik, model 17H1352-P4130)

Arduino uchun 2x qadamli motorli haydovchi boshqaruv paneli moduli L298N Dual H Bridge DC

1x servo dvigatel (bizda bu zarracha yo'q)

3x 10k ohmli rezistorlar

2 marta neylon xiralashgan

1x 12V quvvat manbai

Ramka uchun bir nechta yog'och

Simlar

2 -qadam: qurilish

Qurilish
Qurilish
Qurilish
Qurilish
Qurilish
Qurilish

Qurilish jarayonida birinchi narsa - yig'ish mashinasining o'lchami va shaklini aniqlash

Avval yog'ochning asosiy shaklini quramiz. Biz tanlov va joylashtirish ramkasini 50 sm dan 25 sm gacha 30 sm gacha qurdik. Ramka, ko'prik va ko'tarish dastagidan boshqa hamma narsa lazer kesgich bilan ishlab chiqarilgan.

Bu erda barcha uchun bog'laning fayllar https://myhub.autodesk360.com/ue2d2a959/g/projects/20181107158970606/data/dXJuOmFkc2sud2lwcHJvZDpmcy5mb2xkZXI6Y28ud2s5b0NQNGNTT3lhQ0Z2OVowaHJJQQ emas

Keyin biz kasnaklar tizimiga o'tishni xohladik. Bu erda biz ikkita 50 mm uzuk va bitta 20 mm uzuk bilan bordik. Keyin biz 20 mm yoniga parakord yopishtiramiz. Shundan so'ng biz 20 mm halqaning har ikki tomonida 50 mm bo'lgan ikkita halqani siqib qo'ydik.

20 mm

50 mm

Keyin biz qo'l uchun slayd -yo'riqchini loyihalashimiz kerak. Bu erda biz ikki tomon va bitta orqa plastinka qildik.

U keyinchalik U shaklida yopishtirilgan. Keyin biz uni ko'prik bilan bog'ladik.

Yon plastinka

Orqa plastinka

Endi qo'lni yuqoriga va pastga siljitish qismlari tugadi. Biz uni oldinga va orqaga siljitishimiz kerak.

Buni loyihalashda biz tishlar bir -biriga to'g'ri kelishiga ishonch hosil qildik. Shunday qilib, ikkala element ham bitta loyiha joyida yaratilgan.

3 -qadam: kod

Kod
Kod
Kod
Kod
Kod
Kod

Dasturlash juda oddiy va 5 qismdan iborat

  1. Kutubxonalarni kiritish va ichki va ichki foydalanish uchun o'zgaruvchilarni sozlash
  2. Ramga kirishni yuklang
  3. Sekvens, kerakli harakatni tanlash.
  4. Bosqich/servo holatini boshqarish
  5. Dunyoga chiqish

Biz keng zarbalarda har bir qismni tushuntiramiz, lekin esda tutingki, bu ko'p echimlardan biri.

1: Bo'sh o'rnatish uchun biz ushbu loyiha uchun kerak bo'lgan 2 ta kutubxonani kiritdik. Stepper va servo. Kutubxonalardan foydalanish sizni qadam va servo dvigatellar haqida har bir tafsilotni o'rganishdan qutqaradi.

#qo'shing

#qo'shing

const int stepsPerRevolution = 200; // buni dvigatelingiz uchun bir inqilobga to'g'ri keladigan qadam soniga mos ravishda o'zgartiring

// qadam kutubxonasini 8 dan 11 gacha pinlarda ishga tushiring:

Stepper XStepper (stepsPerRevolution, 22, 23, 24, 25); Stepper YStepper (stepsPerRevolution, 28, 29, 30, 31); Servo Griper; // servoni boshqarish uchun servo ob'ekt yaratish

Gripper bo'sh sozlamalarga biriktirilishi kerak

void setup () {// ketma -ket portni ishga tushirish: Serial.begin (9600); Griper.attach (9); // servo ob'ektga 9 -pinli servo biriktiriladi

Qolgan bo'limlar Variable va Constant's -ni sozlashdir.

2: Void Loop -dagi birinchi narsa - bu ishlatilgan barcha kirishni o'zgaruvchiga yuklash. Bu ikkita sababga ko'ra amalga oshiriladi. Birinchi sabab - bu protsessorga kirishni o'qishning og'ir vazifalarini cheklash. Ikkinchi sabab, agar kirish bir necha marta ishlatilsa, u butun ko'rish davomida bir xil qiymatga ega bo'ladi. Bu izchil kod yozishni osonlashtiradi. Bu PLC dasturlashda juda keng tarqalgan amaliyot, lekin u ko'milgan dasturlash uchun ham amal qiladi.

// ------------------------- RAMga kirish -------------------- Xend = digitalRead (34); Yend = digitalRead (35); Ena = digitalRead (36);

3: Kodning sekvens qismida biz faqat Switch va case buyruqlari bilan sekvens qildik. Sekvens qismi kodning Pozitsiyani boshqarish qismiga signal beradi. Bu qism sizning ilovangizga osongina moslashtirilishi yoki odatdagidek ishlatilishi mumkin.

4: Servo joylashuvi faqat servo liberi tomonidan nazorat qilinadi va tutqich uchun if ifodasi ochiq va yopiq.

Stepper Control biroz murakkabroq. Funktsiya "O'rnatish nuqtasi" (qo'lning kerakli joyini) va joriy holatini taqqoslaydi. Agar hozirgi pozitsiya sevgilisi bo'lsa, funktsiya pozitsiyani qo'shadi va Stepper liberi funktsiyasidan ijobiy qadam tashlashini so'raydi. Yuqori darajadagi pozitsiya uchun buning aksi. agar pozitsiya Setpoint bilan bir xil bo'lsa, XinPos biti o'rnatiladi va qadam to'xtaydi.

// SP nazorat X

agar (XstepCountXsp va uy emas) {

XstepCount = XstepCount-1; Xstep = -1; XinPos = 0; } agar (XstepCount == Xsp) {Xstep = 0; XinPos = 1; }

5: Kodning oxirini qo'shing, dvigatellar liberi funktsiyalari bilan boshqariladi.

// -------------------- Chiqish ---------------------- // qadam bir qadam: XStepper.step (Xstep); // bir qadam: YStepper.step (Ystep);

Griper.write (GripSp);

4 -qadam: Tayyor

casp6099 - Kasper Xartung Kristensen

rasm616d - Rasmus Xansen

Tavsiya: