1. Trang chủ
  2. » Luận Văn - Báo Cáo

THIẾT KẾ, CHẾ TẠO ROBOT SCARA 3 BẬC TỰ DO

36 994 14

Đ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

Định dạng
Số trang 36
Dung lượng 3,74 MB

Nội dung

THIẾT KẾ, CHẾ TẠO THÀNH CÔNG ROBOT SCARA 3 BẬC TỰ DO, SỬ DỤNG NGÔN NGỮ PYHTON VỚI SỰ HƯỚNG DẪN CỦA TIẾN SĨ NGUYỄN THIÊN CHƯƠNG TỪ ĐẠI HỌC LIBEREC BẠN NÀO CẦN FILE CÓ THỂ LIÊN HỆ MÌNH MÌNH CHO FILE ĐIỀU KHIỂN VÀ FIRMWARE ĐỂ NGHIÊN CỨU LIÊN HỆ HƯỚNG DẪN 01689996247

Trang 1

Báo cáo: Đồ án kỹ thuật

Robot Nhóm 3

THÀNH VIÊN TRONG NHÓM:

Đinh Tiến Vinh

Bùi Xuân Tường

Lê Đức Trung

Lê Thanh Tùng

Nguyễn Thanh Luân

Trương Quang Dũng

Trang 2

LỜI NÓI ĐẦU

Vào đầu thế kỉ trước, con người đã có ý tưởng tạo ra những cỗ máy thaythế mình trong các công việc nặng nhọc, nhàm chán, nguy hiểm năm 1940,robot đầu tiên ra đời tại Mĩ, làm nhiệm vụ vận chuyển các hoạt chất phóng xạ.đến thập kỉ 80, trên thế giới đã có tới 40 nghìn robot thuộc 500 kiểu, do 200hãng tham gia sản xuất Ngày nay, robot được sử dụng rộng rãi trong sản xuất,nghiên cứu khoa học và đời sống Đó là thiết bị không thể thiếu trong quá trìnhsản xuất, đặc biệt là hệ thống sản xuất linh hoạt Robot ngày càng phát triển,khéo léo và thông minh, được coi là sản phẩm điển hình của ngành kĩ thuật Cơđiện tử

Trước xu thế phát triển đó, hầu hết các trường đại học kỹ thuật ở ViệtNam đã đưa môn “kỹ thuật robot” vào giảng dạy trong chương trình chính khóa.Môn học này được giảng dạy chủ yếu cho các chuyên ngành cơ khí, song cáckhía cạnh riêng biệt của nó như kỹ thuật điều khiển, lập trình, mô phỏng cũngđược các ngành khác quan tâm Trong phạm vi của học phần, được sự giảng dạy

và hướng dẫn của thầy Nguyễn Thiên Chương, chúng em đã nghiên cứu và chếtạo Scara Robot Arm, đây là nội dung chính của bài báo cáo này

Robot Arm là một loại cánh tay cơ khí, thường được lập trình với cácchức năng tương tự cánh tay con người Robot Arm có thể là một cơ chế hoànchỉnh hoặc là một phần của robot phức tạp hơn Các liên kết của tay máy đượcnối với nhau bằng các khớp tự do, hoặc là chuyển động quay hoặc là chuyểnđộng tịnh tiến Các liên kết của các tay máy có thể tạo thành một chuỗi độnghọc Đích đến cuối cùng của chuổi động học này được gọi là End Effector,tương tự như cánh tay con người

Robot Arm luôn là chủ đề được quan tâm nhiều trong lĩnh vực tự độnghóa bởi tính ứng dụng thực tiễn của nó trong xã hội hiện nay nói chung và trongngành công nghiệp nói riêng Mỗi tay máy đều có một cơ cấu khác nhau, do đó

có các phương trình động học, động lực học cũng khác nhau cho nên việc tínhtoán và điều khiển mỗi loại tay máy là rất phức tạp Có thể thấy tay máy là một

đề tài không mới nhưng nó mang tính chất khó, tính nghiên cứu và ứng dụngcao

Bài báo cáo này được nhóm chúng em chuẩn bị dựa theo kiến thức được

Trang 3

Chương 1: Tổng quan

1.1 Đề tài

Tự thiết kế một Robot cánh tay Scara và điều khiển

Sản phẩm thiết kế của nhóm 1.2 Yêu cầu của đề tài

- Thiết kế giao diện điều khiển bằng ngôn ngữ lập trình PYTHON và sử dụng vi điều khiển arduino

- Giải và điều khiển robot theo động học thuận, động học nghịch

- Định vị tọa độ cho robot

- Làm ra được 1 ứng dụng cho robot

Trang 4

Chương 2: Thiết kế, chế tạo robot

2.1 Thiết kế

Thiết kế của tay Scara gồm 3 khâu 1 khớp tịnh tiến và 2 khớp xoay, tay A

có chiều dài là 110 mm, tay B là 115 mm Thiết kế được vẽ trên Solidwork theo

cơ cấu truyền động bánh răng

Sau khi thiết kế tổng cộng gồm 12 chi tiết lưu thành file STL và in 3d đểlắp ráp

Trang 5

2.2 Phần cơ khí

- 10 chi tiết nhựa in 3d.

- Sử dụng 3 động cơ bước Shinano Kenshi.

- 1 trục vít me bước 8mm dài 30 cm.

- 3 trục tuyến tính dài 35cm.

Trang 6

- 4 ổ bi trượt LM8UU.

- 2 ổ bi 15 x 32 x 9 mm.

Trang 7

 16 đầu vào analog.

 4 UARTs (cổng nối tiếp phần cứng)

Trang 8

Nó chứa tất cả mọi thứ cần thiết để hỗ trợ các vi điều khiển.

Arduino Mega2560 khác với tất cả các vi xử lý trước giờ vì không sử dụngFTDI chip điều khiển chuyển tín hiệu từ USB để xử lý Thay vào đó, nó sử dụngATmega16U2 lập trình như là một công cụ chuyển đổi tín hiệu từ USB Ngoài

ra, Arduino Mega2560 cơ bản vẫn giống Arduino Uno R3, chỉ khác số lượngchân và nhiều tính năng mạnh mẽ hơn, nên các bạn vẫn có thể lập trình cho con

vi điều khiển này bằng chương trình lập trình cho Arduino Uno R3

Chức năng: Là một bo mạch vi xử lý được dùng để lập trình tương tác với

các thiết bị phần cứng như động cơ Để kết nối và làm việc Arduino với phầnmềm python điều khiển cánh tay Robot

Trang 9

Mạch RAMPS 1.4 Chức năng :

 Dùng để điều khiển các dạng robot 3 trục tịnh tiến và máy in 3D

 Có thể mở rộng cho các phụ kiên điện tử khác

 3 mạch công suất cho các đầu sấy và quạt, các mạch xử lý tín hiệunhiệt điện trở

 Điều khiển bàn nhiệt (có bảo vệ bằng cầu chì tự phục hồi 11A)

 Có 5 khay cắm

2.3.3 Mạch điều khiển động cơ stepper drivers A4988

Chức năng: Mạch điều động cơ mô tơ bước A4988 là 1 mạch vi bước

lưỡng cực điểu khiển động cơ bước Driver cho phép điểu chỉnh cường độ dòngđiện bằng biến để bảo vệ quá tải dòng điện và nhiệt độ

A4988 có5chế độ điều khiển:

• Chế độ full bước (fullstep): mỗi tín hiệu điều khiển, động cơ bước quay 1.8 (hoặc 0.9) độ ứng với động cơ 1.8 (hoặc 0.9) độ

• Chế độ ½ bước : mỗi tín hiệu điều khiển, động cơ quay một góc bằng ½ so với chế độ full bước

• Chế độ ¼ bước : mỗi tín hiệu điều khiển, động cơ quay một góc bằng ¼ so với

Trang 10

chế độ full bước.

• Chế độ 1/8 bước : mỗi tín hiệu điều khiển, động cơ quay một góc bằng 1/8 so với chế độ full bước

• Chế độ 1/16 bước : mỗi tín hiệu điều khiển, động cơ quay một góc bằng 1/16

so với chế độ full bước

Để thiết lập chế độ điều khiển bước, sử dụng các jump trên board RAMPS 1.4như hình sau

- Sau khi in 3D hết tất cả chi tiết, ta tiến hành lắp ráp robot.

- Quá trinh lắp ráp: robot được láp ráp từ cụm nhỏ rồi đến tổng thể của 1

con robot hoàn chỉnh

- Đầu tiên chúng ta lắp phần đế để đỡ robot, gồm có:

Trang 11

Sau đó, ráp thành:

Trang 13

Ráp bánh răng nhỏ vào đầu động cơ

Ráp phần giữa robot

Trang 16

Ráp vào phần đế

Trang 17

Lắp phần trên vào và hoàn thiện robot

Quá trình lắp ráp đã xong

Trang 18

Chương 3: Chương trình điều khiển và phần đệm

3.1 Chương trình điều khiển

Giao diện và chương trình điều khiển robot được lập trình toàn bộ trênphần mềm PYTHON

Để điều khiển được robot thì ta phải giải được động học thuận và động họcnghịch: Bảng Move to Coordinate ( điều khiển theo động học nghịch) và MovetoAngle (động học thuận)

Trang 19

Lập bảng phân tích từng khâu

Nhân các ma trận A1, A2, A3 với nhau và tìm ra phương trình tọa độ x và

y Do Scara robot có khớp 1 là khớp tịnh tiến nên chỉ có phương trình x, y

Việc tiếp theo ta chỉ cần vận kiến thức lập trình và đưa 3 phương trình này

vào PYTHON bằng thư viện math:

Px = (lengthArmB * math.cos(theta1) * math.cos(theta2)) - (lengthArmB

* math.sin(theta1) * math.sin(theta2)) + (lengthArmA * math.cos(theta1))

Py = (lengthArmB * math.sin(theta1) * math.cos(theta2)) + (lengthArmB

* math.cos(theta1) * math.sin(theta2)) + (lengthArmA * math.sin(theta1))

Trang 20

Ở đây, theta1 và theta2 là 2 góc mà ta muốn 3 động cơ xoay.

Ứng với 2 góc này sẽ ứng với vị trí P(x,y)

Còn trục z vì là tịnh tiến nên cần nhập tọa độ z là động cơ xoay đến vị trímong muốn

Theo hình trên, thì theta1 là góc tayA, theta2 là góc tayB chưa hợp vớiphương x

Ta sẽ nhập 2 góc và trục z của 3 động cơ vào giao diện

Tuy nhiên, 2 góc trên giao diện là 2 góc hợp bởi các tay với phương x đểngười sử dụng dễ điều khiển hơn Vậy nên, khi bấm nút “Move” ta sẽ bù trừ

Trang 21

chuyển đến tọa độ x,y,z mà ta mong muốn Vậy bài toán ở đây là ta đi tìm 2 góctheta, và để tìm được 3 góc này ta sẽ dùng phương pháp giải hình học.

Vậy là ta có được 2 góc theta, từ đây ta ráp vào phần lập trình trongPYTHON:

Px = toadox.get()

Py = toadoy.get()

Pz = toadoz.get()

Trang 22

denta = ((math.pow(Px, 2) + math.pow(Py, 2) math.pow(lengthArmA, 2) math.pow(lengthArmB, 2)) / (2 * lengthArmA * lengthArmB))

dentaq = math.acos(q)

denta1 = s_q - dentaq

denta_1 = denta1 * 180/math.pi

Tính góc ra xung

position[1] = int (denta_1 * ((200 * 16) * 32/9) / 360)

position[2] = int (denta_2 * ((200 * 16) * 32/9) / 360)

Trang 23

Ta nhập tọa độ vào giao diện, nhấn “Move” robot sẽ di chuyển đến tọa độ mong muốn.

Nút “Reset” để lấy tọa độ đầu và nút “Home” để cho cánh tay di chuyển

về vị trí home Vị trí home có 2 góc là tayA = 90, tayB = 90, trucZ = 0

Nút “Forward” và “Backward” dùng để di chuyển theo phương x

Nút “Left” và “Right” dùng để di chuyển theo phương y

Nút “Up” và “Down” dùng để di chuyển theo phương z

Khung “Curent Position” dùng để hiển thị tọa độ và các góc hiện tại củatay tác động cuối cùng

Nút “Connect to MeArm” dùng để kết nối và ngắt kết nối giữa máy tínhvới robot

Ở phần mềm giao diện PYTHON khi thực hiện lệnh nào đó sẽ gửi 1 chuỗi

dữ liệu gồm 6 đến 8 dữ liệu

Vd: arduino.write('A'+str(truyen[1])+'B'+str(truyen[2])+'C'+str(truyen[3])+'D'+str(truyen[4])+'E'+str(truyen[5])+'F'+str(truyen[6])

+'G'+str(2)+'H'+str(0)+'I')

Trang 24

Các kí tự A,B,C,D, dùng để đóng gói dữ liệu Để khi arduino nhận cóthể dễ dàng phân biệt và tách dữ liệu để điều khiển Một chuỗi dữ liệu bao gồm

3 dữ liệu mang xung và 3 dữ liệu xác định chiều quay của động cơ

3.2 Phần đệm Arduino

Như đã trình bày ở mục trước, hầu hết chương trình điều khiển chínhđược viết trên PYTHON nên arduino chỉ có nhiệm vụ là nhận chuỗi dữ liệu từPYTHON gửi xuống rồi tiến hành sắp xếp và tách lây dữ liệu và điều khiểnđộng cơ bước theo mong muốn

Sau khi PYTHON gửi chuỗi dữ liệu xuống, arduino tiến hành nhận và tìm

Trang 25

if(recever=='Z'){position_Z = count_number_string;}

Trang 27

Chương 4: Vận hành và ứng dụng

4.1 Vận hành

Đầu tiên ta dùng tay canh chỉnh tay robot về vị trí đầu

Tiếp đó ta kết nối máy tính với robot bằng cách bấm nút “Connect tomeArm” trên giao diện rồi nhập các góc hợp với phương x ứng với vị trí robot

mà ta vừa dùng tay căn chỉnh

Sau đó bấm nút “Reset” để lấy tọa độ đầu với góc vừa nhập, rồi điềukhiển động học thuận, nghịch như chương trước đã trình bày

Trang 28

Đồ án này chỉ dừng lại ở mức độ vẽ các hình cơ bản vì kiến thức của nhómcòn hạn hẹp

4.3.1 Ý Tưởng

Phương pháp điều khiển để robot vẽ được hình tròn là cho góc anpha hợpbởi bán kính và điểm M nằm trên đường tròn chạy từ 0 đến 360 độ, ứng với 1giá trị anpha là ứng với 1 tọa độ điểm M thuộc đường tròn Khi cho góc anphachạy hết 360 độ, ta có tập hợp các điểm M nằm trên đường tròn cần vẽ

4.3.2 Phương pháp vẽ

Ta vẽ trên mặt phẳng x và y nên không cần phải tìm z

Để tìm được các điểm M(xm,ym) thuộc đường tròn này, ta vẫn sẽ sử dụngphương pháp hình học và chia ra làm 4 trường hợp:

Trường hợp 1: góc anpha chạy từ 0 đến 90 độ

Trang 29

Để tìm được Xm và Ym thì ta phải biết MI và AI

Biến v ở đây chính là góc anpha, sử dụng vòng lặp for chạy từ 0 đến 360

độ và mỗi lần chạy cách nhau 5 đơn vị, tức là mỗi điểm M thuộc đường tròncách nhau 1 góc 5 độ Ứng với mỗi biến v ta giải ra được 1 điểm M(xm,ym) rồichạy hàm donghocnghich1( ) giải ra 3 góc động cơ rồi gửi xuống arduino

Trường hợp 2: góc anpha chạy từ 91 đến 180 độ

Trang 31

Trường hợp 3: góc anpha chạy từ 181 đến 270 độ.

Trang 32

Trường hợp 4: góc anpha chạy từ 271 đến 360 độ.

Trang 33

Khi bấm nút “XuatCode”, chương trình sẽ chạy hàm ungdung( ) và biến vbắt đầu chạy từ 0 đến 360, ứng với mỗi biến v là một tọa điểm M nằm trênđường tròn và gửi từng vị trí của các điểm đó xuống arduino.

Muốn cho bán kính R bao nhiêu thì nhập vào ô trống

Trang 34

Sau khi gửi tập hợp các điểm trên đường tròn xuống arduino, arduino sẽnhận và dùng các biến toadoa[ ], toadob[ ], toadoc[ ] lưu vị trí tất cả các điểm đólại.

Khi bấm nút “veduongtron” robot lập tức vẽ và di chuyển đến từng điểmtrên đường tròn đã được lưu trước đó

Sau khi vẽ được đường tròn rồi, nhóm tiếp tục phát triển ứng dụng vẽthêm hình vuông và hình sao Cũng tương tự như phương pháp vẽ đường tròntrên ta cũng phân tích hình học để vẽ

Trang 35

Hình vuông

Hình sao

Trang 36

5.2 Kết quả chưa đạt được

- Đây là loại robot rất khó để lấy chính xác vị trí ban đầu nên vẫn còn hạn chế

phải dùng tay căn chỉnh

- Vì vị trí ban đầu lấy còn chưa chính xác nên ứng dụng vẽ còn chưa được đẹp

lắm

Ngày đăng: 26/07/2018, 00:06

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w