Բովանդակություն:

UChip - Պարզ ուրվագիծ հեռակառավարման շարժիչների և/կամ Servos- ի միջոցով 2.4GHz Radio Tx -Rx !: 3 քայլ
UChip - Պարզ ուրվագիծ հեռակառավարման շարժիչների և/կամ Servos- ի միջոցով 2.4GHz Radio Tx -Rx !: 3 քայլ

Video: UChip - Պարզ ուրվագիծ հեռակառավարման շարժիչների և/կամ Servos- ի միջոցով 2.4GHz Radio Tx -Rx !: 3 քայլ

Video: UChip - Պարզ ուրվագիծ հեռակառավարման շարժիչների և/կամ Servos- ի միջոցով 2.4GHz Radio Tx -Rx !: 3 քայլ
Video: This Is What Kenyan Mum Bought At Target 2024, Հուլիսի
Anonim
Image
Image
UChip - Պարզ ուրվագիծ հեռակառավարման շարժիչների և/կամ Servos- ի միջոցով 2.4GHz ռադիո Tx -Rx- ի միջոցով
UChip - Պարզ ուրվագիծ հեռակառավարման շարժիչների և/կամ Servos- ի միջոցով 2.4GHz ռադիո Tx -Rx- ի միջոցով
UChip - Պարզ ուրվագիծ հեռակառավարման շարժիչների և/կամ Servos- ի միջոցով 2.4GHz ռադիո Tx -Rx- ի միջոցով
UChip - Պարզ ուրվագիծ հեռակառավարման շարժիչների և/կամ Servos- ի միջոցով 2.4GHz ռադիո Tx -Rx- ի միջոցով

Ես իսկապես սիրում եմ RC աշխարհը: RC խաղալիքի օգտագործումը ձեզ զգում է, որ դուք վերահսկում եք ինչ -որ արտասովոր բան, չնայած այն փոքր նավակ, մեքենա կամ անօդաչու թռչող սարք է:

Այնուամենայնիվ, հեշտ չէ անհատականացնել ձեր խաղալիքները և ստիպել նրանց անել այն, ինչ ցանկանում եք: Սովորաբար, դուք ստիպված եք օգտագործել կանխադրված հաղորդիչի կարգավորումները կամ անջատիչների և կոճակների հատուկ նախագծված համակցությունները:

Ամեն ինչ վերահսկելն այնպես, ինչպես իսկապես ցանկանում եք, բավականին դժվար է, հիմնականում այն պատճառով, որ RC աշխարհը պահանջում է ապարատային մակարդակի ծրագրավորման բավականին խորը գիտելիքներ `դրանից լավագույնը ստանալու համար:

Ես փորձեցի բազմաթիվ հարթակներ և կարգավորումներ, բայց դա միշտ հսկայական ջանքեր էր պահանջում, որպեսզի բավական հարմարվեմ կոդին ՝ նախքան իմ RC խաղալիքի իրական անհատականացում կատարելը:

Ինձ բացակայում էր մի պարզ ուրվագիծ, որը ես կարող էի բեռնել Arduino IDE- ի միջոցով, և դա թույլ կտար ինձ հեշտությամբ թարգմանել Radio RX (ընդունիչից) դուրս եկող արժեքները ցանկալի Motor/Servo կառավարման մեջ:

Հետևաբար, ահա այն, ինչ ես ստեղծեցի uChip- ի և Arduino IDE- ի հետ մի փոքր խաղալուց հետո. Պարզ ուրվագիծ դեպի հեռակառավարման շարժիչներ և/կամ Servos 2.4GHz Radio Tx-Rx- ի միջոցով:

Ապրանքների հաշիվը

1 x uChip: Arduino IDE համատեղելի տախտակ

1 xTx-Rx Ռադիո համակարգ. CPPM ընդունիչ ունեցող ցանկացած ռադիոհամակարգ լավ է (իմ համակցումը հին Spectrum DX7 Tx + Orange R614XN cPPM Rx է), համոզվեք, որ հետևում եք ճիշտ պարտադիր ընթացակարգին ՝ Tx և Rx կապելու համար:

1 x Մարտկոց. Բարձր լիցքաթափող ընթացիկ մարտկոցներ անհրաժեշտ են շարժիչների և սպասարկիչների հետ աշխատելիս:

Motors/Servos. Ըստ ձեր կարիքների

Էլեկտրոնային բաղադրիչներ շարժիչները/սերվերը քշելու համար. Պարզ դիմադրիչներ, MOSFET- եր և դիոդներ թույլ են տալիս հասնել շարժիչ նպատակին:

Քայլ 1: Լարերի տեղադրում

Հաղորդալարեր
Հաղորդալարեր
Հաղորդալարեր
Հաղորդալարեր
Հաղորդալարեր
Հաղորդալարեր
Հաղորդալարեր
Հաղորդալարեր

Միացրեք բաղադրիչները միասին, ինչպես նկարագրված է սխեմատիկայում:

Rx- ը ուղղակիորեն միացված է uChipand- ին և չի պահանջում որևէ արտաքին բաղադրիչ: Այն դեպքում, երբ դուք օգտագործում եք այլ ընդունիչ, ստուգեք `մակարդակի փոխարկիչի կարիք ունեք, թե ոչ: Անպայման միացրեք cPPM ազդանշանը uChip PIN_9- ին (որը PORTA19 է, եթե ցանկանում եք ծածկագիրը հարմարեցնել մեկ այլ SAMD21 տախտակին):

Մնացած էլեկտրագծերը անհրաժեշտ են շարժիչը և/կամ սերվոն վարելու համար: Կցված սխեմատիկան ներկայացնում է հիմնական սխեման, որպեսզի uChip- ը պաշտպանվի ցատկումներից/գերազանցումներից, որոնք սովորաբար առաջանում են ինդուկտիվ բեռներ վարելիս: UChip- ի անվտանգության պահպանման հիմնական բաղադրիչը 5,1 Վ հզորության Zener դիոդն է (սխեմատիկորեն D1), որը դուք պետք է զուգահեռաբար տեղադրեք VEXT (uChip pin 16) և GND (uChip pin 8) զուգահեռ: Այլապես, Zener- ի դիոդն օգտագործելու փոխարեն, կարող եք ընտրել D2, C1 և C2- ով ներկայացված ընտրովի սխեմաները, ինչը կանխում է uChip- ի բաղադրիչների վնասման հակադարձ թռիչքները:

Կարող եք վարել այնքան շարժիչ/սպասարկում, որքան անհրաժեշտ է ՝ պարզապես սխեմատիկորեն կրկնելով և փոխելով կառավարման կապերը (կարող եք օգտագործել ցանկացած քորոց, բացառությամբ հոսանքի (PIN_8 և PIN_16) և cPPM քորոցների (PIN_9)): Նկատի ունեցեք, որ եթե ձեզ անհրաժեշտ է միայն մեկ պաշտպանական սխեման, որը ներկայացված է Zener դիոդով (կամ լրացուցիչ սխեմայի բաղադրամասերով), շարժիչ/սերվո վարման հետ կապված էլեկտրական բաղադրիչները պետք է կրկնվեն այնքան անգամ, որքան շարժիչների թիվը/ սպասարկողներ, որոնք մտադիր եք քշել:

Քանի որ ես ցանկանում էի քշել առնվազն 2 շարժիչ և 2 սերվո, ես պատրաստեցի մի փոքրիկ PCB, որն իրականացրեց նկարագրված սխեմաները, և որոնք կարող եք տեսնել նկարի վրա: Այնուամենայնիվ, առաջին նախատիպը պատրաստվել է նախատախտակի վրա `օգտագործելով թռչող լարերը:

Այսպիսով, այս պարզ նախագիծն իրականացնելու համար ձեզ զոդման/PCB ձևավորման որևէ հմտություն պետք չէ:)

Քայլ 2: mingրագրավորում

Ծրագրավորում
Ծրագրավորում

Ահա կախարդանքը: Այստեղ ամեն ինչ հետաքրքիր է դառնում:

Այն դեպքում, երբ դուք կառուցել եք նախորդ սխեմատիկայում նկարագրված միացումը, կարող եք պարզապես բեռնել «DriveMotorAndServo.ino» ուրվագիծը, և ամեն ինչ պետք է աշխատի:

Նայեք ծածկագրին և ստուգեք, թե ինչպես է այն աշխատում:

Սկզբում կան մի քանի #սահմանումներ, որոնք օգտագործվում են սահմանելու համար.

- Rx- ի համարային ալիքները (6Ch Orange- ի հետ 614XN)

- կապում, որտեղ ամրացված են շարժիչներ/սպասարկողներ

- Առավելագույնը և նվազագույնը օգտագործվում են սերվոյի և շարժիչների համար

- Առավելագույնը և նվազագույնը օգտագործվում են ռադիոալիքների տիրույթի համար

Այնուհետև, կա փոփոխականների հայտարարագրման բաժին, որտեղ հայտարարվում են շարժիչների/սերվերի փոփոխականները:

Այն դեպքում, երբ վարում եք մեկից ավելի շարժիչ և կցված մեկ servo, ինչպես նկարագրված է նախորդ սխեմատիկայում, դուք պետք է փոփոխեք էսքիզը և ավելացնեք ձեր կցած լրացուցիչ շարժիչներին/սերվերին վերաբերող ծածկագիրը: Դուք պետք է ավելացնեք այնքան Servo, servo_value և motor_value, որքան սերվո/շարժիչներ եք օգտագործում:

Փոփոխականների հայտարարագրման բաժնում կան նաև մի քանի անկայուն փոփոխականներ, որոնք օգտագործվում են cPPM ազդանշանի Capture Compare- ի համար: ՉԻ ՓՈՓՈԽԵԼ ԱՅՍ ՓՈՓՈԽՎԱՆԵՐԸ:

Այն, ինչ ձեզ հարկավոր է անել հաջորդը, loop () գործառույթում է: Այստեղ դուք կարող եք որոշել, թե ինչ օգտագործել մուտքային ալիքների արժեքը:

Իմ դեպքում ես մուտքային արժեքը միացրեցի անմիջապես շարժիչի և սերվոյի հետ, բայց դուք ավելի քան ողջունելի եք այն փոխելու ըստ ձեր կարիքների: Այս ձեռնարկի հետ կապված տեսանյութում և նկարներում ես միացրել եմ 2 շարժիչ և 2 սերվո, բայց կարող են լինել 3, 4, 5,… մինչև առավելագույն հասանելի անվճար կապում (uChip- ի դեպքում `13):

Դուք կարող եք գտնել գրավված ալիքի արժեքը ch [ինդեքս] զանգվածում, որի «ինդեքսը» 0 -ից հասնում է NUM_CH - 1 -ի: Յուրաքանչյուր ալիք համապատասխանում է ձեր ռադիոյի ձողիկ/անջատիչ/կոճակին: Քեզանից է կախված հասկանալ, թե ինչ է, ինչ է:)

Ի վերջո, ես իրականացրեցի որոշ վրիպազերծման գործառույթներ, որպեսզի ավելի հեշտությամբ հասկանամ, թե ինչ է կատարվում: Մեկնաբանեք/մեկնաբանեք #սահմանեք DEBUG- ը ՝ մայրենի SerialUSB ալիքների արժեքը տպելու համար:

ԽՈՐՀՈՐԴ. Loop () գործառույթից ներքև ավելի շատ կոդ կա: Կոդի այս հատվածը անհրաժեշտ է uChip հոսանքի կապեր սահմանելու, բռնելու համեմատման գործառույթով առաջացած ընդհատումները կարգավորելու, ժամաչափերը և կարգաբերման նպատակը սահմանելու համար: Եթե դուք ձեզ համարձակ եք զգում գրանցամատյանների հետ խաղալու համար, ազատ զգալ փոփոխեք այն:

Խմբագրել. Թարմացվել է ուրվագիծը, շտկվել է քարտեզագրման գործառույթի սխալը:

Քայլ 3: Խաղալ, քշել, մրցել, թռչել:

Image
Image

Համոզվեք, որ ճիշտ եք կապում Tx և Rx համակարգը: Միացրեք այն մարտկոցը միացնելով: Ստուգեք, որ ամեն ինչ աշխատում է: Կարող եք ընդլայնել գործառույթները կամ փոխել յուրաքանչյուր ալիքի գործառույթը ըստ ձեր ցանկության, քանի որ այժմ դուք լիովին վերահսկում եք ձեր ապագա RC մոդելը:

Այժմ կառուցեք ձեր անհատականացված RC մոդելը:

P. S. Քանի որ պարտադիր կատարումը կարող է բավականին ձանձրալի լինել, ես մտադիր եմ շուտով թողարկել էսքիզ, որը թույլ է տալիս կապել ձեր Tx-Rx համակարգը ՝ առանց ձեռքով կատարելու: Շարունակեք հետևել թարմացումներին:

Խորհուրդ ենք տալիս: