Isi kandungan:

UCL - Terbenam - Pilih dan Tempat: 4 Langkah
UCL - Terbenam - Pilih dan Tempat: 4 Langkah

Video: UCL - Terbenam - Pilih dan Tempat: 4 Langkah

Video: UCL - Terbenam - Pilih dan Tempat: 4 Langkah
Video: Ga pernah bener nih emang kalo minta diajarin timboi 2024, November
Anonim
UCL - Terbenam - Pilih dan Tempat
UCL - Terbenam - Pilih dan Tempat

Instruksional ini akan diteruskan walaupun bagaimana unit memilih dan meletakkan 2D dibuat dan bagaimana mengekodkannya.

Langkah 1: Komponen

Komponen
Komponen

1x Adrio Mega

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

Modul Papan Pengawal Pemacu Motor 2x Stepper L298N Dual H Bridge DC Untuk Arduino

Motor servo 1x (Kami tidak mempunyai ciri khas yang satu ini)

Perintang 3x 10k ohm

2x Nilon paus

Bekalan kuasa 1x 12v

Sebilangan kayu untuk bingkai

Wayar

Langkah 2: Pembinaan

Pembinaan
Pembinaan
Pembinaan
Pembinaan
Pembinaan
Pembinaan

Perkara pertama semasa Muka Pembinaan adalah menentukan ukuran dan bentuk pilihan dan meletakkan mashine

Mula-mula kita membina kayu bentuk asas. Kami membina bingkai memilih dan meletakkan 50cm x 25cm dengan 30cm. Segala sesuatu kecuali rangka, jambatan dan lengan angkat, dihasilkan dengan laser.

Berikut adalah pautan ke semua fail

Kemudian kami mahu ke sistem takal. Di sini kami pergi dengan dua cincin 50mm dan satu cincin 20mm. Kemudian kami meletakkan paracord di sebelah 20mm dengan sedikit gam. Selepas itu kami menekan dua cincin 50mm di kedua-dua sisi cincin 20mm.

20mm

50mm

Maka kita perlu merancang panduan slaid ke lengan. Di sini kami membuat dua sisi dan satu plat belakang.

Yang kemudian dilekatkan dalam bentuk U. Kemudian kami menghubungkannya ke jambatan.

Plat sisi

Plat belakang

Sekarang bahagian untuk menggerakkan lengan ke atas dan ke bawah sudah selesai. Kita perlu menggerakkannya berulang-alik.

Semasa merancang ini, kami memastikan bahawa gigi sejajar antara satu sama lain. Oleh itu, kedua-dua item dibuat di tempat projek yang sama.

Langkah 3: Kod

Kod
Kod
Kod
Kod
Kod
Kod

Pengaturcaraannya cukup mudah dan terdiri daripada 5 bahagian

  1. Penyertaan Perpustakaan dan Penyediaan pemboleh ubah untuk penggunaan dalaman dan IO
  2. Muatkan input ke Ram
  3. Sekvens, memilih pergerakan yang anda mahukan.
  4. Kawalan kedudukan stepper / servo
  5. Keluaran ke dunia

Kami akan menerangkan secara terperinci setiap bahagian, tetapi ingat ini adalah salah satu daripada banyak penyelesaian.

1: Sebelum penyediaan kosong, kami memasukkan 2 perpustakaan yang kami perlukan untuk projek ini. Stepper dan Servo. Dengan menggunakan Perpustakaan yang disertakan, menyelamatkan anda dari mempelajari setiap perincian mengenai motor stepper dan servo.

#sertakan

#sertakan

const int stepsPerRevolution = 200; // ubah ini agar sesuai dengan jumlah langkah per revolusi untuk motor anda

// mulakan perpustakaan stepper pada pin 8 hingga 11:

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

Gripper perlu melekat dalam persediaan yang tidak sah

batal persediaan () {// memulakan port bersiri: Serial.begin (9600); Griper.attach (9); // melekatkan servo pada pin 9 pada objek servo

Selebihnya bahagian ini hanyalah persediaan Variable's dan Constant's.

2: Perkara pertama dalam Void Loop adalah memuatkan semua input yang digunakan ke pemboleh ubah. Ini dilakukan kerana dua sebab. Sebab pertama adalah menghadkan tugas berat CPU membaca Input. Sebab kedua, yang paling penting untuk memastikan bahawa jika Input digunakan lebih dari satu kali, ia akan mempunyai nilai yang sama sepanjang keseluruhan imbasan. Ini menjadikan penulisan kod yang konsisten lebih mudah. Ini adalah praktik yang sangat biasa dalam pengaturcaraan PLC, tetapi juga berlaku untuk pengaturcaraan tertanam.

// ------------------------- Masukan ke RAM -------------------- Xend = digitalRead (34); Yend = digitalRead (35); Ena = digitalRead (36);

3: Di bahagian sekvens kod, kami hanya membuat sekvens dengan perintah Switch dan case. Bahagian sekvens hanya memberi isyarat kepada bahagian kawalan Posisi kod. Bahagian ini dapat disesuaikan dengan mudah untuk aplikasi anda atau digunakan sebagaimana adanya.

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

Stepper Control sedikit lebih sukar. Fungsi membandingkan Setpoint (Posisi yang anda mahu lengan) dan kedudukan Semasa. Sekiranya kedudukan semasa adalah kekasih, fungsi tersebut akan menambah kedudukan dan meminta fungsi Stepper liberi untuk mengambil langkah positif. Sebaliknya berlaku untuk kedudukan hig. jika kedudukannya sama dengan Setpoint, bit XinPos adalah sat hig, dan stepper berhenti.

// Kontroversi SP X

jika (XstepCountXsp dan bukan Laman Utama) {

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

5: Tambahkan akhir kod motor dikawal dengan fungsi liberi.

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

Griper.write (GripSp);

Langkah 4: Dibuat Oleh

casp6099 - Casper Hartung Christensen

rasm616d - Rasmus Hansen

Disyorkan: