Sadržaj:
2025 Autor: John Day | [email protected]. Zadnja izmjena: 2025-01-13 06:57
Napraviti avion zabavan je izazov. To postaje posebno izazovno kada umjesto arbuina koristite unaprijed izgrađeni kontroler i prijemnik.
U ovom tutorialu pokazat ću vam kako sam radio o radio -upravljanom avionu sa dva arduina.
Korak 1: Šta će vam trebati
Trebat će vam:
- Motor bez četkica
- Esc za motor
- 2 servo motora
- 1 arduino uno
- 1 arduino nano
- Propeler
- 2 nrf24l01 modula
- 2 10uf kondenzatora
- Tabla spužve
- Potenciometar
- Modul džojstika
- NiMH baterija od 3 amp 7,2 volta
Korak 2: Radio kontrole
Koristio sam nrf24l01 za kontrolu aviona. Domet ovog modula je 1 km. Možete vidjeti kako spojiti nrf24l01 na gornjoj shemi. Također morate lemiti kondenzator između mase i 3,3 volta kako biste uzeli u obzir potencijalne padove napona.
Sljedeći korak je unos podataka sa vašeg kontrolera. Koristio sam joystick za upravljanje kormilom i liftom i potenciometar za upravljanje motorom. Morate spojiti potenciometar na pin A0, ja sam spojio joystick na pin A1 i A2.
Sada moramo napraviti prijemnik. Koristio sam arduino nano za prijemnik jer je manji. Morate spojiti nrf24l01 i na ovaj adruino. Nakon toga morate spojiti servosisteme i esc (elektronički regulator brzine za motor) na arduino. Spojio sam se na servo na pin D4 i D5, esc je bio spojen na pin D9.
Ovo je kod koji sam koristio za odašiljač:
#include #include #include
Radio RF24 (7, 8);
const bajt adresa [6] = "00001";
void setup () {
radio.begin (); radio.openWritingPipe (adresa); radio.setPALevel (RF24_PA_MAX); radio.setDataRate (RF24_250KBPS); radio.stopListening (); Serial.begin (9600); }
void loop () {{100} {101}
int s = analogRead (0); int x = analogRead (1); int y = analogRead (2); String str = String (s); str += '|' + Niz (x) + '|' + Niz (y); Serial.println (str); const char tekst [20]; str.toCharArray (tekst, 20); Serial.println (tekst); radio.write (& tekst, veličina (tekst)); kašnjenje (10);
}
i evo koda za prijemnik:
#include #include #include #include
Servo esc;
Servo sx; Servo sy; Radio RF24 (7, 8);
const bajt adresa [6] = "00001";
void setup () {
// ovdje postavite svoj kôd za postavljanje, da biste ga jednom pokrenuli: radio.begin (); radio.openReadingPipe (0, adresa); radio.setPALevel (RF24_PA_MAX); radio.setDataRate (RF24_250KBPS); esc.attach (9); sx.attach (4); sy.attach (5); esc.writeMicroseconds (1000); // inicijalizira signal na 1000 radio.startListening (); Serial.begin (9600); }
void loop () {{100} {101}
char text [32] = ""; if (radio.available ()) {radio.read (& text, sizeof (text)); String transData = String (tekst); //Serial.println(getValue(transData, '|', 1));
int s = getValue (transData, '|', 0).toInt ();
s = karta (s, 0, 1023, 1000, 2000); // preslikavanje val na minimum i maksimum (Promijeni ako je potrebno) Serial.println (transData); esc.writeMicroseconds (s); // koristeći val kao signal za esc int sxVal = getValue (transData, '|', 1).toInt (); int syVal = getValue (transData, '|', 2).toInt ();
sx.write (mapa (sxVal, 0, 1023, 0, 180));
sy.write (mapa (syVal, 0, 1023, 0, 180));
}
}
String getValue (Podaci niza, separator znakova, 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) == separator || i == maxIndex) {found ++; strIndex [0] = strIndex [1] +1; strIndex [1] = (i == maxIndex)? i+1: i; }}
povratak pronađen> indeks? data.substring (strIndex [0], strIndex [1]): "";
}
Korak 3: Fusualage i stabilizatori
Sad kad ste postavili elektroniku, potreban vam je avion za umetanje elektronike. Koristio sam foamboard jer je lagan i relativno jak. Fusualge je samo rentang koji se tanji prema repu. Fusualge nije toliko važan za aerodinamiku. Najvažnije je da će se sve uklopiti u njega, a istovremeno ga držati što je moguće manjim i svjetlijim.
Horizontalni i vertikalni stabilizator je prilično jednostavan za izradu. Jedina važna stvar je da su vaši stabilizatori savršeno ravni. Stabalizatori su odgovorni za održavanje stabilnosti aviona. Kada vaši stabilizatori nisu ravni, vaš avion će biti nestabilan.
Korak 4: Krila
Krila su vjerojatno najvažnija stvar, morate stvoriti profil za generiranje dizanja. Na gornjoj slici možete vidjeti kako sam napravio svoj profil.
Najvažnije je da se težište aviona nalazi oko najviše točke zračnog profila. na ovaj način avion će biti stabilan.
Korak 5: Stavljanje svega zajedno
Sada kada smo završili sve dijelove, moramo sve spojiti.
Servo treba biti povezan sa stabilizatorima. to se može učiniti pomoću upravljačkih šipki (vidi gornju sliku)
Motor je potrebno staviti na komad pjene i zalijepiti ispred ravnine (ili upotrijebiti elastične trake kako biste ga mogli ukloniti po potrebi).
za postavljanje motora potreban vam je propeler, veličina ovog propelera ovisi o motoru. Izračunavanje optimalne veličine vrlo je komplicirano. Ali opće je pravilo da što je motor jači, to propeler može biti veći.
Za bateriju se preporučuje upotreba lipo baterija. međutim, ovim baterijama je potreban poseban punjač ako ne želite da eksplodiraju. Zato sam koristio nimh baterije, one su teže, ali lakše i jeftinije za upotrebu.