Présentation

Les drones sont des outils modernes aux possibilités et capacités quasi illimitées. Leur développement rapide et leur omniprésence professionnelle, personnelle et médiatique en témoignent. Leur intérêt premier repose sur leur fonction de vecteur, c’est-à-dire leur capacité à soulever divers capteurs dans les airs, permettant des prises de mesures et des enregistrements. Actuellement, les systèmes les plus fréquemment embarqués sont les caméras et autres appareils photos aux dimensions compactes.

Cependant le potentiel des drones est bien plus vaste. Dans un futur proche, en plus d’embarquer de multiples caméras certains seront en capacité de soulever des charges lourdes. Cela pourrait permettre de faciliter les transports de marchandises ou encore les interventions d’urgences délicates dans des zones à risques.

Neva Aerospace travaille depuis plusieurs années sur la conception de drone lourd. Ceux-ci pourraient être capable de déplacer une masse proche de la tonne. Pour atteindre cet objectif les turbines puissantes qui les composent devront fonctionner de manière optimale. C’est ici que démarre notre projet en collaboration avec Neva Aerospace. Notre objectif sera de concevoir un banc de test pour turbines de drones lourds.

Technologies et Outils

Arduino

Arduino, et son synonyme Genuino2, est une marque qui couvre des cartes matériellement libres sur lesquelles se trouve un microcontrôleur, le microcontrôleur peut être programmé pour analyser et produire des signaux électriques, de manière à effectuer des tâches très diverses comme la domotique.

Visual Studio

Visual Studio est un ensemble complet d'outils de développement permettant de générer des applications web ASP.NET, des services web XML, des applications bureautiques et des applications mobiles. Visual Basic, Visual C++, Visual C# utilisent tous le même environnement de développement intégré (IDE).

C#.NEt

C# est un langage de programmation orientée objet, fortement typé, dérivé de C et C++, ressemblant au langage Java2. Il est utilisé pour développer des applications web, ainsi que des applications de bureau, des services web, des commandes, des widgets ou des bibliothèques de classes2.

Winforms

Windows Forms. Windows Forms est le nom de l'interface graphique qui est incluse dans framework .NET, fournissant l'accès via du Managed code à l'API Windows. Depuis la sortie de .NET 3.0 en 2006, Windows Forms est destiné à être remplacé par un autre système d'interface graphique.

HTML5/CSS3

HTML (désormais en version 5), pour Hyper Text Markup Language, est un langage de balise permettant d'organiser le contenant d'une page Web. Il est toujours accompagné de CSS (désormais en version 3), pour Cascading Style Sheets, qui permet de personnaliser une page HTML, et de créer une charte graphique.

Eagle

Eagle (Easily Applicable Graphical Layout Editor) est un logiciel de conception assistée par ordinateur de circuits imprimés. Il comprend un éditeur de schémas, un logiciel de routage de circuit imprimé avec une fonction d'autoroutage, et un éditeur de bibliothèques. Le logiciel est fourni avec une série de bibliothèques de composants de base.

RS232

RS-232 (parfois appelée EIA RS-232, EIA 232 ou TIA 232) est une norme standardisant une voie de communication de type série. Disponible sur presque tous les PC depuis 1981 jusqu'au milieu des années 2000, il est communément appelé le « port série ». Sur les systèmes d'exploitation MS-DOS et Windows, les ports RS-232 sont désignés par les noms COM1, COM2, etc.

Travaux

IHM

L'IHM est décomposée en 3 partie ce qu'on appel un modèle 3 couches :
L'UI : un Windows form permettant à l'utilisateur de lancer des tests, visualiser les résultats et les enregistrer sous forme csv ou txt.Utilisation de Windows form avec les composants graphiques sous Visual Studio.
La couche Métier : traite les données. Utilisation de C# .NET.
La couche d'accès aux données : communique avec l'arduino pour récupérer les données des tests.

Communication Machine/PC

L’Arduino joue le rôle d’une passerelle entre le PC et le monde extérieur (capteurs, balance, moteurs…) à travers la carte électronique. L’Arduino devra donc attendre l’envoi d’une procédure de test de la part du PC qui lui indiquera comment commander les moteurs de la turbine. Une fois la procédure reçue l’Arduino effectuera le test en renvoyant au PC les valeurs des différents capteurs (tensions, intensités et force de poussée).

L’Arduino devra donc être le plus rapide possible pour pouvoir avoir des courbes précises.

Hardware

Contexte :
Pour établir la connexion entre l’Arduino et le PC il est nécessaire de concevoir une carte électronique. Celle-ci s’occupera de retransmettre les données des moteurs à l’Arduino. Celle-ci s’occupera de récupérer toutes les valeurs des moteurs et de les transmettre à l'Arduino.

Conception :
MAX232 : Communication avec la balance. Sonde de courant : Récupère l'intensité du courant d'alimentation des moteurs. Pont diviseur : Permet de récupérer la tension d'alimentation.

Conception matérielle

Description :
Dans l’objectif de rendre un produit le plus professionnel possible nous avons customisé un boitier métallique avec plusieurs types de connecteur. Le boîtier contiendra l’Arduino, ainsi que des connecteurs industriels permettant de relier l’Arduino aux différents éléments du banc de test (moteurs, balance, PC…).

DIN 3 pins : contrôle PWM/Moteur
DIN 4 pins : Puissance Moteur
DB9 : Connexion balance
Fiche banane : Alimentation







Bilan

La mise en œuvre de ce projet nous a permis de prendre en compte toutes les facettes d'une organisation de travail en petit groupe. Nous nous sommes réparti le travail équitablement en définissant 3 axes sur lequel le projet devait évoluer. La première partie était la réalisation d'un shield Arduino permettant une communication entre les moteurs, la balance et l’Arduino. La seconde partie consistait à programmer l’Arduino pour faire fonctionner le shield permettant de mesurer les informations utiles liées aux moteurs et de les communiquer à une IHM sur un PC. Enfin la dernière partie consistait en la réalisation d'un IHM sur Windows, cet IHM permet de lancer des tests sur les moteurs et de visualiser les résultats sous forme de courbes.

Nous nous sommes séparé le travail en fonction des envies et expériences de chacun, ce qui nous a permis d'avancer plus vite sur la réalisation de notre solution. Nous avons rencontré des difficultés sur la programmation de l’Arduino, la mémoire de l'atmega32 étant faible l'utilisation des allocations dynamiques était de rigueur, ces mêmes allocations posaient problème lors de plusieurs tests à la suite. Nous avons trouvé une solution tard en l'utilisation d'une bibliothèque C++ permettant l'utilisation de List.

Equipe de développement

Léo Courson : Développeur C++

Product 1


Etudiant en 4e année de cycle ingénieur à l'Istia d'Angers, spécialité Systèmes Automatisé et Génie Informatique

Ce projet m'a permis de consolider mes compétences en C++ et en réseau via la mise en place de la communication entre l'Arduino et la balance.

Vincent Jauneau : Développeur C# .NET

Product 1


Étudiant en deuxième année de cycle ingénieur, filière Systèmes automatisés et génie informatique, j'ai toujours été passionné par le domaine de l'informatique.

Ce projet a été pour moi l'occasion de consolider mes compétences en C# .NET dans la mise en oeuvre d'une application PC communicative avec plusieurs technologies externes.

Quentin Chouteau : Architecte CAO

Product 1


Etudiant en 4e année de cycle ingénieur à l'Istia d'Angers, spécialité Systèmes Automatisé et Génie Informatique

Ce projet m'a permis de mettre en oeuvre mes compétences acquises au cours de DUT GEII, à savoir la conception de carte électronique.

Téléchargements

Soutenance de projet

Document .pdf utilisé pour la présentation de notre projet.

Consulter

Rapport de projet

Ce document pdf présente notre projet dans sa conception et réalisation.

Consulter