3.1.1. Trình tự thiết kế trong giao diện Guide
a) Giới thiệu lập trình Guide trong Matlab
Giao diện rất giống với các chương trình lập trình giao diện như Visual Basic, Visual C++,…Môi trường MATLAB là môi trường lập trình được xem “là sinh ra dùng để tính toán kỹ thuật “. Mặc dù ở mỗi chuyên ngành hẹp vẫn có những phần mềm tiện lợi hơn MATLAB, nhưng MATLAB được cho điểm cao nhờ nhiều lợi thế [5]:
Ngôn ngữ rõ ràng, không đòi hỏi biết nhiều thủ tục để người lập trình (vốn quen với ngôn ngữ C) học Matlab nhanh hơn, ngôn ngữ Matlab khá giống ngôn ngữ C, và các chương trình của Matlab có thể được dịch thành chương trình C.
Tổ chức bộ nhớ để lưu trữ các mảng rất tốt, các tính toán trên mảng được Matlab thực hiện rất nhanh. Có thể thấy được kết quả của từng lệnh, nên dễ dàng kiểm tra chương trình. Đa số các ngôn ngữ khác cần phải biên dịch cả một chương trình không có lỗi rồi mới chạy, hoặc chạy chế độ Debug cũng khá tốn thời gian.
b) Sử dung lập trình Guide trong Matlab cho mô phỏng - Mở phần mềm Matlab, gõ lệnh sau vào cửa sổ Command >>guide như trong hình 3.1
Trong cửa sổ GUIDE Quick Start có nhiều lựa chọn theo một trong các khuôn mẫu sau:
Create New GUI: Tạo một hộp thoại GUI mới theo một trong các loại sau
Blank GUI (Default): Hộp thoại GUI trống không có một điều khiển uicontrol nào cả.
GUI with Uicontrols: Hộp thoại GUI với một vài uicontrol như button, ...Chương trình có thể chạy ngay.
GUI with Axes and Menu: Hộp thoại GUI với một uicontrol axes và button, các menu để hiển thị đồ thị.
Modal Question Dialog: Hộp thoại đặt câu hỏi Yes, No.
Open Existing GUI: mở một project có sẵn. Chọn Blank GUI
- Cửa sổ GUI hiện ra như hình 3.2
Hình 3.2. Giao diện thiết kế
Giao diện rất giống với các chương trình lập trình giao diện như Visual Basic, Visual C++, ... Di chuột qua các biểu tượng ở bên trái sẽ thấy tên của các điều khiển. Một vài nút điều khiển hay dùng:
Push Button: giống như nút Command Button trong VB, là các nút bấm như nút OK, Cancel mà ta vẫn bấm.
Slider : Thanh trượt có một con trượt chạy trên đó. Radio Button : Nút nhỏ hình tròn để chọn lựa.
Check Box; Edit Text; Static Text; Pop-up Menu; List Box; Axes; Panel; Button Group; ActiveX Control; Toggle Button;
Menu quan trọng nhất là menu Tools có:
Run (Ctr + T) : nhấn vào để chạy chương trình mà ta đã viết, kiểm tra lỗi. Align Object: dùng để làm cho các điều khiển sắp xếp gọn đẹp theo ý mình như cùng căn lề bên trái, ...
Grid and Rulers : dùng để thay đổi cấu hình lưới trong giao. Menu Editor : trình này để tạo menu cho điều khiển.
Tab Order Editor : sắp xếp Tab order là thứ tự khi ta nhấn phím Tab. Gui Options : lựa chọn cho giao diện GUI.
Save dưới tên: TUT01, khi đó đồng thời xuất hiện cửa sổ Editor và đang mở file TUT01.m
Trong thư mục save sẽ có 2 file là:
TUT01.fig : file này chứa giao diện của chương trình
TUT01.m : file chứa các mã thực thi cho chương trình như các hàm khởi tạo, các hàm callback,...
- Kéo thả các điều khiển
Hãy kéo vào trong giao diện 2 Edit box, 1 Static box và 1 Push Button như hình 3.3 dưới
- Thay đổi các thuộc tính của các điều khiển: Click đúp vào Edit Text bên trái để xuất hiện cửa sổ các thuộc tính của điều khiển. Có thể sắp xếp theo chức năng hoặc theo thứ tự A-Z của tên thuộc tính bằng nút hiện ở gõ bên trái như hình 3.4 dưới.
Hình 3.4. Thuộc tính của đối tượng
Thuộc tính quan trọng của Edit Box bao gồm:
Tag: đây là thuộc tính giống như Caption trong Visual Basic để đặt tên điều khiển. Dùng tên này có thể thao tác đến các thuộc tính của đối tượng.
String : là xâu kí tự hiện lên các đối tượng
- Viết lệnh cho chương trình: Chương trình có tác dụng khi nhấn vào nút Push Button, nên phải viết chương trình vào hàm nào mà khi nhấn vào Push Button sẽ gọi. Hàm là Callback. Click chuột phải vào nút Push Button chọn Callback.
function pushbutton1_Callback(hObject, eventdata, handles) % hObject handle to pushbutton1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) Hàm có một số tham số:
hObject: lấy các thuộc tính của điều khiển pushbutton1eventdata
handles: là một cấu trúc chứa tất cả các điều khiển và dữ liệu người dùng. Dùng để truy xuất từ các điều khiển khác.
Qua thuộc tính tag của các điều khiển ta sẽ truy suất đến thuộc tính của các điều khiển khác bằng lệnh get và set.
lấy giá trị các thuộc tính dùng lệnh get
get(handles.tag_dieu_khien, 'ten thuoc tinh'); đặt thuộc tính cho các điều khiển dùng lệnh set
set(handles.tag_dieu_khien, 'ten_thuoc_tinh', gia_tri);
3.1.2. Giải bài toán động học thuận
Giao diện được thiết kế như hình 3.5:
Hình 3.5. Giao diện bài toán động học thuận
Trong giao diện có “Bảng D-H” gồm các Edit Text có “tag” là di qi ai api với i là các số tương ứng với khâu. Các bảng 1H0, 2H1, 3H2, 4H3, 5H4, 6H5 được xuất các ma trận truyền có “tag” từ text1 đến text112(Code phụ lục 1.1)
3.1.3. Giải bài toán động học ngƣợc
Giao diện được thiết kế như hình 3.6:
Thực hiện nhập độ dài các khâu, tọa độ vị trí công tác và nhấn nút thực hiện. Kết quả được thể hiện trong bảng “Góc”. Hàm chính được viết trong hàm callback (phụ lục 1.2)
3.1.4. Thiết kế quỹ đạo
Giao diện được thiết kế như hình 3.7:
Hình 3.7. Giao diện quỹ đạo chuyển động
Giao diện có thể nhập các thông số của robot, vị trí điểm đầu cuối cần di chuyển.Nút “Thực hiện” có chức năng lấy các thông số đã nhập, thực hiện tính các quy luật khớp, và vẽ quỹ đạo chuyển động.Code được viết trong hàm Callback (phụ lục 1.3)
3.1.5. Tính momen động cơ
Lấy kết quả của phần mềm thiết kế quỹ đạo làm đầu vào để tính momen động cơ như hình 3.8
Thêm lệnh momendc (handles.data); trong nút nhấn “Thực hiện” và viết chương trình bên giao diện thứ 2 để tính momen của ba động cơ (phụ lục 1.4)
3.1.6. Thiết kế điều khiển
a) Tạo giao diện điều khiển như hình 3.9
Hình 3.9. Giao diện điều khiển chính
Trong giao diện điều khiển chính như hình 3.10 có: - Bảng điều khiển:
Hình 3.10. Bảng điều khiển
Bảng điều khiển thực hiện kết nối và ngắt kết nối với máy tính, cài đặt vị trí ban đầu cho cánh tay, thực hiện di chuyển cánh tay từ vị trí hiện tại tới vị trí được khai báo trong bảng “Theo góc” hoặc “Tọa độ”.
- Bảng “Teaching Mode”
Hình 3.11. Bảng Teaching Mode
Bảng „Teaching Mode” thực hiện lưu lại vị trí trong ma trận, trạng thái cánh tay gắp nhả, tạo chương trình di chuyển cho cánh tay. Có thể di chuyển với lượng tiến góc của cánh tay trong bảng này.
Hình 3.12. Thông báo chương trình chạy của robot
Thông báo vị trí hiện tay của cánh tay di chuyển tưới, vị trí được lưu trước trong bảng “Teaching Mode”, trạng thái của tay kẹp trong từng vị trí.
Code chương trình được viết trong các lựa chọn : “kết nối”, “ngắt”, “set ban đầu”, “tăng góc”, “giảm góc”, “lưu vị trí”, “xóa vị trí”, “thực hiện” (phụ lục 1.5)
3.2. Thiết kế hệ thống cơ khí 3.2.1. Tính chọn động cơ 3.2.1. Tính chọn động cơ
Do tính toán momen sơ bộ theo matlab như hình 3.8 thì momen trên động cơ 2 là lớn nhất nên ta chọn động cơ 2, hai động cơ còn lại chọn giống động cơ hai.
Giả sử bán kính trục thiết kế có Rtr= 5 mm, trục chịu tác dụng của lực ma sát tại ổ lăn, lực ma sát có giá trị: Fms=0.05*P*d/Rtr [6]
Trong đó:
- k =0.01†0.05: hệ số ma sát của ổ lăn - Rtr=0.005: bán kính trục (m)
- d=l2=0.23(m)
- P=m2*g= 1.5949*9.8=15.63(N)
Thay vào công thức: Fms=0.05*P*d/Rtr = 0.05*15.63*0.23 /0.05= 3.6 (N) Để cánh tay Robot hoạt động được thì momen tác động lên trục phải thắng được momen của lực ma sát ổ lăn tác động lên trục: M >Fms= 3.6 (N)
Do Robot chủ yếu phục vụ công tác đào tạo nên chọn tốc độ quay của trục là 30 (v/ phút), hơn nữa Robot sử dụng bộ truyền đai răng có tỷ số truyền bằng 2 nên chọn số vòng quay n= 2*30 = 60 (v/ phút)
Vậy công suất động cơ: Ptr>
=
= 22.6(W)
Chọn động cơ: PITTMAN DC GEAR MOTOR 24 VDC 65.5:1 RATIO MODEL GM9434H926.
Thông số kỹ thuật của đông cơ: Công suất P = 27.57 (W), điện áp 24V, đĩa encoder 100 xung/ vòng. Tốc độ quay 80v/ phút
3.2.2. Tính trục
Trục 1 (trục tại khớp 3)
Xác định momen lớn nhất tác dụng lên trục:
Giả sử cánh tay nâng vật nặng 100(g), khâu thứ 3 nặng 216,05(g) được thay thế bằng lực tương đương tại trọng tâm như hình 3.13
Tổng momen tác dụng lên trục và biểu đồ momen (hình 3.14): → M = 0.21605 75 + 0.1 150 = 305.8 (Nmm)
Gọi: +) M1 là momen cánh tay tác dụng lên trục: M1 = M/2 = 152.9 (Nmm) +) M2 là momen động cơ cần thiết tác dụng lên trục M2 = M1
Hai vị trí đặt của M1 và M2 là vị trí của cánh tay và động cơ (hình 3.14) Trục chịu lực cắt lớn nhất khi cánh tay ở vị trí cao nhất, khi đó lực cắt: P = (0.21605 + 0.1) 9.8 = 3 (N)
Gọi: +) N3, N4 là hai lực cắt cánh tay tác dụng: N3 = N4 = P/2 =1,5 (N) Khi đó
+) N1, N2 là hai phản lực: N1 = 1,8 (N), N2 =1,2 (N) Biều đồ momen:
Hình 3.14. Biểu đồ momen trục 1
Tại điểm đặt lực N4 là điểm nguy hiểm, ta có momen tương đương tại điểm này: Mtd = √ = 26.4 (Nmm)
Chọn vật liệu cho trục: thép C45 có trị số ứng suất cho phép [σ] = 80 MPa
Đường kính cần thiết:d = √ ] = √
Trục 2 (trục tai khớp 2)
Khối lượng khâu 2 và 3: m= 1594.9 + 216.05 = 1811 (g), cánh tay nâng vật nặng 100 (g) như hình 3.15. Trục 2 chịu tác dụng của momen xoắn do khối lượng của khâu 2, khâu 3 và vật nâng gây ra:
Hình 3.15. Trục tại khớp 2
Tổng các momen tác dụng lên trục:
M = M2 126.5 + M3 328 + M0 403 = 3066.44 (Nmm) Trong đó: M1, M2 là momen xoắn do cánh tay và động cơ tác dụng lên truc 2 M1 = M2 = = 1533,22 (Nmm)
Trọng lượng của khâu 2,3:P = M0 + M2 + M3 = 19 (N)
Gọi N3, N4 là lực cắt của cánh tay tác dụng lên trục: N3 = N4 = = 9,5 (N), khi đó có
hai phản lực ta có hai phản lực N1 = 11, N2 = 8 (N) Biểu đồ momen:
Ta thấy điểm đặt lực N4 là điểm nguy hiểm, momen tương đương tại điểm này: Mtd = √ = 122.6 (Nmm)
Chọn vật liệu cho trục: thép C45 có trị số ứng suất cho phép [σ] = 80 MPa
Đường kính trục cần thiết:d = √ ] = √
= 2.5 (mm)
Trục 3 (trục tại khớp 1)
Trục chịu tác dụng chủ yếu bởi momen uốn và momen xoắn như hình 3.17
Hình 3.17. Trục tại khớp 1
Momen uốn lớn nhất được tạo ra bởi cánh tay tại vị trí xa nhất.
M = M2 126.5 + M3 328 + M0 403 = 3066.44 (Nmm)
Momen xoắn lớn nhất được tạo ra khi cho cánh tay quay với gia tốc lớn nhất, giả sử gia tốc lớn nhất là 1 m/s2. Khi đó momen lớn nhất được tính như sau:
Mz = M2 a 126.5 + M3 a 328 + M1 a 403 = 313 (Nmm) Biểu đồ momen:
Dựa vào biểu đồ nội lực ta thấy điểm đặt momen Mz2 là điểm nguy hiểm, ta có momen tương đương tại điểm này:
Mtd = √ = 225.1 (Nmm) Chọn vật liệu: thép C45 => [σ] = 80
Đường kính cần thiết:d = √ ] = √
= 3.1 (mm)
3.2.3. Thiết kế khung cho robot cầu RRR
Khung đế phải được thiết kế gọn nhẹ,đủ độ cứng,đứng vững chịu được tải trọng của toàn bộ robot. Phần đế được làm bằng thép d=3mm, đủ nặng để giữ robot không bị lật về phía trước. Các phần khung robot được làm bằng nhôm tấm dày 3mm.
Hình 3.19. Khung robot
3.2.4. Tính cánh tay robot
a) Cánh tay 1:
Cánh tay gồm 2 tấm có trọng lượng nhẹ,thẩm mĩ, đơn giản dễ gia công và tháo lắp.Vật liệu nhôm A1050. Bề dày d=2mm
Hình 3.20. Cánh tay 1
b) Cánh tay 2:
Cũng giống như modul cánh tay 1,bao gồm 2 tấm nhôm nhẹ ,dễ gia công và tháo lắp.Vật liệu nhôm A1050. Bề dày d= 2mm
Hình 3.21. Cánh tay 2
c) Thiết kế tay kẹp
Tay kẹp có khả năng gắp được vật có hình dạng khác nhau:hình lập phương,hình chữ nhật…Thiết kế điều khiển bằng xilanh-khí nén.Kích thước kẹp có bề rộng: 30-40mm
Hình 3.22. Tay kẹp
3.2.5. Tính chọn ổ bi
Robot được lắp 3 ổ bi giống nhau tương ứng tại 3 khớp để tạo chuyển động cho 3 trục. Do 3 trục chọn đều có đường kính d = 10 mm nên ta chọn ổ bi LYC 6200 RS
Ổ bi loại 6200RS: Ổ bi cầu, chịu tải mức trung bình. Đường kính trong: d= 10mm, chiều cao: h= 8mm, đường kính ngoài: D= 30mm. Tốc độ tải tối đa: Vmax= 1800RMP. Số lượng bi: 10 viên
3.2.6. Tính chọn bộ truyền động đai răng robot RRR
Chọn đai răng theo tiêu chuẩn ISO như bảng 3.1
Bảng 3.1. Các ký hiệu L, H, XL và bước đai tương ứng
Nhìn bảng trên ta thấy việc chọn đai phụ thuộc vào: bước răng, độ rộng đai, số lượng răng của bánh đai, độ dày của pulley.
Đai truyền được chọn theo công suất và tốc độ quay của động cơ qua công suất như hình 3.2:
Hình 3.23. Hình lựa chọn bộ truyền đai
Động cơ DC servo điều khiển với tốc độ: n= 60 vòng/phút; Công suất động cơ: Pđc= 27 W
Dựa vào bảng ta chọn loại L
Thiết kế bánh đai theo tiêu chuẩn với phần mềm hỗ trợ GEARTRAX như hình 3.24.
Tiến hành chọn:Bước răng: Belt Pitch=3mm; Độ rộng đai: Belt Width=0.313in belt width (= 9mm); Số lượng răng của bánh đai: Number of Teeth=16; Chọn tấm chắn cho bánh đai: Flange Creation; Chọn độ rộng của pulley: 12m
Sau khi hoàn tất, ấn Create để xác nhận:
Phần mềm Solidwork 2010 tự động chạy quá trình tính toán và vẽ ra biên dạng pulley, sau đó ta chỉnh sửa để được sản phẩm hoàn thiện (hình 3.24)
Hình 3.25. Mô hình pulley nhỏ trong SolidWork
Ta làm tương tự với bánh đai lớn:
Hình 3.26. Thông số pulley lớn
Bánh đai đã được thiết kế xong:
Tiếp theo tiến hành chọn dây đai: Chọn dây đai theo tiêu chuẩn băng phần mềm trực tuyến từ trang web: http://www.hpcgears.com/calc.htm
Bộ truyền động thiết kế có thông số cơ bản là:
Số răng bánh đainhỏ =25; Số răng bánh đai lớn =50: Khoảng cách 2 trục: d=200mm: Bước răng: Pitch=3mm
Hình 3.28. Chọn loại đai
Theo hình 3.28trên chọn được dây đai HTD531
3.2.7. Chế tạo hệ thống cơ khí
Sau khi thiết kế robot ta tiến hành gia công, chế tạo các chi tiết của hệ thống cơ khí. Một chi tiết điển hình cùng vật liệu chế tạo và phương pháp gia công được trình bày trong bảng 3.2:
STT Tên chi
tiết Chi tiết Vật liệu phôi
Phương án gia công 1 Đế Thép Máy cắt tay 2 Thân dưới Thép Máy cắt tay Hàn Khoan lỗ
3 Gá động cơ số 1 Thép -Dập tạo hình dạng -cắt dây tạo rãnh -Khoan lỗ và taro 4 Thanh tay 2 Nhôm tấm D = 3mm -Cắt dây -Khoan lỗ 5 Trục số 1 Thép Ø10 Tiện Khoan lỗ và taro 6 Trục số 2 Thép Ø10 Tiện 7 Trục số 3 Thép Ø10 Tiện 8 Đệm thân số 1 Nhôm tấm D = 3mm Máy dập Khoan 9 Thân số 1 Nhôm tấm D = 3mm Cắt dây Máy dập Khoan lỗ 10 Hệ thống căng đai 2 Nhôm Phay Khoan lỗ
11 Ca bi 1 Nhựa cứng Tiện Khoan lỗ 12 Tay số 2 Nhôm tấm d = 2 mm Cắt dây Máy cắt tay Khoan 13 Ca bi 3 Nhôm tấm d=2mm Máy cắt tay Khoan lỗ 14 Tấm gá tay kẹp Nhôm tấm D = 2mm Máy dập Khoan lỗ 15 Pulley nhỏ Nhôm Máy tiện Cắt dây Khoan và taro 16 Pulley số 2 Nhôm Máy tiện Cắt dây Khoan và taro 17 Pulley số 3 Nhôm Máy tiện Cắt dây Khoan lỗ 18 Pulley số 4 Nhôm Máy tiện