P13 Plateforme expérimentation IOT

De Wiki d'activités IMA
Révision datée du 24 novembre 2015 à 07:55 par Froche (discussion | contributions) (Présentation du projet)

Présentation du projet

===Contexte=== ===Cahier des charges=== ===Planification===

A la découverte de la programmation pdi

===Présentation du PDI=== ===Programmation à l'aide du mkII=== ===Programmation à l'aide de la Rasbpberry===

La composition d'un noeud

====La carte mére==== ====La carte fille==== ====La carte petite fille====

Étape du projet

Carte Mère
Objectif

- Valider le fonctionnement de la carte mère
- Être capable de reconfigurer des microcontrôleur
- Être capable de remonter les informations par la liaison série et par l’USB

Étude

L'étude se traduit par plusieurs point :
- Recherche des documentations sur les différents composants électroniques
- Analyse de la structure existante
La structure se compose de microcontrôleur, d'un ordinateur embarqué et d'un hub usb
- Technologie Atmel
Localisation des fonctions sur le microcontrôleur
- Technologie Micro-USB


Test

Carte microcontrôleur :

Test de programmation à l'aide du PDI
Objectif : Faire clignoter une led

Montage:

Pfe p13 Schéma test pdi.JPG

Bornier PDI :

PFE p13 PDI bornier.JPG


Remarque : Lorsque qu'on programme un atméga avec le pdi il est nécessaire de l'alimenter par une source externe
Relever de la trame de données (PDI DATA)
Fréquence de la trame : 2.7174 Hz

Pfe p13 pdi data.jpg

Relever de l'horloge (PDI CLK)
On observe des oscillations. Ces dernières ont un dépassement de 20%
La fréquence minimale de programmation est de 10 KHZ . Nous sommes à la fréquence de 2 Mhz

Pfe p13 clk pdi.jpg Pfe p13 clk pdi2.jpg

Code C :
int main (void)
{
int i;
PORTB_DIR= 1;
while(1)
{
PORTB_OUT=0;
for(i=0;i<=10000;i++);
PORTB_OUT= 1;
for(i=0;i<=10000;i++);
}
}

Résultat sur la broche PB0 du microcontrôleur :

Pfe p13 resultat prog pdi.jpg


L'objectif a été réalisé avec succès la led clignote


-Programmation de l'ATXMEGA à l'aide d'une Raspberry
Objectif : Être capable de programmer le microcontrôleur

Installations des bibliothèques
- gcc-avr
- binutils-avr
-https://github.com/DiUS/xmega-pdi-pi2
-libcm2835
- build-essential
-g ++

Procédure d'installation de la libcm2835
wget http://67.192.60.197/mikem/bcm2835/bcm2835-1.4.6.tar.gz
tar xvfz bcm2835-1.4.6.tar.gz;
cd bcm2835-1.4.6;
./configure;
make;
sudo make install

Procédure de programmation :
1- Écrire son programme C
Exemple clignotement d'une Led:

  1. include <avr/io.h>

int main (void)
{
int i;
PORTB.DIR= 1;
while(1)
{
PORTB.OUT=0;
for(i=0;i<=10000;i++);
PORTB.OUT= 1;
for(i=0;i<=10000;i++);
}
}

2- Compilation
Pour pouvoir un ficher . hex il faut exécuter ses commandes sous Linux:
$ avr-gcc -g -Os -mmcu=atxmega64a1 -c demo.c
$ avr-gcc -g -mmcu=atxmega64a1 -o demo.elf demo.o
$ avr-objcopy -j .text -j .data -O ihex demo.elf demo.hex

3- Transfert du programme sur la raspberry
Commande :scp code.hex pi@192.168.1.11:~/raspberry
4- Programmation
Afin de pouvoir en pdi il faut utilise la commande suivante :
sudo ./pdi -c (Numéro de la GBIO de la Clock) -d (Numéro de la GBIO de la Data) -a override base address (note: PDI address space) - F Nom du fichier
Attention c'est un .hex qu'il faut mettre


PFE p13 PDI pi2.JPG

Conclusion :
Le test consiste à faire clignoter une led. La première partie du test consiste à programmer la ligne de code suivant : :00000001FF
Résultat:
Test partiellement réussi. Seul la ligne de code à été transféré dans l'atxmega. La programmation du clignotement de la LED fonctionne. Cependant on rencontre quelque problème. Ces problèmes sont liées au fait qu'on connecte la carte ATXMEGA sur la raspberry. Cette dernière ne nous délivre pas assez de puissance. Au bout de quelque minute l'éclairement de la LED faiblit et le régulateur se met à chauffer.


-Test des convertisseurs Analogique Numérique
-Test de l'ensemble des fonctions



Carte usb:
Étude des composants présent sur la carte
Tests du bloc alimentation
Ce test est simple . Il s'agit de vérifier la présence du 3.3V. Ce test n'a pas abouti suite à un problèmes matériels.
La solution provisoire est de l'alimentée avec une alimentation continu

Problème rencontrés :
- Le régulateur 3.3 V ne fonctionne pas.

Échange
Carte fille
Objectif

-Être capable de remonter les informations à la mère
-Être capable de programmer ces enfants

Échange
Carte petite fille
Objectif

-Créer un carte permettant de montrer les capacités du nœud

Étude
Réalisation
Test
Échange
Démonstrateur
Objectif

- Choisir un panel de capteur
- Assembler tout les cartes ensembles

Étude

- Température

Un capteur de température doit avoir une large plage de mesure. La température dans des bâtiments excédant pas 50 C pour le maximum et - 10 C pour le minimum. La plage du capteur retenu est : -10 C 60 C

C'est un capteur analogique donc il faudra utiliser le convertisseur analogique numérique. Les valeurs qui seront à configurés sont :

* Quantum
* Plage de mesure
* Registre

Capteur envisagé :
Fournisseur : Conrard
Référence :Capteur de température numérique TSIC506 boîtier TO 92 B & B Thermotechnik TSIC506-TO92
Plage de mesure :-10 C - 60C
Tension d'alimentation :3-5.5V
Précision : +/- 0.1 C
Consommation : 30 - 60 µA

Pfe p13-capteur-temp.jpg



- Volume sonore
Afin de pouvoir mesurer le volume sonore on doit utiliser un micro qui va nous fournir une tension analogique .
C'est un capteur analogique donc il faudra utiliser le convertisseur analogique numérique. Les valeurs qui seront à configurés sont :

* Quantum
* Registre

Capteur envisagé :
Fournisseur : Zartronic.fr
Référence :Capteur Sonore Analogique
Tension d'alimentation :5V

Pfe p13-capteur-son.jpg




- Luminosité
Afin de pouvoir mesurer la luminosité ambiante on peut utiliser un photo-transistor . Ce dernier nous fera varier une résistance. On ne peut pas utiliser cette résistance comme mesure directement donc on va effectuer un traitement électronique à la suite du capteur. Ce traitement nous permettra d'obtenir une tension qui variera dans le temps.
Cette tension sera appliqué sur un convertisseur analogique numérique
Les valeurs qui seront à configurés sont :

* Quantum
* Registre

Capteur envisagé :
Fournisseur : Conrard
Référence :Photo-résistance FW200

Pfe p13-capteur-luminosite.jpg



- Qualité de l'air

  • Mesure de l'humidité
  • Mesure du monoxyde de carbone

-Place disponible

Échange

==Bilan==