Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 25 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
25
Dung lượng
1,25 MB
Nội dung
ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ BÁO CÁO CUỐI KỲ II Môn: Thiết bị điện GV: Bùi Thanh Lâm Đề tài: Cánh tay robot học lệnh gắp sản phẩm Nhóm 6: Họ Tên Mã Sinh Viên Nguyễn Văn Đồng 19021587 Nguyễn Xuân Chiến 19021580 Hồng Ngọc Đức 19021588 Nguyễn Thành Cơng 19021581 Hồ Thức Nhân 19021613 Hà Nội 2022 MỤC LỤC LỜI MỞ ĐẦU Chương I: Tổng quan cánh tay robot học lệnh gắp sản phẩm Đặt vấn đề Mục đích đề tài .3 Đối tượng phạm vi nghiên cứu Phương pháp nghiên cứu khoa học .3 Ý nghĩa khoa học thực tiễn đề tài .4 Chương II: Thiết kế cánh tay robot gắp sản phẩm .4 2.1 Thiết kế mơ hình cánh tay 2.2 Ứng dụng lợi ích cánh tay robot .6 Chương III: Phân tích thiết kế mơ hình 3.1 Sơ đồ điều khiển vị trí cánh tay 3.2 Các thiết bị sử dụng mơ hình .8 3.2.1 Arduino 3.2.2 Động servo 12 Phần mềm điều khiển 14 3.3.1: Phần mềm Arduino IDE 14 3.3.2 Các thao tác hoạt động cánh tay 15 3.3.3 Lưu đồ thuật toán .15 3.3.4 Mã nguồn chương trình điều khiển .16 KẾT LUẬN .23 Kiểm tra tính ổn định 23 Hướng phát triển 23 TÀI LIỆU THAM KHẢO 24 LỜI MỞ ĐẦU Trong nghiệp cơng nghiệp hóa đại hóa đất nước, tự động hóa ngày đóng vai trò quan trọng Với tốc độ phát triển không cần lượng lao động khổng lồ mà cịn địi hỏi có trình độ, chất lượng tay nghề, kỹ thuật lao động thiết bị sản xuất Mức độ phát triển khoa học kỹ thuật ngày cao vấn đề tự động hóa ngày trọng Tự động hóa trình sản xuất cho phép cải thiện điều kiện sản xuất Các trình sản xuất sử dụng nhiều lao động sống dễ ổn định giấc, chất lượng gia công suất lao động, gây khó khăn cho việc điều hành quản lý sản xuất Các trình sản xuất tự động cho phép loại bỏ nhược điểm Đồng thời tự động hóa thay đổi tính chất lao động, cải thiện điều kiện làm việc công nhân, khâu độc hại, nặng nhọc, có tính lặp lặp lại nhàm chán, khắc phục dần khác lao động trí óc lao động chân tay Do vậy, ứng dụng robot vào sản xuất tính tất yếu q trình tự động hóa Việc áp dụng cánh tay robot vào dây chuyền sản xuất ngày phổ biến Xuất phát từ vấn đề mà thực tiễn đề trên, báo cáo nghiên cứu “Thiết kế chế tạo cánh tay robot gắp sản phẩm” Chương I: Tổng quan cánh tay robot học lệnh gắp sản phẩm Đặt vấn đề Thế giới q trình cách mạng cơng nghiệp 4.0, mang đến cho nhận loại hội để thay đổi mặt kinh tế Cùng với hứa hẹn ‘đổi đời’ doanh nghiệp Việt Nam Tự động hóa robot xu hướng quan trọng tương lai cơng nghiệp Tự động hóa đem lại mức độ xác xuất cao Cơng nghệ chí hoạt động tốt số mơi trường làm việc khắc nghiệt khơng an tồn với người Mục đích để phục vụ sản xuất, chí phục vụ nhu cầu giải trí chăm sóc người Với phát triển mạnh mẽ cơng nghiệp máy tính cách mạng cơng nghiệp 4.0 giới nước ta, công nghiệp tự động hóa robot phát triển nở rộ kèm theo nhu cầu nguồn lao động có trình độ làm chủ cơng nghệ Mục đích đề tài - Nghiên cứu cấu tạo, nguyên lý hoạt động phương pháp điều khiển thích hợp sở ứng dụng Arduino để hiểu điều khiển cánh tay robot gắp sản phẩm Vận dụng kiến thức học tìm hiểu xây dựng mơ hình cánh tay robot hoạt động lập trình - Đối tượng phạm vi nghiên cứu Đối tượng nghiên cứu đề tài mơ hình cánh tay robot sử dụng mạch Arduino để điều khiển Nghiên cứu tổng quan cấu tạo nguyên lý hoạt động cánh tay robot mạch điều khiển Phương pháp nghiên cứu khoa học - Nghiên cứu sở khoa học thực tiễn chế tạo, điều khiển robot Nghiên cứu phương trình động học robot Nghiên cứu ứng dụng phần gia cơng khí để chế tạo cánh tay robot Nghiên cứu ứng dụng mạch Arduino để điều khiển cánh tay robot Ý nghĩa khoa học thực tiễn đề tài - - Kết nghiên cứu đề tài ứng dụng xây dựng cánh tay robot tự động gắp sản phẩm, dựa theo hình dáng, hay chia sản phẩm từ băng truyền xếp vào thùng/khay Ngoài cánh tay máy cịn ứng dụng vào hàn, cắt hay đơn giản nâng vật nặng Mơ hình kết đề tài làm thiết bị thí nghiệm thực hành tốt trực quan cho sinh viên Chương II: Thiết kế cánh tay robot gắp sản phẩm Về mặt truyền động điều khiển robot cấu tạo từ khối cấu trúc khí hoạt động nhờ cấu tác động Về mặt kết cấu robot chế tạo khác biệt chúng xây dựng từ thành phần tay máy, nguồn cung cấp, điều khiển Trong tay máy tập hợp phận cấu khí thiết kế hình thành khối có chuyển động tương Vì chương 2, chúng em xây dựng mơ hình cánh tay robot bậc Chương gồm nội dung sau: Ứng dụng robot đề tài, thiết kế mơ hình cánh tay robot, xây dựng phương trình động học cho robot bậc tự 2.1 Thiết kế mơ hình cánh tay Hệ thống chuyển động robot công nghiệp đảm bảo cho robot thực nhiệm vụ không gian làm việc bao gồm chuyển động thân, cánh tay, cổ tay vị trí chuyển động theo quỹ đạo đặt trước Bộ phận robot là: Cánh tay (gồm số nối cứng liên kết với khớp mềm); thân (bệ); cổ tay; bàn tay ● Khớp robot Khớp khâu liên kết hai nối có chức truyền chuyển động để thực di chuyển robot Khớp robot gồm hai loại: khớp tịnh tiến khớp quay Hình 2.2: Khớp robot ● Cổ tay robot Cổ tay robot có nhiệm vụ định hướng xác bàn tay robot (cơ cấu tác động cuối) khơng gian làm việc Thơng thường cổ tay robot có bậc tự tương ứng với chuyển động có cấu tạo điển hình 2.3: Cổ tay xoay xung quanh trục nối cuối (Roll), cổ tay xoay xung quanh trục nằm ngang tạo chuyển động lên xuống bàn tay (Pitch) quay xung quanh trục thẳng đứng tạo chuyển động lắc phải, trái bàn tay (Yaw) ● Bàn tay robot ( cấu tác động cuối) Bàn tay gắn lên cổ tay robot đảm bảo cho robot thực nhiệm vụ khác không gian làm việc Cơ cấu bàn tay có hai dạng khác tùy theo chức robot dây chuyền sản xuất: cấu tay kẹp cấu dụng cụ (Các dụng cụ là: mũi hàn, dụng cụ cắt đá, mài đá, bình sơn, cấu hàn điểm, hàn hồ quang ) ● Mơ hình robot thiết kế 2.2 Ứng dụng lợi ích cánh tay robot Ứng dụng - Ứng dụng cánh tay robot công nghiệp đa dạng, tùy vào ngành nghề, công việc khác mà ta áp dụng robot cơng nghiệp riêng biệt Dưới số ngành hệ thống sản xuất mà áp dụng robot công nghiệp - Công nghiệp đúc: cánh tay robot làm nhiệm vụ rót kim loại nóng chảy vào khn, cắt mép thừa, làm vật đúc làm tăng bền vật đúc cách phun cát - Ngành gia công áp lực: trình hàn nhiệt luyện thường bao gồm nhiều công việc độc hại nhiệt độ cao, điều kiện làm việc nặng nề, dễ gây mệt mỏi phân xưởng rèn dập - Ngành gia công lắp ráp: cánh tay robot thường sử dụng vào việc tháo lắp phôi sản phẩm cho máy gia công bánh răng, máy khoan, máy tiện bán tự động - Cánh tay robot sử dụng để thực công đoạn lắp ráp linh kiện điện tử, xử lý công cụ máy hàn hồ quang - cánh tay robot sử dụng ngành sản xuất ô tô Lợi ích - Cài đặt nhanh: Ngay nhân viên vận hành chưa đào tạo ngạc nhiên lần cài đặt cánh tay robot Tháo gỡ, lắp ráp robot lập trình nhiệm vụ đơn giản, thường làm việc Theo trải nghiệm khách hàng chúng tôi, thời gian trung bình để tiến hành cài đặt hồn chỉnh nửa ngày - Lập trình đơn giản: Việc lập trình cánh tay robot dễ dàng nhanh chóng nhân viên khơng có nhiều kinh nghiệm nhanh chóng lập trình cánh tay robot nhờ hiển thị 3D trực quan cấp sáng chế Tất nhân viên vận hành cần làm di chuyển cánh tay robot đến tọa độ mong muốn chạm vào phím mũi tên máy tính bảng có hình cảm ứng dễ sử dụng - Triển khai linh hoạt: Ngày cài đặt sản phẩm cần linh hoạt nhanh chóng để đáp ứng nhu cầu khơng ngừng thay đổi mang tính cạnh tranh cao cánh tay robot không hạn chế bạn; ngược lại, cánh tay robot gọn nhẹ dễ dàng di chuyển tái triển khai sang quy trình mới, cho phép bạn tự động hóa cơng việc thủ công nào, kể công việc với phạm vi hoạt động nhỏ thay đổi liên tục - Nâng cao hiệu lao động: Nhờ lập trình sẵn với chức tương tự cánh tay người, thiết bị ứng dụng vào nhiều lĩnh vực khác với mức suất hiệu quả, từ: hàn, sơn, lắp ráp bảng mạch in, dán nhãn, hỗ trợ xử lý vật liệu, kiểm tra sản phẩm thử nghiệm… - Tiết kiệm khơng gian chi phí: Khơng cần phải sử dụng đến nhiều nguồn lực hay máy móc to lớn, cánh tay robot bậc dư sức hồn thành cơng việc cách nhanh chóng, giúp tiết kiệm chi phí th nhân cơng, chi phí bảo trì, bảo dưỡng máy móc, chi phí th mặt bằng… - Hạn chế sai sót: Với lập trình, tính toán cẩn thận chi tiết, cánh tay robot chắn đảm bảo thao tác tiến hành cách chuẩn xác, Điều có nghĩa chẳng để xảy lỗi sai, vấn đề trục trặc trình sản xuất Chương III: Phân tích thiết kế mơ hình 3.1 Sơ đồ điều khiển vị trí cánh tay Bài toán điều khiển cánh tay robot đưa khâu chấp hành đến vị trí làm việc mong muốn Ngun lý điều khiển trí cánh tay trình bày Hình so sánh với giá trị thông khớp mắt người phản hồi về, sai lệch qua điều khiển tác động đến động cánh tay Từ thông số khớp lấy liên tục từ mắt, vị trí khâu chấp hành tính theo thời gian thực 3.2 Các thiết bị sử dụng mơ hình Để hồn thành hệ thống phần cứng yêu tố quan trọng Chương giới thiệu phần cứng sử dụng hệ thống theo sau thơng số kỹ thuật nhìn chung cách kết nối phần cứng 3.2.1 Arduino ● Giới thiệu Arduino Arduino bo mạch vi xử lý dùng để lập trình tương tác với thiết bị phần cứng cảm biến, động cơ, đèn số thiết bị khác Lý Arduino biết đến rộng rãi nhờ môi trường phát triển ứng dụng dễ sử dụng, ngôn ngữ lập trình dễ tiếp cận Hơn điều đặc biệt tạo nên cộng đồng Arduino mạnh mẽ Arduino có mức giá thấp, mã nguồn từ phần cứng đến phần mềm mở ● Giới thiệu Arduino Uno Vi điều khiển Arduino UNO sử dụng vi điều khiển họ 8bit AVR ATmega8, ATmega168, ATmega328 Bộ não xử lý tác vụ đơn giản điều khiển đèn LED nhấp nháy, xử lý tín hiệu cho xe điều khiển từ xa, làm trạm đo nhiệt độ - độ ẩm hiển thị lên hình LCD Năng lượng Arduino UNO cấp nguồn 5V thơng qua cổng USB cấp nguồn ngồi với điện áp khuyên dùng 7-12V DC giới hạn 6-20V Nếu cấp nguồn vượt ngưỡng giới hạn làm hỏng Arduino UNO Các chân lượng GND (Ground): cực âm nguồn điện cấp cho Arduino UNO Khi dùng thiết bị sử dụng nguồn điện riêng biệt chân phải nối với 5V: cấp điện áp 5V đầu Dòng tối đa cho phép chân 500mA 3.3V: cấp điện áp 3.3V đầu Dòng tối đa cho phép chân 50mA Vin (Voltage Input): để cấp nguồn cho Arduino UNO, nối cực dương nguồn với chân cực âm nguồn với chân GND IOREF: Điện áp hoạt động vi điều khiển Arduino UNO đo chân Và dĩ nhiên ln 5V Mặc dù không lấy nguồn 5V từ chân để sử dụng chức khơng phải cấp nguồn RESET: việc nhấn nút Reset board để reset vi điều khiển tương đương với việc chân RESET nối với GND qua điện trở 10KΩ Bộ nhớ Vi điều khiển Atmega328 tiêu chuẩn cung cấp cho người dùng: ● 32KB nhớ Flash: đoạn lệnh bạn lập trình lưu trữ nhớ Flash vi điều khiển Thường có khoảng vài KB số dùng cho bootloader đừng lo, bạn cần 20KB nhớ đâu ● 2KB cho SRAM (Static Random Access Memory): giá trị biến bạn khai báo lập trình lưu Bạn khai báo nhiều biến cần nhiều nhớ RAM Tuy vậy, thực nhớ RAM lại trở thành thứ mà bạn phải bận tâm Khi điện, liệu SRAM bị ● 1KB cho EEPROM (Electrically Eraseble Programmable Read Only Memory): giống ổ cứng mini – nơi bạn đọc ghi liệu vào mà khơng phải lo bị cúp điện giống liệu SRAM 10 Các cổng vào/ra Arduino UNO có 14 chân digital dùng để đọc xuất tín hiệu Chúng có mức điện áp 0V 5V với dòng vào/ra tối đa chân 40mA Ở chân có điện trở pull-up từ cài đặt vi điều khiển ATmega328 (mặc định điện trở khơng kết nối) Một số chân digital có chức đặc biệt sau: ● chân Serial: (RX) (TX): dùng để gửi (transmit – TX) nhận (receive – RX) liệu TTL Serial Arduino Uno giao tiếp với thiết bị khác thông qua chân Kết nối bluetooth thường thấy nói nơm na kết nối Serial khơng dây Nếu khơng cần giao tiếp Serial, bạn không nên sử dụng chân không cần thiết ● Chân PWM (~): 3, 5, 6, 9, 10, 11: cho phép bạn xuất xung PWM với độ phân giải 8bit (giá trị từ → 28-1 tương ứng với 0V → 5V) hàm analogWrite() Nói cách đơn giản, bạn điều chỉnh điện áp chân từ mức 0V đến 5V thay cố định mức 0V 5V chân khác ● Chân giao tiếp SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK) Ngồi chức thơng thường, chân dùng để truyền phát liệu giao thức SPI với thiết bị khác ● LED 13: Arduino UNO có đèn led màu cam (kí hiệu chữ L) Khi bấm nút Reset, bạn thấy đèn nhấp nháy để báo hiệu Nó nối với chân số 13 Khi chân người dùng sử dụng, LED sáng Arduino UNO có chân analog (A0 → A5) cung cấp độ phân giải tín hiệu 10bit (0 → 210-1) để đọc giá trị điện áp khoảng 0V → 5V Với chân AREF board, bạn để đưa vào điện áp tham chiếu sử dụng 11 chân analog Tức bạn cấp điện áp 2.5V vào chân bạn dùng chân analog để đo điện áp khoảng từ 0V → 2.5V với độ phân giải 10bit Đặc biệt, Arduino UNO có chân A4 (SDA) A5 (SCL) hỗ trợ giao tiếp I2C/TWI với thiết bị khác 3.2.2 Động servo - Động servo có góc quay 0-180o - Động servo thiết kế cho hệ thống hồi tiếp vịng kín - Khi động quay, vận tốc vị trí hồi tiếp mạch điều khiển - Chức Servo điều khiển vị trí, thay đổi tốc độ xác, điều chỉnh momen phù hợp với ứng dụng công việc Động RC servo 9G Động RC Servo 9G động phổ biến dùng mơ hình điều khiển nhỏ đơn giản cánh tay robot Động có tốc độ phản ứng nhanh, tích hợp sẵn Driver điều khiển động cơ, dễ dàng điều khiển góc quay phương pháp điều độ rộng xung PWM Đặc điểm: - Kích thước: 23mmX12.2mmX2i9mm Trọng lượng: gam 12 - Điện áp hoạt động: 4.2-6V Nhiệt độ: ℃ – 55 ℃ Tốc độ: 0.3 giây / 60 độ Khung cánh tay robot 13 Phần mềm điều khiển 3.3.1: Phần mềm Arduino IDE Hình 3.1: Giao diện phần mềm IDE - Môi trường phát triển tích hợp (IDE) Arduino ứng dụng crossplatform (nền tảng) viết Java, từ IDE sử dụng cho ngơn ngữ lập trình xử lý (Processing programming language) project Wiring Nó thiết kế để dành cho người tập làm quen với lĩnh vực phát triển phần mềm Nó bao gồm chương trình code editor với chức đánh đầu cú pháp, tự động brace matching, tự động canh lề, compile(biên dịch) upload chương trình lên board với cú nhấp chuột Một chương trình code viết cho Arduino gọi sketch Các chương trình Arduino viết C C++ Arduino IDE kèm với thư viện phần mềm gọi "Wiring", từ project Wiring gốc, giúp thao tác input/output dễ dàng Người dùng cần định nghĩa hàm để tạo chương trình vịng thực thi (cyclic executive) chạy setup() : hàm chạy khởi động chương trình, dùng để thiết lập cài đặt loop() : hàm gọi lặp lại tắt nguồn board mạch Một chương trình điển hình cho vi điều khiển đơn giản làm cho bóng đèn Led sáng/tắt Trong môi trường Arduino, ta phải viết chương trình giống sau: 14 3.3.2 Các thao tác hoạt động cánh tay ● ● ● ● ● ● ● Thiết lập cánh tay robot trạng thái ban đầu Quay cánh tay máy hướng điểm gắp vật Hạ cánh tay máy Mở tay gắp kẹp Hạ tay gắp, kẹp xuống Gắp, kẹp vật thể Di chuyển đến vị trí khác 3.3.3 Lưu đồ thuật toán 15 Khi setup điều khiển cánh tay robot thông qua chiết áp đạt vị trí mong muốn ấn record vị trí lưu lại vào ram Ấn nút play robot tự động di chuyển theo vị trí record theo tứ tự Khi tạm dừng chương trình robot dừng lại ấn lại nút play robot hoạt động trở lại Trong trường hợp điện đột ngột khởi động lại chương trình ấn nút play robot tự động di chuyển theo chương trình setup trước 3.3.4 Mã nguồn chương trình điều khiển Sơ đồ lắp mạch Lập trình 16 #define servo_max #define step_max 200 #define start_pause_pin 12 #define record_pin #define ENABLE_EEPROM_PIN #define led_pin 13 #define delay_toc_do 20 byte pin_analog[servo_max] = { A0, A1}; byte pin_servo[servo_max] = {3, 5}; unsigned int A0_value, A1_value; byte get_goc(byte servo_i) { switch (servo_i) { case 0: A0_value =analogRead(A0); return map(A0_value, 0, 1023, 0, 179); break; case 1: A1_value = analogRead(A1); return map(A1_value, 0, 1023, 0, 179); break; default: break; } } const unsigned int SIZE_MEMORY_EEPROM = 1024; #include #include Servo servo[servo_max]; int step_move = 0; byte goc_servo[servo_max][step_max]; byte goc_tam_thoi[servo_max] = { 90 }; void setup() { pinMode(led_pin, OUTPUT); Serial.begin(9600); pinMode(start_pause_pin, INPUT_PULLUP); pinMode(ENABLE_EEPROM_PIN, INPUT_PULLUP); pinMode(record_pin, INPUT_PULLUP); 17 for (byte i = 0; i < servo_max; i++) { pinMode(pin_analog[i], INPUT); servo[i].attach(pin_servo[i]); } ADCSRA = ((ADCSRA & (B11111000)) | B00000100); learn_and_move(); } void move_servo(byte i, byte goc_i) { servo[i].write(goc_i); } void nhap_nhay(unsigned int time_delay, byte count) { for (byte i = 0; i < count; i++) { digitalWrite(led_pin, HIGH); delay(time_delay); digitalWrite(led_pin, LOW); delay(time_delay * 2); } } void record(unsigned int step_x) { for (byte i = 0; i < servo_max; i++) { goc_servo[i][step_x] = get_goc(i); } nhap_nhay(100, 2); Serial.println(goc_servo[0][step_x]); } void move_all() { for (byte i = 0; i < servo_max; i++) { move_servo(i, goc_tam_thoi[i]); } // di chuyển } void control_servo() { byte hieu; 18 for (byte i = 0; i < servo_max; i++) { hieu = abs(goc_tam_thoi[i] - get_goc(i)); if ((hieu >= 1) && (hieu < 170)) { goc_tam_thoi[i] = get_goc(i); } } // lấy góc move_all(); } void nap_eeprom_sang_ram() { step_move = EEPROM.read(SIZE_MEMORY_EEPROM - 1); for (byte i = 0; i < servo_max; i++) { for (int step_j = 0; step_j < step_max; step_j++) { goc_servo[i][step_j] = EEPROM.read(step_j + i * step_max); } } } void luu_vao_eeprom() { EEPROM.write(SIZE_MEMORY_EEPROM - 1, step_move); delay(15); nhap_nhay(500, 3); digitalWrite(led_pin, HIGH); for (byte i = 0; i < servo_max; i++) { //Serial.print("luu"); //Serial.println(i); for (int step_j = 0; step_j < step_move; step_j++) { EEPROM.write(step_j + i * step_max, goc_servo[i][step_j]); delay(15); } } nhap_nhay(500, 3); 19 digitalWrite(led_pin, LOW); // tắt đèn } void pause() { if (digitalRead(start_pause_pin) == 0) { while (true) { digitalWrite(led_pin, 1); delay(300); // chống nhiễu Serial.println("PAUSE"); if (digitalRead(ENABLE_EEPROM_PIN) == 0) { // nhấn lưu eeprom delay(300); luu_vao_eeprom(); } if (digitalRead(start_pause_pin) == 0) { Serial.println("START"); digitalWrite(led_pin, 0); delay(300); goto out_pause; } } } out_pause:; } void auto_move() { Serial.println(step_move); nhap_nhay(50, 3); float hieu_f[servo_max]; unsigned int step = 0, step_next; byte time; byte thay_doi; while (true) { 20 //lấy hiệu góc góc sau if (step < step_move) { step_next = step + 1; // không viết : step++ } else { step_next = 0; } for (byte i = 0; i < servo_max; i++) { hieu_f[i] = (float(goc_servo[i][step]) - float(goc_servo[i][step_next])); } Serial.println(step); Serial.println(goc_servo[0][step]); Serial.println(goc_servo[0][step_next]); Serial.println(hieu_f[0]); for (float loading = 1.0; loading = 0.0) && (loading < 20.0)) { time = delay_toc_do * + 5; } else if (loading < 30.0) { time = delay_toc_do / + 5; } else if (loading < 90.0) { time = delay_toc_do + 5; } 21 else { time = delay_toc_do * + 5; } // delay(delay_toc_do); while ((millis() % delay_toc_do) != 0) { pause(); } //while step = 0; // lại từ đầu } delay(100); } //while } void learn_and_move() { step_move = 0; while (digitalRead(start_pause_pin) != 0) { //b1: điều khiển servo biến trở while (digitalRead(record_pin) != 0) { control_servo(); if ((digitalRead(start_pause_pin) == 0) && (step_move == 0)) { nap_eeprom_sang_ram(); } if ((digitalRead(start_pause_pin) == 0) && (step_move != 0)) { goto buoc_3; } } record(step_move); if (step_move < step_max) { step_move++; } } buoc_3: step_move ; auto_move(); 22 } void loop() { } KẾT LUẬN Kiểm tra tính ổn định Hệ thống hoạt động ổn định, đạt yêu cầu đề ra, nhiên hoạt động nhiều hạn chế chưa tích hợp nhiều tính Về hệ thống sử dụng - Ưu điểm: + Mơ hình nhỏ gọn + Đáp ứng yêu cầu đề tài + Kết nối ổn định - Nhược điểm: +Chưa khai thác hết tính + Vẫn cịn độ trễ định + Vẫn số lỗi nhiễu cảm biến Hướng phát triển + Hệ thống áp dụng thực tế, nhà máy + Hệ thống nâng cấp thành mơ hình nhà máy thơng minh với khả phân loại khác đặc thù 23 TÀI LIỆU THAM KHẢO https://uniduc.com/vi/blog/canh-tay-robot-la-gi https://carnovn.com/tim-hieu-su-ra-doi-cua-canh-tay-robot-3-bac-va-loi-ich-cuachung/ https://123docz.net//document/1167908-thiet-ke-che-tao-va-dieu-khien-canh-tayrobot-3-bac-tu-do.htm https://baoanjsc.com.vn/tin-hang/arm-robot nhung-ung-dung-cua-canh-tayrobot_2_1_31596_vn.aspx http://arduino.vn/bai-viet/42-arduino-uno-r3-la-gi https://www.academia.edu/35289814/Canh_Tay_robot_arm_robot_ 24 ... chuyền sản xuất ngày phổ biến Xuất phát từ vấn đề mà thực tiễn đề trên, báo cáo nghiên cứu ? ?Thiết kế chế tạo cánh tay robot gắp sản phẩm? ?? Chương I: Tổng quan cánh tay robot học lệnh gắp sản phẩm. .. tạo cánh tay robot Nghiên cứu ứng dụng mạch Arduino để điều khiển cánh tay robot Ý nghĩa khoa học thực tiễn đề tài - - Kết nghiên cứu đề tài ứng dụng xây dựng cánh tay robot tự động gắp sản phẩm, ... tiễn đề tài .4 Chương II: Thiết kế cánh tay robot gắp sản phẩm .4 2.1 Thiết kế mơ hình cánh tay 2.2 Ứng dụng lợi ích cánh tay robot .6 Chương III: Phân tích thiết