Réseau de capteurs longue distance

De Wiki d'activités IMA
Révision datée du 25 mai 2016 à 00:16 par Snduwayo (discussion | contributions) (Les difficultés rencontrés)


Cahier des charges

Présentation générale du projet

Contexte

Avec l'émergence de l'internet des objets,les réseaux des capteurs sont en plein essor mais sont actuellement fortement limités par l'autonomie énergétique des noeuds du réseau.

Objectif du projet

Conception d'une carte electronique afin de pouvoir réaliser les bases d'un réseau de capteurs basse consommation et longue portée.

Description du projet

Les réseaux de capteurs sont constitués de systèmes électroniques appelés noeuds capables de gérer l'acquisition des données de grandeur physique de leur environnement et permettent une transmission fiable de l'information qui est une grandeur numérique. Le but sera donc de réaliser une carte électronique à base d'un microprocesseur sur lequel sera connecté différents systèmes embarqués (comme les capteurs,..). La structure modulaire adoptée permettra de connecter à la carte d'autres extensions (par exemple un petit écran). Quelques contraintes sont à lever:

  • La consommation d'énergie,optimisation en effectuant plusieurs tests :
    • tests de consommation (courant,tension),
    • tests de fonctionnement,
    • tests de portées, ...
  • La miniaturisation de la carte (routage).
Les différents éléments de la carte électronique


Choix techniques : matériel et logiciel

Un descriptif fonctionnel des constituants de la carte :

  • un micro-contrôleur de type ATMEGA328P : en charge de la lecture des mesures et du traitement des données,
  • un module radio de type RF-LORA-868-SO : compatible avec l'Arduino avec une bande de fréquences large et une basse consommation,
  • un programmateur ICSP compatible avec l'ATMEGA328P
  • un régulateur à quatz
  • quelques capteurs : de température, luminosité, ...
  • un petit écran pour l'affichage (accessoire).

Feuille de route

Pour les pièces à assembler

Pour les pièces de puzzle il est possible de partir du fichier : [1].

  • obtenir un premier prototype en carton avec la découpeuse laser ;
  • modifier les pièces en ajoutant les encoches pour insérer les aimants commandés [2] ;
  • trouver une méthode pour fixer durablement les aimants (colle, soudure, ...) ;
  • réaliser la découpe définitive sur du MDF.

Pour les circuit imprimés

Récupérer le schéma d'un Arduino Uno CMS pour le logiciel de conception de circuit eagle : [3]

  • en extraire les composants (menu exporter) ;
  • déterminer les composants pour la partie alimentation ;
  • déterminer les composants pour la partie micro-contrôleur ;
  • créer le PCB pour la partie alimentation ;
  • créer le PCB pour la partie micro-contrôleur en utilisant les lignes nécessaires.

Lire la documentation du module LORA RF-LORA-868-SO [4].

Carte capteur

Un extrait du rapport du projet "Création d’un système domotique sans fil" de 2014/2015 :

Pour communiquer avec les cartes filles, nous sommes partis sur un bus universel en 9 
signaux, comprenant alimentation, masse, port série, deux chips select, une entrée tout ou rien
et une entrée analogique.

Cet extrait définit les lignes à passer entre la pièce micro-contrôleur et la pièce capteur.

Avancement du Projet

Semaine 1

L'étude des caractéristiques du LORA(sensibilité, portée,..) et du micro-contrôleur.

Ce sont 2 composants majeurs que nous aurons à utiliser dans notre projet. Comme décrit dans le sujet, nous serons amenées à fabriquer des cartes indépendantes dont une comportant le LORA (carte de transmission RF) et une autre carte comportant le micro contrôleur (carte Arduino).

Le LORA est un type de réseau basé sur le protocole LORaWAN et non le protocole IP des réseaux 3G ou 4G pour répondre aux problématiques des objets connectés.

Durant cette semaine, nous avons établi la liste du matériel à commander .Nous avons également discuté sur le choix du module Lora qui conviendrait.


Média:Datasheet_LORA.pdf

Semaine 2

Modélisation des composants sur les cartons.

Validation de la liste du matériel. Nous avons modélisé les différentes cartes sur des cartons en essayant de réfléchir sur les connexions entre les cartes notamment la disposition des différentes broches de chaque carte de sorte que les pistes de celles ci ne se croisent pas. (l'idée serait de faire une carte sous forme de puzzle(avec plusieurs pièces(cartes)).

Semaine 3

Carte test: Allumage d'une LED.

Nous avons réalisé une carte pour contrôler l'allumage d'une LED en utilisant quelques matériels notamment des piles,une résistance,des aimants,..Le but était de vérifier si les aimants(à cause des métaux qui les composent) pouvaient être soudés sur la plaque et si ces derniers étaient conducteurs. Même si nous avons eu du mal à fixer les aimants sur la plaque dû au fait qu'ils sont miniatures, le test a été concluant : les aimants néodymes sont conducteurs. Voici une photo de la carte.

Allumer une led.jpg

Semaine 4

Réalisation des bibliotheques intégrées sur ALTIUM

Pour pouvoir réaliser les schématiques, nous avons créé les bibliothèques(schématiques et empreintes) de certains composants non standards tels que le LORA et les régulateurs en se servant des datasheet pour le dimensionnement des composants(largeur,longueur, position des broches,....) Les composants nous seront remis après validation de ces bibliothèques par nos encadrants. Voici les schématiques et empreintes des composants :


Semaine 5

Réalisation des schématiques des cartes sur ALTIUM

Après avoir réalisé les bibliothèques des composants ,nous avons entamé une seconde phase du projet : celle de la réalisation des PCB sur ALTIUM. Les schématiques des 3 cartes ont été donc réalisés.Photos à ajouter..


Semaine 6

Routage des cartes sur ALTIUM

Après avoir réalisé les schématiques des différentes cartes, nous avons donc procédé au routage. Grâce à un tutoriel trouvé sur internet, nous avons réalisé le routage de la première carte sans trop de difficultés.Photos à ajouter....

Média:Guide_demarrage_Altium_Designer.pdf

Carte_microcontrôleur

Nous avons aussi commencé les tests du Lora.

Semaine 7

Tests de fonctionnement des modules LORA

Quatre modules RF LORA nous ont été fournis au début du projet.Il a fallu donc les tester pour voir s'ils fonctionnaient=>Résultat : 2 modules fonctionnent correctement. Par la suite, nous avons effectué plusieurs tests à savoir test de courant, de portée,. Comme besoins matériels, nous avons utilisé 2 cartes Arduino ,2modules Lora,2 câbles (servent d'alimentation).Nous avons créer un système d'émission/réception. Le principe est simple,il suffit d'envoyer des informations au module Lora après avoir téléchargé le programme et vérifier si l'unité de réception recoit bien les données.

Nous avons donc réussi à tester le système avec une portée de quelques mètres (salle E306-salle C201) , on pouvait très bien aller plus loin.

test du Lora unité réception

Vous pouvez cliquez sur le lien en dessous pour voir la vidéo:

Vidéo du test du système émission/réception

Pour le test de Lora, nous avons eu un problème : si le récepteur n'arrive pas à recevoir un paquet autrement dit si le récepteur perd un paquet, la transmission s’arrête.

Il est important aussi de préciser les connections entre le module Lora et L'Arduino:

En mode émission: Rx est connecté sur Tx ,Tx est connecté sur Rx En mode réception:Rx est connecté sur MOSI,Tx est connecté sur SS

CONNEXIONS entre module LORA et ARDUINO

Revenons sur le travail de la semaine 2. Pour une communication rapide des données entre le microcontroleur AtMEGA328P et le LORA, nous utiliserons le bus de communication série SPI. Ce choix a été fait en tenant compte du fait que les 2 composants peuvent utiliser cette interface de communication.(voir datasheet Lora page 2) Concrètement,les pins 12(Reset),13(SC),14(SDI),15(SDO),16(nSEL) du LORA seront reliés respectivement aux pins 29(RESET),14(SS),15(MOSI),16(MISO),17(SCK).Les broches seront reliés par des pistes imprimés(en cuivre).

Média:Connexions-lora-atmega328P.pdf

Une documentation détaillant le principe de fonctionnement de l'interface de communication du bus SPI est disponible(lien ci dessous):

Média:documentation-bus-spi.pdf

Semaine 8

Finalisation du routage des cartes et génération des fichiers de fabrication

Nous avons aussi résolu le problème de perte de paquet que nous avons eu la semaine dernière. Et nous avons effectué un autre test entre la salle E306 et la salle C205. Le récepteur et le transmetteur arrivent à communiquer même si il y a eu pertes des paquets. Avec le logiciel Arduino(sur le terminal), nous pouvons visualiser les commandes envoyées par le LORA qui nous renseignent sur des informations comme l'adresse de destination, le mode de fonctionnement,... Voici le code pour Arduino et les caractères du Lora.

Semaine 9

Gravure des cartes electroniques

Pendant cette semaine nous avons effectué différents tests de portée du Lora. Nous avons laissé le transmetteur dans la salle E306.

1). Pour le premier test, nous avons mis le récepteur dans la salle C201. Les deux Loras pouvaient communiquer sans perte de paquet.

2). Après nous sommes parties un peu plus loin avec le récepteur jusque dans le hall et le récepteur fonctionnait correctement.

3). Ensuite,nous nous sommes déplacés avec le récepteur jusqu'à la station 4 cantons. On constate qu'en dehors de la station, le récepteur reçoit bien les messages,par contre dans la station métro parfois le récepteur se bloquait.

4). Lorsque le métro était entrain de rouler, le récepteur ne fonctionnait pas,mais quand le métro s'est arrêté dans la station cité scientifique, le récepteur s'est remis à fonctionner.

5). Enfin,lorsque nous sommes arrivés à la station Triolo, le Lora s'est arrêté complètement.


Selon les documentations du Lora, il a certaines mode de distance. Pour tous ces tests que nous avons fait , nous n'avons pas utilisé le mode de plus longue portée. Donc pour les tests de la semaine prochaine nous allons changer le mode pour essayer de trouver la plus longue distance de notre Lora.

communication entre 2 Lora

Nous avons également fait tirer les 3 cartes électroniques par le service EEI de l'école.

Semaine 10

Soudure des cartes electroniques

Durant cette semaine, nous avons soudé les cartes.Nous avons d'abord soudé la carte RF(avec Lora,car moins de composants à souder) de manière classique à l'aide d'un fer à souder ,ensuite la carte d'alimentation.Le seul moyen possible pour pouvoir la souder a été d'utiliser de la colle conductrice pour fixer les composants(car les pads des composants sont très petits:CMS);la carte a été ensuite passée au four à refusion.Nous l'avons ensuite testé en injectant du 5 V via USB port pour voir si elle délivrait du 5V et du 3,3V: test concluant.(Voir photo ci dessous). La carte Arduino a également été soudée malgré le manque de quelques composants qui ont été commandés par la suite.

Cependant,ce travail s'est avéré très laborieux car la soudure des aimants n'a pas du tout été facile.Le problème vient du fait que les aimants sont trop petits et avons eu du mal à les fixer mais aussi et surtout parce que l'étain(métal non magnétique) ne colle pas facile à l'aimant.A force de le souder, l'aimant se démagnétisait.

test de la carte d'alimentation

Sur la photo, on voit la LED verte,témoin d'alimentation de la carte en 5V

Suite du test de la semaine dernière, nous avons changé notre code d'Arduino pour que le Lora puisse émettre sur une longue distance la puissance maximale. Nous avons effectué nos tests dans plusieurs endroits différents.

1) Pour le premier test, nous nous sommes arrêtés au parking à côté de la station 4 Cantons, le Lora fonctionnait correctement.

2) Pour le deuxième test, nous sommes arrivés à côté du bâtiment Haute Borne, le Lora fonctionnait correctement.

3) Pour le troisième test, nous sommes arrivés à côté de l'entreprise NRC (fond du parc de la Haute Borne),le Lora fonctionnait correctement .

4) Pour le quatrième test, nous sommes arrivés à Sainghin, le Lora fonctionnait correctement.

5) Pour le cinquième test, nous sommes arrivés à un relais GSM (le seconde passage sur l'autoroute sortie Sainghin vers Anstaing), le Lora recevait des signaux sans aucun problème.

6) Pour le sixième test, nous sommes arrivés à Gruson (on s'est arrêté à côté d'un arbre sur le chemin), le Lora fonctionnait correctement .

7). Pour le septième test, nous sommes arrivés à l'entrée de Cysoing, le Lora a fonctionné moyennement. C’était la limite de captage.

8). Pour le huitième test, nous sommes arrivés à Camphin, le Lora s'est remis à fonctionner correctement.

Les tests que nous avons fait cette semaine ont été réalisés dans des endroits où il n'y a pas beaucoup de bâtiments ni d'arbres, donc moins de perturbations. Voici une vidéo à Camphin pour montrer que le test a été réussi:

Vidéo du test du LoRa à Camphin

Sauf les tests,nous avons aussi essayé de configurer les LoRa que nous avons commandé avec les Arduinos(TX et RX). Il faut programmer directement SX1272 alors qu'avec les Shields c'était le micro contrôleur intégré qui s'en occupait.La programmation directe du SX1272 est relativement complexe et n'a pas pu être menée dans le temps restant.

Voici les codes pour programmer SX1272

Les difficultés rencontrés

Cependant,nous avons rencontré pas mal de difficultés notamment lors de la création des bibliothèques intégrées car nous sommes rendus compte qu'elles avaient été mal faites.Nous avons donc dû les refaire ce qui nous a énormément pris du temps. En effectuant le routage, certaines pistes se croisaient;ce qui implique refaire la schématique pour éviter ce problème. Nous avons aussi rencontré des difficultés en soudant les composants.Vu que les composants dont on dispose sont des CMS,il y a un grand risque de court-circuit lorsque ces derniers sont mal soudés.Quant à la soudure des petits aimants, ceux ci perdent leurs caractères après être soudés(car soumis à une forte chaleur du fer souder -340°).

Fichiers Rendus

Rapport du projet sous format PDF