1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Khôi phục chức năng hoạt động và thiết kế, chế tạo thiết bị điều khiển cánh tay robot bằng cử chi tay

82 0 0

Đ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 82
Dung lượng 5,72 MB

Cấu trúc

  • CHƯƠNG 1: TỔNG QUAN VỀ ROBOT (11)
    • 1.1 SƠ LƯỢC VỀ QUÁ TRÌNH PHÁT TRIỂN ROBOT (11)
    • 1.2 NHỮNG ỨNG DỤNG CỦA ROBOT (12)
      • 1.2.1 Ứng dụng trong công nghiệp (12)
      • 1.2.2 Ứng dụng trong phòng thí nghiệm (12)
      • 1.2.3 Ứng dụng trong nông nghiệp (12)
      • 1.2.4 Ứng dụng trong không gian (12)
      • 1.2.5 Ứng dụng trong giáo dục (12)
      • 1.2.6 Ứng dụng trong y học (13)
    • 1.3 PHÂN LOẠI ROBOT (13)
      • 1.3.1 Phân loại robot theo dạng hình học không gian hoạt động (13)
        • 1.3.1.1 Robot tọa độ vuông góc (cartesian robot) (13)
        • 1.3.1.2 Robot toạ độ trụ (cylindrical robot) (14)
        • 1.3.1.3 Robot toạ độ cầu (spherical robot) (14)
        • 1.3.1.4 Robot khớp bản lề (15)
      • 1.3.2 Phân loại theo thế hệ (16)
        • 1.3.2.1 Robot thế hệ thứ nhất (16)
        • 1.3.2.2 Robot thế hệ thứ hai (16)
        • 1.3.2.3 Robot thế hệ thứ ba (16)
        • 1.3.2.4 Robot thế hệ thứ tư (17)
        • 1.3.2.5 Robot thế hệ thứ năm (17)
      • 1.3.3 Phân loại theo hệ truyền động (18)
        • 1.3.3.1 Hệ truyền động điều khiển bằng điện (18)
        • 1.3.3.2 Robot dùng nguồn khí nén (21)
        • 1.3.3.3 Hệ truyền động điều khiển bằng thủy lực (22)
    • 1.4 TÌNH TRẠNG VÀ HƯỚNG KHÔI PHỤC CHO CÁNH TAY ROBOT (25)
      • 1.4.1 Tình trạng (25)
      • 1.4.2 Hướng khôi phục (25)
  • CHƯƠNG 2: GIỚI THIỆU PHẦN CỨNG (26)
    • 2.1 CÁNH TAY ROBOT 4 BẬC TỰ DO (26)
      • 2.1.1 Giới thiệu (26)
      • 2.1.2 Bậc tự do của robot (26)
      • 2.1.3 Hệ tọa độ (27)
      • 2.1.4 Trường công tác của robot (29)
    • 2.2 GĂNG TAY ĐIỀU KHIỂN (30)
    • 2.3 NGUYÊN LÍ HOẠT ĐỘNG (31)
  • CHƯƠNG 3: THIẾT KẾ PHẦN CỨNG (32)
    • 3.1 SƠ ĐỒ KHỐI (32)
    • 3.2 CÁC LINH KIỆN SỬ DỤNG (32)
      • 3.2.1 Vi điều khiển Arduino (32)
        • 3.2.1.1 Giới thiệu chung về Arduino (32)
        • 3.2.1.2 Vi điều khiển Arduino MEGA 2560 (33)
        • 3.2.1.3 Vi điều khiển Arduino NANO (37)
      • 3.2.2 Module CNC shield V3 (40)
      • 3.2.3 Driver điều khiển động cơ bước A4988 (40)
      • 3.2.4 Động cơ bước (42)
        • 3.2.4.1 Giới thiệu (42)
        • 3.2.4.2 Cấu tạo (43)
        • 3.2.4.3 Hoạt động (44)
        • 3.2.4.4 Ứng dụng (44)
        • 3.2.4.5 Phân loại (45)
        • 3.2.4.6 Điều khiển động cơ bước (47)
        • 3.2.4.7 Động cơ bước sử dụng trong cánh tay robot (48)
      • 3.2.5 Module truyền phát NRF24L01 (49)
        • 3.2.5.1 Thông số kỹ thuật (49)
        • 3.2.5.2 Sơ đồ chân (50)
        • 3.2.5.3 Phân tích (51)
      • 3.2.6 Cảm biến uốn – Flex Sensor (51)
      • 3.2.7 Cảm biến gia tốc góc nghiêng MPU6050 (52)
      • 3.2.8 Nguồn cung cấp (53)
    • 3.3 PHẦN MỀM SỬ DỤNG (55)
      • 3.3.1 Arduino IDE (55)
      • 3.3.2 Phần mềm Altium Designer (56)
  • CHƯƠNG 4: THIẾT KẾ MẠCH VÀ LẬP TRÌNH (58)
    • 4.1 MẠCH PHÁT (58)
      • 4.1.1 Sơ đồ khối (58)
      • 4.1.2 Chức năng các khối (58)
      • 4.1.3 Sơ đồ kết nối phần cứng (58)
        • 4.1.3.1 Kết nối cảm biến uốn – Flex Sensor với Arduino (58)
        • 4.1.3.2 Kết nối cảm biến nghiêng MPU6050 với Arduino (58)
        • 4.1.3.3 Kết nối module NRF24L01 với Arduino (58)
        • 4.1.3.4 Sơ đồ kết nối chung các khối (59)
      • 4.1.4 Hoàn thành mạch (59)
      • 4.1.5 Lập trình cho mạch phát (59)
    • 4.2 MẠCH THU (66)
      • 4.2.1 Sơ đồ khối (66)
      • 4.2.2 Chức năng các khối (66)
      • 4.2.3 Sơ đồ kết nối phần cứng (66)
        • 4.2.3.1 Kết nối NRF24L01 với Arduino (66)
        • 4.2.3.2 Kết nối CNC Shield với Arduino (66)
      • 4.2.4 Sơ đồ kết nối chung các khối (67)
      • 4.2.5 Lập trình cho mạch thu (67)
    • 4.3 LƯU ĐỒ THUẬT TOÁN (76)
    • 4.5 CÁC THAO TÁC TAY ĐỂ ĐIỀU KHIỂN (0)

Nội dung

TỔNG QUAN VỀ ROBOT

SƠ LƯỢC VỀ QUÁ TRÌNH PHÁT TRIỂN ROBOT

Nhu cầu nâng cao năng suất và chất lượng sản phẩm ngày càng đòi hỏi ứng dụng rộng rãi các phương tiện tự động hóa sản xuất Xu hướng tạo ra các dây chuyền về thiết bị tự động có tính linh hoạt cao đang hình thành Các thiệt bị này đang thay thế dần các máy tự động “cứng” chỉ đáp ứng một việc nhất định trong khi thị trường luôn đòi hỏi thay đổi mặt hàng về chủng loại, về kích cỡ và về tính năng, v.v Vì thế ngày càng tăng nhanh nhu cầu ứng dụng robot để tạo ra các hệ thống sản xuát tự động linh hoạt.

Thuật ngữ “robot” lần đầu tiền xuất hiện năm 1922 trong tác phẩm “Rossm’s Universal Robot” của Karel Capek Theo tiếng Séc thì robot là người làm tạp dịch. Trong tác phẩm này nhân vật Rossum là con trai của ông đã tạo ra những chiếc máy gần giống như con người để hầu hạ con người.

Hơn 20 năm sau, ước mơ viễn tưởng của Karel Capek bắt đầu thành hiện thực. Ngay sau chiến tranh thế giới lần thú 2, ở Hoa Kỳ đã xuất hiện những tay máy chép hình điều khiển từ xa trong các phòng thí nghiệm về vật liệu phóng xạ.

Vào cuối những năm 50, bên cạnh những tay máy chép hình cơ khí đó, đã xuất hiện những loại tay máy chép hình thủy lực và điện từ, như tay máy Minitaur I hoặc tay máy Handyman của Genaral Electric Năm 1954 George C Devol đã thiết kế 1 thiết bị có tên là “cơ cấu bản lề” dùng để chuyển hàng theo chương trình Đến năm

1056 Devol cùng với Goseph F Engelber, một kỹ sư trẻ của công nghiệp hàng không, đã tạo ra lọa robot công nghiệp đầu tiên năm 1959 ở công ty Unimation Chỉ đến năm

1975 công ty Unimation đã bắt đầu có lợi nhuận từ sản phẩm robot đầu tiên này.

Năm 1961, robot công nghiệp đầu tiên được đưa vào ứng dụng ở một nhà máy ô tô của General Motors tại Trenton, New Jersey Hoa Kỳ.

Năm 1067, Nhật Bản mới nhập chiếc robot công nghiệp đầu tiên từ công ty ÀM. Đến năm 1990 có hơn 40 công ty Nhật Bản, trong đó có những công ty khổng lồ như công ty Hatachi và công ty Mitsubisi đã đưa ra thị trường quốc tế nhiều loại robot nổi tiếng.

Tư những năm 70 việc nghiên cứu nâng cao tính năng của robot đã chứ trọng nhiều đến sự lắp đặt thêm các cảm biến ngoại tín hiệu để nhận biết môi trường làm việc Tại trường Đại học Tổng hợp Ford, người ta đã tạo ra loại robot lắp ráp tự động điều khiển bằng máy tính trên cở sở xử lí thông tin từ các cảm biến lực và thị giác. Vào thời gian này Công ty IBM đã chế tạo loại robot có những loại cảm biến xúc giác và cảm biến lực, điều khiển bằng máy tính để lắp ráp các máy in gồm 20 cụm chi tiết.Vào giai đoạn mà nhiều phòng thí nghiệm quan tâm là việc chế tạo robot tự hành.Các công trình nghiên cứu tạo ra robot tự hành theo hướng bắt chước chân người và động vật Các robot này cknf chưa có nhiều ứng dụng trong công nghiệ tuy nhiên các loại xe robot(robotcar) lại nhanh chóng được đưa vào hoạt động trong các hệ thống sản xuất tự động linh hoạt.

Tự những năm 80, nhất là vào những năm 90, do áp dụng rộng rãi các tiến bộ kỹ thuật về vi xử lí và công nghệ thông tin, số lượng robot công nghiệp đã gia tăng, giá thành giảm đi rõ rệt, tính năng đã có nhiều bước tiến vượt bậc Nhờ vậy robot công nghiệp đã có vị trí quan trọng trong các dây chuyền sản xuất hiện đại.

Ngày nay chuyên nghành khoa học về robot “robotics” đã trở thành 1 lĩnh vực rộng trong khoa học, bao gồm các vấn đề cấu trúc cơ bản động học, lập trình quỹ đạo, cảm biến tín hiệu, điều khiển chuyển động, v.v.

Robot công nghiệp được hiểu là những thiết bị tự động linh hoạt, sao chép được các chức năng lao động công nghiệp của con người Nói đến thiết bị tự động linh hoạt là nói đến khả năng thao tác với nhiều bậc tự do, được điều khiển trợ động và lập trình thay đổi được, còn nói đến sự sao chép các chức năng lao động công nghiệp của con người là nói đến sự không hạn chế từ các chức năng lao động chân tay đơn giản đến trí khôn nhân tạo, tùy theo loại hình công việc lao động cần đến chức năng đó hay không.Đồng thời cũng nói đến mực đọ cần thiết sao chép được như con người hay không.

NHỮNG ỨNG DỤNG CỦA ROBOT

1.2.1 Ứng dụng trong công nghiệp

 Lắp ráp vật liệu, hàn điểm và phun sơn, v.v

 Phục vụ máy nông cụ, làm khuôn trong công nghiệp đồ nhựa, v.v

 Dùng bốc dỡ hàng hóa, vật liệu, phôi có trọng lượng lớn, cồng kềnh trong các nghành công nghiệp nặng.

1.2.2 Ứng dụng trong phòng thí nghiệm

 Dùng để thực hiện các công việc thủ công, các công việc lặp đi lắp lại

 Điều chế thuốc trong môi trường tiệt trùng

1.2.3 Ứng dụng trong nông nghiệp

 Robot cắt lông cừu, mổ xẻ thịt,… trong lĩnh vực này robot đảm nhiệm ngay cả các công việc mang tính lặp đi lặp lại, nhiều thao tác đòi hỏi sự phối hợp tay nghề cao và sự lanh lợi của đôi mắt.

1.2.4 Ứng dụng trong không gian

 Các xe tự hành trang bị tay máy linh hoạt, các robot công dụng chung trong các trạm không gian, bảo trì vệ tinh, xây dựng trong không gian.

1.2.5 Ứng dụng trong giáo dục

 Robot được sử dụng là phương tiện giảng dạy trong các chương trình giáo dục

 Tạo ra phòng học robot

 Những cánh tay robot phẫu thuật từ xa

 Hỗ trợ người khuyết tật phục hồi chức năng các chi

PHÂN LOẠI ROBOT

Trong công nghiệp người ta sử dụng những đặc điểm khác nhau cơ bản nhất của robot để giúp cho việc nhận xét được dễ dàng Có 4 yếu tố chính để phân loại robot như sau: (1) theo dạng hình học của không gian hoạt động, (2) theo thế hệ robot, (3) theo bộ điều khiển, (4) theo nguồn dẫn động.

1.3.1 Phân loại robot theo dạng hình học không gian hoạt động. Để dịch chuyển khâu tác động cuối cùng của robot đến vị trí của đối tượng thao tác được cho trước trong không gian làm việc cần phải có ba bậc chuyển động chuyển dời hay chuyển động định vị (thường dùng khớp tịnh tiến và khớp quay loại 5) Những robot công nghiệp thực tế thường không sử dụng quá bốn bậc chuyển động chuyển dời (không kể chuyển động kẹp của tay gắp) và thông thường với ba bậc chuyển động định vị là đủ, rất ít khi sử dụng đến bốn bậc chuyển động định vị Robot được phân loại theo sự phối hợp giữa ba trục chuyển động cơ bản rồi sau đó được bổ sung để mở rộng thêm bậc chuyển động nhằm tăng thêm độ linh hoạt Vùng giới hạn tầm hoạt động của robot được gọi là không gian làm việc.

1.3.1.1 Robot tọa độ vuông góc (cartesian robot)

Robot loại này có ba bậc chuyển động cơ bản gồm ba chuyển động tịnh tiến dọc theo ba trục vuông góc Ứng dụng chính của robot loại này là các thao tác vận chuyển vật liệu, sản phẩm, đúc, dập, chất dỡ hàng hoá, lắp ráp các chi tiết máy, v.v

Hình 1.1: Robot tọa độ vuông góc Ưu điểm:

 Không gian làm việc lớn, có thể dài đến 20m.

 Đối với loại gắn trên trần sẽ dành được diện tích sàn lớn cho các công việc khác.

 Hệ thống điều khiển đơn giản.

 Việc thêm vào các loại cần trục hay các loại thiết bị vận chuyển vật liệu khác trong không gian làm việc của robot không được thích hợp lắm Việc duy trì vị trí của các cơ cấu dẫn động và các thiết bị điều khiển điện đối với loại robot trên đều gặp nhiều trở ngại.

1.3.1.2 Robot toạ độ trụ (cylindrical robot)

Robot này có 3 bậc chuyển động cơ bản gồm 2 trục chuyển động tịnh tiến và 1 trục chuyển động quay

Hình 1.2: Robot tọa độ trụ Ưu điểm:

 Có khả năng chuyển động ngang và sâu vào trong các máy sản xuất

 Cấu trúc theo chiều dọc của máy để lại nhiều khoảng trống cho sàn

 Kết cấu vững chắc, có khả năng mang tải lớn

 Khả năng lặp lại tốt.

 Nhược điểm duy nhất là giới hạn tiến về phía trái và phía phải do kết cấu cơ khí và giới hạn các kích cỡ của cơ cấu tác động theo chiều ngang.

1.3.1.3 Robot toạ độ cầu (spherical robot)

Robot này gồm 3 chuyển động cơ bản gồm 1 chuyển động tịnh tiến và 2 chuyển động quay Dạng robot này là dạng robot sử dụng điều khiển servo sớm nhất

Hình 1.3: Robot tọa độ cầu

Gồm 3 chuyển động cơ bản là 3 trục quay Loại cấu hình dễ thực hiện nhất được ứng dụng cho robot là dạng khớp nối bản lề và kế đó là dạng 3 trục thẳng, gọi tắt là dạng SCARA (Selective Compliance Articulated Robot Actuator) Dạng này và dạng tọa độ trụ là phổ cập nhất trong ứng dụng công nghiệp bởi vì chúng cho phép các nhà sản xuất robot sử dụng một cách trực tiếp và dễ dàng các cơ cấu tác động quay như các động cơ điện, động cơ đầu ép, khí nén.

Hình 1.4: Robot khớp bản lề Ưu điểm:

 Mặc dù chiểm diện tích làm việc ít song tầm vươn khá lớn Tỷ lệ kích thước/tầm vươn được đánh giá cao.

 Về mặt hình học, cấu hình dạng khớp nối bản lề với 3 trục quay theo phương thẳng đứng là dạng đơn giản và có hiệu quả nhất trong trường hợp yêu cầu gắp và đặt chi tiết theo phương thẳng đứng Trong trường hợp này bài toán tọa độ hoặc quỹ đạo chuyển động đối với robot chỉ cần giải quyết ở 2 phương x và y còn lại bằng cách phối hợp 3 chuyển động quay quanh 3 trục song song với trục z.

 Lực nâng yếu hơn so với các loại còn lại

1.3.2 Phân loại theo thế hệ

Theo quá trình phát triển của robot, ta có thể chia ra theo các mức độ sau đây:

1.3.2.1 Robot thế hệ thứ nhất

Bao gồm các dạng robot hoạt động lặp lại theo một chu trình không thay đổi (playback robots), theo chương trình định trước Chương trình ở đây cũng có hai dạng; chương trình “cứng” không thay đổi được như điều khiển bằng hệ thống cam và điều khiển với chương trình có thể thay đổi theo yêu cầu công nghệ của môi trường sử dụng nhờ các panel điều khiển hoặc máy tính. Đặc điểm:

 Sử dụng tổ hợp các cơ cấu cam với công tác giới hạn hành trình.

 Có thể sử dụng băng từ hoặc băng đục lỗ để đưa chương trình vào bộ điều khiển, tuy nhiên loại này không thay đổi chương trình được.

 Sử dụng phổ biến trong công việc gắp - đặt (pick and place).

1.3.2.2 Robot thế hệ thứ hai

Trong trường hợp này robot được trang bị các bộ cảm biến (sensors) cho phép cung cấp tín hiệu phản hồi hỗ trở lại hệ thống điều khiển về trạng thái, vị trí không gian của robot cũng như những thông tin về môi trường bên ngoài như trạng thái, vị trí của đối tượng thao tác, của các máy công nghệ mà robot phối hợp, nhiệt độ của môi trường, v.v giúp cho bộ điều khiển có thể lựa chọn những thuật toán thích hợp để điều khiển robot thực hiện những thao tác xử lý phù hợp Nói cách khác, đây cũng là robot với điều khiển theo chương trình nhưng có thể tự điều chỉnh hoạt động thích ứng với những thay đổi của môi trường thao tác Dạng robot với trình độ điều khiển này còn được gọi là robot được điều khiển thích nghi cấp thấp.

Robot thế hệ này bao gồm các robot sử dụng cảm biến trong điều khiển (sensor – controller robots) cho phép tạo những vòng điều khiển kín kiểu servo. Đặc điểm:

 Điều khiển vòng kín các chuyển động của tay máy.

 Có thể tự ra quyết định lựa chọn chương trình đáp ứng dựa trên tín hiệu phản hồi từ cảm biến nhờ các chương trình đã được cài đặt từ trước.

 Hoạt động của robot có thể lập trình được nhờ các công cụ như bàn phím, pa- nen điều khiển.

1.3.2.3 Robot thế hệ thứ ba Đây là dạng phát triển cao nhất của robot tự cảm nhận Các robot ở đây được trang bị những thuật toán xử lý các phản xạ logic thích nghi theo những thông tin và tác động của môi trường lên chúng; nhờ đó robot tự biết phải làm gì để hoàn thành được công việc đã được đặt ra cho chúng Hiện nay cũng đã có nhiều công bố về những thành tựu trong lĩnh vực điều khiển này trong các phòng thí nghiệm và được đưa ra thị trường dưới dạng những robot giải trí có hình dạng của các động vật máy.

Robot thế hệ này bao gồm các robot được trang bị hệ thống thu nhận hình ảnh trong điều khiển (Vision - controlled robots) cho phép nhìn thấy và nhận dạng các đối tượng thao tác. Đặc điểm:

 Có những đặc điểm như loại trên và điều khiển hoạt động trên cơ sở xử lý thông tin thu nhận được từ hệ thống thu nhận hình ảnh (Vision systems - Camera).

 Có khả năng nhận dạng ở mức độ thấp như phân biệt các đối tượng có hình dạng và kích thước khá khác biệt nhau.

1.3.2.4 Robot thế hệ thứ tư

Bao gồm các robot sử dụng các thuật toán và cơ chế điều khiển thích nghi (adaptively controlled robot) được trang bị bước đầu khả năng lựa chọn các đáp ứng tuân theo một mô hình tính toán xác định trước nhằm tạo ra những ứng xử phù hợp với điều kiện của môi trường thao tác. Đặc điểm:

TÌNH TRẠNG VÀ HƯỚNG KHÔI PHỤC CHO CÁNH TAY ROBOT

 Cánh tay robot không còn hoạt động

 Các khớp có dấu hiệu rơ, không cứng cáp

 Cơ cấu tay gắp bị đứt dây

 Một số bánh răng đã hỏng, gãy răng

 Dây đai bị lỏng, gây ra tình trạng trượt không ăn khớp với bánh răng

 Bo mạch chủ và driver điều khiển bị cháy không còn hoạt động

 Kiểm tra tình trạng 6 động cơ bước của cánh tay robot, thay thế nếu bị hỏng

 Lắp thêm đế gỗ kích thước 40x60 để cố định robot chắc chắn hơn

 Thay thế, sửa chữa những bánh răng và dây đai bị hỏng

 Về phần mạch điện, nhóm quyết định dùng Arduino Mega 2560 làm bo mạch chủ; sử dụng driver a4988 để điều khiển động cơ bước; kết nối driver vớiArduino và động cơ bước qua module CNC shield V3.

GIỚI THIỆU PHẦN CỨNG

CÁNH TAY ROBOT 4 BẬC TỰ DO

 Phần khung của cánh tay robot được làm từ thép khá chắc chắn

 Cơ cấu tay gắp sử dụng dây để điều khiển hoạt động đóng, mở

 Robot sử dụng 6 động cơ bước 2 pha 6 dây 12V- 0.4A, độ phân giải 1.8 độ/bước

 Cơ cấu truyền động sử dụng bánh răng và dây đai

2.1.2 Bậc tự do của robot

Bậc tự do là số khả năng chuyển động của một cơ cấu (chuyển động quay hoặc tịnh tiến) Để dịch chuyển được một vật thể trong không gian, cơ cấu chấp hành của robot phải đạt được một số bậc tự do Nói chung cơ hệ của robot là một cơ cấu hở, do đó bậc tự do của nó có thể tính theo công thức: w  6n   ip i i1

Trong đó: n: Số khâu động pi: Số khớp loại i (i=1,2,3,4,5: Số bậc tự do bị hạn chế) Đối với các cơ cấu có các khâu được nối với nhau bằng khớp quay hoặc khớp tịnh tiến (khớp động loại 5) thì số bậc tự do bằng với số khâu động Đối với cơ cấu hở, số bậc tự do bằng tổng số bậc tự do của khớp động. Để định vị và định hướng khâu chấp hành cuối một cách tuỳ ý trong không gian

3 chiều robot cần có 6 bậc tự do, trong đó 3 bậc tự do để định vị và 3 bậc tự do để định hướng Một số công việc đơn giản nâng hạ, sắp xếp có thể yêu cầu số bậc tự do ít hơn Các robot hàn, sơn thường yêu cầu 6 bậc tự do Trong một số trường hợp cần sự khéo léo, linh hoạt hoặc khi cần phải tối ưu hoá quỹ đạo người ta dùng robot với số bậc tự do lớn hơn 6.

 Theo công thức trên, ta tính được số bậc tự do của robot đang thiết kế như sau:

Vậy cánh tay robot đang thiết kế có 4 bậc tự do.

Mỗi robot thường bao gồm nhiều khâu (links) liên kết với nhau qua các khớp (joints), tạo thành một xích động học xuất phát từ một khâu cơ bản (base) đứng yên.

Hệ toạ độ gắn với khâu cơ bản gọi là hệ toạ độ cơ bản (hay hệ toạ độ chuẩn) Các hệ toạ độ trung gian khác gắn với các khâu động gọi là hệ toạ độ suy rộng Trong từng thời điểm hoạt động, các toạ độ suy rộng xác định cấu hình của robot bằng các chuyển dịch dài hoặc các chuyển dịch góc của các khớp tịnh tiến hoặc các chuyển dịch góc của các khớp tịnh tiến hoặc khớp quay Các toạ độ suy rộng còn được gọi là biến khớp.

Hình 2.2: Hệ tọa độ suy rộng của cánh tay robot

Các hệ toạ độ gắn trên các khâu của robot phải tuân theo quy tắc bàn tay phải: Dùng tay phải, nắm hai ngón tay út và áp út vào lòng bàn tay, xoè 3 ngón : cái, trỏ và giữa theo 3 phương vuông góc nhau, nếu chọn ngón cái là phương và chiều của trục z, thì ngón trỏ chỉ phương, chiều của trục x và ngón giữa sẽ biểu thị phương, chiều của trục y.

Trong robot ta thường dùng chữ O và chỉ số n để chỉ hệ toạ độ gắn trên khâu thứ n Như vậy hệ toạ độ cơ bản (Hệ toạ độ gắn với khâu cố định) sẽ được ký hiệu là O0; hệ toạ độ gắn trên các khâu trung gian tương ứng sẽ là O1, O2, , On-1, Hệ toạ độ gắn trên khâu chấp hành cuối cùng ký hiệu là On.

Hình 2.3: Quy tắc bàn tay phải

2.1.4 Trường công tác của robot

Trường công tác (hay vùng làm việc, không gian công tác) của robot là toàn bộ thể tích được quét bởi khâu chấp hành cuối khi robot thực hiện tất cả các chuyển động có thể Trường công tác bị ràng buộc bởi các thông số hình học của robot cũng như các ràng buộc cơ học của các khớp Để mô tả trường công tác của một robot người ta thường dùng 2 hình chiếu đứng và hình chiếu bằng Có 3 thông số đặc trưng cho trường công tác của robot gồm:

H: chiều cao trường công tác

R: Bán kính trường công tác

: Góc lớn nhất của trường công tác

Hình chiếu đứng Hình chiếu bằng

Hình 2.4: Biểu diễn không gian thao tác của Robot

GĂNG TAY ĐIỀU KHIỂN

Hình 2.5: Găng tay điều khiển robot

 Chất liệu bằng vải giúp găng tay có trọng lượng nhẹ và thỏa mái khi sử dụng

 Sử dụng 3 cảm biến uốn – Flex Sensor nhận dạng chuyển động của ngón tay

 Sử dụng module NRF24L01 để truyền tín hiệu về cánh tay robot

 Tầm hoạt động từ 30 – 50m, xa nhất đến 100m nếu môi trường thoáng

 Có bảng mạch in kết nối các linh kiện giúp thiết bị hoạt động ổn định hơn so với sử dụng dây cắm.

NGUYÊN LÍ HOẠT ĐỘNG

Hình 2.6: Nguyên lí hoạt động

Cánh tay robot 4 bậc tự do hoạt động theo nguyên lí như sau:

Khi các ngón tay duỗi hoặc co sẽ làm cho các cảm biến uốn được gắn trên găng tay biến dạng theo, dẫn đến dải kim loại của cảm biến uốn cong làm cho điện trở của cảm biến sẽ thay đổi Arduino nano sẽ tiếp nhận tín hiệu từ các cảm biến và gửi chương trình hoạt động đến module phát sóng RF NRF24L01 Module phát này sẽ gửi tín hiệu đến module thu trong cánh tay robot Arduino Mega2560 là bo mạch chủ của cánh tay robot sẽ nhận tín hiệu từ module thu, xử lí thông tin và gửi tín hiệu cho các driver Driver sẽ điều khiển động cơ tương ứng làm cho cánh tay robot hoạt động.

THIẾT KẾ PHẦN CỨNG

SƠ ĐỒ KHỐI

Trung tâm của khối điều khiển là Arduino Mega 2560 có nhiệm vụ thu nhận và xử lí tin hiệu được truyền về từ các cảm biến CNC Shield là mạch nhận tín hiệu từ Arduino truyền cho driver và điều khiển cánh tay robot Nhóm sử dụng 2 Shield để điều khiển 6 động cơ bước thông qua driver A4988(có các jumper để điều khiển động cơ bước theo chế độ full step, haft step, 1/4, 1/8, 1/16) A4988 là một bộ điều khiểnDMOS cực nhỏ với bộ chuyển đổi và bảo vệ quá dòng A4988 có thể điều khiển được động cơ bước lượng cực với dòng điện lên đến 2A với mỗi cuộn dây Nguồn để cung cấp cho Arduino và CNC Shield được lấy từ nguồn tổ ong 12V, các linh kiện khác lấy nguồn từ Arduino(5V hoặc 3,3V).

CÁC LINH KIỆN SỬ DỤNG

3.2.1.1 Giới thiệu chung về Arduino

Arduino thực sự đã gây sóng gió trên thị trường người dùng DIY (là những người tự chế ra sản phẩm của mình) trên toàn thế giới trong vài năm gần đây, gần giống với những gì Apple đã làm được trên thị trường thiết bị di động, số lượng người dùng cực lớn và đa dạng với trình độ trải rộng từ bậc phổ thông lên đến đại học đã làm cho ngay cả những người tạo ra chúng phải ngạc nhiên về mức độ phổ biến.

Hình 3.2: Những thành viên khởi xướng Arduino

Arduino là gì mà có thể khiến ngay cả những sinh viên và nhà nghiên cứu tại các trường đại học danh tiếng như MIT, Stanford, Camegie Mellon phải sử dụng; hoặc ngay cả Google cũng muốn hỗ trợ khi cho ra đời bộ kit Arduino Mega ADK dùng để phát triển các ứng dụng Android tương tác với cảm biến và các thiết bị khác.

Arduino thật ra 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ư cảm biến, động cơ, đèn hoặc các thiết bị khác Đặc điểm nổi bật của Arduino là môi trường phát triển ứng dụng cực kỳ dễ sử dụng, với một ngôn ngữ lập trình có thể học một cách nhanh chóng ngay cả với người ít am hiểu về điện tử và lập trình Và điều làm nên hiện tượng Arduino chính là mức giá rất thấp và tính chất nguồn mở từ phần cứng tới phần mềm Chỉ với khoảng $30, người dùng đã có thể sở hữu một board Arduino có 20 ngõ I/O có thể tương tác và điều khiển chừng ấy thiết bị. Arduino ra đời tại thị trấn Ivrea thuộc nước Ý và được đặt theo tên một vị vua vào thế kỷ thứ 9 là King Arduin Arduino chính thức được đưa ra giới thiệu vào năm

2005 như là một công cụ khiêm tốn dành cho các sinh viên của giáo sư Massimo Banzi, là một trong những người phát triển Arduino, tại trường Interaction Design Instistute Ivrea (IDII) Mặc dù hầu như không được tiếp thị gì cả, tin tức về Arduino vẫn lan truyền với tốc độ chóng mặt nhờ những lời truyền miệng tốt đẹp của những người dùng đầu tiên Hiện nay Arduino nổi tiếng tới nỗi có người tìm đến thị trấn Ivrea chỉ để tham quan nơi đã sản sinh ra Arduino.

3.2.1.2 Vi điều khiển Arduino MEGA 2560

Arduino Mega 2560 là một bo mạch vi điều khiển được xây dựng dựa trên chip Atmega2560 Nó co 54 chân vào/ra số (trong đó có 15 chân có thể sử dụng để điều chế độ rộng xung),có 16 chân đầu vào tín hiệu tương tự, sử dụng một dao động thạch anh tần số dao động 16MHz, có một cổng kết nối USB, chân nguồn, một ICSP header, một nút reset Nó chứa tất cả mọi thứ cần thiết để hỗ trợ các vi điều khiển, nguồn cung cấp cho Arduino có thể là từ máy tính thông qua cổng USB hoặc là từ bộ nguồn chuyên dụng được biến đổi từ xoay chiều sang một chiều hoặc là nguồn lấy từ pin Arduino Mega tương thích với hầu hết các shield thiết kế cho Arduino Duemilanove hay Diecimila.

Hình 3.3: Board mạch Arduino Mega 2560

Arduino Mega 2560 là bản cập nhật từ Arduino Mega Arduino Mega 2560 khác so với các bo mạch trước đó ở chỗ nó không sử dụng chip điều khiển FTDI USB-to- serial Thay vào đó, các tính năng của Atmega16U2 (ATmega8U2 trong phiên bản 1 và phiên bản 2 bảng) được lập trình như một bộ chuyển đổi USB-to-serial).

Phiên bản 2 của bo mạch Mega2560 có 1 điện trở kéo đường 8U2 HWB xuống đất, làm cho nó dễ đặt chế độ DFU hơn.

Phiên bản 3 của bo mạch có các đặc tính mới sau:

Thêm chân SDA và SCL gần chân AREF và 2 chân mới được đặt gần chân RESET, IOREF cho phép các shield tương thích với điện áp được cung cấp từ bo mạch Trong tương lai, các shield sẽ tương thích với cả hai bo mạch sử dụng AVR mà hoạt động với nguồn 5V và Arduino Due hoạt động ở mức 3,3V Chân thứ 2 không kết nối dành cho các mục đích sau này.

 Đặc tính của board Atmega2560:

Vi điều khiển Thông số kỹ thuật Điện áp hoạt động 5V Điện áp đầu vào (được đề nghị) 7 – 12V Điện áp đầu vào (giới hạn) 6 – 20V

Digital I/O Pins 54 chân (15 chân có thể sử dụng như các chân PWM)

DC hiện tại mỗi I/O Pin 40 mA

DC hiện tại cho 3.3V Pin 50 mA

Bộ nhớ Flash 256 KB trong đó 8 KB sử dụng vộ nạp khởi động

Clock Speed (thạch anh) 10Mhz

Bảng 3.1: Đặc tính của board Atmega2560

 Arduino Mega có thể được cấp nguồn thông qua kết nối USB hoặc nguồn ngoài Nguồn nuôi được chọn một cách tự động.

 Nguồn ngoài (không phải USB) có thế lấy từ bộ chuyển đổi AC sang DC hoặc từ pin Bo mạch có thể hoạt động với nguồn ngoài từ 6 – 20V Tuy nhiên, nếu nguồn cấp nhỏ hơn 7V thì chân 5V có thể cấp không đủ 5V và bo mạch có thể chạy không ổn định Nếu cấp lớn hơn 12V, bộ biến áp có thể bị nóng và ảnh hưởng tới mạch Điện áp khuyến nghị là 7 – 12V.

- VIN: Điện áp vào mạch Arduino khi nó sử dụng nguồn ngoài (khác với nguồn 5V từ kết nối USB hoặc nguồn khác) Ta có thể cấp nguồn qua chân này hoặc cấp thông qua jack cắm nguồn.

- 5V: Chân cấp điện áp ra 5V từ bộ điều chỉnh điện áp của bo mạch.

- 3V3: Chân cấp điện áp ra 3,3V từ bộ điều chỉnh điện áp.

 IOREF: Chân này cấp điện áp tham chiếu cho vi điều khiển hoạt động Một shield được cấu hình đúng có thể đọc điện áp chân IOREF và chọn nguồn điện phù hợp hoặc cho phép biến đổi điện áp để làm việc vơi 5,5V hoặc 3,3V.

 Bộ nhớ: Atmega2560 có 256KB bộ nhớ flash để lưu chữ mã chương trình (trong đó có 8KB được sử dụng cho bootloader), 8KB SRAM và 4KB EEPROM (có thể đọc và viết bằng thư viện EEPROM).

 Thông số kĩ thuật khác:

 Mỗi chân trong 54 chân digital trên bo Mega có thể sử dụng làm chân input hoặc output, bằng cách sử dụng hàm pinMode(), digitalWrite(), digitalRead(). Chúng hoạt động ở 5V Mỗi chân có thể cấp hoặc nhận tối đa 40mA và có một trở kéo nội (mặc định không nối) từ 20 – 50K Ngoài ra, một số chân có các chức năng đặc biệt.

 6 ngắt ngoài: chân 2 (interrupt 0), chân 3 (interrupt 1), chân 18 (interrupt 5), chân 19 (interrupt 4), chân 20 (interrupt 3), and chân 21 (interrupt 2).

 4 cổng Serial giao tiếp giao tiếp với phần cứng:

Bảng 3.2: Vị trí 4 cổng serial

 PWM: 2 - 13 và 44 - 46 Cung cấp 8-bit PWM đầu ra với hàm analogWrite() - SPI: 50 (MISO), 51 (MOSI), 52 (SCK), 53 (SS) Những chân này hỗ trợ truyền thông SPI.

 LED: 13 Có một LED được nối với chân 13 Khi chân này ở mức cao thì đèn sáng, khi ở mức thấp thì đèn tắt.

 TWI: 20 (SDA) và 21 (SCL) Hỗ trợ truyền thông TWI Lưu ý rằng những chân này không cùng số chân TW trênDuemilanove hay Diecimila.

 AREF: Tham chiếu điện áp cho đầu vào analog Sử dụng hàm analogReference().

 RESET: Nối đường dây xuống LOW để reset vi xử lý.

3.2.1.3 Vi điều khiển Arduino NANO

Arduino Nano là một bảng vi điều khiển thân thiện, nhỏ gọn, đầy đủ Arduino Nano nặng khoảng 7g với kích thước từ 1,8cm - 4,5cm.

Arduino Nano có chức năng tương tự như Arduino Duemilanove nhưng khác nhau về dạng mạch Nano được tích hợp vi điều khiển ATmega328P, giống như Arduino UNO Sự khác biệt chính giữa chúng là bảng UNO có dạng PDIP (Plastic Dual-In-line Package) với 30 chân còn Nano có sẵn trong TQFP (plastic quad flat pack) với 32 chân Trong khi UNO có 6 cổng ADC thì Nano có 8 cổng ADC Bảng Nano không có giắc nguồn DC như các bo mạch Arduino khác, mà thay vào đó có cổng mini- USB Cổng này được sử dụng cho cả việc lập trình và bộ giám sát nối tiếp Tính năng hấp dẫn của arduino Nano là nó sẽ chọn công xuất lớn nhất với hiệu điện thế của nó.

Vi điều khiển Thông số kỹ thuật Điện áp hoạt động 5V Điện áp đầu vào (được đề nghị) 7 – 12V

Bộ nhớ Flash 32 Kb of which 2 Kb used by Bootloader

Bảng 3.3: Thông số của Arduino Nano

Như đã đề cập trước đó, Arduino Nano có 14 ngõ vào/ra digital (Các chân: 1, 2,

5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 và 16) Các chân làm việc với điện áp tối đa là 5V. Mỗi chân có thể cung cấp hoặc nhận dòng điện 40mA và có điện trở kéo lên khoảng 20- 50kΩ Các chân có thể được sử dụng làm đầu vào hoặc đầu ra, sử dụng các hàm pinMode (), digitalWrite () và digitalRead ().

Ngoài các chức năng đầu vào và đầu ra số, các chân này cũng có một số chức năng bổ sung:

 Chân 1, 2: Chân nối tiếp Hai chân nhận RX và truyền TX này được sử dụng để truyền dữ liệu nối tiếp TTL Các chân RX và TX được kết nối với các chân tương ứng của chip nối tiếp USB tới TTL.

PHẦN MỀM SỬ DỤNG

Hình 3.27: Giao diện phần mềm Arduino IDE

Thiết kế bo mạch nhỏ gọn, trang bị nhiều tính năng thông dụng mang lại nhiều lợi thế cho Arduino, tuy nhiên sức mạnh thực sự của Arduino nằm ở phần mềm Môi trường lập trình đơn giản dễ sử dụng, ngôn ngữ lập trình Wiring dễ hiểu và dựa trên nền tảng C/C++ rất quen thuộc với người làm kỹ thuật Và quan trọng là số lượng thư viện code được viết sẵn và chia sẻ bởi cộng đồng nguồn mở là cực kỳ lớn.

Arduino IDE là phần mềm dùng để lập trình cho Arduino Môi trường lập trình Arduino IDE có thể chạy trên ba nền tảng phổ biến nhất hiện nay là Windows, Macintosh osx và Linux Do có tính chất nguồn mở nên môi trường lập trình này hoàn toàn miễn phí và có thể mở rộng thêm bởi người dùng có kinh nghiệm.

Ngôn ngữ lập trình có thể được mở rộng thông qua các thư viện C++ Và do ngôn ngữ lập trình này dựa trên nền tảng ngôn ngữ c của AVR nẽn người dùng hoàn toàn có thể nhúng thêm code viết bằng AVR vào chương trình nếu muốn.Hiện tại,Arduino IDE có thể download từ trang chủ http://arduino.cc.

Altium là nhà cung cấp phần mềm thiết kế PCB, phần mềm quản lý dữ liệu và thành phần PCB hàng đầu trên thế giới và là chủ nhà của AltiumLive - Hội nghị phát triển nhanh nhất trong ngành dành cho các nhà thiết kế, kỹ sư PCB.

Phần mềm thiết kế PCB của Altium đã giúp một loạt các công ty thành công trong việc thiết kế các sản phẩm và hệ thống điện tử thế hệ tiếp theo.

Hình 3.28: Giao diện phần mềm Altium Designer

 Altium Designer có một số đặc trưng sau:

 Giao diện thiết kế, quản lý và chỉnh sửa thân thiện, dễ dàng biên dịch, quản lý file, quản lý phiên bản cho các tài liệu thiết kế.

 Hỗ trợ mạnh mẽ cho việc thiết kế tự động, đi dây tự động theo thuật toán tối ưu, phân tích lắp ráp linh kiện Hỗ trợ việc tìm các giải pháp thiết kế hoặc chỉnh sửa mạch, linh kiện, netlist có sẵn từ trước theo các tham số mới.

 Mở, xem và in các file thiết kế mạch dễ dàng với đầy đủ các thông tin linh kiện, netlist, dữ liệu bản vẽ, kích thước, số lượng…

 Hệ thống các thư viện linh kiện phong phú, chi tiết và hoàn chỉnh bao gồm tất cả các linh kiện nhúng, số, tương tự…

 Đặt và sửa đối tượng trên các lớp cơ khí, định nghĩa các luật thiết kế, tùy chỉnh các lớp mạch in, chuyển từ schematic sang PCB, đặt vị trí linh kiện trên PCB.

 Mô phỏng mạch PCB 3D, đem lại hình ảnh mạch điện trung thực trong không gian 3 chiều, hỗ trợ MCAD-ECAD, liên kết trực tiếp với mô hình STEP, kiểm tra khoảng cách cách điện, cấu hình cho cả 2D và 3D

 Hỗ trợ thiết kế PCB sang FPGA và ngược lại.

 Các thành phần của giao diện phần mềm Altium Designer

Hình 3.29: Các thành phần của Altium Designer

THIẾT KẾ MẠCH VÀ LẬP TRÌNH

MẠCH PHÁT

Hình 4.1: Sơ đồ khối mạch phát

 Cảm biến: Đo cường độ uốn (Flex Sensor), góc nghiêng của tay

(MPU6050) và gửi giá trị đo được cho Arduino

 Khối xử lí trung tâm: Xử lí thông tin nhận được từ các cảm biến và điều khiển phát dữ liệu thông qua module NRF24L01

 Khối phát: Có chức năng phát dữ liệu từ Arduino này sang bộ thu của Arduino khác.

4.1.3 Sơ đồ kết nối phần cứng

4.1.3.1 Kết nối cảm biến uốn – Flex Sensor với Arduino

Pin 1 Vcc ADC+Trở 10k ADC

Pin 2 Vcc ADC+Trở 10k ADC

Pin 3 Vcc ADC+Trở 10k ADC

Bảng 4.1: Kết nối Flex Sensor với Arduino

4.1.3.2 Kết nối cảm biến nghiêng MPU6050 với Arduino

MPU6050 Pin Vcc GND SCL SDA

Bảng 4.2: Kết nối MPU6050 với Arduino

4.1.3.3 Kết nối module NRF24L01 với Arduino

Arduino Pin Vcc GND CE CSN SCK MOSI MISO

Bảng 4.3: Kết nối NRF24L01 với Arduino

4.1.3.4 Sơ đồ kết nối chung các khối

Hình 4.2: Sơ đồ kết nối phần cứng mạch phát

4.1.5 Lập trình cho mạch phát

#define cb2 A2 int a; int b; int c; int d; const int solan = 10; //số lần cộng int docgiatri[solan]; //mảng để lưu giá trị int docgiatri1[solan]; //mảng để lưu giá trị int docgiatri2[solan]; //mảng để lưu giá trị int sodem=0; //số đếm của mảng int sodem1=0; //số đếm của mảng int sodem2=0; //số đếm của mảng unsigned long tong=0; //tổng giá trị unsigned long tong1=0; //tổng giá trị unsigned long tong2=0; //tổng giá trị int giatritrungbinh; //giá trị trung bình int giatritrungbinh1; //giá trị trung bình int giatritrungbinh2; //giá trị trung bình

RF24 radio(7, 8); // CE, CSN byte address[6] = "00001"; float z; void setup()

Serial.begin(9600); radio.begin(); radio.openWritingPipe(address); radio.setPALevel(RF24_PA_MIN); radio.stopListening();

//myservo.attach(9); for(int i = 0;i= solan){ //nếu số đếm lớn hơn 100 thì gán lại bằng 0 sodem = 0; giatritrungbinh = (tong / solan); tong=0;

} if(sodem1 >= solan){ //nếu số đếm lớn hơn 100 thì gán lại bằng 0 sodem1 = 0; giatritrungbinh1 = (tong1 / solan);

} if(sodem2 >= solan){ //nếu số đếm lớn hơn 100 thì gán lại bằng 0 sodem2 = 0; giatritrungbinh2 = (tong2 / solan);

////////cảm biến 1//// if(367

Ngày đăng: 07/03/2024, 10:43

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

TÀI LIỆU LIÊN QUAN

w