Mục lục:

Điều khiển Robot chiến đấu Arduino giá rẻ: 10 bước (có hình ảnh)
Điều khiển Robot chiến đấu Arduino giá rẻ: 10 bước (có hình ảnh)

Video: Điều khiển Robot chiến đấu Arduino giá rẻ: 10 bước (có hình ảnh)

Video: Điều khiển Robot chiến đấu Arduino giá rẻ: 10 bước (có hình ảnh)
Video: [Lập trình Arduino - FreeRTOS]Bài 15 - Dự án thực chiến FreeRTOS với Arduino Uno R3 (phần 1) 2024, Tháng bảy
Anonim
Điều khiển Robot chiến đấu Arduino giá rẻ
Điều khiển Robot chiến đấu Arduino giá rẻ
Điều khiển Robot chiến đấu Arduino giá rẻ
Điều khiển Robot chiến đấu Arduino giá rẻ
Điều khiển Robot chiến đấu Arduino giá rẻ
Điều khiển Robot chiến đấu Arduino giá rẻ

Sự hồi sinh của Battlebots ở Hoa Kỳ và Robot Wars ở Vương quốc Anh đã khơi dậy tình yêu của tôi đối với robot chiến đấu. Vì vậy, tôi đã tìm thấy một nhóm người xây dựng bot địa phương và bắt đầu ngay lập tức.

Chúng tôi chiến đấu ở quy mô trọng lượng kiến của Vương quốc Anh (giới hạn trọng lượng 150 gram) và tôi nhanh chóng nhận ra cách truyền thống để xây dựng một bot liên quan đến thiết bị RC: một bộ phát RC đắt tiền, một bộ thu cồng kềnh hoặc đắt tiền và ESC (bộ điều khiển tốc độ điện tử) là hộp ma thuật có thể xử lý nhiều hơn mức cần thiết cho một bot có kích thước này.

Đã từng sử dụng Arduino trước đây, tôi muốn thử làm những điều khác biệt và đặt cho mình mục tiêu về một hệ thống Arduino có thể nhận tín hiệu hợp pháp chiến đấu và điều khiển hai động cơ truyền động với giá khoảng USD $ 5 (một nửa chi phí của một ESC rẻ tiền)

Để giúp đạt được mục tiêu này, tôi đã phối lại chiếc xe RC này có thể hướng dẫn, giảm trọng lượng / chi phí của bộ thu và tạo ra 4 tín hiệu PWM để chạy một chip cầu h giá rẻ

Tài liệu hướng dẫn này sẽ tập trung vào hệ thống điều khiển Arduino nhưng tôi sẽ thêm thông tin bổ sung để giúp những người mới xây dựng bot đầu tiên của họ

Tuyên bố từ chối trách nhiệm:

Ngay cả ở quy mô nhỏ, việc xây dựng / chiến đấu bằng robot chiến đấu cũng có thể nguy hiểm, hãy tự chịu rủi ro

Bước 1: Những gì bạn cần

Vật liệu:

Đối với hệ thống điều khiển:

  • 1x Arduino pro mini 5v (USD $ 1,70)
  • 1x nRF24L01 Mô-đun ($ 1,14)
  • Mô-đun điều chỉnh 1x 3.3v ($ 0,32)
  • 1x mô-đun cầu h kép * ($ 0,90)

Đối với phần còn lại của một bot nêm cơ bản:

  • 2x động cơ bánh răng siêu nhỏ ** (phiên bản giá rẻ, phiên bản đáng tin cậy)
  • Pin Lithium polymer 1x 2 giây
  • 1x bộ sạc cân bằng
  • 1x túi phí lipo
  • 1x công tắc
  • 1x đầu nối pin
  • dây misc (tôi đã sử dụng một số dây nhảy Arduino mà tôi có xung quanh)
  • vít nhỏ
  • (tùy chọn) epoxy
  • (tùy chọn) Nhôm (từ lon nước ngọt)
  • (tùy chọn) đèn LED bổ sung

Đối với bộ điều khiển cơ bản:

  • 1x Arduino pro mini 5v
  • 1x nRF24L01 Mô-đun
  • 1x mô-đun điều chỉnh 3.3v
  • 1x Arduino-cần điều khiển

Công cụ:

  • Cái vặn vít
  • Hàn sắt
  • Kìm
  • Máy in 3d (tùy chọn, nhưng nó giúp cuộc sống dễ dàng hơn)

* khi xem xét các mô-đun h-bridge, hãy tìm một mô-đun có tất cả 4 đầu vào tín hiệu bên cạnh nhau, điều này sẽ giúp bạn dễ dàng gắn vào Arduino hơn sau này

** xem bước cuối cùng để biết một số mẹo chọn tốc độ động cơ

Bước 2: In khung máy

In khung
In khung

Trước khi bắt đầu sử dụng hệ thống điều khiển, hãy xem thiết kế của bot sẽ được xây dựng. Tốt nhất bạn nên thiết kế một bot từ vũ khí ra ngoài. Đối với người mới bắt đầu, tôi khuyên bạn nên bắt đầu với một cái nêm cơ bản, chúng được thiết kế để mạnh mẽ và đẩy đối thủ ra khỏi đường có nghĩa là bạn ít có khả năng bị tiêu diệt trong cuộc chiến đầu tiên của mình, cộng với việc bạn sẽ dễ dàng cảm thấy lái xe hơn khi bạn không không phải lo lắng về một vũ khí đang hoạt động.

Tôi đã thiết kế một bot nêm: "Slightly Crude" đã được thử nghiệm chiến đấu cả khi có giáp và không có vũ khí. Đây là một bot đầu tiên tốt, dễ in và có thể được lắp lại với nhau bằng 8 con vít. Hãy xem nó trên Thingiverse để có một thiết kế hàng đầu khác

Nếu bạn không sở hữu máy in 3d, hãy thử thư viện cục bộ, không gian tin tặc hoặc không gian nhà sản xuất

Dễ dàng lắp thêm giáp bổ sung khi mới tháo máy in, chà nhám cả nêm và lon nước ngọt bằng giấy nhám, phủi bụi nhám, sơn epoxy cho cả nhựa và nhôm, giữ lại bằng kẹp hoặc dây cao su trong 12-24 giờ

Tôi hiện không có thiết kế bánh xe công cộng vì tôi đã sử dụng lốp cao su từ bộ robot giáo dục trên các trục in 3d. Trong những tuần tới, tôi sẽ thiết kế một trung tâm sẽ sử dụng các vòng chữ O để cầm nắm. Sau khi hoàn thành các bánh xe, tôi sẽ cập nhật trang này và trang Thingiverse

Bước 3: Chuẩn bị cầu nối H

Chuẩn bị cầu nối H
Chuẩn bị cầu nối H

Các trình điều khiển động cơ cầu h khác nhau có các thiết lập khác nhau nhưng mô-đun được liên kết trong danh sách ban đầu đi kèm với 2 khối thiết bị đầu cuối làm đầu ra. Các khối thiết bị đầu cuối này nặng và cồng kềnh nên tốt nhất là bạn nên tháo chúng ra.

Cách dễ nhất để làm điều này là làm nóng cả hai miếng đệm cùng một lúc bằng mỏ hàn và cẩn thận ngoáy các khối ra bằng một cặp kìm

Trước khi tiếp tục, hãy quyết định xem bạn có muốn hoán đổi động cơ trong thiết lập của mình hay không. Nếu vậy, cáp jumper Arduino có thể được hàn vào đầu ra của mô-đun, sau đó cáp đối diện có thể được hàn vào động cơ, giúp chúng có thể tháo rời khi cần thiết.

Bước 4: Nối dây các mô-đun

Nối dây các mô-đun
Nối dây các mô-đun
Nối dây các mô-đun
Nối dây các mô-đun
Nối dây các mô-đun
Nối dây các mô-đun

Việc đấu dây các mô-đun có thể được thực hiện theo 3 cách khác nhau, đó là lý do tại sao bước thiết kế là rất quan trọng. Sự lựa chọn vũ khí sẽ ảnh hưởng đến hình dạng của bot và sự lựa chọn hệ thống dây điện.

3 lựa chọn là:

  1. Dây rời (trọng lượng nhẹ nhưng dễ vỡ hơn) (hình 1)
  2. Perfboard (nặng hơn 1 nhưng chắc chắn hơn với kích thước lớn hơn) (hình 2)
  3. Bảng mạch tùy chỉnh (nặng hơn 1 nhưng chắc chắn với diện tích nhỏ) thiết kế bảng đính kèm (hình 3)

bất kể lựa chọn được thực hiện là gì, các kết nối thực tế đều giống nhau.

Thực hiện các kết nối sau hai lần (một lần cho bộ điều khiển và một lần cho bộ thu)

nRF24L01 (hình ảnh đánh số pin 4 **):

  • Ghim 1 -> GND
  • Chân 2 -> chân ra của mô-đun 3.3v
  • Chân 3 -> Chân 9 của Arduino
  • Chân 4 -> Chân 10 của Arduino
  • Chân 5 -> Chân 13 của Arduino
  • Chân 6 -> Chân 11 của Arduino
  • Chân 7 -> Chân 12 của Arduino

Mô-đun 3.3v:

  • Vin pin -> Vcc *
  • Chân ra -> chân 2 nRF (như trên)
  • GND pin -> GND

Arduino:

  • Chân 9-13 -> kết nối với nRF như trên
  • Nguyên -> Vcc *
  • GND -> GND

Thực hiện các kết nối sau một lần để phân biệt giữa bộ điều khiển và bộ thu

Đối với Bộ điều khiển:

Cần điều khiển:

  • + 5v -> Arduino 5v
  • vrx -> Arduino pin A2
  • vry -> Arduino pin A3
  • GND -> GND

Đối với người nhận:

mô-đun cầu h:

  • Vcc -> Vcc *
  • B-IB -> Chân 2 của Arduino
  • B-IA -> Chân 3 của Arduino
  • A-IB -> Chân 4 của Arduino
  • A-IA -> Chân 5 của Arduino
  • GND -> GND

Điều này được thực hiện dễ dàng nhất bằng cách thay thế các chân cho Vcc và GND bằng dây, sau đó lật ngược bảng và hàn các chân trực tiếp vào Arduino, điều này giúp đơn giản hóa việc hàn và tạo ra một giá đỡ chắc chắn cho trình điều khiển động cơ

* để rô bốt chiến đấu hoạt động hợp pháp, phải thêm điểm cách ly (công tắc hoặc liên kết có thể tháo rời) giữa pin và mạch. Điều này có nghĩa là cực dương của pin phải được kết nối với một công tắc, sau đó công tắc kết nối với Vcc

** hình ảnh từ https://arduino-info.wikispaces.com/Nrf24L01-2.4GHz-HowTo, đây là một tài nguyên tuyệt vời cho mô-đun nRF24L01

Bước 5: Thiết lập bộ điều khiển

Thiết lập bộ điều khiển
Thiết lập bộ điều khiển

Sau khi mọi thứ được kết nối thời gian của nó cho một số mã.

Bắt đầu với bộ điều khiển, một số giá trị chiết áp là cần thiết để đảm bảo rằng cần điều khiển chính xác được kết nối sẽ hoạt động với mã truyền.

Tải mã "JoystickTestVals2". Mã này được sử dụng để đọc các giá trị chiết áp và hiển thị chúng thông qua nối tiếp

Khi mã đang chạy và cửa sổ nối tiếp mở ra, hãy bắt đầu bằng cách nhìn vào giá trị "UP", đẩy cần điều khiển sang vị trí chuyển tiếp hoàn toàn, giá trị "UP" có thể sẽ nhảy giữa một vài số lớn, hãy chọn giá trị nhỏ nhất trong số các giá trị bạn thấy, trừ đi 10 cho nó (điều này sẽ đảm bảo rằng đẩy thanh hết cỡ sẽ cung cấp toàn bộ sức mạnh) và viết nó thành "Up Max" cho phép cần điều khiển quay trở lại trung tâm. Bây giờ hãy chọn giá trị lớn nhất mà bạn thấy, thêm 20 vào giá trị đó và viết nó thành "UpRestMax". Lặp lại quy trình bằng cách đẩy thanh xuống và đảo ngược việc ghi cộng / trừ các giá trị là "UpMin" và "UpRestMin"

Lặp lại toàn bộ quy trình một lần nữa cho trái và phải, bắt đầu bằng cách đẩy thanh sang phải, ghi "SideMax" rồi "SideRestMax" khi nó quay trở lại và đẩy sang trái để ghi "SideMin" và "SideRestMin"

Các giá trị này siêu quan trọng, đặc biệt là tất cả các giá trị có chứa từ "Rest". các giá trị này tạo ra "vùng chết" ở trung tâm của thanh để bot sẽ không di chuyển khi thanh đang nằm ở trung tâm, hãy đảm bảo rằng khi thanh được căn giữa, các giá trị nằm giữa "restMin" và "restMax" cho cả hai trục

Bước 6: Mã

Mã số
Mã số
Mã số
Mã số

Mã được cung cấp thực hiện mọi thứ cho một wedge-bot cơ bản với cấu trúc tại chỗ để cho phép gửi giá trị pwm của vũ khí.

Thư viện cần thiết:

  • Thư viện nRF24L01 từ đây: GitHub
  • Phần mềm PWM từ đây: Google Code

Thiết lập bộ điều khiển của bạn:

mở mã txMix và thay đổi các giá trị giới hạn thanh thành các giá trị bạn đã viết ra ở bước cuối cùng. Điều này sẽ đảm bảo rằng mã phản ứng chính xác với cần điều khiển của bạn (Hình ảnh 1)

Tùy chỉnh đường ống:

Để đảm bảo bạn không can thiệp với bất kỳ ai khác tại sự kiện của mình, bạn sẽ cần thay đổi đường ống vô tuyến. Trên thực tế, đây là một mã nhận dạng và bộ thu sẽ chỉ hoạt động trên các tín hiệu từ đường ống chính xác, vì vậy hãy đảm bảo thay đổi đường ống trong cả hai mã thành cùng một thứ.

Trong hình ảnh, 2 chữ số hex của đường ống đã được đánh dấu. Đây là hai chữ số cần được thay đổi để tùy chỉnh đường ống. Thay đổi "E1" thành bất kỳ giá trị hex 2 chữ số nào khác và viết nó ra giấy để bạn có thể dễ dàng kiểm tra nó với các đường ống của đối thủ tại một sự kiện

Tải lên:

  • txMix vào bộ điều khiển
  • nhận đến mô-đun bộ thu

Chạy xuống mã:

txMix:

Mã đọc ở vị trí cần điều khiển dưới dạng giá trị "LÊN" và giá trị "bên". các giá trị này bị hạn chế dựa trên giá trị tối đa được cung cấp để đảm bảo cung cấp toàn bộ sức mạnh ở vị trí thanh tối đa.

Các giá trị này sau đó được kiểm tra để đảm bảo rằng thanh đã di chuyển ra khỏi vị trí trung lập, nếu nó không phải là số 0 được gửi đi.

Sau đó, các giá trị được trộn riêng thành hai biến, một cho tốc độ động cơ bên trái và một cho tốc độ động cơ bên phải. Trong các biến này, một giá trị âm được sử dụng để chỉ ra động cơ đang lái ngược lại vì nó đơn giản hóa việc trộn.

Giá trị tốc độ bên trái và bên phải sau đó được tách thành bốn giá trị pwm, mỗi giá trị một: động cơ tiến phải, động cơ tiến trái, động cơ quay ngược phải, động cơ quay ngược trái.

Bốn giá trị pwm sau đó được gửi đến người nhận.

nhận:

Đơn giản chỉ cần nhận tín hiệu từ bộ điều khiển, kiểm tra xem tín hiệu không chứa giá trị pwm cho chuyển tiếp và ngược lại trên một động cơ duy nhất rồi áp dụng pwm.

Bộ thu cũng không thể ngắt động cơ khi không nhận được tín hiệu từ bộ điều khiển

Bước 7: Bolting It All Togheter

Bolting It All Togheter
Bolting It All Togheter
Bolting It All Togheter
Bolting It All Togheter
Bolting It All Togheter
Bolting It All Togheter

Hàn đầu nối với động cơ hoặc hàn động cơ trực tiếp với cầu h. (Tôi thích các đầu nối hơn để tôi có thể chỉ cần thay đổi phích cắm nếu tôi đã kết nối động cơ không chính xác)

Hàn dây dẫn dương từ đầu nối pin vào chân giữa của công tắc và một trong các chân ngoài trên công tắc với Vcc của các mô-đun được kết nối.

Hàn dây dẫn âm từ đầu nối pin với GND của các mô-đun được kết nối.

(Tùy chọn) thêm đèn LED bổ sung giữa Vcc và GND. Tất cả các robot chiến đấu đều yêu cầu đèn bật trong khi hệ thống có điện, tùy thuộc vào các thành phần mà hệ thống này có đèn LED trên Arduino, mô-đun 3.3v và cầu h, miễn là ít nhất một trong số này có thể nhìn thấy từ bên ngoài bot quy tắc này được đáp ứng. Có thể sử dụng đèn LED bổ sung để đảm bảo quy tắc này được đáp ứng và để tùy chỉnh hình thức

Slightly Crude rất đơn giản để bắt vít với nhau, bắt vít các đầu gắn động cơ vào vị trí trước, thêm thiết bị điện tử, sau đó bắt vít nắp vào vị trí, một lượng nhỏ khóa dán sẽ giúp giữ công tắc vào nắp

Bộ điều khiển là của bạn để thiết kế và in ấn. Để thử nghiệm, tôi đã sử dụng bộ điều khiển đính kèm đã được sửa đổi từ bộ điều khiển BB8 V3 của James Bruton

Bước 8: Một từ về quy tắc chiến đấu robot

Một từ trên quy tắc chiến đấu rô bốt
Một từ trên quy tắc chiến đấu rô bốt

Các quốc gia, tiểu bang và nhóm khác nhau tổ chức các sự kiện chiến đấu robot với các quy tắc khác nhau.

Tôi đã tạo ra hệ thống này và viết điều này 'có thể tổng quát nhất có thể trong khi vẫn đáp ứng các quy tắc chính liên quan đến hệ thống RC (đáng chú ý nhất là hệ thống phải là kỹ thuật số 2,4GHz và có điểm cách ly pin). Để chạy hệ thống này và hoặc thiết kế bot đầu tiên của riêng bạn, cách tốt nhất là liên hệ với nhóm địa phương của bạn và nhận bản sao các quy tắc của họ.

Các quy tắc mà nhóm địa phương của bạn điều hành là tuyệt đối, đừng nghe lời tôi trong hướng dẫn này về các quy tắc của nhóm của bạn.

Vì hệ thống Arduino này là mới đối với cộng đồng, nên rất có thể bạn sẽ được yêu cầu kiểm tra nó trước khi sử dụng nó tại một sự kiện. Tôi đã thử nghiệm hệ thống này nhiều lần với thiết bị RC tiêu chuẩn và chống lại chính nó mà không có bất kỳ vấn đề nhiễu nào, vì vậy nó sẽ vượt qua bất kỳ bài kiểm tra nào, tuy nhiên, ban tổ chức tại sự kiện địa phương của bạn có tiếng nói cuối cùng, tôn trọng quyết định của họ. Nếu họ từ chối việc sử dụng nó, hãy hỏi xem bạn có thể đấu tranh với một bot cho vay hay không, hoặc yêu cầu giải thích rõ lý do tại sao nó bị từ chối và cố gắng khắc phục sự cố cho sự kiện tiếp theo

Bước 9: Thông tin bổ sung về động cơ

Thông tin bổ sung về động cơ
Thông tin bổ sung về động cơ

Các động cơ bánh răng siêu nhỏ được sử dụng trong lớp kiến có một loạt các tốc độ và được đánh dấu bằng cách sử dụng RPM hoặc Tỷ số truyền. Dưới đây là một chuyển đổi sơ bộ.

Hầu hết các bot sử dụng động cơ từ 75: 1 đến 30: 1 (với một số ngoại lệ sử dụng 10: 1). Bots với vũ khí quay lớn có thể được hưởng lợi từ động cơ 75: 1 chậm hơn vì tốc độ chậm hơn cho phép kiểm soát nhiều hơn. Nimble nêm, bộ nâng và chân chèo tốt nhất là 30: 1 trong tay của một người lái xe lành nghề. Tôi khuyên bạn nên sử dụng động cơ 50: 1 trong một cái nêm cho vài trận đấu đầu tiên chỉ để làm quen với hệ thống và lái xe

  • 12V 2000 RPM (hoặc 6V 1000RPM) -> 30: 1
  • 6V 300RPM -> 50: 1

Bước 10: Cập nhật và cải tiến

Đã vài năm kể từ khi tôi đăng 'ible này và tôi đã tìm hiểu rất nhiều về hệ thống này nên đã đến lúc cập nhật chúng ở đây. 2 thủ phạm lớn là H-Bridge và mô-đun nrf24l01, do tôi chọn những bộ phận rẻ nhất mà tôi có thể tìm thấy. Những điều này có thể được khắc phục bằng cách:

  • Nâng cấp cầu H 0,5A lên cầu H 1,5A, như cầu này: Cầu H 1,5A
  • Nâng cấp mô-đun nrf24l01 lên thiết kế SMD hoàn toàn: Mở NRF24l01 thông minh

Cùng với các nâng cấp thành phần mới, tôi đã thiết kế một số PCB mới giúp thu gọn RX và thêm nhiều tính năng hơn cho TX

Tôi cũng sắp có một số thay đổi về mã, vì vậy hãy theo dõi những thay đổi đó

Đề xuất: