Trong điều khiển chuyển động, nhận thấy vận tốc là yếu tố quyết định. Mitsubishi đã phát triển MR-J4 với tần số 2500Hz giúp giảm thời gian định vị xuống dưới 2 ms nhằm tối đa hóa hiệu năng của máy. Những tính năng do mạng SSCNET mang lại:
Hoạt động mượt mà, tốc độ và độ chính xác cao: SSCNET nhận ra các thiết bị hiệu suất và độ chính xác cao không thể đạt được với lệnh xung thông thường hoặc lệnh tương tự. Khi sử dụng cả lệnh xung và lệnh tương tự: trước đây có tần số xung giới hạn cho tốc độ cao và điều khiển có độ chính xác cao, và sau này dễ bị nhiễu đường dây, sụt điện áp do chiều dài cáp và độ lệch nhiệt độ.
Mạnh mẽ khi giao tiếp đồng bộ: Với lệnh xung thông thường, nội suy hai trục có độ chính xác cao rất khó khăn vì bộ điều khiển chuyển động và bộ khuếch đại servo không được vận hành đồng bộ.
SSCNET có thể trao đổi khối lượng dữ liệu lớn giữa bộ điều khiển và bộ khuếch đại servo trong thời gian thực.
Giảm số lượng dây nối, do đó cũng giảm năng lượng tiêu tốn cũng như giảm khả năng hư hỏng.
Bảng 3.7: Ưu điểm SSCNET III so với SSCNET I/II
SSCNET III SSCNET II SSCNET I
Truyền thông Cáp quang Cáp kim loại Cáp kim loại Tốc độ truyền
thông
50Mbps 5.6Mbps 5.6Mbps
Chu kì gửi tín hiệu 0.44ms/0.88ms 0.88ms 0.88ms/1.77ms/3.55ms Chu kì nhận tín
hiệu
0.44ms/0.88ms 0.88ms 3.55ms
Số trục tối đa trên một hệ thống Chu kì 0.44ms: 8 trục Chu kì 0.88ms: 16 trục 6 trục 8 trục Khoảng cách truyền Giữa 2 module: 20m/50m (cáp đặc biệt) Tổng: 16(trục)x20=320m Tổng 30m Tổng 30m
69
Kết nối mạng SSCNET III từ QD75MH đến Driver Servo:
70
Chương 4: GIẢI THUẬT VÀ CHƯƠNG TRÌNH ĐIỀU KHIỂN
4.1Tính động học thuận và động học nghịch
4.1.1 Tính động học thuận
Dựa vào thiết kế của mô hình ta có được bảng thông số D-H.
Bảng 4.1: Bảng thông số D-H: Khâu a (mm) 𝛼 (độ) d (mm) 𝜃 (độ) 1 0 0 ∗ 𝐿1 0 2 𝐿2 = 325 0 0 ∗ 𝜃2 3 𝐿3 = 265 𝜃3 = 180 0 ∗ 𝜃3 4 0 0 𝑑4 = 240 ∗ 𝜃4
Nhóm sử dụng phần mềm Matlab để tính các phép tính ma trận. Dưới đây là chương trình trong Matlab.
>> syms L1 L2 L3 t2 t3 t4 >> T01 = [1 0 0 0; 0 1 0 0; 0 0 1 L1; 0 0 0 1] T01 = [ 1, 0, 0, 0] [ 0, 1, 0, 0] [ 0, 0, 1, L1] [ 0, 0, 0, 1]
>> T12= [cos(t2) -sin(t2) 0 L2*cos(t2); sin(t2) cos(t2) 0 L2*sin(t2); 0 0 1 0; 0 0 0 1] T12 =
[ cos(t2), -sin(t2), 0, L2*cos(t2)] [ sin(t2), cos(t2), 0, L2*sin(t2)] [ 0, 0, 1, 0 ]
71 [ 0, 0, 0, 1 ]
>> T23 = [cos(t3) sin(t3) 0 L3*cos(t3); sin(t3) -cos(t3) 0 L3*sin(t3); 0 0 -1 0; 0 0 0 1] T23 =
[ cos(t3), sin(t3), 0, L3*cos(t3)] [ sin(t3), -cos(t3), 0, L3*sin(t3)] [ 0, 0, -1, 0]
[ 0, 0, 0, 1]
>> T34 = [cos(t4) -sin(t4) 0 0; sin(t4) cos(t4) 0 0; 0 0 1 240; 0 0 0 1] T34 = [ cos(t4), -sin(t4), 0, 0] [ sin(t4), cos(t4), 0, 0] [ 0, 0, 1, 240] [ 0, 0, 0, 1] >> T04 = T01 * T12 * T23 * T34 T04 =
[ cos(t4)*(cos(t2)*cos(t3) - sin(t2)*sin(t3)) + sin(t4)*(cos(t2)*sin(t3) + cos(t3)*sin(t2)), cos(t4)*(cos(t2)*sin(t3) + cos(t3)*sin(t2)) - sin(t4)*(cos(t2)*cos(t3) - sin(t2)*sin(t3)), 0, L2*cos(t2) + L3*cos(t2)*cos(t3) - L3*sin(t2)*sin(t3)]
[ cos(t4)*(cos(t2)*sin(t3) + cos(t3)*sin(t2)) - sin(t4)*(cos(t2)*cos(t3) - sin(t2)*sin(t3)), - cos(t4)*(cos(t2)*cos(t3) - sin(t2)*sin(t3)) - sin(t4)*(cos(t2)*sin(t3) + cos(t3)*sin(t2)), 0, L2*sin(t2) + L3*cos(t2)*sin(t3) + L3*cos(t3)*sin(t2)]
72 [ 0, 0, -1, L1 - 240] [ 0, 0, 0, 1] >> Px = T04(1,4) Px =
L2*cos(t2) + L3*cos(t2)*cos(t3) - L3*sin(t2)*sin(t3)
>> Py = T04(2,4) Py =
L2*sin(t2) + L3*cos(t2)*sin(t3) + L3*cos(t3)*sin(t2) >> Pz = T04(3,4) Pz = L1 - 240 >> Px = simplify(T04(1,4)) Px = L3*cos(t2 + t3) + L2*cos(t2) >> Py = simplify(T04(2,4))
73 Py = L3*sin(t2 + t3) + L2*sin(t2) >> Pz = simplify(T04(3,4)) Pz = L1 - 240 - Công thức tổng quát: 𝑇 𝑖+1𝑖 = [
cos 𝜃 − sin 𝜃 cos 𝛼
sin 𝜃 cos 𝜃 cos 𝛼
sin 𝜃 sin 𝛼 𝑎 cos 𝜃
− cos 𝜃 sin 𝛼 𝑎 sin 𝜃
0 𝑠𝑖𝑛𝛼 0 0 𝑐𝑜𝑠𝛼 𝑑 0 1 ] Suy ra: 𝑇 0 1 = [ 1 0 0 1 0 0 0 0 0 0 0 0 1 𝐿1 0 1 ] ; 𝑇12 = [ cos 𝜃2 −𝑠𝑖𝑛𝜃2 sin 𝜃2 𝑐𝑜𝑠𝜃2 0 𝐿2∗ 𝑐𝑜𝑠𝜃2 0 𝐿2∗ 𝑠𝑖𝑛𝜃2 0 0 0 0 1 0 0 1 ] 𝑇 2 3 = [ cos 𝜃3 𝑠𝑖𝑛𝜃3 sin 𝜃3 −𝑐𝑜𝑠𝜃3 0 𝐿3∗ 𝑐𝑜𝑠𝜃3 0 𝐿3∗ 𝑠𝑖𝑛𝜃3 0 0 0 0 −1 0 0 1 ] ; 𝑇 3 4 = [ cos 𝜃4 −𝑠𝑖𝑛𝜃4 sin 𝜃4 𝑐𝑜𝑠𝜃4 0 0 0 0 0 0 0 0 1 240 0 1 ] 𝑇 0 4 = 𝑇01 ∗ 𝑇12 ∗ 𝑇23 ∗ 𝑇34 Với công thức:
74 𝑇 0 4 = [ 𝑟11 𝑟12 𝑟21 𝑟22 𝑟13 𝑃𝑥 𝑟23 𝑃𝑦 𝑟31 𝑟32 0 0 𝑟33 𝑃𝑧 0 1 ]
Tính bằng Matlab, xuất giá trị Px, Py, Pz là tọa độ vị trí cuối của cánh tay robot:
{
𝑃𝑥 = 𝐿3∗ cos(𝜃2+ 𝜃3) + 𝐿2∗ 𝑐𝑜𝑠𝜃2
𝑃𝑦 = 𝐿3∗ sin(𝜃2+ 𝜃3) + 𝐿2∗ 𝑠𝑖𝑛𝜃2
𝑃𝑧 = 𝐿1− 240
4.1.2 Tính động học nghịch
Để tính được bài toán động học nghịch cho mô hình này. Nhóm chọn phương pháp hình học, tuy sẽ khó khăn hơn trong việc xác định hình học ban đầu nhưng về sau khi xác định các góc tiếp theo sẽ trở nên dễ dàng.
75 Tính góc 𝜽𝟑: Xét tam giác 𝑂𝐻𝐾 có: (𝑂𝐾)2 = (𝑂𝐻)2+ (𝐻𝐾)2− 2. 𝑂𝐻. 𝐻𝐾. cos(180° − 𝜃3) { 𝑂𝐾 = √𝑃𝑥2+ 𝑃𝑦2 𝑂𝐻 = 𝐿2 𝐻𝐾 = 𝐿3 cos(180°− 𝜃3) = − cos(𝜃3) ⇒ cos(𝜃3) =(𝑃𝑥2+𝑃𝑦2)−𝐿22−𝐿32 2.𝐿2.𝐿3 ⇒ 𝜃3 Tính góc 𝜽𝟐: Xét tam giác 𝐻𝑂𝐾 có: (𝐻𝐾)2 = (𝑂𝐻)2+ (𝑂𝐾)2− 2. 𝑂𝐻. 𝑂𝐾. cos(𝐻𝑂𝐾̂ ) ⇒ cos(𝐻𝑂𝐾̂ ) = 𝐿2 2+ (𝑃𝑥2+ 𝑃𝑦2) − 𝐿32 2. 𝐿2. √𝑃𝑥2+ 𝑃𝑦2 tan 𝑃̂ =𝑦𝑂𝐾 𝑃𝑥 𝑃𝑦 𝜃2 = 90°− (𝑃̂ + 𝐻𝑂𝐾𝑦𝑂𝐾 ̂ ) Tính góc 𝜽𝟒: 𝜃2+ 𝜃3+ 𝜃4 = 0 ⇒ 𝜃4 = 0 − (𝜃2+ 𝜃3)
Note: Ở trên là trường hợp tính toán khi 𝑥 > 0, 𝑦 > 0
Với trường hợp 𝑥 > 0, 𝑦 < 0 ta có:
𝜃3′ = −𝜃3 𝜃2′ = −𝜃2
76
4.2 Thiết kế màn hình HMI
Dựa vào mục đích của mô hình là gắp và xếp vật. Nhóm thiết kế với 4 màn hình HMI:
Hình 4.2: Màn hình chọn cách thức chạy
77
Trong trang Manual, ta có thể chỉnh tọa độ điểm cuối của robot. Từ đó chọn tọa độ đó là điểm gắp vật (Pick POS), thả vật (Place POS). Cho cánh tay về điểm HOME.
Hình 4.4: Màn hình AUTOMATION
Trong trang Automation, giúp người vận hành có thể quan sát được vật được thả ở vị trí nào và đã gắp được bao nhiêu vật. Bên cạnh đó có nút “RST ERR” để chạy lại khi có lỗi. “RST COUNT” cho cánh tay tiếp tục chạy lại sau khi đã xếp đủ vật.
78
Trong trang Real Value, giúp cho người vận hành có thể theo dõi các thông số quan trọng như giá trị của các trục quay, và tốc độ của các trục đó khi đang quay.
Hình 4.6: Trang SET UP
Trong trang Set up, để cho người vận hành có thể cài đặt các thông số liên quan đến xếp vật như: số hàng, số cột, số tầng, khoảng cách giữa cột, hàng và tầng.
4.3Phương pháp thực hiện
79
Khi chạy chế độ Auto
80
81
4.3.2 Lập trình và thiết lập các thông số 4.3.2.1 Lập trình
Sừ dụng phần mềm GX Works2 để viết chương trình cho CPU.
Hình 4.7: Phần mềm GX Works2
4.3.2.2 Thiết lập các thông số
Set Parameter các trục cho QD75MH4
82
Set Parameter điểm HOME, chọn chế độ Absolute Position Detection System để lưu nhớ vị trí servo.
Hình 4.9: Set Parameter cho điểm HOME
Chọn chiều quay cho Servo đúng với hệ quy chiếu của tọa độ Robot (quay ngược chiều kim đồng hồ là dương, cùng chiều kim đồng hồ là âm).
Hình 4.10: Quy ước chiều quay servo
Chọn chế độ tự điều chỉnh Moment động cơ phù hợp với cơ cấu Robot giúp giảm quán tính, robot vận hành ổn định không rung lắc dù chạy với các cấp tốc độ khác nhau.
83
Set Data trục 1, chạy nội suy 3 trục (trục 1,2,3).
Hình 4.12: Set Data trục 1
Set Data trục 4 (tay gắp) chạy độc lập.
84
Set Parameter động cơ của Băng tải, qua tỉ số của hộp giảm tốc ta được: động cơ quay 1 vòng ứng với băng tải dịch chuyển vật được 64mm.
85
Chương 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
5.1 Kết quả
Sau khi trải qua 16 tuần để thực hiện hoàn thành đề tài này, qua quá trình nghiên cứu tài liệu, sự giúp đỡ của các anh chị khóa trước cũng như các bạn trong phòng LAB nghiên cứu và đặc biệt là sự giúp đỡ tận tình của giáo viên hướng dẫn ThS Lê Hoàng Lâm, nhóm đã đạt được kết quả như mong muốn:
5.1.1 Về PLC
Giao tiếp PLC với máy tính.
Kết nối với các thiết bị ngoại vi.
Dùng các phần mềm: GX Works2, MT Deverlop2, GT Designer 3.
5.1.2 Về thiết bị điện
Cách đi dây, bấm đầu cốt, in tag name cho các dây điện.
Sử dụng và lựa chọn CB, ELCB, CP.
Sử dụng máy biến áp.
Sử dụng contactor, relay.
Sử dụng bộ lọc nhiễu.
Lựa chọn cảm biến.
Thiết kế giao diện và sử dụng HMI GOT 1000.
Kết nối và sử dụng tay phát xung.
5.1.3 Về Driver Servo
Kết nối được với module chuyển động QD75MH.
Cách lập trình và cài đặt các thông số.
Điều khiển động bộ nhiều trục theo yêu cầu.
5.1.4 Về phần cơ khí
Cơ cấu truyền động puly và dây đai
Sử dụng thiết bị khoan, cắt, mài.
86
5.1.5 Khả năng tìm kiếm tài liệu và cách làm việc
Cách tìm tài liệu trên Internet.
Đọc tài liệu hướng dẫn của từng thiết bị.
Làm việc nhóm.
Phân chia, quản lý thời gian.
5.2 Kết quả thực nghiệm
Hình 5.1: Cánh tay Robot
87
Nhóm đã hoàn thiện được mô hình như dự kiến ban đầu:
- Hệ thống vận hành một cách trơn tru, mượt mà và ổn định.
- Mô hình có thể gắp vật liên tục mà không bị lệch vị trí hoặc có các sự cố. - Trong quá trình thực hiện, nhóm cũng đã gặp nhiều sự cố như: tính toán sai
động học thuận, nghịch dẫn đến điều khiển sai vị trí.
- Mô hình chạy không được mượt mà trơn tru do tính toán thời gian tăng giảm tốc.
- Đảo chiều quay vít me với tốc độ nhanh nên gây gãy trục.
- Và nhiều lỗi khi kết nối và cài đặt Parameter cho Driver, QD75MH. Nhóm đã phải sử dụng nhiều tài liệu “Manual” của các thiết bị này để có thể sửa lỗi.
Rút ra được ưu nhược điểm của mô hình như sau - Ưu điểm:
Có thể gắp vật liên tục, đặt vật trên băng tải sát nhau.
Có 2 chế độ Auto và Munual.
Người vận hành có thể thay đổi vị trí gắp vật và vị trí thả vật một cách đơn giản. Di chuyển cánh tay đến vị trí mong muốn bằng tay phát xung hoặc HMI, sau đó nhấn nút “Pick POS” (vị trí gắp) hoặc “Place POS” (vị trí thả vật) trên màn hình HMI.
Có thể thay đổi số lượng trên mỗi Pallet (khi gắp đủ 1 Pallet hệ thống sẽ dừng) bằng cách chọn trên HMI, cho đến khi có tín hiều Pallet đã chuyển đi mô hình mới tiếp tục hoạt động.
Có thể thay đổi khoảng cách giữa các vật được thả, nhập khoảng cách trên HMI với đơn vị (mm). Độ chính xác nhỏ hơn −+1 𝑚𝑚.
Khi thả xong vật, trên màn hình HMI cũng sẽ hiển thị vật nào đã được đặt. Giúp cho người vận hành dễ dàng quan sát mà không cần nhìn vào hệ thống.
Tốc độ của mô hình tương đối nhanh. Từ khi gắp vật đến quay lại vị trị cũ 5s30 – 5s45. Tùy vào chọn vị trí thả vật.
Khi hệ thống mất điện, hệ thống sẽ tự nhớ gắp đến vật thứ mấy. Để khi có điện lại sẽ không cần xếp lại vật đầu tiên.
Ngoài ra còn có các nút dừng khẩn cấp để khi có sự cố. - Nhược điểm:
Không thể đặt các vật sát nhau. Do cơ cấu tay gắp khi nhả (6cm), khi kẹp (4cm). Do đó khoảng cách tối thiểu giữa các vật là 2 cm.
88
Khi thay đổi hình dạng, kích thước của vật phải điều chỉnh lại hệ thống.
Mô hình chưa thể thay đổi chiều khi thả vật (do đó mô hình sử dụng vật hình tròn).
5.3Hướng phát triển đề tài
5.3.1 Nâng cấp trục vít me
Do cơ cấu trục vít me phải quay đảo chiều liên tục để đưa cơ cấu robot đi lên xuống theo trục z. Do dó, khi muốn đạt được tốc độ nhanh trục vít me sẽ phải chịu lực moment rất lớn dễ làm gãy trục vít. Đặc biệt là vị trí nối với puly. Do phần thân vít me đã có 2 thanh trụ trợ lực nên khó gãy. Hiện tại cánh tay robot có thể chạy nhanh hơn rất nhiều nhưng do cơ cấu vít me nhóm không để chạy tốc độ lớn nhất.
Có 2 cách để nâng cấp:
- Nhiệt luyện vít me để cứng hơn.
- Thay bằng trục vít me có đường kính lớn hơn.
5.3.2 Thêm băng tải chuyển Pallet
Sau khi xếp đủ vật, sẽ có băng tải đưa Pallet đó đi và đưa Pallet khác vào để cánh tay xếp tiếp vật. Như vậy mô hình sẽ ứng dụng trong công nghiệp hoàn chỉnh.
5.3.3 Thêm xử lý ảnh hoặc cảm biến phát hiện người trong khu vực làm việc của cánh tay cánh tay
Trong quá trình làm việc, nếu con người di chuyển vô khu vực làm việc của robot sẽ rất nguy hiểm, có thể bị cánh tay di chuyển trúng. Do đó, cần phát hiện khi nào con người xuất hiện trong khu vực làm việc thì cánh tay robot sẽ tự động dừng.
89
TÀI LIỆU THAM KHẢO
Tiếng Việt
https://www.mitsubishielectric.com/fa/assist/e-learning/vie.html
https://kythuatchetao.com/canh-tay-robot-cac-khai-niem-co-ban-va-phan-loai- robot/
Tiếng Anh
[1] QD75MH Positioning Module User's Manual [2] QCPU(Q Mode)/QnACPU Programming Manual [3] I/O Module Type Building Block User's Manual [4] MR-J4-B Servo Amplifier Instruction Manual
[5] Melservo J4 SSCNET III/H Interface Multi-axis AC Servo Manual
[6] MODEL HG-MR/HG-KR/HG-SR/HG-JR/HG-RR/HG-UR/HG-AK Servo Motor Instruction Manual