Kazalo:

Ustvarjanje Rc ravnine z dvema Arduino -ima: 5 korakov
Ustvarjanje Rc ravnine z dvema Arduino -ima: 5 korakov

Video: Ustvarjanje Rc ravnine z dvema Arduino -ima: 5 korakov

Video: Ustvarjanje Rc ravnine z dvema Arduino -ima: 5 korakov
Video: Как заработать на короткометражках YouTube, просто копиру... 2024, November
Anonim
Ustvarjanje Rc ravnine z dvema Arduino
Ustvarjanje Rc ravnine z dvema Arduino

Izdelava letala je zabaven izziv. Še posebej zahtevno je, če namesto predgrajenega krmilnika in sprejemnika uporabite arduino.

V tem tutorailu vam bom pokazal, kako sem naredil radijsko vodeno letalo z dvema arduinoma.

Korak: Kaj boste potrebovali

Boste potrebovali:

- Brezkrtačni motor

- Esc za motor

- 2 servomotorja

- 1 arduino uno

- 1 arduino nano

- propeler

- 2 modula nrf24l01

- 2 10uf kondenzatorjev

- Foamboard

- potenciometer

- Modul krmilne palice

- 3 amp 7,2 voltna niMH baterija

2. korak: Radijski nadzor

Radijski nadzor
Radijski nadzor
Radijski nadzor
Radijski nadzor

Za nadzor letala sem uporabil nrf24l01. Doseg tega modula je 1 km. Na zgornji shemi si lahko ogledate, kako povezati nrf24l01. Prav tako morate spajkati kondenzator med zemljo in 3,3 volta, da upoštevate morebitne padce napetosti.

Naslednji korak je vnos podatkov iz vašega krmilnika. Uporabil sem krmilno palico za krmiljenje krmila in dvigala ter potenciometer za krmiljenje motorja. Potenciometer morate priključiti na pin A0, jaz sem priključil krmilno palčko na pin A1 in A2.

Zdaj moramo narediti sprejemnik. Za sprejemnik sem uporabil arduino nano, ker je manjši. Nrf24l01 morate povezati tudi s tem adruinom. Po tem morate priključiti servomotorje in esc (elektronski regulator hitrosti za motor) na arduino. Priključil sem se na servo na pin D4 in D5, esc pa na pin D9.

To je koda, ki sem jo uporabil za oddajnik:

#include #include #include

Radio RF24 (7, 8);

naslov bajta const [6] = "00001";

void setup () {

radio.begin (); radio.openWritingPipe (naslov); radio.setPALevel (RF24_PA_MAX); radio.setDataRate (RF24_250KBPS); radio.stopListening (); Serial.begin (9600); }

void loop () {

int s = analogRead (0); int x = analogRead (1); int y = analogRead (2); Niz str = Niz (i); str += '|' + Niz (x) + '|' + Niz (y); Serial.println (str); besedilo const char [20]; str.toCharArray (besedilo, 20); Serial.println (besedilo); radio.write (& besedilo, velikost (besedilo)); zamuda (10);

}

in tukaj je koda za sprejemnik:

#include #include #include #include

Servo esc;

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

naslov bajta const [6] = "00001";

void setup () {

// tukaj vstavite nastavitveno kodo, ki jo želite zagnati enkrat: radio.begin (); radio.openReadingPipe (0, naslov); radio.setPALevel (RF24_PA_MAX); radio.setDataRate (RF24_250KBPS); esc.attach (9); sx.attach (4); sy.attach (5); esc.writeMicroseconds (1000); // inicializiramo signal na 1000 radio.startListening (); Serial.begin (9600); }

void loop () {

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

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

s = zemljevid (s, 0, 1023, 1000, 2000); // preslikava val na minimum in maksimum (po potrebi spremenite) Serial.println (transData); esc.writeMicroseconds (s); // z uporabo val kot signala za esc int sxVal = getValue (transData, '|', 1).toInt (); int syVal = getValue (transData, '|', 2).toInt ();

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

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

}

}

String getValue (Podatkovni niz, ločilo znakov, int indeks)

{int found = 0; int strIndex = {0, -1}; int maxIndex = data.length ()-1;

for (int i = 0; i <= maxIndex && found <= index; i ++) {if (data.charAt (i) == ločilo || i == maxIndex) {najdeno ++; strIndex [0] = strIndex [1] +1; strIndex [1] = (i == maxIndex)? i+1: i; }}

vrnitev najdena> indeks? data.substring (strIndex [0], strIndex [1]): "";

}

3. korak: Fusualage in stabilizatorji

Fusualage in stabilizatorji
Fusualage in stabilizatorji

Zdaj, ko imate nastavljeno elektroniko, potrebujete letalo za vstavljanje elektronike. Uporabil sem penasto ploščo, ker je lahka in razmeroma močna. Fusualge je le retanga, ki se tanjša proti repu. Fusualge ni tako pomemben za aerodinamiko. Najpomembnejše je, da se vanj vse prilega, hkrati pa naj bo čim manjše in lažje.

Vodoravni in navpični stabilizator sta enostavna za izdelavo. Pomembno je le, da so vaši stabilizatorji popolnoma ravni. Stabalizatorji so odgovorni za stabilnost letala. Če vaši stabilizatorji niso ravni, bo vaše letalo nestabilno.

4. korak: Krila

Krila
Krila

Krila so verjetno najpomembnejša stvar. Za ustvarjanje dviga morate ustvariti profil. Na zgornji sliki lahko vidite, kako sem naredil svoj profil.

Najpomembneje je, da je težišče letala okoli najvišje točke letala. tako bo letalo stabilno.

5. korak: Vse skupaj združite

Vse skupaj
Vse skupaj
Vse skupaj
Vse skupaj
Vse skupaj
Vse skupaj

Zdaj, ko imamo opravljene vse dele, moramo vse skupaj sestaviti.

Servo mora biti povezan s stabilizatorji. to lahko storite s krmilnimi palicami (glejte zgornjo sliko)

Motor je treba postaviti na kos pene in ga prilepiti pred ravnino (ali pa uporabiti elastične trakove, da ga lahko odstranite, ko je to potrebno).

za namestitev motorja potrebujete propeler, velikost tega propelerja je odvisna od motorja. Izračun optimalne velikosti je zelo zapleten. Splošno pravilo pa je, da močnejši kot je motor, večji je lahko propeler.

Za baterijo je priporočljivo uporabiti lipo baterije. Vendar pa te baterije potrebujejo poseben polnilnik, če ne želite, da eksplodira. Zato sem uporabil nimh baterije, ki so težje, vendar lažje in cenejše za uporabo.

Priporočena: