Réseau de capteurs longue distance
Sommaire
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).
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.
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.
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
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.
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é les tests de Lora avec certaines distances. Nous avons laissé le transmetteur dans la salle E306. 1). Pour le premier test, nous avons mettre le récepteur dans la salle C201. Les deux Loras pouvaient se communiquer sans la perte du paquet. 2). Après nous somme parties un peu plus loin avec le récepteur jusqu'à la hall et le récepteur a toujours bien marché . 3). Nous avons bougé le récepteur jusqu'à la station 4 cantons. En dehors de la station, le récepteur a bien reçu les messages. Mais dedans la station, par fois le récepteur s'est bloqué. 4). Quand le métro était en train de rouler, le récepteur ne travaillait pas. Mais quand le métro s'est arrêté dans la station cité scientifique, le récepteur revenait marcher. 5). Nous somme arrivés à la station Triolo et le Lora s'est arrêté marcher 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 la plus longue distance. Donc pour les tests de la semaine prochaine nous allons changer le mode pour essayer de trouver la plus longue distance de notre Lora.
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.