.17 Thiết lập cơ cấu gắp

Một phần của tài liệu Thiết kế và điều khiển robot leo tường (Trang 68 - 87)

Thiếp lập các Servo với các Pin ảo từ V1 – V4. Sau đó gán mỗi servo với một thanh Slider với khoảng giá trị từ 0 – 180 độ theo thư viện Servo.h. Mỗi thanh Slider sẽ điều khiển 1 servo trên cơ cấu gắp.

CHƯƠNG 6

ĐÁNH GIÁ KẾT QUẢ, KẾT LUẬN

6.1 Đánh giá kết quả

6.1.1. Kết quả đạt được

Trong suốt quá trình thực hiện luận văn tốt nghiệp, với sự cố gắng của bản thân, sự chỉ dẫn tận tình của thầy hướng dẫn, nhóm đã hồn thành nội dung đề tài “Nghiên cứu thiết kế và chế tạo robot leo tường”, cụ thể đã làm được một số công việc cơ bản như sau:

- Tìm ra được phương án thiết kế cơ cấu hút.

- Thiết kế và chế tạo được bộ khung cơ khí, cơ cấu gắp của Robot leo tường. - Lập trình thành cơng phần code điều khiển cho Robot leo tường.

- Thiết kế mạch, ứng dụng thành công ESP8266 và L298N trong cơ cấu truyền động. - Mô phỏng thành công cơ cấu hoạt động của các Servo và cơ cấu truyền động qua L298N.

- Nghiên cứu được cơ bản cách tạo ra lực hút không tiếp xúc.

6.1.2. Hạn chế của đề tài

- Cơ cấu leo tường hoạt động chưa thực sự tốt.

- Thẩm mỹ chưa cao do hạn chế về thời gian thực hiện mơ hình và gặp sự cố trong quá trình leo tường.

- Cơ cấu gắp cịn bị nhiễu khơng rõ ngun do, thỉnh thoảng không hoạt động theo ý muốn.

- Mơ hình cịn khá nặng, chưa thực sự gọn nhẹ. - Do ưu tiên về moment nên tốc độ vẫn chưa cao lắm.

6.2 Kết luận

Sau khi thực hiện thành cơng mơ hình robot leo được trên tường, nhóm rút ra kết luận:

• Tính mới và sáng tạo: Mơ hình robot leo tường được thực hiện trong đề tài đã không sử dụng các kỹ thuật hút tường trước đây như: kỹ thuật hút chân khơng, kỹ thuật từ tính, kỹ thuật mơ phỏng sinh học từ những loài động vật leo trèo ... mà thay vào đó là kỹ thuật hút khơng tiếp xúc.

• Tính khoa học và thực tiễn: Mơ hình robot leo tường kèm với cơ cấu gắp nếu được quan tâm đầu tư và phát triển hơn nữa để áp dụng rộng rãi sẽ đáp ứng được yêu cầu thiết thực trong cuộc sống. Có thể áp dụng vào các nhu cầu cứu hộ, vận chuyển hàng hóa, lau chùi vệ sinh nhà cửa.

• Tính hiệu quả kinh tế: Áp dụng robot leo tường vào cuộc sống sẽ đem lại lợi ích kinh tế khá lớn bởi vì nó thay thế được nguồn nhân cơng khan hiếm hiện nay. Mặt khác chi phí đầu tư cho robot dạng này khơng cao nên có thể triển khai và áp dụng dễ dàng đem lại hiệu quả kinh tế lớn.

6.3 Hướng phát triển

Do phụ thuộc nhiều yếu tố khách quan lẫn chủ quan, trình độ có giới hạn, cơng việc chính q nhiều nhưng gặp thêm nhiều khó khăn do tình hình dịch bệnh Covid 19 nên còn một số vấn đề của đề tài chưa thể thực hiện được, cần tiếp tục nghiên cứu phát triển để hồn thiện mơ hình robot leo tường.

Vì vậy hướng phát triển tiếp theo của đề tài cần tập trung vào những vấn đề sau để hồn thiện mơ hình robot leo tường và đưa vào ứng dụng thực tế:

• Hồn thiện cơ cấu leo từ đất lên tường và leo qua các mặt tường vng góc. • Gắn camera khơng dây gửi hình ảnh về máy tính.

• Xây dựng giao diện trên máy tính để người dùng có thể thao tác điều khiển dễ dàng, chọn chiến lược đường đi cho robot.

• Xử lý ảnh để robot có thể tránh vật cản trên tường như quạt, đèn, cơng tắc.. • Tìm cách tăng sức tải của Robot để có thể ứng dụng vào nhiều cơng việc nặng nhọc hơn.

TÀI LIỆU THAM KHẢO

[1] Ivan Margolius,“The Robot of Prague”, Friends of Czech Heritage số 17, xuất bản 2017, Trang 3 – 6.

[2] Pearce, Jeremy, “Bài báo George C.Devol, Inventor of Robot Arm”, The New York Times, ngày 15 tháng 8 năm 2011.

[3] Hồ Minh Phương (2012), “Nghiên cứu thiết kế và chế tạo robot leo tường, trần

nhà”, Luận văn Thạc sĩ, Trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh,

Hồ Chí Minh.

[4] Andreas Papadimitriou (2018), “Modeling, Identification and Control of a Wall

Climbing Robot Based on Vortex Actuation”, Luận văn Thạc sĩ, Trường Đại học

Cơng nghệ Lulể, Thụy Điển.

[5] M. Armada, M. Prieto, T. Akinfiev, R. Fernandez, P. Gonzalez, E. Garcia, H. Montes, S. Nabulsi, R. Ponticelli and J. Sarria, “On the Design and Development of

Climbing and Walking Robots for the Maritime Industries”, Journal on Maritime

PHỤ LỤC

CODE ĐIỀU KHIỂN

CƠ CẤU HÚT VÀ TRUYỀN ĐỘNG

#include <Servo.h>

#include <ESP8266WiFi.h>

#include <BlynkSimpleEsp8266.h>

Servo esc_signal;

int speeds;

#define BLYNK_PRINT Serial

// Mã Token lấy từ Blynk

char auth[] = "VOAg2e21ZBc1YQXhxQ3br_WqXuhHNiaw"; //Nhập Token // Your WiFi credentials.

char ssid[] = "Be Cam"; //Tên Wifi

BlynkTimer timer;

const byte L298N_A_pin = D5; //Kết nối động cơ A const byte L298N_A_In1_pin = D8;

const byte L298N_A_In2_pin = D7;

const byte L298N_B_In3_pin = D4; const byte L298N_B_In4_pin = D3;

const byte L298N_B_pin = D6; //Kết nối động cơ B byte SolSinyal = 0;

byte SagSinyal = 0; byte ArkaLamba = 0;

void motorSpeed(int prmA, byte prmA1, byte prmA2, int prmB, byte prmB1, byte prmB2) { analogWrite(L298N_A_pin,prmA); analogWrite(L298N_B_pin,prmB); digitalWrite(L298N_A_In1_pin,prmA1); digitalWrite(L298N_A_In2_pin,prmA2); digitalWrite(L298N_B_In3_pin,prmB1); digitalWrite(L298N_B_In4_pin,prmB2);

} BLYNK_WRITE(V0) { int x = param[0].asInt(); int y = param[1].asInt(); // x = -2 -1 0 1 2 // Y = -2 -1 0 1 2 if (y>=0) { ArkaLamba = 0; // digitalWrite(Led4_pin,LOW); } else { ArkaLamba = 1; SolSinyal = 1; SagSinyal = 1; }

if ((x==0) && (y==0)) /// Trạng thái dừng {

motorSpeed(0,LOW,LOW,0,LOW,LOW); SolSinyal = 0;

}

else if ((x==0) && (y>0)) {

if (y==1){ motorSpeed(255,HIGH,LOW,255,HIGH,LOW); } // Tiến else { motorSpeed(255,HIGH,LOW,255,HIGH,LOW); }

SolSinyal = 0; SagSinyal = 0; }

else if ((y==0) && (x>0)) {

motorSpeed(255,HIGH,LOW,255,LOW,HIGH); SagSinyal = 1;

}

else if ((y>0) && (x>0)) {

motorSpeed(255,HIGH,LOW,200,LOW,LOW); SagSinyal = 1;

}

else if ((y==0) && (x<0)) {

motorSpeed(255,LOW,HIGH,255,HIGH,LOW); SolSinyal = 1;

else if ((y>0) && (x<0)) { motorSpeed(200,LOW,LOW,255,HIGH,LOW); SolSinyal = 1; } if ((y<0) && (x<0)) motorSpeed(200,LOW,LOW,255,LOW,HIGH); else if ((y<0) && (x>0))

motorSpeed(255,LOW,HIGH,200,LOW,LOW); else if ((y<0) && (x==0))

motorSpeed(255,LOW,HIGH,255,LOW,HIGH); } BLYNK_WRITE(V1) { speeds = param.asInt(); } void setup() { Serial.begin(115200); pinMode(L298N_A_In1_pin,OUTPUT); pinMode(L298N_A_In2_pin,OUTPUT);

pinMode(L298N_B_In3_pin,OUTPUT); pinMode(L298N_B_In4_pin,OUTPUT); digitalWrite(L298N_A_In1_pin,LOW); digitalWrite(L298N_A_In2_pin,LOW); digitalWrite(L298N_B_In3_pin,LOW); digitalWrite(L298N_B_In4_pin,LOW);

esc_signal.attach(D1); //Khai báo attach vào chân D1 của Arduino là chân tín hiệu của động cơ hút

esc_signal.write(30); //Giá trị mặc định của ESC, có thể thay đổi, dưới 30 thì động cơ sẽ khơng quay, 30 là số đo góc quay của servo

delay(3000);

Blynk.begin(auth, ssid, pass);

timer.setInterval(1000L, sendTemps); } void sendTemps() { } void loop() {

esc_signal.write(speeds); //Giá trị của ESC, từ 40 đến 130. Số càng cao động cơ quay càng nhanh.

Blynk.run(); timer.run(); }

CODE ĐIỀU KHIỂN

CƠ CẤU GẮP

#define BLYNK_PRINT Serial #include <ESP8266WiFi.h> #include <BlynkSimpleEsp8266.h> #include <Servo.h> Servo servo1; Servo servo2; Servo servo3; Servo servo4;

char auth[] = "Blynk Auth Token"; char ssid[] = "your ssid";

char pass[] = "wifi password";

void setup() {

Serial.begin(9600);

Blynk.begin(auth, ssid, pass);

servo1.attach(D2); servo2.attach(D5);

servo3.attach(D6); servo4.attach(D8); void loop() { Blynk.run(); } BLYNK_WRITE(V1) { servo1.write(param.asInt()); } BLYNK_WRITE(V2) { servo2.write(param.asInt()); } BLYNK_WRITE(V3) { servo3.write(param.asInt()); } BLYNK_WRITE(V4) { servo4.write(param.asInt()); }

Một phần của tài liệu Thiết kế và điều khiển robot leo tường (Trang 68 - 87)

Tải bản đầy đủ (PDF)

(87 trang)