1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Ứng dụng cánh tay robot 6 bậc tự do trong vẽ tranh

136 11 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Ứng Dụng Cánh Tay Robot 6 Bậc Tự Do Trong Vẽ Tranh
Tác giả Phạm Trần Nguyên Vũ, Trần Hoàng Kha
Người hướng dẫn ThS. Lê Hoàng Lâm
Trường học Trường Đại Học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh
Chuyên ngành Công Nghệ Kỹ Thuật Điều Khiển Và Tự Động Hóa
Thể loại Đồ án tốt nghiệp
Năm xuất bản 2023
Thành phố Thành Phố Hồ Chí Minh
Định dạng
Số trang 136
Dung lượng 11,86 MB

Cấu trúc

  • CHƯƠNG 1. TỔNG QUAN VỀ ĐỀ TÀI (18)
    • 1.1 Đặt vấn đề (18)
    • 1.2 Mục tiêu nghiên cứu (19)
    • 1.3 Nội dung nghiên cứu (19)
    • 1.4 Giới hạn đề tài (20)
  • CHƯƠNG 2. CƠ SỞ LÝ THUYẾT (19)
    • 2.1 Khái quát về PLC (21)
      • 2.1.1 Tổng quan về PLC (21)
      • 2.1.2 Đặc điểm của PLC (22)
      • 2.1.3 Vai trò ứng dụng của PLC (23)
    • 2.2 Dòng Q của PLC hãng Mitsubishi (25)
      • 2.2.1 Tổng quan về dòng Q (25)
      • 2.2.2 Cấu trúc dòng Q PLC của Mitsubishi (27)
      • 2.2.3 Nguyên lý hoạt động của PLC (28)
    • 2.3 Động cơ Servo (29)
      • 2.3.1 Tổng quan (29)
      • 2.3.2 Phân loại (30)
      • 2.3.3 Chức năng (31)
      • 2.3.4 Đặc điểm (31)
    • 2.4 Bộ khuếch đại Driver/Amplifier (32)
      • 2.4.1 Tổng quan (32)
      • 2.4.2 Phân loại (33)
      • 2.4.3 Chức năng (33)
      • 2.4.4 Đặc điểm (34)
    • 2.5 Encoder dạng quang học (35)
      • 2.5.1 Tổng quan (35)
      • 2.5.2 Phân loại (37)
      • 2.5.3 Chức năng (37)
      • 2.5.4 Đặc điểm (38)
    • 2.6 Hệ điều khiển Servo (39)
      • 2.6.1 Tổng quan (39)
      • 2.6.2 Cấu trúc (40)
      • 2.6.3 Đặc điểm (41)
      • 2.6.4 Phương pháp điều khiển vị trí Servo (41)
    • 2.7 Ngôn ngữ lập trình Motion SFC (42)
      • 2.7.1 Sơ lược về ngôn ngữ SFC (42)
      • 2.7.2 Trình tự PLC thực hiện các bước trong chương trình SFC (43)
      • 2.7.3 Bảng và biểu tượng chương trình SFC (44)
    • 2.8 Các bài toán cơ bản của Robot (45)
      • 2.8.1 Ma trận (45)
      • 2.8.2 Bài toán đặt trục (49)
      • 2.8.3 Động học thuận (51)
      • 2.8.4 Động học nghịch (51)
      • 2.8.5 Qui hoạch quỹ đạo (52)
      • 2.8.6 Quy trình điều khiển Robot cơ bản (57)
    • 2.9 Lý thuyết xử lý ảnh cơ bản cho hình vẽ (59)
      • 2.9.1 Bài toán lấy biên của ảnh theo Canny (59)
      • 2.9.2 Bài toán xác định đường bao ảnh (60)
  • CHƯƠNG 3. THIẾT KẾ VÀ THI CÔNG HỆ THỐNG (20)
    • 3.1 Thi công thiết kế phần cơ khí (62)
      • 3.1.1 Yêu cầu phần cứng (62)
      • 3.1.2 Thiết kế và bố trí phần cứng (62)
      • 3.1.3 Thiết kế tool cầm bút (63)
      • 3.1.4 Khung mô hình (65)
    • 3.2 Thi công thiết kế phần điện (65)
      • 3.2.2 Sơ đồ nối dây (73)
    • 3.3 Thi công thiết kế giao diện người dùng (75)
      • 3.3.1 Giao diện SoftGot2000 (75)
      • 3.3.2 Phần mềm C# (81)
      • 3.3.3 Phần mềm Python (82)
    • 3.4 Các bài toán giải thuật cho Robot (84)
      • 3.4.1 Đặt trục cho cánh tay robot (84)
      • 3.4.2 Xây dựng bảng DH (85)
      • 3.4.3 Tính toán động học thuận (85)
      • 3.4.4 Tính toán động học nghịch (89)
      • 3.4.5 Không gian làm việc (96)
      • 3.4.6 Giải thuật xử lý ảnh (100)
    • 3.5 Điều khiển Robot (100)
  • CHƯƠNG 4. MÔ PHỎNG VÀ VẬN HÀNH HỆ THỐNG (20)
    • 4.1 Mô phỏng kiểm chứng lý thuyết (102)
      • 4.1.1 Kiểm chứng động học thuận (102)
      • 4.1.2 Kiểm chứng động học nghịch (105)
    • 4.2 Vận hành hệ thống thực tế (107)
  • CHƯƠNG 5. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN (20)
    • 5.1 Kết luận (116)
    • 5.2 Hướng phát triển của đề tài (116)
  • TÀI LIỆU THAM KHẢO (117)
  • PHỤ LỤC (118)
    • gian 3 chiều (0)

Nội dung

Độ chính xác và đáp ứng nhanh: Động cơ Servo có khả năng đạt được độ chính xác cao trong việc điều khiển vị trí và tốc độ di chuyển.. Hình 2.8: Động cơ Servo của hãng Mitsubishi2.3.3 Chứ

TỔNG QUAN VỀ ĐỀ TÀI

Đặt vấn đề

Tình hình ứng dụng robot trong công nghiệp đang phát triển mạnh mẽ, đóng vai trò quan trọng trong việc công nghiệp hóa và hiện đại hóa quy trình sản xuất tự động Sự tiến bộ này không chỉ nâng cao hiệu quả sản xuất mà còn tạo ra những thay đổi tích cực cho ngành công nghiệp.

Robot công nghiệp ra đời nhằm đáp ứng nhu cầu tự động hóa trong ngành công nghiệp, giúp tăng năng suất và hiệu suất thông qua việc thực hiện các tác vụ lặp đi lặp lại một cách chính xác và nhanh chóng, từ đó giảm thiểu sai sót do yếu tố con người Chúng cũng mang lại tính linh hoạt cao nhờ khả năng lập trình và cấu hình để thực hiện nhiều nhiệm vụ khác nhau, thích ứng với sự thay đổi trong quy trình sản xuất Hơn nữa, robot có khả năng làm việc trong môi trường độc hại và có nhiệt độ cao, góp phần giảm thiểu nguy cơ tai nạn lao động và nâng cao tính cạnh tranh giữa các doanh nghiệp.

Hình 1.1: Dây chuyền lắp ráp sử dụng Robot

Trong các dây chuyền sản xuất yêu cầu thực hiện các tác vụ phức tạp, việc sử dụng robot có cánh tay với số trục cao như năm hoặc sáu trục là rất cần thiết Cánh tay robot sáu trục đóng vai trò quan trọng, mang lại khả năng hoạt động linh hoạt và đa dạng, từ đó nâng cao hiệu quả của dây chuyền robot.

Hiện nay, thị trường có nhiều loại cánh tay robot với đa dạng trục, phục vụ cho nhiều mục đích khác nhau Nhóm chúng tôi đã chọn ứng dụng và điều khiển cánh tay robot sáu bậc tự do cho luận văn tốt nghiệp.

Hình 1.2: Cánh tay robot Denso VS-6556

Để mở rộng ứng dụng của cánh tay robot, nhóm chúng tôi đã tích hợp công nghệ xử lý ảnh, từ đó nâng cao khả năng nhận diện đối tượng và tương tác của robot với môi trường xung quanh.

Trong quá trình thực hiện đề tài, nhóm đã gặp nhiều khó khăn liên quan đến việc kết nối ổn định phần cứng và điện, cũng như giải quyết các lỗi thường gặp Tuy nhiên, nhóm đã thành công trong việc tính toán động học cho cánh tay robot sáu bậc và cuối cùng hoàn thành đề tài với kết quả mong muốn.

Mục tiêu nghiên cứu

Nhóm đặt mục tiêu vẽ những hình ảnh phức tạp thông qua xử lý ảnh, chia công việc thành ba giai đoạn Đầu tiên, nhóm tính toán động học phù hợp và thử nghiệm chạy các điểm trên mặt phẳng Tiếp theo, họ nâng cao việc chạy các điểm bằng cách vẽ đường thẳng, đường tròn và đường tròn nội tiếp hình vuông dựa trên các phương trình toán học Cuối cùng, nhóm ứng dụng xử lý ảnh để vẽ các hình phức tạp hơn, xử lý ảnh đầu vào và gửi các điểm trên đường viền đến robot để tạo ra hình ảnh.

Nội dung nghiên cứu

Chương này trình bày các vấn đề và lý do lựa chọn đề tài, đồng thời xác định mục tiêu nghiên cứu và chỉ ra những giới hạn mà đề tài gặp phải.

Chương 2: Cơ sở lý thuyết

Chương này trình bày lý thuyết cơ bản về PLC, đặc biệt là PLC của hãng Mitsubishi, cùng với các linh kiện liên quan Nó cũng đề cập đến lý thuyết ngôn ngữ lập trình SFC, tính toán động học và lý thuyết xử lý ảnh.

Chương 3: Thiết kế và thi công hệ thống

Chương này đề cập đến quy trình thi công phần cơ khí và điện, bao gồm tính toán và lựa chọn thông số cho robot Ngoài ra, bài viết cũng trình bày các giải thuật điều khiển robot và phương pháp điều khiển hiệu quả.

Chương 4: Mô phỏng và vận hành hệ thống

Tại chương này thực hiện mô phỏng kiểm chứng lý thuyết và mô phỏng kiểm chứng điều khiển, sau đó thực hiện vận hành hệ thống thực tế

Chương 5: Kết luận và hướng phát triển

Chương này trình bày kết quả đạt được trong quá trình thi công đề tài và so sánh những kết quả này với các mục tiêu ban đầu đã đề ra.

Kết luận sau khi hoàn thành đề tài Đưa ra những ưu điểm, nhược điểm và phương hướng phát triển đề tài trong tương lai.

CƠ SỞ LÝ THUYẾT

Khái quát về PLC

2.1.1 Tổng quan về PLC Định nghĩa: Programmable Logic Control hay PLC là bộ điều khiển lập trình, là thiết bị điều khiển lập trình cho phép thực hiện linh hoạt các thuật toán điều khiển logic thông qua một ngôn ngữ lập trình PLC sử dụng bộ nhớ khả trình để lưu trữ chương trình và thực hiện yêu cầu điều khiển PLC có thể coi là một máy tính được thiết kế hoạt động tin cậy trong môi trường công nghiệp

PLC được cấu tạo bởi các thành phần chính như bộ xử lý trung tâm (CPU), khối ngõ vào bao gồm tín hiệu số (Digital Input) và tín hiệu tương tự (Analog Input), khối ngõ ra với tín hiệu số (Digital Output) và tín hiệu tương tự (Analog Output), khối cấp nguồn, cùng với bộ nhớ của PLC.

Hình 2.1: Cấu trúc cơ bản của PLC

Chức năng của các khối cấu trúc cơ bản trong PLC bao gồm bộ xử lý trung tâm CPU, là bộ não quyết định tốc độ xử lý và khả năng điều khiển của PLC, nơi tiếp nhận tín hiệu từ ngõ vào, xử lý và xuất tín hiệu ra ngõ ra Khối ngõ vào bao gồm hai loại: ngõ vào tín hiệu số (Digital Input) và ngõ vào tín hiệu tương tự (Analog Input), mỗi loại có những đặc điểm riêng biệt.

Ngõ vào tín hiệu số là một thành phần quan trọng dùng để kết nối các thiết bị phát tín hiệu dạng xung, bao gồm nút nhấn, công tắc hành trình và cảm biến tiệm cận Ngõ vào này có khả năng nhận hai dạng tín hiệu điện: 24V biểu thị cho tín hiệu mức cao (1) và 0V biểu thị cho tín hiệu mức thấp (0).

Ngõ vào tín hiệu tương tự được sử dụng để kết nối với các thiết bị tạo ra tín hiệu liên tục như cảm biến nhiệt độ, khoảng cách và độ ẩm Nó nhận chuỗi điện áp thay đổi liên tục từ 0V đến 10V hoặc 4mA đến 20mA Khối ngõ ra bao gồm hai loại: ngõ ra tín hiệu số và ngõ ra tín hiệu tương tự, với các đặc điểm riêng biệt cho từng loại.

Ngõ ra tín hiệu số thường được cấu tạo từ relay hoặc transistor, tùy thuộc vào tốc độ tạo xung mà nhà sản xuất mong muốn Đối với các ứng dụng không yêu cầu tần số cao, ngõ ra dạng relay được sử dụng, chẳng hạn như trong việc đóng ngắt đèn báo, chuông điện, và van xi lanh Ngược lại, trong các ứng dụng cần tốc độ tạo xung cao như điều khiển động cơ bước hoặc servo, ngõ ra dạng transistor sẽ là lựa chọn phù hợp.

Ngõ ra tín hiệu tương tự thường được sử dụng trong các ứng dụng điều khiển thiết bị cần tín hiệu liên tục, như biến tần và van tuyến tính Khối cấp nguồn cung cấp nguồn điện chính cho PLC hoạt động, trong khi bộ nhớ của PLC lưu trữ chương trình, giá trị và tín hiệu cần thiết cho quá trình điều khiển.

Hình 2.2: Mối liên kết giữa các khối module cơ bản của PLC

2.1.2 Đặc điểm của PLC Ưu điểm: PLC là một bộ điều khiển mạnh với sự ổn định cao, hiệu năng xử lý nhanh chính xác cũng như có một bộ nhớ lớn Cùng với hiệu năng điều khiển tốt,

PLC cung cấp ngôn ngữ lập trình đơn giản, dễ học và áp dụng, với nhiều ưu điểm nổi bật Đầu tiên, nó cho phép điều khiển chương trình một cách linh hoạt, dễ dàng thay đổi yêu cầu hoạt động và đối tượng điều khiển thông qua việc điều chỉnh chương trình Thứ hai, PLC tích hợp các bộ đếm thời gian và bộ đếm, hỗ trợ hiệu quả cho các ứng dụng yêu cầu cụ thể Ngoài ra, nó còn có các khối hàm chức năng như bộ phát xung tốc độ cao và bộ điều khiển PID Cấu trúc module của PLC giúp dễ dàng thay thế và mở rộng các ngõ vào/ra, cũng như kết nối nhiều khối CPU Hơn nữa, PLC dễ dàng giao tiếp với các thiết bị thông minh khác và có khả năng chống nhiễu tốt, đảm bảo tuổi thọ cao Cuối cùng, PLC có thể thay thế hoàn toàn mạch điều khiển truyền thông sử dụng dây dẫn.

Nhược điểm lớn nhất của PLC là giá thành cao, làm cho việc tiếp cận trở nên khó khăn So với mạch điều khiển tiếp điểm truyền thống, chi phí của PLC khá cao, điều này cản trở khả năng áp dụng trong các hệ thống đơn giản với yêu cầu điều khiển không nhiều Hơn nữa, việc điều khiển PLC đòi hỏi người sử dụng phải có kiến thức cơ bản về lập trình, tạo ra một rào cản cho những người không quen thuộc với công nghệ này.

2.1.3 Vai trò ứng dụng của PLC

PLC với khả năng đa nhiệm giúp tăng năng suất và sản lượng cho ngành công nghiệp, đóng vai trò thiết yếu trong tự động hóa và nâng cao hiệu quả dây chuyền sản xuất Hiện nay, PLC đã thay thế hầu hết các hệ thống điều khiển truyền thống, mang lại hiệu quả hoạt động cao hơn, độ tin cậy lớn hơn, tiết kiệm nhân công và giảm thiểu sai sót trong quá trình vận hành.

Các dòng PLC Mitsubishi phổ biến trên thị trường hiện nay gồm:

Bảng 2.1: Các dòng PLC Mitsubishi phổ biến trên thị trường

Dòng PLC Hình ảnh minh họa iQ – R iQ – F

Dòng PLC Q được sử dụng trong nghiên cứu này rất phù hợp cho việc điều khiển robot, đồng thời cho phép mở rộng dễ dàng các khối ngõ vào/ra Ngoài ra, nó cũng thích hợp cho hệ thống nhiều CPU.

Dòng Q của PLC hãng Mitsubishi

Dòng Q của PLC Mitsubishi được phát triển từ sản phẩm AnSH trước đó, cho phép người dùng linh hoạt trong việc phối hợp và lựa chọn các thành phần như PLC, công cụ truyền tin, module điều khiển chuyên biệt và module I/O trên cùng một nền tảng Hệ thống có thể được cấu hình theo nhu cầu cụ thể của người dùng, với khả năng kết nối tối đa 4 CPU khác nhau, bao gồm PLC CPU cơ bản và nâng cao, Motion CPU, Process Controllers và PC Điều này mang lại sự linh hoạt trong việc lựa chọn hướng điều khiển và ngôn ngữ lập trình, tất cả trên một nền tảng duy nhất.

Phân loại CPU dòng Q của PLC Mitsubishi

Bảng 2.2: Một số CPU dòng Q của PLC Mitsubishi

Tên CPU dòng Q Mô tả Mẫu CPU

QnUCPU Các tính năng, phương pháp, thiết bị cho lập trình Mẫu CPU ứng dụng tổng quát

Qn(H)/QnPH Các tính năng, phương pháp, thiết bị cho lập trình

Mẫu CPU cơ bản/hiệu năng cao/điều khiển quy trình/dự phòng

Thông tin cho cấu hình hệ thống tối đa CPU, cấu hình hệ thống, thông số I/O, liên kết thiết bị vào/ra và tính năng thiết bị thông minh

Mẫu CPU cơ bản/hiệu năng cao/điều khiển quy trình/ứng dụng tổng quát

Cấu hình hệ thống dự phòng, tính năng, kết nối với các thiết bị bên ngoài và xử lý sự cố Mẫu CPU dự phòng QnUCPU

Tính năng liên kết thông qua cổng Ethernet tích hợp bên trong

Mẫu CPU ứng dụng tổng quát

Phân loại module nguồn cấp cho dòng Q PLC

Bảng 2.3: Phân loại module nguồn cung cấp cho CPU PLC

Module Nguồn vào Nguồn ra

Hình 2.3: Các loại nguồn cung cấp cho CPU PLC

Phân loại module ngõ vào cho dòng Q của PLC

Bảng 2.4: Phân loại module ngõ vào cho dòng Q của PLC

Phân loại module ngõ ra cho dòng Q của PLC

Bảng 2.5: Phân loại module ngõ ra cho dòng Q của PLC

2.2.2 Cấu trúc dòng Q PLC của Mitsubishi

Cấu trúc của dòng Q PLC tương tự như các dòng PLC khác, nhưng nổi bật với tính linh hoạt cho phép mở rộng và tùy chỉnh các module chức năng thông qua tính năng ghép nối.

Các module riêng lẻ của dòng Q PLC được ghép chung với nhau trên base để hình thành giao tiếp giữa các khối module với nhau

Hình 2.4: Cấu trúc cơ bản dòng Q của PLC Mitsubishi

Dòng Q PLC sở hữu các module cơ bản với chức năng tương tự như các loại PLC khác, trong đó khối ghép nối hay module Base đóng vai trò quan trọng trong việc thiết lập giao tiếp giữa PLC và các module chức năng khác Nhờ vào đặc tính này, dòng Q PLC mang lại tính linh hoạt cao trong việc mở rộng các module chức năng bên ngoài.

Hình 2.5: Mối liên kết giữa các khối module của dòng Q PLC

2.2.3 Nguyên lý hoạt động của PLC Đầu tiên các tín hiệu từ các thiết bị ngoại vi (sensor, contact, …) được đưa vào CPU thông qua module đầu vào Sau khi nhận được tín hiệu đầu vào thì CPU sẽ xử lý và đưa các tín hiệu điều khiển qua module đầu ra xuất ra các thiết bị được điều khiển bên ngoài theo 1 chương trình đã được lập trình sẵn Một chu kỳ bao gồm đọc tín hiệu đầu vào, thực hiện chương trình, truyền thông nội, tự kiểm tra lỗi, gửi cập nhật tín hiệu đầu ra được gọi là 1 chu kỳ quét hay 1 vòng quét (Scan Cycle) Thường thì việc thực hiện một vòng quét xảy ra trong thời gian rất ngắn (từ 1ms-100ms) Thời gian thực hiện vòng quét này phụ thuộc vào tốc độ xử lý lệnh của PLC, độ dài ngắn của chương trình, tốc độ giao tiếp giữa PLC và thiết bị ngoại vi

Vòng quét chương trình của PLC

Mỗi vòng quét bắt đầu bằng việc đọc tín hiệu đầu vào, sau đó thực hiện chương trình từ lệnh đầu tiên đến lệnh kết thúc Tiếp theo, hệ thống sẽ thực hiện truyền thông nội bộ và tự kiểm tra lỗi, trước khi cập nhật trạng thái ra đầu ra Output.

Hình 2.6: Vòng quét chương trình của PLC

Động cơ Servo

2.3.1 Tổng quan Động cơ Servo là một loại động cơ điện có khả năng điều khiển chính xác vị trí, tốc độ và lực Nó được sử dụng phổ biến trong các ứng dụng yêu cầu độ chính xác cao và điều khiển chính xác của cơ cấu di chuyển

Động cơ Servo hoạt động dựa trên nguyên lý phản hồi âm, kết hợp bộ giảm tốc và bộ mã hóa để cung cấp thông tin về vị trí và tốc độ của cơ cấu di chuyển đến hệ thống điều khiển Hệ thống này so sánh thông tin phản hồi với tín hiệu điều khiển, từ đó điều chỉnh động cơ để đạt được các điều kiện đã định trước Động cơ Servo nổi bật với độ chính xác cao trong việc điều khiển vị trí và tốc độ, đồng thời có khả năng đáp ứng nhanh chóng với các tín hiệu điều khiển và sự thay đổi của tải.

Động cơ Servo mang lại khả năng điều khiển vị trí và tốc độ di chuyển một cách chính xác, giúp duy trì vị trí ổn định và điều chỉnh tốc độ theo yêu cầu ứng dụng Với độ tin cậy và độ ổn định cao, động cơ Servo được thiết kế để hoạt động liên tục, bền bỉ trong các môi trường công nghiệp khắc nghiệt.

2.3.2 Phân loại Động cơ Servo thông thường dựa trên dòng điện mà phân thành 2 loại bao gồm động cơ DC Servo và động cơ AC Servo o Động cơ DC Servo: Nguồn cấp cho động cơ là nguồn điện 1 chiều, được thiết kế để ứng dụng vào những hệ thống sử dụng dòng điện nhỏ hơn Nó được phân thành hai loại: động cơ DC Servo 1 chiều có chổi than và không có chổi than Động cơ DC Servo thường có thế mạnh về điều khiển tốc độ với khả năng duy trì tốc độ cao một cách cực kì ổn định kiểm soát bởi bộ điều khiển PWM tích hợp o Động cơ AC Servo: Là loại motor xoay chạy bằng dòng điện xoay chiều

Động cơ AC Servo hoạt động dựa trên nguyên lý nam châm vĩnh cửu và được điều khiển chính xác nhờ hệ thống encoder hồi tiếp, giúp theo dõi vị trí rotor So với DC Servo, động cơ AC Servo có quán tính rotor thấp hơn, với hệ thống điều khiển phức tạp và khả năng điều phối dòng điện, tần số và pha của stator bởi driver để đạt được vị trí mong muốn Tốc độ quay của động cơ AC Servo có thể lên đến 6000 vòng/phút hoặc hơn trong các ứng dụng chuyên dụng Mitsubishi phân loại động cơ AC Servo theo ứng dụng và ký hiệu Seri, bao gồm: động cơ quán tính trung bình (Series HF) cho độ chính xác cao và tăng tốc nhanh, động cơ quán tính thấp (Series HF-KP) cho định vị tốc độ cao, động cơ servo tuyến tính (Series LM-F) thích hợp cho môi trường sạch sẽ, và động cơ servo dẫn động trực tiếp (Series TM-RB) kết hợp mô-men xoắn cao với hệ thống điều khiển hiệu suất cao, mang lại khả năng tăng tốc và định vị nhanh chóng.

Hình 2.8: Động cơ Servo của hãng Mitsubishi

2.3.3 Chức năng Động cơ Servo nhỏ nhưng rất quan trọng để sử dụng các ứng dụng yêu cầu điều khiển vị trí chính xác AC Servo có khả năng thực hiện ba loại điều khiển: điều khiển vị trí, điều khiển tốc độ, điều khiển moment o Điều khiển vị trí: AC Servo có khả năng điều khiển vị trí chính xác đến từng micromet mà mắt người không thể phát hiện được o Điều khiển tốc độ: Điều khiển tốc độ được sử dụng cho các thiết bị được biết đến như máy xi mạ quay được sử dụng để sản xuất mạch bán dẫn… o Điều khiển moment: Moment là lực dùng để xoay các trục được sử dụng như máy in công nghiệp

2.3.4 Đặc điểm Ưu điểm: Các điểm mạnh của Servo có thể được liệt kê như sau: o Điều khiển tốc độ chính xác, điều khiển trơn tru trên toàn bộ vùng tốc độ Hầu như không dao động o Hiệu suất cao hơn 90%, ít nhiệt, điều khiển tốc độ cao, điều khiển vị trí chính xác cao (tùy thuộc vào độ chính xác của bộ mã hoá) Moment xoắn, quán tính thấp, tiếng ồn thấp, không có bàn chải mặc, bảo trì miễn phí

Nhược điểm: Điều khiển tương đối phức tạp, các thông số ổ đĩa cần phải điều chỉnh các thông số PID để xác định nhu cầu kết nối nhiều hơn.

Bộ khuếch đại Driver/Amplifier

Bộ khuếch đại Driver, hay còn gọi là Amplifier, là thành phần quan trọng trong hệ thống Servo, chịu trách nhiệm điều khiển và tăng cường tín hiệu điều khiển để đáp ứng chính xác yêu cầu của hệ Servo Nó giúp điều khiển động cơ hoặc cơ cấu di chuyển dựa trên tín hiệu điều khiển, đảm bảo hoạt động hiệu quả của toàn bộ hệ thống.

Bộ khuếch đại Driver có chức năng nhận tín hiệu điều khiển từ nguồn và tạo ra tín hiệu ra với điện áp, dòng điện và công suất phù hợp để điều khiển động cơ hoặc cơ cấu di chuyển Để đảm bảo hoạt động ổn định của hệ thống Servo, bộ khuếch đại Driver cần có khả năng điều khiển chính xác và đáng tin cậy.

Hình 2.9: Bộ khuếch đại Driver/Amplifier Servo

Mitsubishi Electric là một trong những nhà sản xuất hàng đầu về giải pháp điều khiển và tự động hóa, đặc biệt là bộ khuếch đại Driver Dòng sản phẩm MELSERVO cung cấp khả năng điều khiển chính xác cho động cơ Servo với tính năng bảo vệ và giao tiếp linh hoạt Bộ khuếch đại driver MR – JE là sản phẩm Servo tiên tiến, nâng cao hiệu suất và độ chính xác cho nhiều ứng dụng Trong khi đó, bộ khuếch đại Driver MR – J4, với công nghệ tiên tiến, mang đến hiệu suất cao và độ tin cậy trong điều khiển động cơ Servo Cuối cùng, bộ khuếch đại Driver MELSEC iQ – F là một phần của hệ thống điều khiển tự động MELSEC iQ – F của Mitsubishi Electric.

Bộ khuếch đại Driver MELSEC iQ – F của Mitsubishi Electric cung cấp chức năng điều khiển và giám sát toàn diện cho các thành phần động cơ và động cơ bước, giúp tối ưu hóa hiệu suất và độ tin cậy của hệ thống Ngoài ra, Mitsubishi Electric còn cung cấp loạt sản phẩm đa dạng khác bao gồm MELSEC iQ – R, MELSEC – Q, MR – E, MR – J3, MR – C và MR – H, đáp ứng nhu cầu đa dạng của khách hàng trong các ứng dụng công nghiệp khác nhau.

MR – JN, và nhiều loại bộ khuếch đại Driver khác, phục vụ cho các ứng dụng đa dạng trong lĩnh vực tự động hóa và điều khiển

Hình 2.10: Bộ khuếch đại Driver/Amplifier Servo của hãng Mitsubishi

Bộ khuếch đại Driver trong hệ thống Servo có vai trò quan trọng trong việc tăng cường tín hiệu điều khiển từ nguồn điều khiển như PLC, vi điều khiển hay máy tính, đảm bảo đủ công suất, điện áp và dòng để điều khiển động cơ Nó chuyển đổi tín hiệu điều khiển từ dạng đầu vào sang dạng phù hợp với yêu cầu của động cơ, bao gồm việc chuyển đổi giữa tín hiệu analog và số Bộ khuếch đại cũng cho phép điều chỉnh các thông số như điện áp, dòng điện và tần số, giúp tùy chỉnh hoạt động theo yêu cầu cụ thể Hơn nữa, một số bộ khuếch đại Driver hỗ trợ giao tiếp với hệ thống điều khiển qua các giao thức như Modbus, Profibus, EtherCAT, và CAN bus, tạo điều kiện cho việc truyền thông dữ liệu hiệu quả Cuối cùng, nhiều bộ khuếch đại được trang bị các tính năng bảo vệ như bảo vệ quá dòng, quá áp và quá nhiệt, đảm bảo an toàn và ổn định trong quá trình hoạt động.

2.4.4 Đặc điểm Ưu điểm: Khi sử dụng bộ khuếch đại Driver trong hệ thống Servo, có nhiều ưu điểm đáng kể: o Tăng cường tín hiệu điều khiển: Bộ khuếch đại Driver có khả năng tăng cường tín hiệu điều khiển ban đầu từ nguồn điều khiển Điều này cho phép tín hiệu điều khiển được đẩy mạnh và đủ mạnh để điều khiển động cơ hoặc cơ cấu di chuyển một cách hiệu quả o Điều khiển chính xác: Bộ khuếch đại Driver được thiết kế để cung cấp độ chính xác cao trong việc điều khiển động cơ hoặc cơ cấu di chuyển Nó giúp duy trì sự ổn định và đáng tin cậy trong hoạt động của hệ thống Servo o Tương thích và linh hoạt: Bộ khuếch đại Driver có thể được thiết kế để tương thích với nhiều loại động cơ và cơ cấu di chuyển khác nhau Điều này mang lại linh hoạt cho hệ thống Servo và cho phép sử dụng các thành phần khác nhau tùy theo yêu cầu ứng dụng cụ thể o Điều chỉnh và điều khiển linh hoạt: Bộ khuếch đại Driver thường được trang bị các công cụ điều chỉnh và điều khiển linh hoạt, cho phép điều chỉnh và tinh chỉnh các thông số như điện áp, dòng điện và tần số Điều này giúp tùy chỉnh hoạt động của hệ thống Servo theo yêu cầu cụ thể o Bảo vệ và an toàn: Nhiều bộ khuếch đại Driver có tích hợp các tính năng bảo vệ và an toàn để đảm bảo hoạt động ổn định và tránh các tình huống nguy hiểm Các tính năng này có thể bao gồm bảo vệ quá dòng, quá áp, quá nhiệt, bảo vệ ngắn mạch và bảo vệ đa cấp

Mặc dù bộ khuếch đại Driver trong hệ thống Servo mang lại nhiều lợi ích, nhưng cũng tồn tại một số nhược điểm cần lưu ý Đầu tiên, chi phí cao của bộ khuếch đại Driver chất lượng có thể làm tăng tổng chi phí hệ thống, đặc biệt khi sử dụng nhiều bộ cho các thành phần khác nhau Thứ hai, kích thước và trọng lượng lớn của chúng có thể gây khó khăn trong việc lắp đặt, đặc biệt trong không gian hạn chế Thứ ba, sự nhiễu và nhiễm từ từ môi trường có thể ảnh hưởng đến tín hiệu điều khiển, làm giảm độ chính xác và độ tin cậy của hệ thống Thêm vào đó, một số bộ khuếch đại Driver tiêu thụ điện năng đáng kể, dẫn đến chi phí vận hành cao và yêu cầu hệ thống làm mát hiệu quả Cuối cùng, hạn chế về công suất đầu ra của một số bộ khuếch đại có thể giới hạn khả năng điều khiển và đáp ứng của hệ thống Servo trong các ứng dụng đòi hỏi công suất cao.

Encoder dạng quang học

Tổng quan chung về Encoder:

Encoder là thiết bị quan trọng dùng để đo và phản hồi vị trí, tốc độ, cũng như hướng quay của các cơ cấu di chuyển Thiết bị này được ứng dụng phổ biến trong lĩnh vực tự động hóa và điều khiển, giúp đảm bảo việc đo đạc và kiểm soát chính xác vị trí cũng như chuyển động của các đối tượng.

Encoder hoạt động bằng cách tạo ra các xung đếm từ sự quay của bánh xe mã hóa, với các khe hoặc lỗ nhỏ được sắp xếp theo mẫu xác định Khi bánh xe quay, cảm biến sẽ đếm số khe hoặc lỗ đi qua và tạo ra xung đếm, giúp xác định vị trí và tốc độ di chuyển Độ chính xác của Encoder phụ thuộc vào độ phân giải, tức là số lượng xung đếm cho mỗi vòng quay; độ phân giải cao hơn đồng nghĩa với độ chính xác cao hơn Encoder được ứng dụng rộng rãi trong nhiều lĩnh vực như robot công nghiệp, máy móc tự động hóa, máy cắt, máy in, thiết bị y tế, máy CNC và các hệ thống điều khiển chính xác khác.

Encoder quang học là thiết bị sử dụng cảm biến quang điện để nhận diện khe hoặc lỗ trên bánh xe mã hóa Thiết bị này được ứng dụng phổ biến trong các hệ thống điều khiển vị trí và chuyển động, nơi yêu cầu độ chính xác cao.

Encoder quang học hoạt động dựa trên nguyên tắc phát hiện ánh sáng và cảm biến quang điện để đo lường vị trí và chuyển động Bánh xe mã hóa có các khe hoặc lỗ theo một mẫu xác định, cho phép ánh sáng truyền qua khi bánh xe quay, từ đó cảm biến quang điện nhận diện sự thay đổi ánh sáng và tạo ra các xung đếm Độ chính xác và độ phân giải của encoder quang học rất cao, phụ thuộc vào số lượng khe hoặc lỗ trên bánh xe và khả năng đếm xung của cảm biến Encoder quang học được ứng dụng rộng rãi trong các lĩnh vực như tự động hóa, robot học, máy CNC, máy in, thiết bị y tế và các hệ thống điều khiển chính xác khác.

Encoder quang được chia thành hai loại chính: Encoder tương đối và Encoder tuyệt đối Encoder tương đối (Incremental Encoder) tạo ra các xung đếm khi cơ cấu di chuyển, giúp đo lường tốc độ và hướng quay, nhưng không cung cấp thông tin về vị trí tuyệt đối; để xác định vị trí này, cần sử dụng thêm các cơ chế như bánh xe tham chiếu hoặc Encoder tuyệt đối Ngược lại, Encoder tuyệt đối (Absolute Encoder) cung cấp thông tin vị trí tuyệt đối của cơ cấu di chuyển, sử dụng mã hóa nhị phân hoặc gray để xác định vị trí tại mỗi vòng quay, với mã hóa có thể là n-bit tùy thuộc vào yêu cầu về độ phân giải và độ chính xác.

Encoder quang (Optical Encoder) đóng vai trò quan trọng trong các ứng dụng điều khiển vị trí và chuyển động Chức năng chính của nó là đo và phản hồi vị trí của cơ cấu di chuyển bằng cách phát hiện và đếm số lượng khe hoặc lỗ trên bánh xe mã hóa, từ đó xác định vị trí với độ chính xác cao Ngoài ra, Encoder quang cũng cung cấp thông tin về tốc độ di chuyển thông qua việc tính toán số lượng xung đếm trong một đơn vị thời gian Nó còn cho phép xác định hướng quay của cơ cấu dựa trên thứ tự xung đếm, giúp phân biệt giữa hướng quay thuận và ngược Một số Encoder quang cung cấp thông tin về vị trí tuyệt đối thông qua mã hóa nhị phân hoặc gray, cho phép xác định vị trí mà không cần đếm vòng quay Cuối cùng, Encoder quang mang lại độ chính xác cao trong việc đo lường và phản hồi vị trí và chuyển động, với độ phân giải phụ thuộc vào số lượng khe hoặc lỗ trên bánh xe mã hóa.

2.5.4 Đặc điểm Ưu điểm: Các ưu điểm của encoder quang (Optical Encoder) bao gồm: o Độ chính xác cao: Encoder quang cung cấp độ chính xác rất cao trong việc đo và phản hồi vị trí và chuyển động Độ phân giải của encoder quang được xác định bởi số lượng khe hoặc lỗ trên bánh xe mã hóa, cho phép đạt được độ chính xác rất cao trong việc xác định vị trí và tốc độ di chuyển o Độ tin cậy cao: Encoder quang sử dụng công nghệ quang, có ít phụ kiện cơ học và ít phụ thuộc vào ma sát và mài mòn Điều này làm cho Encoder quang có độ tin cậy cao và tuổi thọ lâu dài, giúp giảm sự cố và thời gian bảo trì o Khả năng làm việc ở tốc độ cao: Với nguyên lý hoạt động dựa trên cặp cảm biến quang điện, Encoder quang có khả năng hoạt động ở tốc độ cao mà không gặp vấn đề về độ phản hồi và xung đếm o Khả năng phản hồi thời gian thực: Encoder quang cho phép phản hồi vị trí và chuyển động ngay lập tức, giúp các hệ thống điều khiển đạt được hiệu suất cao và đáp ứng nhanh chóng o Đa chức năng: Encoder quang có thể cung cấp nhiều chức năng như đo vị trí tuyệt đối và tương đối, đo tốc độ, xác định hướng quay và các tính năng bổ sung khác Điều này giúp nâng cao tính linh hoạt và sử dụng đa dạng của Encoder quang trong các ứng dụng điều khiển và đo lường

Mặc dù Encoder quang (Optical Encoder) có nhiều ưu điểm, nhưng cũng tồn tại một số nhược điểm cần lưu ý Đầu tiên, nó nhạy cảm với bụi và ô nhiễm, vì cảm biến quang điện dễ bị ảnh hưởng bởi bụi, dầu mỡ và các hạt nhỏ, dẫn đến giảm độ chính xác và hiệu suất Thứ hai, độ phân giải của Encoder quang có giới hạn, được xác định bởi số lượng khe hoặc lỗ trên bánh xe mã hóa, do đó chỉ cung cấp một số lượng xung đếm hữu hạn trong một vòng quay đầy đủ Thứ ba, mặc dù có khả năng làm việc ở tốc độ cao, nhưng Encoder quang vẫn có giới hạn về tốc độ tối đa, và khi vượt quá giới hạn này, nó có thể không đáp ứng đúng với tốc độ di chuyển thực tế, gây mất mát thông tin Thứ tư, Encoder quang yêu cầu quá trình cấu hình và điều chỉnh chính xác để đảm bảo hoạt động đúng và đạt độ chính xác cao, bao gồm việc căn chỉnh khoảng cách giữa cảm biến và bánh xe mã hóa Cuối cùng, giá thành của Encoder quang thường cao hơn so với một số loại Encoder khác, điều này có thể làm tăng chi phí hệ thống và không phù hợp với các ứng dụng có ngân sách hạn chế.

Hệ điều khiển Servo

Hệ điều khiển Servo (Servo Control System) là một hệ thống tự động hóa quan trọng, dùng để điều khiển và giám sát chuyển động cũng như vị trí của các cơ cấu hoặc hệ thống cơ khí Hệ thống này thường bao gồm các thành phần chính như động cơ Servo, bộ khuếch đại Driver, Encoder và điều khiển Servo Trong bài báo cáo tốt nghiệp này, PLC được sử dụng làm thành phần điều khiển Servo chính.

Hệ điều khiển Servo có chức năng chính là duy trì và điều chỉnh vị trí cũng như chuyển động chính xác của cơ cấu hoặc hệ thống Nó hoạt động bằng cách sử dụng tín hiệu điều khiển từ bộ điều khiển Servo kết hợp với phản hồi từ Encoder, giúp điều chỉnh động cơ Servo để đảm bảo cơ cấu di chuyển đúng vị trí và tốc độ mong muốn.

Hệ điều khiển Servo là công nghệ quan trọng trong các ứng dụng cần độ chính xác cao và mượt mà trong việc điều khiển vị trí, tốc độ và moment xoắn Những ứng dụng phổ biến của hệ thống này bao gồm robot công nghiệp, máy CNC, hệ thống tự động hóa và các hệ thống điều khiển chính xác khác.

Các thành phần chính trong hệ điều khiển Servo bao gồm động cơ Servo, một loại động cơ đặc biệt được thiết kế để cung cấp chuyển động chính xác và mượt mà Động cơ Servo sử dụng nguyên tắc phản hồi để điều chỉnh vị trí và tốc độ di chuyển của cơ cấu.

Bộ điều khiển Servo hoạt động dựa trên tín hiệu điều khiển và phản hồi từ Encoder, giúp điều chỉnh chính xác vị trí và tốc độ của cơ cấu Bộ khuếch đại Driver là thiết bị điện tử quan trọng, có nhiệm vụ khuếch đại tín hiệu điều khiển và cung cấp năng lượng cần thiết cho động cơ Servo, từ đó điều chỉnh tốc độ và moment xoắn Encoder là cảm biến đo lường vị trí và tốc độ di chuyển, gửi thông tin về hệ thống điều khiển thông qua tín hiệu xung hoặc tín hiệu tương tự Hệ thống điều khiển Servo, bao gồm bộ vi xử lý, nhận tín hiệu từ Encoder và bộ khuếch đại Driver để đảm bảo hoạt động chính xác của hệ thống.

Hình 2.12: Thành phần của hệ điều khiển Servo

Sự liên kết giữa các thành phần của hệ điều khiển Servo được miêu tả như hình sau:

Hình 2.13: Sự liên kết các thành phần trong hệ điều khiển Servo

2.6.4 Phương pháp điều khiển vị trí Servo

Để thiết lập bộ truyền động, cần xác định số xung trên mỗi vòng quay, tức là số xung cần cung cấp cho động cơ hoàn thành một vòng quay, phụ thuộc vào số xung cố định trên Encoder và hộp số gắn trực tiếp vào động cơ Tiếp theo, cài đặt khoảng dịch chuyển trên mỗi vòng quay cho cơ cấu cơ khí liên kết với trục động cơ như vitme, linear hoặc bàn xoay Cuối cùng, chế độ phát xung cần được cài đặt để phù hợp với phương pháp truyền tín hiệu xung lệnh và hướng quay cho bộ điều khiển Servo kết nối.

Bảng 2.6: Nguyên lý phát xung điều khiển hệ Servo

Pulse/Sign (Xung/Tín hiệu)

Số vòng quay cũng như tốc độ quay phụ thuộc vào tín hiệu xung

Tín hiệu thuận nghịch độc lập với xung lệnh để điều khiển hướng quay

CW/CCW (Clock Wise/Counter

Việc quay thuận nghịch không phải cố định mà thường được quy ước dựa vào chiều quay đồng hồ

Servo có thể được điều khiển chiều quay thông qua hai ngõ nhận xung Khi ngõ A nhận xung, động cơ sẽ quay theo chiều kim đồng hồ, trong khi khi ngõ B nhận xung, động cơ quay ngược chiều kim đồng hồ.

Việc ngõ nào quay theo chiều nào có thể cài đặt trong parameter (thông số cài đặt của Driver)

Việc ngõ vào quay theo chiều nào có thể cài đặt trng parameter hoặc truyền lệnh từ bộ điều khiển xuống Driver Servo

Hướng quay điều khiển bởi độ lệch pha giữa hai ngõ phát xung

Quay thuận khi pha B trễ hơn so với A một góc 90 độ

Khi pha A trễ hơn pha B một góc 90 độ, có thể chọn chế độ tín hiệu logic ngõ ra là Positive logic (nhận lệnh mức High) hoặc Negative logic (nhận lệnh mức Low) Đối với động cơ Servo, không có chiều quay mặc định; chiều quay được xác định theo chiều kim đồng hồ Do đó, cần thiết lập hướng quay cho bộ điều khiển Servo bằng cách cài đặt động cơ xoay theo chiều mà giá trị báo về là dương, nghĩa là quay thuận, và ngược lại.

Ngôn ngữ lập trình Motion SFC

2.7.1 Sơ lược về ngôn ngữ SFC

SFC, viết tắt của Sequential Function Chart, là một ngôn ngữ lập trình đồ họa, trong đó chương trình được chia thành các bước (step) và điều kiện chuyển tiếp (transition condition) Ngôn ngữ này thường được sử dụng để xây dựng các biểu đồ điều khiển cho lập trình PLC.

Chương trình SFC (Sequential Function Chart) bao gồm ba thành phần chính: Các bước (steps) biểu diễn trạng thái hoạt động của khối chương trình với tín hiệu ngõ vào và ngõ ra được xác định Trạng thái của chương trình thay đổi tùy thuộc vào các bước có được kích hoạt hay không Các sự chuyển tiếp (transitions) là thành phần cơ bản, cho phép PLC thực hiện chuyển tiếp giữa các bước sau khi hoàn thành lệnh trong phần tác động Chuyển tiếp có thể dựa trên tín hiệu ngõ vào, kết quả tác động từ bước trước hoặc phép so sánh Cuối cùng, các tác động (actions) có thể được lập trình thông qua ngôn ngữ lập trình.

2.7.2 Trình tự PLC thực hiện các bước trong chương trình SFC

Chương trình motion SFC thực hiện một chuỗi các công đoạn, bắt đầu từ bước đầu tiên và tiếp tục với các bước tiếp theo khi các điều kiện được thoả mãn, cho đến khi kết thúc với bước END.

Khi chương trình SFC bắt đầu, nó sẽ thực hiện bước kiểm tra điều kiện khởi động Chương trình sẽ tiếp tục thực hiện bước đầu cho đến khi điều kiện 1 được thỏa mãn Khi điều kiện 1 được đáp ứng, các hoạt động của bước đầu sẽ dừng lại và chương trình sẽ chuyển sang bước tiếp theo Quá trình này sẽ tiếp tục từ bước này sang bước khác cho đến khi chương trình hoàn thành bước kết thúc END.

Hình 2.14: Cơ cấu mô hình chuyển động SFC

2.7.3 Bảng và biểu tượng chương trình SFC

Các khối biểu tượng tương ứng với từng chức năng được liệt kê dưới đây Việc xây dựng chương trình SFC dựa vào việc lựa chọn và sắp xếp các khối theo thứ tự, đồng thời liên kết chúng bằng các dây nối.

Bảng 2.7: Bảng các khối thành phần trong chương trình SFC

Các bài toán cơ bản của Robot

Ma trận chuyển dịch là một công cụ quan trọng trong hình học và đại số tuyến tính, giúp di chuyển các đối tượng trong không gian hai hoặc ba chiều Đặc biệt, khi phân tích hoạt động của cánh tay Robot 6 bậc tự do, việc hiểu các tính chất của ma trận trong không gian 3 chiều là cần thiết, vì các góc tự do của Robot cho phép nó hoạt động linh hoạt trong môi trường ba chiều.

Trong không gian 3 chiều, ma trận chuyển dịch thường được biểu diễn bởi ma trận 4x4 như sau:

Trong đó, dx, dy và dz là các tham số đại diện cho độ dịch chuyển theo phương x, y và z tương ứng

Nhân ma trận chuyển dịch với các điểm hoặc vector trong không gian cho phép di chuyển chúng theo hướng và khoảng cách xác định Ma trận chuyển dịch đóng vai trò quan trọng trong việc phân tích cơ cấu cơ bản của Robot.

Bài toán chuyển dịch ma trận

Xét 1 điểm trong không gian 3 chiều được biểu diễn dưới dạng 1 vector như sau: x y z

  Thực hiện dịch chuyển điểm đó trong không gian 3 chiều ta được:

Kết quả thu được sau khi dịch chuyển trong không gian 3 chiều như sau:

Ma trận xoay là một loại ma trận quan trọng trong hình học và đại số tuyến tính, được sử dụng để thực hiện phép xoay các đối tượng trong không gian.

Trong không gian ba chiều, ma trận xoay được biểu diễn bằng ma trận 3x3, với nhiều phương pháp như Euler angles, quaternion và ma trận xoay Euler Rodrigues Mỗi phương pháp có công thức riêng để tính toán giá trị ma trận xoay Đối với bài nghiên cứu đồ án tốt nghiệp này, phương pháp chính được sử dụng là Euler angles.

Nhân ma trận xoay với các điểm hoặc vector trong không gian cho phép thực hiện phép xoay các đối tượng quanh các trục x, y hoặc z với góc xoay tương ứng Tương tự như ma trận dịch chuyển, ma trận xoay đóng vai trò quan trọng trong việc phân tích cơ cấu cơ bản của Robot.

Có ba ma trận xoay tương ứng với các trục xoay x, y và z Các góc xoay liên quan đến từng trục này được gọi là Roll, Pitch và Yaw.

Ma trận xoay quanh trục x (góc Roll-theta_r):

0 sin( _ ) cos( _ ) theta r theta r theta r theta r

Ma trận xoay quanh trục y (góc Pitch-theta_p): cos( _ ) 0 sin( _ )

0 1 0 sin( _ ) 0 cos( _ ) theta p theta p theta p theta p

Ma trận xoay quanh trục z (góc Yaw-theta_y): cos( _ ) sin( _ ) 0 sin( _ ) cos( _ ) 0

Ứng dụng ma trận xoay trong không gian ba chiều cho phép thực hiện xoay tự do mà không bị giới hạn bởi các trục chuẩn x, y hoặc z Để tạo ra ma trận xoay tương ứng, cần chọn hệ trục xác định và thứ tự xoay Hệ trục này không nhất thiết phải cố định, và trong nghiên cứu này, việc lựa chọn hệ trục và phương pháp xoay sẽ tuân theo phương pháp góc Euler.

Bài toán xoay ma trận theo từng trục

Xét 1 điểm trong không gian 3 chiều được biểu diễn dưới dạng 1 vector như sau: x y z

  Thực hiện xoay điểm này với các trục cố định ta được:

0 sin( _ ) cos( _ ) x theta r theta r y theta r theta r z

0 1 0 sin( _ ) 0 cos( _ ) theta p theta p x y theta p theta p z

Trục z: cos( _ ) sin( _ ) 0 sin( _ ) cos( _ ) 0

Ma trận chuyển đổi đồng nhất

Trong Robot, ma trận chuyển đổi đồng nhất (Homogeneous transformation matrix) được sử dụng để biểu diễn và thực hiện các phép biến đổi trong không gian

3 chiều, bao gồm di chuyển (Translation) và xoay (Rotation) của các bộ phận Robot

Ma trận chuyển đổi đồng nhất là một ma trận 4x4 có cấu trúc như sau: dx

Thực hiện phân tích các phần tử của ma trận chuyển đổi đồng nhất ta được:

Các phần tử “r” trong ma trận 3x3 đại diện cho ma trận xoay, trong khi các phần tử “p” biểu thị phép dịch chuyển theo các trục x, y và z tương ứng.

Ma trận chuyển đổi đồng nhất kết hợp cả phép xoay và phép dịch chuyển trong một ma trận duy nhất, giúp mô phỏng và thực hiện các biến đổi không gian trên Robot một cách hiệu quả và thuận tiện.

Ma trận chuyển đổi đồng nhất là một khái niệm quan trọng trong lĩnh vực Robot học, đóng vai trò then chốt trong nhiều ứng dụng khác nhau, bao gồm Robot công nghiệp, Robot di động, Robot hỗ trợ y tế và nhiều hệ thống Robot khác.

Bài toán chuyển đổi đồng nhất ma trận

Xét 1 điểm trong không gian 3 chiều được biểu diễn dưới dạng 1 vector như sau: x y z

Thực hiện chuyển dịch và xoay điểm này đến vị trí mong muốn trong không gian 3 chiều theo phương pháp tương ứng như sau:

Việc xác định trục cho Robot trong không gian 3 chiều đóng vai trò quan trọng trong việc thiết lập hệ tọa độ và định vị các bộ phận của Robot Điều này không chỉ giúp nâng cao hiệu quả hoạt động mà còn đảm bảo sự chính xác trong quá trình vận hành của Robot.

Đặt trục cho Robot đóng vai trò quan trọng trong việc xác định định hướng và hệ tọa độ hoạt động của nó trong không gian Bằng cách định nghĩa các trục x, y và z, chúng ta có thể dễ dàng quản lý phương pháp di chuyển và điều khiển Robot, từ đó tạo điều kiện thuận lợi cho lập trình và mô phỏng Hơn nữa, việc thiết lập trục cũng đảm bảo tính đồng nhất và tương thích giữa các bộ phận của Robot, giúp đơn giản hóa quá trình định vị và tính toán các phép biến đổi Điều này cho phép các bộ phận và công cụ tương thích và thay đổi một cách linh hoạt trong suốt quá trình hoạt động của Robot.

Việc đặt trục cho Robot phải tuân theo các tiêu chuẩn ngành công nghệ và quy ước sử dụng, nhằm đảm bảo sự đồng nhất và tương thích giữa các Robot và hệ thống điều khiển trong ứng dụng công nghiệp và nghiên cứu Trong nghiên cứu này, việc xác định trục và quy ước hướng cho điểm đầu cuối sẽ được thực hiện dựa trên vùng làm việc thực tế của Robot và thông số kỹ thuật từ nhà sản xuất cơ khí, kết hợp với phương pháp Euler angles.

Quy tắc đặt trục Denavit – Hartenberg

Phương pháp Denavit-Hartenberg (D-H) là tiêu chuẩn trong robot học, được sử dụng để mô tả vị trí và góc quay của các khớp robot Nó áp dụng các tham số D-H để xác định mối quan hệ giữa các khớp và trục chuyển động của robot.

Các bước để đặt trục robot theo phương pháp D-H như sau:

Bước 1 Đánh số các khớp: Gán số thứ tự cho từng khớp trong Robot, bắt đầu từ khớp gốc (base) đến khớp cuối cùng (end-effector)

Bước 2: Xác định các trục quay cho mỗi khớp bằng cách xác định trục chuyển động của khớp đó Đặt tên cho các trục quay sử dụng các tham số như alpha, beta, gamma hoặc theta.

THIẾT KẾ VÀ THI CÔNG HỆ THỐNG

Thi công thiết kế phần cơ khí

Để phát triển và điều khiển chính xác hệ cánh tay robot sáu bậc tự do, nhóm nghiên cứu đã chia dự án thành ba phần chính: cơ khí, điện và thuật toán điều khiển Các công việc bao gồm việc tính toán và thiết kế mô hình đáp ứng đầy đủ các yêu cầu của luận văn.

Mô hình cánh tay robot sáu bậc tự do của nhóm được thiết kế như một mô hình thực nghiệm, với yêu cầu cao về độ chính xác, trong đó gia công chi tiết cơ khí đóng vai trò quan trọng Các tiêu chí cần đạt được bao gồm: khả năng điều khiển dễ dàng, cho phép điều khiển từng trục riêng lẻ hoặc kết hợp linh hoạt cả sáu trục; khả năng vận hành trong không gian hạn chế mà vẫn đảm bảo độ chính xác cao; kết cấu vững chắc và an toàn cho người sử dụng; cùng với việc đáp ứng yêu cầu về thẩm mỹ và khả năng trưng bày.

3.1.2 Thiết kế và bố trí phần cứng

Dựa vào không gian làm việc của robot, nhóm đã bố trí các phần cứng phù hợp bao gồm cánh tay robot và bàn vẽ

Hình 3.1: Sơ đồ bố trí phần cứng

Sau khi có được sơ đồ bố trí phần cứng dựa vào vùng làm việc của robot, nhóm có đã thi công mô hình thực tế

Hình 3.2: Bố trí mô hình robot thực tế

3.1.3 Thiết kế tool cầm bút Để phù hợp với yêu cầu của đề tài, nhóm đã tính toán và thiết kế tool cầm bút đáp ứng được các yêu cầu sau: o Liên kết chặt chẽ được với cánh tay robot o Thỏa mãn được trong vùng làm việc robot o Đảm bảo không gây ra va chạm khi bút tiếp xúc với mặt bảng o Đảm bảo được tính thẩm mỹ

Hình 3.3: Thiết kế tool cầm bút trên phần mềm SOLIDWORKS

Sản phẩm sau khi thiết kế và tiến hành gia công cơ khí CNC

Khung mô hình là bộ phận chịu tải chính, bao gồm cánh tay robot, bảng vẽ và tủ điện Do đó, việc đảm bảo khả năng chịu tải, độ cứng cáp và dễ dàng lắp ráp là ưu tiên hàng đầu Nhóm em đã chọn sử dụng chất liệu nhôm để làm khung cho mô hình.

Hình 3.5: Phần khung mô hình

Thi công thiết kế phần điện

3.2.1.1 Thiết bị bảo vệ mạch động lực

Thiết bị bảo vệ mạch động lực nhằm ngăn chặn sự cố nguy hiểm và bảo vệ các thành phần quan trọng khỏi hư hỏng do quá tải, ngắn mạch, mất pha và các vấn đề khác Nhóm chúng tôi sử dụng thiết bị này để đảm bảo an toàn và hiệu quả trong quá trình vận hành.

Bảng 3.1: Thông số kỹ thuật của MCCB EA33AC20 Đặc điểm Hình ảnh

Dòng ngắn mạch: 5kA(380-400VAC)

Bảng 3.2: Thông số kỹ thuật của CB CP30-BA Đặc điểm Hình ảnh

Dòng điện định mức: 5A (AC250V /

Khả năng ngắt dòng ngắn mạch: 2.5K A

Sóng hài gây mất hiệu suất trong thiết bị điện như động cơ và máy biến tần, dẫn đến tăng nhiệt và hao hụt năng lượng, làm giảm độ tin cậy và tuổi thọ thiết bị Do đó, việc loại bỏ sóng hài là rất cần thiết, và nhóm đã quyết định chọn bộ lọc nhiễu MC1320 để giải quyết vấn đề này.

Bảng 3.3: Thông số kỹ thuật của MC 1320 Điện áp định mức: 500 V

Dòng rò: 5.0mA max (250V 60Hz) Điện trở cách điện: 100MΩMin /

Test voltage Terminal - case 2000VAC

Trạm PLC bao gồm các thành phần chính như: Main base CPU, module nguồn, CPU chính, motion CPU, các module I/O và các module giao tiếp Bảng dưới đây trình bày các thành phần của trạm PLC được nhóm sử dụng trong đề tài.

Module Main base Nguồn CPU chính Motion CPU Input

Code Q38B Q61P Q03UDCPU Q173DSCPU QX42 QY42P

Base Q38B là một thành phần thiết yếu trong hệ thống PLC Mitsubishi Q Series, cho phép mở rộng chức năng của PLC thông qua việc kết nối các module I/O và các module khác Nhờ vào base module này, PLC có khả năng kết nối và điều khiển các thiết bị ngoại vi cũng như tín hiệu trong quy trình công nghiệp.

Bảng 3.5: Thông số của Base Q38B Đặc điểm Hình ảnh

Phạm vi sử dụng: Q series

Số khe cắm: 8 I/O slots và 1 power supply slot

Nguồn Q61P là nguồn điện thiết yếu cho hệ thống PLC Mitsubishi Q Series và các thiết bị ngoại vi, đảm bảo cung cấp điện ổn định và tin cậy Việc này giúp duy trì hoạt động an toàn và ổn định của hệ thống trong môi trường công nghiệp.

Bảng 3.6: Thông số của bộ nguồn Q61P Đặc điểm Hình ảnh

Nguồn điện vào: 200 đến 240VAC (170 đến 264VAC)

Tần số đầu vào: 50/60Hz ±5%

Giới hạn dòng lớn nhất: 105VA

Dòng ra định mức: 6A/5VDC, 6A/24VDC

Bảo vệ quá áp, dòng: tối đa 6.6A, 6V

Q03UDCPU là một bộ vi xử lý mạnh mẽ, lý tưởng cho các ứng dụng điều khiển và tự động hóa trong môi trường công nghiệp Nó nổi bật với khả năng cung cấp chức năng xử lý, giao tiếp và điều khiển, đáp ứng yêu cầu về tốc độ xử lý và phản hồi nhanh.

Bảng 3.7: Thông số của Q03UCPU Đặc điểm Hình ảnh

Tốc độ xử lý (LD instruction): 0.0095μs

Bộ nhớ chương trình: 180 KB

Số I/O tối đa có thể mở rộng: 8192

Tích hợp nhiều CPU tốc độ cao

Cổng truyền thông: RS232, USB

Module Q173DS không phải là một CPU trong dòng PLC Mitsubishi Q Series, mà là một module điều khiển chuyển động độc lập của Mitsubishi Được thiết kế để quản lý các trục chuyển động, module Motion CPU Q173DS phục vụ cho các ứng dụng tự động hóa và điều khiển chuyển động trong môi trường công nghiệp.

Bộ xử lý mạnh mẽ và tốc độ xử lý cao của nó hỗ trợ các chế độ điều khiển chuyển động phức tạp, bao gồm điều khiển vị trí, tốc độ, gia tốc và lực, giúp thực hiện các phép tính chuyển động phức tạp và chương trình điều khiển một cách nhanh chóng.

Bảng 3.8: Thông số của Q173DSCPU Đặc điểm Hình ảnh

Số trục điều khiển: 32 trục

Hệ điều hành: SV22 / SV13 Điểm định vi: 3200 điểm

Chu kỳ hoạt động: 0.44ms/ 1 đến 6 trục,

0.88ms/ 7 đến 16 trục, 1.77ms/ 17 đến 32 trục

Truyền thông SSCNET: SSCNET III ,

Bảng 3.9: Thông số kỹ thuật module ngõ vào QX42 Đặc điểm Hình ảnh Điện áp đầu vào: 24 VDC

Dòng điện đầu vào: 4 mA

Ngõ vào: 32 bits Loại: Positive Common Type

Thời gian đáp ứng 1/5/10/20/70 ms

Bảng 3.10: Thông số kỹ thuật module ngõ ra QY42P Đặc điểm Hình ảnh

Ngõ ra Transistor (Sink) Điện áp đầu ra: 12-24V DC

Thời gian đáp ứng: 2 us

Cấp độ bảo vệ: IP2X

3.2.1.3 Bộ điều khiển động cơ Để có thể điều khiển servo motor theo các tín hiệu điều khiển được cung cấp từ bộ điều khiển chính của hệ thống Driver có chức năng chuyển đổi các tín hiệu điều khiển thành các tín hiệu điện áp, dòng điện và tín hiệu xung để điều khiển servo motor theo yêu cầu, cho phép kiểm soát chính xác vị trí của servo motor dựa trên thông số và tín hiệu điều khiển Nó cung cấp các chức năng điều khiển vị trí, tốc độ và gia tốc, đảm bảo rằng servo motor di chuyển theo các quỹ đạo và định vị một cách chính xác

Driver được trang bị các chức năng bảo vệ và giám sát, giúp đảm bảo an toàn cho servo motor trước các tình huống quá tải, quá dòng, quá nhiệt và lỗi khác Nó có khả năng ngắt kết nối và cung cấp cảnh báo khi phát hiện điều kiện không bình thường.

Có nhiều loại driver khác nhau tùy vào mục đích sử dụng Đối với đề tài này, nhóm sử dụng driver MR J4W3 444B và MR J4W2 22B

Bảng 3.11: Thông số kỹ thuật driver MR -J4W3 – 444B Đặc điểm Hình ảnh

Công suất định mức ngõ ra: 400W Điện áp định mức ngõ ra: 3 pha 170VAC

Số trục điều khiển tối đa: 3 trục

Dòng định mức mỗi trục: 2.8A

Nguồn điện mạch chính: 3 pha hoặc 1- pha 200 VAC đến 240 VAC, 50/60 Hz

Dòng định mức mạch chính: 7.8A

Nguồn điện mạch điều khiển: 1-pha 200

Dòng định mức mạch chính: 0.4A

Bảng 3.12: Thông số kỹ thuật driver MR -J4W2 – 22B Đặc điểm Hình ảnh

Công suất định mức ngõ ra: 200W Điện áp định mức ngõ ra: 3 pha

Số trục điều khiển tối đa: 2 trục

Dòng định mức mỗi trục: 1.5A

Nguồn điện mạch chính: 3 pha hoặc 1- pha 200 VAC đến 240 VAC, 50/60 Hz

Dòng định mức mạch chính: 2.9A

Nguồn điện mạch điều khiển: 1-pha

Dòng định mức mạch chính: 0.4A

Động cơ servo là loại động cơ điện được thiết kế đặc biệt để đảm bảo độ chính xác cao trong việc kiểm soát vị trí, tốc độ và lực cho các hệ thống chuyển động Khi nói đến sự chính xác và kiểm soát động cơ, động cơ servo thường là lựa chọn hàng đầu.

Servo HG-KR43 và HG-KR43B là hai lựa chọn phổ biến cho các trục một và hai của robot, với HG-KR43B được trang bị hệ thống thắng ở trục hai để đảm bảo an toàn khi robot không hoạt động Điều này giúp ngăn chặn tình trạng robot bị ngã đổ do trọng lượng của cánh tay, đảm bảo tính ổn định và tin cậy cho toàn bộ hệ thống.

Bảng 3.13: Thông số kỹ thuật servo HG-KR43 Điện áp cung cấp: 200VAC

Tốc độ vòng quay: 3000 vòng/phút

Encoder: 22-bit, độ phân giải 4.194.304 xung/vòng

Mô men xoắn: 1.3 Nm, Max 4.5 Nm

Servo Amplifiler: MR J4 Động cơ có thắng (nếu có): 24V

 Servo HF-KP23B (có thắng)

Trong nghiên cứu này, chúng tôi sử dụng động cơ có thắng cho hai trục ba và bốn, giúp giữ vững vị trí của robot khi không có điều khiển Điều này nhằm ngăn chặn tình trạng robot bị ngã đổ.

Bảng 3.14: Thông số kỹ thuật servo HG-KR43BG7 Điện áp cung cấp: 200VAC

Tốc độ vòng quay: 3000 vòng/phút

Encoder: 18-bit, độ phân giải 262.144 xung/vòng

Mô men xoắn: 0.64 Nm, Max 2.23 Nm

Servo Amplifiler: MR J4 Động cơ có thắng: 24V

 Servo HF-KP053 (không thắng)

Trong đề tài, sử dụng cho trục năm và sáu cho cánh tay robot, động cơ không có thắng và không cần giữ vị trí khi không điều khiển

Bảng 3.15: Thông số kỹ thuật servo HG-KR43BG7 Điện áp cung cấp: 200VAC

Tốc độ vòng quay: 3000 vòng/phút

Encoder: 18-bit, độ phân giải 262.144 xung/vòng

Mô men xoắn: 0.16 Nm, Max 0.56 Nm

Cấp độ bảo vệ: IP65

Hình 3.6: Sơ đồ đấu dây tổng quát của hệ thống

Nguồn điện từ CB tổng đi vào nguồn tổ ong, qua lọc nhiễu để cấp nguồn cho PLC và nguồn tổ ong Nguồn tổ ong cung cấp 24V để nhả thắng các Servo thông qua tín hiệu từ PLC Các Driver kết nối với trạm PLC qua cáp mạng, điều khiển các servo nhờ tín hiệu trả về từ dây encoder và dây động lực.

Thi công thiết kế giao diện người dùng

SoftGOT2000 là phần mềm HMI do Mitsubishi Electric Corporation phát triển, cho phép thiết kế giao diện đồ họa thân thiện cho các bộ điều khiển logic PLC Phần mềm này hỗ trợ giám sát hoạt động và hiển thị dữ liệu thời gian thực, giúp nâng cao hiệu quả giao tiếp giữa người và máy.

Hình 3.9: Màn hình giới thiệu đề tài

Hình 3.10: Màn hình chạy JOG

Tại màn hình JOG được chia thành với mỗi chức năng riêng

Bảng số 1 có các nút “RELEASE” và “BRAKE” để điều khiển thắng của servo, cùng với nút “SERVO ON” và “SERVO OFF” để bật tắt servo Để khởi động hệ thống, nhấn lần lượt hai nút “SERVO ON” và “RELEASE”, trong khi để dừng, nhấn “BRAKE” và sau đó “SERVO OFF” Nút “FORWARD” tính động học của robot và hiển thị giá trị tại bảng 2 trong suốt quá trình hoạt động Nút “HOME RETURN” giúp robot trở về vị trí ban đầu sau mỗi lần chạy.

Bảng số 3 là khu vực điều khiển Jog và cài đặt điểm home cho từng trục Để Jog trục, người dùng chỉ cần nhập tốc độ phù hợp và chọn hướng ở cột Run (chiều dương hoặc ngược chiều kim đồng hồ) Khi đến điểm cần đặt làm điểm home, nhấn nút “F” ở cột Home để cài đặt Giá trị hiển thị ở cột FEED CURRENT VALUE.

Bảng số 4 sẽ giúp người dùng chuyển đến trang mong muốn, trong khi bảng số 5 là đèn báo cho sáu trục robot Đèn của mỗi trục sẽ sáng khi trục đó hoạt động và tắt khi không hoạt động Cả hai bảng này sẽ xuất hiện trên mỗi trang.

Hình 3.11: Màn hình điều khiển vị trí

Tại màn hình điều khiển vị trí POS bao gồm bảng các nút nhấn và màn hình hiển thị

Bảng nút nhấn gồm hai nút “ON INVERSE” và “OFF INVERSE” cho phép kích hoạt tính năng động học nghịch cho robot Người điều khiển nhập tọa độ xyz vào cột INPUT POSITION, và giá trị tương ứng với các góc trục sẽ được hiển thị tại cột INVERSE ANGLE Khi nhấn nút “RUN” trên bảng điều khiển, robot sẽ di chuyển đến vị trí mong muốn.

Hình 3.12: Màn hình hiển thị lỗi

Màn hình hiển thị lỗi trên mỗi servo sẽ xuất hiện sau mỗi lần khởi động hoặc trong quá trình hoạt động Để xóa lỗi, người dùng cần nhấn nút tại cột RESET Tuy nhiên, trong một số trường hợp, lỗi có thể do phần cứng và không thể xóa bằng cách này, yêu cầu phải thực hiện sửa lỗi thủ công.

Hình 3.13: Màn hình chạy đường thẳng

Màn hình LINE vẽ đường thẳng từ A đến B dựa vào phương trình đường thẳng

A và B là tọa độ mà chúng ta biết trước

Nhập giá các giá trị bao gồm tọa độ điểm, tốc độ vẽ của robot, thời gian lấy mẫu TF và nhấn nút “ STRAIGHT”

Hình 3.14: Màn hình chạy đường tròn

Màn hình CIRCLE sử dụng giải thuật tương tự như màn hình trước, dựa trên các phương trình toán học để giúp robot vẽ đường hình tròn và hình tròn nội tiếp trong hình vuông.

Nhập các giá trị cần thiết vào bảng CENTER, bao gồm tọa độ tâm, tốc độ vẽ của robot, bán kính hình tròn, thời gian lấy mẫu cho hình tròn và đường thẳng của hai hàng tương ứng TFc và TFs.

Tại bảng điều khiển, nhấn nút “CIRCLE” để robot vẽ hình tròn dựa trên các giá trị đã nhập Nếu nhấn nút “CIRCLE + SQUARE”, robot sẽ vẽ hình tròn nội tiếp hình vuông.

Màn hình Matrix cho phép xác định tọa độ theo tỷ lệ x và y trên mặt bảng Để bắt đầu, người dùng nhập các giá trị x-y-z của ba điểm vào bảng ORIGIN, ORIGIN_X và ORIGIN_Y Bảng MATRIX sẽ nhận tỷ lệ x và y tùy thuộc vào mục đích sử dụng, trong khi hàng FRAME NO cho phép lựa chọn khung để vẽ các hình ảnh phức tạp (tối đa hai khung hình) Để điều khiển robot đến vị trí chính xác, người dùng cần nhập tọa độ x và y vào bảng DESIRED POSITION cùng với tốc độ, sau đó nhấn nút “START” trên bảng điều khiển.

Bảng CURRENT POSITION sẽ hiển thị giá trị được gửi về liên tục từ C# để vẽ các hình phức tạp liên quan đến xử lý ảnh

Màn hình FRAME cho phép xác định và vẽ tối đa hai khung hình trên bảng vẽ Người dùng cần nhập tọa độ các hàng tương ứng với từng khung, cùng với tốc độ và thời gian lấy mẫu TF Để tính toán các giá trị tương ứng, nhấn nút “CALCULATE” trên bảng điều khiển Cuối cùng, nhấn nút “DRAW FRAME” để vẽ từng khung hình dưới dạng hình vuông trên bảng.

MX Component là thư viện điều khiển ActiveX giúp kết nối máy tính cá nhân với bộ điều khiển PLC mà không cần kiến thức về giao thức và module truyền thông Nhờ vào thư viện này, người dùng có thể dễ dàng thiết kế và giao tiếp với PLC thông qua phần mềm C#.

Màn hình kết nối với PLC, cho phép xác định địa chỉ và đọc giá trị của các biến Mỗi dòng trạng thái liên tục thay đổi để thể hiện tình trạng phần mềm khi tương tác với PLC.

Khi nhận file điểm định dạng txt, C# có khả năng gửi từng điểm vào trạm PLC theo các điều kiện lập trình nhằm điều khiển vị trí vẽ hình phức tạp Nếu có nhiều file txt, robot sẽ thực hiện hành động nhắc bút và di chuyển đến điểm đầu tiên của file tiếp theo để vẽ, nhằm tránh tình trạng điểm bị kéo, ảnh hưởng tiêu cực đến hình vẽ.

Python là một ngôn ngữ lập trình phổ biến trong cộng đồng phần mềm mã nguồn mở, nổi bật với sự hỗ trợ mạnh mẽ từ cộng đồng và thư viện đa dạng Nhóm đã sử dụng Python để phát triển công cụ xử lý ảnh, giúp vẽ đường viền và đọc các điểm trên đường viền Sau khi thu thập các điểm, nhóm tiếp tục xử lý để loại bỏ những điểm không cần thiết, giúp robot giảm tải khối lượng công việc.

Hình 3.18: App xử lý ảnh

Các bài toán giải thuật cho Robot

3.4.1 Đặt trục cho cánh tay robot Để đặt trục cho cánh tay robot, có một số yếu tố quan trọng cần xem xét, bao gồm cấu trúc của robot và mục đích sử dụng cụ thể Cần xác định số lượng và vị trí các trục, xác định loại trục chuyển động, xác định các góc và khoảng cách giữa các trục, tuân thủ quy tắc bàn tay phải và các kí tự quy ước sau: o Khung thứ i được gắn bằng các trục nối với liên kết thứ i o Trục z i được chọn dọc theo trục khớp thứ i o Trục x i được chọn theo đường vuông góc chung z i và z i  1 o y i được chọn để làm thành một tọa độ bên phải o Khung thứ 0 thường được chọn khớp với khung thứ 1 khi biến khớp đầu bằng 0 o Khung thứ N có thể được chọn tự do, thường được chọn tự do, đảm bảo càng nhiều số liên kết càng tốt

Hình 3.20: Hình đặt trục Robot

Sau khi đã đặt trục cho cánh tay robot, nhóm tiến hành xây dựng bảng DH cho robot sáu bậc tự do như sau

Trong đó, a i  1 là khoảng cách được xét từ trục z i  1 đến z i dọc theo trục x i  1 ,

 i  là góc lệch giữa hai trục z i  1 và z i theo trục x i  1 , d i là khoảng cách được xét từ trục x i  1 đến x i dọc theo trục z i ,  i là góc lệch giữa hai trục x i  1 và x i theo trục z i

Vị trí điểm đầu cuối của robot đối với trục thứ sáu:

3.4.3 Tính toán động học thuận

Dựa vào phương pháp đại số để tính động học thuận cho robot sáu bậc tự do Công thức ma trận chuyển đổi tổng quát có dạng như sau:

Ma trận chuyển vị thuần nhất được sử dụng để biểu diễn hướng và vị trí của khâu i so với khâu i-1 Khoảng cách d_i được xác định từ trục x_{i-1} đến x_i dọc theo trục z_i Biểu thức cos(θ_i) được ký hiệu là c_{θ_i}, trong đó θ_i là góc lệch giữa hai trục x_{i-1} và x_i theo trục z_i Tương tự, sin(θ_i) được ký hiệu là s_{θ_i}, cũng với θ_i là góc lệch giữa hai trục x_{i-1} và x_i theo trục z_i.

1 c  i  : viết tắt của cos i  1 ( i  1 là góc lệch giữa hai trục z i  1 và z i theo trục x i  1 )

1 s  i  : viết tắt của sin i  1 ( i  1 là góc lệch giữa hai trục z i  1 và z i theo trục x i  1 )

1 a i  : khoảng cách được xét từ trục z i  1 đến z i dọc theo trục x i  1

  là ma trận tịnh tiến của hệ trục

Từ công bảng DH trên, ta tính được ma trận chuyển đổi đồng nhất của mỗi trục trong hệ cánh tay robot

Ma trận chuyển đổi giữa trục 0 và trục 1:

Ma trận chuyển đổi giữa trục 1 và trục 2:

Ma trận chuyển đổi giữa trục 2 và trục 3:

Ma trận chuyển đổi giữa trục 3 và trục 4:

Ma trận chuyển đổi giữa trục 4 và trục 5:

Ma trận chuyển đổi giữa trục 5 và trục 6:

Công thức chuyển đổi ma trận chuyển đổi đồng nhất toàn hệ:

( 3.10 ) Đối với hệ cánh tay robot sáu bậc ta có:

3.4.4 Tính toán động học nghịch

Sử dụng phương pháp đại số để tính động học nghịch cho robot 6 bậc tự do, chúng tôi chia bài toán thành hai phần: tịnh tiến và hướng của robot Trong nghiên cứu này, nhóm chúng tôi chọn hướng của robot là hướng thẳng đứng xuống với mặt bảng so với trục tọa độ gốc.

Dựa trên cách đặt trục của robot, tọa độ điểm giao nhau của các trục 4, 5, 6 (Oc) không thay đổi khi các trục này di chuyển Điều này cho thấy tọa độ Oc chính là tọa độ điểm cuối của khâu 1, 2, 3 Để xác định tọa độ điểm Oc, cần tìm hướng của robot so với trục tọa độ góc.

Ta có ma trận xoay àà àà àà àà àà àà àà àà àà

Hướng của robot so với trục tọa độ góc như hình sau:

Hình 3.21: Hướng của điểm đầu cuối so với góc tọa độ

Từ hướng của robot từ điểm đầu cuối ta suy ra được ma trận hướng như sau:

Từ công thức trên ta suy ra được:

Tính toán cho góc khớp thứ 1:

Từ công thức trên, ta có thể suy ra:

Nhân hai vế của phương trình trên với ( 0 1 T )  1 ta được:

Từ hai ma trận trong công thức tính như trên ta có:

Tính toán cho góc khớp thứ 2:

Ta có, xét phép nhân ma trận sau:

Thực hiện phép nhân 2 ma trận trên ta được:

Thực hiện bình phương hai phương trình và cộng lại với nhau ta được:

( 3.23 ) Đặt các biến từ phương trình tính được như sau:

Từ đó ta được cách tính cho góc khớp thứ 2 như sau:

Tính toán cho góc khớp thứ 3:

Ta có thực hiện xét công thức tính toán ma trận như sau:

Ta thực hiện cân bằng 2 phần tử trong ma trận như sau:

Tính tổng bình phương của 2 phương trình trên ta được:

Thực hiện đặt các biến như sau:

Từ đó, ta được hệ như sau:

Đối với các khớp 4, 6 và 6, do chúng liên kết với nhau để tạo ra chuyển động cầu, phương pháp góc Euler sẽ được áp dụng để tính toán cho các góc khớp hoạt động.

Góc Euler là một phương pháp phổ biến để biểu diễn và xác định vị trí cùng hướng của robot thông qua ba góc quay quanh các trục tọa độ cơ sở (x, y, z) trong không gian ba chiều Phương pháp này sử dụng một trục tham chiếu cố định (fixed frame) và một trục di động (mobile frame) để xác định hướng của robot Để xác định hướng, trục di động sẽ được xoay theo một chuỗi các góc quanh các trục của trục cố định, dẫn đến 12 tổ hợp góc khác nhau (XYX, XYZ, XZX, XZY, YXY, YXZ, YZX, YZY, ZXY, ZXZ, ZYX, ZYZ) Mỗi tổ hợp có hai cánh tay: một chuỗi xoay quanh trục cố định và một chuỗi xoay quanh trục di động Đối với ứng dụng vẽ của robot trong nghiên cứu này, tổ hợp quay ZYZ quanh trục di động tại khớp thứ 3 được chọn để đơn giản hóa việc điều khiển robot trên bề mặt phẳng của bàn vẽ.

Ma trận xoay biểu diễn cho phép quay được chọn là:

Thực hiện tìm các góc theo phương pháp sau:

( 3.33 ) Để tính toán các góc cần thiết:

Tính toán cho góc khớp thứ 4, 5 và 6:

Chọn hướng làm việc cho Robot để phù hợp với ứng dụng đưa ra được miêu tả theo ma trận xoay dưới đây:

Với hướng xoay của Robot phụ thuộc vào hệ trục của 3 khớp cuối, ta được:

Trong đó, với hướng Robot đã chọn, ta được:

Mặt khác, với ma trận xoay theo góc Euler ta lại có:

Để cân bằng các ma trận đã cho, chúng ta tính toán các góc xoay theo Euler cùng với các góc cho khớp 4, 5 và 6 Kết quả thu được cho bộ ba góc xoay theo Euler như sau:

( 3.39 ) Đối với các góc khớp 4, 5 và 6:

Từ các tính toán đã thực hiện, chúng tôi xác định được 8 bộ nghiệm cho Robot trong quá trình nghiên cứu này Kết quả này là cơ sở quan trọng cho việc phát triển và tối ưu hóa hiệu suất của Robot.

3.4.5 Không gian làm việc Đối với bài nghiên cứu này, hướng của Robot được chọn theo ma trận dưới dưới đây:

Giới hạn các góc được chọn dựa theo thiết kế phần cứng, không gian làm việc thực tế và theo hướng dẫn của nhà sản xuất như sau:

Bảng 3.17: Giới hạn các góc khớp của Robot theo nhà sản xuất cung cấp

Thực hiện mô phỏng vùng làm việc ta nhận được: Đối với tầm nhìn dọc theo trục z, vùng làm việc biểu diễn trên mặt phẳng Oxy

Vùng làm việc của Robot trong không gian 3 chiều được mô phỏng và biểu diễn trên mặt phẳng Oxy y, như thể hiện trong Hình 3.22.

Hình 3.23: Vùng làm việc theo mô phỏng của Robot trong không gian 3 chiều

Các giới hạn về góc được nêu trong mô phỏng được sử dụng theo giới hạn góc do nhà sản xuất phần cứng của Robot đưa ra

Hình 3.24 thể hiện giới hạn các góc của Robot theo thông tin từ nhà sản xuất Để đảm bảo hiệu quả trong ứng dụng vẽ, các góc hoạt động của Robot sẽ được điều chỉnh phù hợp với yêu cầu cụ thể và vùng làm việc khả thi của nó.

Bảng 3.18: Giới hạn các góc khớp của Robot theo không gian làm việc mong muốn

Thực hiện mô phỏng vùng làm việc theo mong muốn của Robot: Đối với tầm nhìn dọc theo trục z, vùng làm việc biểu diễn trên mặt phẳng Oxy

Hình 3.25 minh họa không gian làm việc mong muốn của Robot trên mặt phẳng Oxy Đối với tầm nhìn không gian ba chiều, vùng làm việc của Robot được thể hiện rõ ràng.

Hình 3.26: Không gian làm việc mong muốn theo mô phỏng của Robot trong không gian 3 chiều

Trong mô phỏng không gian làm việc, chúng ta nhận thấy rằng để vẽ tranh thực tế, không nhất thiết phải sử dụng toàn bộ khu vực của Robot Thay vào đó, chỉ cần giới hạn khu vực làm việc theo mong muốn thực tế.

Hình 3.27: Vùng làm việc trên thực tế của Robot

Việc lựa chọn hướng và khu vực làm việc thích hợp là yếu tố quan trọng để đảm bảo Robot hoạt động chính xác và đáp ứng đúng yêu cầu của ứng dụng.

3.4.6 Giải thuật xử lý ảnh

Mục tiêu của đầu dữ liệu Robot là nhận diện đường nối vòng bao của hình ảnh, giúp Robot vẽ các nét bao bên ngoài mà không đi vào các lớp màu đậm nhạt Điều này rất hữu ích trong ứng dụng vẽ tranh, nơi Robot tập trung vào việc phác thảo hình dạng tổng thể thay vì chi tiết màu sắc.

Quy trình xử lý ảnh được sử dụng:

Hình 3.28: Quy trình xử lý ảnh được sử dụng

Dựa vào quy trình xử lý ảnh như trên, ta có thể lấy dữ liệu để đưa vào xử lý và điều khiển cho Robot.

MÔ PHỎNG VÀ VẬN HÀNH HỆ THỐNG

Mô phỏng kiểm chứng lý thuyết

Các mô phỏng kiểm chứng động học cho Robot được thực hiện bằng phần mềm Matlab Chúng ta chọn một điểm trong không gian làm việc của Robot để kiểm tra kết quả lý thuyết động học nghịch Đối với động học thuận, việc kiểm chứng sẽ được kết hợp với hình dạng thực tế của Robot và kết quả lý thuyết.

4.1.1 Kiểm chứng động học thuận Áp dụng kiểm chứng lý thuyết với thực tế, ta nhận được các kết quả về động học thuận như sau: o Tại giá trị cho góc:  1 0 , o  2  90 , o  3 0 , o  4 0 , o  5 0 , o  6 0 o Đối với lý thuyết: z z z z

Hình 4.1: Hình dạng Robot tại 8 bộ nghiệm

Với bộ nghiệm đã chọn, hình dạng của nó không thay đổi, cho phép chúng ta kiểm tra hoạt động của Robot bằng cách lựa chọn bất kỳ bộ nghiệm nào.

Hình 4.2: Hình dạng Robot thực tế khi kiểm chứng động học thuận (1) o Tại giá trị cho góc:  1 0 , o  2  90 , o  3 0 , o  4 0 , o  5 90 , o  6 0 o z z z z Đối với lý thuyết:

Hình 4.3: Hình dạng Robot tại 8 bộ nghiệm kiểm chứng động học thuận z z z z z z z z

Với bộ nghiệm đã chọn, hình dạng của Robot không bị thay đổi, cho phép chúng ta lựa chọn bất kỳ bộ nghiệm nào để kiểm tra hoạt động của Robot.

Hình 4.4: Hình dạng Robot thực tế khi kiểm chứng động học thuận (2)

Hai kiểm chứng cho thấy sự đồng bộ giữa hình dạng Robot thực tế và mô phỏng, chứng minh rằng tính toán lý thuyết là chính xác cho động học thuận.

4.1.2 Kiểm chứng động học nghịch

Để kiểm chứng động học nghịch, chúng ta chọn một điểm cố định trong vùng làm việc, tương tự như kiểm chứng động học thuận Việc này giúp xác định 8 bộ góc của động học thuận Robot và lựa chọn bộ nghiệm phù hợp cho mô hình thực tế.

Thực hiện kiểm chứng với 8 bộ nghiệm của Robot ta được kết quả:

Hình 4.5: Hình dạng Robot tại 8 bộ nghiệm kiểm chứng động học nghịch

Dựa vào hình dạng và các mô phỏng góc hoạt động của Robot, cùng với bộ nghiệm chính, việc vận hành và điều khiển Robot trở nên hiệu quả hơn Do đó, kết quả vận hành của Robot sẽ phụ thuộc vào công thức của bộ nghiệm 1 hoặc bộ nghiệm thứ 2.

Hình 4.6: Hình dạng Robot thực tế khi kiểm chứng động học nghịch

Kết quả kiểm chứng động học nghịch cho phép lựa chọn bộ nghiệm và hình dạng Robot phù hợp với thực tế và ứng dụng mong muốn Động học nghịch đáp ứng yêu cầu chính xác, cung cấp giá trị điểm của Robot theo điều khiển mong muốn.

Ngày đăng: 28/12/2023, 18:53

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w