Đồ án: Mô hình điều khiển cánh tay máy robot 4 bậc (Cao Thắng)

Đồ án điều khiển cánh tay máy robot 4 bậc: Mô hình điều khiển công nghiệp chi tiết. Tìm hiểu cấu trúc, nguyên lý hoạt động và ứng dụng thực tế.

Chuyên ngành

Điện - Điện Tử

Người đăng

Ẩn danh

Thể loại

Đồ Án Điều Khiển Công Nghiệp
51
2
0

Phí lưu trữ

30 Point

Mục lục chi tiết

MỞ ĐẦU

LỜI CẢM ƠN

NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN

MỤC LỤC

1. Chương 1: TỔNG QUAN

1.1. Lý do chọn đề tài

1.2. Giới thiệu tổng quan đề tài

1.3. Giới hạn nghiên cứu

2. Chương 2: CƠ SỞ LÝ THUYẾT

2.1. Nguyên lý hoạt động và phân loại của cánh tay robot

2.1.1. Nguyên lý hoạt động

2.1.2. Phân loại cánh tay robot trong lĩnh vực công nghiệp

2.2. Động học thuận điều khiển cánh tay robot 4 bậc

2.3. KIT STM32F103C8T6 Mini Board

2.3.1. Thông số kỹ thuật

2.3.2. Sơ đồ chân và chức năng từng chân của STM32F103C8T6

2.4. Động cơ DC servo MG996R và cách điều khiển

2.4.1. Động cơ servo MG996R

2.4.2. Cách điều khiển động cơ servo MG996R

2.5. Ngắt ngoài PA0

2.6. Tạo PWM bằng Timer

2.6.1. Ứng dụng của PWM

2.6.2. Tạo PWM trên STM32F103 bằng timer

2.7. Giới thiệu phần mềm hỗ trợ cấu hình và lập trình cho MCU STM32

2.7.1. STM32CubeMX – Công cụ hỗ trợ cấu hình MCU STM32

2.7.2. Keil C µVision 5 – Phần mềm lập trình vi điều khiển

3. Chương 3 THIẾT KẾ, THI CÔNG VÀ ĐIỀU KHIỂN

3.1. Sơ đồ khối và chức năng

4. Chương 4 KẾT QUẢ ĐẠT ĐƯỢC

5. Chương 5 KẾT LUẬN

5.1. Đánh giá đề tài

5.2. Giới hạn sản phẩm

5.3. Hướng giải quyết

5.4. Hướng mở rộng

TÀI LIỆU THAM KHẢO

DANH MỤC CÁC BẢNG

DANH MỤC CÁC HÌNH

1. CHƯƠNG I: TỔNG QUAN

1.1. Lý do chọn đề tài

1.2. Giới thiệu tổng quan đề tài

1.3. Giới hạn nghiên cứu

2. CHƯƠNG II: CƠ SỞ LÝ THUYẾT

2.1. Nguyên lý hoạt động và phân loại của cánh tay robot

2.1.1. Nguyên lý hoạt động

2.1.2. Phân loại cánh tay robot trong lĩnh vực công nghiệp

2.2. Động học thuận điều khiển cánh tay robot 4 bậc

2.3. KIT STM32F103C8T6 Mini Board

2.3.1. Thông số kỹ thuật

2.3.2. Sơ đồ chân và chức năng từng chân của STM32F103C8T6

2.4. Động cơ DC servo MG996R và cách điều khiển

2.4.1. Động cơ servo MG996R

2.4.2. Cách điều khiển động cơ servo MG996R

2.5. Ngắt ngoài PA0

2.6. Tạo PWM bằng Timer

2.6.1. PWM là gì

TÀI LIỆU THAM KHẢO

Tóm tắt

I. Hướng dẫn tổng quan về điều khiển cánh tay robot 4 bậc

Trong kỷ nguyên Công nghiệp 4.0, việc ứng dụng robot vào sản xuất và giáo dục ngày càng phổ biến. Đặc biệt, mô hình điều khiển cánh tay máy robot 4 bậc đóng vai trò nền tảng quan trọng, không chỉ trong các dây chuyền công nghiệp nhẹ mà còn là công cụ học tập vô giá trong lĩnh vực dự án STEM. Một tay máy 4 bậc tự do (4 Degrees of Freedom - 4 DOF) được định nghĩa bởi khả năng di chuyển theo bốn trục độc lập, thường bao gồm các khớp xoay ở đế, vai, khuỷu tay và cổ tay. Cấu trúc này cho phép robot thực hiện các tác vụ gắp và thả cơ bản trong một không gian làm việc xác định. Theo nghiên cứu 'Mô hình điều khiển cánh tay máy robot 4 bậc' của nhóm sinh viên trường CĐKT Cao Thắng, việc làm chủ mô hình này là bước đệm để tiếp cận các hệ thống cánh tay robot công nghiệp phức tạp hơn. Nội dung bài viết này sẽ phân tích sâu về các thách thức, giải pháp lý thuyết và phương pháp thực thi để điều khiển hiệu quả một robot arm 4 dof, dựa trên các kiến thức về động học robot và kỹ thuật lập trình vi điều khiển hiện đại. Việc nghiên cứu này không chỉ dừng lại ở lý thuyết mà còn đi sâu vào ứng dụng thực tế, từ việc lựa chọn linh kiện như servo MG996R đến việc lập trình trên các nền tảng như STM32, mở ra một lộ trình rõ ràng cho người học và các nhà phát triển.

1.1. Khái niệm bậc tự do DOF và cấu trúc robot arm 4 dof

Bậc tự do (Degrees of Freedom - DOF) là một thông số cơ bản trong động học robot, thể hiện số lượng chuyển động độc lập mà một cơ cấu có thể thực hiện. Đối với một cánh tay robot 4 bậc, nó có bốn khớp độc lập, cho phép định vị và định hướng công cụ ở đầu cuối trong không gian ba chiều một cách hạn chế. Cấu trúc điển hình bao gồm: Khớp đế (Base) cho phép quay quanh trục thẳng đứng; Khớp vai (Shoulder) cho phép nâng hạ cánh tay; Khớp khuỷu (Elbow) cho phép gập duỗi phần cẳng tay; và Khớp cổ tay (Wrist) để xoay hoặc gập công cụ kẹp. Sự kết hợp của bốn chuyển động này tạo nên không gian làm việc của robot. Việc hiểu rõ cấu trúc và giới hạn của từng khớp là điều kiện tiên quyết để xây dựng các thuật toán điều khiển chính xác, đặc biệt là khi giải bài toán gắp thả vật thể.

1.2. Vai trò của tay máy 4 bậc tự do trong giáo dục STEM

Các mô hình tay máy 4 bậc tự do là một công cụ giáo dục STEM (Science, Technology, Engineering, Maths) cực kỳ hiệu quả. Chúng cho phép người học áp dụng các kiến thức lý thuyết trừu tượng như toán học (lượng giác, ma trận), vật lý (cơ học, momen) và khoa học máy tính (lập trình Arduino, Python) vào một sản phẩm hữu hình. Theo đề tài của SV trường CĐKT Cao Thắng, việc tự tay lắp ráp và lập trình một cánh tay robot giúp sinh viên hình thành tư duy giải quyết vấn đề, từ khâu thiết kế cơ khí, lựa chọn mạch điều khiển robot, đến gỡ lỗi phần mềm. Những dự án STEM như thế này không chỉ củng cố kiến thức nền tảng mà còn khơi dậy đam mê sáng tạo và chuẩn bị kỹ năng thực tiễn cho các ngành nghề liên quan đến tự động hóa và robot trong tương lai.

II. Phân tích thách thức khi điều khiển cánh tay robot 4 bậc

Việc điều khiển cánh tay máy robot 4 bậc không chỉ đơn giản là ra lệnh cho các động cơ quay. Quá trình này ẩn chứa nhiều thách thức phức tạp cả về mặt lý thuyết lẫn thực hành. Thách thức lớn nhất nằm ở động học robot, cụ thể là việc giải quyết bài toán động học ngược (inverse kinematics). Trong khi động học thuận (tính toán vị trí đầu kẹp từ góc các khớp) tương đối đơn giản, thì bài toán ngược (tìm góc các khớp để đầu kẹp đạt tới vị trí mong muốn) lại phức tạp hơn nhiều về mặt toán học và có thể có nhiều hoặc không có lời giải. Một thách thức khác đến từ phần cứng. Độ chính xác của các servo motor SG90 hay servo MG996R thường không tuyệt đối và có sai số. Sai số cơ khí trong quá trình lắp ráp, độ rơ của các khớp cũng ảnh hưởng lớn đến độ chính xác vị trí cuối cùng. Bên cạnh đó, việc lựa chọn vi điều khiển và môi trường lập trình cũng là một bài toán cần cân nhắc. Các nền tảng như Arduino phù hợp cho người mới bắt đầu, trong khi STM32 cung cấp hiệu năng mạnh mẽ hơn cho các thuật toán điều khiển phức tạp, đòi hỏi người dùng phải có kiến thức sâu hơn về cấu hình phần cứng và sử dụng các công cụ như Keil C hay STM32CubeMX.

2.1. Bài toán động học robot Từ thuận đến động học ngược

Trong lĩnh vực robot, động học robot là nền tảng cốt lõi. Động học thuận là quá trình xác định vị trí và hướng của điểm tác động cuối (end-effector) dựa trên các góc khớp đã biết. Bài toán này có lời giải duy nhất và được tính toán bằng các phép nhân ma trận. Tuy nhiên, trong ứng dụng thực tế, người dùng thường quan tâm đến việc di chuyển đầu kẹp đến một tọa độ (X, Y, Z) cụ thể. Đây là lúc bài toán động học ngược (inverse kinematics) phát huy vai trò. Bài toán này phức tạp hơn đáng kể vì các phương trình lượng giác là phi tuyến, dẫn đến khả năng có nhiều bộ góc khớp cùng đạt được một vị trí. Đối với robot arm 4 dof, việc thiếu một hoặc hai bậc tự do so với robot 6 bậc khiến không gian làm việc bị hạn chế và tồn tại các 'vị trí chết' (singularities) mà robot không thể tiếp cận được.

2.2. Vấn đề điều khiển chính xác servo motor và sai số cơ khí

Độ chính xác của hệ thống phụ thuộc rất nhiều vào cơ cấu chấp hành. Các loại servo motor phổ biến như SG90 hay MG996R hoạt động dựa trên tín hiệu PWM, nhưng chất lượng sản xuất có thể dẫn đến sai số góc quay và hiện tượng rung (jitter). Như được đề cập trong tài liệu nghiên cứu, 'có nhiều servo sẽ không hoạt động đúng theo thông số' và cần phải hiệu chỉnh (dò tìm) giới hạn xung PWM thực tế để đạt được góc quay 0 và 180 độ một cách chính xác. Thêm vào đó, sai số tích lũy từ độ rơ của các khớp nối, độ cong vênh của vật liệu (đặc biệt là các mô hình in 3D) có thể khiến vị trí thực tế của đầu kẹp lệch đáng kể so với tính toán lý thuyết từ mô hình động học thuận.

III. Phương pháp giải bài toán động học thuận robot 4 bậc

Để điều khiển cánh tay máy robot 4 bậc một cách có hệ thống, bước đầu tiên là phải xây dựng được mô hình toán học của nó. Phương pháp phổ biến và hiệu quả nhất để giải quyết bài toán động học thuận là sử dụng quy ước Denavit-Hartenberg (DH). Phương pháp này cho phép mô tả mối quan hệ hình học giữa các khâu (links) và khớp (joints) kề nhau bằng một bộ bốn tham số (a, α, d, θ). Từ bộ tham số DH, ta có thể thiết lập các ma trận biến đổi thuần nhất (Homogeneous Transformation Matrix) cho từng khớp. Ma trận tổng thể, thể hiện vị trí và hướng của đầu kẹp so với hệ tọa độ gốc, được tính bằng cách nhân chuỗi các ma trận thành phần này lại với nhau. Theo đồ án của sinh viên Cao Thắng, việc lập Bảng DH là bước đi cốt lõi, từ đó xác định các ma trận thành phần. Quá trình này không chỉ cung cấp một công thức tường minh để tính toán vị trí mà còn là cơ sở để thực hiện mô phỏng robot trên các phần mềm chuyên dụng như MATLAB Simulink, giúp kiểm tra và tinh chỉnh thuật toán điều khiển trước khi triển khai trên phần cứng thực tế. Điều này giúp tiết kiệm thời gian và tránh các rủi ro va chạm không đáng có.

3.1. Xây dựng bảng tham số Denavit Hartenberg DH

Quy ước Denavit-Hartenberg (DH) là một tiêu chuẩn để gán hệ tọa độ cho từng khâu của cánh tay robot. Mỗi hệ tọa độ được xác định bởi bốn tham số: aᵢ (chiều dài khâu), αᵢ (góc xoắn khâu), dᵢ (khoảng cách khớp), và θᵢ (góc khớp). Việc thiết lập một Bảng DH chính xác là cực kỳ quan trọng. Dựa trên tài liệu tham khảo, một Bảng DH cho tay máy 4 bậc tự do được thiết lập để mô tả mối quan hệ giữa các khớp. Việc xác định đúng các tham số này từ mô hình cơ khí của robot là bước nền tảng để xây dựng mô hình động học robot chính xác. Sai sót trong bảng DH sẽ dẫn đến sai lệch lớn trong kết quả tính toán vị trí cuối cùng.

3.2. Tính toán ma trận biến đổi thuần nhất cho tay máy

Sau khi có Bảng DH, ma trận biến đổi thuần nhất Aᵢ mô tả sự chuyển đổi từ hệ tọa độ của khâu i sang hệ tọa độ của khâu i-1 được tính toán. Ma trận này là một ma trận 4x4, chứa cả thông tin về phép quay (ma trận con 3x3) và phép tịnh tiến (vector 3x1). Ma trận tổng thể Tⁿ₀, mô tả vị trí và hướng của công cụ cuối (khâu n) so với hệ tọa độ gốc (khâu 0), được xác định bằng công thức Tⁿ₀ = A₁ * A₂ * ... * Aₙ. Phép nhân chuỗi ma trận này là trọng tâm của bài toán động học thuận. Kết quả cuối cùng cung cấp tọa độ (px, py, pz) và các vector định hướng của đầu kẹp, làm cơ sở cho mọi tác vụ điều khiển vị trí.

IV. Cách lập trình điều khiển cánh tay robot 4 bậc với STM32

Sau khi hoàn thiện mô hình lý thuyết, bước tiếp theo là triển khai thực tế việc điều khiển cánh tay máy robot 4 bậc. Nền tảng vi điều khiển STM32, cụ thể là dòng STM32F103C8T6, là một lựa chọn mạnh mẽ nhờ hiệu năng xử lý 32-bit và hệ thống ngoại vi phong phú, đặc biệt là các bộ Timer hỗ trợ tạo xung PWM. Quá trình triển khai bắt đầu bằng việc thiết kế sơ đồ khối và sơ đồ nguyên lý, xác định kết nối giữa vi điều khiển, các servo MG996R, và thiết bị đầu vào như Rotary Encoder hay biến trở điều khiển. Kỹ thuật cốt lõi là sử dụng các bộ Timer của STM32 để tạo ra tín hiệu PWM (Pulse-Width Modulation) với tần số 50Hz (chu kỳ 20ms) để điều khiển góc quay của servo. Như phân tích trong tài liệu, việc tính toán giá trị Prescaler và Counter Period cho Timer là cực kỳ quan trọng để đạt được tần số và độ phân giải mong muốn. Các công cụ như STM32CubeMX giúp đơn giản hóa việc cấu hình chân và ngoại vi, trong khi Keil C µVision 5 là môi trường phát triển tích hợp (IDE) để viết và biên dịch mã nguồn. Việc lập trình Python cho robot cũng có thể được tích hợp thông qua giao tiếpอนุกรม (Serial) để tạo giao diện điều khiển trên máy tính.

4.1. Thiết kế sơ đồ khối và mạch điều khiển robot chi tiết

Một mạch điều khiển robot hiệu quả bắt đầu từ sơ đồ khối rõ ràng. Sơ đồ này bao gồm: Khối Nguồn cung cấp năng lượng cho toàn hệ thống; Khối Xử lý Trung tâm (KIT STM32F103C8T6) nhận và xử lý tín hiệu; Khối Tín hiệu Đầu vào (nút nhấn, Rotary Encoder); và Khối Chấp hành (động cơ RC servo MG996R). Từ sơ đồ khối, sơ đồ nguyên lý chi tiết được vẽ ra, xác định chính xác chân GPIO nào của STM32 được cấu hình để xuất tín hiệu PWM tới từng servo và chân nào để đọc tín hiệu từ encoder hay nút nhấn. Việc thiết kế này cần đảm bảo nguồn cấp đủ dòng cho các servo, đặc biệt khi chúng hoạt động đồng thời, để tránh sụt áp gây nhiễu và mất ổn định cho vi điều khiển.

4.2. Kỹ thuật tạo xung PWM bằng Timer để điều khiển servo

Điều khiển servo là ứng dụng kinh điển của kỹ thuật PWM. Một servo motor được điều khiển bằng độ rộng xung ở mức cao trong một chu kỳ 20ms. Một xung rộng 1ms tương ứng với góc 0 độ, 1.5ms là 90 độ, và 2ms là 180 độ. Trên STM32, điều này được thực hiện bằng cách cấu hình một bộ Timer ở chế độ PWM Generation. Theo tài liệu gốc, để tạo tần số 50Hz từ một bộ đếm có tần số 8MHz, các giá trị Prescaler và Period cần được tính toán cẩn thận. Ví dụ, với Period là 1000 mức (giá trị thanh ghi là 999), Prescaler sẽ là 159. Sau đó, giá trị trong thanh ghi Capture/Compare (CCR) của Timer sẽ quyết định độ rộng xung (duty cycle), từ đó điều khiển chính xác góc quay của servo MG996R.

V. Ứng dụng thực tiễn điều khiển cánh tay robot 4 bậc

Kết quả của một dự án không chỉ nằm ở lý thuyết mà còn ở khả năng ứng dụng thực tiễn. Mô hình điều khiển cánh tay máy robot 4 bậc được phát triển bởi nhóm sinh viên CĐKT Cao Thắng đã chứng minh được tính ổn định và khả năng thực hiện các tác vụ đề ra. Một trong những ứng dụng cơ bản và quan trọng nhất là bài toán gắp thả vật thể. Robot được lập trình để di chuyển đến các vị trí đã được tính toán và lưu trữ trước, thực hiện một chu trình gắp vật từ điểm A và thả tại điểm B một cách tuần tự. Ngoài ra, mô hình còn cho phép điều khiển trực tiếp từng khớp thông qua một Rotary Encoder và các nút nhấn chọn khớp. Điều này cho phép người vận hành 'dạy' robot các vị trí mới và lưu lại để thực hiện tự động sau này. Mặc dù đạt được các kết quả tích cực, sản phẩm vẫn có những giới hạn nhất định. Do chỉ có 4 bậc tự do, tồn tại những 'vị trí chết' mà robot không thể tiếp cận. Sai số cơ khí và nhiễu từ nguồn điện đôi khi cũng ảnh hưởng đến sự ổn định. Những kết quả và hạn chế này là bài học kinh nghiệm quý báu cho việc phát triển các phiên bản nâng cao hơn.

5.1. Thực hiện bài toán gắp thả vật thể theo tọa độ định trước

Đây là ứng dụng phổ biến nhất của một cánh tay robot công nghiệp ở quy mô nhỏ. Chương trình điều khiển chứa một chuỗi các tọa độ hoặc các bộ góc khớp đã được tính toán sẵn. Khi được kích hoạt, robot sẽ tuần tự di chuyển qua các điểm này. Ví dụ, di chuyển đến vị trí gắp, đóng kẹp, nâng vật lên, di chuyển đến vị trí thả, mở kẹp và quay về vị trí ban đầu. Quá trình này đòi hỏi sự phối hợp nhịp nhàng giữa các thuật toán điều khiển chuyển động và logic điều khiển kẹp. Độ chính xác trong việc giải bài toán động học ngược và hiệu chỉnh servo quyết định sự thành công của tác vụ này.

5.2. Đánh giá độ ổn định và các giới hạn của mô hình

Trong quá trình vận hành, việc đánh giá độ ổn định là rất cần thiết. Báo cáo nghiên cứu đã chỉ ra một số hạn chế của sản phẩm, ví dụ như 'các khớp đôi lúc bị nhiễu sẽ khiến cánh tay robot quay hẳn về một phía'. Nguyên nhân có thể do nguồn cấp không đủ dòng hoặc nhiễu trên đường tín hiệu điều khiển. Một giới hạn khác là cơ cấu kẹp đơn giản, yêu cầu vật thể phải được đặt chính xác tại vị trí đã định. Việc ghi nhận và phân tích các giới hạn này là một phần quan trọng của quá trình nghiên cứu, từ đó đề ra các 'hướng giải quyết' như 'cấp nguồn có đủ dòng điện' hay 'hạn chế cho cánh tay quay ở các góc 0 và 180 độ' để tăng tính ổn định.

VI. Tương lai và hướng mở rộng cho cánh tay robot 4 bậc

Một mô hình điều khiển cánh tay máy robot 4 bậc thành công không phải là điểm kết thúc, mà là nền tảng cho những phát triển cao hơn. Hướng mở rộng tiềm năng nhất là nâng cấp về mặt cơ khí, tiến lên các cánh tay robot 5 hoặc 6 bậc tự do. Việc thêm các bậc tự do sẽ giúp robot linh hoạt hơn, loại bỏ các 'vị trí chết' và có thể thực hiện các thao tác phức tạp hơn trong không gian ba chiều. Một hướng đi đột phá khác là tích hợp các hệ thống cảm biến thông minh. Sử dụng camera kết hợp với các thuật toán xử lý ảnh và trí tuệ nhân tạo (AI) sẽ cho phép robot tự động nhận diện vật thể, xác định vị trí, màu sắc và tự ra quyết định gắp thả mà không cần lập trình sẵn tọa độ. Để quản lý các hệ thống phức tạp này, việc chuyển sang sử dụng các nền tảng phần mềm chuyên nghiệp như ROS (Robot Operating System) là một bước đi hợp lý. ROS cung cấp một hệ sinh thái mạnh mẽ với các thư viện dựng sẵn cho việc lập kế hoạch chuyển động, mô phỏng robot, và giao tiếp giữa các thành phần. Những hướng phát triển này sẽ đưa mô hình từ một dự án học tập trở thành một nguyên mẫu gần hơn với các ứng dụng cánh tay robot công nghiệp thực thụ.

6.1. Nâng cấp lên tay máy 5 bậc 6 bậc cho ứng dụng phức tạp

Như đã đề cập trong hướng mở rộng của tài liệu gốc, việc nâng cấp lên cánh tay robot 5 bậc, 6 bậc tự do là một bước tiến tự nhiên. Một robot 6 bậc có thể đạt tới bất kỳ vị trí và hướng nào trong không gian làm việc của nó, mang lại sự linh hoạt tối đa, tương tự như cánh tay người. Điều này mở ra khả năng ứng dụng trong các công việc đòi hỏi sự khéo léo cao như hàn, sơn, hoặc lắp ráp các chi tiết phức tạp. Tuy nhiên, việc nâng cấp này cũng đi kèm với thách thức lớn hơn trong việc giải bài toán động học ngược và yêu cầu năng lực xử lý cao hơn từ bộ điều khiển.

6.2. Tích hợp xử lý ảnh và hệ điều hành ROS cho robot

Tương lai của robot học gắn liền với trí tuệ nhân tạo. Việc tích hợp một camera và áp dụng các thuật toán xử lý ảnh (ví dụ: OpenCV) sẽ biến cánh tay robot từ một cỗ máy 'mù' thành một hệ thống thông minh, có khả năng 'nhìn' và tương tác với môi trường. Để quản lý sự phức tạp khi kết hợp nhiều cảm biến, cơ cấu chấp hành và các thuật toán cao cấp, ROS (Robot Operating System) là một lựa chọn lý tưởng. ROS không phải là một hệ điều hành truyền thống mà là một framework cung cấp các dịch vụ như truyền tin nhắn, quản lý gói, và một hệ sinh thái gồm hàng ngàn công cụ và thư viện, giúp đẩy nhanh quá trình phát triển các ứng dụng robot phức tạp và hướng tới các tiêu chuẩn cánh tay robot công nghiệp.

11/09/2025

Trích đoạn nội dung tài liệu

CHƯƠNG I: TỔNG QUAN 1.3 Giới hạn nghiên cứu Giới hạn của đề tài lần này là chỉ sử dụng cánh tay robot 4 bậc và kích thước nhỏ (chủ yếu dùng để nghiên cứu về mặt giải thuật) nên có một số vị trí mà cánh tay không thể gắp vật thể được, vì cánh tay có 4 bậc và phần cơ cấu thực hiện không được linh hoạt nên vật thể cần ở vị trí chính xác cánh tay robot mới gắp được. Mô hình của nhóm thực hiện chỉ áp dụng cho việc nghiên cứu, giáo dục rèn luyện và phát triển là chính. Trang 3 CHƯƠNG II: CƠ SỞ LÝ THUYẾT Chương 2 CƠ SỞ LÝ THUYẾT Lý thuyết cơ sở mà nhóm thực hiện đề tài dựa vào chủ yếu là kiến thức về nguyên lý hoạt động cánh tay máy robot 4 bậc, động học thuận điều khiển cánh tay robot, lập trình trên chip STM32F103C8T6.1 Nguyên lý hoạt động và phân loại của cánh tay robot 2.1 Nguyên lý hoạt động Hệ thống điều khiển chính là bộ điều khiển trung tâm giúp tiếp nhận và phân phối các tín hiệu mệnh lệnh đến cánh tay robot để thực hiện công việc được đặt ra. Bộ phận phân phối cuối cùng đằng sau hệ thống điều khiển là các nút nhấn và Rotary Encoder do người dùng vận hành.

Khi bắt đầu cho máy hoạt động, người điều khiển sẽ làm việc trên nút nhấn và Rotary Encoder để khởi động cánh tay robot và thiết lập các thông số phù hợp. Sau đó sẽ xác định và tiến hành truyền đạt các tín hiệu nào sẽ được truyền đến hệ thống điều khiển. Tất cả các hoạt động tiếp theo sẽ được vận hành một cách tự động.2 Phân loại cánh tay robot trong lĩnh vực công nghiệp Robot giàn: máy dạng cánh tay có ba khớp lăng trụ, được sử dụng để thực hiện các công đoạn lắp ráp linh kiện, xử lý các công cụ máy và hàn hồ quang. Robot hình trụ: được sử dụng cho các hoạt động lắp ráp, xử lý tại các máy công cụ, hàn điểm và xử lý tại các máy diecasting.

Cánh tay robot này có trục tạo thành một hệ tọa độ hình trụ. Robot hình cầu: được sử dụng để xử lý các công cụ máy, hàn điểm, diecasting, máy fettling, hàn khí và hàn hồ quang. Robot chuyển động theo trục tạo thành một hệ tọa độ cực. SCARA robot: đây là loại robot có hai khớp quay song song hoạt động trên một mặt phẳng, được ứng dụng nhiều trong các hoạt động lắp ráp và xử lý chi tiết máy… Robot song song: cánh tay này có khớp nối lăng trụ hoặc khớp quay, sử dụng nền tảng di động xử lý mô phỏng buồng lái chuyến bay.

Trang 4 CHƯƠNG II: CƠ SỞ LÝ THUYẾT Robot nhân tạo: được mô phỏng hoàn hảo theo chuyển động bàn tay con người với các ngón tay và ngón cái độc lập. Sự linh hoạt cho phép nó tham gia vào quá trình lắp ráp, xử lý các linh kiện điện tử, công nghệ xe siêu vi. Robot khớp nối: có ít nhất ba khớp quay (ví dụ như một robot có chân hoặc một cánh tay robot công nghiệp) với các loại máy phổ biến là cánh tay robot 3 bậc, cánh tay robot 4 bậc… Cấu trúc của robot khớp có thể là hai nhánh đơn giản đến các hệ thống có 10 hoặc nhiều khớp tương tác. Chúng được trang bị một loạt các phương tiện bao gồm cả động cơ điện để ứng dụng trong các hoạt động lắp ráp, đúc chết, máy fettling, hàn khí, hàn hồ quang và phun sơn.

Hiện nay, loại cánh tay robot này được rất nhiều xí nghiệp sản xuất lớn đầu tư vì tính hiện đại, năng suất cao và tính linh hoạt của mình.2 Động học thuận điều khiển cánh tay robot 4 bậc Ta có công thức sau: 0T 0T 1T 2T 3 T 3 = 1 * 2 * 3 *4 (2.1) Với các ma trận T thành phần được xác định qua các công thức sau: = (2.2) Lập bảng DH (Denavit – Hartenbeg) cho cánh tay robot: Bảng 2.1: Bảng DH của cánh tay máy robot 4 bậc i a α d θ 1 0 90 L1 θ1 2 L2 0 0 θ2 3 0 90 0 θ 3+90 4 0 0 L34 θ4 Trang 5 CHƯƠNG II: CƠ SỞ LÝ THUYẾT Trong đó: a: Khoảng cách giữa trục zn và zn+1 α: góc lệch giữ trục zn và zn+1 d: Khoảng cách giữa trục xn và xn+1 θ: góc lệch giữa trục xn và xn+1 L1,L2,L34: các hằng số (mỗi cánh tay có kích thước khác nhau sẽ có các thông số này khác nhau) Xác định các ma trận thành phần từ công thức (2.2) và bảng DH: [ ] cosθ 1 0 sinθ 1 0 0 T = sinθ 1 0 - cosθ 1 0 1 0 1 0 L1 0 0 0 1 [ ] cosθ 2 - sinθ 2 0 L 2 cosθ 2 1 T = sinθ 2 cosθ 2 0 L 2 sinθ 2 2 0 0 1 0 0 0 0 1 [ ] cos ⁡( θ 3 + 90 ) 0 sin ⁡( θ 3 + 90 ) 0 2 T = sin ⁡( θ 3 + 90 ) 0 - cos ⁡( θ 3 + 90 ) 0 3 0 1 0 0 0 0 0 1 [ ] cosθ 4 - sinθ 4 0 0 3 T = sinθ 4 cosθ 4 0 0 4 0 0 1 L 34 0 0 0 1 2.3 KIT STM32F103C8T6 Mini Board 2.1 Thông số kỹ thuật STM32 là chip của ST, dựa trên nền tảng lõi của ARM Cotex™-M là thế hệ mới, thiết lập các tiêu chuẩn mới về hiệu suất, chi phí, thiết bị tiêu thụ năng lượng thấp và đáp ứng yêu cầu về thời gian thực khắc khe. Trang 6 CHƯƠNG II: CƠ SỞ LÝ THUYẾT - Vi điều khiển chính: STM32F103C8T6 microcontroller featuring 32-bit ARM Cortex-M3 core. -Bộ nhớ: 64 KB bộ nhớ Flash, SRAM: 20Kb in an LQFP48 package. - Tích hợp sẵn mạch nạp và Debug ST-LINK/V2 - Nguồn cấp từ cổng Mini USB qua các IC nguồn chuyển thành 3v3 để cấp cho MCU.

- Tần số xung nhịp: + Sử dụng thạch anh ngoài từ 4 MHz -> 20MHz + Thạch anh nội dùng dao động RC ở mode 8MHz hoặc 40kHz + Sử dụng thạch anh ngoài 32.768kHz được sử dụng cho RTC - Chân GPIO (General-purpose I/Os): có 37 chân, trong đó có tối đa 16 chân ngắt ngoài, ngoài ra còn có các chân GPIO khi được khai báo có thể trở thành các chân chức năng: timer, UART, I2C, ADC, DAC, … - Có sẵn các chân nguồn: 3.3 V - Có Led thông báo trạng thái nguồn. - Có nút Reset tích hợp sẵn trên kit.2 Sơ đồ chân và chức năng từng chân của STM32F103C8T6 Kit STM32F103C8T6 có 48 chân chức năng (tính cả các chân 3.3V, GND) và mỗi chân có thể thực hiện được nhiều chức năng tùy thuộc người dùng muốn cấu hình chân đó thực hiện chức năng gì (thông thường mỗi lúc một chân chỉ thực hiện một chức năng duy nhất khi được cấu hình).2: Bảng kí hiệu và chức năng chân của Kit STM32F103C8T6 LQFP Kí hiệu trên Main Chức năng 48 1 VBAT VBAT 2 PC13 TAMPER-RTC 3 PC14-OSC32_IN OSC32_IN Trang 7 CHƯƠNG II: CƠ SỞ LÝ THUYẾT 4 PC15-OSC32_OUT OSC32_OUT 5 OSC_IN 6 OSC_OUT 7 NRST 8 VSSA VSSA 9 VDDA VDDA WKUP/USART2_CTS/AD C_IN0/ 10 PA0 TIM2_CH1_ETR 11 PA1 USART2_RTS/ ADC_IN1/ TIM2_CH2 12 PA2 USART2_TX/ ADC_IN2/ TIM2_CH3 13 PA3 USART2_RX/ ADC_IN3/TIM2_CH4 14 PA4 SPI1_NSS/ USART2_CK/ ADC_IN4 15 PA5 SPI1_SCK/ ADC_IN5 16 PA6 SPI1_MISO/ ADC_IN6/TIM3_CH1 17 PA7 SPI1_MOSI/ ADC_IN7/TIM3_CH2 18 PB0 ADC_IN8/TIM3_CH3 19 PB1 ADC_IN9/TIM3_CH4 20 PB2/BOOT1 21 PB10 I2C2_SCL/USART3_TX 22 PB11 I2C2_SDA/ USART3_RX Trang 8 CHƯƠNG II: CƠ SỞ LÝ THUYẾT 23 VSS_1 24 VDD_1 SPI2_NSS /I2C2_SMBAl/ USART3_CK/ 25 PB12 TIM1_BKIN 26 PB13 SPI2_SCK/ USART3_CTS/ TIM1_CH1N 27 PB14 SPI2_MISO/USART3_RTS/TIM1_CH2N 28 PB15 SPI2_MOSI/ TIM1_CH3N 29 PA8 USART1_CK/ TIM1_CH1/ MCO 30 PA9 USART1_TX/ TIM1_CH2 31 PA10 USART1_RX/ TIM1_CH3 USART1_CTS/ CANRX/ TIM1_CH4 / 32 PA11 USBDM 33 PA12 USART1_RTS/ CANTX/ TIM1_ETR / USBDP 34 PA13 JTMS/SWDIO 35 VSS_2 36 VDD_2 37 PA14 JTCK/SWCLK 38 PA15 JTDI 39 PB3 JTDO 40 PB4 JNTRST 41 PB5 I2C1_SMBAl Trang 9 CHƯƠNG II: CƠ SỞ LÝ THUYẾT 42 PB6 I2C1_SCL/ TIM4_CH1 43 PB7 I2C1_SDA/ TIM4_CH2 44 BOOT0 45 PB8 TIM4_CH3 46 PB9 TIM4_CH4 47 VSS_3 48 VDD_3 Các chân được nhóm thực hiện cấu hình và sử dụng trong đề tài lần này bao gồm:  Chân PB6: TIM4_CH1  Chân PB7: TIM4_CH2  Chân PA3: TIM2_CH4  Chân PA6: TIM3_CH1  Chân PA7: TIM3_CH2  Chân PB0: TIM3_CH3  Chân PB1: TIM3_CH4 Trang 10 CHƯƠNG II: CƠ SỞ LÝ THUYẾT Hình 2.1: Các chân của chip dán chính trên kit STM32F103C8T6 2.4 Động cơ DC servo MG996R và cách điều khiển 2.1 Động cơ servo MG996R Động cơ Servo MG966R là động cơ có mô men xoắn lớn, chạy mượt mà, phù hợp với những mô hình điều khiển có trọng tải lớn như cánh tay robot kim loại. Động cơ Servo MG966R được nâng cấp từ MG995 6V/11kg, có tốc độ và độ chính xác cao. Thông số kỹ thuật:  Kích thước sản phẩm: 40,7 x19,7 x 42.9mm  Sản phẩm Rally: 9.8V), 11kg/cm (6V)  Tốc độ phản ứng: 0.14sec/60degree (6V)  Điện áp làm việc: 4.2V  Nhiệt độ làm việc: 0℃ -55℃  Trọng lượng: 55g Trang 11 CHƯƠNG II: CƠ SỞ LÝ THUYẾT Hình 2.2: Hình ảnh thực tế servo MG996R Hình 2.3: Hình chiếu và kích thước servo MG996R 2.2 Cách điều khiển động cơ servo MG996R Một động cơ servo được điều khiển bằng cách gửi một loạt các xung qua đường tín hiệu.

Tần số của tín hiệu điều khiển phải là 50Hz hoặc một chu kỳ xung là Trang 12 CHƯƠNG II: CƠ SỞ LÝ THUYẾT 20ms. Độ rộng của xung xác định vị trí góc của servo và các loại servo này thường có thể xoay 180 độ (chúng có giới hạn vật lý khi di chuyển). Trên lý thuyết thì ta có thể điều khiển một servo theo cách sau: Hình 2.4: Tương quan giữa thời gian Ton và góc quay của servo trên lý thuyết Khi ta cấp xung có thời gian Ton = 1ms (chu kỳ T = 20ms) thì servo sẽ quay một góc 0 độ, tương tự với Ton = 1,5ms thì là 90 độ, Ton = 2ms thì là 180 độ. Servo chỉ có thể quay trong giới hạn Ton từ 1ms đến 2ms (tạm gọi thời gian 1ms là giới hạn xung dưới và 2ms là giới hạn xung trên).

Nhưng trên thực tế, có nhiều servo sẽ không hoạt động đúng theo thông số như vậy vì sản xuất kém chất lượng, không chính hãng. Muốn điều khiển servo MG996R một cách chính xác nhất có thể thì phải dò tìm thông số Ton cấp cho Servo hoạt động lần lượt ở 0 độ và 180 độ. Tìm thời gian giới hạn dưới sẽ dễ tìm và độ chính xác cao hơn. Cụ thể như sau: Trước tiên phải điều chế được một xung PWM có tần số 50Hz hay có chu kỳ T = 20ms = 20000us.

Công thức: 8 Mhz = =160000 50 Mhz Trong 20000us thì nhóm thực hiện đề tài đã chọn cho mức độ thay đổi xung (số mức mà xung PWM có thể xuất ra được) là 1000 cho dễ tính toán.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ