Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

Arduino RC-Flugzeug | 100 % DIY

In diesem Tutorial zeige ich Ihnen, wie ich ein Arduino-basiertes RC-Flugzeug baue, und ich zeige Ihnen auch, wie Sie es mit dem benutzerdefinierten Arduino-Sender steuern, den ich in einem meiner vorherigen Videos gebaut habe.

Sie können sich das folgende Video ansehen oder das schriftliche Tutorial unten lesen.

Übersicht

Das Flugzeug besteht also komplett aus Styropor. Für die Herstellung der Formen habe ich meine Arduino CNC Foam Cutting Machine verwendet, die ich Ihnen bereits in einem vorherigen Video gezeigt habe, wie ich sie gebaut habe. Obwohl ich für den Bau dieses Arduino RC-Flugzeugs eine CNC-Maschine verwende, kann ich dennoch sagen, dass es zu 100 % selbst gebaut ist, da die CNC-Maschine auch selbst gebaut ist.

Darüber hinaus ist die Steuerung des Flugzeugs ebenfalls zu 100 % Eigenbau, basierend auf Arduino und dem NRF24L01-Modul für die Funkkommunikation.

Mit dem rechten Joystick des Senders können wir die Querruder und das Höhenruder des Flugzeugs steuern, und mit dem linken Joystick können wir das Seitenruder und das Gas steuern.

Darüber hinaus können wir mit dem rechten Potentiometer das Ansprechverhalten der Steuerung anpassen oder den Servoweg verringern, und mit dem linken Joystick können wir das Seitenruder subtrimmen oder die neutrale Position des Servoarms einstellen.

Oh, und fast hätte ich die Erwähnung vergessen, das Hauptmerkmal dieses Arduino RC-Flugzeugs ist das Fliegen, also ja, es kann fliegen.

Design des RC-Flugzeugs – 3D-Modell

Ich begann damit, das Flugzeug mit einer 3D-Modellierungssoftware, in diesem Fall Fusion 360, zu entwerfen. Ich habe das Design erstellt, indem ich mir einige kommerzielle RC-Flugzeuge angesehen habe und einige grundlegende Richtlinien oder Faustregeln für Modellflugzeugparameter befolgt habe.

Der Ausgangspunkt ist die Flügelspannweite, und ich habe mich für 80 cm entschieden. Daraus ergibt sich die Rumpflänge, die im Allgemeinen 75 % der Spannweite beträgt. Was das Profil oder den Flügelquerschnitt betrifft, habe ich mich für das CLARK Y Airfoil entschieden, das eine beliebte Wahl für RC-Flugzeuge ist.

Ich habe die Tragflächenform von airfoiltools.com als .SVG-Datei heruntergeladen und dann in Fusion 360 importiert. Ich habe die Größe entsprechend angepasst, sodass die Flügelsehne oder die Länge des Flügels in Strömungsrichtung etwa 1/5 beträgt der Spannweite.

Das horizontale und das vertikale Stabilisator sind ebenfalls nach diesen grundlegenden Richtlinien bemessen. Hier sind einige dieser grundlegenden Konstruktionsparameter für RC-Modellflugzeuge:

Der Rumpf des Flugzeugs wird aus zwei 10-mm-Seiten und einem 50-mm-Kern bestehen, der hohl ist, um die Elektronik aufzunehmen.

Sie können das 3D-Modell über die obigen Links herunterladen. Es gibt zwei Versionen des Flugzeugs. Die Version 1 ist die hier in den Bildern gezeigte, und Version 2 hat eine etwas kleinere Nase und der Motor kann weiter vorne platziert werden, um den Luftstrom zu verbessern.

Erzeuge G-Codes für meinen DIY-CNC-Schaumschneider

Da der Arbeitsbereich meiner Arduino CNC-Schaumschneidemaschine auf 45 cm begrenzt ist und der Rumpf eine Länge von 60 cm hat, musste ich den Rumpf aus zwei Teilen machen.

Also schnitt ich den Rumpf 34 cm vom vorderen Punkt entfernt und fertigte eine neue Skizze an, in der ich die Form projizierte und einen Punkt in der Nähe hinzufügte. Als Nächstes kann ich auf der Registerkarte Fertigung von Fusion 360 den G-Code zum Schneiden der Formen generieren.

Hier habe ich zuerst ein neues Setup erstellt, bei dem ich die Skizze als Modell ausgewählt, den zuvor hinzugefügten Punkt als Ursprung für das Setup ausgewählt und die X- und Y-Achse entsprechend angepasst habe.

Dann wählte ich die 2D-Konturoperation und wählte oder generierte ein neues Werkzeug mit einem Durchmesser von 3 mm, weil das die ungefähre Größe der Schnitte ist, die der heiße Draht macht, wenn er durch das Styropor geht. Hier können wir auch den Schnittvorschub einstellen, der vom heißen Draht selbst und der Härte des Styropors abhängt. Ich habe es auf 150 mm/m eingestellt.

Dann können wir im Geometrie-Tap die Kontur oder die Form auswählen, die geschnitten werden muss. Die Höhen habe ich alle auf 1 mm eingestellt, da es auf meiner Schaumstoffschneidemaschine keine Z-Achsenbewegung gibt. Zuletzt habe ich im Verknüpfungs-Tap die Eintrittsposition als die Kante ausgewählt, die sich in der Nähe des Ursprungspunkts befindet.

Damit wird der Werkzeugweg generiert und wir können ihn uns ansehen, indem wir auf die Schaltfläche Simulation klicken. Der Werkzeugweg sollte ein Einzeldurchgang mit geschlossener Schleife sein, und wenn das der Fall ist, können wir endlich den G-Code generieren. Dazu können wir zu Post Processes gehen, die GRBL-Firmware auswählen, den Ausgabeordner auswählen, die Datei benennen und auf die Schaltfläche Post klicken.

Dann können wir die Datei speichern und den G-Code im WordPad-Editor oder ähnlichem sehen.

Sobald wir also die G-Code-Datei haben, können wir sie in den universellen G-Code-Sender laden und den G-Code an die CNC-Maschine senden, um die Form zu erstellen.

Wir können feststellen, dass der Prozess, den ich Ihnen gerade gezeigt habe, wahrscheinlich nicht der beste oder überhaupt nicht professionell ist, aber er erfüllt dennoch die Aufgabe, die G-Codes dazu zu bringen, mit meiner DIY-CNC-Schaumschneidemaschine zu arbeiten. Weitere Details zu dieser DIY-CNC-Maschine finden Sie natürlich in meinem speziellen Tutorial, den Link finden Sie in der Beschreibung des Videos.

Sie können die G-Code-Dateien hier herunterladen:

Wie gesagt, für die Seiten habe ich 1cm dickes Styropor und für die Mitte 5cm dickes Styropor verwendet.

Für den Flügel habe ich 10 cm dickes Styropor verwendet, das ich auf etwa 30 cm Breite geschnitten habe, da dies die maximale Spannweite ist, die meine Heißdrahtmaschine schneiden kann. Ich habe zwei Flügelprofile in einer einzigen G-Code-Datei platziert und einige davon geschnitten.

Um die Spannweite von 80 cm zu erhalten, klebe ich 3 Stücke von 27 cm, und um sie gerade zu bekommen, schneide ich die Enden der Stücke manuell ab, so dass sie senkrecht sind.

Montage des ferngesteuerten Flugzeugs

Hier sind also alle Styroporstücke, die ich mit einer CNC-Maschine geschnitten habe. Drei Stück für die Vorderseite, drei Stück für den Rücken und drei Stück für den Flügel. Jetzt kann ich mit dem Zusammenbau beginnen.

Ich beginne mit dem vorderen Teil. Ich benutze eine Klebepistole, um die Teile zusammenzukleben. Der Heißkleber hat das Styropor etwas geschmolzen, aber ich konnte sie trotzdem mit dieser Methode kleben.

Eine andere gute Möglichkeit, Styropor zu kleben, ist mit 5-Minuten-Epoxyd. Bevor ich die andere Seite klebe, mache ich die Halterung für den Motor. Zu diesem Zweck verwende ich ein 30 mm breites Aluminiumprofil, das ziemlich leicht ist. Ich habe das Profil auf ca. 18 cm geschnitten, die Löcher für die Montage des Motors markiert und sie mit einem 3-mm-Bohrer gebohrt. Dann habe ich das Profil um 90 Grad gebogen. Ich habe den Motor mit einigen M3-Schrauben an der Halterung befestigt.

Mit dieser Baugruppe machte ich ein Loch durch den vorderen Teil des Styropors. Dann vergrößerte ich mit einem Gebrauchsmesser das Loch auf einen Durchmesser von 30 mm, genau wie der Motordurchmesser.

Als nächstes habe ich auf der anderen Seite des Motorhalters 4 Löcher gemacht, die zur Befestigung des Halters und auch zur Befestigung des Fahrwerks dienen. Ich habe die Position dieser Löcher auf dem Rumpf markiert und mit einem 4-mm-Bohrer manuell Löcher durch das Styropor gebohrt. Ich habe ein weiteres Aluminiumstück von etwa 7 cm Länge mit den gleichen Löchern gemacht, und jetzt kann ich es zur Befestigung des Motorhalters verwenden.

Mit M4-Schrauben können wir den Motorhalter einfach befestigen, ohne das Styropor zu beschädigen. Allerdings werde ich das später tun, also habe ich sie entfernt und mit dem Kleben der anderen Seite fortgefahren. Mit der gleichen Methode habe ich auch die Rückenteile geklebt.

Der nächste Schritt ist die Hochzeit oder das Verbinden des vorderen und des hinteren Teils des Rumpfes. Um die Verbindung stärker zu machen, füge ich einfache Grillstäbchen dazwischen.

Ich würde vorschlagen, sogar größere Stöcke zu verwenden, denn wenn das Flugzeug abstürzt, könnte es hier leicht brechen. Ich fügte der Verbindungsstelle eine anständige Menge Heißkleber hinzu und drückte sie zusammen. Hier ist er also, der Rumpf ist fertig und ich finde, er sieht ziemlich cool aus.

Als nächstes schneide ich mit einem Universalmesser zwei Stücke 10-mm-Styroporstab, die die horizontalen und vertikalen Stabilisatoren sein werden. Ich habe die Kanten abgeschrägt, damit sie besser aussehen und auch etwas aerodynamischer sind. Die Stabilisatoren werden direkt auf die Rückseite des Rumpfes geklebt, aber bevor ich das tue, mache ich zuerst ihre Controller-Oberflächen.

Zu diesem Zweck schneide ich etwa 1/3 ihrer Länge ab, und das wird ihre Steuerfläche oder das Höhenruder für das Höhenleitwerk und das Seitenruder für das Seitenleitwerk sein. Um die Steuerflächen an den Stabilisatoren anschlagen zu können, musste ich ihre Kontaktfläche abschrägen. Auch das habe ich mit einem Allzweckmesser gemacht, und wir brauchen eigentlich ein ziemlich scharfes, um diese Schnitte sauber zu bekommen.

Ich fuhr damit fort, die Stabilisatoren etwas aerodynamischer zu machen. Zu diesem Zweck habe ich ein Sandpapier verwendet und ihre Vorderkanten abgerundet. Ich habe auch die Hinterkanten ein wenig geschliffen.

Jetzt, da das Styropor ziemlich zerbrechlich ist, werde ich den gesamten Bereich der Stabilisatoren und ihrer Steuerflächen mit einem einfachen Klebeband umwickeln. Dies macht die Teile nicht nur stärker, sondern erhöht auch die Aerodynamik, da das Klebeband viel glatter ist als das Styropor selbst.

Nach dem Wickeln schneide ich das Seitenruderunterteil bei 45 Grad, um Platz für das Höhenruder zu schaffen, damit es sich frei bewegen kann.

Jetzt kann ich endlich das Scharnier dafür machen, und das mache ich wieder mit dem Packband. Also habe ich die beiden Teile einfach mit dem Klebeband miteinander verbunden, und das ergibt ein ziemlich starkes Scharnier.

Diesen Vorgang habe ich auch für das Höhenleitwerk wiederholt. Um das Scharnier noch stärker zu machen, können wir auch Klebeband auf der anderen Seite hinzufügen. Mit dem gleichen Klebeband habe ich die Seiten umwickelt und damit sind die beiden Stabilisatoren fertig.

Weiter ging es mit dem Kleben des Höhenleitwerks an den Rumpf mit Heißkleber. Zur Befestigung des Seitenleitwerks habe ich zuerst 3 Grillstäbe durch das Höhenleitwerk und den Rumpf gesteckt und verklebt. Dann habe ich etwas Heißkleber auf sie und die Kontaktfläche aufgetragen und den Stabilisator fest nach unten gedrückt.

Damit sind wir mit den Stabilisatoren fertig und können mit der Herstellung des Flügels fortfahren.

Wie ich bereits sagte, wird der Flügel aufgrund des begrenzten Arbeitsbereichs meiner DIY-CNC-Schaumschneidemaschine aus 3 Teilen bestehen. Auch hier verwende ich Grillstäbchen, um beim Kleben der Teile zusätzliche Festigkeit zu verleihen. Zum genauen Anbringen verwende ich eine gerade Holzleiste, auf die ich die Teile schieben kann.

Sobald dies erledigt ist, ist der Flügel eigentlich ziemlich zerbrechlich, da er lang und blechern ist. Daher werde ich es verstärken, indem ich einen Holzstab hinzufüge. Ich schneide den Stock zurecht und markiere den Flügel, wo ich eine Tasche machen muss, damit ich den Stock hineinstecken kann. Mit dem Gebrauchsmesser machte ich langsam und sorgfältig die Tasche. Ich fügte etwas Heißkleber hinzu und befestigte es an Ort und Stelle, ohne die Tragflächenform zu sehr zu stören.

Jetzt ist der Flügel mit dem Holzstab viel stärker. Obwohl es stärker ist, würde es immer noch leicht auseinanderbrechen, wenn es auf den Boden trifft, also werde ich es alles mit dem Klebeband umwickeln, genauso wie ich es mit den Stabilisatoren gemacht habe. Ich fing an, das Klebeband von der Rückseite oder Hinterkante des Flügels zur Vorderseite oder Vorderkante hinzuzufügen.

Auf diese Weise neigt die von vorne einströmende Luft nicht dazu, das Klebeband abzulösen. Obwohl dieser Vorgang ziemlich einfach aussieht, kann er etwas lästig sein, wenn Sie keine ruhigen Hände und genug Geduld haben. Ich finde, der Flügel ist einfach perfekt geworden. Jetzt ist es viel stärker, aerodynamischer und sieht ziemlich gut aus.

Okay, der nächste Schritt sind die Steuerflächen der Flügel oder der Querruder. Ich werde sie 22 cm breit und etwa 1/4 der Flügelsehne lang machen. Um mich frei bewegen zu können, schneide ich etwa einen halben Zentimeter davon ab.

Und natürlich habe ich alle freigelegten Kanten mit dem Schnitt umwickelt. Als nächstes habe ich den unteren Teil des Querruders auf 45 Grad abgeschrägt, und auf die gleiche Weise wie zuvor gezeigt, kann ich es jetzt an den Flügel anhängen. Um auf den Rumpf zu passen und den Flügel einfach am Rumpf befestigen zu können, musste ich noch eine weitere Aussparung in der Mitte des Flügels machen.

Als nächstes ist es Zeit, die Servomotoren für die Steuerung der Querruder zu installieren. Ich verwende die 9g Mikroservos. Ich habe die Stelle markiert, an der sie platziert werden, und mit dem Gebrauchsmesser habe ich sorgfältig eine Öffnung im Flügel gemacht, damit das Servo hineinpassen kann. In der Zwischenzeit habe ich die Servohalterungen entfernt, damit ihre Form einfacher ist. Ich habe etwas Kleber auf das Servo gegeben und in die Öffnung eingesetzt.

Mit dem Gebrauchsmesser habe ich eine kleine Nut vom Servo zur Mitte des Flügels gemacht, damit ich die Servoverkabelung darin einpassen kann. Schließlich bedeckte ich alles mit einem Stück Klebeband. Ich wiederholte den gleichen Vorgang auch für die andere Seite.

Ich fuhr mit der Herstellung der Steuerhörner fort. Ich werde sie aus dem Aluminiumprofil machen, das ich zuvor für die Herstellung des Motorhalters verwendet habe. Ich zeichne die Form von Hand, um ungefähr der Höhe des Servomotorhorns zu entsprechen und über dem Scharnierpunkt zu hängen. Ich schneide die Form mit einer Metallsäge.

Ich werde 2 mm Stahldraht als Steuerstab verwenden, also habe ich mit einem 2,5 mm Bohrer eine Öffnung in das Horn gemacht. Ich machte eine kleine Nut im Querruder und klebte das Horn an Ort und Stelle. Dann habe ich gemessen, wie lang der Steuerstab sein sollte und ihn mit Hilfe einer Zange aus 2 mm Stahldraht gemacht. Zu beachten ist, dass beim Messen und Einsetzen der Steuerstangen die Servomotoren in Neutralstellung sein müssen.

Wir können das tun, indem wir es manuell in die Mitte seines Bewegungsbereichs platzieren oder es an einen Servotester anschließen oder das mit einem Arduino tun. Ich habe den Vorgang für die andere Seite wiederholt, und damit ist der Flügel jetzt vollständig fertig.

Als nächstes muss ich die Servos für die Steuerung des Seitenruders und des Höhenruders installieren. Ich verwende hier auch die gleichen 9-g-Mikroservos, und der Prozess ihrer Installation ist eigentlich ziemlich derselbe, wie ich ihn gerade erklärt habe. Zuerst markierte ich die Stelle, machte die Öffnung mit einem Gebrauchsmesser und klebte die beiden Motoren an Ort und Stelle. Hier sind sie nebeneinander, aber mit ihren Abtriebswellen auf der gegenüberliegenden Seite.

Auch hier machte ich eine kleine Nut in den Rumpf, um die Servoverkabelung zum Elektronikfach zu führen. Ich habe die Servos mit einem Stück Klebeband abgedeckt und Öffnungen für die Servohörner gemacht. Auf die gleiche Weise, wie zuvor gezeigt, habe ich die Steuerhörner gemacht und sie mit einer Klebepistole angeklebt. Zuletzt habe ich die passenden Steuerstäbe angefertigt und entsprechend eingebaut.

Ok, als nächstes werde ich zwei 8mm Holzstangen montieren, die zur Befestigung der Tragfläche am Rumpf dienen. Ich habe die Löcher manuell mit einem 6-mm-Bohrer gemacht. Die Stangen sollten auf beiden Seiten etwa 1 cm überstehen. Ich habe sie auch mit etwas Heißkleber am Rumpf befestigt und so funktionieren sie tatsächlich.

Wir verwenden Gummibänder, um den Flügel am Rumpf zu befestigen. Auf diese Weise kann der Flügel leicht entfernt werden und im Falle eines Quetschens reduzieren die Gummibänder den Aufprall auf den Flügel erheblich. Gleichzeitig ist die Montage sehr stark.

Als nächstes werde ich das Fahrwerk machen. Dafür verwende ich wieder das Aluminiumprofil und Räder aus Styropor. Ich habe sie mit der CNC-Maschine gemacht, wie zuvor gezeigt. Ich habe kleine Rillen auf dem Aluminiumprofil gemacht, damit ich es leicht biegen kann. So sollte das Fahrwerk eigentlich aussehen.

Für die Befestigung der Räder am Profil verwende ich M5-Schrauben und ein Aluminiumrohr mit 6 mm Innendurchmesser. Das Rohr wird mit der M5-Schraube und der Mutter an der Halterung befestigt, und an den Seiten habe ich M5-Unterlegscheiben hinzugefügt, damit sich das Rad frei um das Rohr drehen kann. Mit der gleichen Methode habe ich das Rad für die Rückseite des Flugzeugs gemacht.

Ok, jetzt sind alle Komponenten fertig und bevor ich sie zusammenbaue, werfen wir einen Blick auf die Elektronik dieses Projekts.

Arduino RC Flugzeugelektronik – Schaltplan

Wie ich bereits sagte, basiert dieses RC-Flugzeug vollständig auf dem Arduino, sowohl der Sender als auch der Empfänger sind Sonderanfertigungen, die auf dem Arduino Pro Mini-Board basieren.

Ich habe bereits detaillierte Tutorials zum Bau und zur Funktionsweise des Senders und des Empfängers, sodass Sie sie für weitere Details überprüfen können. Hier erkläre ich den Schaltplan und das Funktionsprinzip dieses Arduino RC-Flugzeugs und wie alles angeschlossen werden muss.

Die für dieses Projekt benötigten Komponenten erhalten Sie über die folgenden Links:

  • NRF24L01 + PA + LNA …………..…..…….
  • Arduino Pro Mini………………..……….…..
  • Servomotor ……………………………………
  • Bürstenloser Motor ………………………..……
  • ESC 30A ……………………………….…………
  • Li-Po-Akku ……………………..……………

Die Funkkommunikation basiert also auf den NRF24L01-Modulen. Obwohl es ein bisschen kompliziert aussieht, ist dieser DIY-Arduino-Sender eigentlich ziemlich einfach. Es hat mehrere Controller, die Joysticks, die Potentiometer und einige Knöpfe, und es sendet ständig deren Daten an den Empfänger. Der Empfänger nimmt diese Daten drahtlos über das NRF24L01-Modul entgegen und gibt entsprechende Befehle an die Servos und den bürstenlosen Motor zur Steuerung des Flugzeugs aus.

Die Steuerung von Servos und bürstenlosen Motoren mit Arduino ist ebenfalls recht einfach, daher ist dieses gesamte Arduino-RC-Flugzeugkonzept meiner Meinung nach nicht so schwer zu verstehen. Der bürstenlose Motor, den ich in diesem Projekt verwende, hat eine Nennleistung von 1000 kV und benötigt 30 A ESC. Der ESC treibt den Motor an und versorgt den Arduino und die Servos über seine Battery Eliminator Circuit-Funktion mit Strom, die 5 V ausgibt. Und die Energie für den ESC und den bürstenlosen Motor kommt von einem 3S Li-Po Akku.

Ich habe diesem Flugzeug eine weitere Funktion hinzugefügt, und das ist eine einfache LED, die anzeigt, ob der Akku leer ist. Mit einem einfachen Spannungsteiler senken wir die 12 V, die von der Li-Po-Batterie kommen, auf etwa 5 V, damit wir sie mit dem Arduino-Analogeingang lesen können und so wissen, wann die Batterie unter 11 V fallen wird. Der Empfänger hat immer noch mehrere freie Kanäle, sodass wir diesem Flugzeug weitere Funktionen hinzufügen können, wenn wir möchten, wie Stroboskoplichter, Landeklappen, Abwurfmechanismen und so weiter.

Beenden des Zusammenbaus

Lassen Sie uns die Montage jetzt trotzdem beenden. Also habe ich alles wie im Schaltplan erklärt angeschlossen. Auf Kanal 1 ist das Seitenruder, Kanal 2 das Höhenruder, Kanal 3 und 4 die Querruder und auf Kanal 6 die LED. Ich habe die LED auf der einen Seite und den Netzschalter auf der anderen Seite geklebt.

Wir können hier sehen, wie das Fahrwerk mit den beiden Schrauben am Motorhalter am Flugzeug befestigt ist. In wenigen Worten, ich habe einfach den Motor mit der Halterung von dieser oberen Öffnung eingeführt, wie zuvor gezeigt verschraubt und das Fahrwerk befestigt. Beim Einsetzen der Halterung habe ich auch einige Gummibänder hinzugefügt, damit sie die Batterie an Ort und Stelle halten können.

Nachdem ich also den Akku an den ESC angeschlossen hatte, drückte ich alles hinein. Schließlich kann ich mit den Verlängerungskabeln die Querruder der Fläche problemlos mit dem Empfänger verbinden und die Fläche dann am Rumpf befestigen.

Auf der Vorderseite habe ich den Propeller am Motor befestigt und jetzt muss nur noch der Schwerpunkt oder der Schwerpunkt des Flugzeugs überprüft werden.

Der Schwerpunkt ist wahrscheinlich der wichtigste Faktor, ob das Flugzeug gut fliegt oder überhaupt fliegt.

Das Flugzeug war anfangs hecklastig, also habe ich die Batterie nach vorne verschoben und etwas Gewicht (einige Schrauben und Muttern) hinzugefügt, und es wurde ausbalanciert.

Das ist es, unser Arduino-basiertes RC-Flugzeug ist jetzt fertig und wir können nach draußen gehen, um es auszuprobieren.

Testen des Arduino RC-Flugzeugs

Naja, der erste Versuch bzw. der Jungfernflug war nicht so cool. Vor allem, nachdem ich das Ergebnis des Schwarms gesehen habe.

Meine Schlussfolgerung hier war, dass das Flugzeug immer noch hecklastig war und es sich anfühlte, als hätte der Motor nicht genug Kraft. Da ich keinen anderen Motor oder Propeller zum Ausprobieren hatte, habe ich die Nase des Flugzeugs etwas kleiner gemacht, den Motor weiter nach vorne verschoben, damit er einen besseren Luftstrom hat, und auch die Kanten an der Vorderseite abgerundet. Die Struktur habe ich mit einigen Holzstäben und Aluminiumprofilen verstärkt, die ich im Innenbereich des Rumpfes eingeklebt habe.

Am Boden des Elektronikfachs habe ich zwei Löcher gemacht, eines für das Entweichen der Luft, die aus der vorderen Öffnung kommt, und das andere, um die NRF24L01-Antenne nach außen zu bringen, um eine Batteriereichweite zu haben.

Ok, hier ist Versuch Nummer zwei. Wieder fast dasselbe, obwohl es sich anfühlte, als hätte es jetzt einen besseren Luftstrom oder eine bessere Leistung.

Der Rumpf brach wieder, was darauf hindeutet, dass dieses Styropor für diesen Zweck ziemlich schwach ist. Ich habe einen neuen Rumpf gemacht und diesmal ein wenig Klebeband zur Verstärkung verwendet.

Versuchen Sie es mit Nummer drei. Es sah vielversprechend aus, aber das Terrain, das ich zum Abheben habe, ist eigentlich gar nicht gut. Das Flugzeug setzte sich nach rechts in Bewegung, prallte gegen den Straßenrand und brach erneut ab.

Ich habe es repariert und dieses Mal fast den gesamten Rumpf mit Klebeband und Packband umwickelt. Ich hätte das schon viel früher tun sollen, da dies dem Rumpf die richtige Festigkeit verlieh und er auch nach mehreren weiteren Stößen nicht brach.

Das Problem war nun, dass ich nach mehreren Quetschungen alle 4 Propeller brach, die ich hatte, also verwende ich in diesem Versuch einen geklebten Propeller. Natürlich ist der Propeller beim Start auseinander gerissen.

Ich versuchte es mit einem anderen geklebten Propeller aus zwei bereits kaputten Propellern und dieses Mal hatte ich tatsächlich Glück und das Flugzeug hob endlich richtig ab.

Nun, das Glück währte nicht lange, da der Propeller mitten in der Luft erneut brach.

Da dies jedoch meine allererste Erfahrung mit dem Fliegen eines RC-Flugzeugs war, kann ich dieses Projekt wohl als erfolgreich betrachten, da ich es geschafft habe, das Konzept eines vollständig auf Arduino basierenden Systems zur Steuerung von RC-Flugzeugen zu beweisen.

Abgesehen davon können wir beim Flug feststellen, dass die vom Sender kommenden Kontrollen eigentlich zu hart sind. Das liegt daran, dass die Joysticks für diesen Zweck überhaupt nicht gut sind, sie haben einen kleinen Bewegungsbereich und eine schlechte Reaktion.

Um dies zu lösen, habe ich dem Programm eine Funktion hinzugefügt, mit der wir die Reaktionsfähigkeit der Steuerungen mit dem rechten Potentiometer am Sender steuern können. Außerdem habe ich eine Funktion hinzugefügt, mit der wir das Seitenruder mit dem linken Potentiometer trimmen können.

Arduino-RC-Flugzeugcode

Werfen wir also einen Blick auf den Arduino-Code dieses Arduino-basierten RC-Flugzeugs und schließen dieses Projekt ab. Der Code ist genau derselbe wie im vorherigen Tutorial erklärt, um Servos und bürstenlose Motoren mit den NRF24L01-Transceiver-Modulen zu steuern.

Hier ist der vollständige Code für dieses Arduino RC-Flugzeugprojekt:

/* Arduino RC Airplane == Receiver Code = by Dejan, www.HowToMechatronics.com Library: TMRh20/RF24, https://github.com/tmrh20/RF24/ */ #include <SPI.h> #include <nRF24L01.h> #include <RF24.h> #include <Servo.h> #define led 9 RF24 radio(3, 2); // nRF24L01 (CE, CSN) const byte address[6] = "00001"; unsigned long lastReceiveTime = 0; unsigned long currentTime = 0; Servo throttle; // create servo object to control the ESC Servo rudderServo; Servo elevatorServo; Servo aileron1Servo; Servo aileron2Servo; int throttleValue, rudderValue, elevatorValue, aileron1Value, aileron2Value, travelAdjust; // Max size of this struct is 32 bytes - NRF24L01 buffer limit struct Data_Package { byte j1PotX; byte j1PotY; byte j1Button; byte j2PotX; byte j2PotY; byte j2Button; byte pot1; byte pot2; byte tSwitch1; byte tSwitch2; byte button1; byte button2; byte button3; byte button4; }; Data_Package data; //Create a variable with the above structure void setup() { Serial.begin(9600); radio.begin(); radio.openReadingPipe(0, address); radio.setAutoAck(false); radio.setDataRate(RF24_250KBPS); radio.setPALevel(RF24_PA_MAX); radio.startListening(); // Set the module as receiver resetData(); throttle.attach(10); rudderServo.attach(4); // CH1 elevatorServo.attach(5); // CH2 aileron1Servo.attach(6); // CH3 aileron2Servo.attach(7); // CH4 pinMode(led, OUTPUT); // CH6 } void loop() { // Check whether we keep receving data, or we have a connection between the two modules currentTime = millis(); if ( currentTime - lastReceiveTime > 1000 ) { // If current time is more then 1 second since we have recived the last data, that means we have lost connection resetData(); // If connection is lost, reset the data. It prevents unwanted behavior, for example if a drone jas a throttle up, if we lose connection it can keep flying away if we dont reset the function } // Check whether there is data to be received if (radio.available()) { radio.read(&data, sizeof(Data_Package)); // Read the whole data and store it into the 'data' structure lastReceiveTime = millis(); // At this moment we have received the data } // Controlling throttle - brushless motor with ESC throttleValue = constrain(data.j1PotY, 80, 255); // Joysticks stays in middle. So we only need values the upper values from 130 to 255 throttleValue = map(throttleValue, 80, 255, 1000, 2000); throttle.writeMicroseconds(throttleValue); // Adjusting the servos responsiveness travelAdjust = map(data.pot2, 0, 255, 0, 25); // Elevator control elevatorValue = map(data.j2PotY, 0, 255, (85 - travelAdjust), (35 + travelAdjust)); elevatorServo.write(elevatorValue); // Ailerons control aileron1Value = map(data.j2PotX, 0, 255, (10 + travelAdjust), (80 - travelAdjust)); aileron1Servo.write(aileron1Value); aileron2Servo.write(aileron1Value); // Rudder trimming function if (data.j1PotX > 127) { rudderValue = data.pot1 + (data.j1PotX - 127); } if (data.j1PotX < 127) { rudderValue = data.pot1 - (127 - data.j1PotX); } // Rudder control rudderValue = map(rudderValue, 0, 255, (10 + travelAdjust), (90 - travelAdjust)); rudderServo.write(rudderValue); // Monitor the battery voltage int sensorValue = analogRead(A3); float voltage = sensorValue * (5.00 / 1023.00) * 3; // Convert the reading values from 5v to suitable 12V i // If voltage is below 11V turn on the LED if (voltage < 11) { digitalWrite(led, HIGH); } else { digitalWrite(led, LOW); } } void resetData() { // Reset the values when there is no radio connection - Set initial default values data.j1PotX = 127; data.j1PotY = 80; // Motors stops // the central point of the joystick is not starting point for the throttle, its at value of 80 instead of 127 data.j2PotX = 127; data.j2PotY = 127; data.j1Button = 1; data.j2Button = 1; data.pot1 = 1; data.pot2 = 1; data.tSwitch1 = 1; data.tSwitch2 = 1; data.button1 = 1; data.button2 = 1; data.button3 = 1; data.button4 = 1; } Codesprache:Arduino (arduino)

Beschreibung: I will just quickly explain the main functions of the code and for all other details you can check the previous tutorial. So, after receiving the data coming from the transmitter, we use the Joystick1 Y axis value for controlling the throttle of the airplane. We convert the values from 80 to 255 coming from the transmitter into values from 1000 to 2000 which are used for controlling the brushless motor.

For controlling the elevator, we use the Joystick2 Y axis value which we convert to values from 85 to 35. These values directly set the position of the servo motor in degrees. Right next to them we can note that we have the travelAdjust variables, which value depends on the position of the right potentiometer. We actually use that value to decrease the position or the movement of the servos although the joysticks will go to their maximum position.

The same principle is applied for controlling the ailerons and the rudder.  Additionally, we use the data from the left potentiometer to adjust the neutral point of the rudder.

Lastly, using the analogRead() function and some math we control the battery voltage indicator LED.

So that’s it. I would like to hear your thoughts about this project in the comments section below, especially from you who have experience with building and flying RC airplanes. For those who are beginners and thinking of getting into this, I would suggest to check the FliteTest YouTube channel because it’s an amazing resource for learning about this RC world. I will put a link to it in the description.

I hope you enjoyed this project and learned something new. Feel free to ask any question in the comments section below and don’t forget to check my Arduino Projects Collection.


Herstellungsprozess

  1. DIY LUMAZOID Arduino Music Visualiser
  2. Machen Sie eine DIY-Hausaufgaben-Schreibmaschine zu Hause
  3. DIY Photoshop-Bearbeitungskonsole mit Arduino Nano RP 2040
  4. DIY-Voltmeter mit Arduino und Smartphone
  5. DIY Virtual Reality Skateboard
  6. DIY 10Hz-50kHz Oszilloskop auf 128x64 LCD-Display
  7. DIY Arduino RADIONICS-Behandlungsmaschine
  8. DIY 2D Motion Racing Simulator
  9. Lokaler und remote programmierbarer Roboterarm
  10. DIY-Idee mit RFID