Fabrication d’un drône sous arduino

Les drônes sont depuis maintenant quelques temps au centre de toutes les attentions, craintes, plaisirs, illégals, il y a plusieurs manières de les définir. Je vais essayer de présenter ici la fabrication d’un drône maison (DIY = Do It Yourself).

Voici un projet qui me tient à coeur : la fabrication d’un drône maison. Je pense qu’à la date où je commence ce projet et la date à laquelle je vais le terminer, il y aura de l’eau qui aura couler sous les ponts.

Plus que d’être un article pour vous présenter les drônes et les étapes pour le monter, il me sers de fil d’arianne pour ne pas me perdre.

Un drône ? C’est quoi ?

Un drône est tout simplement un aéronef sans pilote à bord. Rien de plus à dire.

Les différents type de drônes

Avant même de commencer à décrire ce qu’est un drône et de quoi il est composé, je décrire succintement les différents type de drônes qui existent.

Il y a autant de drône différents que d’utilisation, pour n’en citer que quelques uns :

  • Le drône militaire, il a pour objectif de surveiller, de protéger ou d’attaquer. Bien entendu, nous ne verrons pas ce genre de drône ici.
  • Le drône classique, il en existe de tout prix et de toute taille, leur autonomie est de l’ordre du quart d’heure (en étant optimiste). Leur prix varie en fonction des options ou de  l’utilisation (immersion, gps, connectivité, autonomie,shooting photo, course, acrobatie …). Tout à chacun peut en acheter un ou en fabriquer un. Attention à la législation.
  • Le drône aquatique, il n’y a pas que des drônes dédiés aux airs (on est pas dans le domaine des airs, mais pourquoi pas)
  • Les drônes de secours, après la guerre, un peu d’entraide
  • Les drônes de livraison
  • Le nanodrône, sa taille le défini. Tout petit.

Composition d’un drône

Afin de progresser de manière méthodique, je ne vais pas faire comme beaucoup de site montrant des exemples ou des tutos pour en fabriquer un (c’est juste un choix personnel, je me sers de ces sites pour apprendre). Cette méthode dépend principalement de la technologie que je vais utiliser. Afin de minimiser le plus possible le prix, des pièces ne seront pas acheter (ESC, carte controleur …) mais je vais tâcher les faire moi-même avec quelques composants.

Voici les différentes parties :

  • Le chassis
  • Les hélices
  • Les moteurs
  • Le controleur de vol
  • La télécommande
  • La batterie

Les néofites ne verront certainement pas la différence ou du moins l’absence d’un élément important.

Vous avez cherché mais pas trouvé, je parle des ESC (les contrôleurs de moteur). Ce n’est pas parce que je n’en parle pas qu’il n’y aura pas de contrôleur de moteur, c’est simplement que l’achat d’ESC serait trop importante. La solution retenue sera décrite dans la partie moteur. La seconde raison pour laquelle les contrôleurs de moteurs n’apparaissent, c’est que je juge qu’ils sont beaucoup trop liés aux moteurs pour en être dissociés.

L’ordre dans lequel les différents points apparaissent n’a aucun lien avec l’ordre avec lequel je vais en parler.

Le chassis (ou frame en anglais)

Il s’agit du squelette du drône, voilà ce qui éxiste :

  • Le tricoptère, celui possède 3 bras, chacun muni d’un moteur et d’une hélice. L’avant est généralement situé entre deux bras, le moteur de l’arrière est rotatif pour pouvoir tourner.
  • Le quadricoptère à 4 bras, chacun avec un moteur et d’une hélice, les moteurs sont tous indépendants mais sont en paires, sens de rotation contraire.
  • L’héxacoptère, celui-ci possède 6 bras avec un moteur et une hélice sur chaque bras, l’avantage de l’héxacoptère est lors d’une panne d’un moteur ou casse d’hélice, le drône a une chance de se poser plutôt que de s’écraser.
  • L’octocoptère, toujours même principe mais avec 8 bras
  • Le Y6, ce drône possède 3 bras mais avec deux moteurs et deux hélices par bras, il a l’avantage par rapport à l’héxacoptère de diminuer le poids de l’ensemble tout en gardant la même portance
  • Le X8 possède 4 bras avec deux moteurs et deux hélices par bras, il devient coûteux mais permet de transporter des charges plus importantes.

La taille sera variable, la seule limite est le coût que vous êtes prêt à mettre, la place que vous avez.

Je vous conseille de choisir une taille permettant facilement de le monter et manipuler sans être trop encombrant ni trop petit. Un peu abstrait comme conseil, n’est-ce-pas ?

La télécommande du drone

Cette partie est cours de réalisation, ce qui est affiché fonctionne, je suis en attente de pièces manquante (notamment les boutons).

Tout d’abord, il faut lister les commandes qui sera nécessaire de faire apparaître sur la télécommande.

  • Les gaz (Throttle), en modifiant la vitesse sur les 4 moteurs (en même temps), nous faisons descendre ou monter l’aéronef.
  • Le lacet (Yaw), il s’agit de la rotation sur lui-même du drone
  • Le tangage (Pitch), il permet d’avancer ou reculer
  • Le roulis (Roll), il permet d’effectuer des virages.
  • buzzer, simplement pour émettre un bruit dans le cas d’un crash

Ce seront les seules commandes qui devront apparaître sur la télécommande, ayant peu de connaissance dans le domaine des radio-amateurs, je vais me baser sur une technologie rf (attention à la portée). Dans un espace dégagé et sans l’utilisation de vidéo, la portée sera largement suffisante.

Pour plus de détails sur la communication rf, visitez cette page.

Les éléments nécessaires

Voici la liste des composants utilisés :

Câblage de la télécommande rf

Voici le câblage réalisé avec Fritzing :

cablage emetteur drone
câblage émetteur drone

Vous pouvez bien entendu ajouter une antenne.

Code Arduino pour la télécommande

Voici le codage :

#include <VirtualWire.h>

int donnee[5];

int identification = 555;
int gaz = 0;
int tangage = 0;
int roulis = 0;
int lacet = 0;

void setup() 
{
  Serial.begin(9600);
  vw_setup(2000);
  vw_rx_start();  
  donnee[0] = identification;
  delay(1000);
}
void loop()
{
  enregistrement_donnees();
  envoi();
  Serial.print(gaz);
  Serial.print(" ");
  Serial.print(tangage);
  Serial.print(" ");
  Serial.print(roulis);
  Serial.print(" ");
  Serial.print(lacet);
  Serial.println();
  delay(100);
}
void enregistrement_donnees()
{
  gaz = analogRead(0);
  donnee[1] = gaz/4;
  tangage = analogRead(1);
  donnee[2] = tangage/4;
  roulis = analogRead(2);
  donnee[3] = roulis/4;
  lacet = analogRead(3);
  donnee[4] = lacet/4;  
  
}
void envoi() 
{  
  vw_send((byte *) &donnee, sizeof(donnee)); // On envoie le message
  vw_wait_tx(); // On attend la fin de l'envoi
}

En affichant le terminal série, voici ce que l’on obtient :

impression ecran télécommande
impression écran télécommande

Les valeurs affichées sont, dans l’ordre :

  • les gaz
  • le tangage
  • le roulis
  • le lacet

Je rajouterai un bouton pour activer le buzzer et certainement une diode pour l’alimentation.

Pour mes tests, j’ai utilisé de simple potentiomètre, ceux-ci seront remplacés par les joysticks, qui auront un fonctionnement similaire.

Pour ce qui est de la consommation, celle-ci est inférieure à 10mA, il n’y aura pas de problème de batterie.

… A suivre ….

Laisser un commentaire