Isi kandungan:

UChip - Lakaran Mudah ke Motor Kawalan Jauh dan / atau Servos Melalui Radio 2.4GHz Tx-Rx !: 3 Langkah
UChip - Lakaran Mudah ke Motor Kawalan Jauh dan / atau Servos Melalui Radio 2.4GHz Tx-Rx !: 3 Langkah

Video: UChip - Lakaran Mudah ke Motor Kawalan Jauh dan / atau Servos Melalui Radio 2.4GHz Tx-Rx !: 3 Langkah

Video: UChip - Lakaran Mudah ke Motor Kawalan Jauh dan / atau Servos Melalui Radio 2.4GHz Tx-Rx !: 3 Langkah
Video: Steering Wheel UPGRADE on a 1967 Classic Volkswagen Beetle! Hell YES! 2024, Julai
Anonim
Image
Image
UChip - Lakaran Mudah ke Motor Kawalan Jauh Dan / atau Servos Melalui Radio 2.4xHz Tx-Rx!
UChip - Lakaran Mudah ke Motor Kawalan Jauh Dan / atau Servos Melalui Radio 2.4xHz Tx-Rx!
UChip - Lakaran Mudah ke Motor Kawalan Jauh Dan / atau Servos Melalui Radio 2.4xHz Tx-Rx!
UChip - Lakaran Mudah ke Motor Kawalan Jauh Dan / atau Servos Melalui Radio 2.4xHz Tx-Rx!

Saya sangat menyukai dunia RC. Menggunakan mainan RC memberi anda perasaan bahawa anda mengendalikan sesuatu yang luar biasa, walaupun ia adalah kapal kecil, kereta atau drone!

Walau bagaimanapun, tidak mudah untuk menyesuaikan mainan anda dan membuatnya dapat melakukan apa sahaja yang anda mahukan. Biasanya, anda terpaksa menggunakan tetapan pemancar lalai atau kombinasi suis dan tombol yang direka khas.

Mengawal segala yang anda mahukan agak sukar, terutamanya kerana dunia RC memerlukan pengetahuan yang mendalam mengenai pengaturcaraan peringkat perkakasan untuk mendapatkan yang terbaik.

Saya telah mencuba banyak platform dan persediaan, tetapi memerlukan banyak usaha untuk mendapatkan kod yang cukup selesa sebelum melakukan penyesuaian sebenar pada mainan RC saya.

Apa yang saya hilang adalah lakaran sederhana yang dapat saya muatkan menggunakan Arduino IDE dan yang dengan mudah membolehkan saya menerjemahkan nilai yang keluar dari Radio RX (penerima) ke dalam kawalan Motor / Servo yang diinginkan.

Oleh itu, inilah yang saya buat setelah bermain sedikit dengan uChip dan Arduino IDE: Sketsa mudah untuk kawalan jauh Motor dan / atau Servos melalui 2.4GHz Radio Tx-Rx!

Bil bahan

1 x uChip: Papan serasi dengan Arduino IDE

1 Sistem radio xTx-Rx: mana-mana sistem radio dengan penerima cPPM bagus (kombo saya adalah Spectrum DX7 Tx + Orange R614XN cPPM Rx lama), pastikan anda mengikuti prosedur pengikatan yang betul untuk mengikat Tx dan Rx.

1 x Bateri: bateri arus pelepasan tinggi diperlukan semasa berurusan dengan motor dan servo.

Motor / Servo: sesuai dengan keperluan anda

Komponen elektronik untuk menggerakkan Motor / Servos: perintang sederhana, MOSFET dan Diod membolehkan anda mencapai tujuan pemanduan.

Langkah 1: Pendawaian

Pendawaian
Pendawaian
Pendawaian
Pendawaian
Pendawaian
Pendawaian
Pendawaian
Pendawaian

Kabelkan komponen bersama seperti yang dijelaskan dalam skema.

Rx disambungkan terus ke uChipand tidak memerlukan komponen luaran. Sekiranya anda menggunakan penerima yang berbeza, sahkan sama ada anda memerlukan pengubah tahap atau tidak. Pastikan untuk menyambungkan isyarat cPPM ke uChip PIN_9 (yang merupakan PORTA19 sekiranya anda ingin menyesuaikan kod ke papan SAMD21 yang lain).

Pendawaian yang selebihnya diperlukan untuk menggerakkan motor dan / atau servo. Skema yang dilampirkan mewakili litar asas untuk melindungi kapal dari lonjakan / lonjakan yang biasanya berlaku ketika menggerakkan beban induktif. Komponen utama untuk menjaga keselamatan uChip adalah dioda Zener 5.1V (D1 dalam skema) yang perlu anda selari dengan VEXT (pin uChip 16) dan GND (pin uChip 8). Sebagai alternatif, daripada menggunakan dioda Zener, anda boleh memilih litar pilihan yang diwakili oleh D2, C1 dan C2, yang menghalang lonjakan terbalik untuk merosakkan komponen uChip.

Anda boleh menggerakkan seberapa banyak motor / servo yang anda perlukan dengan hanya meniru skema dan menukar pin kawalan (anda boleh menggunakan pin apa pun kecuali pin kuasa (PIN_8 dan PIN_16) dan pin cPPM (PIN_9)). Perlu diingat bahawa, walaupun anda hanya memerlukan satu litar perlindungan yang diwakili oleh dioda Zener (atau komponen untuk litar pilihan), komponen elektrik yang berkaitan dengan pemanduan motor / servo harus ditiru sebanyak kali bilangan motor / servo yang anda berhasrat untuk memandu.

Oleh kerana saya mahu memandu sekurang-kurangnya 2 motor dan 2 servo, saya membuat PCB kecil yang melaksanakan litar yang dinyatakan dan yang dapat anda lihat pada gambar. Walau bagaimanapun, prototaip pertama dibuat pada papan proto menggunakan wayar terbang.

Oleh itu, anda tidak memerlukan kemahiran menyolder / reka bentuk PCB untuk melaksanakan projek mudah ini:)

Langkah 2: Pengaturcaraan

Pengaturcaraan
Pengaturcaraan

Inilah keajaibannya! Di sinilah perkara menjadi menarik.

Sekiranya anda membina litar yang dijelaskan dalam skema sebelumnya, anda boleh memuatkan lakaran "DriveMotorAndServo.ino" dan semuanya mesti berfungsi.

Lihat kodnya dan periksa cara kerjanya.

Pada awalnya terdapat beberapa #define yang digunakan untuk menentukan:

- saluran nombor Rx (6Ch dengan Orange 614XN)

- pin di mana motor / servo dipasang

- Max dan min yang digunakan untuk servo dan motor

- Maks dan min yang digunakan untuk rangkaian saluran Radio

Kemudian, terdapat bahagian deklarasi pemboleh ubah di mana pemboleh ubah motor / servos dinyatakan.

Sekiranya anda memandu lebih dari satu motor dan servo yang dilampirkan seperti yang dijelaskan dalam skema sebelumnya, anda perlu mengubah lakaran dan menambahkan kod yang mengendalikan motor / servo tambahan yang anda lampirkan. Anda perlu menambah seberapa banyak Servo, servo_value dan motor_value sebanyak servo / motor yang anda gunakan.

Di dalam bahagian deklarasi pemboleh ubah terdapat juga beberapa pemboleh ubah tidak stabil yang digunakan untuk Tangkapan Perbandingan isyarat cPPM. JANGAN TUKAR VARIABEL INI!

Apa yang perlu anda lakukan seterusnya adalah dalam fungsi loop (). Di sini, anda boleh menentukan apa gunanya nilai saluran masuk.

Dalam kes saya, saya menghubungkan nilai masuk terus ke motor dan servo, tetapi anda lebih senang untuk menukarnya mengikut keperluan anda! Dalam video dan gambar yang dihubungkan dalam tutorial ini, saya menyambungkan 2 motor dan 2 servos, tetapi mungkin ada 3, 4, 5,… hingga maksimum pin percuma yang tersedia (13 sekiranya uChip).

Anda dapat mencari nilai saluran yang ditangkap dalam array ch [index], yang "index" dari 0 hingga NUM_CH - 1. Setiap saluran sesuai dengan stik / suis / tombol di radio anda. Terserah anda untuk memahami apa-apa-apa:)

Akhirnya, saya melaksanakan beberapa fungsi debug untuk memudahkan anda memahami apa yang berlaku. Komen / tanggalkan DEBUG #define untuk mencetak pada nilai saluran SerialUSB asli.

PETUA: Terdapat lebih banyak kod di bawah fungsi loop (). Bahagian kod ini diperlukan untuk menetapkan pin kuasa uChip, menangani gangguan yang dihasilkan oleh ciri penangkapan tangkapan, menetapkan pemasa dan tujuan penyahpepijatan. Sekiranya anda merasa cukup berani untuk bermain-main dengan daftar, jangan ragu untuk mengubahnya!

Edit: Sketsa yang dikemas kini, perbaiki bug dalam fungsi pemetaan.

Langkah 3: Main, Pandu, Berlumba, Terbang

Image
Image

Pastikan anda mengikat sistem Tx dan Rx dengan betul. Kuasa menyambungkan bateri. Sahkan bahawa semuanya berfungsi. Anda boleh memperluas fungsi atau mengubah fungsi setiap saluran sesuka hati, kerana sekarang anda sepenuhnya mengendalikan model RC masa depan anda.

Sekarang, bina model RC anda yang disesuaikan!

P. S.: kerana pengikatan boleh dilakukan dengan sangat membosankan, saya merancang untuk segera mengeluarkan sketsa yang membolehkan mengikat sistem Tx-Rx anda tanpa perlu melakukannya secara manual. Nantikan kemas kini!

Disyorkan: