Mündəricat:

UCL - Gömülü - Seç və Yerləşdir: 4 Addım
UCL - Gömülü - Seç və Yerləşdir: 4 Addım

Video: UCL - Gömülü - Seç və Yerləşdir: 4 Addım

Video: UCL - Gömülü - Seç və Yerləşdir: 4 Addım
Video: KERASUS ARMATÜR ANKASTRE DUŞ BATARYASI 3 YOLLU 2024, Noyabr
Anonim
UCL - Gömülü - Seçin və Yerləşdirin
UCL - Gömülü - Seçin və Yerləşdirin

Bu təlimat, 2D seçmə və yerləşdirmə vahidinin necə edildiyini və necə kodlaşdırılacağını izah edəcək.

Addım 1: Kompunetlər

Kompunetlər
Kompunetlər

1x Adrio Mega

2x pilləli mühərriklər (JLB Stepper Motor, model 17H1352-P4130 istifadə etdik)

Arduino üçün 2x Step Motor Sürücü Nəzarət Kartı Modulu L298N Dual H Bridge DC

1x servo motor (Bunun üzərində heç bir ləkəmiz yoxdur)

3x 10k ohm rezistorlar

2x Neylon sızanaqlar

1x 12v enerji təchizatı

Çərçivə üçün bir az ağac

Tellər

Addım 2: Tikinti

Tikinti
Tikinti
Tikinti
Tikinti
Tikinti
Tikinti

Tikinti zamanı ilk şey, maşının ölçüsünü və formasını təyin etmək idi

Əvvəlcə ağacın əsas formasını düzəldirik. Seçim və yerləşdirmə çərçivəsini 50 sm -dən 25 sm -ə 30 sm -ə qədər qurduq. Çərçivə, körpü və qaldırıcı qol istisna olmaqla hər şey bir lazer kəsici ilə istehsal edilmişdir.

Burada bütün fayllara bir keçid var

Sonra kasnak sisteminə keçmək istədik. Burada iki 50 mm üzük və bir 20 mm üzüklə getdik. Sonra bir yapışqan ilə 20 mm -nin yanına bir parakord qoyduq. Bundan sonra 20 mm -lik halqanın hər iki tərəfindəki 50 mm -lik iki üzüyü sıxdıq.

20 mm

50 mm

Sonra qola bir sürüşmə bələdçisi hazırlamalıyıq. Burada iki tərəf və bir arxa plaka hazırladıq.

Daha sonra U şəklində yapışdırıldı. Sonra körpüyə bağladıq.

Yan lövhə

Arxa plaka

İndi qolu yuxarı və aşağı hərəkət etdirmək üçün hissələr hazırdır. Onu irəli -geri aparmaq lazımdır.

Bunu tərtib edərkən, dişlərin bir -birinə uyğun gəldiyinə əmin olduq. Beləliklə, hər iki maddə eyni layihə yerində yaradıldı.

Addım 3: Kod

Kod
Kod
Kod
Kod
Kod
Kod

Proqramlaşdırma olduqca sadədir və 5 hissədən ibarətdir

  1. Kitabxanaların daxil edilməsi və daxili və IO istifadəsi üçün dəyişənlərin qurulması
  2. Girişləri Ram -a yükləyin
  3. Sekvens, istədiyiniz hərəkəti seçir.
  4. Step/servo mövqe nəzarəti
  5. Dünyaya çıxış

Geniş hissələrdə hər bir hissəni izah edəcəyik, amma unutmayın ki, bu, bir çox həllərdən biridir.

1: Boşluq quruluşu üçün bu layihə üçün lazım olan 2 kitabxananı daxil etdik. Stepper və Servo. Daxil olan Kitabxanalardan istifadə edərək, step və servo mühərriklər haqqında hər bir detalı öyrənməkdən xilas edir.

#daxil edin

#daxil edin

const int stepsPerRevolution = 200; // bunu motorunuz üçün inqilab başına addım sayına uyğun olaraq dəyişdirin

// 8 -dən 11 -ə qədər sancaqlardakı step kitabxanasını işə salın:

Stepper XStepper (stepsPerRevolution, 22, 23, 24, 25); Stepper YStepper (stepsPerRevolution, 28, 29, 30, 31); Servo Griper; // servoya nəzarət etmək üçün servo obyekti yaradın

Gripperin boşluq quruluşuna qoşulması lazımdır

void setup () {// serial portunu işə salın: Serial.begin (9600); Griper.attach (9); // 9 nömrəli servo servo obyektə yapışdırır

Bu hissənin qalan hissəsi yalnız Variable və Constant's -ın qurulmasıdır.

2: Void Loopdakı ilk şey, bütün istifadə olunan girişləri bir dəyişənə yükləməkdir. Bu iki səbəbdən edilir. Birinci səbəb, girişi oxumaq üçün CPU -nun ağır vəzifələrini məhdudlaşdırmaqdır. Girişin bir dəfədən çox istifadə edildiyi təqdirdə bütün tarama zamanı eyni dəyərə sahib olacağına əmin olmaq üçün ən vacib olan ikinci səbəbdir. Bu, ardıcıl kod yazmağı asanlaşdırır. Bu, PLC proqramlaşdırmasında çox yayılmış bir tətbiqdir, ancaq gömülü proqramlaşdırmaya da aiddir.

// ------------------------- RAM-a giriş -------------------- Xend = digitalRead (34); Yend = digitalRead (35); Ena = digitalRead (36);

3: Kodun sekvens hissəsində, yalnız Switch və case əmrləri ilə bir sekvens etdik. Sekvens hissəsi yalnız kodun Mövqe nəzarət hissəsinə siqnallar verir. Bu hissə asanlıqla tətbiqinizə uyğunlaşdırıla və ya olduğu kimi istifadə edilə bilər.

4: Servo mövqeyi yalnız servo liberi tərəfindən idarə olunur və tutucu üçün açıq və qapalı if ifadəsi.

Stepper Control bir az daha çətindir. Funksiya Ayar nöqtəsini (qolun getməsini istədiyiniz mövqe) və cari vəziyyəti müqayisə edir. Mövcud mövqe sevgilisidirsə, funksiya mövqeyi əlavə edir və Stepper liberi funksiyasından müsbət bir addım atmasını xahiş edir. Həddindən artıq yüksək mövqe üçün bunun əksi doğrudur. mövqe Ayar nöqtəsi ilə eynidirsə, bir XinPos biti yüksəkdir və addım dayanır.

// SP nəzarət X

əgər (XstepCountXsp və Ev deyil) {

XstepCount = XstepCount-1; Xstep = -1; XinPos = 0; } əgər (XstepCount == Xsp) {Xstep = 0; XinPos = 1; }

5: Kodun sonunu əlavə edin, motorlar liberi funksiyaları ilə idarə olunur.

// -------------------- Çıxış ---------------------- // addım bir addım: XStepper.step (Xstep); // bir addım addım: YStepper.step (Ystep);

Griper.write (GripSp);

Addım 4: Hazırladı

casp6099 - Casper Hartung Christensen

rasm616d - Rasmus Hansen

Tövsiyə: