Мазмуну:

UChip - 2.4GHz Radio Tx -Rx аркылуу алыстан башкаруу моторлоруна жана/же сервосуна жөнөкөй эскиз!: 3 кадам
UChip - 2.4GHz Radio Tx -Rx аркылуу алыстан башкаруу моторлоруна жана/же сервосуна жөнөкөй эскиз!: 3 кадам

Video: UChip - 2.4GHz Radio Tx -Rx аркылуу алыстан башкаруу моторлоруна жана/же сервосуна жөнөкөй эскиз!: 3 кадам

Video: UChip - 2.4GHz Radio Tx -Rx аркылуу алыстан башкаруу моторлоруна жана/же сервосуна жөнөкөй эскиз!: 3 кадам
Video: BathyCat RC Survey bathylogger bl200 single beam Echo sounder sonar for bathymetric survey. 2024, Июль
Anonim
Image
Image
UChip - 2.4GHz Radio Tx -Rx аркылуу алыстан башкаруу моторлоруна жана/же сервосуна жөнөкөй эскиз!
UChip - 2.4GHz Radio Tx -Rx аркылуу алыстан башкаруу моторлоруна жана/же сервосуна жөнөкөй эскиз!
UChip - 2.4GHz Radio Tx -Rx аркылуу алыстан башкаруу моторлоруна жана/же сервосуна жөнөкөй эскиз!
UChip - 2.4GHz Radio Tx -Rx аркылуу алыстан башкаруу моторлоруна жана/же сервосуна жөнөкөй эскиз!

Мага RC дүйнөсү абдан жагат. RC оюнчугун колдонуу сизге кичинекей кайык, машина же дрон болгонуна карабастан, өзгөчө бир нерсени башкарып жаткандай сезим берет!

Бирок, оюнчуктарыңызды ыңгайлаштырып, каалаганыңызды жасоо оңой эмес. Адатта, сиз өткөргүчтүн демейки жөндөөлөрүн же коммутаторлордун жана баскычтардын атайын иштелип чыккан айкалыштарын колдонууга мажбур болосуз.

Баарын чындыгында каалагандай башкара алуу абдан кыйын, негизинен RC дүйнөсү эң жакшы нерсеге жетүү үчүн аппараттык деңгээлдеги программалоону терең билүүнү талап кылат.

Мен көптөгөн платформаларды жана орнотууларды сынап көрдүм, бирок менин RC оюнчугумду реалдуу ыңгайлаштыруудан мурун код менен жетишерлик ыңгайлуу болуу үчүн ар дайым чоң күч жумшалат.

Мага жетишпей турган нерсе, мен Arduino IDE аркылуу жүктөй алчу жөнөкөй эскиз жана Radio RXтен (кабыл алгычтан) чыккан баалуулуктарды каалаган Мотор/Серво көзөмөлүнө которууга мүмкүндүк берет.

Ошондуктан, бул жерде мен uChip жана Arduino IDE менен бир аз ойногондон кийин жаратканым: 2.4GHz Radio Tx-Rx аркылуу моторлорду жана/же серволорду алыстан башкаруу үчүн жөнөкөй эскиз!

Билл материалдары

1 x uChip: Arduino IDEге шайкеш келген такта

1 xTx-Rx радио системасы: cPPM алгычы бар ар кандай радио системасы жакшы (менин комбим эски Spectrum DX7 Tx + Orange R614XN cPPM Rx), Tx менен Rxти туташтыруу үчүн туура байлоо процедурасын аткарганыңызды текшериңиз.

1 х Батарея: моторлор жана серволор менен иштөөдө жогорку разряддагы учурдагы батареялар керек.

Motors/Servos: ошого жараша сиздин муктаждыктарыңызга

Моторлорду/серволорду башкаруучу электрондук компоненттер: жөнөкөй резисторлор, MOSFET жана диоддор айдоо максатын ишке ашырууга мүмкүндүк берет.

1 -кадам: Кабелдөө

Электр өткөргүчтөрү
Электр өткөргүчтөрү
Электр өткөргүчтөрү
Электр өткөргүчтөрү
Электр өткөргүчтөрү
Электр өткөргүчтөрү
Электр өткөргүчтөрү
Электр өткөргүчтөрү

Схемада сүрөттөлгөндөй компоненттерди зым менен бириктириңиз.

Rx түздөн -түз uChipand менен туташат, эч кандай тышкы компоненттерди талап кылбайт. Эгерде сиз башка ресиверди колдонуп жатсаңыз, сизге деңгээлди алмаштыргыч керекпи же жокпу, текшериңиз. CPPM сигналын uChip PIN_9 менен туташтырууну унутпаңыз (бул кодду башка SAMD21 тактасына ылайыкташтыргыңыз келсе PORTA19).

Калган зымдар моторду жана/же сервону айдоо үчүн керек. Тиркелген схема uChipти адатта индуктивдүү жүктөрдү айдаганда пайда болгон чукул/ашуудан коргоо үчүн негизги схеманы билдирет. UChip коопсуздугун сактоонун негизги компоненти - 5.1V (схемада D1) кубаттуулугу Zener диоду, аны VEXT (uChip pin 16) менен GND (uChip pin 8) параллелдүү түрдө коюу керек. Же болбосо, Zener диодун колдонуунун ордуна, D2, C1 жана C2 менен көрсөтүлгөн кошумча схеманы тандап алсаңыз болот, бул тескери бурулуштардын uChip компоненттерине зыян келтиришине жол бербейт.

Сиз жөн гана схеманы кайталап, көзөмөл казыктарын өзгөртүү аркылуу керек болгон көп моторду/сервону айдай аласыз (кубат пиндеринен (PIN_8 жана PIN_16) жана cPPM пининен (PIN_9) башка каалаган пинди колдонсоңуз болот). Эсиңизде болсун, сизге Zener диодунун (же кошумча схеманын компоненттеринин) өкүлү болгон бир гана коргоо схемасы керек болсо да, мотор/серво айдоого байланышкан электр компоненттери моторлордун санына жараша көп жолу кайталанышы керек. айдоону көздөгөн сервистер.

Мен жок дегенде 2 моторду жана 2 сервону айдагым келгендиктен, сүрөттөлгөн схеманы ишке ашырган жана сүрөттө көрүп тургандай кичинекей ПХБ жасадым. Бирок, биринчи прототип учуучу зымдарды колдонуу менен прото тактасында жасалган.

Ошентип, бул жөнөкөй долбоорду ишке ашыруу үчүн сизге ширетүү/ПХБ дизайн көндүмдөрүнүн кереги жок:)

2 -кадам: Программалоо

Программалоо
Программалоо

Мына сыйкыр! Бул жерде нерселер кызыктуу болот.

Эгер сиз мурунку схемада сүрөттөлгөн схеманы курган болсоңуз, анда "DriveMotorAndServo.ino" эскизин жүктөй аласыз жана баары иштеши керек.

Кодду карап көрүңүз жана анын кантип иштээрин текшериңиз.

Башында аныктоо үчүн #define аз колдонулат:

- Rx каналынын саны (6Ch Orange 614XN менен)

- мотор/сервос бекитилген казыктар

- Серво жана мотор үчүн колдонулган максимум жана мин

- Max жана min радио каналдар диапазону үчүн колдонулат

Андан кийин, моторлордун/серволордун өзгөрмөлөрү жарыяланган өзгөрмөлөрдү декларациялоо бөлүмү бар.

Эгерде сиз мурунку схемада сүрөттөлгөндөй бир эле моторду жана бир сервону тиркеген болсоңуз, анда эскизди өзгөртүп, кошумча моторлорду/серволорду иштетүүчү кодду кошушуңуз керек. Сиз канча Servo, servo_value жана motor_value колдонсоңуз ошончо servo/моторду кошушуңуз керек.

Өзгөрмөлөрдү декларациялоо бөлүмүндө cPPM сигналынын Capture Compare үчүн колдонулган кээ бир туруксуз өзгөрмөлөр бар. БУЛ ӨЗГӨРМӨЛӨРДҮ ӨЗГӨРТПӨҢҮЗ!

Кийинки кылышыңыз керек болгон нерсе loop () функциясында. Бул жерде, сиз кирүүчү каналдардын маанисин кандайча колдонууну чече аласыз.

Менин учурда, мен кирүүчү маанини түз эле моторго жана сервого туташтырдым, бирок сиз аны керектөөлөрүңүзгө жараша өзгөртө аласыз! Бул окуу куралында шилтемеленген видеодо жана сүрөттөрдө мен 2 моторду жана 2 сервону туташтырдым, бирок 3, 4, 5,… болушу мүмкүн, максималдуу бекер казыктарга чейин (uChip болгон учурда 13).

Сиз басып алган каналдын маанисин ch [index] массивинен таба аласыз, анын “индекси” 0ден NUM_CHга чейин барат - 1. Ар бир канал сиздин радионун таякчасына/которгучуна/баскычына туура келет. Эмне экенин түшүнүү өзүңүздүн колуңузда:)

Акыры, мен эмне болуп жатканын түшүнүүнү жеңилдетүү үчүн кээ бир мүчүлүштүктөрдү оңдоо функцияларын ишке ашырдым. Каналдардын маанисин SerialUSBде басып чыгаруу үчүн #define DEBUGга комментарий/комментарий бербеңиз.

КЕҢЕШ: loop () функциясынын астында дагы код бар. Коддун бул бөлүгү uChip кубаткычтарын орнотуу, кармоо салыштыруу өзгөчөлүгү менен түзүлгөн үзгүлтүктөрдү чечүү, таймерлерди жана мүчүлүштүктөрдү оңдоо үчүн зарыл. Эгерде сиз өзүңүздү регистрлер менен ойногонго эр жүрөк сезсеңиз, анда аны өзгөртүүдөн тартынбаңыз!

Түзөтүү: Жаңыртылган эскиз, картография функциясындагы ката оңдолду.

3 -кадам: Play, Drive, Race, Fly

Image
Image

Tx жана Rx тутумун туура байланыштырганыңызды текшериңиз. Батареяны туташтырып күйгүзүңүз. Баары иштээрин текшериңиз. Сиз каалагандай ар бир каналдын функцияларын кеңейте аласыз же функциясын өзгөртө аласыз, анткени азыр сиз келечектеги RC моделин толук көзөмөлдөп турасыз.

Эми, өзүңүзгө ылайыкташтырылган RC моделин түзүңүз!

P. S.: байлап коюу абдан кызыксыз болгондуктан, мен жакында Tx-Rx тутумуңузду кол менен жасабай эле байлап коюуга мүмкүндүк берген эскизди чыгарууну пландап жатам. Жаңыртуулардан кабардар болуңуз!

Сунушталууда: