- Johdoton DC-moottori RC-autoille
- Tarvittavat materiaalit
- RF-ohjaussauva RC-autoille Arduinoa käyttämällä
- Arduino RC -piirikaavio
- Piirilevyn valmistus Arduino RC -autolle
- Piirilevyn kokoaminen
- 3D-tulostuspyörät ja moottorikiinnike
- Arduinon ohjelmointi
- Arduino RC Car toimii
RC-autoilla on aina hauskaa pelata, olen henkilökohtaisesti suuri näiden kauko-ohjattavien autojen fani ja olen pelannut (yhä) heidän kanssaan paljon. Suurin osa näistä autoista tarjoaa nykyään valtavan vääntömomentin käsittelemään epätasaisia maastoja, mutta on jotain, joka oli aina myöhässä, sen nopeus !!.. Joten rakennamme tässä projektissa täysin toisen tyyppisen RC-auton käyttämällä pääkeskusta Arduinoa. Tämän auton tavoitteena on saavuttaa suurin nopeus, joten päätin kokeilla sydämetöntä DC-moottoria RC-autolle. Näitä moottoreita käytetään normaalisti droneissa ja niiden nimellisnopeus on 39000 r / min jonka pitäisi olla enemmän kuin tarpeeksi vaimentamaan janoamme. Auton virtalähde on pieni litiumakku, ja sitä voidaan ohjata etänä nRF24L01 RF -moduulilla. Vaihtoehtoisesti, jos etsit jotain yksinkertaista, voit myös tarkistaa nämä yksinkertaiset RF-robotti- ja Raspberry Pi Bluetooth -autoprojektit.
Johdoton DC-moottori RC-autoille
Coreless DC-moottori, jota käytetään tässä projektissa on esitetty alla olevassa kuvassa. Löydät ne helposti, koska niitä käytetään laajasti mini-droneissa. Etsi vain 8520 magneettinen mikrotonta moottoria ja löydät ne.
DC-moottoreiden käytöllä RC-autossa on nyt tiettyjä haittoja. Ensinnäkin ne tarjoavat erittäin alhaisen vääntömomentin, joten RC-automme tulisi olla mahdollisimman kevyt. Siksi päätin rakentaa koko auton piirilevyn päälle SMD-komponenttien avulla ja pienentää levyn kokoa mahdollisimman paljon. Toinen ongelma on sen suuri nopeus, 39000 kierrosta / min (akselin kierrosluku) on vaikea käsitellä, joten tarvitsemme nopeuden säätöpiirin Arduino-puolelle, jonka rakensimme MOSFETillä. Kolmas asia on, että nämä moottorit saavat virtansa yhdestä litiumpolymeeriakusta, jonka käyttöjännite on 3,6–4,2 V, joten meidän on suunniteltava piirimme toimimaan 3,3 V: n jännitteellä. Siksi olemme käyttäneet 3,3 V: n Arduino Pro miniaRC-automme aivoina. Kun nämä ongelmat on selvitetty, katsotaanpa tämän projektin rakentamiseen tarvittavat materiaalit.
Tarvittavat materiaalit
- 3,3 V: n Arduino Pro Mini
- Arduino Nano
- NRF24L01 - 2kpl
- Joystick-moduuli
- SI2302 MOSFET
- 1N5819 Diodi
- Magneton BLDC-moottorit
- AMS1117-3,3V
- Litiumpolymeeriakku
- Vastukset, kondensaattorit,
- Johtojen liittäminen
RF-ohjaussauva RC-autoille Arduinoa käyttämällä
Kuten aiemmin mainittiin, RC-autoa ohjataan etänä RF-ohjaussauvalla. Tämä ohjaussauva rakennetaan myös käyttämällä Arduinoa yhdessä nRF24L01 RF -moduulin kanssa. Olemme myös käyttäneet ohjaussauvamoduulia ohjaamaan RC: tämme vaadittuun suuntaan. Jos olet täysin uusi näistä kahdesta moduulista, voit harkita Interfacing Arduinon kanssa nRF24L01 ja Interfacing Joystickin kanssa Arduino-artikkeleita oppiaksesi, miten ne toimivat ja miten niitä käytetään. Voit rakentaa Arduino RF -kauko-ohjaussauvan noudattamalla alla olevaa piirikaaviota.
RF-joystick-piiri voidaan virtaa käyttämällä nanokortin USB-porttia. NRF24L01-moduuli toimii vain 3,3 V: n jännitteellä, joten olemme käyttäneet 3,3 V: n nastaa Arduinossa. Olen rakentanut piirin leipälaudalle ja se näyttää alla olevalta, voit tarvittaessa luoda myös piirilevyn tälle.
Arduino koodi RF joystick-piiri on melko yksinkertainen, meidän täytyy lukea X-arvon ja Y-arvo meidän Joystick ja lähettää sen RC auton läpi nRF24L01. Tämän piirin täydellinen ohjelma löytyy tämän sivun alaosasta. Emme pääse selitykseen siitä, koska olemme jo keskustelleet siitä yllä olevassa jaetussa rajapintaprojektilinkissä.
Arduino RC -piirikaavio
Kauko-ohjattavan Arduino- automme täydellinen kytkentäkaavio on esitetty alla. Kytkentäkaavio sisältää myös mahdollisuuden lisätä kaksi TCRT5000 IR -moduulia autollemme. Tämän tarkoituksena oli antaa RC-autollemme mahdollisuus toimia linjaa seuraavana robottina, jotta se voisi toimia yksin ilman ulkoista ohjausta. Tämän projektin vuoksi emme kuitenkaan keskity siihen. Pysy kuulolla toisella projektin opetusohjelmalla, jossa yritämme rakentaa "Nopeimman linjaseuraajan robotin". Olen yhdistänyt molemmat piirit yhteen piirilevyyn rakentamisen helpottamiseksi. Voit jättää IR-anturin ja Op-amp-osan tämän projektin ulkopuolelle.
ARC-auto saa virran lipoakusta, joka on kytketty liittimeen P1. AMS117-3.3V käytetään säätelemään 3.3V meidän nRF24L01 ja pro-mini-aluksella. Voimme myös virrata Arduino-kortin suoraan raakanaulaan, mutta pro minin sisäinen 3,3 V: n jännitesäädin ei pysty toimittamaan riittävästi virtaa RF-moduuleihimme, joten olemme käyttäneet ulkoista jännitesäätöä.
Kahden BLDC-moottorin käyttämiseen olemme käyttäneet kahta SI2302 MOSFET -laitetta. On tärkeää varmistaa, että näitä MOSFETS-laitteita voidaan ohjata 3,3 V: lla. Jos et löydä täsmälleen samaa osanumeroa, voit etsiä vastaavia MOSFET-levyjä, joilla on alla olevat siirto-ominaisuudet
Moottorit voivat kuluttaa huippuvirtaa jopa 7 A: iin (jatkuva testattiin 3A: ksi kuormitettuna), joten MOSFET-tyhjennysvirran tulisi olla vähintään 7 A ja sen pitäisi kytkeytyä kokonaan päälle 3,3 V: lla. Kuten näette täällä, valitsemamme MOSFET voi tuottaa 10A jopa 2,25 V: n jännitteellä, joten se on ihanteellinen valinta.
Piirilevyn valmistus Arduino RC -autolle
Hauska osa tämän projektin rakentamisessa oli PCB-kehitys. Tässä olevat piirilevyt eivät ainoastaan muodosta virtapiiriä, vaan toimivat myös autollemme alustana, joten suunnitelimme autoa etsivän mallin, jossa on vaihtoehdot moottoreiden asentamiseksi helposti. Voit myös yrittää suunnitella oman piirilevyn yllä olevalla piirillä tai voit käyttää piirilevymallia, joka näyttää tältä alla, kun se on valmis.
Kuten näette, olen suunnitellut piirilevyn asentamaan akun, moottorin ja muut komponentit helposti. Voit ladata Gerber-tiedoston tälle piirilevylle linkistä. Kun olet valmis Gerber-tiedostoon, on aika valmistaa se. Noudata seuraavia ohjeita, jotta PCBGOGO voi tehdä piirilevyt helposti
Vaihe 1: Mene osoitteeseen www.pcbgogo.com, rekisteröidy, jos olet ensimmäinen kerta. Syötä sitten piirilevyn prototyyppi -välilehdelle piirilevyn mitat, kerrosten määrä ja tarvitsemasi piirilevyn määrä. Piirikorttini on 80 cm × 80 cm, joten välilehti näyttää tältä alla.
Vaihe 2: Jatka napsauttamalla Lainaa nyt -painiketta. Sinut siirretään sivulle, jossa voit tarvittaessa asettaa muutamia lisäparametreja, kuten käytetyn raidan etäisyyden jne., Mutta useimmiten oletusarvot toimivat hyvin. Ainoa asia, joka meidän on otettava huomioon tässä, on hinta ja aika. Kuten näette, rakennusaika on vain 2-3 päivää ja se maksaa vain 5 dollaria PSB: lle. Tämän jälkeen voit valita haluamasi toimitustavan tarpeidesi mukaan.
Vaihe 3: Viimeinen vaihe on lähettää Gerber-tiedosto ja jatkaa maksua. Varmistaaksesi prosessin sujuvuuden, PCBGOGO tarkistaa ennen maksun suorittamista, onko Gerber-tiedostosi kelvollinen. Näin voit olla varma, että piirilevysi on valmistusystävällinen ja tavoittaa sinut sitoutuneena.
Piirilevyn kokoaminen
Kun levy oli tilattu, se saapui minuun muutaman päivän kuluttua, vaikka kuriiri oli siististi merkittyssä hyvin pakatussa laatikossa ja kuten aina piirilevyn laatu oli mahtava. Jaan muutaman kuvan alla olevista taulukoista, jotta voit arvioida.
Kytkin juottotangon päälle ja aloin koota levyä. Koska jalanjäljet, tyynyt, läpiviennit ja silkkipaino ovat täydellisen oikean muotoisia ja kokoisia, minulla ei ollut mitään ongelmia levyn kokoamisessa. Lauta oli valmis vain 10 minuutissa laatikon purkamisesta.
Muutama kuva taulusta juottamisen jälkeen on esitetty alla.
3D-tulostuspyörät ja moottorikiinnike
Kuten olet ehkä huomannut yllä olevassa kuvassa, meidän on 3D-moottorikiinnike ja robotin pyörät. Jos olet käyttänyt yllä jaettua PCB Gerber -tiedostoa, voit yhtä hyvin käyttää 3D-mallia lataamalla sen tältä asiayhteyslinkiltä.
Olen käyttänyt Curaa viipaloimaan mallit ja tulostanut ne käyttämällä Tevo Terantualaa ilman tukia ja 0% täytettä painon vähentämiseksi. Voit muuttaa asetusta tulostimellemme sopivaksi. Koska moottorit pyörivät erittäin nopeasti, minusta oli vaikeaa suunnitella pyörä, joka sopii tiukasti moottorin akseliin. Siksi päätin käyttää drone-teriä pyörän sisällä, kuten alla näkyy
Minusta tämä oli luotettavampaa ja tukevampaa, kokeile kuitenkin erilaisia pyörämalleja ja ilmoita minulle kommenttiosassa, mikä toimi sinulle.
Arduinon ohjelmointi
Tämän projektin täydellinen ohjelma (sekä Arduino nano että pro mini) löytyy tämän sivun alaosasta. RC-ohjelmasi selitys on seuraava
Aloitamme ohjelman sisällyttämällä vaaditun otsikkotiedoston. Huomaa, että nRF24l01-moduuli edellyttää kirjaston lisäämistä Arduino IDE -laitteeseesi, voit ladata RF24-kirjaston Githubista tämän linkin avulla. Sen lisäksi olemme jo määrittäneet robotillemme vähimmäisnopeuden ja -nopeuden. Pienin ja suurin alue ovat 0-1024.
#define min_speed 200 #define max_speed 800 #insulje
Sitten asetustoiminnon sisällä alustamme nRF24L01-moduulin. Olemme käyttäneet 115 kaistaa, koska se ei ole ruuhkainen ja olemme asettaneet moduulin toimimaan pienellä teholla, voit myös pelata näiden asetusten kanssa.
void setup () {Sarja.alku (9600); myRadio.begin (); myRadio.setChannel (115); // 115 kaistaa WIFI-signaalien yläpuolella myRadio.setPALevel (RF24_PA_MIN); // MIN teho matala raivo myRadio.setDataRate (RF24_250KBPS); // Pienin nopeus}
Seuraavaksi pääsilmukka-toiminnossa suoritamme vain ReadData-toiminnon, jolla luemme jatkuvasti lähettimen ohjaussauvan moduuliltamme lähetettyä arvoa. Huomaa, että ohjelmassa mainitun putken osoitteen tulee olla sama kuin lähetinohjelmassa mainitun. Olemme myös tulostaneet arvon, jonka saamme virheenkorjausta varten. Kun arvo on luettu onnistuneesti, suoritamme Control Car -toiminnon ohjaamaan RC-
autojamme Rf-moduulista saadun arvon perusteella.
void ReadData () {myRadio.openReadingPipe (1, 0xF0F0F0F0AA); // Mikä putki luetaan, 40-bittinen Osoite myRadio.startListening (); // Lopeta tiedonsiirto ja aloita uudelleenhinnoittelu, jos (myRadio.available ()) {while (myRadio.available ()) {myRadio.read (& data, sizeof (data)); } Sarja.tulos ("\ nVastaanotettu:"); Serial.println (data.msg); vastaanotettu = data.msg; Ohjausauto (); }}
Control Car -toiminnon sisällä ohjaamme PWM-nastoihin kytkettyjä moottoreita analogisen kirjoitustoiminnon avulla. Lähetinohjelmassamme olemme muuntaneet analogiset arvot nanon A0- ja A1-nastasta 1-10, 11-20, 21-30 ja 31-40 auton hallitsemiseksi eteenpäin, taaksepäin, vasemmalle ja oikealle. Alla olevaa ohjelmaa käytetään robotin ohjaamiseen eteenpäin
if (vastaanotettu> = 1 && vastaanotettu = = 10) // Siirry eteenpäin {int PWM_Value = kartta (vastaanotettu, 1, 10, min_nopeus, max_nopeus); analogWrite (R_MR, PWM_Value); analogWrite (L_MR, PWM_Value); }
Vastaavasti voimme myös kirjoittaa kolme muuta toimintoa taaksepäin, vasemmalle ja oikealle ohjaukselle alla olevan kuvan mukaisesti.
if (vastaanotettu> = 11 && vastaanotettu = = 20) // Break {int PWM_Value = kartta (vastaanotettu, 11, 20, min_speed, max_speed); analoginen kirjoitus (R_MR, 0); analoginen kirjoitus (L_MR, 0); } if (vastaanotettu> = 21 && saanut <= 30) // Käänny vasemmalle {int PWM_Value = kartta (vastaanotettu, 21, 30, min_nopeus, max_nopeus); analogWrite (R_MR, PWM_Value); analoginen kirjoitus (L_MR, 0); } if (vastaanotettu> = 31 && saanut <= 40) // Käänny oikealle {int PWM_Value = kartta (vastaanotettu, 31, 40, min_nopeus, max_nopeus); analoginen kirjoitus (R_MR, 0); analogWrite (L_MR, PWM_Value); }
Arduino RC Car toimii
Kun olet tehnyt koodin, lataa se pro-mini-aluksella. Poista paristo ja piirilevy FTDI-moduulin kautta testausta varten. Käynnistä koodi, avaa sarjaparisto ja sinun pitäisi saada arvo lähettimen ohjaussauvan moduulista. Liitä akku, ja myös moottorisi pitäisi alkaa pyöriä.
Projektin täydellinen toiminta löytyy videosta, joka on linkitetty tämän sivun alaosaan. Jos sinulla on kysyttävää, jätä ne kommenttiosioon. Voit myös käyttää foorumeitamme saadaksesi nopeita vastauksia muihin teknisiin kysymyksiisi.