- Motor DC tanpa corak untuk Kereta RC
- Bahan yang Diperlukan
- Joystick RF untuk kereta RC menggunakan Arduino
- Rajah Litar Kereta Arduino RC
- Fabrikasi PCB untuk Arduino RC Car
- Pemasangan PCB
- Roda Percetakan 3D dan Pemasangan Motor
- Memprogram Arduino
- Kerja Kereta Arduino RC
Kereta RC selalu menyeronokkan untuk dimainkan, secara peribadi saya peminat kereta kawalan jauh ini dan telah bermain (masih) dengan mereka secara meluas. Sebilangan besar kereta ini pada masa ini memberikan tork yang besar untuk menangani medan kasar, tetapi ada sesuatu yang selalu ketinggalan, Kelajuannya !!.. Oleh itu, dalam projek ini, kita akan membina jenis kereta RC yang sama sekali berbeza menggunakan Arduino, yang utama objektif kereta ini adalah untuk mencapai kelajuan maksimum, oleh itu saya memutuskan untuk mencuba motor DC tanpa karat untuk sebuah kereta RC. Motor ini biasanya digunakan dalam drone dan dinilai 39000 RPM yang seharusnya lebih dari cukup untuk menghilangkan dahaga kita yang cepat. Kereta akan dikuasakan dengan bateri lithium yang kecil dan dapat dikendalikan dari jauh menggunakan modul RF nRF24L01. Sebagai alternatif, jika anda mencari sesuatu yang mudah, anda juga boleh melihat projek Robot RF Sederhana dan Kereta Bluetooth Raspberry Pi ini.
Motor DC tanpa corak untuk Kereta RC
The coreless DC motor yang digunakan dalam projek ini ditunjukkan dalam gambar di bawah. Anda boleh mencarinya dengan mudah kerana banyak digunakan dalam drone mini. Cari 8520 Magnetic Micro Coreless Motor dan anda akan menjumpainya.
Sekarang, ada kelemahan tertentu untuk menggunakan motor DC untuk sebuah kereta RC. Perkara pertama ialah mereka memberikan tork permulaan yang sangat rendah maka kereta RC kita harus sepantas mungkin. Inilah sebabnya mengapa saya memutuskan untuk membina keseluruhan kereta di atas PCB menggunakan komponen SMD dan mengurangkan saiz papan sebanyak mungkin. Masalah kedua adalah kelajuan tinggi, 39000 RPM (RPM poros) sukar dikendalikan, jadi kami memerlukan litar kawalan kelajuan di sisi Arduino, yang kami bina menggunakan MOSFET. Perkara ketiga ialah motor ini akan dikuasakan oleh bateri polimer litium tunggal dengan voltan operasi antara 3.6V hingga 4.2V, jadi kita harus merancang litar kita untuk beroperasi pada 3.3V. Inilah sebabnya mengapa kami telah menggunakan 3.3V Arduino Pro minisebagai otak kereta RC kita. Dengan masalah ini diselesaikan, mari kita lihat bahan yang diperlukan untuk membina projek ini.
Bahan yang Diperlukan
- 3.3V Arduino Pro Mini
- Arduino Nano
- NRF24L01 - 2 keping
- Modul Joystick
- SI2302 MOSFET
- 1N5819 Diod
- Motor tanpa corak BLDC
- AMS1117-3.3V
- Bateri Lithium Polymer
- Perintang, Kapasitor,
- Menyambung wayar
Joystick RF untuk kereta RC menggunakan Arduino
Seperti yang disebutkan sebelumnya, kereta RC akan dikendalikan dari jarak jauh menggunakan RF Joystick. Joystick ini juga akan dibangun menggunakan Arduino bersama dengan modul RF nRF24L01, kami juga telah menggunakan modul Joystick untuk mengendalikan RC kami ke arah yang diperlukan. Sekiranya anda benar-benar baru dalam kedua modul ini, anda boleh mempertimbangkan untuk membaca artikel Interfacing Arduino dengan nRF24L01 dan Interfacing Joystick dengan Arduino untuk mengetahui cara kerjanya dan cara menggunakannya. Untuk membina Joystick Arduino RF Jauh anda boleh mengikuti Diagram Litar di bawah.
Litar Joystick RF boleh dihidupkan menggunakan port USB papan nano. Modul nRF24L01 hanya beroperasi pada 3.3V, oleh itu kami telah menggunakan pin 3.3V pada Arduino. Saya telah membina litar di papan roti dan seperti di bawah, anda juga boleh membuat PCB untuk ini jika diperlukan.
The Kod Arduino untuk litar RF Joystick ini agak mudah, kita perlu membaca nilai X dan nilai Y dari Joystick kami dan hantar ke kereta RC melalui nRF24L01. Program lengkap untuk litar ini boleh didapati di bahagian bawah halaman ini. Kami tidak akan menerangkannya kerana kami telah membincangkannya dalam pautan projek antara muka yang dikongsi di atas.
Rajah Litar Kereta Arduino RC
Gambarajah litar lengkap untuk Kereta Arduino kawalan jauh kami ditunjukkan di bawah. Gambarajah litar juga merangkumi pilihan untuk menambah dua modul IR TCRT5000 ke kereta kami. Ini dirancang untuk membolehkan kereta RC kita berfungsi sebagai robot berikut sehingga boleh berfungsi sendiri tanpa dikawal secara luaran. Namun, demi projek ini, kami tidak akan menumpukan perhatiannya, nantikan tutorial projek lain di mana kami akan berusaha membina "Robot Pengikut Jalur Tercepat". Saya telah menggabungkan kedua-dua litar pada satu PCB untuk kemudahan pembinaan, anda boleh mengabaikan sensor IR dan bahagian Op-amp untuk projek ini.
Kereta RC akan dikuasakan oleh Lipo Battery yang dihubungkan ke terminal P1. The AMS117-3.3V digunakan untuk mengawal 3.3V untuk nRF24L01 kami dan pro-mini-board kami. Kami juga dapat memberi kuasa pada papan Arduino secara langsung pada pin mentah tetapi pengatur voltan 3.3V on pro board pada pro mini tidak akan dapat membekalkan arus yang cukup ke modul RF kami, oleh itu kami telah menggunakan pengatur voltan luaran.
Untuk menggerakkan dua motor BLDC kami, kami telah menggunakan dua MOSFET SI2302. Penting untuk memastikan bahawa MOSFET ini dapat dipacu oleh 3.3V. Sekiranya anda tidak dapat mencari nombor bahagian yang sama, anda boleh mencari MOSFET yang setara dengan ciri pemindahan di bawah
Motor boleh menggunakan arus puncak setinggi 7A (berterusan diuji menjadi 3A dengan beban), oleh itu arus saliran MOSFET harus 7A atau lebih dan ia harus menyala sepenuhnya pada 3.3V. Seperti yang anda lihat di sini, MOSFET yang kami pilih dapat memberikan 10A walaupun pada 2.25V jadi ini adalah pilihan yang ideal.
Fabrikasi PCB untuk Arduino RC Car
Bahagian yang menyeronokkan dengan membina projek ini adalah Pembangunan PCB. PCB di sini bukan sahaja membentuk litar tetapi juga berfungsi sebagai Chassis untuk Kereta kami, jadi kami merancang sebuah kereta yang mencari bentuknya dengan pilihan untuk memasang motor kami dengan mudah. Anda juga boleh mencuba merancang PCB anda sendiri menggunakan litar di atas atau anda boleh menggunakan reka bentuk PCB saya yang kelihatan seperti di bawah ini setelah selesai.
Seperti yang anda lihat, saya telah merancang PCB untuk memasang bateri, motor, dan komponen lain dengan mudah. Anda boleh memuat turun fail Gerber untuk PCB ini dari pautan. Setelah anda siap dengan fail Gerber, sudah tiba masanya untuk membuatnya dibuat palsu. Untuk mendapatkan PCB anda dengan mudah oleh PCBGOGO ikuti langkah-langkah di bawah
Langkah 1: Masuk ke www.pcbgogo.com, daftar jika ini pertama kali anda. Kemudian, pada tab Prototaip PCB masukkan dimensi PCB anda, jumlah lapisan dan jumlah PCB yang anda perlukan. PCB saya berukuran 80cm × 80cm jadi tabnya seperti di bawah ini.
Langkah 2: Teruskan dengan mengklik pada butang Quote Now . Anda akan dibawa ke halaman di mana untuk menetapkan beberapa parameter tambahan jika diperlukan seperti bahan jarak trek yang digunakan dll. Tetapi kebanyakan nilai lalai akan berfungsi dengan baik. Satu-satunya perkara yang harus kita pertimbangkan di sini adalah harga dan masa. Seperti yang anda lihat Masa Membangun hanya 2-3 hari dan harganya hanya $ 5 untuk PSB kami. Anda kemudian boleh memilih kaedah penghantaran pilihan berdasarkan keperluan anda.
Langkah 3: Langkah terakhir adalah memuat naik fail Gerber dan meneruskan pembayaran. Untuk memastikan prosesnya lancar PCBGOGO mengesahkan apakah fail Gerber anda sah sebelum meneruskan pembayaran. Dengan cara ini anda dapat memastikan bahawa PCB anda mesra fabrikasi dan akan menghubungi anda sebagai komited.
Pemasangan PCB
Setelah papan pesanan dipesan, saya sampai beberapa hari walaupun kurier dalam kotak kemas yang berlabel kemas dan seperti biasa, kualiti PCB sangat mengagumkan. Saya kongsikan beberapa gambar papan di bawah untuk anda menilai.
Saya menghidupkan batang pemateri saya dan mula memasang Papan. Oleh kerana Jejak Kaki, pad, vias, dan layar sutera sesuai dengan bentuk dan ukuran yang tepat, saya tidak menghadapi masalah untuk memasang papan. Papan siap dalam masa hanya 10 minit dari saat membongkar kotak.
Beberapa gambar papan selepas pematerian ditunjukkan di bawah.
Roda Percetakan 3D dan Pemasangan Motor
Seperti yang anda perhatikan dalam gambar di atas, kita perlu 3D memasang motor dan roda untuk robot. Sekiranya anda telah menggunakan fail PCB Gerber kami yang dikongsi di atas, maka anda mungkin juga menggunakan model 3D dengan memuat turunnya dari pautan benda ini.
Saya telah menggunakan Cura untuk memotong model saya dan mencetaknya menggunakan Tevo Terantuala tanpa sokongan dan pengisian 0% untuk mengurangkan berat badan. Anda boleh mengubah tetapan yang sesuai untuk pencetak kami. Oleh kerana motor berputar dengan sangat pantas, saya merasa sukar untuk merancang roda yang akan pas dan rapat pada batang motor. Oleh itu, saya memutuskan untuk menggunakan bilah drone di dalam roda seperti yang anda lihat di bawah
Saya dapati ini lebih dipercayai dan kukuh, namun, bereksperimen dengan reka bentuk roda yang berbeza dan beritahu saya di bahagian komen apa yang sesuai untuk anda.
Memprogram Arduino
Program lengkap (baik Arduino nano dan pro mini) untuk projek ini terdapat di bahagian bawah halaman ini. Penjelasan mengenai program RC anda adalah seperti berikut
Kami memulakan program dengan memasukkan fail tajuk yang diperlukan. Perhatikan bahawa, modul nRF24l01 memerlukan perpustakaan ditambahkan ke Arduino IDE anda, anda boleh memuat turun Perpustakaan RF24 dari Github menggunakan pautan ini. Selain itu, kami telah menentukan kelajuan minimum dan kelajuan maksimum untuk robot kami. Julat minimum dan maksimum masing-masing 0 hingga 1024.
#define min_speed 200 #define max_speed 800 #sertakan
Kemudian di dalam fungsi persediaan, kami menginisialisasi modul nRF24L01 kami. Kami telah menggunakan 115 band kerana tidak sesak dan mengatur modul untuk beroperasi dengan kuasa rendah, anda juga boleh bermain-main dengan tetapan ini.
persediaan tidak sah () {Serial.begin (9600); myRadio.begin (); myRadio.setChannel (115); // 115 jalur di atas WIFI memberi isyarat myRadio.setPALevel (RF24_PA_MIN); // Kuasa min rendah myRadio.setDataRate (RF24_250KBPS); // Kelajuan minimum}
Selanjutnya dalam fungsi gelung utama, kita hanya akan menjalankan fungsi ReadData dengan mana kita akan terus membaca nilai yang dihantar dari modul joystick Transmitter kami. Perhatikan bahawa alamat paip yang disebutkan dalam program harus sama dengan yang disebutkan dalam program pemancar. Kami juga telah mencetak nilai yang kami terima untuk tujuan penyahpepijatan. Setelah nilai berjaya dibaca, kami akan melaksanakan fungsi Control Car untuk mengawal kereta RC kami berdasarkan nilai yang diterima dari
modul Rf.
batal ReadData () {myRadio.openReadingPipe (1, 0xF0F0F0F0AA); // Pipa mana yang hendak dibaca, 40 bit Alamat myRadio.startListening (); // Hentikan Transminting dan mulakan Peninjauan semula jika (myRadio.available ()) {while (myRadio.available ()) {myRadio.read (& data, sizeof (data)); } Serial.print ("\ nDiterima:"); Serial.println (data.msg); diterima = data.msg; Control_Car (); }}
Di dalam fungsi Car Control, kami akan mengawal motor yang disambungkan ke pin PWM menggunakan fungsi tulis analog. Dalam program pemancar kami telah menukar nilai Analog dari pin A0 dan A1 Nano menjadi 1 hingga 10, 11 hingga 20, 21 hingga 30 dan 31 hingga 40 untuk mengawal kereta masing-masing di hadapan, belakang, kiri dan kanan. Program di bawah ini digunakan untuk mengawal robot ke arah hadapan
if (diterima> = 1 && diterima <= 10) // Pindah Ke Depan {int PWM_Value = peta (diterima, 1, 10, min_speed, max_speed); analogWrite (R_MR, PWM_Value); analogWrite (L_MR, PWM_Value); }
Begitu juga, kita juga dapat menulis tiga fungsi lagi untuk kawalan terbalik, kiri, dan kanan seperti yang ditunjukkan di bawah.
if (diterima> = 11 && diterima <= 20) // Break {int PWM_Value = peta (diterima, 11, 20, min_speed, max_speed); analogWrite (R_MR, 0); analogWrite (L_MR, 0); } if (diterima> = 21 && diterima <= 30) // Belok kiri {int PWM_Value = peta (diterima, 21, 30, min_speed, max_speed); analogWrite (R_MR, PWM_Value); analogWrite (L_MR, 0); } if (diterima> = 31 && diterima <= 40) // Belok Kanan {int PWM_Value = peta (diterima, 31, 40, min_speed, max_speed); analogWrite (R_MR, 0); analogWrite (L_MR, PWM_Value); }
Kerja Kereta Arduino RC
Setelah selesai menggunakan kod, muat naik ke papan pro-mini anda. Keluarkan bateri dan papan anda melalui modul FTDI untuk diuji. Lancarkan kod anda, buka bateri bersiri dan anda harus menerima nilai dari modul Joystick pemancar anda. Sambungkan bateri anda dan motor anda juga harus mula berputar.
Penyelesaian projek yang lengkap dapat dilihat dalam video yang dipautkan di bahagian bawah halaman ini. Sekiranya anda mempunyai sebarang pertanyaan, tinggalkan di bahagian komen. Anda juga boleh menggunakan forum kami untuk mendapatkan jawapan cepat untuk soalan teknikal anda yang lain.