Daftar Isi:

UCL - Tertanam - Pilih dan Tempatkan: 4 Langkah
UCL - Tertanam - Pilih dan Tempatkan: 4 Langkah

Video: UCL - Tertanam - Pilih dan Tempatkan: 4 Langkah

Video: UCL - Tertanam - Pilih dan Tempatkan: 4 Langkah
Video: Stepper Motor Speed and Direction Control through Bluetooth | #shorts 2024, Juli
Anonim
UCL - Tertanam - Pilih dan Tempat
UCL - Tertanam - Pilih dan Tempat

Instruksi ini akan membahas bagaimana unit pick and place 2D dibuat dan bagaimana mengkodekannya.

Langkah 1: Komputer

Komputer
Komputer

1x Adrio Mega

2x motor stepper (kami menggunakan Motor Stepper JLB, model 17H1352-P4130)

2x Stepper Motor Drive Controller Board Modul L298N Dual H Bridge DC Untuk Arduino

1x motor servo (Kami tidak memiliki bintik yang satu ini)

Resistor 3x 10k ohm

2x Nylon wheals

catu daya 1x12v

Beberapa kayu untuk bingkai

kabel

Langkah 2: Konstruksi

Konstruksi
Konstruksi
Konstruksi
Konstruksi
Konstruksi
Konstruksi

Hal pertama selama wajah Konstruksi adalah menentukan ukuran dan bentuk mesin pengangkat dan tempat

Pertama kita membangun kayu bentuk dasar. Kami membuat bingkai pick and place 50cm x 25cm x 30cm. Semuanya kecuali rangka, jembatan, dan lengan pengangkat, dibuat dengan pemotong laser.

Berikut ini tautan ke semua file

Kemudian kami ingin sistem katrol. Di sini kami pergi dengan dua cincin 50mm dan satu cincin 20mm. Kemudian kami menempatkan paracord di sebelah 20mm dengan lem. Setelah itu kami meremas dua cincin 50mm di kedua sisi cincin 20mm.

20mm

50mm

Kemudian kita perlu merancang panduan geser ke lengan. Di sini kami membuat dua sisi dan satu pelat belakang.

Yang kemudian direkatkan dalam bentuk U. Kemudian kami menghubungkannya ke jembatan.

Pelat samping

Plat belakang

Sekarang bagian untuk menggerakkan lengan ke atas dan ke bawah sudah selesai. Kita perlu memindahkannya ke depan dan ke belakang.

Saat mendesain ini, kami memastikan bahwa giginya sejajar satu sama lain. Jadi kedua item dibuat di tempat proyek yang sama.

Langkah 3: Kode

Kode
Kode
Kode
Kode
Kode
Kode

Pemrogramannya cukup sederhana dan terdiri dari 5 bagian

  1. Penyertaan Perpustakaan dan Pengaturan variabel untuk penggunaan internal dan IO
  2. Muat input ke Ram
  3. Sekvens, pilih gerakan yang Anda inginkan.
  4. Kontrol posisi stepper/servo
  5. Keluaran ke dunia

Kami akan secara garis besar menjelaskan setiap bagian, tetapi ingat ini hanyalah salah satu dari banyak solusi.

1: Sebelum pengaturan batal, kami menyertakan 2 perpustakaan yang kami butuhkan untuk proyek ini. Stepper dan Servo. Menggunakan Perpustakaan yang disertakan, menyelamatkan Anda dari mempelajari setiap detail tentang motor stepper dan servo.

#termasuk

#termasuk

const int langkahPerRevolusi = 200; // ubah ini agar sesuai dengan jumlah langkah per putaran untuk motor Anda

// inisialisasi perpustakaan stepper pada pin 8 hingga 11:

Stepper XStepper(stepsPerRevolution, 22, 23, 24, 25); Stepper YStepper(stepsPerRevolution, 28, 29, 30, 31); Servo Griper; // buat objek servo untuk mengontrol servo

Gripper perlu dipasang di pengaturan kosong

void setup() { // menginisialisasi port serial: Serial.begin(9600); Griper.attach (9); // pasang servo pada pin 9 ke objek servo

Sisa dari bagian ini hanyalah setup dari Variabel dan Konstanta.

2: Hal pertama di Void Loop adalah memuat semua input yang digunakan ke variabel. Hal ini dilakukan karena dua alasan. Alasan pertama adalah untuk membatasi tugas berat CPU membaca Input. Alasan kedua, yang paling penting dan, untuk memastikan bahwa jika suatu Input digunakan lebih dari satu kali, itu akan memiliki nilai yang sama di seluruh pemindaian. Ini membuat penulisan kode yang konsisten menjadi lebih mudah. Ini adalah praktik yang sangat umum dalam pemrograman PLC, tetapi juga berlaku untuk pemrograman tertanam.

//-------------------------Input ke RAM-------------------- Xend = digitalBaca(34); Yend = digitalBaca(35); Ena = digitalBaca(36);

3: Di bagian sekvens dari kode, kami baru saja membuat sekvens dengan perintah Switch dan case. Bagian sekvens hanya memberikan sinyal ke bagian kontrol Posisi dari kode. Bagian ini dapat dengan mudah disesuaikan dengan aplikasi Anda atau digunakan apa adanya.

4: Posisi servo hanya dikendalikan oleh servo liberi, dan pernyataan if untuk gripper terbuka dan tertutup.

Kontrol Stepper sedikit lebih rumit. Fungsi ini membandingkan Setpoint (Posisi yang ingin dituju oleh lengan) dan posisi Saat ini. Jika posisi saat ini adalah love the, maka fungsi tersebut akan menambahkan posisi tersebut dan meminta fungsi Stepper liberi untuk mengambil langkah positif. Kebalikannya berlaku untuk posisi a sampai tinggi. jika posisinya sama dengan Setpoint, bit XinPos duduk tinggi, dan stepper berhenti.

// Kontrol SP X

if (XstepCountXsp dan bukan Beranda){

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

5: Tambahkan akhir kode motor dikendalikan dengan fungsi liberi.

//--------------------Output----------------------- // langkah satu langkah: XStepper.step(Xstep); // langkah satu langkah: YStepper.step(Ystep);

Griper.write(GripSp);

Langkah 4: Dibuat Oleh

casp6099 - Casper Hartung Christensen

rasm616d - Rasmus Hansen

Direkomendasikan: