Mundarija:
Video: UChip - 2.4 gigagertsli radio Tx -Rx orqali masofadan boshqarish motorlari va/yoki servolariga oddiy eskiz!: 3 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:24
Menga RC dunyosi juda yoqadi. RC o'yinchog'idan foydalanish sizga kichkina qayiq, mashina yoki dron bo'lishiga qaramay, g'ayrioddiy narsani boshqarayotganingizni his qiladi!
Biroq, o'yinchoqlaringizni moslashtirish va ularni xohlagan narsani qilish oson emas. Odatda, siz standart transmitter sozlamalarini yoki maxsus mo'ljallangan kalit va tugmalar birikmalaridan foydalanishga majbur bo'lasiz.
Hamma narsani xohlaganingizcha boshqarishingiz juda qiyin, chunki RC dunyosi undan yaxshi foydalanish uchun apparat darajasidagi dasturlash bo'yicha chuqur bilim talab qiladi.
Men juda ko'p platformalar va sozlamalarni sinab ko'rdim, lekin RC o'yinchog'imni haqiqiy sozlashdan oldin, kodni etarli darajada qulay qilish uchun har doim katta kuch sarflanadi.
Menga etishmayotgan narsa bu Arduino IDE yordamida yuklashim mumkin bo'lgan oddiy eskiz bo'lib, u menga Radio RX (qabul qilgich) dan chiqadigan qiymatlarni kerakli Motor/Servo boshqaruviga tarjima qilishga imkon beradi.
Shuning uchun, men uChip va Arduino IDE bilan bir oz o'ynaganimdan keyin yaratgan narsam: 2.4 GGts Tx-Rx radiosi orqali motorlar va/yoki servolarni masofadan boshqarish uchun oddiy eskiz!
Hisobot materiallari
1 x uChip: Arduino IDE mos keladigan karta
1 xTx-Rx radio tizimi: CPPM qabul qiluvchisi bo'lgan har qanday radio tizimi yaxshi (mening kombinatim eski Spectrum DX7 Tx + Orange R614XN cPPM Rx), Tx va Rxni ulash uchun to'g'ri bog'lash tartibiga rioya qilganingizga ishonch hosil qiling.
1 x Batareya: dvigatellar va servolar bilan ishlashda yuqori quvvatli oqim batareyalari kerak.
Dvigatellar/servolar: sizning ehtiyojlaringizga mos ravishda
Dvigatellar/servolarni boshqaradigan elektron komponentlar: oddiy rezistorlar, MOSFET va diodlar haydash maqsadini bajarishga imkon beradi.
1 -qadam: simlarni ulash
Sxemada tasvirlanganidek, komponentlarni bir -biriga ulang.
Rx to'g'ridan -to'g'ri uChipand -ga ulangan, hech qanday tashqi komponentlarni talab qilmaydi. Agar siz boshqa qabul qilgichdan foydalansangiz, darajani o'zgartirishga ehtiyoj bor yoki yo'qligini tekshiring. CPM signalini uChip PIN_9 ga ulang (bu kodni boshqa SAMD21 kartasiga moslashtirmoqchi bo'lsangiz, PORTA19).
Qolgan simlar dvigatel va/yoki servo haydash uchun kerak. Ilova qilingan sxema uChip -ni induktiv yuklarni haydashda tez -tez uchib ketishdan himoya qilish uchun asosiy sxemani ifodalaydi. UChip xavfsizligini saqlashning asosiy komponenti - 5.1V (sxemada D1) zener diodining kuchlanishi, uni VEXT (uChip pin 16) va GND (uChip pin 8) ga parallel ravishda qo'yish kerak. Shu bilan bir qatorda, Zener diodini ishlatish o'rniga, D2, C1 va C2 bilan ifodalanadigan ixtiyoriy sxemani tanlashingiz mumkin, bu teskari burilishlarning uChip komponentlariga zarar etkazishining oldini oladi.
Sxemani takrorlash va boshqarish pimlarini o'zgartirish orqali siz kerakli miqdordagi motor/servo haydashingiz mumkin (quvvat pinlari (PIN_8 va PIN_16) va cPPM pinidan (PIN_9) tashqari har qanday pinni ishlatishingiz mumkin). Shuni yodda tutingki, sizga Zener diodi (yoki ixtiyoriy kontaktlarning zanglashiga olib keladigan komponentlari) bilan ifodalanadigan bitta himoya sxemasi kerak bo'lsa -da, dvigatel/servo haydash bilan bog'liq bo'lgan elektr komponentlari motorlar sonidan ko'p marta takrorlanishi kerak. siz boshqarmoqchi bo'lgan servolar.
Men kamida 2 ta dvigatel va 2 ta servo haydashni xohlaganim uchun, men tasvirlangan sxemani bajaradigan va siz rasmda ko'rishingiz mumkin bo'lgan kichik PCB yasadim. Biroq, birinchi prototip uchuvchi simlar yordamida proto-taxtada qilingan.
Shunday qilib, ushbu oddiy loyihani amalga oshirish uchun sizga lehimlash/PCB dizayn ko'nikmalari kerak emas:)
2 -qadam: dasturlash
Mana sehr! Bu erda narsalar qiziqarli bo'ladi.
Agar siz oldingi sxemada tasvirlangan sxemani qurgan bo'lsangiz, "DriveMotorAndServo.ino" eskizini yuklashingiz mumkin va hamma narsa ishlashi kerak.
Kodni ko'rib chiqing va u qanday ishlashini tekshiring.
Boshida ta'riflash uchun bir nechta #define ishlatiladi:
- Rx raqamli kanallari (6Ch Orange 614XN bilan)
- dvigatellar/servolar biriktirilgan pinlar
- Servo va dvigatellar uchun ishlatiladigan maksimal va min
- Maksimal va min radio kanallari diapazonida ishlatiladi
Keyinchalik, motorlar/servo o'zgaruvchilari e'lon qilingan o'zgaruvchilar deklaratsiyasi bo'limi mavjud.
Agar siz avvalgi sxemada tasvirlanganidek, bir nechta dvigatel va bitta servo biriktirilgan bo'lsangiz, siz eskizni o'zgartirishingiz va qo'shimcha dvigatellar/servolarga ishlov beradigan kodni qo'shishingiz kerak. Siz qancha servo, servo_value va motor_value qo'shsangiz, shuncha servo/motorni qo'shishingiz kerak.
O'zgaruvchilarni deklaratsiya qilish bo'limida CPPM signalini ta'qib qilish uchun ishlatiladigan ba'zi o'zgaruvchan o'zgaruvchilar mavjud. BU O'zgaruvchanlarni O'zgartirmang!
Keyinchalik nima qilish kerak bo'lsa, loop () funktsiyasida bo'ladi. Bu erda siz kiruvchi kanallar qiymatidan qanday foydalanish kerakligini hal qilishingiz mumkin.
Mening holatimda, men kiruvchi qiymatni to'g'ridan -to'g'ri dvigatel va servo bilan bog'ladim, lekin siz uni ehtiyojlaringizga mos ravishda o'zgartirishingiz mumkin! Ushbu qo'llanmada ko'rsatilgan video va rasmlarda men 2 dvigatel va 2 servo uladim, lekin 3, 4, 5,… bo'lishi mumkin bo'lgan maksimal bo'sh pinlargacha bo'lishi mumkin (uChip uchun 13 ta).
Siz "indeksi" 0 dan NUM_CH gacha bo'lgan ch [indeks] qatoridan olingan kanal qiymatini topishingiz mumkin - 1. Har bir kanal sizning radioingizdagi tayoq/kalit/tugmachaga to'g'ri keladi. Nima ekanligini tushunish sizga bog'liq:)
Nihoyat, nima bo'layotganini tushunishni osonlashtirish uchun disk raskadrovka funktsiyalarini amalga oshirdim. Kanallar qiymatini SerialUSB -da chop etish uchun #define DEBUG -ga sharh/izoh qoldirmang.
Maslahat: loop () funktsiyasining ostida ko'proq kod mavjud. Kodning bu qismi uChip quvvat pinlarini o'rnatish, taqqoslash xususiyatidan kelib chiqadigan uzilishlarni boshqarish, taymerlar va disk raskadrovka maqsadini o'rnatish uchun kerak. Agar siz o'zingizni registrlar bilan o'ynashga jur'at his qilsangiz, uni o'zgartirishga jur'at eting!
Tartibga solish: Yangilangan eskiz, xaritalash funksiyasidagi xato tuzatildi.
3 -qadam: o'ynang, haydang, poyga qiling, uching
Tx va Rx tizimini to'g'ri bog'laganingizga ishonch hosil qiling. Batareyani ulab quvvatlantiring. Hamma ishlayotganini tekshiring. Siz xohlaganingizcha har bir kanalning funktsional imkoniyatlarini kengaytira olasiz yoki funktsiyasini o'zgartirishingiz mumkin, chunki endi siz kelajakdagi RC modelini to'liq nazorat qilasiz.
Endi, moslashtirilgan RC modelini yarating!
P. S.: Bog'lash juda zerikarli bo'lishi mumkinligi sababli, men yaqinda Tx-Rx tizimini qo'lda bog'lamasdan bog'lashga imkon beradigan eskizni chiqarishni rejalashtirmoqdaman. Yangilanishlarni kuzatib boring!
Tavsiya:
LoRa asosidagi masofadan boshqarish pulti - Katta masofadan asboblarni boshqarish: 8 qadam
LoRa asosidagi masofadan boshqarish pulti | Katta masofadan asboblarni boshqarish: Hey, nima bo'ldi, bolalar! Bu loyihada biz LEDlar, motorlar kabi turli xil asboblarni boshqarish uchun ishlatilishi mumkin bo'lgan masofadan boshqarish pultini yaratmoqchimiz yoki agar biz kundalik hayotimiz haqida gapiradigan bo'lsak, biz o'z uy dasturchimizni boshqaramiz.
ESP8266 RGB LED chiziqli WIFI nazorati - NODEMCU Wi -Fi orqali boshqariladigan LED chiziqli IQ masofadan boshqarish pulti sifatida - RGB LED STRIP smartfonini boshqarish: 4 qadam
ESP8266 RGB LED chiziqli WIFI nazorati | NODEMCU Wi -Fi orqali boshqariladigan LED chiziqli IQ masofadan boshqarish pulti sifatida | Smartfonni RGB LED STRIP nazorati: Salom bolalar, bu qo'llanmada biz nodemcu yoki esp8266 ni RGB LED tasmasini boshqarish uchun IR masofadan boshqarish pulti sifatida ishlatishni o'rganamiz va Nodemcu smartfon orqali wifi orqali boshqariladi. Shunday qilib, siz RGB LED STRIP -ni smartfoningiz bilan boshqarishingiz mumkin
Arduino bilan 2.4 Gigagertsli NRF24L01 moduli yordamida simsiz masofadan boshqarish - Nrf24l01 4 kanalli / Quadcopter uchun 6 kanalli uzatuvchi qabul qilgich - Rc vertolyoti - Arduino yordamida Rc samolyoti: 5 qadam (rasmlar bilan)
Arduino bilan 2.4 Gigagertsli NRF24L01 moduli yordamida simsiz masofadan boshqarish | Nrf24l01 4 kanalli / Quadcopter uchun 6 kanalli uzatuvchi qabul qilgich | Rc vertolyoti | Arduino yordamida Rc samolyoti: Rc avtomashinasini boshqarish | Kvadrokopter | Drone | RC samolyoti | RC qayig'i, bizga har doim qabul qiluvchi va uzatuvchi kerak bo'ladi, deylik, RC QUADCOPTER uchun bizga 6 kanalli uzatuvchi va qabul qilgich kerak, va bu turdagi TX va RX juda qimmatga tushadi, shuning uchun biz uni o'zimizda ishlab chiqaramiz
Oddiy masofadan boshqarish pulti to'rt kanalli RC o'yinchoqli masofadan boshqarish pultiga aylantirildi: 4 qadam
Oddiy masofadan boshqarish pulti to'rt kanalli RC o'yinchoqli masofadan boshqarish pultiga aylantirildi: 如何 通用 遥控 器 套件 的 的.方法 非常 简单。 只需
Serverga yoki Windows -ning har qanday kompyuteriga masofadan boshqarish boshqarish. 6 qadam
Serverga yoki Windows -ning har qanday kompyuteriga masofadan turib kirish u003e: Bu ko'rsatma bu erda ko'rsatiladigan bir nechta fikrlarning kombinatsiyasi. Ha4xor4life shaxsiy fayllar serverida "Check up" deb nomlangan ko'rsatmalarni osonlikcha qo'ydi. Bu yaxshi fikr, lekin unga ikkita kirishli monitor kerak edi