Amplificateur audio

logo uha                                                           Capture d’écran 2017-03-15 à 16.51.27

AMPLIFICATEUR STÉRÉO

Capture

SOMMAIRE

I. Contexte du projet

1.Définition du projet

2.Cahier des charges

3.Expression du besoin

II. Déroulement du projet

1) Préparation du schéma électronique de l’amplificateur et de l’alimentation

2) Choix des composants

3) Simulation du schémas électronique

4) Réalisation kicad

5) Réalisation de la plaque

6) Packaging

7) Liste du matériel commandé

III. Conclusion

 1)Vidéo de présentation du projet

2) Remerciements

3) Webographie

I.Contexte du projet

 

1. Définition du projet

Dans le cadre de nos projet de première année il nous a été demandé de réaliser un amplificateur audio(stéréo) avec un cahier des charges définis. L’objectif primaire de ce genre de projet est non seulement de nous introduire au travail en équipe mais aussi en autonomie.

Notre projet l’amplificateur stéréo a pour but de permettre l’amplification de signaux sonores. De ce fait les sons issus d’un émetteur (smartphone par exemple) simulés par une variation de tension électriquement seront amplifiés pour être  transmit à un récepteur (haut-parleur par exemple). Notre amplificateur devra être alimenté aussi bien sur le secteur qu’avec une batterie (voiture par exemple).

Capture

La première contrainte étant d’alimenter notre amplificateur, nous avons donc divisé notre projet en deux parties : l’alimentation et l’amplification.

  • Partie Alimentation : BARHAME Rayane, KELES Hakan, DARBOUX Marvin
  • Partie amplification :  ABLAK Mehmet , AMAYOU Ayoub

2.Cahier des charges

  • Alimentation à rabattement et à retournement
  • 230 v en entrée (l’alimentation pourra être branché à une prise) ; elle régule le courant et la tension pour qu’ils conviennent à l’amplificateur
  • 10 à 12 v comme tension et jusqu’à 5 A en sortie
  • Source de courant constante avec transistor bipolaire

3.Expression du besoin

Capture

 

Ce schémas globalise de façons très générale toutes les contraintes (besoins) nécessaires a l’élaboration du projet. Les fonctions de services seront détaillées dans le tableau qui suit :

Capture1

II. Déroulement du projet

1) Préparation du schéma électronique de l’amplificateur et de l’alimentation

Avant de commencer l’utilisation de logiciel et autres, nous avions dû commencer à faire la conception du schéma ‘brouillon’ sous forme papier. En effet, avec l’aide de notre tuteur, nous avions réaliser plusieurs calculs et plusieurs schémas différents pour pouvoir aboutir au schéma électronique de nos deux parties de notre projet.

2) Choix des composants

Après avoir fini la conception du schéma papier, nous avons commencé à choisir les composants pour la conception taille réelle. Nous avons donc préparer 2 fiches (une pour la partie Alimentation et l’autre pour la partie Amplification) avec le nom des composants non disponible à l’iut. Le choix des composants a été réalisé avec la prise en compte pour chaque composant du datasheet « idéale » pour notre projet du point de vue données de fabrication mais aussi du point de vue coût. Cette fiche regroupait donc le nom des composants à commander.

Exemple d’un document source que l’on a réalisé pour facilité la recherche des données composants :

 

 

2.1) Partie alimentation

Deux phases sont nécessaires à la réalisation d’un projet. La phase de conception et celle de la réalisation. Le choix des composant relie ces deux phases étroitement. Après la préparation de notre schémas électronique ils nous fallait trouver des composants adhérant à notre solution et attestant de la crédibilité de nos choix conformément à ce que le marché peut nous offrir. Cette étape c’est donc déroulé comme suit :

  • choix du condensateur : Calcul de la capacité du condensateur C = I / Δu * F I = 1A , Δu=5v (car on veut 10V en sortie et la transfo délivre une tension efficace de 15√2 = 21V donc la différence sera de 16), F = 100 Hz  1 Transfo = 50 Hz * 2 (en double)

condensateurcondo

 

  • choix de la diode Zener : 5 V

Capture

diode zener

 

 

 

 

 

 

 

  • Pont redresseur de tension

Capturepont_redresseur_V

  • choix de la résistance : Ampérage max : 250 Ma, Résistance : 16/(20*10^-3) = 800 Ω donc I =Vmin/R = 11/800 = 0.01375 = 13mA.

Afin de palier au défaut de la résistance pour avoir un courant continue, on a donc choisi d’opter pour un transistor

  • Choix du transistor: transistor PNP

transistortransitor pnp 2

 

  • Ampli opérationnel 741 avec tension de sortie max 25 mA

ampli_op

 

  • Choix du deuxième transistor:

Calcul des courants Ic pour des valeurs max et min :

– Pour le max : Icmax = β * Ibmax = 70 * (25*10^-3) = 1,75 A

– Pour le min : Icmin = β * Ibmin = 20 * (25*10^-3) = 0,5 A

Or 0,5 < 1A (Courant que l’on veut tirer) donc obligation de rajouter un transistor à l’aide d’un montage de Darlington en NPN. D’ou le choix de ce  transistor 2n1711 en bas du 1er Transistor.

sup_transis

 

2.2) Partie amplification

 

 

 

3) Simulation du schémas électronique

Les schémas électriques on été réalisé dans un premier temps par le biais de PROTEUS ISIS (logiciel de simulation électronique)

  • Partie Alimentation: les tensions affichés par les voltmètres mettent donc en évidence la validité des choix de composants que nous avions fait ainsi que le respect du cahier des charges

 Capture

 

  • Partie amplification: la courbe en verte fait office de tension de sortie et celle en jaune de tension d’entrée

Capture

 

4) Réalisation Kicad

Kicad est un logiciel de conception libre assisté par ordinateur intégrant à la fois un module de saisie de schémas et un module de routage de circuits électriques.

4.1) Conception partie alimentation

conception partie alimentation

Nous avions eu pas mal de problèmes avec l’amplificateur opérationnel ainsi que le pont redresseur de tension afin de  les relier comme il faut à la masse. La pose de la résistance variable vu qu’on arrivait pas a obtenir la bonne gamme de tension.

4.2)Conception partie amplification

conception partie amplification

La pose des radiateurs posait problème. Obtenir la bonne tension de sortie fut aussi très délicat.

6) Packaging

Le packaging c’est fait très rapidement. Il nous fallait une boite pas trop encombrante et simple à réaliser. La prise en main du logiciel ( ) c’est faite très rapidement, sans compter le fait que la forme complexe de la fermeture de la boite c’est faite très rapidement a cause de l’aisance d’utilisation du logiciel.

7) Liste du matériel commandé

liste de matériel commandé

 

 

III.Conclusion

1) Vidéo de présentation du projet

 

2) Remerciements

Ce projet fut pour nous une expérience unique. Il nous a instruit au travail en équipe et en autonomie. Nous remercions de ce fait nos professeurs de projet  ainsi que nos professeurs électrotechnique  et de bureautique pour le temps qu’ils nous ont consacré. Nous tenons également à remercier spécialement le responsable de L’IUT lab pour son implication dans la réalisation  des plaques et du packaging.

 

IMG-20170615-WA0000

3) Webographie

lien RS components

explications sur le principe

redresseur double alternance monophasé

 

 

 


Sondes de température

Résultat de recherche d'images pour "iut de mulhouse"Résultat de recherche d'images pour "geii mulhouse"

PROJET : Sonde de température

Sonde de température

 

GEII 1A 2016/2017 MULHOUSE


Sommaire



L’équipe


IMG-20170620-WA0001


De gauche à droite :
  • OZTUNG Tunç
  • ZINK Valentin
  • PATRE Guillaume
  • QUANG Benjamin
  • ROCA Maxime
  • VIRARAGOURADJA Richard

Présentation du projet


Objectif:

  • Réaliser une maquette pédagogique pour les futurs étudiants de 1ère année.

But:

  • Remplacer l’ancienne sonde de température par un dispositif conforme et plus efficace que le précédent.
  • Permettre la caractérisation d’une sonde de température à tester.
  • Pouvoir refroidir ou chauffer le volume de test en dessous et au dessus de la température ambiante .

Contraintes:

  • Alimentation à découpage (0V-15V).
  • Température comprise entre 5°C et 70°C.
  • Monter à une température et savoir la maintenir (Ventilation et asservissement pour garder la température constante).
  • Normes de sécurité thermiques ,mécaniques et électriques.

 


 

Définitions des termes scientifiques


1) Tension électrique
  • Circulation du champ électrique le long d’un circuit
  • Mesurée en volt
  • Notée U

2) Intensité (ou courant électrique) :
  • Déplacement d’ensemble de porteurs de charges électriques
  • Mesurée en ampère
  • Notée I

3) Résistance :
  • Grandeur caractérisant la « force » avec laquelle le conducteur s’oppose au passage du courant.
  • Exprimée en ohms Ω
  • Notée R

tension intensitéresistance


4) Tension alternative :
  • Tension variable qui prend alternativement des valeurs positives puis négatives

Image4

 

 

 

 

 

 

 


5) Tension continue :
  • Tension qui garde même signe et même valeur au cours du temps

 

 

 

 

 


 

6) Puissance électrique :
  • Représente la force motrice de l’électricité
  • Produit de la tension électrique aux bornes de laquelle est branchée l’appareil
  • Produit de l’intensité du courant électrique qui le traverse
  • Notée P
  • Exprimé en watt

Exemple d’utilisation d’une sonde de température


Ceci est un exemple d’utilisation de sonde de température:7.Régulateur climatique modulante

Ici, on règle la température souhaitée

 


Cahier des charges


  • Diagramme bête à cornes

bête à corne

 

 


Diagramme de Gantt


Organigramme de Gantt

gantt1

gantt2

 

 


Étude des composants


  • Le module à effet Peltier.

Le module Peltier permet de transformer un courant électrique en une différence de température. Au sein de notre projet nous utiliseront le module Peltier pour refroidir notre plaque métallique. Ce module présente deux faces, dont l’une est dite froide et l’autre chaude. L’objet à refroidir se positionne sur la face froide et on évacue la chaleur avec un ventilateur par la face chaude.

peltier

  • La résistance chauffante.

La résistance chauffante est un matériau conducteur à base de métal présentant une résistance électrique au passage d’un courant qui la porte à une température donnée par effet joule.

res

  • Le relais

Notre relais est composé d’un électroaimant, qui lorsqu’il est alimenté transmet une force aux contacts. Les contacts commutent quand la bobine est alimentée et le retour à l’état initial se fait quand la bobine n’est plus alimentée.

relaisymbole

  • L’AOP (L’Amplificateur opérationnel)

C’est un amplificateur électronique qui amplifie une différence de potentiel électrique présente à ses entrées. Les AOP ont été conçus pour effectuer des opérations mathématiques.

aopschéma aop

  • La diode de roue libre

La diode de roue libre se connecte en parallèle d’une charge inductive pour la continuité du courant électrique dans l’inductance. Cette diode permet d’assurer la continuité du courant électrique dans le circuit. En effet l’induction (la bobine du relais) à comme propriété essentielle qu’on ne peut pas rompre brutalement le courant qui la traverse car elle peut entrainer une surtension.

diodeschéma diode

  • Le transistor NPN

Le transistor se comporte comme un interrupteur.

Les transistors bipolaires possèdent 3 connexions : le collecteur, la base et l’émetteur.

Le transistor s’active par une tension positive ou négative sur la base par rapport à l’émetteur.

Dans son état passif, le transistor bloque le flux électricité entre le collecteur et l’émetteur.

npntransistor

  • Sonde de température AD592

L’AD592 est une source de courant haute précision, elle nous fournit un courant par rapport à la température qu’elle relève. La sonde nous fournis 1µA par °K, ce qui nous permet de définir la température relevé.

ad592


Évolution du projet


Étude du cahier des charges

Alimentation

 

    • Étude du circuit de l’alimentation

 

IMG_20170303_144853-min(1)

 

Régulation

  • Étude du circuit de la régulation

IMG_20170303_144859-min

  • Simulation sur plaque d’essai
  • Calcul des résistances

 

IMG_20170313_095547-min IMG_20170309_122331-min IMG_20170309_122315-min

  • Achat composants

Capture

  • Réalisation Kicad
  1.   Connecteur entre borniers et Peltier/Résistance chauffante
    sonde
  2. Plaquette alimentationalim
  3. Plaquette Régulation

Capture1

  • Réalisation circuits imprimés
IMG_20170620_114231-min Circuit de l’alimentation
IMG_20170329_093810-minCircuit de la régulation
IMG_20170620_114656-minCircuit de l’AOP

 

  • Conception des boites

    IMG_20170327_115447-min

  • Montage des boites

Montage


 

//texte


Bilan


 

//vidéo de la maquette en fonctionnement


Mode d’emploi


 

 

//texte


Conclusion


 

//texte


Remerciements


Un grand merci à M. STRAFELLA et M.COLICCHIO, nos enseignants-chercheurs tuteurs pour ce projet, de nous avoir aidé pour ce projet.

Merci au département GEII de l’IUT de Mulhouse pour le prêt du matériel nécessaire et pour l’achat des composants.

 

 

 

 


Sonde de courant

Présentation projet sonde de courant:

iutm

 

 

Référence

GEII

Auteurs

Anthony NAZE

Thanh Suon NGUYEN

André NDALLA

 

 

SOMMAIRE

 

 

1)Introduction

  1. Présentation du projet
  2. Listes des composants
  3. Exemple datasheet composant

 

2)Programmation et conception de la carte électronique de la sonde

  1. Présentation du logiciel Kicad
  2. Dessin du schéma électronique de montage
  3. Création et association d’empreintes aux composants
  4. Liaisons des composants et modifications des pads
  5. Conception du circuit imprimé
  6. Résultat obtenu

 

3)Conclusion

 

Introduction

 

 

Présentation du projet

BeteACorne

Afin d’effectuer une mesure de courant dans un circulant électrique, il est possible d’utiliser une sonde sans contact électrique direct c’est-à-dire par isolation galvanique. L’IUT de Mulhouse utilise des sondes afin de mesurer les courants sur des maquettes d’études de systèmes. Ainsi le but du projet est la réalisation d’une sonde de courant étalonnée pour la mesure.

Pour notre deuxième semestre, nous avons eu comme projet la création d’une sonde de courant ou sonde à effet Hall :

 

« un courant électrique traversant un matériau baignant dans un champ magnétique, engendre une tension perpendiculaire à ce dernier »

Edwin Herbert Hall

 

Nous avons eu comme délai de 60 heures avec 4 heures de bonus lors des journées portes ouvertes de l’IUT.

Sans titre

Par ailleurs ce projet est destiné aux futurs étudiants qui manipuleront ces sondes lors de leur séance de travaux pratique. Ces sondes devront remplacées les anciennes qui ne sont plus aux normes. Nous allons remplacer les entrées non conformes par un potentiomètre qui régulera la tension à notre guise.

 

Ci-dessous une ancienne sonde de courant non conforme aujourd’hui:

17360777_1116764615136082_369193511_n

 

Pour la création du schéma du projet nous avons besoin du logiciel Kicad pour a partie de création de schéma.

 

La partie de conception de la plaquette en modèle réel, il est nécessaire d’avoir la liste suivante :

 

  • Préparation des composants dans une boite individuelle
  • Une carte électronique vierge
  • Poste à souder
  • Fer à souder
  • Souffleuse
  • Etains
  • Des outils
  • Tournevis
  • Pince
  • Multimètre
  • Des outils de réalisation de la plaquette
  • Imprimante UV
  • Liquide révélateur
  • Massicot
  • Perceuse

pieuvre

Liste des composants nécessaire :

 

 

 

Quantité Nom Référence Prix
* 1 Transformateur 121-3826 3,50 €
1 Fusible 848-2762 0.41€ -> 0.82€
1 Sonde LA 25-NP 286-311 21,20 €
2 Condensateur 862-3250 0,22€ -> 0,44€
Aluminium 2200µF
2 25V 653-0153 0,176€ -> 0,352€
Céramique 10nF
2 Régulateur de tension 298-8621 0,16€ -> 0,31€
L7915CV
L7815CV 298-8558 0,17€ ->
1 Pont redresseur 629-5989 0,438 €
1 Amplificateur op 371-1056 17,05 €
2 Résistances 132-258 0,017€ -> 0,034€
100Ω
1 LED 228-5988 0,168 €
1 Résistances LED 148-506 0,045 €
– 1kΩ
* 1 Port fusible 310-9841 1,87 €
* 1 Sortie coaxiale 619-6393 1,86 €
* 1 Interrupteur (switch) 124-5906 4,07 €
* 1 Potentiomètre 467-6106 0,228 €

 

 

Certains composants seront issus de la récupération de l’ancienne sonde, ce qui nous évitera une dépense en plus en matière d’œuvre (marqué par des *)

 

Par rapport à la documentation de la sonde, à la sortie de la sonde on choisit une résistance de 100Ω puis pour le choix du gain de l’AOP (Amplificateur Opérationnel non inverseur) on a également pris une résistance de 100Ω ainsi qu’une résistance variable de 1 kΩ pour avoir un gain de 11 maximum (Vsortie/ Ventrée = 1+R2/R1). On peut aller jusqu’à 9,5 car la résistance variable ne va pas jusqu’à 1 kΩ mais 850Ω.

 

Datasheet des composants :

 

Pour certaines pièces de la liste, nous devons nous servir du Datasheet du fournisseur afin d’avoir des données sur la pièce pour dessiner le module.

 

 

Voici l’exemple Datasheet du composant LA 25-NP :

lem
Programmation et conception de la carte:

 

 

Présentation du logiciel Kicad:

Le logiciel Kicad présenter ci-dessous, sera le seul logiciel informatique dont nous aurons besoin pour la réalisation du projet.

Dans la fenêtre de gauche, les fichiers sont :

  • Le circuit imprimé (Pcbnew)
  • La liste des empreintes des différents composants (Netliste)
  • Le schéma, le dessin du circuit (Eeshema)

kicad1

 

Par la suite, lors de chaque enregistrement de fin de travail, les fichiers seront sauvegardés dans notre dossier personnel.

Dessin du schéma électronique de montage:

Pour commencer, nous avons commencé par créer le schéma de la sonde via la feuille d’explication (ER2.sch).

kicad2

Création et association d’empreintes aux composants:

Pour ce qui est de certains composants comme la sonde LA 25-NP l’empreinte sera sous le nom de LA25NP, car nous avons dû créer une nouvelle empreinte qui n’existait pas auparavant afin de l’associer à ce composant. Ainsi que pour le switch sous le nom de SWittchy, le condensateur C1 et C2 en CP16-max, le bridge en pontRed etc… Pour pouvoir récupérer nos empreintes créer, on a créé une nouvelle librairie personnelle où toutes nos empreintes créées s’y retrouvent, nommé « ER2 ». La Netliste a pour but d’associer automatiquement l’empreinte aux composants lorsqu’on l’ajoute lors de la conception du circuit. (ci-dessous) De plus certains composants devaient être redessiner pour pouvoir avoir la bonne forme et dimension lors de l’insertion. Dans la Netliste courant à gauche, se situe les composants précédents et sur la droite les empreintes qu’on va attribuer aux composants.

kicad3

Liaisons des composants et modifications des pads:

Ensuite on a dû modifier la taille des pads.

kicad7

 

Après avoir effectué les modifications nécessaires pour les empreintes et vérifié, on a des chevelus qu’il faudra relié via un fil de taille 1.27mm.

kicad4

 

Pour relié les composants entres eux, il faut cliquer sur un pad et relié au pad indiquer.

 

Avant :

kicad5

 

Après :

kicad6

Pour finir avec le logiciel, on imprime le tout en taille réelle. Lorsque l’étape de la réalisation sur Kicad est finie, nous pouvons passer à l’étape de la pratique qui est la conception.

Conception du circuit imprimé :

 

Pour commencer, il faut découper la carte électronique vierge à la dimension demandé à l’aide d’un massicot, puis après on tamponne la carte par un produit et on pose sur le circuit la feuille imprimée auparavant en taille réel et on frotte afin que le tout s’imprègne. Les typons serviront de « calque » pour la plaque découpé.

decoupe

 

Par la suite on place la plaque et le typon dans une insoleuse durant 3 minutes afin que le cuivre soit parfaitement évacué et que le tracé soit bien visible.

typon visible

 

 

revelateur

On rince la plaque à l’eau puis on la nettoie avec du papier. Nous réitérons cette étape mais remplaçons l‘eau par du chlorure de fer. Au niveau des trous sur la plaque, les relevés de mesures ont été fait précédemment. Il suffit de percer à l’aide d’une mini perceuse. Une fois les étapes précédentes terminées, il faut souder les composants sur la plaque avec de l’étain.

soudure

A chaque soudure on teste les composants afin de voir leur fonctionnement. Puis à la fin on fera un test final.

Résultat obtenu:

La boite finale ressemble à :

sonde

Utilisation :

La sonde est à brancher sur secteur. Le voyant rouge indique le bon fonctionnement de la sonde. Pour faire les mesures on branche la sonde en série dans le circuit grâce aux bornes rouge et noire. La sortie coaxiale permet de visualiser les variations de courant sur un oscilloscope.

 

 

 

Conclusion

Durant ces heures d’études et réalisation, nous avons découvert le travail d’équipe, l’organisation et les contraintes lié à celui-ci. Nous avons pu approfondir nos connaissances en électrotechnique du premier et second semestre.A l’heure d’aujourd’hui, nous avons eu un problème avec notre première sonde. Le transformateur surchauffait. Il provenait de l’ancienne sonde qui était HS. Nous avons commandé un nouveau transformateur et avons dû modifier le typon pour correspondre aux nouvelles dimensions. Nous travaillons actuellement sur la réalisation de la sonde.

L’équipe de réalisation:

WhatsApp Image 2017-06-14 at 17.00.01

Anthony                                              André                                                   Thanh

                                                                chef de projet                               responsable design                      responsable administratif


NAO navigation et communication avec des IOT

NAO navigation et communication avec des IOT

Projets 1ère Année DUT GEii – promotion 2017

 

Nao sur RoboTino

 

 

 

 

 

Sommaire :

 

  • Membres de l’équipe

  • Introduction

  • Présentation du projet

  • Matériel à disposition

  • Cahier des charges

  • Gestion de projet

  • Développement

  • Problèmes rencontrés

  • Bilan financier

  • Conclusion

 

 

Membres de l’équipe

 

Jérôme Willig, Marco Sangwa ainsi que Théo Schublin, trois étudiants en première année de DUT GEII (Génie électrique et informatique industrielle) à l’IUT de Mulhouse, ont travaillés sur le projet « NAO navigation et communication avec des IOT » et vous présente dans ce document le fruit de leur travail.

Introduction

 

Au début du second semestre de la première année, tous les élèves exerçants cette poursuite d’études sont amenés à réaliser un projet qui leur est imposé. Les heures de travail sont comprises dans l’emploi du temps et comptent à peu près une soixantaine d’heures. Ces périodes sont très importantes car elles sont très intensives. Cela nous permet d’acquérir de nombreuses compétences et de nous perfectionner dans plusieurs domaines tels que la programmation et la connectivité, mais aussi d’apprendre le langage python ainsi que le logiciel Chorégraphe pour piloter NAO.

 

Présentation du projet

 

Le projet sur lequel nous avons travaillé a en fait déjà été utilisé l’année dernière par les anciens élèves. Mais n’ayant pas été totalement fini, nos professeur ont rajoutés des éléments pour combler et affiner le projet.  Pour ce faire nous disposons d’un robot NAO, d’un RoboTino ainsi que la connexion internet de la classe.  Le but étant que NAO se déplace dans l’enceinte du bâtiment B pour présenter et amener les visiteurs extérieurs dans la salle souhaitée. Le robot NAO étant beaucoup trop lent, nous le plaçons sur RoboTino qui lui se déplace plus aisément. NAO devra donc prendre les informations dont il dispose autour de lui et diriger RoboTino suite à celles-ci grâce à la connexion dont nous disposons.

 

Matériel à disposition

 

Afin de mener à terme ce projet qui nous a été proposé, l’IUT nous met un certain nombre de matériel que nous pouvons utiliser. Nous disposons d’un robot NAO, d’un robot RoboTino ainsi que d’un serveur positionné dans la classe, disponible pour tous les groupes de travail. De plus, un budget maximum nous est imposé, ce dernier ne doit pas dépasser 200 euros. Cependant dans le cadre de notre projet, cet argent ne nous sera pas utile car nous ne faisons que de la programmation. En attendant le déroulement du projet, nous vous proposons une petite présentation des robots.

Le robot NAO :

 

Le département GEII dispose de 4 robots NAO. Ce dernier est un robot dit « humanoïde », équipé de 25 degrés de libertés, ce qui le rend unique et très proche des mouvements de l’homme. Développé par Aldebaran Robotics, une entreprise française, en 2006, il procède une multitude de capteurs qui le rende autonome tel que quatre capteurs à ultrasons sur son torse, huit capteur de pression, 2 cameras Haute Définition (1280 × 960 pixels), deux bumpers aux pieds pour ressentir le moindre obstacle.  Le robot a pour cerveau un naoqi, ce qui est un noyau linux. Un peu moins utilisé, il possède également une centrale inertielle avec un accéléromètre ainsi que deux gyromètres et le tout pour un poids total de 4,8 kg. Le robot se programme grâce au logiciel « Chorégraphe », et en utilisant principalement le langage python. Pour mieux comprendre son anatomie, voici ci-dessous une image pour comprendre d’avantage.

i

 

Le RoboTino :

 

Ce robot, bien que moins expliqué est toutefois tout aussi important puisqu’il sert de support pour NAO. Avec ses trois roues omnidirectionnelles, il offre une conduite remarquable ainsi qu’une précision à en couper le souffle. Ses neufs capteurs infra-rouges lui permettent d’éviter tout obstacle qui pourrait se mettre sur son chemin. Doté d’une caméra sur l’avant, il pourrait observer son trajet, cependant nous n’allons pas utiliser la camera puisque c’est le NAO, situé sur le RoboTino qui enverra les informations. Ce robot se programme grâce au logiciel « RobotinoView » en utilisant principalement les langages C et C++.

Ci-dessous un schéma facilitant la compréhension.

 

 

j

 

 

 

Le serveur MQTT :

 

Placé sur le Raspberry, le serveur MQTT sert d’interface entre l’utilisateur et le robot NAO. En effet il permet à ce dernier d’envoyer des ordres que NAO renverra au RoboTino par l’intermédiaire d’une trame UDP,  de plus il permet aussi au robot NAO d’envoyer un message pour confirmer la réception d’un ordre, ce qui fait office de « tchat » entre NAO et l’utilisateur.

Pour se faire, il faut que l’utilisateur télécharge sur son smartphone une application nommée MyMQTT (disponible sur le Play Store d’Android), celle-ci va lui permettre de se connecter sur le serveur MQTT en y entrant l’adresse IP du serveur dans les paramètre « Settings ». Pour qu’un dialogue ai lieu il faut ensuite, s’inscrire sur un « topic » ou sujet de conversation (nous l’avons appelé « nao/tino ») afin d’y envoyer un message en mode « publish » et en recevoir en se rendant dans le « Dashboard » . Dans l’application on peut aussi sauvegarder des messages, ils se retrouvent dans la rubrique « Stored messages ».

Afin que ces aspects du serveur MQTT soit opérationnels, il a fallu coder en python sur le logiciel Choregraphe, les différentes fonctions d’envoie et de réception de messages prédéfinis que le NAO devra transcrire en ordre pour le Robotino.

 

 

Cahier des charges

 

NAO doit être capable d’envoyer des informations à RoboTino, donc capable de lire des informations et de les traduire.

Différents critères :

  • Trouver un dialogue commun entre les deux robots

  • RoboTino doit être capable de contourner un obstacle

  • Possibilité d’écrire à NAO via l’application My MQTT

  • Utiliser les NAO mark pour que NAO se situe dans l’enceinte du bâtiment

  • RoboTino doit être capable de s’orienter dans toutes les directions

  • L’homme doit pouvoir discuter et commander NAO avec sa voix

Pour faciliter la bonne compréhension du sujet, nous avons conçu des diagrammes pour éclaircir toutes les informations :

 

Diagramme Bête à cornes :

 

 

 

Diagramme Pieuvre :

 

 

Image3

 

Diagramme de Gantt :

 

 

m

 

 

 

Gestion de projet

 

Afin de mener notre projet au mieux, d’être ordonné et efficace, nous nous sommes répartis les tâches :

 

  • Jérôme était chargé de programmer RoboTino à l’aide de son logiciel RobotinoView.

 

  • Marco quant à lui était lui chargé de la communication entre les deux robots et de la programmation pour utiliser le serveur MQTT.

 

 

  • Théo était chargé de la programmation des Naomarks ainsi que de la partie gestion de projet.

 

 

Développement du projet :

 

Familiarisation avec les logiciels :

Les logiciels que nous exploitons, Chorégraphe pour NAO et RobotinoView pour RoboTino, sont relativement simples. Pour commencer, nous essayons de programmer NAO de manière simple pour comprendre le système en lui faisant faire des figures etc… Et nous devons avouer que c’est très impressionnant ce que ce robot arrive à faire. Pour l’autre robot c’est pareil, le travail commence d’abord par de la découverte et de la création pour comprendre et manipuler de façon cohérente le robot. Nous avons eu la chance de récupérer de nombreux documents, partagés par nos professeurs, qui nous ont été bien utile notamment pour la découverte du langage python.

Une fois les logiciels bien maitrisés, nous pouvons entrer dans le vif du sujet.

Comme dis précédemment, notre sujet est une suite de l’année dernière, donc certains éléments ont déjà été traités, cependant nous y amenons les modifications nécessaires pour le bon fonctionnement.

Les programmes RobotinoView :

Il est à noter que Jérôme a dû créer toute la base du programme et l’améliorer. Dans un premier temps, le programme de suivi de mur a été récupérer dans les exemples de Festo et a été modifié et adapté. Ce programme est utilisé afin de suivre dans un sens le mur sans embuche, c’est-à-dire que le programme fait en sorte de ne jamais entrer en collision avec un objet, une personne ou quoi que ce soit.

 

 

 

suivi_mur

 

Ensuite, un entre programme permet de convertir une valeur reçue par le NAO en une fonction (par exemple : avance, recule, stop, etc…).

 

autonome

 

Et le dernier programme permet de choisir entre l’un et l’autre, en fonction des donnés et de la position.

 

prise en main

 

Les programmes Chorégraphes :

Pour les programmes Chorégraphes, nous avons commencé par l’utilisation des Naomarks, pour ce faire, nous avons repris les programmes des étudiants de l’an dernier, mais nous avons ajouté à chaque Naomark une fonction. NAO dis ensuite à voix haute le message qu’il a reçu.

naopython

 

 

Ensuite nous nous sommes débrouillés pour que NAO dise le message qu’il a reçu du serveur MQTT, sauf que dans ce cas, ce n’est pas grâce aux Naomarks mais via l’application Android MyMQTT. En lui envoyant un message via l’application, le robot est capable comme avant, de répéter le message.

Pour se faire, il a fallut coder un bloque de code en python permettant au robot de se connecter sur l’adresse du serveur MQTT puis au topic « nao/tino » (bloque « MQTT subscribe » plus bas) et un autre bloque pour qu’il puisse envoyé des messages de confirmation sur le topic où il est connecté et convertir les message reçus en ordre pour le Robotino (bloque « de » plus bas également). Cependant, dans message que NAO renvoie, le piège est de mettre des accents sur certains mot car le code envoie lors des simulations un message d’erreur.

Image1

 

 

Alors vous allez nous dire oui c’est bien beau mais pour l’instant rien ne se passe…

C’est maintenant que ça commence à être intéressant. Les programmes des robots sont faits, il ne reste plus qu’à les faire communiquer.

Nous nous sommes renseignés et nous avons constatés que le seul moyen de les faire communiquer est d’envoyer des donnés UDP. C’est-à-dire que quand on donne une instruction a NAO, ce dernier le transforme en une valeur et l’envoie au RoboTino. Chaque valeur a une fonction et donc va effectuer une tache.

Capture

 

 

Voici le programme chorégraphe final

photo

 

 

 

Nous vous proposons une illustration qui résume l’intégralité sous forme de vidéo.

 

Problèmes rencontrés

 

Lors de notre projet, nous avons rencontrés différents problèmes, notamment la connexion entre le RoboTino et l’ordinateur, ce problème étant dû à la portée de la clé wifi. De plus la connexion entre le NAOqi (serveur sur lequel se connectent les NAOs) et le NAO est était aussi problématique, en effet, de temps à autre le robot se connectait sur le réseau du RoboTino. Par ailleurs lors de la programmation du dialogue MQTT/NAO, nous nous sommes aperçus que le code ne fonctionnait pas lorsqu’il recevait des message comprenant des caractères avec des accents, ce qui fut problématique durant la phase de codage. Enfin la batterie du RoboTino est aussi problématique car elle est très faible et nécessite qu’on la recharge .

Bilan Financier

Comme annoncé au début de la présentation, nous disposions de 200 euros de budget pour réaliser le projet. Cependant nous n’avons pas eu besoin d’utiliser cet argent puisque nous ne devions que programmer et non créer. Même si l’argent n’a pas été utilisé, la valeur des objets est très élevée puisque le robot NAO coûte à lui seul 5 000 euros et le RoboTino quant à lui à une valeur de 8 000 euros. Ces objet ont donc étés manipulés avec douceur et chouchoutés tout le long du projet.

Conclusion

 

 

Les heures de projet ont été longues et avec beaucoup de rebondissements. Comme dans tous les groupes il y a eu des bons moments comme des mauvais où nous étions au bord du gouffre. Cependant, les règles que nous nous étions dès le début imposés, tels que la communication, les bilans après chaque séances, un dossier de partage, nous ont été capitale au bon fonctionnement du groupe. Bien que le projet n’ait pas pu arriver à son terme suite à des problèmes rencontrés notamment dans le domaine de la communication mais surtout avec la connexion wifi des différents appareils, ce projet a été pour nous tous un plaisir à réaliser. En effet nous avons eu la chance de toucher à plusieurs domaines, mais surtout de se perfectionner dans la programmation mais aussi dans la compréhension des objets connectés.

 

 

 

Capture

 

Théo, Marco et Jérôme vous ont présenté leur projet.


IOT : Goodie Et Mesure d’énergie

IOT: Goodie et Mesure d’énergie

 


Table des matières

  • Introduction
  • Goodie

-Présentation du projet

-Matériel à disposition

-Cahier des charges

-Développement du Projet

1-Imagination du Schéma

2-KICAD

3-Programmation de l’ESP01

4-Esthétique du Goodie

-Budget détaillé

-Problèmes rencontrés

 

 

  • Mesure d’énergie

-Présentation du projet

-Matériel à disposition et budget

-Cahier des charges

-Développement du Projet

1-Câblage électrique

2-Programmation de la carte Arduino

3-Node-Red

4-MQTT

-Problème rencontré

  • Conclusion
  • Remerciements

 


 

Introduction

Cette année, dans le cadre de notre cursus scolaire en GEII à l’IUT de Mulhouse, nous avions à réaliser un projet traitant, dans notre cas, des objets connectés (IOT, Internet of Things, traduit « Internet des objets »). Constitué de 4 personnes, notre groupe avait 2 types de projets à réaliser :

-Les Goodies (VAITOOTAI Gwenäel et PAAL Julien)

GJ

-Mesure d’Energie (LITZLER Cédric et WURCKER Vincent)

Image13

 

Le premier consiste à relever la température et la luminosité d’une pièce, puis de pouvoir accéder , grâce à votre smartphone, aux relevés de température et de luminosité.

Le second a  lui  pour but de relever la puissance électrique consommée par n’importe quelle charge électrique depuis une interface accessible sur internet.

 


 

Goodies

 

Présentation du projet

Le projet consiste à créer un petit objet connecté appelé « Goodie » estampillé « IUT de Mulhouse », cet objet connecté tourne autour d’un circuit ESP01, qui est un petit module capable de relever des données grâce à différents capteurs connectés à ses pattes, comme dans notre cas un capteur de température et un capteur de luminosité, et capable également de transmettre ses informations a un serveur. En effet l’ESP01 a la particularité d’avoir un module WiFi, c’est pour cela que nous avons choisis de travailler avec lui, il pourra donc créer une liaison WiFi avec un serveur MQTT pour lui envoyé les données récoltées, cependant nous rentrerons dans les détailles dans la partie « Programmation de l’ESP01 ». Voici donc en quoi consiste notre projet.


 

Matériel à disposition

Pour ce projet nous avons eu la chance d’avoir tous ce que l’on avait besoins a disposition ;

-Une salle avec des ordinateurs

-Un laboratoire avec des perceuses et plusieurs machines essentiel à l’élaboration de circuit imprimé comme une insoleuse ou encore une laveuse

-Des composants tel qu’un condensateur, des résistances, photorésistances, capteur de température, ESP01, régulateur de tension, entrée USB..

-Des logiciels comme Kicad, Arduino ou encore CORELDRAW, qui nous ont tous aidé dans chaque partie de notre projet (Réalisation et programmation).

-L’IUT LAB est également a notre disposition, c’est une salle regroupant des ordinateurs, avec des logiciels tel que CORELDRAW, et des imprimantes 3D, cette salle nous permets donc de créer des objets que l’on a imaginé.


 

Cahier des charges

-Notre projet doit être « joli » et « fun », il doit être également estampillé « IUT de Mulhouse »

-Le « Goodie » doit être Auto-alimenté par une batterie type USB

-Le « Goodie » doit pouvoir se connecter sur un nouveau réseau wifi

-L’ESP01 doit être alimenté en 3,3V

-Gestion de projet :

Bête à cornes

Pieuvre

Diagramme de GANTT

GANTT1

GANTT2

GANTT3

Voici donc l’outil qui nous a aidé à gérer au mieux notre temps pendant toute la durée du projet. Ceci est un diagramme de GANTT disponible sur le logiciel MINDVIEW, nous avons donc étudié ce logiciel en classe qui nous permet de planifier facilement chaque étape de notre projet, grâce a cela nous étions au courant du travail restant a accomplir ce qui nous permet de bien programmer notre avancement.


Développement du projet

Pour ce projet nous avons réparti le travail en deux. Gwenaël c’est occupé de la partie programmation du projet avec la prise en main du logiciel Arduino, et moi je me suis occupé de la partie réalisation du projet en grande partie grâce au logiciel KICAD. Pour finir nous nous sommes mis d’accord pour faire la partie esthétique du Goodie ensemble, car nous devons créer un petit cache.

1-Imagination du Schéma

Pour commencer ce projet nous devions nous poser les bonnes questions, en effet nous devons créer un circuit imprimé avec une alimentation de type USB, cependant une alimentation de type USB n’alimente qu’en 5V alors que l’ESP01 doit impérativement être alimenté en 3,3V, c’est pourquoi j’ai choisi de commander un régulateur de tension qui va transformer la tension 5V en 3,3V. Puis je voulais avoir une tension stable donc j’ai fais appel a un condensateur. Ensuite il me fallait réfléchir aux capteurs, tout d’abord pour le capteur de luminosité, j’ai opté pour une photorésistance classique : Le principe est très simple,a un niveau de luminosité élevé la photorésistance laissera passer pleinement le courant car sa résistance sera au plus faible voici donc les caractéristiques d’une photorésistance ;

variations-photoresistance_med

Comme on peut le voir sur le graphique de la résistance en fonction de l’éclairement en lux, la courbe décroit de façon exponentielle. Voici donc en quoi la photorésistance nous sera utile.

Enfin pour le capteur de température nous avons commander un DS18B20 :

Le capteur DS18B20 est un capteur de température numérique intégrant tout le nécessaire requis pour faire la mesure : capteur analogique, convertisseur analogique / numérique, électronique de communication et alimentation. Il communique via un bus 1-Wire et possède une résolution numérique de 12 bits avec une plage de mesure de -55°C à +125°C. La précision analogique du capteur est de 0,5°C entre -10°C et +85°C, ce qui rend ce capteur très intéressant pour une utilisation « normale ». Comme tout périphérique 1-Wire, le DS18B20 contient un « scratchpad » qui est une sorte de mémoire tampon sécurisée ou l’on peut venir lire et / ou écrire des données. C’est dans cette mémoire qu’on vient lire les données de mesures et écrire les informations de configuration du capteur. Le scratchpad du capteur DS18B20 est divisé en quatre parties :

-Le résultat de la dernière mesure de température (deux octets),

-Deux octets à usages divers (le capteur dispose d’un mode « alarme », mais cela ne sera pas traité dans ce tutoriel),

-Le registre de configuration du capteur,

-Une somme de contrôle.

Ce qui nous intéresse, ce sont les deux premiers octets qui contiennent le résultat de la mesure de température. Le reste ne nous intéresse pas. Voici donc a quoi ressemble notre capteur de température ;

DS18B20

De plus il me fallait réfléchir au moyen de transmission des données envoyé par les capteurs a l’ESP01, j’ai donc étudié l’ESP01 :

ESP01

On constate donc que deux pins sont utilisablent, la pin GPIO0 et GPIO2, je vais donc devoir relier mes deux capteurs a ces deux pins.

2-KICAD

Une fois la partie imagination du schéma terminé, je pouvais commencer alors le concret avec le logiciel KICAD, où j’ai commencé par faire un schéma classique :

kicadpremier

Cependant certains composants n’existant pas dans la base de données du logiciel, j’ai dû les créer moi même, comme par exemple l’entrée USB, le régulateur de tension LD1117V33, le capteur de température DS18B20 ou encore l’ESP01

Après avoir finis la partie schéma de KICAD, j’ai du associer mes composants schématiques à leur structure réel, en générant une netlist :

netlist

 

Mais comme certains composants n’existent pas dans la base de donnée de KICAD j’ai également du créer leur véritable structure pour les associés a leur structure schématique : Composantsnetlist

Une fois la netlist générée, je pouvais commencer à placer mes composants sur mon circuit imprimé, cependant je devais faire attention à ce que l’ESP01 ne recouvre pas mes capteurs sinon ils ne pourraient marcher. voici donc le circuit imprimé finis :

kicadpcbfinal

il ne me restait plus qu’à imprimé le circuit et a le créer a l’aide du matériel mis a notre disposition. Voici donc le résultat final :

CIfinal

3-Programmation de l’ESP01

Tout d’abord l’ESP01 est une version de l’ESP8266. L’ESP8266 est un circuit intégré à un microcontrôleur, c’est a dire que ce circuit rassemble les éléments essentiels d’un ordinateur comme un processeur, de la mémoire, des unités périphériques et des interfaces d’entrées-sorties. Cependant nous avons choisis de travailler avec la version ESP01 pour une particularité, en effet cette version possède un module WiFi, ce qui nous permettra de créer une liaison entre un serveur MQTT et l’ESP01 afin de transmettre au serveur MQTT les données reçu par l’ESP01. De plus l’ESP01 peut ce programmer en JavaScript, MicroPython ou encore en C. Nous avons donc choisi de le programmer en C car c’est le langage que nous maîtrisions le plus. Pour le programmer en C nous avons donc du nous faire au logiciel Arduino. Voici donc a quoi ressemble l’ESP01 :

esp01

Nous allons donc envoyé les données récoltées par l’ESP01, via une liaison WiFi, a un serveur MQTT. MQTT est un service de messagerie TCP/IP simple et extrêmement léger dans le sens où des messages de toutes sortes peuvent être transmis. Les messages sont envoyés par des publieurs, ici le publieur sera l’ESP01, sur un canal appelé Topic. Puis via « MyMQTT », qui est une application pour smartphone, nous nous sommes abonnés a ce Topic, une fois abonnée a ce Topic nous recevrons donc sur notre smartphone les données publié sur le serveur MQTT par l’ESP01.

La programmation de l’ESP01 a donc été effectué par Gwenaël VAITOOTAI, il devait donc programmer un moyen de communication par wifi entre le serveur MQTT et l’ESP01 pour que l’ESP01 puisse envoyé les données relevé :

Programmewifi

Il devait également programmer un moyen pour relever les données envoyé par les capteurs :

moniteursérie

4-Esthétique du Goodie

L’Esthétique du Goodie est pour nous la dernière étape du projet. Tout d’abord pour commencer à créer notre cache il fallait qu’on la schématise et qu’on identifie les problèmes potentiels. On a donc pensé à faire deux trous sur notre cache pour laisser sortir nos capteurs, on a également penser à laisser une ouverture par le dessus pour retirer l’ESP01  sans trop de problèmes. Après avoir pris les dimensions de notre cache, nous sommes allés la créer à l’IUT LAB à l’aide, tout d’abord du site internet MakerCAse, puis une fois la modélisation terminer, nous l’avons imprimé à l’aide du logiciel CORELDRAW en retouchant quelques détails pour ensuite l’envoyer sur l’imprimante laser.

Résultat final :

boitier


 

Budget détaillé

Pour ce projet nous avons eu besoins de commander plusieurs composants pour notre circuit imprimée. Ayant un budget limité nous avons dû mesurer nos dépenses ;

-Régulateur de tension : 0.50 centimes

-Entrée USB : 2€ et 30 centimes

-Capteur de Température :  2€

Voilà les composants que nous avons dû commander, cependant beaucoup de composants comme les résistances, le condensateur ou encore un adaptateur  pour l’ESP01 nous ont été mis à disposition par l’IUT. Le coût du « Goodie » s’élève alors à 4€ et 80 centimes.


 

Problèmes rencontrés

Pendant ce projet nous avons rencontré beaucoup de problèmes, que ce soit dans la partie conception et réalisation ou encore dans la partie programmation.

Pour commencer nous avons eu un léger retard sur la commande des composants, puis après avoir créé notre circuit imprimé, les trous de perçages n’étaient pas assez précis et j’ai constater également que l’adaptateur pour l’ESP01 était trop proche des capteurs, ce qui pouvait causer une gène.

Nous avons également connu divers problèmes dans la partie programmation du projet, pour commencer nous avons connu un problème de connexion wifi, puis nous avons également connu des problèmes de communication avec le serveur MQTT

Enfin pour terminer le problème que nous avons connu dans la partie Esthétique du projet, a été CREO3, en effet nous ne maîtrisions pas vraiment le logiciel, nous avons donc trouvé une solution alternative grâce au site internet MAKERCASE et au logiciel CORELDRAW.

 


Mesure d’énergie

 

-Présentation du projet

Ce second projet consiste à relever la puissance électrique consommeé par n’importe quelle charge reliée à un compteur électrique, et tout cela depuis une interface accessible sur internet.

Le fonctionnement est le suivant:

Après avoir réalisé notre maquette et notre câblage électrique, nous avons du programmer une carte Arduino Ethernet. Les informations sont transmises sous forme d’impulsion du compteur à l’Arduino, et le programme permet de traduire le nombre d’impulsion reçu en une certaine puissance en Watt.

Nous utiliserons ensuite Node-Red, notre serveur Web qui permet de visualiser les valeurs reçue, en liaison wifi avec un Raspberry pi 3 qui est un hébergeur web, commun à d’autres projets que mes camarades ont réalisés.

Cette interface permet alors de visualiser la consommation de manière instantanée, depuis n’importe ou!

 


-Matériel à disposition et budget

Pour notre projet, nous avions eu beaucoup de matériel à notre disposition, tant pour les outils de travail, grâce notamment à l’IUT LAB, situé juste à côté de notre salle, que du matériel nécessaire à la réalisation du projet. Nous n’avons cependant pas eu besoin d’acheter d’autres objets ou matériels. La liste suivante montre les matériaux utilisés:

-Arduino Ethernet (~40€)

-Compteur électrique Velleman (~35€)

-Compteur énergie (~35€)

-Divers outils de l’Iut LAB


-Cahier des charges

Bête à cornes

image1

 

Pieuvre

 

Diagramme de Gantt

image2

Image4

Le diagramme de Gantt est un outil utilisé en gestion de projet permettant de visualiser dans le temps les diverses tâches composant un projet. Dans les captures d’écran présentes ci-dessus, nous pouvons voir la trame et les points importants qui nous ont servis de base de travail pour notre projet.

 


-Développement du projet

1-Câblage électrique

Image12

La première étape du projet était de trouver un support ainsi que de réaliser tout le câblage électrique. Nous avons réalisé tout cela comme vous pouvez le voir sur les images ci-dessus. Le câblage des prises électrique étant endommagés et défectueux, nous avons du le refaire intégralement, dénuder, remplacer et remettre tous les fils. Nous avons ensuite du rechercher de la documentation sur les compteurs électriques Velleman, pour savoir comment il fallait brancher tous les fils électriques etc… Pour finir, nous avons du rechercher comment il fallait câbler la carte Arduino. Une résistance était nécessaire dans le montage, chose que nous ne savions pas au départ, et qui s’avérait être essentielle pour le bon fonctionnement du montage!

Le câblage parait assez simple une fois réalisé, mais lorsque cela ne fonctionne pas comme nous le souhaitons, cela s’avère être un vrai casse tête, notamment lorsque nous ne savions pas qu’il fallait rajouter une résistance!

 

2-Programmation de la carte Arduino

image6image5Image7

 

La programmation de la carte Arduino Ethernet est l’une des étapes les plus importantes et les plus conséquentes de notre projet. La difficulté aura été de trouver, d’adapter et comprendre les bouts de code que l’on a pu trouver sur internet en rapport avec notre compteur électrique Velleman. De plus, il était difficile de comprendre comment transmettre les informations au Raspberry pi3 qui communique les informations au serveur web de Node-Red et MQTT. L’image à droite des captures d’écran montre a quoi cette carte ressemble. Nous voyons le câble noir d’alimentation de la carte en haut à gauche, et le câble ethernet est lui situé en haut à droite. Il permet de transmettre les informations reçues par le compteur qui est branché par l’intermédiaire de deux petits fils, ici blanc et bleu et qui ont nécessité d’une petite résistance pour dans le montage. Pour finir, nous apercevons en bas à droite un petit module qui se branche directement sur la carte Arduino: elle permet grâce à son port mini USB, de connecter le tout sur le port USB de l’ordinateur et ainsi téléverser le programme sur la carte.

 

3-Node-Red

Node-Red qui est un projet Open Source gratuit est un serveur Web qui est en liaison wifi avec un serveur Raspberry pi 3 et qui permet de réaliser l’objectif ultime de notre projet: relever la puissance électrique consommée par une charge via un site internet, et cela, de n’importe où! Ce langage de programmation graphique permet de connecter plusieurs objets connectés entre eux. Nous utilisons Node-Red de façon à récupérer  les valeurs du compteur contenu dans le serveur MQTT, pour ensuite les afficher sur différents compteurs présentés ci-dessous de manière graphique. Cela est réalisé par l’intermédiaire de node et blocs de fonctions que vous pouvez voir à l’écran ci-dessous dans les 2 rectangles de gauche. A droite, nous trouvons la console de debug qui renvoi les messages d’erreurs lorsqu’il y en a, le bouton de déploiement permettant l’exécution du programme graphique(première flèche) et l’autre symbole permettant de se connecter pour aller sur l’interface avec les jauges etc… Pour réaliser cette tâche, nous avons du nous informer sur beaucoup de site internet, notamment sur « projetsdiy.fr » qui regroupe pleins de  tutoriel dédié à la programmation et à la configuration de Node-Red et MQTT. La configuration de notre page Web se présente de la manière suivante:

Pour commencer, nous avons utilisé un bloc fonction générant des valeurs aléatoires (rectangle en haut à gauche) pour « alimenter » les différents blocs d’affichage étant donné que nous n’arrivions pas à récupérer la valeurs des impulsions des compteurs au début.

Le grand rectangle représente la partie principale de l’interface que nous verrons juste après. Celle-ci comporte une jauge affichant la puissance instantanée, une courbe permettant de visualiser cette puissance au fil du temps ainsi qu’une petite notification en haut de l’écran à droite. Nous voyons également que ces différentes fonctionnalités sont reliés à un autre bloc qui lui se charge de se connecter au serveur Mqtt pour récupérer les valeurs.

Nous avons ensuite réalisé une phase de test pour finir, ou nous avons branché une lampe allogène sur le compteur de consommation en haut à gauche. En parallèle, nous regardions sur se site web la puissance qu’indiquait la jauge de Node-RED. Nous constatons que la puissance est identique à 3 Watts près, ce qui nous prouve donc que nos mesures à l’aide de l’Arduino et du compteur sont bien fiables!

4-MQTT

MQTT permet aux appareils d’envoyer des informations sur un sujet donné à un serveur qui fonctionne comme un broker de messages. Le broker achemine les informations vers les clients qui se sont abonnés au topic en question. Placé sur le Raspberry pi3, le serveur MQTT (Message Queuing Telemetry Transport) est un protocole de messagerie qui fonctionne sur le principe de souscription et publication, développé dans le but de simplifier la communication entre les machines et objets connectés. Il sert d’interface entre l’utilisateur et le compteur. De plus, nous nous sommes servit de l’application mobile MyMQTT disponible sur Android (d’autres applications similaire disponible sur android et IOS existent) pour configurer le serveur.

Afin que le MQTT soit opérationnel, il a fallu coder dans le programme arduino les différentes fonctions d’envoie et de réception des données du compteur ainsi que son adresse IP.

 


-Problème rencontré

Les problèmes ont été nombreux dans notre projet mais nous sommes heureusement arrivés à tous les résoudre! Nous avons décidé de montrer les problèmes les plus complexes:

-La première aura été dans le branchement arduino-compteur, car la sortie du compteur est en NPN d’où la nécessité de brancher l’alimentation et la masse en plus de l’entrée digitale sur l’arduino pour recevoir l’impulsion délivré; ainsi que de placer une résistance entre la sortie du transistor et la masse

-Nous avons eu des soucis dans le choix de la carte Arduino.  Nous sommes passé d’une carte Arduino Uno avec un Shield Arduino TéléInfo (uniquement prévu pour les compteurs vendu par EDF) à une Arduino Yun (problème avec le port série et difficulté à trouver la syntaxe de code qui nous permettait de l’utiliser),  à la carte Arduino Ethernet

-Problème de compréhension et d’assemblage de code pour le programme Arduino

-Initialement nous devions utiliser le module USB Téléinfo 2 compteurs, un petit boîtier prêt à brancher avec son logiciel à télécharger; que notre professeur nous avait prêté, mais il se trouve que ça ne fonctionne qu’avec les compteurs d’EDF.


Conclusion

Goodies

Pour conclure sur notre projet Goodies, en effet ce projet a été bénéfique dans plusieurs domaines, tout d’abord grâce à ce projet nous avons découvert de nouveau logiciel tel que CREO3 ou encore Arduino, puis nous avons pu également revoir des choses que l’on avait déjà vu comme la programmation mais également la conception d’un circuit imprimé, ce projet nous a donc aidé à nous perfectionner dans certains domaines, mais il nous a également permis d’en découvrir d’autre. Ce projet nous aura permis de mieux découvrir l’IUT LAB en utilisant les logiciels et imprimantes 3D.

Cependant ce projet ne c’est pas limité a un approfondissement de nos connaissances scolaire, en effet il nous a permis de découvrir le vrai travail d’équipe, avec une planification et un budget a respecter..La cohésion de groupe a été primordiale, c’est ce qui nous a permis de mener a bien ce projet.

Pour finir ce projet a été composé de haut et de bas, cependant il fut très intéressant, il nous aura permis de découvrir de nouvelles choses que ce soient dans le domaine scolaire ou non.

Mesure d’énergie

Pour la partie sur la Mesure d’énergie, nous avons appris beaucoup de choses dans différents domaines. Nous avons du dans un premier temps apprendre à bien s’organiser dans son temps de travail de façon à respecter les délais que nous nous étions fixés. Nous avons du revoir les notions d’électricité en câblant les prises électriques et la carte arduino. Nous avons ensuite du prendre connaissance de toutes les cartes Arduino qui existaient de façon à choisir celle qui était le plus adaptés pour nous et apprendre à programmer l’arduino en C++. Ensuite nous avons appris quelques notions sur les objets connectés et appris à se servir de Node-RED, qui nous a permis de réaliser le but ultime de notre projet!

Ce projet était donc très intéressant et utile puisque voir la consommation électrique consommée permet de se rendre compte de toute l’énergie utilisé et ainsi d’essayer de l’optimiser de façon peut-être à trouver des méthodes pour l’économiser!

 


Remerciements

 

Nous souhaitons remercier Patrice Wira, Christophe Cudel et Sophie Kohler de nous avoir aider et accompagner durant toute la durée du projet et sans qui nous ne serions peut-être pas parvenu jusqu’au bout du projet!

 

Merci de nous avoir lu!

 


IOT Manager

IoT Manager

Introduction

Dans le cadre de l’ER2, nous avons du réalisé un projet, l’objectif étant de réaliser une chorégraphie NAO/Projecteur MAC 250, la prise en main de Node-RED, ainsi que la communication MQTT.

Ce projet consiste à promouvoir l’IUT de Mulhouse et en particulier le département GEII lors des portes ouvertes ou d’autres manifestations afin d’attirer de nouveaux étudiants.

NAO_IOTManager


Sommaire

Le Projet

Cahier des Charges

Ressources

Mise en oeuvre

Vidéo

Bilan

Conclusion

 


Le projet

Le but principal de notre projet consiste à établir une communication entres différents objets connectés. Le tout assuré par un serveur interne utilisant le protocole MQTT. Pour ce faire nous utilisons les outils mis à notre disposition ainsi que les travaux déjà effectués les années précédentes.

Notre objectif est d’établir une liaison entre NAO et les projecteurs MAC 250,grâce au nouveau protocole. De plus nous devons assurés la liaison entre le serveur MQTT via Node-RED et les projecteurs MAC 250. Pour cela nous devons créer une interface graphique nous permettant de contrôler les projecteurs depuis différents appareils (ordinateurs, smartphones, tablettes). Comme dans les projets précédents, une chorégraphie  NAO / Projecteurs est exigée.

Notre groupe de projet est composé de 3 membres. Alexandre MEYER, chef de projet chargé de la communication et de la synchronisation, Célestin HAGER chargé de la chorégraphie du NAO et de la synchronisation, ainsi que Benoît WITZ chargé de l’interface graphique et de la synchronisation.

Photo_de_groupe_iot_manager

 


Cahier des Charges

Les communication entre les différents terminaux (NAO, Projecteurs MAC 250, Ordinateur, etc …) doivent être établie suivant différents critères. Ainsi le projet est décomposé en plusieurs tâches importantes à respecter :

  • Permettre à NAO de pouvoir contrôler les projecteurs lors d’un mouvement précis.
  • Permettre à l’utilisateur de pouvoir contrôler les projecteurs grâce à une interface graphique.
  • Utiliser un Serveur MQTT pour la communication entre les objets.
  • Réalisation d’une chorégraphie ludique et éthique.

     Les fonctions du projet

Diagramme_fonctionnel

     Bête à Cornes

Bête_à_corne

     Diagramme de GANTT

GANTT

     Budget

Pour ce projet, l’IUT de Mulhouse nous a mis a disposition du matériel de pointe mais  très cher. En effet les robots NAO coûtes 5000€ pièce. À cela , il faut encore ajouter les 2 projecteurs coûtant 5000€ l’un donc 10000€ pour la paire. Comme nous avons 4 NAO , le coût total du matériel s’élève à plus de 30000€. Nous avons à notre disposition une somme de 200€ fourni par l’IUT, on  mais ne nous l’avons pas utilisée.

     Contraintes Robots NAO

Les NAO sont des objets fragiles , nous devons donc faire attention à ce qu’ils ne fassent pas de mauvais gestes ou qu’ils ne tombent pas. De plus, leurs autonomies sont assez faible (notice constructeur : 1h30 , réel : 30 minutes) ce qui nous obligent à souvent les charger.

Nous devons aussi faire attention quand nous testons de nouvelles positions, les 14 à 25° ne permettant pas de le faire bouger comme un être humain.

Avec un poids de 5kg, nous devons rester vigilant quand nous lui faisons faire des positions nécessitant un bon équilibre (le mettre sur une jambe par exemple) , le risque étant bien sur une bosse, voir pire comme son pouce ou son bras qui se casse.

Une dernière contrainte est le fait qu’il faut que le réseau wifi soit perpétuellement allumé , sans quoi ne pouvons pas nous connecter à un robot ou encore réaliser la communication (il est possible d’utiliser un câble Ethernet mais cela est beaucoup trop encombrant et non pratique).

     Contraintes Projecteurs MAC250

La contrainte la plus importante est le fait qu’il faut toujours penser à alimenter correctement les projecteurs afin d’éviter d’éventuelles cours-circuits ou surchauffes prématurées.

Ensuite au niveau technique , il faut bien comprendre comment fonctionne les projecteurs et comment les contrôler.

Pour une question de sécurité , il faut faire attention à ne jamais se trouver sous un projecteur au cas où l’un des deux se décroche de la barre métallique et faire attention à ne pas éclairer une personne directement. Cela peut nuire à sa vue.

      Contraintes Environnement de travail

Afin d’assurer le bon déroulement de la chorégraphie , il faut veiller à ce que la piste soit bien propre et qu’il n’y est pas de bosses ou de trous là où NAO se défoule.

Au niveau de la salle , il ne faut pas qu’il fasse trop chaud , les batteries des NAO chauffant beaucoup plus vite dans un environnement étouffant pour eux (et nous).

Bien sur , il faut aussi éviter de projeter des liquides sur les objets électriques afin d’assurer le bon fonctionnent de ces derniers.

     Contraintes Logiciel de programmation (Spyder)

Il faut importer tout les fichiers nécessaires ainsi qu’installer toutes les librairies permettant le bon fonctionnement du programme. Ceci ne s’installant que sur un ordinateur fixe , il n’est pas possible d’exécuter le programme sur tout les pc juste en lançant le logiciel Spyder.


Ressources

     Le robot NAONAO_présentation

NAO est une des pièces maitresses de notre projet avec les projecteurs. NAO est un robot humanoïde développé par la société Aldebaran.

Il possède plusieurs caractéristiques, 14 à 25° de liberté de mouvements , 2 caméras ou encore 4 microphones pour la reconnaissance vocale. Pour le projet, nous utilisons surtout l’émetteur wifi afin d’envoyer les trames au projecteur et permettre ainsi à NAO de contrôler les projecteurs. Le récepteur wifi NAO permet à celui-ci d’être contrôlé sans fils et de recevoir les « ordres » depuis chorégraphe.

     Le Logiciel « Chorégraphe »

Afin de gérer les déplacements de NAO , nous utilisons le logiciel « Chorégraphe »(version 2.1.3), lui aussi développé par Aldebaran. Plutôt facile dans sa prise en main , il permet par l’intermédiaire de « blocs » de piloter NAO.

Lien pour débuter avec le logiciel (attention , c’est en anglais)  : tutoriel chorégraphe

Choregraphe_tout

     Le boitier Open DMX Ethernet (ENTTEC)

Il nous sert à convertir le protocole Art-net qui permet la communication avec les projecteurs et ainsi pouvoirs les contrôler à notre volonté. Il faut cependant au préalable alimenter le boitier avec une tension de 7V DC à l’aide d’un générateur de tension.

     Les Projecteurs MAC250

Caractéristique d’un projecteur :

  • Lampe à décharge à haut rendement, 250 Watts, 2000 heures
  • 12 filtres dichroïques (permet de rendre une couleur plus saturée) interchangeables
  • 7 gobos rotatifs et indexables/interchangeables
  • Prismes tournant interchangeables à 3 facettes
  • Mise au net motorisée
  • gradateur intégral
  • noir ultra rapide et effet stroboscopique
  • optiques traitées
  • verrouillage de tilt

À l’aide d’un programme python , nous pouvons contrôler les projecteurs à l’aide de la fonctions  «  »NAOPJ », »‘eteindProjo’,’2′ », hostname= »10.95.11.3″ » , celle-çi qui nous permet d’éteindre les 2 projecteurs.

Il existe aussi d’autres fonctions permettant de régler la mise au net, la couleur ( 14 choix de couleur comme le jaune ou encore le magenta), les gobos intégrés au projecteurs (10 gobos fixes,  7 gobos rotatifs et  un gobo personnalisé GEII).

Projecteurs

     Node-RED

Node-RED est une plateforme de gestion  graphique des IoT et permettant de « connecter »ensemble des objets connectés. C’est un projet open-source et gratuit et capable de fonctionner sur un raspberry pi, dans notre cas le raspberry pi 3. Nous utilisons Node-RED de telle sorte que nous pouvons diriger les projecteurs à l’aide d’une interface graphique . Pour exemple nous pouvons par changer les couleurs , éteindre un ou les projecteurs, changer de gobos, les déplacer selon un axe x et/ou y, etc.. Tout cela se fait par l’intermédiaire de node et des blocs fonctions (nous permettant d’écrire notre code relatif aux actions que nous voulons faire) que nous relions les uns aux autres. Afin de « sécuriser » lors des transmissions de trames , nous avons fait de telle sorte que nous devons d’abord lancer notre programme python et rendu la transmissions via Node-RED impossible quand NAO envoie des trames au boitier Open DMX Ethernet (lui même communicant avec les projecteurs).

 

Voici à quoi ressemble notre interface de programmation  ( au centre l’interface de programmation , à gauche les différents nodes , à droit la console de debug et ainsi que le bouton de déploiement permettant l’exécution du programme graphique).

Node_RED_Présentation

 

Lien vers le site de node-red (en anglais) : node-red

Lien vers un guide pour commencer avec Node-Red (en anglais) :  starter guide

 

      Le langage de programmation : Python

Python est un langage de programmation orienté objet conçu pour optimiser la productivité des programmeurs en offrant des outils de haut niveau et une syntaxe simple à utiliser. Il existe  des bibliothèques qui aident le développeur à travailler sur des projets particuliers. Plusieurs bibliothèques peuvent ainsi être installées pour, par exemple, développer des interfaces graphiques en Python, faire circuler des informations au travers d’un réseau, dialoguer d’une façon avancée avec votre système d’exploitation, etc … Python est un langage de programmation interprété, c’est-à-dire que les instructions envoyées sont « transcrites » en langage machine au fur et à mesure de leur lecture, le défaut est qu’il faut installer Python sur le système d’exploitation que utilisé pour que l’ordinateur puisse comprendre le code.

     Le Logiciel de programmation : Spyder

Afin de programmer le code python permettant de contrôler les projecteurs , nous avons utiliser le logiciel Spyder. À gauche se situe l’environnement de programmation où l’on va écrire le code python. En bas à droite se trouve la console permettant de voir la bonne (ou non) exécution du programme. Pour lancer le programme , il faut le compiler puis appuyer sur Run (flèche verte).

Python_Présentation


Mise en oeuvre

Le schéma ci-dessous est un résumé de notre projet, il décrit les communication entre les différents outils connectés ainsi que les trois pôles important de notre projet. Nous allons voir à présent ces différentes caractéristiques.

Mise_en_oeuvre

     La Communication (MQTT)

Pour commencer parlons de la partie la plus importante de notre projet c’est à dire la communication entre NAO et les projecteurs. Pour cela nous utilisons le protocole MQTT, ce protocole MQTT est un service de messagerie TCP/IP simple et extrêmement léger dans le sens où des messages de toutes sortes peuvent être transmis. Les messages sont envoyés par des publieurs (les publishers) sur un canal appelé Topic. Ces messages peuvent être lus par les abonnés (les subscribers). Les Topics peuvent avoir une hiérarchie qui permet de sélectionner finement les informations que l’on désire. Pour plus de précisions sur ce protocole voici deux liens en anglais : https://www.ibm.com/developerworks/library/ws-mqtt/ / http://mqtt.org/documentation

Pour pouvoir utiliser ce protocole nous avons utilisé un Broker MQTT (serveur MQTT), il en existe pour tout type de langage de programmation. Ainsi dans notre cas le Broker est installé sur un Raspberry Pi 3 qui va faire office de Serveur.

Pour un exemple de communication on peut utiliser le serveur test d’un des plus grand Broker, test.mosquitto.org ,pour se faire il suffit d’installer une application sur son smartphone (ex: MyMQTT) et de se connecter à l’adresses donné précédemment ensuite de créer un topic puis de suivre ce topic.

Revenons à notre Projet, dans notre cas nous utilisons le protocole MQTT pour la communication entre NAO et le PC (programme Python) grâce au Raspberry Pi3 qui sert de Serveur MQTT. Pour se faire NAO envoie grâce à la liaison WIFI une trame MQTT qui va passer par le Serveur MQTT puis arriver sur le PC où le programme python va convertir le message en Art-net et l’envoyer vers le boitier ENTTEC qui converti cela en DMX (protocole Projecteur).

     NAO/Choregraphe (Bloc Bleu)

Pour la programmation de NAO nous utilisons Choregraphe, l’utilisation de ce logiciel est très simple, c’est un outils graphique et intuitif.

Choregraphe_tout

La photos ci-dessus présente notre programme final de la chorégraphie de NAO. On y retrouve plusieurs parties (Bleu, Rouge et Vert).

Partie Bleu NAO

Voici dons la partie Bleu l’ensemble de ces blocs chorégraphe décrivent la choregraphie finale de NAO pour ce faire nous sommes passé par plusieurs étapes décrite ci-dessous.

Partie Rouge NAO

Ici nous voyons dans le bloc rouge, il contient les différents blocs principaux qui décrivent chacun un mouvement précis de NAO (ex: se mettre debout,assis, sur un pied etc…), nous les avons tous programmé puis nous les avons utilisé pour la choregraphie.

Partie Verte NAO

Et enfin voyons précisément un blocs Chorégraphe (voir photo ci-dessous).

Choregraphie_bloc_python

Sur cette photos nous voyons l’exemple du bloc principal pour se mettre Debout, on constate qu’il est composé de deux sous bloc Debout et Python. 

Pour se faire chaque blocs principaux contiennent un bloc Python qui va permettre à NAO de publier sur un topic un message indiquant se que le projecteur doit faire. En effet la partie la plus importante du code sont les commande publish.single(… ,hostname=…) qui vont envoyer les message MQTT.

Par exemple : publish.single(« NAOPJ »,« ‘NAOSTART’,’eteindProjo’,’2′ »,hostname=« 10.95.11.3 »)

Cette commande va envoyer sur le topic NAOPJ  le message ‘NAOPJ », »‘NAOSTART’,’eteindProjo’,’2′ . Ici hostname=« 10.95.11.3 » veut simplement dire que le message va au serveur MQTT.

Au final chaque blocs principaux sont organisés de la même façon avec deux sous bloc un Python et un de Mouvement. (prérequis pour l’utilisation : installation de la librairie paho-mqtt 1.1 dans choregraphe).

     Raspberry Pi 3 /Node-Red (Bloc Rouge)

Voici le bloc fonction principal, puisqu’il gère toutes les entrées du dashboard, grâce à différents topics MQTT. Bien sûr lors de l’envoie des infos au programme principal il utilise notre sécurité afin que lorsque qu’un utilise les projecteurs il ne soit pas dérangé par NAO. Sur l’image ci-dessous , nous pouvons voir que nous avons utiliser des structures en « if ».  Dans l’exemple ci-dessous , un message est posté dans le topic « NAOPJ » , si les « switch » des  projecteur1 et  projecteur2 du dashboard sont à 1 ou 0, un message de leur état  va être envoyé sur le topic précédement cité cette valeur va être récupérer par le serveur mqtt puis l’information va être envoyé vers les projecteurs. Nous pouvons faire la même chose avec les couleurs par exemple. Chaque couleurs à son propre numéro. Si nous sélectionnons par exemple le vert , le numéro correspondant va être publié sur le topic « NAOPJ » et reçu sur le serveur mqtt puis envoyé vers les projecteurs qui vont prendre la couleur correspondante.

Fonction_Node-RED

Voici à quoi ressemble notre interface graphique (le dashboard) avec les différents outils de commande des projecteurs. Nous avons par exemple utiliser le node « switch » pour la sélection des projecteurs ou pour les éteindre/allumer  , le node »slider » pour le contrôle des axes x et y ainsi que la netteté ,  le node « liste déroulante » pour choisir la couleur et les gobos et enfin le node « bouton » pour la réinitialisation des projecteurs (les éteins et les remet en position x:y 0:0).

Node-RED_Dashboard

 

     Programme Python (PC)

Programme central du projet, il gère toutes les entrées MQTT qui viennent soit de NAO, soit de l’interface graphique et les convertit grâce au programme de l’an dernier en trames envoyé au boitier ENTTEC qui lui les convertira en DMX.

Python_Début

B Rouge Prog

Cette partie de programme permet d’initialiser les projecteurs lors de la connexion. (mise en position initiale)

 

B Jaune Prog

 

Deuxième partie importante du programme qui lorsqu’un message est reçu va le mettre en forme pour que la suite du programme puisse l’analyser et envoyer les bonnes informations  aux projecteurs.

 

B Vert Prog

 

 

Nous avons mis en place une petite sécurité qui fait en sorte que lorsque le programme est utilisé il ne puisse pas être perturbé par une autre entré. (ex : lorsque NAO envoie des infos , une personne depuis le dashboard ne pourra pas contrôler les projecteurs).

 

 

 

B Violet Prog

Pour cette dernière partie nous voyons un exemple de traitement des informations contenue dans le message pour les adapter à la fonction final qui est ici bougeProjo(channels,ip,x0,y0,PanProjo00,TiltProjo00,OP0,OP1,pas,vitesseSec,x1,y1,choixProjo) 

Pour la mise en forme des paramètres de la fonction nous transformons le format des variables pour pouvoir en extraire les informations voulu jusqu’à ce que nous pussions les réutiliser.

Ces fonctions proviennent des projets des années passées (dans notre cas du fichier fonctionProjecteur1 ).


Vidéo


Bilan

Pendant les heures de projet , nous avons rencontrés différents problèmes , les principaux venant des robots NAO.

Concernant les projecteurs , ils nous a fallu du temps pour comprendre comment les faire fonctionner, savoir les positionner comme nous le voulions, comprendre comment marche les paramètres des fonctions que nous utilisons pour les contrôler. Nous avons pu grâce à ce projet , comprendre comment fonctionnait les projecteurs utilisés par les professionnels ainsi qu’une introduction au langage python.

Concernant les robots NAO, nous avons rencontrés de multiples problèmes : robots qui ne se connectait pas ou qui se déconnectait en pleine séance de test, qui ne prenait pas en compte les positions faites, 2 NAO n’ont plus de pouce, robots instable qui pouvait perdre le contrôle et tomber à la renverse n’importe quand. De plus , l’autonomie des batteries étaient très faible  et les moteurs NAO chauffait très vite entraînant des problèmes dans nos différents tests (danse, communication NAO/projecteurs).

Un autre problèmes fut pour l’installation de l’interface graphique avec Node-RED, il a fallu faire une réinstallation complète du Raspberry Pi.  Nous avons du aussi comprendre comment fonctionnait Node-RED, comment créer des programmes et l’utilisation de chaque node mise à notre disposition.


Conclusion

Notre but lors de ce projet était de réaliser  une chorégraphie synchronisée alliant NAO et les projecteurs  et de faire communiquer ces deux derniers, cela a été compliqué et nous a pris beaucoup de temps  mais nous y sommes parvenus. Ce projets nous a permis d’en apprendre plus sur la programmation, sur comment fonctionne NAO mais surtout nous a permis de mettre un premier pas dans le monde des objets connectés. Nous remercions l’IUT de mulhouse et le département GEii de nous avoir mis à disposition le matériel nécessaire au projet, aussi cher soit-il.


Remerciement

Mme.KohleriutCouleur

M.Cudel

M.Wira

M.Roth

M.De Sabbata

IUT de Mulhouse

PicturalThings

 


Robots ruches connectées

 

Ruches connectées

Sommaire :

 

Introduction

Membres du projet

Présentation du sujet

Cahier des Charges

1. Diagramme bête à  cornes

2. MindMap

3. Diagramme de Pieuvre

4. Diagramme de Gantt

Gestion de projet

1. Etude de consommation

2. Etude d’alimentation

3. Etude capteur de poids

4. Collecte et affichage de donnée

5. Comparaison entre Sigfox et Lora

Bilan

Bibliographie

Remerciements

 

Introduction

 

 

Dans le cadre du projet du second semestre en DUT GEII, (Génie Electrique et Informatique Industriel) de première année. Il nous est demandé de réaliser par groupe un projet, dont nous avons 60h encadré par nos professeurs (M.Hueber et M.Choisy ). Les enseignants nous ont demandé de choisir un projet que nous voulions réaliser sur une liste de 3 projets. Chaque projet doit être constituer de 2 à 6 personnes.

 

 

Membres du projet

 

 

Notre groupe est composé de deux étudiants en première année GEII :

Capture-5

Présentation du sujet

 

 

Nous avons pour projet, l’amélioration de la « ruche connectée » de l’an dernier (http://www.projetsgeii.iutmulhouse.uha.fr/ruche-connectee/). Elle est déjà équipé de capteurs de température et d’humidité. Les informations sont stockées et diffusées sur un site internet (http://abeilles.geiim.fr/accueil.php). Cela permet a l’apiculteur d’avoir des informations sur sa ruche en temps réel. Le système doit être autonome et en aucun cas, ne doit gêner l’apiculteur ou les abeilles dans leur travail. Notre but cette année consiste à améliorer l’alimentation de la ruche  mais aussi ajouter un capteur de poids et un radiateur.

 

 

Cahier des Charges

 

1. Diagramme bête  à  cornes

 

 

La bête à cornes sert à définir à quoi sert le projet et à qui il sert.

Capture-6

2. MindMap

 

 

Le MindMap sert à montrer les différents points de réalisation du projet.

Capture-1

 

3. Diagramme de Pieuvre

 

 

Le diagramme de la pieuvre  permet de connaître les différents fonctions,  contraintes (gauche) et principales (droite) de notre projet.

Capture-2

4. Diagramme de Gantt

 

 

Le Gantt permet de prévoir l’organisation du temps dans le projet.

Capture-4

Budget détaillé

 

 

Notre Budget initial est de 200 euros. Nous disposons également du matériel mis à  notre disposition à L’IUT Lab.

Nom

Quantité

Prix

Capteur de pression

4

29,99€

Capteur de température/Humidité

2

54,06

Panneau solaire

1

48,65

Gourde

4

19,96

Câble USB 2m

1

5,28

Plaque chauffante

1

20€

Battery management system

1

1,45

Au total nous avons dépensé 179.39€ .

 

 

Gestion de projet

 

1. Etude de consommation

 

 

Avant de commencé tout type de montage, nous avons étudié la consommation de tout les composants de notre système embarqué afin de bien choisir l’alimentation qui suit. Nos capteur de température/d’humidité ont une plage de -40 à  125 degrés Celsius et 0% à  100% pour l’humidité .

20170526_161651

Akeru Capteur de température/d’humidité extérieure (SHT75) Capteur de température/d’humidité intérieure (SHT11) Capteur solaire HXT711
IMAX 25 mA au repos/80 mA actif 1 mA 1 mA 0.002 mA 1.5 mA

 

 

2. Etude d’alimentation

 

 

Notre Système embarqué consomme au total près de 80 mAh. Nous devions commander un panneau solaire capable d’assurer l’alimentation.

Sans titred

Pour connaître la production du panneau solaire dans différents conditions ( à  l’ombre, de coté, de dos, en plein soleil ), nous avons fait un montage pour ainsi avoir une estimation sous différents climats. Au plein soleil correspond à une alimentation optimale.

Capture-1Capture-2

 

graph

 

Pour stocker la production du panneau solaire, il suffit d’installer une batterie, accompagné d’un BMS qui permettra d’éviter la surcharge. La batterie fabriqué manuellement est composée de 3 piles lithium, au total 12V supportable par l’Akeru .

20170526_13434020170526_140030

 

Mis en lien du panneau solaire et batterie

 20170526_165323

3. Etude capteur de poids

Nous avions à notre disposition des gourdes et des capteurs de pressions pour récupérer le poids de la ruche. Le capteur est alors placé au bout de la gourde mais malheureusement les capteurs de pressions atteignaient vite leurs limites et ne pourraient pas assurer une plage de mesure approprier.

20170526_13440120170526_134503Capture-3

 

Il a donc fallu penser à un système pour démultiplier la pression exercé sur cette gourde et ainsi repousser la limite du capteur de pression.

20170526_160600

 

Des barres sont placées aux quatre coins du support de la ruche, ce qui servira à ce que la force exercée sur la gourde au milieu soit atténuée. Puisqu’une partie du poids est exercée sur les barres des coins de la ruche, cela soulagera d’une pression moins conséquente pour la gourde. Et ainsi on aura une plage de mesure beaucoup plus étendue.

20170526_162051Test Sans titre5

Nous avons donc tester ce système de récupération du poids avec l’aide d’un programme pour convertir le résultat à la sortie du capteur en kilogramme et ainsi l’envoyer sur une plateforme où le poids sera affiché.

4. Collecte et affichage de donnée

 

 

La collecte des données de notre l’Akeru, par nos capteurs de pression, température/humidité  sont transmis sur un site Actoboard dédié au réseau Sigfox. L’affichage de donnée peut-être modifié directement sur le site Actoboard . L’apiculteur peut consulter les informations en lignes rafraichie tous les 10 min.

Capture-3 Capture-5Capture-6

Capture-7

 

5. Comparaison entre Sigfox et Lora

 

 

 Lora  Sigfox
Fréquence utilisé 866 MHz et 433 MHz  868 MHh
 Débit 300 bits/s à 100K bits/s  500 bits/s
Taille de transmission d’information sans limite avec une limite de 12 octets par message et 140 messages par jour
 Puce (gère le flux de donné situé dans le circuit intégré)  Semtech ,Microsemi  Atmel, Texas, Silicon Labs, ST Micro

 

Bilan

 

 

Le système embarqué est capable de s’auto-alimenter et de transmettre ou recevoir des données via le réseau Sigfox, des données reçues en temps réel par nos différents capteur sur notre Akeru grâce au onde basse fréquence qui permettra ainsi a l’apiculteur de suivre sa ruche en ligne.

 

 

Bibliographie

 

 

Cahier des charges fonctionnelles  :  Cahier de charges fonctionnelles

Cahier des charges techniques :Cahier des charges techniques

Carnet de bord : Carnet de bord

Remerciements

 

 

Merci au département GEII de l’IUT de Mulhouse pour le budget et l’apport de matériels.

Nos professeurs encadrants Mr Hueber et Mr Choisy de nous avoir aidé pour ce projet.


Ruche solaire

Projet Ruche Solaire

 

Logo-GEii-mulhouse

 

Régulation de la température d’une ruche grâce à la chaleur du soleil

pour éliminer le Varroa destructeur.

 

Sommaire

                               I.  Cahier des Charges

                              II.  Préparation du projet

                              III. Cahier des Charges Techniques

                              IV.  Réalisation du projet

 


I. Cahier des charges

    1. Contexte

Problématique :
Comment se débarrasser du varroa de façon écologique ?

 

Objectifs :

Eliminer le varroa destructeur dans une ruche
Technique écologique et facile d’utilisation
Méthode faisable pendant la miellée


 2. Bête à cornes

Image1


3. Diagramme Pieuvre

Image2


4. Contraintes

 

Capture


II. Préparation du projet

1. Mind Map

Image1


2. Organigramme GANTT

Image2

Suite …

CaptureProjet


3. Répartition des tâches

 

Capture

 


III. Cahier des Charges Techniques

1. Solution Technique

Image2

 

 

  • Traitement par hyperthermie :

– Varroa => 41°C

– Abeille => 47°C

  • Déjà eu des précédents>/span>
  • Objectif => 80% à ± 10%

 

 


 

 

 

 

 

1.Ruche + écran LCD + capteur

2.Panneau solaire ou batterie

3.Raspberry PI

4.Carte d’alimentation

 

 

 

 

 

 

 

 

 

 


 

 

2.1 Fonctionnement de l’écran LCD

 

Heberger imageHeberger image

 

 

 

 

 

        Ecran en mode opaque                                                                               Ecran en mode transparent

 

3. Ecarts de prévision et problèmes

 

Capture

 

 

1ère Année DUT GEii – promotion 2017

 


Régulation humidité du sol

Projet 1ère Année DUT GEii – promotion 2017



Résultat de recherche d'imagesRésultat de recherche d'images



 

CONTRÔLE HUMIDITÉ DU SOL

photo_projet

 



 

SOMMAIRE

I. Introduction

II. Présentation du sujet

III. Cahier des charges

  1. Bête à cornes
  2. Pieuvre
  3. MindMap
  4. Planification Gantt
  5. Délais
  6. Budget de départ
  7. Liste des achats

IV. Réalisation du projet

  1. Composants:
    1. Microcontrôleur
    2. Capteur d’Humidité
    3. Électrovanne
  2. Test fonctionnement:
    1. Capteur
    2. Électrovanne
  3. Réalisation carte électronique
  4. Programmation
  5. Packaging

V. Conclusion

VI. Perspectives d’évolution

VII. Remerciements



 

Introduction

 

Dans le cadre du projet d’études du DUT Génie Electrique et Informatique Industriel de Mulhouse, nous avons du réaliser un projet lié au domaine de l’électronique et de l’informatique. Ce projet s’est étalé sur la totalité du deuxième semestre et a totalisé un volume horaire encadré de 60 heures. Ce projet qui n’est autre que le contrôle de l’humidité du sol.

Le choix de l’équipe et du projet a été effectué en fonction de nos affinités et de nos préférences. Durant la totalité du projet, deux professeurs nous ont encadré : M. Haultcoeur et M. XU.

 



Présentation du sujet

 

Le but du projet est de réaliser un système autonome de régulation du taux d’humidité du sol sur plusieurs types de sol différents. De plus si le niveau d’humidité passe sous un certain seuil le système devra y remédier.

Notre dispositif devra bien évidemment être mobile et non fixe pour pouvoir changer de point de mesure et il devra résister aux intempéries de façon à pouvoir rester à l’extérieur.



Cahier des charges

 

1.Bête à cornes

 

Afin de connaitre les besoin primaire ou l’exigence principal de notre projet il nous a fallu utiliser le diagramme dit « de la bête à cornes »:

 

Diagramme Bete à corne


 

2. Pieuvre 

 

Maintenant que nous connaissons  le besoin primaire nous pouvons passer au diagramme dit « de la pieuvre » qui permet d’identifier les fonction principales (FP) et contraintes (FC) :

Capture

FP1

Le capteur d’humidité pourra être déplacé par l’utilisateur et être réglé par ses soins

FP2

Notre projet devra pouvoir détecter le taux d’humidité du sol et réagir si il passe sous un certain seuil

FP3

Le système devra pouvoir être disposé en extérieur et devra donc résister aux conditions climatiques et intempéries

FP4

Le capteur devra être implantable  dans tous types de sol

FC1

Le système devra pouvoir enregistrer les données que le capteur va récolter

FC2

Le conteneur qui accueillera le système devra etre esthétique et agréable à l’œil


3. MindMap

Avant de pouvoir passer dans le gros du projet il faut réalise un MindMap qui est le fait de représenté toute les idées et tache autour d’un même sujet et donc le voici :

mind_maps


4. Planification Gantt

Maintenant grâce au MindMap nous pouvons réalisé le Gantt qui est le fait de planifié toute ces taches :

 

gantt_prevision

gantt_2

 

 

 

 

 

 

 

 

 

 

 


5. Délais

 

La limite finale du projet correspond au jalon fixé par nos professeur encadrant qui été avancé le plus possible et si possible finir notre oeuvre avant le jour de la soutenance le jeudi 22 juin 2017.

Donc notre projet devra au plus tard être finie le jour précédent la soutenance, soit le Mercredi 21 Juin 2017.


6. Budget de départ

 

Le budget dont nous disposons est de 150€. Tous les matériaux disponibles à l’IUT et la commande de pièce annexe sont a prendre en compte dans le budget, seul le raspberry et ces accessoires(écran +souris +clavier) ne sont pas pris en comptent car prêtés par l’établissement.


7. Liste des achats

 

Pour notre projet nous n’avons acheté que quelques composants qui nous on permis de réaliser la nappe qui nous permettra par la suite de connecter les ports du raspberry au circuit de la plaque électronique car les autres composants ont été trouvé dans le magasin de L’IUT.



 

Réalisation du projet

 

1. Composants

 

Avant de pouvoir débuter notre projet il nous a fallu commencer par faire quelque recherche sur les composants mis a notre disposition par L’IUT :

1. Microcontrôleur

raspberry pi 3 b

  Caractéristiques technique:

  • 1 Go de RAM
  • 4 ports USB
  • 40 broches GPIO
  • Port HDMI complet
  • port Ethernet
  • Prise audio combinée de 3,5 mm et vidéo composite
  • Interface caméra (CSI)
  • Interface d’affichage (DSI)
  • Emplacement de la carte Micro SD (maintenant push-pull plutôt que push-push)
  • VideoCore IV noyau graphique 3D

2. Capteur d’Humidité

capteur-d-humidité-du-sol-analogique-et-numérique

 

En ce qui concerne les capteurs nous étions au préalable munis d’un capteur (conductivité électrique). Cela dit, en faisant des recherches plus approfondie j’ai découvert que certain autre type de capteur comportaient  des atouts non négligeable pour avoir un dispositif de mesure avec une sensibilité  élevé. J’ai donc décidé de faire un tableau de comparaison pour avoir une idée du capteur qu’il faudrait utiliser dans notre cas.

tableau comparatif capteur

 

Grace a ce tableau on remarque que la méthode TDR (réflectométrie temporelle) ,qui mesure l’humidité volumique du sol ,permet une mesure très précise de l’ordre de la picoseconde (10^-12) se qui est largement suffisant dans notre cas.. Malgré la disponibilité  et le prix un peu plus élevé, pour des mesures aussi précises et rapide autant payer un peu plus cher.


3. Électrovanne

 

distributeur TOR

 

Pour l’électrovanne j’ai décidé de faire pareil que pour le capteur pour vérifier que le type de notre électrovanne(TOR: tout ou rien)  a été la plus adaptée  :

 

tableau comparatif distributeur

D’après ce tableau on remarque que le Distributeur a commande proportionnel est celui qui serait le plus adapté. Prenons un exemple, si après une mesure on remarque que le taux d’humidité est inférieur a notre seuil défini grâce a ce distributeur nous pourrions réguler le flux d’eau qui arriverais afin  d’optimiser le taux d’humidité contenu dans le sol. Cependant avec notre électrovanne nous devons améliorer le temps d’ouverture de l’électrovanne.


 

2. Test fonctionnement

 

Maintenant que nous connaissons les caractéristiques de nos composants nous allons pouvoir passer a la deuxième partie qui est le test de chaque composants afin de connaitre leur fonctionnement :

1. Capteur

 

  • Avant de faire des test dans des pots de terre j’ai commencé par voir les valeurs que me sort mon capteur dans de l’eau et dans l’air :

test eautest air

 

 

On observe sur l’image de gauche (Test dans l’eau)  qu’avec une valeur de 3.3V en entrée, la valeur mesuré est de 1.26V ce qui prouve que plus l’humidité est importante plus la tension mesurée et faible.

On observe sur l’image de droite (Test dans l’air) qu’avec la même  tension que dans le premier cas, si la valeur mesuré est la même que celle de l’entrée,  l’humidité est plus importante en fonction de la résistance entre les 2 borne.

 

 

 

  • Maintenant que je connais un peu mieux le capteur et son fonctionnement je suis passé au test sur plusieurs types de terre fournie par notre professeur encadrant (M.XU) :

type de terre

sur cette image on peut voir trois type de terre différent:

  • Sable       (pots en haut au centre)
  • Mélange (pots en bas a gauche)
  • Argile     (pots en bas a droite)

Premier test:

20170315_113519

On remarque que sous une tension de 3.3V , la valeur mesuré en sortie vaut 3.15V  ce qui signifie que le sable est une terre de base trés peu humide.Plus l’humidité est grande plus la tension mesuré et faible.

Deuxième test :

mélange

 

 

 

 

 

 

On observe que toujours sous une tension de 3.3V , la valeur que nous affiche le voltmètre est 0.66V, ce qui signifie que le mélange est 2 fois plus humide que la mesure faite précédemment dans l’eau.

Troisième test :

20170315_145500

Pour finir on remarque que sur de l’argile, la tension mesuré en sortie 0.8V et un plus basse que celle réalisé dans l’eau(1.26V) .

En résumé, chaque type de terre avait ses propre caractéristique et donc pour un même volume d’eau chacune de ces terre aura  ça propre manière  de l’absorber.  De ce fait, lors de la programmation du dispositif il y aura plusieurs facteurs a prendre en compte pour pouvoir optimiser l’irrigation des terres et donc le taux d’humidité.


2. Électrovanne

 

Pour l’électrovanne les tests ont été beaucoup plus simple a réaliser car j’ai juste mesuré la tension minimal a laquelle l’électrovanne s’ouvrait après réalisation du montage et test en augmentant la tension on trouve que sous une tension minimal de environ 6V l’électrovanne s’ouvrait.

Après la réalisations de ce montage j’ ai cherché un moyen de raccorder  l’électrovanne a une arrivé d’eau  et donc voici le prototype réalisé grâce au matériel a notre disposition:

raccordement electrovanne

On peut voir qu’on a raccordé l’entré de l’électrovanne avec un embout (de robinet) sur le tuyau d’arriver d’eau et grâce a un collier de serrage on a pu ouvrir l’arriver d’eau sans qu’il y ait des fuites.


3. Réalisation carte électronique

 

Pour la réalisation de mon circuit imprimé j’ai eu droit a l’aide de collègue extérieur a mon projet, ce qui m’a permis d’avancer plus vite et donc de pouvoir aboutir a quelque chose de concret, voici le résultat :

kicad

On peut voir sur ce graphique le schéma réalisé grâce au logiciel KiCad, ce schéma se compose de plusieurs partie différente :

  • Partie Capteur(rouge) : Cette partie se compose du connecteur pour le capteur qui va permettre de mesuré l’humidité du sol.
  • Partie Raspberry(vert) : cette partie se compose de tous ce qui est traitement des donné donc du MCP3008 qui est un convertisseur analogique numérique et des connecteur pour les ports GPIO du raspberry.
  • Partie Relay(orange) : Cette partie se compose de tous les composant qui permette le bon fonctionnement du relay.
  • Partie LM317(noir) : Cette partie se compose de tous les composant qui permette le bon fonctionnement du LM317 qui est un régulateur de tension.
  • Partie Externe(jaune) : Cette partie se compose d’un connecteur pour une batterie externe(en bas) de 5V est d’un connecteur(en haut) pour l’électrovanne.

Après avoir réalisé le montage ci-dessus je suis passer au routage du circuit toujours grâce a KiCad puis après un long processus en commençant par couper une plaque au dimension voulue puis en  passant par plusieurs différent machine(ex: insoleuse, laveuse):

19458017_674873999384229_73346049_n

 

 

 

 

19402425_674874009384228_1114615964_o

 

 

 

 

 

Donc pour le processus on commence par couper une plaque de cuivre au dimensions voulue puis on imprime les piste du circuit routé  ensuite on commence par placé tout ceci dans une insoleuse (première photo) celle-ci permet de marquer  sur notre plaque les piste du circuit ensuite on passe notre plaque dans un révélateur qui permet de faire apparaître celle-ci on continue ensuite par passer notre plaque dans une laveuse(seconde photo) celle-ci est composé de plusieurs solution chimique qui vont permettre d’enlever le surplus de cuivre et pour finir on passe a l’étamage des pistes.

Ensuite après y avoir souder chaque composant a son emplacement voici le résultat

19359254_674046116133684_846436720_o


 

4. Programmation

 

Lors de la programmation la tache fut assez rude car il a fallu prendre en compte beaucoup de paramètres liés au type de terre et d’autres lié au composant électronique utilisé lors de la création du circuit imprimé. Voici un prototype du programme qui n’a malheureusement pas pu être testé a cause d’un manque de temps et d’effectif :

#!/usr/bin/env python
import time
import os
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)

def readadc(adcnum, clockpin, mosipin, misopin, cspin):

if ((adcnum > 1) or (adcnum < 0))
return -1
GPIO.output(cspin, True)
GPIO.output(clockpin, False)
GPIO.output(cspin, False)
commandout = adcnum
commandout |= 0x18
commandout <<= 3

for i in range(5):
if (commandout & 0x80):
GPIO.output(mosipin, True)

else:
GPIO.output(mosipin, False)
commandout <<= 1
GPIO.output(clockpin, True)
GPIO.output(clockpin, False)
adcout = 0

for i in range(12):

GPIO.output(clockpin, True)
GPIO.output(clockpin, False)
adcout <<= 1

if (GPIO.input(misopin)):
adcout |= 0x1
GPIO.output(cspin, True)
adcout /= 2
return adcout
SPICLK = 19
SPIMISO = 13
SPIMOSI = 6
SPICS = 5
SPIRELAY = 2
GPIO.setup(SPIMOSI, GPIO.OUT)
GPIO.setup(SPIMISO, GPIO.IN)
GPIO.setup(SPICLK, GPIO.OUT)
GPIO.setup(SPICS, GPIO.OUT)
GPIO.setup(SPIRELAY,GPIO.OUT)

While true :

adcnum = 0
read_adc0 = readadc(adcnum, SPICLK, SPIMOSI, SPIMISO, SPICS)
volts0 = read_adc0 * ( 3300.0 / 1024.0)
print « \tvaleur brute 1 : %s » % read_adc0
print « \ttension 1 : %s volts\n\n » % volts0
if volts0 <= 1.5
GPIO.output(2,GPIO.HIGH) #sortie 2 à 1L

elsif volts0 >1.5
GPIO.output(2,GPIO.LOW) #sortie 2 à 0L

time.sleep(1)

Normalement pour l’instant ce programme sert a mesure l’humidité du sol sur un seul type de terre(sol humide) mais comme dit précédemment je n’ai pas eu le temps de le tester.

Pour une meilleur compréhension du programme, du début  jusqu’à la boucle « while » ce sont les configuration du MCP3008 puis ensuite il y a notre code.


 

5. Packaging

 

Enfin nous voici a la partie final qui permet de voir si tous les effort fournie tous au long de ce projet on aboutie a un dispositif qui répondra ou non au cahier des charge et au CDCF(cahier des charge fonctionnel)  défini au début du projet, grâce au machine disponible a l’IUT lab voici le résultat des découpe faite a la machine laser qui ma permis de découpé mais plaque :

vue eclaté

Ensuite après avoir assemblé toute ces pièces et les composant voici le résultat :

19401099_674801139391515_802661941_o

On observe dans cette boite 2 partie différente :

19402573_674801059391523_856599959_o

  • Partie électrovanne : Cette partie se compose uniquement de l’électrovanne d’un tuyau d’arrivé d’eau(gauche) et un tuyau pour l’irrigation du sol(droite).

19401135_674801069391522_1830698318_o

  • Partie électronique : Cette partie se compose du circuit électronique réalisé, du raspberry et du capteur qui se situe a l’extérieur.

Pour finir après avoir ferme la boite voici le résultat final:

photo_projet



Conclusion

 

Pour conclure, ce projet ma  permis de découvrir de nouvelles choses comme: la gestion d’un projet, le travail en équipe, la démarche à suivre pour arriver au bout d’un projet, certaines nouvelles méthodes. De plus, cela ma permis d’approfondir mes connaissances dans différent domaine. Enfin pour finir au cour de ceux projet j’ai eu a surmonté d’innombrable échec (surtout dans la réalisation de la carte électronique a cause de composant introuvable dans le magasin ce qui ma obligé a changer ma carte et lors de l’impression le noir n’été pas assez puissant ce qui a rendu mais piste fragile …) et problème surtout dû au membre de mon groupe qui on tous décidé de quitté le DUT GEII pour continuer ailleurs ce qui ma valu de travailler pour 4.



 

 Perspectives d’évolution

 

Si notre dispositif devait être commercialisé a la fin des heure qui lui ont été consacré alors, on peut dire sans trop de doute  que notre dispositif peut nettement s’améliorer en tout point tant en terme d’esthétique que de logistique ou encore de fonctionnement ou de précision des mesures. Notre projet peut encore grandement s’améliorer sur certain point comme par exemple en changeant le capteur (conductivité thermique) par un TDR pour nettement augmenter la précision ou encore pour l’électrovanne la changer par une a commande proportionnel qui permettrais de régulé le flux d’eau et donc de mieux doser l’eau qui sert a irriguer ou encore lors de la création du packaging utilisé des matériaux résistant au intempérie, etc… . Tout cela pour dire que notre projet a encore une grosse marge de progression avant de pouvoir être commercialisé sur le monde du marché.



 

Remerciements

 

L’IUT de Mulhouse ainsi que l’IUT LAB pour le budget et l’apport de matériels.

Nos professeurs encadrants Mr Haulcoeur et Mr Xu.

Projet_IUTLab_avec_IUT_de_Mulhousetéléchargement

 

 

 

 


Robot de sécurité



photo

 

 

Projet robot de sécurité

 

depositphotos_106566588-stock-photo-modern-robot-and-shield-security


Sommaire :

Introduction

Membres du projet 

Présentation du sujet

Problématiques

Gestion de projet

  1. Bête à cornes
  2. MindMap
  3. Pieuvre
  4. Planification (Gantt/Timeline)
  5. Délais
  6. Budget de départ
  7. Liste des achats

Réalisation du projet

  1. Base Robotino
  2. Composants
    1. Microcontrôleur
    2. Capteur de température
    3. Capteurs de distance
    4. Capteurs de flammes
    5. Capteur de monoxyde de carbone
    6. Support des capteurs
  3. Pilotage du robot
    1. Ordinateur
    2. Manette
    3. Smartphone/Tablette
  4. Programmation
    1. Robotino View
    2. Arduino

Bilan

Perspectives d’évolution

Bibliographie

Remerciements

 



Introduction

 

Dans le cadre des projets d’étude et réalisation du DUT Génie Electrique et Informatique Industrielle, nous nous sommes vu confiés un volume de 60 h dédiées à un projet précis : La conception d’un robot de sécurité. Ce projet a duré pendant la quasi totalité du semestre deux, c’est-à-dire de mars à juin.

Le choix de l’équipe et du projet a été effectué en fonction de nos affinités et de nos préférences. Durant la totalité du projet, deux professeurs nous ont encadré : M. Hueber et M. Choisy. Au delà des 60 h attribuées au projet, il nous a fallut travailler en complément afin de respecter le cahier des charges prévu.

Sommaire ->


Membres du projet

 

Pour ce projet nous devions être un maximum de 4 étudiants avec pour seul critère d’être dans le même groupe de TP.

 

Raphaël Jiménez                                                                                                                                                                                                                                                                                                                                                                                                                                          Quentin Dijoux

raphel
Chef de projet
Quentin
Responsable programmation

Quentin Ingweiller                                                                                                                                                                                                                                                                           Arthur Gasser

moi
Responsable Présentation
Arthur
Responsable Capteurs   Documentation

 

 

Sommaire ->


Présentation du sujet

 

Nous avons commencé notre projet par un déplacement au Lycée Professionnel Charles de Gaulle de Pulversheim pour aller à la rencontre de lycéen en CAP Agent de sécurité afin de leur présenter le projet et de recueillir leurs connaissances sur le monde de la sécurité.

L’objectif principal de notre projet est comme dit précédemment, de concevoir un robot de sécurité. Celui-ci aura pour but d’assister l’agent de sécurité dans son travail en effectuant des rondes de levé de doutes. Lors de ces rondes, le Robotino prélèvera à des points précis, des informations sur son environnement (température, gaz, détection de flamme) qui seront envoyée à l’agent qui pourra ensuite agir en conséquence.

bluefrog-robot-buddy_ova-design-3-1

Le robot devra respecter les normes de sécurité de l’entreprise dans laquelle il évolue. Il n’a pas pour prétention de remplacer l’agent de sécurité mais de lui prêter assistance.

 

« Le danger dans le passé était que les hommes deviennent des esclaves. Le danger dans le futur est qu’il deviennent des robots. »

Erich Fromm

Sommaire ->


Problématiques

 

  • Comment programmer efficacement le robot ? (faire en sorte qu’il soit autonome et intelligent)Quotas

 

  • Quels  capteurs ajouter au robot ? Et comment ?

 

  • Comment envoyer les données à l’agent de sécurité ?

 

 

Sommaire ->


Gestion du projet

1. Bête à cornes

 

Pour délimiter notre projet, il a fallut dans un premier temps définir ce a quoi il sert et à qui il sert. C’est ici qu’intervient le diagramme dit « de la bête à cornes ».

Sommaire ->

BETE A CORNE

 

2. MindMap

 

Ce MindMap décrit les différents points de réalisation du projet.

MindMap

Sommaire ->

3. Pieuvre

 

Ce diagramme dit « de la pieuvre » permet de décrire les différentes fonctionnalités (gauche) et contraintes (droite) du robot.

 

Pieuvre

4. Planification (Gantt/Timeline)

 

Voici deux vues de l’organisation dans le temps du projet. En premier, une vue type Gantt détaillée et en second une timeline en version simplifiée.

 

Gantt

Timeline

Sommaire ->

5. Délais

 

  • La commande d’un produit en conception comporte évidemment des délais de réalisation. Pour notre projet, c’est le même principe, les jalons positionnés par nos professeurs encadrant était d’achever notre œuvre avant la fin de l’année. Plus précisément, avant une soutenance le 22 juin dans laquelle une présentation de notre projet est attendu.

horloge-inverse

  • Une seconde échéance nous a été proposé en mi-projet (la réalisation a du attendre le mois de juin). Elle consiste en une démonstration auprès des lycéens avec lesquels nous travaillons. Cette démonstration nous a également permis d’effectuer des essais et des tests en situation réelle des capteurs de notre robot.

Sommaire ->

6. Budget de Départ

 

Notre Budget initial est de 200 euros mais il peut-être sujet à des extensions si jamais le projet parait intéressant et le nécessite absolument.

7. Liste des achats

 

prix

 

Comme nous pouvons le voir sur ce tableau nous avons acheté 11 capteurs pour la navigation et la prise d’informations du robot. La carte Arduino nous étant fournie, nous n’avons pas eut à en acheter.

Sommaire ->


 

Réalisation du projet

1. Base Robotino

 

Comme dit précédemment, nous nous sommes basés sur un Robotino. Le Robotino est très complet, en effet il dispose de capteurs, de batteries, de moteurs et d’une caméra dans sa version d’origine. Il existe également un logiciel ainsi qu’une simulation qui sont spécifiques à la programmation de ce robot (voir suite du document). La connexion entre le robot et le PC est très pratique car elle se fait par Wifi. Le Robotino de base vaut environ 7000 €.

 

r1

Le Robotino offre de plus des possibilités d’ajouts grâce à une carte d’entrée/sortie :

 

Picture1

Sommaire ->

 

2. Composants

1. Microcontrôleur

 

Les données mesurées par nos capteurs sont transmises par l’intermédiaire d’un microcontrôleur Arduino, la carte Arduino Uno R3. En effet tous les capteurs sont branchés sur cette carte à l’exception des capteurs de distance.

 

aPicture1

 

 

Caractéristiques de l’Arduino:

 

Sans titre

Sommaire ->

2. Capteur de température

 

Lors de sa ronde le robot de sécurité doit évaluer la température à divers endroits donnés. Pour cela il est équipé d’un capteur de température infrarouge sans contact qui peut mesurer la température en un point précis.
capteur temp (2)

Caractéristiques de ce capteur :

 

5

 

Il faut bien sûr connecter ce capteur à la Carte Arduino Uno afin de pouvoir récupérer les données qu’il va enregistrer. Les branchements entre le capteur et la carte se font de la manière suivante :
capteur ir
Il faut également programmer ce capteur à l’aide de l’IDE (environnement de développement) « Arduino IDE ».

Sommaire ->

3. Capteurs de distance

 

Le robot de sécurité dispose de 9 capteurs de distance au niveau de son socle mais 6 autres de ces capteurs lui ont été ajoutés plus haut pour qu’il soit plus autonome lors de ses rondes.
mouvement

Caractéristiques de ce capteur :

 

2

 

 

                                                                                          Branchements :

schéma distance
Sommaire ->

 

4. Capteurs de flamme

 

Le robot est capable d’identifié si un feu est présent à l’aide de ces 3 capteurs de flammes. Il peut donc prévenir du danger en envoyant un signal d’alerte si le capteur détecte la présence de flamme.ar-detecteur-de-flammes-gravity-dfr0076-19314

Caractéristiques de ce capteur :

 

3

Sommaire ->

cf1

 

 

5. Capteur de monoxyde de carbone

 

Ce capteur est indispensable, il apporte énormément au niveau de la sécurité. Il est capable de mesurer le taux de monoxyde de carbone qui est un gaz incolore et inodore donc qui il est très dangereux pour l’Homme.ar-capteur-de-co-mq7-sen0132-22962

Caractéristiques de ce capteur :

 

tab

 

Sommaire ->

Il est relié à la Carte Arduino de la manière suivante :

 

coarduino2

 

 

6. Support de capteurs

 

Tous les nouveaux capteurs (distance x 5, flamme x 3, température x 1, monoxyde de carbone x 1) sont fixés sur ce support en bois. Mais il y a également la carte Arduino ainsi que la BreadBord. Une boussole est aussi fixée sur le support mais elle n’est pas utilisée.

Sommaire ->Support capteur

  3. Pilotage du robot

 

1. Ordinateur

 

La connexion entre le robot et l’ordinateur se fait par l’intermédiaire du logiciel Robotino View. Il est possible de directement contrôler ces déplacements depuis ce dernier. Le wifi de ce Robotino n’est pas utilisable directement, il faut donc passer par l’intermédiaire d’un routeur (ALLNET) pour relier le robot à l’ordinateur. Lorsque le robot est en autonomie il utilisera le programme Robotino View implanté depuis l’ordinateur (voir programmation).

 2. Manette

 

Il est également possible de déplacer le robot à l’aide d’une manette. Pour cela il faut brancher la manette au PC et utiliser Robotino View

Sommaire -> manette

3.Smartphone / Tablette

 

Le pilotage peut se faire par l’intermédiaire d’un smartphone ou d’une tablette par le biais d’une interface web (voir ci-dessous). Le principe est simple il vous suffit de configurer  votre Robotino en mode Client puis de rentrer son adresse IP sur internet.

 

5Sommaire ->

 4. Programmation

 

1. Robotino View

 

Resets

Sommaire ->

Resets1Tableaux

Tableaux2

Contrôles

Contrôles3

Retour base

Retour base4

Initialisation

Initialisation5

Lecture

 

Lecture6

Vérification

Vérification7

Contrôle manuel

 

Contrôl manuel8

Choc

Choc9

Attente

 

Attente10

Esquive (Partie 1 + 2)

 

Esquive1 11

Esquive2 12

Correction

Correction 13

Ciblage

Ciblage 14

2. Arduino 

 

Voici la programmation des capteurs présents sur le support (excepté les capteurs de distance). Nous avons utilisé plusieurs bibliothèques dédiées (Wire.h, ShaprIR.h…) facilitant la programmation. Après avoir récupéré les données analogiques, plusieurs tests sont effectués  (tests simples photo 2) afin de générer ou non un signal d’alerte.

Sommaire ->

prog1prog2 

Bilan

 

Le robot de sécurité est capable d’apprendre un itinéraire puis de le reproduire de manière autonome et intelligente car il peut éviter des obstacles et reprendre sa trajectoire. Pour se recaler dans la bonne position, le robot se repère à l’aide de bandes de couleur et inductives placées au sol sur son trajet. Durant ses rondes, ses capteurs mesurent le taux de monoxyde de carbone (CO) ainsi que la température et ils vérifient qu’aucune flamme n’est à proximité.  Il est possible d’observer les informations mesurées par le robot directement sur le logiciel Robotino View.

Nous aurions aimé que les informations entre le robot et l’utilisateur puissent se faire sans l’intermédiaire du logiciel et qu’il puisse se diriger vers une borne de chargement de manière automatique lorsque ces batteries sont presque vides.

Mais nous sommes néanmoins satisfaits du travail effectué.

 

 

Perspectives d’évolution

 

Notre robot de sécurité n’a bien évidemment pas atteint le maximum de son potentiel. En effet il est possible de l’améliorer encore, d’améliorer ses fonctionnalités selon vos besoins et vos envies.

Sommaire ->

Propositions d’idées :

 

  • Secourisme (assistance + apport du matériel)
  • Détection et vérification de colis

Améliorations techniques proposées :

 

  • Interface Web robot/agent de sécurité (wifi)
  • Connexion entre le robot et les différentes alarmes du bâtiment
  • Cartographie du bâtiment permettant d’obtenir la position en temps réel du robot
  • Etanchéité (eau/feu)
  • Recharge automatique (borne)

needyoub
Sommaire ->

Bibliographie

 

Cahier des charges fonctionnelles  : CDCF

Cahier des charges techniques : PARTIE 1 / PARTIE 2 / PARTIE 3 / PARTIE 4

Notice d’utilisation : PARTIE_1  / PARTIE 2

Etude des robots existants ou en projet similaires au notre : ETUDE

Rapport des séances de projet : RAPPORT

Brainstorming avec les lycéens : BRAINSTORMING

Sommaire ->

Remerciements

 

Les Lycéens en CAP Agent de Sécurité de Pulversheim qui ont collaboré avec nous.

L’IUT de Mulhouse ainsi que l’IUT LAB pour le budget et l’apport de matériels.

Nos professeurs encadrants Mr Hueber et Mr Choisy ainsi que le professeur du Lycée Mr Pflieger.

 

logolyceeaccueil-300x107iutmlogo-uha

 

 

Sommaire ->


Robot à l’Ecole

Capture d’écran 2017-03-15 à 16.51.18

 

 

robot école

 

Robot Collaboratif

 

 

Créé par notre groupe, Meanlicx est un robot collaboratif capable d’assister une institutrice ou un instituteur. Le robot s’intègre rapidement dans un environnement scolaire existant en installant simplement un suivi de ligne métallique au sol pour lui permettre de se déplacer sereinement dans la salle de classe. La robotique collaborative fait le pari d’une équipe éducative Homme/Robot performante et productive : le robot suit des tâches répétitives de distribution de matériel permettant à l’institutrice de ne pas perdre de temps à cette tâche.

 

Equipé d’un système de caméra embarquée, comprise dans le robotino, le robot est capable de reconnaître les formes programmées pour connaître les différents points d’arrêts, détecter la présence d’objets, de personnes et peut ainsi éviter les collisions. Le robot est capable de détecter le niveau de volume sonore en alertant son entourage grâce à un dispositif de leds tricolores. De plus, un élève absent peut tout de même avoir l’impression d’assister au cours via YouTube grâce à une fonction de téléprésence.

 

Capture d’écran 2017-06-26 à 12.05.46

 

 


 

Sommaire :

 

1. Introduction

2. Présentation du sujet

3. Cahier des Charges

  • Objectifs du projet
  • Diagramme Pieuvre
  • Fonctions et contraintes
  • Contraintes
  • Définition de termes techniques essentiels 
    • Arduino
    • Raspberry Pi
    • Capteurs

4. Budget détaillé

5. Développement

6. Gestion de projet

7. Manuel Technique

8. Bilan

9. Bibliographie

10. Remerciements

 


1. Introduction

 

Dans le cadre du module Etudes et Réalisations du deuxième semestre en DUT de GEII (Génie Electrique et Informatique Industrielle), il nous est demandé de réaliser par groupe un projet imposé et présenté par les professeurs qui s’inscrit dans notre programme pédagogique. 

 

 

2. Présentation du sujet

 

« Robot Collaboratif » est un sujet qui consiste en la création d’un robot, défini selon les souhaits des élèves d’une classe de CE1. Après avoir rencontré ces élèves de l’école Lamartine à Illzach pour partager nos connaissances en robotique, ils nous ont proposé des idées de robots qui leur seraient utiles. En faisant un tri dans leur propositions et après concertation au sein du groupe, nous avons choisi de concevoir un robot qui se déplace dans la salle de classe en délivrant aux élèves des objets que l’institutrice veut leur distribuer. De plus, si un élève est absent à l’école, il peut tout de même avoir l’impression d’être présent grâce à la fonctionnalité de téléprésence qui lui permet de suivre le cours depuis chez lui.

 

Bête à cornes - Robot collaboratif

 

 

3. Cahier des Charges

 

 

  • Objectifs du projet

L’objectif principal de ce projet est de faire découvrir la robotique à des élèves en classe de CE1 puis  de leur créer un robot qui répondra à leurs attentes. Cependant, les objectifs secondaires à prendre en compte sont :

– L’organisation de notre rencontre avec les enfants le lundi 6 mars au matin en leurs proposants différents défis et activités pédagogiques pour leur faire découvrir la robotique ;

– La création de quelques modèles de robots Mindstorms à montrer aux élèves ;

– La conception du prototype avec la programmation des moteurs des capteurs, la structure mécanique, l’interface Homme-machine, le déplacement du robot ;

– La présentation de notre prototype aux enfants le mercredi 31 mai ;

– La création du robot final.

Capture d’écran 2017-06-26 à 12.05.52

 

  • Périmètre

Puisque nous travaillons avec des élèves de CE1, il est nécessaire d’employer un vocabulaire qui leur est compréhensible. Il faut également que nos robots répondent à leurs attentes.

Du 2 au 31 mars, 60 heures sont entièrement consacrées à ce module dans l’emploi du temps. Deux professeurs encadrant sont à notre disposition afin de suivre et noter notre travail tout en restant à notre disposition pour tout besoin.

Nous avons également poursuivi le travail de la conception de notre robot jusqu’à la soutenance finale durant une centaine d’heures.

 

  • Fonctions et contraintes

Ce diagramme représente les fonctions principales (FP) de notre projet et les fonctions contraintes (FC) sont les fonctions auxquelles il est soumis.

 

Capture d’écran 2017-03-15 à 16.43.48Capture d’écran 2017-03-09 à 09.41.14

 

  • Contraintes 
    • Date limite : 31 mai 2017 pour la présentation du prototype aux enfants
    • Budget : 200 €

 

  • Définition de termes techniques essentiels 
  • Arduino

Un Arduino est un Microcontrôleur programmable ayant des entrées et des sorties et se programmant dans un langage très ressemblant au langage C et possédant un environnement de développement dédié. Toutes les connaissances et bibliothèques sur le développement de programme Arduino est libre d’accès.

  • Raspberry Pi

Une Raspberry Pi est un nano-ordinateur monocratique possédant son propre système d’exploitation sous Linux. Il permet de naviguer sur internet ainsi que développer des programmes et gérer des sorties.

  • Capteurs

Un capteur est un dispositif qui permet la transformation de l’état d’une grandeur physique observée en une grandeur utilisable.

 

Read More