Hướng dẫn làm cánh tay giả

HƯỚNG DẪN LÀM CÁNH TAY GIẢ

Hình ảnh cánh tay Bionic Tele hoạt động

Hình ảnh cánh tay Bionic Tele hoạt động Hình ảnh cánh tay Bionic Tele hoạt động

Trong bài này, chúng ta sẽ tạo ra một cánh tay giả, cánh tay robot tương tự như bàn tay con người với sáu bậc tự do (năm dộng cơ cho các ngón tay và một cho cổ tay). Nó được điều khiển bằng bàn tay con người, bằng cách sử dụng một chiếc găng tay được gắn cảm biến flex để phản hồi các ngón tay và IMU cho phản hồi góc cổ tay.

Đây là những tính năng chính của bàn tay:

  1. Một bàn tay robot với 6 bậc tự do. Tất cả các bậc tự do được điều khiển bằng cách sử dụng servo.
  2. Cảm biến Flex: Năm cảm biến flex được gắn vào một chiếc găng tay. Những cảm biến flex này cung cấp phản hồi cho vi điều khiển được sử dụng để điều khiển cánh tay giả.
  3. IMU: IMU được sử dụng để lấy góc cổ tay.
  4. Hai evive (Arduino) dựa trên vi điều khiển được sử dụng: Một gắn vào găng tay để điều khiển góc cổ tay và chuyển động flex và cái còn lạị được gắn vào cánh tay để điều khiển servo.
  5. Phần điều khiển từ găng tay và cánh tay giả giao tiếp với nhau bằng cách sử dụng Bluetooth.
  6. Có thêm hai bậc tự do để cung cấp cho chuyển động theo mặt phẳng X và Z của cánh tay, đây là bước lập trình thêm để hoàn thành nhiệm vụ phức tạp hơn.
  7. Hai chuyển động phụ được điều khiển bằng cách sử dụng cần điều khiển.

Bây giờ, chúng ta sẽ đi sâu hơn vào cách lắp ráp.

Bước 1: Tay và Forarm

Hình ảnh của Hand and Forarm

Có rất nhiều mẫu thiết kế cho tay và forarm có sẵn trên internet. Chúng tôi đã lấy một trong những thiết kế từ InMoov . Bạn có thể in 3D tại cachdung.com và linh kiện để làm cánh tay tại link

Chúng tôi chọn làm tay phải, vì vậy đây là những chi tiết cần thiết để in 3D:

  • 1x Ngón cái
  • 1x Ngón trỏ
  • 1x Majeure
  • 1x Auriculaire
  • 1x Pinky
  • 1x Bolt_entretoise
  • 1x Wristlarge
  • 1x Wristsmall
  • 1x topsurface
  • 1x coverfinger
  • 1x robcap3
  • 1x robpart2
  • 1x robpart3
  • 1x robpart4
  • 1x robpart5
  • 1x rotawrist2
  • 1x rotawrist1
  • 1x rotawrist3
  • 1x WristGears
  • 1x CableHolderWrist

*Hướng dẫn lắp cánh tay giả:

i/

DSC06390

Cắt phần giữa bằng dao rọc giấy trên RobPart2, 3, 4 và 5

DSC06389

Lắp RobPart2 và 5 với nhau

DSC06391

Dùng keo để cố định 2 chi tiết trên với nhau

DSC06401

Làm tương tự với RobPart 3 và 4

DSC06393

Khoan các lỗ lên RobPart2 bằng mũi khoan 6mm như hình để thêm servo bổ sung cho ngón cái.

DSC06394

Lắp các khớp nối đi kèm với servo vào RobPart2

DSC06395

Trong Robpart5, chèn hai đai ốc cho các bu lông 3mm. Nếu đai ốc bị nhô ra, làm nóng chúng một chút sau đó chèn chúng vào lỗ sao cho chúng không bị nhô ra nữa.

DSC06397

Chỉnh các lỗ trên đế servo nếu chúng bị lỗi.

DSC06399

Đặt đế servo vào trong phần dưới của Robpart5.

DSC06400

Dán keo hoặc cố định nó bằng 2 vít.

InMoovTensioner1 InMoovTensioner2

Tiếp theo, sử dụng chi tiết (Tensioner.stl) để giữ các dây bằng cách sử dụng một lò xo 0,5mm, chiều dài 1cm (13/64 ″ x13 / 16 ″). Sử dụng một ống nhựa nhỏ luồng qua lỗ tròn của lò xo để điều khiển dây, nó giúp tránh làm mòn dây.

QUAN TRỌNG: Khi kéo căng tạo sức căng cho dây, cố gắng giữ các lò xo không bị biến dạng (không kéo dài ra).
Các lò xo chỉ để cung cấp sự ổn định cho chiều dài của dây khi cổ tay quay.

DSC06416 DSC06417

Tiếp theo, lắp các servo bằng vít vào đế servo.

DSC06419

Đây là RobRing và ServoPulley (màu trắng) dung để gắng lên bánh răng của servo.

DSC06420 DSC06423

Chỉnh lại các lỗ trên ServoPulley bằng mũi khoan 2mm

DSC06421

Sử dụng các vít đi kèm với các servo của bạn để gắn thiết bị truyền động màu đen vào ServoPulley.

DSC06422

Cắt các đuôi vít bị dư ra

Bây giờ sử dụng sketch  Arduino để thiết lập tất cả các servos của bạn ở 90 độ. Lắp vít tất cả các ServoPulleys lên servo như được hiển thị. Khi các ServoPulleys được cố định, sử dụng sketch một lần nữa, đặt tất cả các servos thành 0 độ. Tránh di chuyển chúng trong các bước tiếp theo, nếu không bạn sẽ cần phải đặt lại chúng về 0 độ.

DSC06441

DSC06446

Gắn trên đế servo RobCableFront và RobCableBack.

ii/

DSC06424

Trên RotaWrist1 bỏ phần hổ trợ như hình.

DSC06425

Chỉnh các lỗ bằng mũi khoang

DSC06426

Lắp RotaWrist1 vào RosbPart ở bước trên

DSC06428

Dùng cây dũa để mài nếu không lắp được

DSC06427

Lắp theo hình và cẩn thận lắp ngược.

DSC06434

Dán keo tại khớp nối của 2 chi tiết

DSC06435

Lắp servo MG996 của bạn vào để cổ tay quay 180 độ.

DSC06437

Lắp vít để cố định servo.

DSC06436

Khoan 1 lỗ như hình bằng mũi khoan 2.5mm lên RobWrist2

DSC06438

RotaWrist2 được sơn màu đen để tránh bị ngã vàng

DSC06439

Hình ảnh này là để hiển thị vị trí đặt servo phụ nếu bạn sử dụng ngón cái với hành động kép.

DSC06440

Khoan 2 lỗ lên RotaWrist3 với mũi khoan 8mm

DSC06442 DSC04913

DSC06443 DSC06444

Gắn bánh răng theo hình

DSC04917 DSC06450

Bôi nhớt giữa các bánh răng.

DSC06445

Cố định RotaWrist3 vào RotaWrit2 bằng vít

iii/ Lắp các ngón tay

DSC06429

Chỉnh lại các lỗ trên bản lề và đặt các ngón tay ở những bịch riêng.

DSC06430

Chỉnh bản lề ngoài dùng mũi khoan 3mm.

DSC06431

Chỉnh bản lề trong dùng mũi khoan 3.2mm hoặc 3.5mm.

DSC06432

Mài các bản lề.

DSC06469

Dán keo các bản lề như hình

DSC06471

Sử dụng dây nhựa 3mm để làm chốt.

DSC06472

Nếu không có dây nhựa bạn có thể thay bằng bu long 3mm.

DSC06403

Khoan lại các lỗ trên phần nắp bằng mũi khoan 3mm.

DSC06404 DSC06405

Khoan Wristmall và Wristlarge với mũi khoan 2.5mm để điều chỉnh nắp.

DSC06406 DSC06409

DSC06411

Khoan lại các bản lề của Wristmall và Wristlarge với khoan 3.2 hoặc 3.5mm

DSC06412

Khoan lại các bản lề lớn bằng máy khoan 8mm.

DSC06413

Đảm bảo Bu lông hoặc Bu lông in chạy trơn tru và không bị lỏng.

DSC06402

Cắt 10 dây nhựa dài 75cm. Không sử dụng loại có thể co giản.

DSC06407

Chèn các dây nhựa vào các lỗ Wristlarge.

DSC06408 DSC06414

DSC06415 DSC06474

DSC06475 DSC06447

DSC06448 DSC06449

Làm theo hình.

DSC06451

Lắp bàn tay vào cổ tay.

DSC06452 DSC06453

DSC06459

Lắp dây từ cổ tay vào cánh tay

DSC06478

Bạn nên sử dụng dây khác màu để phân biệt các ngón tay.

DSC06455

Làm theo hình.

DSC06457

Sử dụng vòng “C” để cố định bu lông.

DSC06473

Đây là mặt sau bàn tay khi lắp xong.

DSC06482

Khi bạn lắp cổ tay cần chỉnh servo ở 90 độ và 2 vít trên hình được căn chỉnh.

DSC06484

Dán keo RobCap vào ElbowShaftGear.

DSC06487

Bây giờ dán phần này vào RobPart5, đảm bảo nó được căn chỉnh vào các khe.

iv/ Lắp các ngón tay

DSC06490 DSC06491

DSC06496 DSC06498

DSC06497 DSC06499

DSC06500 DSC06501

DSC06502 DSC06516

DSC06514 DSC06522

Lắp theo hình

DSC06526 DSC06525

Dán keo cho các ngón tay

DSC06524 DSC06527

Lắp nắp cho bàn tay và kiểm tra độ linh hoạt của các ngón tay.

Bước 2: Thiết kế trục Z

Hình ảnh của Z Axis Design

Hình ảnh của Z Axis Design Hình ảnh của Z Axis Design

Hình ảnh của Z Axis Design Hình ảnh của Z Axis Design

Chúng tôi đã thiết kế một bộ phần tùy chỉnh được gắn ở phần cuối của cánh tay có khe cắm cho ổ bi và trục vít. Vòng bi được sử dụng để dẫn hướng cánh tay theo trục z và chuyển động của trục được điều khiển bằng động cơ và vít.

Các vít dẫn được xoay bằng cách sử dụng một động cơ bước dẫn đến chuyển động chính xác của cánh tay robot.

Động cơ bước, trục và vít đều được gắn vào chi tiết in 3D gắn vào cánh tay robot để di chuyển.

Bước 3: Trục X và khung

Hình ảnh của X Axis Movement and Frame Hình ảnh của X Axis Movement and Frame

Hình ảnh của X Axis Movement and Frame Hình ảnh của X Axis Movement and Frame

Như đã đề cập trong bước trước, phần tùy chỉnh thứ hai được thiết kế để giữ động cơ bước và trục. Chuyển động theo trục X cũng có các chi tiết tương tự với trục Z. Động cơ bước và chi tiết hỗ trợ trục được gắn trên một khung nhôm được làm bằng nhôm ép đùn 20mm x 20mm.

Bước 4: Chạy động cơ bước: Sơ đồ mạch điều khiển Ã988

Hình ảnh của Chạy Động cơ bước: A4988 Sơ đồ mạch điều khiển

Hình trên là sơ đồ mạch. Dưới đây là các linh kiện cần thiết:

  • Cần điều khiển XY
  • Dây điện
  • Trình điều khiển động cơ A4988
  • Pin (12V)

Bước 5: Code động cơ bước

Chúng tôi sử dụng thư viện BasicStepperDriver để điều khiển động cơ bước với evive. Giải thích code đơn giản:

  • Nếu giá trị chiết áp của trục X lớn hơn 800 (analog read 10 bit),  di chuyển thanh trượt lên.
  • Nếu giá trị chiết áp của trục X nhỏ hơn 200 (analog read 10 bit), hãy di chuyển thanh trượt xuống.
  • Nếu giá trị chiết áp của trục Y lớn hơn 800 (analog read 10 bit), hãy di chuyển thanh trượt về phía bên trái.
  • Nếu giá trị chiết áp của trục Y nhỏ hơn 200 (analog read 10 bit), hãy di chuyển thanh trượt về phía bên phải.

Bạn có thể tải code tại link

Bước 6: Cảm biến Flex

Hình ảnh của Flex Cảm Biến

Cảm biến flex là một điện trở biến đổi. Khả năng dẫn điện của cảm biến flex tăng lên khi  uốn cong thanh Flex. Chúng tôi đã sử dụng năm cảm biến flex dài 4,5 “để di chuyển ngón tay.

Cách đơn giản nhất để kết hợp cảm biến này vào dự án của chúng tôi là sử dụng nó như bộ chia điện áp. Mạch này yêu cầu một điện trở. Chúng tôi sẽ sử dụng một điện trở 47kΩ trong ví dụ này.

Các cảm biến flex được gắn vào pin analog A0-A4 trên evive.

Bước 7: Hiệu chỉnh cảm biến Flex

 

Phạm vi của giá trị chúng tôi nhận được tại chân analog của evive từ các cảm biến flex khác nhau cho mỗi cảm biến. Do đó chúng ta phải ghi lại phạm vi cho mỗi cảm biến.

Bằng cách sử dụng màn hình Pin State evive, nó sẽ hiển thị có được giá trị ở góc khác nhau.

Pin State Monitor hiển thị trạng thái tất cả các chân digital và analog của evive. Nó cho thấy đầu ra là cao hoặc thấp cho chân digital và giá trị tương tự cho các chân analog. Các chân được hiển thị ở dạng bảng trên màn hình.

Video ở trên là một ví dụ chúng tôi đang theo dõi giá trị cần điều khiển trên chân analog A0 và A1.

Bước 8: Khâu cảm biến Flex trên găng tay

Hình ảnh của khâu cảm biến Flex trên găng tay

Bây giờ chúng ta phải khâu các cảm biến flex trên găng tay. Chúng tôi chọn một chiếc găng tay len. Trước tiên, đeo găng tay lên tay để các cảm biến flex có thể được gắn vào găng tay dễ dàng. chúng tôi đã khâu các cảm biến bằng cách sử dụng keo dán. Sử dụng dây nối để tang khoản cách cho cảm biến.

Bước 9: IMU

Hình ảnh của IMU Hình ảnh của IMU

Để cảm nhận được góc cổ tay, chúng tôi đã sử dụng cảm biến MPU-6050.

Cảm biến MPU-6050 có bộ gia tốc MEMS và con quay hồi chuyển MEMS trong cùng một con chip. Nó rất chính xác, vì nó chứa 16 bit tương tự với phần cứng chuyển đổi digital cho mỗi trục. Do đó, nó nhận biết trục x, y và z cùng một lúc. Cảm biến sử dụng bus I2C để giao tiếp với Arduino.

Hiển thị ở trên là sơ đồ mạch để nối cảm biến IMU6050.

Chúng tôi sử dụng Thư viện Arduino MPU6050 để nhận dữ liệu từ dữ liệu cảm biến.

Cảm biến được gắn trên găng tay bằng băng keo.

Bước 10: Cấu hình Bluetooth Master Slave

Hình ảnh của cấu hình Bluetooth Master Slave

Như đã nói ở trên, giao tiếp hai evive bằng cách sử dụng hai Bluetooth. Đối với giao tiếp, một Bluetooth phải được đặt làm Master và một là Slave.

Để cấu hình Bluetooth, chúng ta cần chuyển sang chế độ lệnh AT. Trước tiên, chúng ta cần kết nối các mô-đun Bluetooth để evive như mạch được hiển thị ở trên. Có một khe cắm chuyên dụng cho mô-đun Bluetooth, chỉ cần cắm một trong hai mô-đun Bluetooth. Hãy nhớ nhấn công tắc trên mô-đun khi nối nó trong vòng 3-5 giây. Giao tiếp được thực hiện thông qua cổng nối tiếp 3 của evive.

Dưới đây là code để giao tiếp với HC05.

Cấu hình Slave

Mở Serial Monitor, thiết lập tốc độ truyền đến 115200 và chế độ thành NL & CR. Bây giờ gõ các lệnh sau:

  • AT: Đã nhận được
  • AT + UART ?: Đã nhận được tốc độ truyền. Đặt nó thành 38400 nếu bạn muốn
  • AT + UART = 38400,0,0: Thay đổi tốc độ truyền thành 38400
  • AT + Role = 0: Đặt role thành slave
  • AT + ADDR ?: Đã nhận được địa chỉ mô-đun Bluetooth

Bây giờ chúng ta cần ghi lại địa chỉ này vì chúng ta sẽ cần nó khi cấu hình thiết bị master.

Cấu hình chính

Bây giờ chúng ta cấu hình mô-đun Bluetooth còn lại làm thiết bị chính. Đầu tiên, chúng ta sẽ kiểm tra tốc độ truyền để đảm bảo nó là 38400 giống như thiết bị slave.

Làm theo các lệnh:

  • AT: Đã nhận được
  • AT + UART ?: Đã nhận được tốc độ truyền. Đặt nó thành 38400
  • AT + UART = 38400,0,0: Thay đổi tốc độ truyền thành 38400
  • AT + Role = 1: Đặt role thành master
  • AT + CMODE = 0
  • AT + BIND = ĐỊA CHỈ TRƯỚC

Bluetooth.into

Bước 11: Code cuối cùng cho găng tay

Hình ảnh của Final Code for Glove

Sau khi tích hợp tất cả các cảm biến trên evive và Bluetooth slave, chúng ta sẽ tạo code gửi trạng thái đến evive còn lại.

Chúng tôi đã sử dụng chế độ digital, có nghĩa là chúng tôi đã thiết lập một ngưỡng cho mỗi cảm biến flex.

Dưới đây là code cuối cùng.

Slave.into

Bước 12: Code cho cánh tay và động cơ bước

Việc điều khiển evive cánh tay có mô-đun Bluetooth chính và nhận được các lệnh từ evive  và giải mã nó.

Servos được gắn vào các chân PWM của evive. Sơ đồ mạch cuối cùng được hiển thị ở trên.

 

 

 

 

 

7 thoughts on “Module rơle với Arduino

  1. Bùi Trí Tài says:

    Em chào anh, hiện em đang nghiên cứu bên lĩnh vực cánh tay robot. anh co em hỏi tại sao robot mk1 em xem trong video lúc hoạt động nó lại rung vậy anh? Em cảm ơn anh

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *