Kazalo:

UChip - Enostavna skica za motorje na daljinskem upravljanju in/ali servomotorje prek radia Tx -Rx na 2,4 GHz!: 3 koraki
UChip - Enostavna skica za motorje na daljinskem upravljanju in/ali servomotorje prek radia Tx -Rx na 2,4 GHz!: 3 koraki

Video: UChip - Enostavna skica za motorje na daljinskem upravljanju in/ali servomotorje prek radia Tx -Rx na 2,4 GHz!: 3 koraki

Video: UChip - Enostavna skica za motorje na daljinskem upravljanju in/ali servomotorje prek radia Tx -Rx na 2,4 GHz!: 3 koraki
Video: Как проверить генератор. За 3 минуты, БЕЗ ПРИБОРОВ и умений. 2024, November
Anonim
Image
Image
UChip - Enostavna skica do motorjev na daljinskem upravljanju in/ali servomotorjev prek radia Tx -Rx na 2,4 GHz!
UChip - Enostavna skica do motorjev na daljinskem upravljanju in/ali servomotorjev prek radia Tx -Rx na 2,4 GHz!
UChip - Enostavna skica do motorjev na daljinskem upravljanju in/ali servomotorjev prek radia Tx -Rx na 2,4 GHz!
UChip - Enostavna skica do motorjev na daljinskem upravljanju in/ali servomotorjev prek radia Tx -Rx na 2,4 GHz!

Zelo mi je všeč svet RC. Z uporabo igrače z daljinskim upravljalnikom imate občutek, da obvladate nekaj izjemnega, kljub temu, da gre za manjši čoln, avto ali brezpilotni letnik!

Vendar pa ni enostavno prilagoditi vaših igrač in jih prisiliti, da storijo vse, kar želite. Običajno ste omejeni na privzete nastavitve oddajnika ali posebej zasnovane kombinacije stikal in gumbov.

Kontrolirati vse, kot si resnično želite, je precej težko, predvsem zato, ker svet RC zahteva precej globoko poznavanje programiranja na ravni strojne opreme, da bi iz tega kar najbolje izkoristili.

Preizkusil sem številne platforme in nastavitve, vendar je vedno stalo ogromno truda, da sem se dovolj dobro naučil kode, preden se resnično prilagodim svoji igrači RC.

Manjkala mi je preprosta skica, ki bi jo lahko naložil z uporabo Arduino IDE in bi mi z lahkoto omogočil pretvorbo vrednosti, ki prihajajo iz radia RX (sprejemnik) v želeni nadzor motorja/servo.

Zato je tukaj tisto, kar sem ustvaril, ko sem se malo poigral z uChipom in Arduino IDE: Preprosta skica do motorjev na daljinsko upravljanje in/ali servomotorjev preko 2,4 GHz radia Tx-Rx!

Račun za materiale

1 x uChip: Arduino IDE združljiva plošča

1 radijski sistem xTx-Rx: kateri koli radijski sistem s sprejemnikom cPPM je dober (moja kombinacija je stara Spectrum DX7 Tx + oranžna R614XN cPPM Rx), zato upoštevajte pravilni postopek vezave, da povežete Tx in Rx.

1 x Baterija: pri delu z motorji in servomotorji so potrebne baterije z visokim praznjenjem.

Motorji/servomotorji: glede na vaše potrebe

Elektronske komponente za pogon motorjev/servomotorjev: preprosti upori, MOSFET -i in diode vam omogočajo, da dosežete namen vožnje.

1. korak: Ožičenje

Ožičenje
Ožičenje
Ožičenje
Ožičenje
Ožičenje
Ožičenje
Ožičenje
Ožičenje

Sestavite komponente skupaj, kot je opisano v shemi.

Rx je priključen neposredno na uChipand ne potrebuje zunanjih komponent. Če uporabljate drug sprejemnik, preverite, ali potrebujete menjalnik nivoja ali ne. Signal cPPM priključite na uChip PIN_9 (to je PORTA19, če želite kodo prilagoditi drugi plošči SAMD21).

Preostalo ožičenje je potrebno za pogon motorja in/ali servo. Priložena shema predstavlja osnovno vezje za zaščito uChip pred konicami/pregretji, ki se običajno pojavijo pri poganjanju induktivnih obremenitev. Ključna sestavina za ohranitev varnosti uChip je zener dioda z napetostjo 5,1 V (D1 na shemi), ki jo morate priključiti vzporedno z VEXT (uChip pin 16) in GND (uChip pin 8). Druga možnost je, da se namesto Zener diode odločite za izbirno vezje, predstavljeno z D2, C1 in C2, ki preprečuje, da bi povratne konice poškodovale komponente uChip.

Lahko vozite toliko motorjev/servomotorjev, ki jih potrebujete, tako da preprosto ponovite shemo in spremenite krmilne zatiče (lahko uporabite kateri koli zatič, razen napajalnih (PIN_8 in PIN_16) in zatiča cPPM (PIN_9)). Upoštevajte, da medtem ko potrebujete samo eno zaščitno vezje, ki ga predstavlja Zener dioda (ali komponente za dodatno vezje), je treba električne komponente, povezane z motorno/servo vožnjo, ponoviti tolikokrat, kot je število motorjev/ servomotorji, ki jih nameravate voziti.

Ker sem hotel voziti vsaj 2 motorja in 2 servomotorja, sem naredil majhno tiskano vezje, ki je implementiralo opisano vezje in kar lahko vidite na sliki. Vendar je bil prvi prototip izdelan na proto plošči z uporabo letečih žic.

Tako za izvedbo tega preprostega projekta ne potrebujete nobenih veščin spajkanja/oblikovanja tiskanih vezij:)

2. korak: Programiranje

Programiranje
Programiranje

Tu je čarovnija! Tu stvari postanejo zanimive.

Če ste zgradili vezje, opisano v prejšnji shemi, lahko preprosto naložite skico »DriveMotorAndServo.ino« in vse bi moralo delovati.

Oglejte si kodo in preverite, kako deluje.

Na začetku je za definiranje uporabljenih nekaj #define:

- število kanalov Rx (6Ch z oranžno 614XN)

- zatiči, na katerih so pritrjeni motorji/servomotorji

- Maks. In min. Za servo in motorje

- Največja in najnižja vrednost za obseg radijskih kanalov

Potem je tu še razdelek z deklaracijo spremenljivk, kjer se razglasijo spremenljivke motorjev/servomotorjev.

Če vozite več kot en motor in en servo priključen, kot je opisano v prejšnji shemi, morate spremeniti skico in dodati kodo, ki obravnava dodatne motorje/servomotorje, ki ste jih priključili. Dodati morate toliko servo, servo_value in motor_value, kolikor servo/motorjev uporabljate.

V razdelku deklaracije spremenljivk je tudi nekaj spremenljivih spremenljivk, ki se uporabljajo za primerjavo zajema signala cPPM. NE SPREMEMBITE TE SPREMENLJIVE!

Naslednje morate narediti v funkciji loop (). Tu se lahko odločite, kako boste uporabili vrednost vhodnih kanalov.

V mojem primeru sem vhodno vrednost priključil neposredno na motor in servo, vendar ste več kot dobrodošli, da jo spremenite glede na vaše potrebe! V video posnetkih in slikah, povezanih v tej vadnici, sem priključil 2 motorja in 2 servomotorja, vendar so lahko 3, 4, 5,… do največje razpoložljive proste nožice (13 v primeru uChip).

Zajeto vrednost kanala lahko najdete v nizu ch [index], katerega "indeks" sega od 0 do NUM_CH - 1. Vsak kanal ustreza palici/stikalu/gumbu na vašem radiu. Na vas je, da razumete, kaj je-kaj:)

Nazadnje sem uvedel nekatere funkcije za odpravljanje napak, da bi olajšal razumevanje dogajanja. Komentirajte/odkomentirajte #define DEBUG za tiskanje vrednosti kanalov na izvornem SerialUSB.

NAMIG: Pod funkcijo loop () je več kode. Ta del kode je potreben za nastavitev vtičnic za napajanje uChip, obvladovanje prekinitev, ki jih ustvari funkcija primerjave zajema, nastavitev časovnikov in namen odpravljanja napak. Če se počutite dovolj pogumne, da se poigravate z registri, jih lahko spremenite!

Uredi: Posodobljena skica, odpravljena je napaka v funkciji preslikave.

3. korak: Igrajte se, vozite, dirkajte, letite

Image
Image

Prepričajte se, da pravilno povežete sistem Tx in Rx. Vklopite baterijo. Preverite, ali vse deluje. Lahko razširite funkcionalnosti ali spremenite funkcijo vsakega kanala, kot želite, saj zdaj popolnoma nadzorujete svoj prihodnji model RC.

Zdaj zgradite svoj prilagojeni model RC!

P. S.: Ker je vezava lahko zelo dolgočasna, nameravam kmalu izdati skico, ki omogoča vezavo vašega sistema Tx-Rx, ne da bi vam bilo treba to narediti ročno. Spremljajte posodobitve!

Priporočena: