Mundarija:

UChip - 2.4 gigagertsli radio Tx -Rx orqali masofadan boshqarish motorlari va/yoki servolariga oddiy eskiz!: 3 qadam
UChip - 2.4 gigagertsli radio Tx -Rx orqali masofadan boshqarish motorlari va/yoki servolariga oddiy eskiz!: 3 qadam

Video: UChip - 2.4 gigagertsli radio Tx -Rx orqali masofadan boshqarish motorlari va/yoki servolariga oddiy eskiz!: 3 qadam

Video: UChip - 2.4 gigagertsli radio Tx -Rx orqali masofadan boshqarish motorlari va/yoki servolariga oddiy eskiz!: 3 qadam
Video: BOYA BY-WM3T2-D1 Raqamli haqiqiy simsiz mikrofon Type-c & IPhone / BOYA Цифровой беспроводной микроф 2024, Iyul
Anonim
Image
Image
UChip - Tx -Rx 2,4 gigagertsli radio orqali masofadan boshqariladigan motorlar va/yoki servolarga oddiy eskiz!
UChip - Tx -Rx 2,4 gigagertsli radio orqali masofadan boshqariladigan motorlar va/yoki servolarga oddiy eskiz!
UChip - 2.4 gigagertsli radio Tx -Rx orqali masofadan boshqariladigan motorlar va/yoki servolarga oddiy eskiz!
UChip - 2.4 gigagertsli radio Tx -Rx orqali masofadan boshqariladigan motorlar va/yoki servolarga oddiy eskiz!

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

Ulanish
Ulanish
Ulanish
Ulanish
Ulanish
Ulanish
Ulanish
Ulanish

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

Dasturlash
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

Image
Image

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: