- Động cơ DC không lõi cho ô tô RC
- Vật liệu thiết yếu
- Cần điều khiển RF cho ô tô RC sử dụng Arduino
- Sơ đồ mạch Arduino RC Car
- Chế tạo PCB cho Arduino RC Car
- Lắp ráp PCB
- Bánh xe in 3D và giá đỡ động cơ
- Lập trình Arduino
- Hoạt động của Arduino RC Car
Những chiếc ô tô RC luôn thú vị để chơi, cá nhân tôi là một fan hâm mộ lớn của những chiếc Ô tô điều khiển từ xa này và đã chơi (vẫn chơi) với chúng rất nhiều. Hầu hết những chiếc xe này ngày nay đều cung cấp một mô-men xoắn cực lớn để xử lý các địa hình gồ ghề, nhưng có một thứ luôn bị tụt hậu, đó là Tốc độ của nó !!.. Vì vậy, trong dự án này, chúng tôi sẽ chế tạo một loại xe RC hoàn toàn khác sử dụng Arduino, chính Mục tiêu của chiếc xe này là đạt được tốc độ tối đa, do đó tôi quyết định thử động cơ DC không lõi cho một chiếc xe RC. Những động cơ này thường được sử dụng trong máy bay không người lái và được đánh giá cho 39000 RPM điều này sẽ là quá đủ để làm dịu cơn khát tốc độ của chúng tôi. Chiếc xe sẽ được cung cấp năng lượng bằng một pin lithium nhỏ và có thể được điều khiển từ xa bằng mô-đun RF nRF24L01. Ngoài ra, nếu bạn đang tìm kiếm thứ gì đó đơn giản, bạn cũng có thể kiểm tra các dự án Robot RF đơn giản và Raspberry Pi Bluetooth Car.
Động cơ DC không lõi cho ô tô RC
Các DC động cơ coreless được sử dụng trong dự án này được thể hiện trong hình dưới đây. Bạn có thể tìm thấy chúng dễ dàng vì chúng được sử dụng rộng rãi trong các máy bay không người lái mini. Chỉ cần tìm 8520 Magnetic Micro Coreless Motor và bạn sẽ tìm thấy những thứ này.
Hiện nay, có một số hạn chế nhất định khi sử dụng động cơ DC cho xe RC. Điều đầu tiên là chúng cung cấp mô-men xoắn khởi động rất thấp, do đó chiếc xe RC của chúng tôi phải nhẹ nhất có thể. Đây là lý do tại sao tôi quyết định xây dựng toàn bộ chiếc xe trên một PCB bằng cách sử dụng các thành phần SMD và giảm kích thước bảng càng nhiều càng tốt. Vấn đề thứ hai là tốc độ cao của nó, 39000 RPM (RPM của trục) rất khó xử lý, vì vậy chúng tôi cần một mạch điều khiển tốc độ ở phía Arduino, mà chúng tôi đã xây dựng bằng MOSFET. Điều thứ ba là những động cơ này sẽ được cung cấp năng lượng bởi một pin lithium-polymer duy nhất có điện áp hoạt động từ 3,6V đến 4,2V, vì vậy chúng tôi phải thiết kế mạch của mình để hoạt động trên 3,3V. Đây là lý do tại sao chúng tôi đã sử dụng Arduino Pro mini 3.3Vnhư bộ não của chiếc xe RC của chúng tôi. Với những vấn đề được sắp xếp, chúng ta hãy xem xét các vật liệu cần thiết để xây dựng dự án này.
Vật liệu thiết yếu
- 3.3V Arduino Pro Mini
- Arduino Nano
- NRF24L01 - 2 chiếc
- Mô-đun cần điều khiển
- SI2302 MOSFET
- 1N5819 Diode
- Động cơ BLDC không lõi
- AMS1117-3.3V
- Pin lithium polymer
- Điện trở, tụ điện,
- Kết nối dây
Cần điều khiển RF cho ô tô RC sử dụng Arduino
Như đã đề cập trước đó, xe RC sẽ được điều khiển từ xa bằng Cần điều khiển RF. Cần điều khiển này cũng sẽ được xây dựng bằng Arduino cùng với mô-đun RF nRF24L01, chúng tôi cũng đã sử dụng mô-đun Joystick để điều khiển RC của chúng tôi theo hướng yêu cầu. Nếu bạn chưa quen hoàn toàn với hai mô-đun này, bạn có thể cân nhắc đọc các bài viết về Interfacing Arduino with nRF24L01 và Interfacing Joystick with Arduino để tìm hiểu cách chúng hoạt động và cách sử dụng chúng. Để xây dựng Cần điều khiển từ xa Arduino RF, bạn có thể làm theo Sơ đồ mạch bên dưới.
Mạch điều khiển RF có thể được cấp nguồn bằng cổng USB của bảng nano. Mô-đun nRF24L01 chỉ hoạt động trên 3.3V, do đó chúng tôi đã sử dụng chân 3.3V trên Arduino. Tôi đã xây dựng mạch trên một breadboard và có vẻ như bên dưới, bạn cũng có thể tạo một PCB cho việc này nếu cần.
Các Mã Arduino cho RF Joystick mạch là khá đơn giản, chúng ta phải đọc các giá trị X và giá trị Y từ Joystick của chúng tôi và gửi nó vào xe RC qua nRF24L01. Chương trình hoàn chỉnh cho mạch này có thể được tìm thấy ở cuối trang này. Chúng tôi sẽ không giải thích điều đó vì chúng tôi đã thảo luận về nó trong liên kết dự án giao diện được chia sẻ ở trên.
Sơ đồ mạch Arduino RC Car
Sơ đồ mạch hoàn chỉnh cho Ô tô Arduino được điều khiển từ xa của chúng tôi được hiển thị bên dưới. Sơ đồ mạch cũng bao gồm một tùy chọn để thêm hai mô-đun TCRT5000 IR vào ô tô của chúng tôi. Điều này đã được lên kế hoạch để cho phép chiếc xe RC của chúng tôi hoạt động như một con robot theo sau để nó có thể tự hoạt động mà không bị điều khiển từ bên ngoài. Tuy nhiên, vì lợi ích của dự án này, chúng tôi sẽ không tập trung vào nó, hãy theo dõi hướng dẫn dự án khác, trong đó chúng tôi sẽ thử xây dựng “Robot theo dòng nhanh nhất”. Tôi đã kết hợp cả hai mạch trên một PCB duy nhất để dễ xây dựng, bạn có thể bỏ qua phần cảm biến IR và Op-amp cho dự án này.
Các bác sĩ cho biết thêm:Xe RC sẽ được cung cấp năng lượng bởi Pin Lipo kết nối với thiết bị đầu cuối P1. Các AMS117-3.3V được sử dụng để điều chỉnh 3.3V cho nRF24L01 của chúng tôi và ủng hộ mini-board của chúng tôi. Chúng tôi cũng có thể cấp nguồn trực tiếp cho bảng Arduino trên chân cắm thô nhưng bộ điều chỉnh điện áp 3.3V trên bo mạch trên pro mini sẽ không thể cung cấp đủ dòng điện cho các mô-đun RF của chúng tôi, do đó chúng tôi đã sử dụng bộ điều chỉnh điện áp bên ngoài.
Để điều khiển hai động cơ BLDC, chúng tôi đã sử dụng hai MOSFET SI2302. Điều quan trọng là đảm bảo rằng các MOSFETS này có thể được điều khiển bởi 3.3V. Nếu bạn không thể tìm thấy chính xác số bộ phận giống nhau, bạn có thể tìm MOSFET tương đương với các đặc điểm chuyển bên dưới
Động cơ có thể tiêu thụ dòng điện đỉnh cao tới 7A (liên tục đã được thử nghiệm là 3A khi có tải), do đó dòng xả MOSFET phải là 7A trở lên và nó phải bật hoàn toàn ở 3.3V. Như bạn có thể thấy ở đây, MOSFET mà chúng tôi đã chọn có thể cung cấp 10A ngay cả ở 2,25V vì vậy đó là một lựa chọn lý tưởng.
Chế tạo PCB cho Arduino RC Car
Phần thú vị với việc xây dựng dự án này là Phát triển PCB. PCB ở đây không chỉ tạo thành mạch mà còn đóng vai trò như một Khung cho Xe của chúng tôi, vì vậy chúng tôi đã lên kế hoạch cho nó một hình dáng xe hơi với các tùy chọn để dễ dàng lắp động cơ của chúng tôi. Bạn cũng có thể thử thiết kế PCB của riêng mình bằng cách sử dụng mạch trên hoặc bạn có thể sử dụng thiết kế PCB của tôi trông giống như bên dưới sau khi hoàn thành.
Như bạn có thể thấy, tôi đã thiết kế PCB để dễ dàng gắn pin, động cơ và các thành phần khác. Bạn có thể tải xuống tệp Gerber cho PCB này từ liên kết. Khi bạn đã sẵn sàng với tệp Gerber, đã đến lúc bạn phải hoàn thành. Để dễ dàng thực hiện PCB của bạn bằng PCBGOGO, hãy làm theo các bước dưới đây
Bước 1: Truy cập www.pcbgogo.com, đăng ký nếu đây là lần đầu tiên của bạn. Sau đó, trong tab PCB Prototype, nhập kích thước của PCB của bạn, số lớp và số lượng PCB bạn yêu cầu. PCB của tôi là 80cm × 80cm vì vậy tab trông như thế này bên dưới.
Bước 2: Tiến hành bằng cách nhấp vào nút Trích dẫn ngay . Bạn sẽ được đưa đến một trang để đặt một vài thông số bổ sung nếu được yêu cầu như vật liệu được sử dụng khoảng cách theo dõi, v.v. Nhưng hầu hết các giá trị mặc định sẽ hoạt động tốt. Điều duy nhất mà chúng ta phải xem xét ở đây là giá cả và thời gian. Như bạn có thể thấy Thời gian xây dựng chỉ là 2-3 ngày và nó chỉ tốn $ 5 cho PSB của chúng tôi. Sau đó, bạn có thể chọn một phương thức vận chuyển ưa thích dựa trên yêu cầu của bạn.
Bước 3: Bước cuối cùng bạn tải file Gerber lên và tiến hành thanh toán. Để đảm bảo quá trình diễn ra suôn sẻ, PCBGOGO xác minh xem tệp Gerber của bạn có hợp lệ hay không trước khi tiến hành thanh toán. Bằng cách này, bạn có thể chắc chắn rằng PCB của bạn được chế tạo thân thiện và sẽ đến tay bạn theo cam kết.
Lắp ráp PCB
Sau khi bảng được đặt hàng, nó đã đến tay tôi sau một vài ngày mặc dù chuyển phát nhanh trong một hộp đóng gói tốt được dán nhãn gọn gàng và giống như mọi khi chất lượng của PCB thật tuyệt vời. Tôi chia sẻ một vài hình ảnh của các hội đồng dưới đây để các bạn đánh giá.
Tôi bật que hàn của mình và bắt đầu lắp ráp Bo mạch. Vì Dấu chân, miếng đệm, vias và màn lụa hoàn hảo với hình dạng và kích thước phù hợp, tôi không gặp vấn đề gì khi lắp ráp bảng. Bo mạch đã sẵn sàng chỉ sau 10 phút kể từ khi mở hộp.
Dưới đây là một vài hình ảnh của bo mạch sau khi hàn.
Bánh xe in 3D và giá đỡ động cơ
Như bạn có thể nhận thấy trong hình trên, chúng ta cần tạo 3D giá đỡ động cơ và bánh xe cho robot. Nếu bạn đã sử dụng tệp PCB Gerber của chúng tôi được chia sẻ ở trên, thì bạn cũng có thể sử dụng mô hình 3D bằng cách tải xuống từ liên kết ngược này.
Tôi đã sử dụng Cura để cắt các mô hình của mình và in chúng bằng cách sử dụng Tevo Terantuala mà không có hỗ trợ và thêm 0% để giảm trọng lượng. Bạn có thể thay đổi cài đặt phù hợp với máy in của chúng tôi. Vì động cơ quay rất nhanh, tôi thấy rất khó để thiết kế một bánh xe vừa khít và chặt chẽ với trục động cơ. Do đó, tôi quyết định sử dụng các cánh máy bay không người lái bên trong bánh xe như bạn có thể thấy bên dưới
Tôi thấy điều này đáng tin cậy và chắc chắn hơn, tuy nhiên, hãy thử nghiệm với các thiết kế bánh xe khác nhau và cho tôi biết trong phần bình luận điều gì phù hợp với bạn.
Lập trình Arduino
Bạn có thể tìm thấy chương trình hoàn chỉnh (cả Arduino nano và pro mini) cho dự án này ở cuối trang này. Giải thích về chương trình RC của bạn như sau
Chúng tôi bắt đầu chương trình bằng cách bao gồm tệp tiêu đề bắt buộc. Lưu ý rằng, mô-đun nRF24l01 yêu cầu phải thêm thư viện vào Arduino IDE của bạn, bạn có thể tải xuống Thư viện RF24 từ Github bằng liên kết này. Ngoài ra, chúng tôi đã xác định tốc độ tối thiểu và tốc độ tối đa cho robot của chúng tôi. Phạm vi tối thiểu và tối đa lần lượt là 0 đến 1024.
#define min_speed 200 #define max_speed 800 #include
Sau đó, bên trong chức năng thiết lập, chúng tôi khởi tạo mô-đun nRF24L01 của chúng tôi. Chúng tôi đã sử dụng các băng tần 115 vì nó không bị tắc nghẽn và đã đặt mô-đun hoạt động với công suất thấp, bạn cũng có thể thử với các cài đặt này.
void setup () {Serial.begin (9600); myRadio.begin (); myRadio.setChannel (115); // Băng tần 115 phía trên tín hiệu WIFI myRadio.setPALevel (RF24_PA_MIN); // MIN công suất thấp cơn thịnh nộ myRadio.setDataRate (RF24_250KBPS); // Tốc độ tối thiểu}
Tiếp theo trong hàm vòng lặp chính, chúng ta sẽ chỉ thực thi hàm ReadData mà chúng ta sẽ liên tục đọc giá trị được gửi từ mô-đun cần điều khiển Máy phát của chúng ta. Lưu ý rằng địa chỉ đường ống được đề cập trong chương trình phải giống với địa chỉ được đề cập trong chương trình máy phát. Chúng tôi cũng đã in giá trị mà chúng tôi nhận được cho mục đích gỡ lỗi. Khi giá trị được đọc thành công, chúng tôi sẽ thực hiện chức năng Control Car để điều khiển ô tô RC của chúng tôi dựa trên giá trị nhận được từ
mô-đun Rf.
void ReadData () {myRadio.openReadingPipe (1, 0xF0F0F0F0AA); // Đọc đường ống nào, 40 bit Địa chỉ myRadio.startListening (); // Dừng Transminting và bắt đầu hiển thị if (myRadio.available ()) {while (myRadio.available ()) {myRadio.read (& data, sizeof (data)); } Serial.print ("\ nNhanh:"); Serial.println (data.msg); đã nhận = data.msg; Control_Car (); }}
Bên trong chức năng Xe điều khiển, chúng tôi sẽ điều khiển động cơ được kết nối với các chân PWM bằng chức năng ghi tương tự. Trong chương trình máy phát của chúng tôi, chúng tôi đã chuyển đổi các giá trị Analog từ chân A0 và A1 của Nano thành 1 thành 10, 11 thành 20, 21 thành 30 và 31 thành 40 để điều khiển xe tiến, lùi, trái và phải tương ứng. Chương trình dưới đây được sử dụng để điều khiển robot theo hướng về phía trước
if (đã nhận> = 1 && nhận được <= 10) // Chuyển tiếp {int PWM_Value = map (đã nhận, 1, 10, min_speed, max_speed); analogWrite (R_MR, PWM_Value); analogWrite (L_MR, PWM_Value); }
Tương tự, chúng ta cũng có thể viết thêm ba hàm nữa cho điều khiển đảo ngược, trái, phải như hình bên dưới.
if (đã nhận> = 11 && nhận được <= 20) // Break {int PWM_Value = map (đã nhận, 11, 20, min_speed, max_speed); analogWrite (R_MR, 0); analogWrite (L_MR, 0); } if (accept> = 21 && accept <= 30) // Rẽ trái {int PWM_Value = map (đã nhận, 21, 30, min_speed, max_speed); analogWrite (R_MR, PWM_Value); analogWrite (L_MR, 0); } if (accept> = 31 && accept <= 40) // Rẽ Phải {int PWM_Value = map (đã nhận, 31, 40, min_speed, max_speed); analogWrite (R_MR, 0); analogWrite (L_MR, PWM_Value); }
Hoạt động của Arduino RC Car
Sau khi bạn hoàn thành mã, hãy tải nó lên bảng điều khiển mini chuyên nghiệp của bạn. Tháo pin và bo mạch của bạn qua mô-đun FTDI để kiểm tra. Khởi chạy mã của bạn, mở pin nối tiếp và bạn sẽ nhận được giá trị từ mô-đun Joystick của máy phát. Kết nối pin của bạn và động cơ của bạn cũng sẽ bắt đầu quay.
Hoạt động hoàn chỉnh của dự án có thể được tìm thấy trong video được liên kết ở cuối trang này. Nếu bạn có bất kỳ câu hỏi nào, hãy để lại chúng trong phần bình luận. Bạn cũng có thể sử dụng diễn đàn của chúng tôi để nhận câu trả lời nhanh chóng cho các câu hỏi kỹ thuật khác của bạn.