Video: UChip - Jednostavno skiciranje motora i/ili servoa na daljinsko upravljanje putem radija Tx -Rx! 2,4 GHz!: 3 koraka
2025 Autor: John Day | [email protected]. Zadnja promjena: 2025-01-13 06:57
Zaista mi se sviđa svijet RC -a. Korištenje RC igračke daje vam osjećaj da kontrolirate nešto izvanredno, unatoč tome što se radi o malom čamcu, automobilu ili dronu!
Međutim, nije lako prilagoditi svoje igračke i natjerati ih da učine što god želite. Obično ste ograničeni na korištenje zadanih postavki odašiljača ili posebno dizajniranih kombinacija prekidača i gumba.
Teško je kontrolirati sve kako zaista želite, uglavnom zato što svijet RC-a zahtijeva prilično duboko poznavanje programiranja na hardverskoj razini kako bi se iz njega izvuklo najbolje.
Isprobao sam mnoge platforme i postavke, ali uvijek je koštao ogroman napor kako bih se dovoljno snašao s kodom prije nego što napravim pravu prilagodbu svoje RC igračke.
Ono što mi je nedostajalo je jednostavna skica koju sam mogao učitati pomoću Arduino IDE -a i koja bi mi lako omogućila prevođenje vrijednosti koje dolaze iz Radio RX -a (prijemnika) u željenu kontrolu motora/servo -a.
Stoga je ovo ono što sam stvorio nakon što sam se malo poigrao s uChip-om i Arduino IDE-om: Jednostavna skica do motora na daljinsko upravljanje i/ili servo-a putem 2.4GHz Radio Tx-Rx!
Predmet materijala
1 x uChip: Arduino IDE kompatibilna ploča
1 xTx-Rx Radio sustav: bilo koji radijski sustav s cPPM prijemnikom je dobar (moja je kombinacija stari Spectrum DX7 Tx + narančasti R614XN cPPM Rx), pazite da slijedite ispravan postupak vezanja kako biste vezali Tx i Rx.
1 x Baterija: baterije s visokim pražnjenjem potrebne su pri radu s motorima i servo pogonima.
Motori/servomotori: u skladu s vašim potrebama
Elektroničke komponente za pogon motora/servomotora: jednostavni otpornici, MOSFET -ovi i diode omogućuju postizanje svrhe vožnje.
Korak 1: Ožičenje
Spojite komponente zajedno kako je opisano u shemama.
Rx je spojen izravno na uChipand i ne zahtijeva nikakve vanjske komponente. U slučaju da koristite drugi prijemnik, provjerite trebate li mjenjač razine ili ne. Svakako spojite cPPM signal na uChip PIN_9 (što je PORTA19 u slučaju da želite prilagoditi kôd drugoj ploči SAMD21).
Preostalo ožičenje potrebno je za pogon motora i/ili servo. Priložena shema predstavlja osnovni krug radi zaštite uChip -a od skokova/preskakanja koji se obično javljaju pri pokretanju induktivnih opterećenja. Ključna komponenta za očuvanje uChip sigurnosti je Zener dioda od 5,1 V (D1 na shemi) koju morate postaviti paralelno s VEXT (uChip pin 16) i GND (uChip pin 8). Alternativno, umjesto korištenja Zener diode, možete se odlučiti za opcionalno kolo predstavljeno D2, C1 i C2, koje sprječava obrnute udarce da oštete uChip komponente.
Možete voziti onoliko motora/servo pogona koliko vam je potrebno jednostavnim ponavljanjem sheme i promjenom upravljačkih igara (možete koristiti bilo koju iglu osim kontakata za napajanje (PIN_8 i PIN_16) i igle cPPM (PIN_9)). Imajte na umu da, iako vam je potreban samo jedan zaštitni krug koji predstavlja Zener dioda (ili komponente za opcionalno kolo), električne komponente povezane s pogonom motora/servo pogona moraju se replicirati onoliko puta koliko je broj motora/ servomobile koje namjeravate voziti.
Budući da sam htio voziti najmanje 2 motora i 2 servo motora, napravio sam malu tiskanu ploču koja je implementirala opisano kolo i koju možete vidjeti na slici. Međutim, prvi prototip napravljen je na proto-ploči pomoću letećih žica.
Dakle, za provedbu ovog jednostavnog projekta ne trebaju vam nikakve vještine oblikovanja lemljenja/PCB -a:)
Korak 2: Programiranje
Evo čarolije! Tu stvari postaju zanimljive.
U slučaju da ste izgradili krug opisan u prethodnoj shemi, možete jednostavno učitati skicu “DriveMotorAndServo.ino” i sve bi trebalo funkcionirati.
Pogledajte kod i provjerite kako radi.
Na početku se nekoliko #define koristi za definiranje:
- broj kanala Rx (6Ch s narančastom 614XN)
- igle na kojima su priključeni motori/servo upravljači
- Maks. I min. Za servo i motore
- Maks. I min. Za raspon radijskih kanala
Zatim, postoji odjeljak deklaracije varijabli gdje se deklariraju varijable motora/servo motora.
U slučaju da vozite više od jednog motora i jednog servo priključenog, kako je opisano u prethodnoj shemi, morate izmijeniti skicu i dodati kôd za rukovanje dodatnim motorima/servo motorima koje ste priključili. Morate dodati onoliko Servo, servo_value i motor_value koliko servo/motora koristite.
Unutar odjeljka deklaracije varijabli također postoje neke promjenjive varijable koje se koriste za Capture Compare signala cPPM. NE MIJENJITE TE PROMJENE!
Ono što trebate sljedeće učiniti je u funkciji loop (). Ovdje možete odlučiti na koji način ćete koristiti vrijednost dolaznih kanala.
U mom slučaju ulaznu sam vrijednost povezao izravno na motor i servo, ali ste više nego dobrodošli promijeniti je u skladu sa svojim potrebama! U videu i slikama povezanim u ovom vodiču spojio sam 2 motora i 2 servo -a, no moglo bi biti 3, 4, 5, … do maksimalno dostupnih slobodnih pinova (13 u slučaju uChipa).
Snimljenu vrijednost kanala možete pronaći u nizu ch [index], čiji "indeks" ide od 0 do NUM_CH - 1. Svaki kanal odgovara štapiću/prekidaču/gumbu na vašem radiju. Na vama je da shvatite što je-što-što:)
Konačno, implementirao sam neke funkcije za ispravljanje pogrešaka kako bih lakše razumio što se događa. Komentirajte/uklonite komentar #define DEBUG za ispis na izvornom SerialUSB -u vrijednosti kanala.
SAVJET: Ispod funkcije loop () nalazi se još koda. Ovaj dio koda je neophodan za postavljanje uChip napajanja, upravljanje s prekidima koje generira značajka usporedbe snimanja, postavljanje mjerača vremena i svrhu ispravljanja pogrešaka. U slučaju da se osjećate dovoljno hrabrim poigrati se s registrima, slobodno ga izmijenite!
Uređivanje: Ažurirana skica, ispravljena greška u funkciji mapiranja.
Korak 3: Igrajte se, vozite, utrkujte se, letite
Provjerite jeste li pravilno spojili sustav Tx i Rx. Uključite ga povezivanjem baterije. Provjerite radi li sve. Možete proširiti funkcionalnosti ili promijeniti funkciju svakog kanala kako želite, jer sada imate potpunu kontrolu nad svojim budućim modelom daljinskog upravljača.
Sada, napravite svoj prilagođeni model RC -a!
P. S.: Budući da vezanje može biti prilično dosadno, uskoro planiram objaviti skicu koja omogućuje povezivanje vašeg Tx-Rx sustava, a da to ne morate učiniti ručno. Pratite ažuriranja!