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

DIY Arduino-basiertes RC Hovercraft

In diesem Tutorial lernen wir, wie man ein Arduino-basiertes RC-Hovercraft baut. Ich zeige Ihnen den gesamten Bauprozess, angefangen beim Entwerfen und 3D-Drucken der Hovercraft-Teile, einschließlich der Propeller, bis hin zum Anschließen der Elektronikkomponenten und Programmieren des Arduino.

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

Übersicht

Zur Steuerung des Luftkissenfahrzeugs habe ich meinen DIY Arduino-basierten RC-Sender verwendet, den ich in einem meiner vorherigen Videos gemacht habe. Ich stelle den rechten Joystick zur Steuerung des Servomotors zur Positionierung der Ruder auf der Rückseite des Schubmotors ein, stelle eines der Potentiometer zur Steuerung des Hubpropellers ein, der tatsächlich an einem bürstenlosen Gleichstrommotor befestigt ist, und stelle den linken Joystick zur Steuerung ein der Vortrieb. Schauen wir uns also an, was nötig ist, um dieses ferngesteuerte Hovercraft zu bauen.

Hovercraft-3D-Modell

Zunächst entwarf ich das Hovercraft mit einer 3D-Modellierungssoftware.

Sie können dieses 3D-Modell finden und herunterladen sowie es in Ihrem Browser auf Thangs erkunden.

Laden Sie das 3D-Montagemodell unter Thangs herunter.

STL-Dateien für den 3D-Druck:

Hovercraft-Funktionsprinzip

Das grundlegende Funktionsprinzip eines Hovercrafts besteht darin, dass das Fahrzeug von einem Luftkissen angehoben wird. Der zentrale Propeller bläst Luft unter das Fahrzeug, wodurch eine Schürze aus weichem Material aufgeblasen wird.

Wenn der Luftdruck in der Schürze hoch genug ist, wird das Fahrzeug angehoben. Die ständig zugeführte Luft entweicht aus der Mitte des Fahrzeugs, zwischen der Schürze und dem Boden, was zusätzlichen Auftrieb erzeugt und auch die Reibung zwischen dem Hovercraft und dem Boden verringert.

Nach dem Anheben wird mit dem zweiten Propeller ein Schub erzeugt, der das Hovercraft vorwärts bewegt.

Auf der Rückseite des Schubpropellers befindet sich ein einfacher Satz Ruder, die zum Steuern des Hovercrafts verwendet werden.

3D-Druck

Nachdem ich das Design fertiggestellt hatte, begann ich jedoch mit dem 3D-Druck der Teile.

Der Rumpf des Hovercrafts ist der größte zu druckende Teil und ich habe ihn speziell für meinen Creality CR-10 3D-Drucker entworfen, der ein Druckbett von 30 x 30 cm hat.

Hier ist ein Link zu diesem 3D-Drucker, falls Sie ihn ausprobieren möchten.

Nachdem der Druckvorgang abgeschlossen ist, ist es an der Zeit, etwas aufzuräumen. Der Hauptkörper des Luftkissenfahrzeugs oder das Cockpit war der längste Druck, der etwa 18 Stunden dauerte, um zu drucken. Aufgrund des geschwungenen Designs und weil ich einen Einzeldruck haben wollte, wurde für diesen Druck viel Trägermaterial verwendet.

Es war jedoch wirklich einfach, es zu entfernen, und das letzte Stück ist einfach perfekt geworden. Der Rumpf des Hovercrafts wurde verkehrt herum gedruckt und es musste nur eine geringe Menge Stützmaterial entfernt werden. Eigentlich musste ich an diesem Druck einige Anpassungen vornehmen und etwas Material aus dem zentralen Gebläsegehäuse schneiden, damit der Schürzenhalter richtig hineinpassen kann.

Ich habe das 3D-Modell bereits aktualisiert, also wird dieses Problem nicht auftreten.

Einige der runden Bereiche der Teile waren etwas rau, also habe ich ein einfaches Sendepapier verwendet, um sie zu glätten.

Die Propeller mussten nicht gereinigt werden und sie funktionierten ziemlich gut, wenn sie direkt aus dem 3D-Drucker kamen.

Hovercraft bemalen

Ok, der nächste Schritt ist das Lackieren der 3D-gedruckten Teile. Ich habe vorher keine Grundierung verwendet, sondern direkt eine Acrylfarbe in Form einer Sprühfarbe aufgetragen.

Für die erste Schicht habe ich eine Schokoladenbrauenfarbe verwendet. Für einige der kleineren Teile, die eigentlich nur Dekorationsteile sind, habe ich eine hellere braune Farbe verwendet.

Um das Hovercraft etwas kühler aussehen zu lassen, fügte ich nach dem Trocknen der ersten Schicht den Teilen zwei weitere Farben hinzu. Zu diesem Zweck habe ich einige zufällige Muster auf einem einfachen Blatt Papier erstellt und daraus Streifen und Punkte in verschiedenen Farben gemacht. Ich habe für diesen Zweck hellere braune und schwarze Farben verwendet.

Montage des Arduino RC Hovercraft

Ich mag wirklich, wie die Teile geworden sind, also habe ich sie nach dem Trocknen weiter zusammengebaut.

Ich begann mit der Installation des Servomotors, der die Ruder auf dem Schubgebläsegehäuse steuert. Ich habe das Servo mit zwei M2-Schrauben und Muttern befestigt.

Als nächstes kommt der bürstenlose Motor. Das spezielle Modell, das ich habe, ist der D2830 mit einem Durchmesser von 28 mm und einer Länge von 30 mm, und natürlich ist das Gehäuse speziell für diesen Motor ausgelegt.

Hier musste ich beim Einsetzen des Motors zuerst die Drähte durch die Öffnungen führen. Es ist ein bisschen eng, aber immer noch überschaubar, um sie zu passieren. Dann befestigte ich auf der Rückseite mit M3-Schrauben den Motor am Gehäuse.

Als nächstes kann ich das Schubgehäuse mit dem Hauptkörper des Hovercrafts verschmelzen. Dieser Teil hat eine Öffnung, durch die das Servo und die BLDC-Motorkabel hindurchgeführt werden können.

Mit vier M3-Schrauben befestigte ich sie fest zusammen.

Als ich damit fertig war, fuhr ich mit der Installation des zweiten bürstenlosen Motors am Rumpf des Luftkissenfahrzeugs fort. Auch hier habe ich die gleiche Methode verwendet. Zuerst habe ich die Kabel durch die Öffnungen geführt und dann auf der Rückseite den Motor mit vier M3-Schrauben befestigt.

Schaltplan

Als nächstes kommt die Elektronik. Die elektronischen Komponenten werden zwischen dem Rumpf und dem Hauptkörper des Luftkissenfahrzeugs platziert. Aber bevor wir das tun, werfen wir einen Blick auf den Schaltplan und sehen, wie alles angeschlossen werden muss.

Das Gehirn dieses Hovercrafts ist also ein Arduino-Board. Mit dem Arduino können wir das Servo sowie die beiden bürstenlosen Motoren mit den beiden elektronischen Geschwindigkeitsreglern oder ESCs einfach steuern. Für die Stromversorgung der BLDC-Motoren verwende ich eine 3S-Li-Po-Batterie, die etwa 11 V liefert, und für die Stromversorgung des Arduino können wir die geregelten 5 V verwenden, die die ESCs über ihre Battery Eliminator Circuit-Funktion bereitstellen

Für die drahtlose Kommunikation verwende ich das Transceiver-Modul NRF24L01, das bei Verwendung mit einer verstärkten Antenne eine stabile Reichweite von bis zu 700 Metern im offenen Raum haben kann. Der RC-Sender, den ich zur Steuerung des Luftkissenfahrzeugs verwenden werde, ist derjenige, den ich in einem meiner vorherigen Tutorials selbst gebaut habe, also können Sie ihn überprüfen, falls Sie weitere Details darüber benötigen. Es gibt auch detaillierte Tutorials zum NRF24l01-Modul und zur Verwendung von bürstenlosen Motoren mit Arduino. Das grundlegende Arbeitsprinzip besteht jedoch darin, dass der Sender die Daten des Joysticks oder Potentiometers an den Empfänger sendet, der die Geschwindigkeit der bürstenlosen Motoren und die Position des Servos steuert.

In diesem Schaltplan gibt es noch ein kleines Detail, und das ist der Batteriewächter. Ich habe einen einfachen Spannungsteiler aus zwei Widerständen hinzugefügt, der direkt mit der Batterie verbunden ist und dessen Ausgang an den analogen Eingang des Arduino geht. Der Spannungsteiler senkt die 11 Volt auf etwa 4 Volt, die dann von den 5-V-Arduino-Pins akzeptiert werden. Damit können wir die Batteriespannung überwachen und eine LED so einstellen, dass sie aufleuchtet, wenn beispielsweise die Spannung der Batterie unter 11 Volt sinkt.

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

  • NRF24L01 Transceiver-Modul….
  • NRF24L01 + PA + LNA ………….….
  • Bürstenloser Motor ………………….……
  • ESC 30A ……………………………….…..
  • Li-Po-Akku ………………………………..
  • XT60 2 Buchse auf 1 Stecker ………….
  • XT60-Anschluss …………………………
  • Servomotor ………………………………..
  • Arduino-Board …………………………

Also fing ich an, die Komponenten wie beschrieben anzuschließen. Um die beiden ESCs an eine einzelne Batterie anzuschließen, habe ich einen parallelen Batterieverbinder-Splitter, Typ XT60, verwendet.

Um dem Projekt einen Netzschalter hinzuzufügen, habe ich einen anderen XT60-Stecker verwendet, an dem ich einen Draht geschnitten und dort einen Kippschalter gelötet habe. Eine Seite geht also zum Y-Splitterkabel und die andere Seite zum Akku.

Als nächstes legte ich die ESCs in den Hauptkörper und schloss sie zwischen ihm und dem Rumpf des Hovercrafts ein. Dann befestigte ich mit vier M3-Schrauben die beiden Teile zusammen. Von der oberen Öffnung der Karosserie habe ich dann die Batterie in den Cockpitbereich eingesetzt.

Als nächstes müssen wir die Komponenten mit dem Arduino verbinden und zu diesem Zweck habe ich dem Arduino zwei Stiftleisten hinzugefügt, die als GND- und 5V-Pins dienen.

Nachdem ich also alles mit dem Arduino verbunden hatte, führte ich die NRF24L01-Antenne, die Anzeige-LED und den Netzschalter durch die obere Abdeckung des Cockpits.

Dann musste ich nur noch alles ins Cockpit quetschen. Hier war es ein bisschen eng, weil ich Arduino UNO verwendet habe, und wahrscheinlich hätte ich stattdessen Arduino Nano verwenden sollen.

Ich habe es aber geschafft alles einzubauen, noch ein kleines Zierteil an der Abdeckung angebracht und dann einfach auf den Cockpitkörper geklipst.

Weiter ging es mit dem Einbau des Lenksystems. Zuerst verband ich eine kleine Verbindung mit dem Servohorn mit einer M2-Schraube und einer Mutter. Dann setzte ich das erste Ruder ein und befestigte es mit einem 2-mm-Metalldraht, der durch seinen Körper geht, am Schubgehäuse, damit sich das Ruder darum drehen kann. Genauso habe ich das zweite Seitenruder befestigt.

Dieses Ruder hat einen zusätzlichen Steckplatz, damit wir es mit dem zuvor eingefügten Link zum Servo verbinden können. Auch hier habe ich M2-Bolzen und Muttern zur Befestigung verwendet. Und schließlich habe ich die beiden Ruder mit einem weiteren Link miteinander verbunden und damit ist das Steuersystem fertig.

Als nächstes werde ich dieses kleine Dekorationsteil an der Seite des Luftkissenfahrzeugs anbringen. Mit einem Bohrer machte ich ein Loch und befestigte das Teil dann mit einer einzigen Schraube am Rumpf. Ich habe diese Teile auf beiden Seiten platziert und ich denke, sie passen ganz gut zum Gesamtbild des Hovercrafts.

Ok, als nächstes fuhr ich mit der Herstellung des Rocks für dieses Hovercraft fort. Sie können hier sehen, dass der Schürzenhalter rundherum Löcher hat, um ihn am Rumpf zu befestigen.

Es gibt auch Schlitze, in die Muttern eingesetzt werden können, und auf diese Weise können wir den Schürzenhalter einfach mit M3-Schrauben am Rumpf befestigen. Nachdem ich alle Muttern an Ort und Stelle befestigt hatte, fuhr ich mit der Herstellung des Rocks fort, für den ich eine einfache Mülleimer-Plastiktüte verwendete.

Also habe ich zuerst einen AC-Kleber auf den mittleren Bereich des Halters aufgetragen und ihn auf die Plastiktüte geklebt. Dann versetze ich den Umfang des Halters um etwa 6 cm. Ich habe es an mehreren Stellen markiert und dann miteinander verbunden.

Mit einem Gebrauchsmesser schneide ich die Plastiktüte auf die richtige Größe. Dann drehte ich den Rock um und fügte der Tasche, wo wir sie zuvor mit dem AC-Kleber geklebt hatten, einen zusätzlichen Halter hinzu.

Als nächstes muss die Außenseite der Tasche auf die Oberseite des Halters geklebt werden. Auch hier habe ich AC-Kleber für diesen Zweck verwendet und die Plastiktüte sorgfältig daran befestigt.

Wenn Sie damit fertig sind, sollte der Rock so aussehen.

Als nächstes machte ich Löcher durch die Plastiktüte, wo die Schrauben durchgehen sollten. Der Schürzenhalter ist nur 1 mm kleiner als der Rumpf des Hovercrafts, passt also in Kombination mit der Plastiktüte perfekt in den Rumpf. Um die Schürze am Rumpf zu befestigen, habe ich einfach die M3-Bolzen um den gesamten Umfang herum befestigt.

Es gibt noch eine Sache, die am Rock gemacht werden muss, und das ist das Ausschneiden des mittleren Bereichs der Plastiktüte.

Mit dieser Hälfte der Luft bläst sich also direkt der Rock auf und entweicht dann durch diese Öffnung, wodurch eine zusätzliche Luftblase in der Mitte entsteht.

Abschließend müssen noch die Propeller an den bürstenlosen Motoren befestigt werden. Zu diesem Zweck verwende ich die Spannzange, die mit dem bürstenlosen Motor geliefert wird. Es ist eine wirklich einfache und effektive Art, den Propeller an der Motorwelle zu befestigen.

Ich habe jedoch die Spannzange für meinen anderen Motor verloren, also musste ich eine andere Version des Propellers drucken, um direkt auf die Motorwelle zu passen, die 3,15 mm beträgt. Der Druck kam tatsächlich ziemlich gut heraus, er passte und befestigte perfekt am Motor, ohne einen Klebstoff zu verwenden.

Und das war's, unser funkgesteuertes Hovercraft ist endlich fertig.

In diesem Video bleibt jedoch übrig, einen Blick auf den Arduino-Code und die Funktionsweise des Programms zu werfen.

Arduino-RC-Hovercraft-Code

Hier ist der Code für dieses Arduino-basierte DIY-RC-Hovercraft-Projekt:

/* Arduino based RC Hovercraft == Receiver Code - ESC and Servo Control = 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 10 RF24 radio(8, 9); // nRF24L01 (CE, CSN) const byte address[6] = "00001"; unsigned long lastReceiveTime = 0; unsigned long currentTime = 0; Servo esc1; // create servo object to control the ESC Servo esc2; Servo servo1; int esc1Value, esc2Value, servo1Value; // 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_LOW); radio.startListening(); // Set the module as receiver resetData(); esc1.attach(7); esc2.attach(6); servo1.attach(5); pinMode(led, OUTPUT); } 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 servos servo1Value = map(data.j2PotX, 0, 255, 0, 50); servo1.write(servo1Value); // Controlling brushless motor with ESC // Lift propeller esc1Value = map(data.pot1, 0, 255, 1000, 2000); // Map the receiving value form 0 to 255 to 0 1000 to 2000, values used for controlling ESCs esc1.writeMicroseconds(esc1Value); // Send the PWM control singal to the ESC // Thrust propeller esc2Value = constrain(data.j1PotY, 130, 255); // Joysticks stays in middle. So we only need values the upper values from 130 to 255 esc2Value = map(esc2Value, 130, 255, 1000, 2000); esc2.writeMicroseconds(esc2Value); // Monitor the battery voltage int sensorValue = analogRead(A0); float voltage = sensorValue * (5.00 / 1023.00) * 3; // Convert the reading values from 5v to suitable 12V i Serial.println(voltage); // 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 = 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: Also müssen wir zuerst die RF24-Bibliothek für die Funkkommunikation sowie die Servobibliothek für die Steuerung sowohl des Servos als auch der bürstenlosen Motoren einbinden. Dann müssen wir das Funkgerät und die Servoobjekte definieren, einige Variablen, die für das Programm unten benötigt werden, sowie die Struktur der Variablen, die zum Speichern der eingehenden Daten von meinem DIY-RC-Sender verwendet werden. Für weitere Details, wie diese Kommunikation funktioniert, würde ich vorschlagen, mein spezielles Tutorial dafür zu lesen.

Im Setup-Bereich müssen wir die Funkkommunikation initialisieren sowie die Pins definieren, an denen das Servo und die ESCs angeschlossen sind.

Im Schleifenabschnitt lesen wir die eingehenden Daten vom Sender und verwenden diese Werte zur Steuerung des Servos und der bürstenlosen Motoren. Also werden vom Joystick eingehende Daten, die von 0 bis 255 variieren, in Werte von 0 bis 50 umgewandelt und wir verwenden diese Werte, um die Position des Servos zu steuern.

Mit der gleichen Methode steuern wir die bürstenlosen Motoren mit den ESCs. Die eingehenden Daten von 0 bis 255 werden in Werte von 1000 bis 2000 umgewandelt und mit der Funktion wirteMicroseconds() senden wir diese Daten als Steuersignal an den ESC.

Zur Überwachung der Batteriespannung lesen wir den vom Spannungsteiler kommenden analogen Eingang und wandeln die Eingangswerte mit einfacher Mathematik in den realen Wert der Batteriespannung um. Wenn die Batteriespannung unter 11 V fällt, leuchten wir einfach die Anzeige-LED auf.

Und das ist es. Falls Sie weitere Details benötigen, können Sie sich die anderen vorgeschlagenen Tutorials ansehen, damit Sie vollständig verstehen können, wie alles funktioniert.

Ich hoffe, Ihnen hat dieses Tutorial gefallen und Sie haben etwas Neues gelernt. Fühlen Sie sich frei, Fragen im Kommentarbereich unten zu stellen und sehen Sie sich meine Arduino-Projektsammlung an.


Herstellungsprozess

  1. DIY LUMAZOID Arduino Music Visualiser
  2. DIY-Voltmeter mit Arduino und Smartphone
  3. Pixie:Eine Arduino-basierte NeoPixel-Armbanduhr
  4. DIY Virtual Reality Skateboard
  5. Arduino- und OLED-basierte zelluläre Automaten
  6. DIY Arduino RADIONICS-Behandlungsmaschine
  7. Anwesenheitssystem basierend auf Arduino und Google Spreadsheet
  8. DIY 2D Motion Racing Simulator
  9. Intelligenter Energiemonitor basierend auf Arduino
  10. Arduino-basiertes Sicherheitssystem