Mục lục:
- Quân nhu
- Bước 1: In tất cả các thành phần 3D
- Bước 2: (Tùy chọn) Gắn một tấm gỗ vào đáy hộp của bạn để tăng cường sức mạnh
- Bước 3: Đo và cắt một tấm gỗ để lắp hộp
- Bước 4: Đánh dấu vị trí của động cơ
- Bước 5: Đánh dấu vị trí của giá đỡ và ống
- Bước 6: Khoan lỗ để lấy cáp ra khỏi hộp của bạn (USB và nguồn)
- Bước 7: Khoan và cưa tất cả các lỗ đã đánh dấu
- Bước 8: Gắn động cơ và đường ống vào tấm ván
- Bước 9: Gắn tấm ván vào hộp bằng giá đỡ chữ L
- Bước 10: Lấy các khối thiết bị đầu cuối của bạn và hàn các dây lại với nhau
- Bước 11: Cắt đầu dây nguồn bộ điều hợp và tước dây
- Bước 12: Xác định và đánh dấu các dây Cộng và dây trừ
- Bước 13: Gắn dây vào các khối đầu cuối sao cho tất cả + Dây Servo và + Dây từ Dây nguồn được kết nối, Đi chung với - Dây
- Bước 14: Cắt đầu khỏi dây Breadboard
- Bước 15: Khoan ba lỗ ở đáy hộp để lấy dây ra khỏi cánh tay của bạn
- Bước 16: Gắn đầu nối cơ sở vào hộp
- Bước 17: Dùng dao hoặc giũa móng tay để làm rãnh dây sâu hơn
- Bước 18: Cấu tạo cánh tay
- Bước 19: Cài đặt Xử lý và Arduino
- Bước 20: Dán các chương trình mã
- Bước 21: Kết nối các Chân điều khiển Servo với Arduino
- Bước 22: Nhấn nút Reset trong quá trình xử lý, điều này sẽ đặt tất cả các cánh tay thành 90 độ
- Bước 23: Cố định Cánh tay Servo vào Động cơ theo chiều ngang
- Bước 24: Luồn dây qua cánh tay để không bị tuột
- Bước 25: Kiểm tra cánh tay và siết chặt hoặc nới lỏng dây khi cần thiết
- Bước 26: Keo nóng các dây vào các cánh tay Servo để làm cho nó tồn tại vĩnh viễn
- Bước 27: Ghi chú
- Bước 28: Khắc phục sự cố
- Bước 29: Liên kết
- Bước 30: Mã
- Bước 31: Thêm hình ảnh
Video: Cánh tay robot điều khiển bằng dây: 31 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:33
Đây là hướng dẫn về cách tạo một cánh tay robot được điều khiển bằng dây. Lợi thế của việc sử dụng dây là cánh tay của bạn nhẹ hơn và bạn có thể có tất cả các động cơ ở phía dưới cánh tay của mình, giúp việc xây dựng và bảo trì dễ dàng hơn. Đây là video về cánh tay đang hoạt động. Tôi dự định sẽ thêm một cái vuốt trong tương lai để nó có thể nhặt mọi thứ chứ không chỉ đẩy chúng lung tung.
Bản in 3D:
Đây và Đây
Quân nhu
6 Động cơ Servo (MG995)
Arduino Uno
Khoảng 6 mét dây thép bọc nhựa (0,5mm)
Hộp 23x33x10 (có thể hẹp hơn, chắc chắn không được ngắn hơn)
Ván gỗ 33x10
Các loại hạt và bu lông
Ống 14 cm (cái này cần thiết để dẫn hướng các dây)
4 chân đế chữ L
Bộ chuyển đổi 5 volt
2 khối thiết bị đầu cuối 7 chiều
Dây bảng mạch
Các thành phần in 3D (Không phải do tôi thiết kế, liên kết đến các thành phần trong mô tả):
3 "Bu lông"
2 "Yếu tố 1"
1 "Yếu tố 2"
2 "Yếu tố 3"
1 đầu nối cơ sở
Bước 1: In tất cả các thành phần 3D
Bạn có thể cần hỗ trợ cho các lỗ bu lông và vòm nhưng hãy đảm bảo không thêm hỗ trợ vào thân các bộ phận của bạn; Điều này sẽ đóng các lỗ dây nhỏ và bạn sẽ cần phải tạo các lỗ mới
Bước 2: (Tùy chọn) Gắn một tấm gỗ vào đáy hộp của bạn để tăng cường sức mạnh
Hộp của tôi khá yếu, hộp của bạn có thể không
Bước 3: Đo và cắt một tấm gỗ để lắp hộp
Bước 4: Đánh dấu vị trí của động cơ
đảm bảo rằng không có cánh tay nào chạm vào nhau
Bước 5: Đánh dấu vị trí của giá đỡ và ống
Đường ống nên được đặt khoảng một cm trước lỗ
Bước 6: Khoan lỗ để lấy cáp ra khỏi hộp của bạn (USB và nguồn)
Bước 7: Khoan và cưa tất cả các lỗ đã đánh dấu
Bước 8: Gắn động cơ và đường ống vào tấm ván
Bước 9: Gắn tấm ván vào hộp bằng giá đỡ chữ L
Bước 10: Lấy các khối thiết bị đầu cuối của bạn và hàn các dây lại với nhau
Bước 11: Cắt đầu dây nguồn bộ điều hợp và tước dây
Bước 12: Xác định và đánh dấu các dây Cộng và dây trừ
Bước 13: Gắn dây vào các khối đầu cuối sao cho tất cả + Dây Servo và + Dây từ Dây nguồn được kết nối, Đi chung với - Dây
Bước 14: Cắt đầu khỏi dây Breadboard
Gắn đầu đã tước của dây breadboard vào khối thiết bị đầu cuối trừ và đầu ghim vào chân nối đất trong arduino của bạn. Nếu bạn không làm điều này, các động cơ sẽ chuyển động thất thường mà không cần bất kỳ đầu vào nào.
Bước 15: Khoan ba lỗ ở đáy hộp để lấy dây ra khỏi cánh tay của bạn
Các lỗ phải khớp với các lỗ trên đầu nối đế.
Bước 16: Gắn đầu nối cơ sở vào hộp
Bước 17: Dùng dao hoặc giũa móng tay để làm rãnh dây sâu hơn
Các rãnh dây cho phần tử 2 và 3 quá nông.
Bước 18: Cấu tạo cánh tay
Cấu tạo cánh tay theo hướng dẫn ở đây, bạn có thể cần dũa các bộ phận để chúng vừa khít
Bước 19: Cài đặt Xử lý và Arduino
Xử lý và Arduino
Bước 20: Dán các chương trình mã
Mã ở cuối trang này
Bước 21: Kết nối các Chân điều khiển Servo với Arduino
Tôi kết nối động cơ đầu tiên với chân kỹ thuật số thứ ba, động cơ thứ hai với chân kỹ thuật số thứ tư, v.v. Đảm bảo rằng chân nối đất vẫn được kết nối với khối đầu cuối -.
Bước 22: Nhấn nút Reset trong quá trình xử lý, điều này sẽ đặt tất cả các cánh tay thành 90 độ
Bước 23: Cố định Cánh tay Servo vào Động cơ theo chiều ngang
Bước 24: Luồn dây qua cánh tay để không bị tuột
Đảm bảo bạn luồn dây qua càng nhiều lỗ càng tốt, điều này sẽ giữ dây tạm thời và dễ dàng tháo ra.
Bước 25: Kiểm tra cánh tay và siết chặt hoặc nới lỏng dây khi cần thiết
Bước 26: Keo nóng các dây vào các cánh tay Servo để làm cho nó tồn tại vĩnh viễn
Bước 27: Ghi chú
Tôi đã sử dụng dây trang sức 0,5mm nhưng 0,4mm nên ổn. Thiết kế ban đầu sử dụng dây PVC nhưng nó bị đứt quá dễ dàng và khó xử lý.
Nếu bạn chuẩn bị di chuyển cánh tay trong ô tô hoặc xe đạp, hãy quấn các khớp tay bằng băng keo để đảm bảo chúng không bị bung ra. Điều này đặc biệt quan trọng đối với yếu tố 1.
Khi tôi bắt đầu dự án này, tôi đã tự hỏi tại sao tôi chỉ có thể tìm thấy một hướng dẫn về cách tạo một cánh tay được điều khiển bằng dây. Giờ tôi đã hiểu tại sao đây không phải là cách phổ biến nhất để tạo ra một cánh tay robot theo sở thích. Đôi khi dây điện bị rơi ra khỏi rãnh và toàn bộ là loại mỏng manh. Tôi không biết vấn đề là do tôi không có nhiều kinh nghiệm hay toàn bộ ý tưởng có vấn đề mặc dù tôi chắc chắn rằng nó sẽ vững chắc hơn nếu tôi biết mình đang làm gì.
Bước 28: Khắc phục sự cố
Các lỗ dây được đóng lại trong các phần tử in 3D:
Bạn đã thêm hỗ trợ cho toàn bộ phần tử thay vì chỉ các lỗ bu lông. In lại phần tử hoặc mở các lỗ bằng kim thật nóng.
Cổng COM bị đóng, bạn không thể giao tiếp với arduino:
Arduino của bạn có thể không chấp nhận cổng USB 3 (của tôi thì không), bạn có thể mua cáp mở rộng USB 2 hoặc sử dụng máy tính có cổng USB 2
Mã không hoạt động:
Làm theo hướng dẫn này và sửa đổi nó để tạo mã của riêng bạn
Một phần của cánh tay không cử động:
Các dây có thể đã bị rối, để kiểm tra điều này, hãy tháo tay servo ra khỏi servo và thử kéo dây bằng tay. Gỡ dây và nếu vẫn khó kéo dây, hãy thử sử dụng WD-40 hoặc chất bôi trơn để giúp di chuyển dễ dàng hơn
Bước 29: Liên kết
Cánh tay không robot:
Arm 3D Printables:
Cánh tay của tôi có thể in 3D:
Arduino và quá trình xử lý:
Bước 30: Mã
Được sửa đổi từ mã này
Mã Arduino:
#include // Khai báo động cơ Servo myservo1; Servo myservo2; Servo myservo3; Servo myservo4; Servo myservo5; Servo myservo6; // Tất cả các động cơ được đặt ở 90 độ theo mặc định int current1 = 90; int current2 = 90; int current3 = 90; int current4 = 90; int current5 = 90; int current6 = 90; // Mức độ tối thiểu và tối đa mà động cơ có thể đạt tới int mini1 = 0; int maxi1 = 180; int mini2 = 0; int maxi2 = 180; int mini3 = 0; int maxi3 = 180; int mini4 = 0; int maxi4 = 180; int mini5 = 0; int maxi5 = 180; int mini6 = 0; int maxi6 = 180; // Độ được thêm hoặc bớt từ vị trí hiện tại int DegFoward = 5; // Trì hoãn để hai hàm không xảy ra sai thứ tự int delayBetweenSteps = 100; void setup () {// Đặt chân điều khiển cho từng động cơ myservo1.attach (3); myservo2.attach (4); myservo3.attach (5); myservo4.attach (6); myservo5.attach (7); myservo6.attach (8); // Đặt tất cả các động cơ thành cài đặt mặc định myservo1.write (current1); myservo2.write (current2); myservo3.write (current3); myservo4.write (current4); myservo5.write (current5); myservo6.write (current6); // bắt đầu giao tiếp nối tiếp @ 9600 bps Serial.begin (9600); } void loop () {if (Serial.available ()) {// nếu có dữ liệu để đọc char val = Serial.read (); // đặt nó vào char này // Điều khiển động cơ if (val == 'a' && current1 + DegFoward mini1) {myservo1.write (current1 - DegFoward); current1 = current1 - độFoward; trì hoãn (delayBetweenSteps); } if (val == 'c' && current2 mini2) {myservo2.write (current2 - DegFoward); current2 = current2 - độFoward; trì hoãn (delayBetweenSteps); } if (val == 'e' && current3 mini3) {myservo3.write (current3 - DegFoward); current3 = current3 - độFoward; trì hoãn (delayBetweenSteps); } if (val == 'g' && current4 mini4) {myservo4.write (current4 - DegFoward); current4 = current4 - độFoward; trì hoãn (delayBetweenSteps); } if (val == 'i' && current5 mini5) {myservo5.write (current5 - DegFoward); current5 = current5 - độFoward; trì hoãn (delayBetweenSteps); } if (val == 'k' && current6 mini6) {myservo6.write (current6 - DegFoward); current6 = current6 - độ trì hoãn (delayBetweenSteps); } // Điều khiển tốc độ if (val == 'w') {// Nếu nhấn nút speed 1 độ DegFoward = 1; trì hoãn (delayBetweenSteps); } if (val == 'x') {// Nếu nhấn nút speed 5 độ DegFoward = 5; trì hoãn (delayBetweenSteps); } if (val == 'y') {// Nếu nhấn nút speed 10 độ Foward = 10; trì hoãn (delayBetweenSteps); } if (val == 'z') {// Nếu nhấn nút speed 20 độ Foward = 20; trì hoãn (delayBetweenSteps); } if (val == 'r') {// Nếu nhấn nút speed 20 myservo1.write (90); dòng điện1 = 90; myservo2.write (90); dòng điện2 = 90; myservo3.write (90); dòng điện3 = 90; myservo4.write (90); dòng điện4 = 90; myservo5.write (90); dòng điện5 = 90; myservo6.write (90); dòng điện6 = 90; trì hoãn (delayBetweenSteps); }}}
Mã xử lý:
nhập xử lý.serial. *; kiểm soát nhập khẩuP5. *; // nhập thư viện ControlP5 Cổng nối tiếp; ControlP5 cp5; // tạo font PFont đối tượng ControlP5; void setup () {// giống như kích thước chương trình arduino (300, 700); // kích thước cửa sổ, (width, height) printArray (Serial.list ()); // in tất cả các cổng nối tiếp có sẵn // Nếu bạn đang gặp sự cố, nó có thể xuất phát từ đây String portName = Serial.list () [0]; port = new Serial (this, portName, 9600); // tôi đã kết nối arduino với com3, nó sẽ khác trong linux và mac os // cho phép thêm buton vào cửa sổ trống cp5 = new ControlP5 (this); font = createFont ("Arial", 13); // phông chữ tùy chỉnh cho các nút và tiêu đề // Nút điều khiển tốc độ cp5.addButton ("Một") // "Một" là tên của nút.setPosition (50, 50) // tọa độ x và y của góc trên bên trái của nút.setSize (55, 25) // (chiều rộng, chiều cao).setFont (phông chữ); cp5.addButton ("Năm").setPosition (110, 50).setSize (55, 25).setFont (phông chữ); cp5.addButton ("Mười").setPosition (170, 50).setSize (55, 25).setFont (phông chữ); cp5.addButton ("Hai mươi").setPosition (230, 50).setSize (55, 25).setFont (phông chữ); cp5.addButton ("Đặt lại").setPosition (110, 2).setSize (55, 25).setFont (phông chữ); cp5.addButton ("Servo_1_Foward").setPosition (50, 90).setSize (190, 40).setFont (phông chữ); // Nút điều khiển động cơ cp5.addButton ("Servo_1_Back").setPosition (50, 140).setSize (190, 40).setFont (font); cp5.addButton ("Servo_2_Foward").setPosition (50, 190).setSize (190, 40).setFont (phông chữ); cp5.addButton ("Servo_2_Back").setPosition (50, 240).setSize (190, 40).setFont (phông chữ); cp5.addButton ("Servo_3_Foward").setPosition (50, 290).setSize (190, 40).setFont (phông chữ); cp5.addButton ("Servo_3_Back").setPosition (50, 340).setSize (190, 40) // (chiều rộng, chiều cao).setFont (phông chữ); cp5.addButton ("Servo_4_Foward").setPosition (50, 390).setSize (190, 40).setFont (phông chữ); cp5.addButton ("Servo_4_Back").setPosition (50, 440).setSize (190, 40) // (chiều rộng, chiều cao).setFont (phông chữ); cp5.addButton ("Servo_5_Foward").setPosition (50, 490).setSize (190, 40).setFont (phông chữ); cp5.addButton ("Servo_5_Back").setPosition (50, 540).setSize (190, 40).setFont (phông chữ); cp5.addButton ("Servo_6_Foward").setPosition (50, 590).setSize (190, 40).setFont (phông chữ); cp5.addButton ("Servo_6_Back").setPosition (50, 640).setSize (190, 40).setFont (phông chữ); } void draw () {// giống như vòng lặp trong nền arduino (192, 215, 249); // màu nền của window (r, g, b) or (0 to 255) // Thêm văn bản điều khiển tốc độ là điều khiển tốc độ điền (0, 10, 25); // màu văn bản (r, g, b) textFont (font); text ("Kiểm soát tốc độ", 50, 40); // ("text", x toạ độ, y phối hợp)} // cho phép thêm một số chức năng vào các nút của chúng tôi // để khi bạn nhấn bất kỳ nút nào, nó sẽ gửi một ký tự cụ thể qua cổng nối tiếp // Tôi chắc chắn rằng có thể gửi chuỗi thay vì ký tự, và nó sẽ có ý nghĩa hơn nhưng tôi không biết làm thế nào để làm điều đó // Các lệnh điều khiển tốc độ void One () {port.write ('w'); } void Five () {port.write ('x'); } void Ten () {port.write ('y'); } void Twenty () {port.write ('z'); } // Lệnh điều khiển động cơ void Servo_1_Foward () {port.write ('a'); } void Servo_1_Back () {port.write ('b'); } void Servo_2_Foward () {port.write ('c'); } void Servo_2_Back () {port.write ('d'); } void Servo_3_Foward () {port.write ('e'); } void Servo_3_Back () {port.write ('f'); } void Servo_4_Foward () {port.write ('g'); } void Servo_4_Back () {port.write ('h'); } void Servo_5_Foward () {port.write ('i'); } void Servo_5_Back () {port.write ('j'); } void Servo_6_Foward () {port.write ('k'); } void Servo_6_Back () {port.write ('l'); } void Reset () {port.write ('r'); }
Bước 31: Thêm hình ảnh
Đề xuất:
Điều khiển Cánh tay Robot bằng TLV493D, Cần điều khiển và Arduino: 3 bước
Điều khiển Cánh tay Robot Với TLV493D, Cần điều khiển và, Arduino: Một bộ điều khiển thay thế cho robot của bạn với cảm biến TLV493D, một cảm biến từ tính với 3 bậc tự do (x, y, z) với những thứ này, bạn có thể điều khiển các dự án mới của mình với giao tiếp I2C trên bộ vi điều khiển và bảng điện tử mà Bast P
Điều khiển bằng cử chỉ đơn giản - Điều khiển đồ chơi RC của bạn bằng chuyển động của cánh tay: 4 bước (có hình ảnh)
Điều khiển bằng cử chỉ đơn giản - Điều khiển đồ chơi RC của bạn bằng chuyển động của cánh tay: Chào mừng bạn đến với 'ible' # 45 của tôi. Cách đây một thời gian, tôi đã tạo một phiên bản RC hoàn chỉnh của BB8 bằng cách sử dụng các phần Lego Star Wars … https://www.instructables.com/id/Whats-Inside-My-R…Khi tôi thấy nó thú vị như thế nào Force Band do Sphero tạo ra, tôi nghĩ: " Ok, tôi c
Ô tô được điều khiển từ xa - Được điều khiển bằng Bộ điều khiển Xbox 360 không dây: 5 bước
Ô tô được điều khiển từ xa - Được điều khiển bằng Bộ điều khiển Xbox 360 không dây: Đây là các hướng dẫn để tạo ô tô được điều khiển từ xa của riêng bạn, được điều khiển bằng bộ điều khiển Xbox 360 không dây
Vẫy tay để điều khiển cánh tay robot OWI Không có dây đính kèm: 10 bước (có hình ảnh)
Vẫy tay để điều khiển Cánh tay robot OWI … Không có dây đính kèm: Ý tưởng: Có ít nhất 4 dự án khác trên Guiductables.com (kể từ ngày 13 tháng 5 năm 2015) xoay quanh việc sửa đổi hoặc điều khiển Cánh tay robot OWI. Không có gì đáng ngạc nhiên, vì nó là một bộ robot tuyệt vời và rẻ tiền để chơi cùng. Dự án này tương tự trong s
Điều khiển cánh tay robot với Zio bằng bộ điều khiển PS2: 4 bước
Điều khiển cánh tay robot bằng Zio bằng bộ điều khiển PS2: Bài đăng trên blog này là một phần của Series Zio Robotics. Giới thiệu Đây là phần cuối cùng của bài đăng 'Điều khiển cánh tay robot bằng Zio'. Trong hướng dẫn này, chúng tôi sẽ thêm một bộ phận khác vào Cánh tay robot của chúng tôi. Các hướng dẫn trước đây không bao gồm cơ sở cho