Satura rādītājs:

Rc lidmašīnas izveidošana ar 2 Arduino: 5 soļi
Rc lidmašīnas izveidošana ar 2 Arduino: 5 soļi

Video: Rc lidmašīnas izveidošana ar 2 Arduino: 5 soļi

Video: Rc lidmašīnas izveidošana ar 2 Arduino: 5 soļi
Video: Big RC Plane | Saktiman in real life 😎 2024, Novembris
Anonim
Rc lidmašīnas izveide ar 2 Arduino
Rc lidmašīnas izveide ar 2 Arduino

Lidmašīnas izgatavošana ir jautrs izaicinājums. Tas kļūst īpaši izaicinoši, ja iepriekš lietojamu kontrolieri un uztvērēju izmantojat arduino.

Šajā apmācībā es jums parādīšu, kā es izveidoju radio vadāmu lidmašīnu ar diviem arduino.

1. darbība. Kas jums būs nepieciešams

Jums būs nepieciešams:

- motors bez birstēm

- Esc motoram

- 2 servo

- 1 arduino uno

- 1 arduino nano

- Propellers

- 2 nrf24l01 moduļi

- 2 10uf kondensatori

- putuplasts

- potenciometrs

- kursorsviras modulis

- 3 amp 7,2 voltu niMH akumulators

2. darbība: radio vadība

Radio vadība
Radio vadība
Radio vadība
Radio vadība

Lidmašīnas vadīšanai es izmantoju nrf24l01. Šī moduļa darbības rādiuss ir 1 km. Iepriekš redzamajā shēmā varat redzēt, kā savienot nrf24l01. Jums ir arī jālodē kondensators starp zemi un 3,3 volti, lai novērstu iespējamos sprieguma kritumus.

Nākamais solis ir iegūt informāciju no jūsu kontroliera. Es stūres un lifta vadības ierīcēm izmantoju kursorsviru, bet motora vadībai - potenciometru. Jums ir jāpievieno potenciometrs pie tapas A0, es pievienoju kursorsviru ar tapu A1 un A2.

Tagad mums ir jāizveido uztvērējs. Uztvērējam es izmantoju arduino nano, jo tas ir mazāks. Jums arī ir jāpievieno nrf24l01 šim adruino. Pēc tam jums ir jāpievieno servo un esc (motora elektroniskais ātruma regulators) arduino. Es pieslēdzos pie servo pie D4 un D5 tapas, esc bija savienots ar D9 tapu.

Šis ir kods, ko izmantoju raidītājam:

#iekļaut #iekļaut #iekļaut

Radio RF24 (7, 8);

konstanta baita adrese [6] = "00001";

void setup () {

radio.begin (); radio.openWritingPipe (adrese); radio.setPALevel (RF24_PA_MAX); radio.setDataRate (RF24_250KBPS); radio.stopListening (); Sērijas sākums (9600); }

void loop () {

int s = analogRead (0); int x = analogRead (1); int y = analogRead (2); String str = String (s); str += '|' + Virkne (x) + '|' + Stīga (y); Serial.println (str); const char teksts [20]; str.toCharArray (teksts, 20); Serial.println (teksts); radio.write (& teksts, izmērs (teksts)); kavēšanās (10);

}

un šeit ir uztvērēja kods:

#iekļaut #iekļaut #iekļaut #iekļaut

Servo esc;

Servo sx; Servo sy; Radio RF24 (7, 8);

konstanta baita adrese [6] = "00001";

void setup () {

// ievietojiet šeit savu iestatīšanas kodu, lai palaistu vienu reizi: radio.begin (); radio.openReadingPipe (0, adrese); radio.setPALevel (RF24_PA_MAX); radio.setDataRate (RF24_250KBPS); esc.pielikums (9); sx.pielikums (4); sy.attach (5); esc.writeMikrosekundes (1000); // inicializēt signālu līdz 1000 radio.startListening (); Sērijas sākums (9600); }

void loop () {

simbolu teksts [32] = ""; if (radio.available ()) {radio.read (& text, sizeof (text)); String transData = String (teksts); //Serial.println(getValue(transData, '|', 1));

int s = getValue (transData, '|', 0). toInt ();

s = karte (s, 0, 1023, 1000, 2000); // kartēšanas val līdz minimumam un maksimumam (Mainīt, ja nepieciešams) Serial.println (transData); esc.writeMikrosekundes (s); // izmantojot val kā signālu, lai esc int sxVal = getValue (transData, '|', 1).toInt (); int syVal = getValue (transData, '|', 2). toInt ();

sx.write (karte (sxVal, 0, 1023, 0, 180));

sy.write (karte (syVal, 0, 1023, 0, 180));

}

}

String getValue (virkņu dati, rakstzīmju atdalītājs, int indekss)

{int atrasts = 0; int strIndex = {0, -1}; int maxIndex = dati.garums ()-1;

par (int i = 0; i <= maxIndex && atrasts <= indekss; i ++) {ja (data.charAt (i) == atdalītājs || i == maxIndex) {atrasts ++; strIndex [0] = strIndex [1] +1; strIndex [1] = (i == maxIndex)? i+1: i; }}

atrašana atrasta> indekss? data.substring (strIndex [0], strIndex [1]): "";

}

3. solis: Fusualage un stabilizatori

Fusualage un stabilizatori
Fusualage un stabilizatori

Tagad, kad esat iestatījis elektroniku, jums ir nepieciešama lidmašīna, lai ievietotu elektroniku. Es izmantoju putuplastu, jo tas ir viegls un salīdzinoši spēcīgs. Fusualge ir tikai taisnstūris, kas kļūst plānāks pret asti. Fusualge nav tik svarīgs aerodinamikai. Vissvarīgākais ir tas, ka tajā ietilps viss, vienlaikus saglabājot to pēc iespējas mazāku un vieglāku.

Horizontālo un vertikālo stabilizatoru ir viegli izgatavot. Svarīgi ir tikai tas, ka jūsu stabilizatori ir pilnīgi taisni. Stabalizatori ir atbildīgi par lidmašīnas noturību. Ja jūsu stabilizatori nav taisni, jūsu lidmašīna būs nestabila.

4. solis: spārni

Spārni
Spārni

Spārni, iespējams, ir vissvarīgākā lieta, jums ir jāizveido aerofons, lai radītu pacelšanos. Augšējā attēlā jūs varat redzēt, kā es izveidoju savu aerofilu.

Vissvarīgākais ir tas, ka lidmašīnas smaguma centrs atrodas ap gaisa vāka augstāko punktu. tādā veidā lidmašīna būs stabila.

5. solis: visu salieciet kopā

Visu salikt kopā
Visu salikt kopā
Visu salikt kopā
Visu salikt kopā
Visu salikt kopā
Visu salikt kopā

Tagad, kad visas daļas ir pabeigtas, mums tas viss ir jāsaliek kopā.

Servo ir jāpievieno stabilizatoriem. to var izdarīt ar vadības stieņiem (skatīt attēlu iepriekš)

Motors jāuzliek uz putu gabala un jāpielīmē lidmašīnas priekšā (vai izmantojiet elestiskas lentes, lai vajadzības gadījumā varētu to noņemt).

motora uzlikšanai nepieciešams dzenskrūve, šī dzenskrūves izmērs ir atkarīgs no motora. Ir ļoti sarežģīti aprēķināt optimālo izmēru. Bet vispārējs noteikums ir tāds, ka jo spēcīgāks motors, jo lielāks var būt dzenskrūve.

Akumulatoram ieteicams izmantot lipo akumulatoru. tomēr šiem akumulatoriem ir nepieciešams īpašs lādētājs, ja nevēlaties, lai tie eksplodētu. Tāpēc es izmantoju nimh akumulatorus, tie ir smagāki, bet vieglāk un lētāk lietojami.

Ieteicams: