Mục lục:

UCL - Nhúng - Chọn và Đặt: 4 bước
UCL - Nhúng - Chọn và Đặt: 4 bước

Video: UCL - Nhúng - Chọn và Đặt: 4 bước

Video: UCL - Nhúng - Chọn và Đặt: 4 bước
Video: FO4 | Hướng Dẫn Và Mẹo Săn Cầu Thủ Fifa Online 4 Camp Max Đầu Dễ Nhất. | Gunmies 2024, Tháng mười một
Anonim
UCL - Nhúng - Chọn và Đặt
UCL - Nhúng - Chọn và Đặt

Phần hướng dẫn này sẽ trình bày cách thực hiện đơn vị chọn và đặt 2D cũng như cách mã hóa đơn vị đó.

Bước 1: Các bản tổng hợp

Compunets
Compunets

1x Adrio Mega

2x động cơ bước (chúng tôi đã sử dụng Động cơ bước JLB, model 17H1352-P4130)

2x Mô-đun bảng điều khiển ổ đĩa động cơ bước L298N Cầu H kép DC cho Arduino

1x động cơ servo (Chúng tôi không có điểm trên cái này)

Điện trở 3x 10k ohm

2x bánh xe nylon

Nguồn điện 1x 12v

Một số gỗ cho khung

Dây điện

Bước 2: Thi công

Sự thi công
Sự thi công
Sự thi công
Sự thi công
Sự thi công
Sự thi công

Điều đầu tiên trong mặt Xây dựng là xem xét kích thước và hình dạng của dụng cụ chọn và đặt mashine

Đầu tiên, chúng tôi xây dựng gỗ hình dạng cơ bản. Chúng tôi đã xây dựng khung chọn và đặt của chúng tôi từ 50cm x 25cm x 30cm. Tất cả mọi thứ ngoại trừ khung, cầu và tay nâng, đều được sản xuất bằng máy cắt tia laser.

Đây là liên kết đến tất cả các tệp

Sau đó, chúng tôi muốn hệ thống ròng rọc. Ở đây chúng tôi đã đi với hai vòng 50mm và một vòng 20mm. Sau đó, chúng tôi đặt một paracord bên cạnh 20mm với một số keo. Sau đó, chúng tôi bóp hai vòng 50mm ở hai bên của vòng 20mm.

20mm

50mm

Sau đó, chúng ta cần thiết kế một hướng dẫn trượt đến cánh tay. Ở đây chúng tôi đã làm hai mặt và một mặt sau.

Sau đó được dán ở dạng chữ U. Sau đó, chúng tôi kết nối nó với cây cầu.

Tấm bên

Tấm sau

Bây giờ các phần để di chuyển cánh tay lên và xuống đã được thực hiện. Chúng ta cần di chuyển nó qua lại.

Khi thiết kế này, chúng tôi đảm bảo rằng các răng thẳng hàng với nhau. Vì vậy, cả hai mục đã được tạo ra ở cùng một nơi dự án.

Bước 3: Mã

Mã số
Mã số
Mã số
Mã số
Mã số
Mã số

Chương trình khá đơn giản và bao gồm 5 phần

  1. Bao gồm Thư viện và Thiết lập các biến để sử dụng nội bộ và IO
  2. Nạp đầu vào cho Ram
  3. Sekvens, chọn chuyển động bạn muốn.
  4. Điều khiển vị trí bước / servo
  5. Đầu ra thế giới

Chúng tôi sẽ giải thích rõ ràng từng phần, nhưng hãy nhớ đây chỉ là một trong nhiều giải pháp.

1: Để thiết lập void, chúng tôi đã bao gồm 2 thư viện chúng tôi cần cho projekt này. Bước và Servo. Sử dụng Thư viện đi kèm, giúp bạn tiết kiệm khi tìm hiểu mọi chi tiết về động cơ bước và động cơ servo.

#bao gồm

#bao gồm

const int stepsPerRevolution = 200; // thay đổi điều này để phù hợp với số bước trên mỗi vòng quay cho động cơ của bạn

// khởi tạo thư viện bước trên các chân 8 đến 11:

Stepper XStepper (các bướcPerRevolution, 22, 23, 24, 25); Bước YStepper (bướcPerRevolution, 28, 29, 30, 31); Servo Griper; // tạo đối tượng servo để điều khiển một servo

Gripper cần phải đính kèm trong thiết lập void

void setup () {// khởi tạo cổng nối tiếp: Serial.begin (9600); Griper.attach (9); // gắn servo trên chân 9 vào đối tượng servo

Phần còn lại của phần này chỉ là thiết lập của Biến và Hằng số.

2: Điều đầu tiên trong Void Loop là tải tất cả các đầu vào đã sử dụng vào một biến. Điều này được thực hiện vì hai lý do. Lý do đầu tiên là để hạn chế các tác vụ nặng nề của CPU khi đọc một Đầu vào. Lý do thứ hai, là lần nhập nhiều nhất và để đảm bảo rằng nếu một Đầu vào được sử dụng nhiều lần, thì nó sẽ có cùng giá trị trong toàn bộ quá trình quét. Điều này làm cho việc viết mã nhất quán dễ dàng hơn. Đây là một thực tế rất phổ biến trong lập trình PLC, nhưng nó cũng áp dụng cho lập trình nhúng.

// ------------------------- Nhập vào RAM -------------------- Xend = digitalRead (34); Yend = digitalRead (35); Ena = digitalRead (36);

3: Trong phần sekvens của mã, chúng tôi chỉ tạo một sekvens bằng Switch và các lệnh trường hợp. Phần sekvens chỉ cung cấp tín hiệu cho phần Điều khiển vị trí của mã. Phần này có thể dễ dàng được tùy chỉnh theo ứng dụng của bạn hoặc được sử dụng nguyên trạng.

4: Vị trí của servo chỉ được điều khiển bởi servo liberi và một câu lệnh if cho bộ kẹp mở và đóng.

Điều khiển bước phức tạp hơn một chút. Hàm so sánh Điểm đặt (Vị trí bạn muốn cánh tay đến) và Vị trí hiện tại. Nếu vị trí hiện tại là người yêu, hàm sẽ bổ sung vào vị trí và yêu cầu hàm Stepper liberi thực hiện một bước tích cực. Điều ngược lại là đúng đối với vị trí to hig. nếu vị trí giống như Điểm đặt, một bit XinPos là sat hig và bước dừng.

// SP điều khiển X

if (XstepCountXsp chứ không phải Trang chủ) {

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

5: Thêm vào cuối mã động cơ được điều khiển bằng các chức năng liberi.

// -------------------- Đầu ra ---------------------- // bước một bước: XStepper.step (Xstep); // bước một bước: YStepper.step (Ystep);

Griper.write (GripSp);

Bước 4: Được thực hiện bởi

casp6099 - Casper Hartung Christensen

rasm616d - Rasmus Hansen

Đề xuất: