- Jednosmjerni motor bez jezgre za RC automobile
- Potrebni materijali
- RF džojstik za RC automobil koji koristi Arduino
- Shema kruga automobila Arduino RC
- Izrada PCB-a za Arduino RC Car
- Sastavljanje PCB-a
- Kotačići za 3D ispis i nosač motora
- Programiranje Arduina
- Rad Arduino RC automobila
S RC automobilima uvijek je zabavno igrati, osobno sam veliki obožavatelj ovih automobila na daljinsko upravljanje i s njima sam se i dalje intenzivno igrao. Većina ovih automobila danas pruža ogroman obrtni moment za upravljanje neravnim terenima, ali postoji nešto što je uvijek zaostajalo, njegova brzina !!.. Dakle, u ovom ćemo projektu izgraditi potpuno drugačiju vrstu RC automobila koristeći Arduino, glavni Cilj ovog automobila je postići maksimalnu brzinu, stoga sam odlučio isprobati DC motor bez jezgre za RC automobil. Ti se motori obično koriste u bespilotnim letjelicama i predviđeni su za 39000 o / min što bi trebalo biti više nego dovoljno da utažimo brzinsku žeđ. Automobil će se napajati malom litijevom baterijom i njime se može upravljati daljinski pomoću RF modula nRF24L01. Ako tražite nešto jednostavno, također možete provjeriti ovaj projekt Jednostavnog RF robota i Raspberry Pi Bluetooth automobila.
Jednosmjerni motor bez jezgre za RC automobile
Coreless DC motor koji se koristi u ovom projektu je prikazan na slici ispod. Možete ih lako pronaći jer se široko koriste u mini dronovima. Samo potražite 8520 Magnetic Micro Core Core Motor i pronaći ćete ih.

Sada postoje određeni nedostaci kod upotrebe istosmjernih motora za RC automobil. Prva stvar je što pružaju vrlo nizak zakretni moment, stoga bi naš RC automobil trebao biti što lakši. Zbog toga sam odlučio izgraditi cijeli automobil na ploči koristeći SMD komponente i smanjiti veličinu ploče što je više moguće. Drugi problem je njegova velika brzina, 39000 o / min (okr / min osovine) teško je rukovati, pa nam je potreban krug za kontrolu brzine na strani Arduino, koji smo izgradili pomoću MOSFET-a. Treća stvar je da će se ovi motori napajati jednom litij-polimernom baterijom s radnim naponom između 3,6 V i 4,2 V, tako da moramo dizajnirati svoj krug da radi na 3,3 V. Zbog toga smo koristili 3.3V Arduino Pro minikao mozak našeg RC automobila. S ovim riješenim problemima, pogledajmo materijale potrebne za izgradnju ovog projekta.
Potrebni materijali
- 3,3 V Arduino Pro Mini
- Arduino Nano
- NRF24L01 - 2kom
- Modul džojstika
- SI2302 MOSFET
- 1N5819 Dioda
- BLDC motori bez jezgre
- AMS1117-3.3V
- Litij polimerna baterija
- Otpornici, kondenzatori,
- Spajanje žica
RF džojstik za RC automobil koji koristi Arduino
Kao što je ranije spomenuto, RC automobilom će se upravljati daljinski pomoću RF džojstika. Ovaj džojstik također će biti izrađen pomoću Arduina zajedno s nRF24L01 RF modulom, mi smo također koristili džojstik modul za kontrolu našeg RC-a u potrebnom smjeru. Ako ste potpuno novi u ova dva modula, možete razmotriti čitanje članaka o povezivanju Arduina s nRF24L01 i povezivanju džojstika s Arduinom da biste saznali kako oni rade i kako ih koristiti. Da biste izradili svoj daljinski upravljač Arduino RF, možete slijediti donji krug.

RF krug džojstika može se napajati pomoću USB priključka nano ploče. Modul nRF24L01 radi samo na 3.3V, stoga smo na Arduinu koristili pin od 3.3V. Strujni krug sam konstruirao na ploči i čini se kako je dolje. Ako je potrebno, za to možete stvoriti i PCB.

Krug Arduino koda za RF džojstik prilično je jednostavan, moramo očitati X vrijednost i Y vrijednost s našeg džojstika i poslati ih u RC automobil putem nRF24L01. Kompletni program za ovaj sklop nalazi se na dnu ove stranice. Nećemo ulaziti u objašnjenje toga, jer smo o tome već razgovarali u gore podijeljenoj poveznici projekta povezivanja.
Shema kruga automobila Arduino RC
Kompletna shema sklopa za naš daljinski upravljani Arduino Car prikazana je u nastavku. Shema sklopa također uključuje mogućnost dodavanja dva TCRT5000 IR modula u naš automobil. To je planirano kako bi naš RC automobil mogao raditi kao robot koji slijedi liniju, tako da može raditi samostalno, bez vanjske kontrole. Međutim, zbog ovog projekta nećemo se koncentrirati na njega, pratite još jedan projektni vodič u kojem ćemo pokušati izraditi "Najbrži robot za sljedbenike". Kombinirao sam oba sklopa na jednoj PCB-u zbog jednostavnosti izrade, za ovaj projekt možete zanemariti IR senzor i odjeljak Op-pojačala.

RC automobil napajat će Lipo baterija spojena na terminal P1. AMS117-3.3V se koristi za regulaciju 3.3V za naše nRF24L01 i naše pro-mini-ploče. Također možemo napajati Arduino ploču izravno na neobrađeni pin, ali ugrađeni regulator napona od 3,3 V na pro mini neće moći isporučiti dovoljno struje na naše RF module, stoga smo koristili vanjski regulator napona.

Za pogon naša dva BLDC motora koristili smo dva SI2302 MOSFET-a. Važno je osigurati da ove MOSFET-ove može pokretati 3,3 V. Ako ne možete pronaći potpuno isti broj dijela, možete potražiti ekvivalentne MOSFET-ove s donjim karakteristikama prijenosa

Motori mogu trošiti vršnu struju do 7A (kontinuirano je testirano da je 3A s opterećenjem), stoga bi MOSFET odvodna struja trebala biti 7A ili više i trebala bi se potpuno uključiti na 3,3V. Kao što ovdje možete vidjeti MOSFET koji smo odabrali može pružiti 10A čak i pri 2,25 V, tako da je idealan izbor.
Izrada PCB-a za Arduino RC Car
Zabavni dio izgradnje ovog projekta bio je razvoj PCB-a. PCB ovdje ne samo da formira sklop već djeluje i kao šasija našeg automobila, pa smo za njega planirali automobil u obliku oblika s opcijama za jednostavno montiranje naših motora. Također možete pokušati dizajnirati vlastiti PCB pomoću gornjeg kruga ili možete koristiti moj dizajn PCB-a koji izgleda ovako dolje nakon dovršetka.

Kao što vidite, PCB sam dizajnirao za jednostavno postavljanje baterije, motora i drugih komponenata. Datoteku Gerber za ovaj PCB možete preuzeti s poveznice. Kad ste spremni za datoteku Gerber, vrijeme je da se ona izradi. Slijedite korake u nastavku kako biste PCBGOGO lako izveli vaše PCB-ove
1. korak: Uđite na www.pcbgogo.com, prijavite se ako ste prvi put. Zatim, na kartici PCB Prototype unesite dimenzije vaše PCB-a, broj slojeva i broj PCB-a koji vam je potreban. Moja PCB je 80 cm × 80 cm, tako da kartica izgleda ovako dolje.

Korak 2: Nastavite klikom na gumb Quote Now . Bit ćete preusmjereni na stranicu na kojoj možete postaviti nekoliko dodatnih parametara ako je potrebno, poput razmaka trase itd. No, uglavnom će zadane vrijednosti dobro funkcionirati. Ovdje moramo uzeti u obzir jedino cijenu i vrijeme. Kao što vidite, vrijeme izrade je samo 2-3 dana, a samo košta 5 USD za naš PSB. Tada možete odabrati željeni način otpreme na temelju svojih zahtjeva.

Korak 3: Posljednji korak je prijenos Gerber datoteke i nastavak plaćanja. Da bi bio siguran da je postupak nesmetan, PCBGOGO provjerava je li vaša Gerber datoteka valjana prije nastavka plaćanja. Na ovaj način možete biti sigurni da je vaša PCB pogodna za proizvodnju i da će vas kontaktirati kao da ste predani.
Sastavljanje PCB-a
Nakon što je ploča naručena, stigla me nakon nekoliko dana, iako je kurir u lijepo označenoj dobro spakiranoj kutiji i kao i uvijek kvaliteta PCB-a bila nevjerojatna. Dijelim nekoliko slika ploča u nastavku kako biste mogli prosuditi.

Uključio sam štap za lemljenje i počeo sastavljati ploču. Budući da su otisci stopala, jastučići, pločice i sitotisak savršeni pravilnog oblika i veličine, nisam imao problema sa sastavljanjem ploče. Daska je bila gotova za samo 10 minuta od trenutka raspakiranja kutije.
Nekoliko slika ploče nakon lemljenja prikazano je u nastavku.

Kotačići za 3D ispis i nosač motora
Kao što ste mogli primijetiti na gornjoj slici, trebamo 3D-nosač motora i kotače za robota. Ako ste koristili našu gore podijeljenu datoteku PCB Gerber, tada biste mogli upotrijebiti i 3D model tako da ga preuzmete s ove veze.

Koristio sam Cura za rezanje svojih modela i tiskao ih pomoću Tevo Terantuale bez nosača i 0% ispune za smanjenje težine. Postavku možete izmijeniti kako odgovara našem pisaču. Budući da se motori vrlo brzo rotiraju, bilo mi je teško dizajnirati kotač koji će čvrsto i čvrsto stati na osovinu motora. Stoga sam odlučio koristiti oštrice dronova unutar kotača kao što možete vidjeti dolje

Otkrio sam da je ovo pouzdanije i čvršće, međutim, eksperimentirajte s različitim izvedbama kotača i u odjeljku za komentare javite mi što vam je pošlo za rukom.
Programiranje Arduina
Kompletni program (i Arduino nano i pro mini) za ovaj projekt nalazi se na dnu ove stranice. Objašnjenje vašeg RC programa je sljedeće
Program pokrećemo uključivanjem potrebne datoteke zaglavlja. Imajte na umu da modul nRF24l01 zahtijeva dodavanje biblioteke u vaš Arduino IDE, RF24 knjižnicu možete preuzeti s Githuba pomoću ove veze. Osim toga, već smo definirali minimalnu i maksimalnu brzinu za našeg robota. Minimalni i maksimalni raspon su od 0 do 1024.
#define min_speed 200 #define max_speed 800 #include
Zatim unutar funkcije postavljanja inicijaliziramo naš modul nRF24L01. Koristili smo 115 opsega jer nije zagušen i postavili smo modul da radi s malom snagom, s tim postavkama možete se i poigrati.
void setup () {Serial.begin (9600); myRadio.begin (); myRadio.setChannel (115); // pojas 115 iznad WIFI signala myRadio.setPALevel (RF24_PA_MIN); // MIN snage low rage myRadio.setDataRate (RF24_250KBPS); // Minimalna brzina}
Sljedeće u funkciji glavne petlje izvršit ćemo samo funkciju ReadData pomoću koje ćemo neprestano čitati vrijednost poslanu s našeg modula upravljačke ručice Transmitter. Imajte na umu da bi adresa cijevi spomenuta u programu trebala biti ista kao ona navedena u programu odašiljača. Također smo ispisali vrijednost koju primamo u svrhu uklanjanja pogrešaka. Nakon što se vrijednost uspješno pročita, izvršit ćemo funkciju Control Car za kontrolu našeg RC automobila na temelju vrijednosti primljene od
Rf modula.
void ReadData () {myRadio.openReadingPipe (1, 0xF0F0F0F0AA); // Koju cijev čitati, 40-bitna adresa myRadio.startListening (); // Zaustavite prenošenje i započnite s otkrivanjem ako (myRadio.available ()) {while (myRadio.available ()) {myRadio.read (& data, sizeof (data)); } Serial.print ("\ nPrimljeno:"); Serial.println (data.msg); primljeno = data.msg; Control_Car (); }}
Unutar funkcije Control Car upravljat ćemo motorima povezanim na PWM pinove pomoću funkcije analognog upisivanja. U našem programu odašiljača pretvorili smo analogne vrijednosti iz A0 i A1 pin-a Nano u 1 do 10, 11 do 20, 21 do 30 i 31 do 40 za upravljanje automobilom prema naprijed, unatrag, lijevo i desno. Program u nastavku koristi se za upravljanje robotom u smjeru naprijed
if (primljeno> = 1 && primljeno <= 10) // Pomakni naprijed {int PWM_Value = map (primljeno, 1, 10, min_brzina, maksimalna brzina); analogWrite (R_MR, PWM_Value); analogWrite (L_MR, PWM_Value); }
Slično tome, možemo napisati još tri funkcije za upravljanje unatrag, lijevo i desno, kao što je prikazano dolje.
if (primljeno> = 11 && primljeno <= 20) // Break {int PWM_Value = map (primljeno, 11, 20, min_brzina, max_brzina); analogWrite (R_MR, 0); analogWrite (L_MR, 0); } if (primljeno> = 21 && primljeno <= 30) // Skrenite ulijevo {int PWM_Value = map (primljeno, 21, 30, min_brzina, maksimalna brzina); analogWrite (R_MR, PWM_Value); analogWrite (L_MR, 0); } if (primljeno> = 31 && primljeno <= 40) // Skrenite udesno {int PWM_Value = map (primljeno, 31, 40, min_brzina, maksimalna brzina); analogWrite (R_MR, 0); analogWrite (L_MR, PWM_Value); }
Rad Arduino RC automobila
Nakon što završite s kodom, prenesite ga na svoju pro-mini ploču. Izvadite bateriju i ploču kroz FTDI modul za testiranje. Pokrenite svoj kôd, otvorite serijsku bateriju i trebali biste primiti vrijednost od modula Joystick vašeg odašiljača. Spojite bateriju i vaši bi se motori trebali početi okretati.

Kompletni rad projekta nalazi se u videozapisu na dnu ove stranice. Ako imate pitanja, ostavite ih u odjeljku za komentare. Naše forume možete koristiti i za brze odgovore na ostala tehnička pitanja.
