Inhoudsopgave:

Een RC-vliegtuig maken met 2 Arduino's - Ajarnpa
Een RC-vliegtuig maken met 2 Arduino's - Ajarnpa

Video: Een RC-vliegtuig maken met 2 Arduino's - Ajarnpa

Video: Een RC-vliegtuig maken met 2 Arduino's - Ajarnpa
Video: DIY Arduino Uno Quadcopter : Hardware and Source Code, fabriquer un Quadcopter Arduino UNO 2024, Juli-
Anonim
Een RC-vliegtuig maken met 2 Arduino's
Een RC-vliegtuig maken met 2 Arduino's

Een vliegtuig maken is een leuke uitdaging. Het wordt vooral een uitdaging als je arduino's gebruikt in plaats van een vooraf gebouwde controller en ontvanger.

In deze tutorial laat ik je zien hoe ik te werk ben gegaan om een radiografisch bestuurbaar vliegtuig te maken met twee arduino's.

Stap 1: Wat u nodig heeft

Je zal nodig hebben:

- Een borstelloze motor

- Een esc voor de motor

- 2 servo's

- 1 arduino uno

- 1 arduino nano

- Een propeller

- 2 nrf24l01-modules

- 2 10uf condensatoren

- Schuimbord

- Een potentiometer

- Een joystickmodule

- Een 3 amp 7,2 volt niMH-batterij

Stap 2: De radiobediening

De radiobediening
De radiobediening
De radiobediening
De radiobediening

Ik gebruikte een nrf24l01 om het vliegtuig te besturen. Deze module heeft een bereik van 1 km. U kunt zien hoe u de nrf24l01 aansluit in het bovenstaande schema. U moet ook de condensator tussen de grond en de 3,3 volt solderen om mogelijke spanningsdalingen op te vangen.

De volgende stap is om input van je controller te krijgen. Ik gebruikte een joystick voor de roer- en hoogteroerbediening en een potentiometer voor de motorbediening. Je moet de potentiometer aansluiten op pin A0, ik heb de joystick aangesloten op pin A1 en A2.

Nu moeten we de ontvanger maken. Ik heb een arduino nano gebruikt voor de ontvanger omdat deze kleiner is. Je moet ook de nrf24l01 op deze adruino aansluiten. Daarna moet je de servo's en de esc (elektronische snelheidsregelaar voor de motor) op de arduino aansluiten. Ik verbond de servo's met pin D4 en D5, de esc was verbonden met pin D9.

Dit is de code die ik voor de zender heb gebruikt:

#include #include #include

RF24-radio (7, 8);

const byte-adres [6] = "00001";

ongeldige setup() {

radio.begin(); radio.openWritingPipe(adres); radio.setPALevel(RF24_PA_MAX); radio.setDataRate(RF24_250KBPS); radio.stopListening(); Serieel.begin(9600); }

lege lus() {

int s = analoog lezen (0); int x = analoog lezen(1); int y = analoog lezen (2); String str = String(s); str += '|' + Tekenreeks(x) + '|' + Tekenreeks (y); Serieel.println(str); const char tekst [20]; str.naarCharArray(tekst, 20); Serial.println(tekst); radio.write(&text, sizeof(text)); vertraging(10);

}

en hier is de code voor de ontvanger:

#include #include #include #include

servo-esc;

servo-sx; servo systeem; RF24-radio (7, 8);

const byte-adres [6] = "00001";

ongeldige setup() {

// plaats hier je setup-code om een keer uit te voeren: radio.begin(); radio.openReadingPipe(0, adres); radio.setPALevel(RF24_PA_MAX); radio.setDataRate(RF24_250KBPS); esc.attach(9); sx.attach(4); sy.attach(5); esc.writeMicroseconden(1000); // initialiseer het signaal naar 1000 radio.startListening(); Serieel.begin(9600); }

lege lus() {

char tekst[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= kaart(en, 0, 1023, 1000, 2000); // waarde toewijzen aan minimum en maximum (wijzig indien nodig) Serial.println (transData); esc.writeMicroseconden(en); // gebruik val als het signaal om te esc int sxVal = getValue (transData, '|', 1).toInt(); int syVal = getValue(transData, '|', 2).toInt();

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

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

}

}

String getValue(String data, char separator, int index)

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

for(int i=0; i<=maxIndex && gevonden<=index; i++){ if(data.charAt(i)==scheidingsteken || i==maxIndex){ gevonden++; strIndex[0] = strIndex[1]+1; strIndex[1] = (i == maxIndex) ? ik+1: ik; } }

terug gevonden>index? data.substring(strIndex[0], strIndex[1]): "";

}

Stap 3: De fusualage en stabilisatoren

De fusualage en stabilisatoren
De fusualage en stabilisatoren

Nu je je elektronica hebt ingesteld, heb je een vliegtuig nodig om de elektronica in te plaatsen. Ik heb foamboard gebruikt omdat het licht en relatief sterk is. De fusualge is slechts een rechthoek die dunner wordt naar de staart toe. De fusualge is niet zo belangrijk voor aerodynamica. Het belangrijkste is dat alles erin past en tegelijkertijd zo klein en licht mogelijk blijft.

De horizontale en verticale stabilisator zijn niet eenvoudig te maken. Het enige belangrijke is dat je stabilisatoren perfect recht zijn. De stabilisatoren zijn verantwoordelijk voor het stabiel houden van het vliegtuig. Als je stabilisatoren niet recht zijn, zal je vliegtuig instabiel zijn.

Stap 4: De vleugels

De vleugels
De vleugels

De vleugels zijn waarschijnlijk het belangrijkste, je moet een vleugel maken om lift te genereren. Op de foto hierboven kun je zien hoe ik mijn vleugelprofiel heb gemaakt.

Het belangrijkste is dat het zwaartepunt van het vliegtuig zich rond het hoogste punt van het vleugelprofiel bevindt. op deze manier zal het vliegtuig stabiel zijn.

Stap 5: Alles samenbrengen

Alles samenbrengen
Alles samenbrengen
Alles samenbrengen
Alles samenbrengen
Alles samenbrengen
Alles samenbrengen

Nu we alle onderdelen hebben gedaan, moeten we alles in elkaar zetten.

De servo's moeten worden aangesloten op de stabilisatoren. dit kan met stuurstangen (zie foto hierboven)

De motor moet op een stuk schuim worden geplaatst en voor het vliegtuig worden gelijmd (of gebruik elastische banden zodat u deze kunt verwijderen wanneer dat nodig is).

je hebt een propeller nodig om op de motor te zetten, de grootte van deze propeller is afhankelijk van de motor. Het is erg ingewikkeld om de optimale maat te berekenen. Maar een algemene regel is dat hoe sterker de motor, hoe groter de propeller kan zijn.

Voor de accu is het aan te raden om lipo accu's te gebruiken. deze accu's hebben echter een speciale oplader nodig als je niet wilt dat ze ontploffen. Daarom heb ik nimh batterijen gebruikt, deze zijn zwaarder maar makkelijker en goedkoper in gebruik.

Aanbevolen: