HƯỚNG DẪN LÀM CÁNH TAY GIẢ
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:
- 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.
- 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ả.
- IMU: IMU được sử dụng để lấy góc cổ tay.
- 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.
- 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.
- 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.
- 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
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/
Cắt phần giữa bằng dao rọc giấy trên RobPart2, 3, 4 và 5
Lắp RobPart2 và 5 với nhau
Dùng keo để cố định 2 chi tiết trên với nhau
Làm tương tự với RobPart 3 và 4
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.
Lắp các khớp nối đi kèm với servo vào RobPart2
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.
Chỉnh các lỗ trên đế servo nếu chúng bị lỗi.
Đặt đế servo vào trong phần dưới của Robpart5.
Dán keo hoặc cố định nó bằng 2 vít.
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.
Tiếp theo, lắp các servo bằng vít vào đế servo.
Đây là RobRing và ServoPulley (màu trắng) dung để gắng lên bánh răng của servo.
Chỉnh lại các lỗ trên ServoPulley bằng mũi khoan 2mm
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.
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 độ.
Gắn trên đế servo RobCableFront và RobCableBack.
ii/
Trên RotaWrist1 bỏ phần hổ trợ như hình.
Chỉnh các lỗ bằng mũi khoang
Lắp RotaWrist1 vào RosbPart ở bước trên
Dùng cây dũa để mài nếu không lắp được
Lắp theo hình và cẩn thận lắp ngược.
Dán keo tại khớp nối của 2 chi tiết
Lắp servo MG996 của bạn vào để cổ tay quay 180 độ.
Lắp vít để cố định servo.
Khoan 1 lỗ như hình bằng mũi khoan 2.5mm lên RobWrist2
RotaWrist2 được sơn màu đen để tránh bị ngã vàng
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.
Khoan 2 lỗ lên RotaWrist3 với mũi khoan 8mm
Gắn bánh răng theo hình
Bôi nhớt giữa các bánh răng.
Cố định RotaWrist3 vào RotaWrit2 bằng vít
iii/ Lắp các ngón tay
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.
Chỉnh bản lề ngoài dùng mũi khoan 3mm.
Chỉnh bản lề trong dùng mũi khoan 3.2mm hoặc 3.5mm.
Mài các bản lề.
Dán keo các bản lề như hình
Sử dụng dây nhựa 3mm để làm chốt.
Nếu không có dây nhựa bạn có thể thay bằng bu long 3mm.
Khoan lại các lỗ trên phần nắp bằng mũi khoan 3mm.
Khoan Wristmall và Wristlarge với mũi khoan 2.5mm để điều chỉnh nắp.
Khoan lại các bản lề của Wristmall và Wristlarge với khoan 3.2 hoặc 3.5mm
Khoan lại các bản lề lớn bằng máy khoan 8mm.
Đảm bảo Bu lông hoặc Bu lông in chạy trơn tru và không bị lỏng.
Cắt 10 dây nhựa dài 75cm. Không sử dụng loại có thể co giản.
Chèn các dây nhựa vào các lỗ Wristlarge.
Làm theo hình.
Lắp bàn tay vào cổ tay.
Lắp dây từ cổ tay vào cánh tay
Bạn nên sử dụng dây khác màu để phân biệt các ngón tay.
Làm theo hình.
Sử dụng vòng “C” để cố định bu lông.
Đây là mặt sau bàn tay khi lắp xong.
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.
Dán keo RobCap vào ElbowShaftGear.
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
Lắp theo hình
Dán keo cho các ngón tay
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
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
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 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
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
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
Để 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
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
Bước 11: Code cuối cùng cho găng tay
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.
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.