First of all, a hovercraft works as a floating car : a countinous flow of air enters in an inner tube. This tube is drilled, allowing air to pass enderneath. The pressurized air emerges out and makes the inner tube float.
Theoretically, the bottom of the inner tube (or skirt, depending on the type of hovercraft) is not supposed to touch the ground.This hovercraft uses an inner tube.
How many components ?As you probably understood, this vehicle needs a constant flow of air to float : that's why there will be 2 brushless motors equipped with 2 differents propellers to ensure the floating capability and speed of the hovercraft.
Those motors come with 2 30A ESCs, an arduino nano set on an extension, a servo to modify direction and a radio module (nRF24l01).
A 4S LiPo battery will provide energy to both brushless motors using a kind of dual connectivity, such as this one :
Of course, ESCs has dean T-plugs so there will be adapters from XT60 male (above) to T-plug female.
All others connections (between components) will use standard male/female pins.
Overall designThis hovercraft has been designed to be particularly resistant (in cases of shock), but also convenient to use. By "convenient", I mean easy-to-use without a lot of heavy maintenance, or others kind of DIY stuff that can break apart or become inefficient quickly (each part has to be fix using screws and not glue).
However, all those modifications make it being more heavy and bigger too : this affects floating capabilities and speed.
After its conception, I've made another hovercraft, lighter, faster and thinner : I'll show him in another project.
CodeThis code is pretty simply : its just receiving informations from nRF and treating them.
We create three variables : speedh, highh and directionh. They're respectively modified by data[1] (y value of 2nd joystick), data[0] (y value of 1st joystick) and data[3] (x value of 2nd joystick).
#include "I2Cdev.h"
#include "MPU6050.h"
#include "math.h"
#include <Servo.h>
#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
#define CE_PIN 3
#define CSN_PIN 4
Servo speedh;
Servo highh;
Servo directionh;
float pwmspeed = 51;
float pwmhigh = 51;
float pwmdirection = 90;
RF24 radio(CE_PIN, CSN_PIN);
const uint64_t adresse = 0xE8E8F0F0E1LL;
int data[5];
void setup(){
Wire.begin();
Serial.begin(9600);
radio.begin();
radio.openReadingPipe(1,adresse);
radio.startListening();
speedh.attach(5);
directionh.attach(6);
highh.attach(9);
}
void loop() {
if (radio.available()){
radio.read(data, sizeof(data));
speedh.write(pwmspeed);
directionh.write(pwmdirection);
highh.write(pwmhigh);
pwmdirection = map(data[3], 0, 1080, 130, 50);
if(pwmspeed>50 && pwmspeed<170){
if(data[1]>600){
pwmspeed = pwmspeed + 0.5;
}
else if(data[1]<400){
pwmspeed = pwmspeed - 0.5;
}
}
else if(pwmspeed>=170){
pwmspeed = 169;
}
else if(pwmspeed==50){
pwmspeed = 51;
}
if(pwmhigh>50 && pwmhigh<170){
if(data[0]>600){
pwmhigh = pwmhigh + 0.5;
}
else if(data[0]<400){
pwmhigh = pwmhigh - 0.5;
}
}
else if(pwmhigh>=170){
pwmhigh = 169;
}
else if(pwmhigh==50){
pwmhigh = 51;
}
Serial.println(pwmhigh);
}
delay(25);
}ConnectionsThe inner tube :
- Print those parts :
Female support - ITandMale support - IT. Take a trash bag (a pretty resistant one)- Glue the circular little part of
Male support - ITon this plastic bag
- Using a marker, draw 8 points perpendicularly placed at 12 cm from holes
- Link all points by drawing segment between them :
1) Start with points from the longest side of the component - draw a line through them allYou should obtain 2 parallels segment2) Then draw a perpendicular line passing through the last two pointsYou should obtain a rectangle
- Using a sharp knife, cut this rectangle
- Take the other part of
Male support - ITand turn it so that the smooth part (the one with no dents) is visible - Screw the part (using M.3 screws directly in holes) previously made to the smooth surface of
Male support - ITin such a way that the circular component and the smooth part of the larger component are compressing the plastic bag - Cut the plastic film onto the circular little part
You should obtain a floating drilled plastic bag screws up between 2 printed parts.
- Take the end of the previously cut plastic rectangle and use a glue gun to glue these ends to the side walls of the toothed face of the main part of
Male support - IT(it's a little bit difficult to understand, I'll post images) - Finally, make sur that those ends have passed the "plastic teeth" of this component and clip the
Female support - ITto compress those ends
During the hovercraft inflation, the compressed air has to pass through the circular little part without escaping from sides
- Put some screws on sides holes of the final inner tube : those screws will keep Male and Female support compressed together and will be use to attach the inner tube to the hovercraft
The whole hovercraft :
Overall, others parts of the hovercraft are pretty easy to assemble :
- Screw up
General support - ITandMain supportusing 6 M.3 screws (holes are at the bottom ofGeneral support - IT) - Screw up the brushless motor on the on four holes arranged of
Main support - Once all connections have been made (between ESCs, motors and power wires), put them all into
Main support - Make sure you kept outputs of one of ESCs for the speed motor (pass those outputs through the little hole of
Main support). Moreover, make sure the direction servo has his PWM pins passing through this hole - Connect nRF and arduino extension and screw up the arduino extension to the
Microcontroller support - Make ESCs wires pass through the hole provided for this purpose and connect them to the arduino extension
- Screw up
Microcontroller supportandMain support - Screw up speed brushess motor and servo onto
Speed motor support - Screw up
Speed motor supporttoMicrocontroller support - Connect outputs for the speed motor and the direction servo
- Assemble the
Spreaderand theNut spreaderto theSpeed motor supportwhile making sure that the bottom of theSpreaderfits in the axis of the servo (theNut spreaderis used to increase the level of theSpreaderto make it fits to the servo)









Comments