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 - IT
andMale support - IT.
T
ake a trash bag (a pretty resistant one)- Glue the circular little part of
Male support - IT
on 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 - IT
and 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 - IT
in 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 - IT
to 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 - IT
andMain support
using 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 support
andMain support
- Screw up speed brushess motor and servo onto
Speed motor support
- Screw up
Speed motor support
toMicrocontroller support
- Connect outputs for the speed motor and the direction servo
- Assemble the
Spreader
and theNut spreader
to theSpeed motor support
while making sure that the bottom of theSpreader
fits in the axis of the servo (theNut spreader
is used to increase the level of theSpreader
to make it fits to the servo)
Comments