thiết kế robot arm 3dof PDF

Title thiết kế robot arm 3dof
Course Electrical Engineering
Institution Trường Đại học Bách khoa Hà Nội
Pages 19
File Size 1 MB
File Type PDF
Total Downloads 176
Total Views 515

Summary

Download thiết kế robot arm 3dof PDF


Description

MỤC LỤC Phần 1. Tóm tắt công trình.............................................................................1 Phần 2. Đặt vấn đề..........................................................................................2 2.1. Cấu tạo robot.......................................................................................2 2.1.1. Hệ thống thiết bị.............................................................................2 2.1.2. Chức năng của thiết bị:...................................................................3 2.2. Thiết kế mô hình tay robot..................................................................4 Phần 3. Kết quả..............................................................................................6 3.1. Ý tưởng bài toán..................................................................................6 3.2. Câu lệnh G28.......................................................................................7 3.3. Bài toán kiểm tra hàng đợi Queue.......................................................8 3.4. Bài toán nội suy chuyển động theo đường thẳng................................9 3.5. Lập trình GUI để điều khiển sản phẩm.............................................10 3.5.1. Giao diện Winform.......................................................................10 3.5.2. Giao tiếp giữa Winform và Adruino IDE.....................................13 Phần 4. Kết luận...........................................................................................14 4.1. Những ưu điểm..................................................................................14 4.2. Những hạn chế..................................................................................14 4.3. Hướng phát triển...............................................................................14 Phần 5. Tài liệu tham khảo...........................................................................15

Đại học Bách Khoa Hà Nội

Viện Cơ Khí LỜI MỞ ĐẦU

Hiện nay, khi công nghệ hiện đại ngày càng phát triển, máy móc thiết bị cũng ngày một hiện đại hơn. Nền công nghiệp tự động hóa, công nghiệp hóa dần dần thay thế cho sức người trong những công việc nhàm chán, lặp đi lặp lại hay thậm chỉ là nguy hiểm cho con người. Đi đôi với phát triển về ngành cơ khí chế tạo, thì ngành công nghệ thông tin đang được nâng tầm để trở thành những lĩnh vực đi đầu trong cuộc sống hiện đại, về lập trình ứng dụng phần mềm, quản lý dữ liệu trên không gian mạng, phân tích xử lí số liệu bằng trí tuệ nhân tạo, lập trình cho robot thông minh,… Đặc biệt đối với ngành cơ điện tử, kiến thức về cơ khí chế tạo và kỹ thuật lập trình càng cần được song hành để tối ưu được sức mạnh, giá trị của ngành nghề. Ứng dụng trong dây chuyển sản xuất tự động, tay robot gắp hàng hóa trên băng tải được sử dụng phổ biến rất nhiều, mang lại nhiều lợi ích như tăng tính an toàn trong sản xuất, tăng năng suất lao động, giải phóng sức lao động con người ,… Nắm bắt được những điểu đó, nhóm chúng em đã vận dụng những kiến thức của môn học “ Kỹ thuật lập trình trong cơ điện tử “ dưới sự hướng dẫn của thầy TS.Trương Công Tuấn để thực hiện bài tập lớn với đề tài “ Thiết kế lập trình cánh tay robot gắp vật “.

2

Đại học Bách Khoa Hà Nội

Viện Cơ Khí

PHẦN 1. TÓM TẮT CÔNG TRÌNH Điều khiển cánh tay robot là một ứng dụng thực tế mà hiện nay đang phát triển mạnh mẽ, đa dạng và sinh động, nó được ứng dụng nhiều trong các nhà máy sản xuất nhằm giảm bớt công sức lao động của con người đồng thời nâng cao số lượng cũng như chất lượng của sản phẩm, nên nó phù hợp nhiều ứng dụng thực tế,… Nhóm chúng em lên ý tưởng vẽ mô hình sau đó in ra bằng máy in 3D. Tay robot có bốn bậc tự do, điểu khiển các khâu bằng động cơ bước, sử dụng vi điểu khiển là mạch arduino kết hợp với module điểu khiển mở rộng Ramps 1.4, điểu khiển sản phẩm qua giao diện GUI (A graphical user interface). Kiến thức sử dụng chính là lập trình hướng đối tượng trong C++, lập trình giao diện Winform, lập trình code trên arduino IDE tận dụng những thư viện có sẵn.

Hình 1.1. Sơ đồ tổng quan Nhận lệnh G-code từ máy tính và sẽ được đưa vào hàng đợi Queue. Sau đó đưa vào Command để lấy thông tin từ lệnh ( cụ thể ba tọa độ X,Y,Z của khâu cuối và tốc độ F mong muốn di chuyển tới). Phản hồi lại trạng thái của hai Class này sẽ là Logger ( Ví dụ: câu lệnh sai cú pháp, báo lỗi chưa kết nối vi điều khiển,…). Tiếp theo là cụm nội suy Interpolation, khi truyền vào toạ độ của điểm mong muốn thì thông qua việc nội suy đường thẳng sẽ nội suy ra các toạ 1

Đại học Bách Khoa Hà Nội

Viện Cơ Khí

độ tức thời. Cuối cùng xử lý bài toán động học ngược Inverse Kinematic lấy tọa độ X E ,Y E , Z E của khâu cuối để tìm ra được các góc quay của các khâu rồi truyền cho động cơ bước sẽ quay theo các góc tương ứng đó.

PHẦN 2. ĐẶT VẤN ĐỀ 2.1. Cấu tạo robot 2.1.1. Hệ thống thiết bị STT

Tên thiết bị

Số lượng

1

Arduino mega 2560

1

2

Ramps 1.4

1

3

Module Driver A4988

3

4

Servo Gripper

1

5

Endstop

3

6

Stepper motor

3

Bảng 2.1. Bảng các thiết bị sử dụng

2

Hình ảnh

Đại học Bách Khoa Hà Nội

Viện Cơ Khí

Hình 2.1. Sơ đồ nối dây 2.1.2. Chức năng của thiết bị: - Arduino mega 2560: Là một vi điều khiển hoạt động dựa theo chip ATmega2560. - Ramps1.4: Mạch điều khiển máy in 3D RAMPS 1.4 là board mạch được sử dụng để làm máy in 3D thông dụng nhất hiện nay, mạch có thể kết hợp với 3

Đại học Bách Khoa Hà Nội

Viện Cơ Khí

Arduino Mega 2560 và Các loại Driver Motor bước 16 chân như A4988, DRV8825,... - Module Driver A4988: là driver điều khiển động cơ bước cực kỳ nhỏ gọn, hỗ trợ nhiều chế độ làm việc, điều chỉnh được dòng ra cho động cơ, tự động ngắt điện khi quá nóng. Mạch điều khiển A4988 hỗ trợ nhiều chế độ hoạt động của động cơ bước lưỡng cực như: Full, 1/2, 1/4, 1/8 và 1/16. - Servo Gripper: Là 1 cơ cấu cơ khí hỗ trợ giữ gắp sản phẩm. - Endstops: Một loại công tắc hành trình điểm dừng. - Stepper motor: là một loại động cơ chạy bằng điện có nguyên lý và ứng dụng khác biệt với đa số các động cơ điện thông thường. Chúng thực chất là một động cơ đồng bộ dùng để biến đổi các tín hiệu điều khiển dưới dạng các xung điện rời rạc kế tiếp nhau thành các chuyển động góc quay hoặc các chuyển động của rôto có khả năng cố định roto vào các vị trí cần thiết. 2.2. Thiết kế mô hình tay robot

Hình 2.2. Mô hình tham khảo

4

Đại học Bách Khoa Hà Nội

Viện Cơ Khí

Hình 2.3. Mô hình vẽ trên Solidworks Hiện nay có hai kiểu robot phổ biến là robot nối tiếp và robot song song. Sau đây là bảng so sánh về hai kiểu robot. Nhóm em đã chọn sử dụng robot song song dựa trên những so sánh này. STT

Tính năng

Robot nối tiếp

Robot song song

1

Độ chính xác

Thấp hơn

Cao hơn

2

Không gian làm việc

Lớn hơn

Nhỏ hơn

3

Độ cứng vững

Thấp hơn

Cao hơn

4

Tỉ số dài / khối lượng

Thấp hơn

Cao hơn

5

Tải trọng quán tính

Lớn hơn

Nhỏ hơn

6

Tốc độ làm việc

Thấp hơn

Cao hơn

7

Độ phức tạp thiết kế / điểu khiển

Đơn giản

Phức tạp

8

Mật độ điểm kì dị

Ít hơn

Nhiều hơn

Bảng 2.2. So sánh robot nối tiếp và robot song song 5

Đại học Bách Khoa Hà Nội

Viện Cơ Khí

PHẦN 3. KẾT QUẢ Mã Gcode G0 / G1 G28 G90 G91 M3 M5

Ý nghĩa Nội suy chuyển động theo đường thẳng Về vị trí gốc Hệ tọa độ tuyệt đối Hệ tọa độ tương đối Bật cơ cấu gắp Tắt cơ cấu gắp Bảng 3.1. Bảng các mã Gcode

3.1. Ý tưởng bài toán

Hình 3.1. Sơ đồ khối chính - Đầu tiên, sẽ khởi tạo và đặt các tham số cần thiết ( độ dài các khâu, các chân kết nối, công tắc hành trình,…). Tiếp theo trước khi hoạt động, cần đưa robot về một vị trí gốc ban đầu đã được cài đặt sẵn thông qua câu lệnh G28. 6

Đại học Bách Khoa Hà Nội

Viện Cơ Khí

Tiếp theo sẽ kiểm tra đến hàng đợi, nếu thỏa mãn thì thực hiện lệnh Gcode vừa gửi đi. 3.2. Câu lệnh G28

Hình 3.2. Sơ đồ khối lệnh G28 - Động cơ quay về hướng định sẵn phía Endstop. - Cho đến khi các câu chạm điểm dừng Endstop, động cơ Step chạy ngược lại một đoạn phần gọi là phần offset ( vì khi chạm điểm dừng thì động cơ chưa dừng lại ngay mà cần thời gian để dừng nên bị dôi đi một đoạn rất nhỏ, vậy nên cần bù ngược lại để robot về vị trí gốc cho chính xác với cài đặt mà mình mong muốn ). - Nếu chưa chạm điểm dừng Endstop thì động cơ Step tiếp tục chạy thực hiện vòng lặp.

7

Đại học Bách Khoa Hà Nội

Viện Cơ Khí

3.3. Bài toán kiểm tra hàng đợi Queue

Hình 3.3. Sơ đồ khối kiểm tra hàng đợi - Sau khi gửi câu lệnh, sẽ kiểm tra các điều kiện. Nếu hàng đợi Queue chưa đầy thì tiếp tục kiểm tra tới các điều kiện có mã nào trong bộ nhớ đệm không. Nếu có thì sẽ đọc và kiểm tra cú pháp mã Gcode, sau đó đẩy vào hàng đợi

8

Đại học Bách Khoa Hà Nội

Viện Cơ Khí

Queue. Trong trường hợp các điểu kiện trên không thỏa mãn, thì bỏ qua luôn câu lệnh. Tiếp theo, nếu vẫn còn lệnh trong hàng đợi và lệnh trước đã hoàn thành thì sẽ đẩy lệnh Gcode ra và gửi xuống vi điểu khiển. Nếu sai điều kiện, câu lệnh được giữ nguyên và kết thúc. 3.4. Bài toán nội suy chuyển động theo đường thẳng

Hình 3.4 Sơ đồ khối lệnh G0/G1 9

Đại học Bách Khoa Hà Nội

Viện Cơ Khí

- Muốn di chuyển khâu cuối từ điểm A hiện tại đến điểm B mong muốn, nhập lệnh Gcode truyền các tham số tọa độ của điểm B ( Ví dụ G01X50Y60Z40F50 ). Tiếp theo kiểm tra tọa độ điểm B là tương đối hay tuyệt đối so với điểm gốc. Nếu là tương đối thì tính lại điểm B theo tuyệt đối, quy chung về bài toán tính trong hệ tuyệt đối. Sau khi hoàn thành, nếu kết quả đúng thì kết thúc luôn bài toán. Ngược lại sai thì nội suy ra các điểm tức thời trên đường thẳng nội suy, kết hợp với kiểm tra điều kiện biên. Sau đó giải bài toán động học ngược, tính ra các góc quay tương ứng của từng khâu, rồi phát xung cho động cơ Step quay, tiếp tục vòng lặp đến khi hoàn thành tới vị trí điểm B. Nếu điều kiện biên không thỏa mãn thì kết thúc luôn bài toán. 3.5. Lập trình GUI để điều khiển sản phẩm 3.5.1. Giao diện Winform

Chọn tốc độ BaudRate Nút ấn kết nối

cho vi điều khiển

thiết bị ngoại vi Chọn cổng COM kết nối thiết bị ngoại vi

Hình 2.x. Giao diện kết nối Trạng thái khi chưa kết nối

10

Đại học Bách Khoa Hà Nội

Viện Cơ Khí

- Sử dụng các Toolbox có sẵn ( cổng kết nối Serial Port, các Button, Radio Button, ComboBox, MenuStrip ). - Tìm tất cả các cổng COM đang kết nối với cú pháp ( array^ namePort = SerialPort::GetPortNames(); ) rồi đưa vào các lựa chọn trong Combo box ( this->combo_Box_COM->Items->AddRange(namePort); ). - Tạo danh sách BaudRate với cú pháp ( this->combo_Box_BAUND>Items->AddRange(gcnew cli::array< System::Object^ >(8) { L"4800", L"9600", L"144000", L"19200", L"38400",L"56000", L"57600", L"115200"};).

Nút về gốc qua lệnh Chọn chế độ nhập

G28

lệnh Gcode

Vùng thông báo các

Nhập và gửi lệnh

lệnh đã gửi

Điểu khiển khâu gắp

Hình 2.x. Giao diện làm việc chính Trạng thái đã kết nối

11

Vùng điều khiển bằng nút bấm

Đại học Bách Khoa Hà Nội

Viện Cơ Khí

- Sử dụng các Panel để phân vùng làm việc, tiện cho việc quản lí và sử dụng. - Ban đầu khi vừa kết nối, chọn nút Home để đưa robot về vị trí gốc ban đầu đã được cài đặt sẵn trước. Tiếp theo tùy chỉnh điểu khiển robot có thể nhập gửi lệnh hoặc dùng các nút bấm thủ công. - Với kiểu nhập lệnh, có thể chọn nhập từng mã Gcode lần lượt hoặc nhiều mã liền thành một đoạn. - Với điều khiển bằng tay qua nút bấm, có thể tăng giảm các toạ độ X, Y, Z theo 2 mức 5 và 10. Ví dụ tăng X lên 5

, giảm Y đi 10

.

Chọn chế độ Learn Mode Nút học

Nút chạy

Ví dụ về file Gcode

Hình 2.x. Giao diện ở chế độ Learn Mode 12

Đại học Bách Khoa Hà Nội

Viện Cơ Khí

- Ở chế độ “ học lệnh “ này, có thể tạo sẵn các file mã lệnh Gcode rồi mở lên cho robot “ learn ” và “ run ”. 3.5.2. Giao tiếp giữa Winform và Adruino IDE - Giao tiếp truyền thông UART ( Universal Asynchronous Receiver Transmitter

).



chuẩn

giao tiếp nối tiếp với sự hỗ trợ của phần cứng –

hardware. Phần cứng được sử dụng cho UART là một mạch tích hợp bên trong vi điều khiển của board Adruino. UART là chuẩn giao tiếp đơn giản nhất và được sử dụng nhiều nhất trong các kỹ thuật giao tiếp nối tiếp đặc biệt giao tiếp không dây : Bluetooth, Wifi, … -

UART sẽ truyền dữ liệu nhận được từ một bus dữ liệu (

Data

Bus

).

Bus dữ liệu được sử dụng để gửi dữ liệu đến UART bởi một thiết bị khác như CPU, bộ nhớ hoặc vi điều khiển. Dữ liệu được chuyển từ bus dữ liệu đến UART truyền ở dạng song song. Sau khi UART truyền nhận dữ liệu song song từ bus dữ liệu, nó sẽ thêm một bit start, một bit chẵn lẻ và một bit stop, tạo ra gói dữ liệu.

Tiếp theo, gói dữ liệu được xuất ra nối tiếp từng bit tại chân Tx.

UART

nhận đọc gói dữ liệu từng bit tại chân Rx của nó. UART nhận sau đó chuyển đổi dữ liệu trở lại dạng song song và loại bỏ bit start.

Hình 2.x. Nguyên lý hoạt động UART 13

Đại học Bách Khoa Hà Nội

Viện Cơ Khí

14

Đại học Bách Khoa Hà Nội

Viện Cơ Khí

PHẦN 4. KẾT LUẬN 4.1. Những ưu điểm - Các thành viên giành thời gian họp mỗi tuần, nâng cao khả năng làm việc theo nhóm. - Đã biết cách áp dụng công thức, những kiến thức của học phần đã học vào bài toán thực tế. - Hiểu được cách hoạt động của một bài toán điều khiển. - Biết cách lập trình các bài toàn cơ bản, lập trình hướng đối tượng và thiết kế giao diện người dùng. - Biết sử dụng vi điểu khiển. 4.2. Những hạn chế - Chưa tối ưu được cơ cấu vận hành, các khâu còn va chạm vào nhau. - Chưa tối ưu được code giao diện. - Điều khiển nhiều khi vẫn gặp lỗi, bị treo khi hoạt động lâu. - Hạn chế về mua thiết bị, đồ dùng cho phần cứng. - Hệ thống đang là điều khiển vòng hở, không có vòng phản hồi nên khó kiểm soát được độ chính xác của vị trí khâu cuối. - Do dịch bệnh nên hầu như các thành viên khác không được tận tay debug code, thử nghiệm phần cứng mà phải liên hệ qua nhau. 4.3. Hướng phát triển - Nâng cao khả năng thiết kế về hệ thống cơ khí để mô hình gọn gàng và thẩm mỹ hơn. - Bổ sung thêm những tính năng cho sản phẩm, tìm hiểu để ứng dụng thêm nhiều bài toán trong thực tế. - Học tập, rèn luyện thêm kiến thức về lập trình hướng đối tượng, thiết kế giao diện và bộ vi điểu khiển. - Thay thế động cơ Step bằng động cơ Servo, có tín hiệu phản hồi để nâng cao độ chính xác cho cơ cấu. 15

Đại học Bách Khoa Hà Nội

Viện Cơ Khí

- Là bước đầu phát triển để hình thành những kiến thức cơ bản chuẩn bị cho kiến thức chuyên ngành.

16

Đại học Bách Khoa Hà Nội

Viện Cơ Khí

PHẦN 5. TÀI LIỆU THAM KHẢO - https://reprap.org/wiki/RAMPS_1.4 - http://arduino.vn/ - https://espace.edu.vn/ - Objects, abstraction, data structures and design using C++ (Elliot B.Koffman, Paul A T.Wolfgang)

17...


Similar Free PDFs